我想用Gurobi来解决一个非常简单的LP:
最小化z
s.t.X+y <= z
其中x,y,z是由gp.Model().addVar()生成的决策变量,应该是默认变量。该模型的目标设置为m.setObjective(1.0*z, GRB.MINIMIZE)。
然后对模型进行了求解,程序返回z的最优值为0.000。我不明白为什么这是最优值?Gurobi的默认决策变量是否有任何约束,比如它们是非正变量。否则,当x,y和z是无界的时候,为什么0.0是这个LP的最优值?
发布于 2021-04-14 00:05:27
Gurobi和其他LP/MIP求解者的惯例是,决策变量的下界为零。如果需要另一个下限,那么要么设置LB属性,要么在调用Model.addVar()时定义它,例如:
m = Model()
x = m.addVar(lb=-20, name='x')https://stackoverflow.com/questions/67082942
复制相似问题