2017-03-21 109 views
0

我想用Gurobi Solver對Python使用Python進行建模。我有最新的Gurobi求解器版本。我的問題開始後,我添加一個約束與新函數gurobi m.addGenConstrAbs它添加該函數的abs值作爲約束。這裏是我創建gurobi反饋的代碼:AttributeError:'gurobipy.LinExpr'對象沒有屬性'__colno__'

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

參數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") 
+0

謝謝@Greg的回答,它解決了我的問題。看來我需要在Gurobi回報上工作以更多地理解它。 – assyncronimous