Constraint optimization problem solving