AttributeError:'gurobipy.LinExpr'对象没有属性'__colno__'

时间:2017-03-21 07:42:49

标签: python gurobi

我正在尝试使用Python与Gurobi Solver建模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会返回此错误。您认为问题来自哪里?感谢。

1 个答案:

答案 0 :(得分:2)

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")