How do I obtain Pareto optimal solutions in Gurobi?
Currently, I am solving a MOOP in Gurobi. The first way is the linearly blended method.
m.setObjective(obj1+obj2+obj3)
Next, I have rewrite n1 objectives using the εconstraint method,
m.addConstr(obj2 <= ε1)
m.addConstr(obj3 <= ε2)
m.setObjective(obj1)
Next, using (a) hierarchical method, how can I generate Pareto optimal solutions?
m.setObjectiveN(obj1, index = 1, priority = 4, abstol=5.0)
m.setObjectiveN(obj2, index = 2, priority = 3, abstol=4.0)
m.setObjectiveN(obj3, index = 3, priority = 2, abstol=0.0)
How do I generate multiple Pareto optimal solutions to obtain a Pareto front?

Hello Sagnik,
I am not quite sure I understand your question, can you possibly paraphrase?
Hierarchical method is very similar to what you have described as \epsilon method, expect for the constraint will be imposed on the lowerpriority objectives not deviating much from an earlier achieved optimum. More details can be found here,
https://www.gurobi.com/documentation/9.0/refman/working_with_multiple_obje.html
Hope this helps.

Let us say we have the following:
m.setObjective(w1*obj1+w2*obj2+w3*obj3)
or
m.setObjectiveN(obj1, index = 1, priority = 4, abstol=5.0)
m.setObjectiveN(obj2, index = 2, priority = 3, abstol=4.0)
m.setObjectiveN(obj3, index = 3, priority = 2, abstol=0.0)
Is there a way to generate enough Pareto Optimal solutions to approximate the Pareto front?
Please sign in to leave a comment.
Comments
4 comments