grbcallback.stoponemultiobj()


grbcallback.stoponemultiobj()

中断多目标MIP问题中的一个优化步骤的优化过程,而不停止分层优化过程。仅适用于多目标MIP模型以及何时在哪里成员变量不等于grb.cb_multiobj.(见回调代码有关更多信息的部分)。

您通常会通过查询最后一个完成的多目标步骤数量来停止多目标优化步骤,并使用该号码停止当前步骤并继续前进到下一个分层目标(如果有),如下示例所示:

示例用法:

进口Gurobi。*;公共类回调扩展了grbcallback {private int objcnt;私人长期开始;受保护的void回调(){try {if(如果(其中== grb.cb_multiobj){/ *获取当前目标编号* / objcnt = getIntinfo(grb.cb_multiobj_objcnt);/ *重置开始时间到当前时间* / starttime = system.currenttimemillis();}否则if(system.currenttimemillis() -  starttime> big || / *需要太长或足够好* /){/ *停止这个优化步骤* / stoponemultiobj(objcnt);}}}}

您应该参考该部分多目标有关如何指定多个目标函数并控制它们之间的权衡的信息。

空白 stoponemultiobj. objcnt)

    论点:

    objnum.:中断的多目标优化步骤的数量。对于本地运行的进程,此参数可以具有特殊值-1,这意味着停止当前步骤。