我正在尝试使用带有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/

10-09 02:29