我正在使用 Gurobi ,
我有2个决策变量x
和y
,我想线性化一些约束,这是我的代码:
m.addConstr( x == max(0, y) )
m.addConstr( x >= 0 )
答案 0 :(得分:-1)
假设目标函数是最小化的,而您只想跟踪某事物的最大值(例如能量峰值)
如果m.addConstr(x> = 0)是实际要求, 那么您只需设置y = x,这是没有意义的,因为x不需要y即可保持非负值
OR
您可以使用
m.addConstr(x>=0)
m.addConstr(x>=y)
,然后将x放入具有正成本系数的目标函数中。这将使x绑定到max(0,y)
ref https://orinanobworld.blogspot.com/2011/01/max-and-min-functions-in-mip.html