0

I am very new to this field. I am working on MILP type of problem, and I am using Python with Pyomo. Pyomo is very easy to use when you are having Single Objective Model. but in my case.

it is solving a very complicated type of Model that requires multiple objectives. I have seen some ppl suggesting to add a weight an implement it as (10*objective1 + objective2) as now objective1 will have bigger weight that objective2, but that wont solve my problem, as I am trying to do is to Maximize objective 1 and Minimize Objective 2

I am not strict to use only Pyomo, but i would like to use something easy as Pyomo with the support of Multiple Objectives.

What should i Use.

Thanks

  • Does this answer your question? [Multi-objective optimization example Pyomo](https://stackoverflow.com/questions/50742999/multi-objective-optimization-example-pyomo). Note that minimizing `−f` is the same as maximizing `f`. – abc Feb 09 '20 at 14:46
  • I have read this before. I dont think that would solve the issue as you are adding multiple objective and only solving one at a time – Nadeem Tabbaa Feb 09 '20 at 16:43
  • You can always implement a weighted sum or a lexicographic approach. In any environment, including Pyomo. For the weighted sum multiply the coefficients by (-1) when changing the sense of a single objective. – Erwin Kalvelagen Feb 09 '20 at 18:25
  • Erwin, that will work in very narrow cases. Many cases will fail in this way. – Nadeem Tabbaa Feb 09 '20 at 19:44
  • No. These are widely used methods, for many different applications. – Erwin Kalvelagen Feb 09 '20 at 23:12

1 Answers1

0

You can check out PolySCIP for multi-criteria optimization. Another easy way to use multiple objectives is the Python interface of Gurobi.

I cannot give you a detailed answer because is quite broad and generic.

mattmilten
  • 6,242
  • 3
  • 35
  • 65