如何在Gurobi中线性化约束

时间:2019-05-01 05:46:50

标签: python optimization gurobi

我正在使用 Gurobi

我有2个决策变量xy,我想线性化一些约束,这是我的代码:

m.addConstr( x == max(0, y) )
m.addConstr( x >= 0 )

1 个答案:

答案 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