メインコンテンツへスキップ

How to maximize an objective function given another objective function achieves a minimum value?

回答済み

コメント

1件のコメント

  • Maliheh Aramon
    • Gurobi Staff Gurobi Staff

    Hi Jack, 

    Gurobi offers an API for solving multi-objective optimization problems. It supports two main approaches for combining multiple objectives: blended and hierarchical. The latter approach does what you probably have in mind: It assigns a priority to each objective and optimizes the objectives in decreasing priority order. When optimizing an objective of lower priority, it internally adds an additional constraint disallowing the degradation of the higher-priority objective beyond a certain value. 

    As mentioned in the documentation of Other Details, the Gurobi multi-objective API only supports strictly linear objectives. However it is possible to use the API in case of having non-linear objectives using auxiliary variables. As an example, to minimize the non-linear function \(f(x\)), you can minimize the auxiliary variable \(z\) instead where \(z \geq f(x)\). 

    Please have a look at the Python example multiobj.py on how to use the multi-objective API.

    Best regards,

    Maliheh

    0

サインインしてコメントを残してください。