简单的模型修改

简单的模型修改

现在我们将演示一个简单的模型修改。想象一下,你只想考虑至少赚10美分的解决方案便士Variable的下界为10.0)。这是通过设置属性(列表中的第一个变量)v在我们的示例中)…

gurobi> v[0]. getvars ()磅= 10

Gurobi优化器跟踪模型的状态,因此它知道当前加载的解决方案对于修改后的模型不一定是最优的。当您调用优化()方法,并对改进后的模型进行了新的优化。
gurobi > m.optimize ()
Gurobi Optimizer version 9.1.2 build v9.1.2rc0 (win64)

变量类型:4个连续,5个整数(0二进制)系数统计:矩阵范围[6e- 02,7e +00]客观范围[1e- 02,1e +00]边界范围[1e+01, 1e+03] RHS范围[0e+00, 0e+00]预解2行5列预解时间:0.00s预解:变量类型:0连续,4整数(0二进制)找到启发式解:目标25.9500000根松弛:目标7.190000e+01, 2次迭代,0.00秒节点当前节点| |客观界限|工作Expl Unexpl | Obj深度IntInf | |现任BestBd差距/节点时间0 0 0 1 25.95000 71.90000 71.90000 177%,0 H 0 0 71.8500000 71.90000 0.07% - 0 H 0 0 71.9000000 71.90000 0.00% - 0年代探索节点0(2单纯形迭代)在0.01秒内线程数是8(8可用处理器)Solution count 3: 71.9 71.85 25.95 Optimal solution found (tolerance 1.00e-04) Best objective 7.190000000000e+01, best bound 7.190000000000e+01, gap 0.0000%

结果表明,如果你强迫解包含至少10便士,模型的最大可能目标值从113.45下降到71.9。一个简单的检查确认新的下界得到了尊重:

gurobi >打印(10.0 v[0]。x)