GRBCallback.StopOneMultiObj ()


GRBCallback.StopOneMultiObj ()

在一个多目标MIP问题中,中断其中一个优化步骤的优化过程,而不停止层次优化过程。仅适用于多目标MIP模型和当在哪里成员变量不等于GRB.Callback.MULTIOBJ(见回调代码章节以获取更多信息)。

你通常会通过查询最后完成的多目标步骤数来停止多目标优化步骤,并使用该数字来停止当前步骤,并移动到下一个层次目标(如果有),如下例所示:

使用示例:

使用Gurobi;类回调:GRBCallback{私有int对象;私人长开始时间;/*获取当前目标号*/ objcnt = gettintinfo (GRB.Callback.MULTIOBJ_OBJCNT);/*重置开始时间到当前时间*/ starttime = DateTime.Now.Ticks;} else if (DateTime.Now。Ticks - starttime >大|| /*需要太长或足够好*/){/*停止这个优化步骤*/ StopOneMultiObj(objcnt);} } } }

你应该参考上一节多个目标有关如何指定多个目标函数和控制它们之间的权衡的信息。

无效 StopOneMultiObj int objcnt)

    参数:

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