额外的细节

多目标环境

默认情况下,终止条件(如。期限,SolutionLimit等)为每个传入一个分层多目标优化控制的参数模型中定义的环境。然而,我们提供一个功能叫做多目标环境允许您创建Gurobi环境为每个目标函数和在这些环境设置参数。这些设置只会影响相应的通过多目标优化。因此,例如,如果期限为模型参数是100,但是你使用多目标环境中为一个特定的设置参数到10多目标,多目标优化将最多花10秒钟,特别通过总共最多(100秒)。

创建一个特定的多目标,多目标环境使用getMultiobjEnv从你的语言API(如方法。Model.getMultiobjEnv在Python中)。的指数参数给出了指标的多目标传递你想控制。

注意,多目标环境是与一个给定的多目标优化通过,而不是给定的多目标函数,所以多目标环境0总是与最高优先级(可能是混合的)目标,而多目标环境1总是与第二个最高优先级的目标(如果有的话)。有关如何处理多个目标具有相同的优先级,请参考分级目标部分。

一旦你创建多目标环境,他们将用于每一个后续的多目标优化模型。使用discardMultiobjEnvs从你的语言API(如方法。Model.discardMultiobjEnvs在Python中)恢复到默认的多目标优化行为。

其他细节

我们没有试图概括的概念双重解决方案或单纯形基地连续多目标模型,所以你不能查询属性等π,钢筋混凝土,VBasis,或CBasis对于多目标的解决方案。由于这个原因,我们认为最一致的结果返回属性IsMIP是1。但是请注意,几个MIP-specific属性等ObjBound,ObjBoundCMIPGap多目标模型和没有意义也不可用。

Gurobi只能解决多目标模型与严格线性目标。如果主要目的是二次或分段线性,解决调用将返回一个错误。

当解决一个连续使用分层多目标模型的方法,你有一个选择的优化算法使用不同的传递(原始单纯形、对偶单纯形或障碍)。第一遍总是使用中指定的算法方法参数。随后通过控制的算法MultiObjMethod参数。这对于多目标MIP模型参数没有影响。注意你可以得到更细粒度的控制算法的选择使用我们的多目标环境功能,通过设置方法参数对个人目标。

分级方法,Gurobi将执行一个保守presolve多目标优化的步骤开始时,和一个更激进的presolve步骤开始时每一次(假设presolve没有关闭)。您可以选择执行更激进的presolve步骤开始时多目标优化通过设置参数MultiObjPre值2。这可以帮助性能,但它使一些简化假设可能导致小退化较低优先级的值达到目标。

日志文件使用时将显示一个分层的方式优化的每一次进步的过程。你会看到日志行,看起来像这样:

目标:优化目标1 (Obj1Name)……目标:优化目标2(加权)……
为进一步的细节,请参见多目标日志

回调可用于多目标优化,但他们更参与比简略优化。当你解决特定目标(在一个阶段的分层优化或解决混合目标)时,您将会收到回调函数的算法,解决了模型:MIP回调如果模型是一个MIP,和单工或障碍如果模型是连续回调。分层目标外,您还将得到一个MULTIOBJ回调的每个阶段,允许您查询当前的解决方案,解决方案的数量,和目标的数量,已经解决了。指的是回调讨论进一步的细节。

尝试Gurobi免费

选择最适合你的评估许可,开始使用我们的专家团队提供技术指导和支持。

评估许可
得到一个免费的,功能齐全的许可证的Gurobi性能优化经验,支持,基准测试和调优服务我们提供我们产品的一部分。
学术许可
Gurobi支持教学和学术机构内使用的优化。我们提供免费的,功能齐全的Gurobi用于类的副本,并进行研究。
云试验

申请免费试用时间,所以你可以看到一个模型可以解决如何快速而方便地在云上。

<\/i>","library":"fa-solid"}}" data-widget_type="nav-menu.default">

Gurobi通讯