Interrupt the optimization process of one of the optimization steps in a multi-objective MIP problem without stopping the hierarchical optimization process. Only available for multi-objective MIP models and when the where member variable is not equal to GRB_CB_MULTIOBJ (see the Callback Codes section for more information).

You would typically stop a multi-objective optimization step by querying the last finished number of multi-objectives steps, and using that number to stop the current step and move on to the next hierarchical objective (if any) as shown in the following example:

Example usage:

#include <ctime>

class mycallback: public GDBCallback
    int    objcnt    = 0;
    time_t starttime = time();

    void callback () {
      if (where == GRB_CB_MULTIOBJ) {
        /* get current objective number */
        objcnt = getIntInfo(GRB_CB_MULTIOBJ_OBJCNT);

        /* reset start time to current time */
        starttime = time();
      } else if (time() - startime > BIG ||
          /* takes too long or good enough  */) {
        /* stop only this optimization step */

You should refer to the section on Multiple Objectives for information on how to specify multiple objective functions and control the trade-off between them.

void stopOneMultiObj ( int objcnt )


objnum: The number of the multi-objective optimization step to interrupt. For processes running locally, this argument can have the special value -1, meaning to stop the current step.

Try Gurobi for Free

Choose the evaluation license that fits you best, and start working with our Expert Team for technical guidance and support.

Evaluation License
Get a free, full-featured license of the Gurobi Optimizer to experience the performance, support, benchmarking and tuning services we provide as part of our product offering.
Academic License
Gurobi supports the teaching and use of optimization within academic institutions. We offer free, full-featured copies of Gurobi for use in class, and for research.
Cloud Trial

Request free trial hours, so you can see how quickly and easily a model can be solved on the cloud.