Skip to main content

How to use callback function within multi-objective optimization?

Answered

Comments

2 comments

  • Official comment
    Simranjit Kaur
    • Gurobi Staff
    This post is more than three years old. Some information may not be up to date. For current information, please check the Gurobi Documentation or Knowledge Base. If you need more help, please create a new post in the community forum, or try Gurobot, our chatbot interface offering instant, expert-level support.
  • Maliheh Aramon
    • Gurobi Staff

    Hi Jacob, 

    The callback routines in Gurobi take two arguments: \(\texttt{where}\) and \(\texttt{what}\). The former argument tells the Gurobi Optimizer from where the callback should be called and the latter argument indicates what information should be retrieved. 

    Please check the Callback Codes documentation for all available callbacks. When solving a multi-objective optimization problem, MULTIOBJ callback can be called at each stage of the solve and MIP-related (LP-related) callbacks can be called if the original model is a MP (an LP). You might find our callback example relevant too.

    The Hierarchical Objectives section in the documentation explains how the hierarchical approach works. Let us assume that we have a multi-objective optimization problem with two hierarchical objective functions \(f_1\) and \(f_2\) subject to a set of constraints \(C\). In the first stage, the solver optimizes the objective function \(f_1\) subject to constraints \(C\). In the second stage, the solver then optimizes the objective function \(f_2\) subject to constraints \(C\) and one extra constraint. The additional constraint further limits the feasible space to solutions that do not degrade the value of the first objective \(f_1\) subject to a given tolerance.

    Best regards,

    Maliheh

    0

Post is closed for comments.