我正在尝试使用带有Gurobi Solver的Python建模MILP问题。我有最新的Gurobi求解器版本。我添加了带有gurobi m.addGenConstrAbs新功能的约束后,我的问题开始了,该函数将函数的abs值添加为约束。这是我的代码,它产生的gurobi反馈为:
AttributeError:'gurobipy.LinExpr'对象没有属性'__colno__'。
通过此反馈得到的我的代码是:
for t in range(0,Period):
m.addGenConstrAbs(PEN[t], EG [t]+STG[t]-XXX, "PEN Constraint")
其中EG [t],STD [t]和XXX是决策变量。
我不明白为什么Gurobi或Python返回此错误。您认为问题出在哪里?谢谢。
最佳答案
Model.addGenConstrAbs()的参数必须是变量(Var
),而不是线性表达式(LinExpr
)。尝试这个:
for t in range(0,Period):
z = m.addVar(lb=-GRB.INFINITY)
m.addConstr(z == EG[t]+STG[t]-XXX)
m.addGenConstrAbs(PEN[t], z, "PEN Constraint")
关于python - AttributeError:'gurobipy.LinExpr'对象没有属性'__colno__',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42920983/