update best_cost