improve multi_objective_solver