Gurobi:Python:如何对决策变量使用abs()函数

Gurobi:Python:如何对决策变量使用abs()函数,python,typeerror,mathematical-optimization,gurobi,Python,Typeerror,Mathematical Optimization,Gurobi,我试图将abs函数用于决策变量,但Gurobi给出了以下输出: TypeError: bad operand type for abs(): 'gurobipy.LinExpr' 这里是古罗比指示我的错误代码 PPP = quicksum((1 / (1+AAA)**y)*abs(W2G[p]+S2G[p]-EPD[p])*BBB*CCC for y in range(1,DDD+1) for p in range(1,EEE+1)) **W2G和S2G是决策变量,而EPD是一个

我试图将abs函数用于决策变量,但Gurobi给出了以下输出:

TypeError: bad operand type for abs(): 'gurobipy.LinExpr'
这里是古罗比指示我的错误代码

PPP = quicksum((1 / (1+AAA)**y)*abs(W2G[p]+S2G[p]-EPD[p])*BBB*CCC
      for y in range(1,DDD+1) for p in range(1,EEE+1))
**
W2G
S2G
是决策变量,而
EPD
是一个参数

我尝试了Numpy.absolute来解决这个问题,但Gurobi似乎不喜欢在用决策变量构造的循环中处理abs函数

如果有人有主意,我会很高兴的

谢谢,
Enes

From:“Gurobi没有专门的接口来建模分段线性表达式,但可以通过特殊的2型有序集(SOS-2)轻松解决这些问题。”您可以将决策的绝对值线性化variable@cricked_007谢谢你的回答,我会尝试用那种方式建模。你能解决这个@enkey问题吗?