在gurobi中键入LinExpr()以创建约束-Python
我正在学习如何使用古洛比。我希望有人能在这方面帮助我 我有一个LinExpr()类型的变量 我们叫它:a 经过一些操作后,我得到了以下表达式: gurobi.LinExpr:X1+-0.18 X1010+-0.72 x111+-0.18 X1011+-0.72 X12+-0.18 X1012+-0.72 X13+-0.18 X1013+X2+-0.72 X1000+-0.18 X1010+-0.72 X1001+-0.18 X1011+-0.72 X1002+-0.18 X1012+-0.18 X1013 我可以通过执行以下操作来创建约束:在gurobi中键入LinExpr()以创建约束-Python,python,python-2.7,solver,gurobi,Python,Python 2.7,Solver,Gurobi,我正在学习如何使用古洛比。我希望有人能在这方面帮助我 我有一个LinExpr()类型的变量 我们叫它:a 经过一些操作后,我得到了以下表达式: gurobi.LinExpr:X1+-0.18 X1010+-0.72 x111+-0.18 X1011+-0.72 X12+-0.18 X1012+-0.72 X13+-0.18 X1013+X2+-0.72 X1000+-0.18 X1010+-0.72 X1001+-0.18 X1011+-0.72 X1002+-0.18 X1012+-0.18
m.addConstr(a==0.5)
?
此外,我的实际LP模型总是发出不可行模型。
有没有有效的方法来调试使用gurobi的代码?是的,如果
a
是LinExpr()
您可以执行m.addConstr(a==0.5)
如果您的LP被归类为不可行,您可以尝试计算一个不可约的不一致子系统()。这是不可行约束的子集。您通常可以使用IIS来找出模型中哪些约束组合导致其不可行。它是一个有用的调试工具
要在Python中计算IIS,请执行以下操作:
model.computeIIS()
model.write('mymodel.ilp')
这将写出一个名为mymodel.ilp的文件,其中包含IIS。谢谢!这正是我所需要的:)