在gurobi中键入LinExpr()以创建约束-Python

在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

我正在学习如何使用古洛比。我希望有人能在这方面帮助我

我有一个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

我可以通过执行以下操作来创建约束:

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。

谢谢!这正是我所需要的:)