updating best improvement selection function