我使用or-tools解决MIP问题,我想添加一个约束,其中变量y等于其他变量Xi中的最大值。例如:y = max(x1,x2,x3)。或工具中是否有任何max函数可以做到这一点?
我可以添加4个约束,例如:
y >= x1
y >= x2
y >= x3
y <= MAX # where MAX is the upper bound of y.
但是可能存在错误的情况
x3 >= y.
答案 0 :(得分:1)
使用python的max()运算符不起作用。 你应该看一下文学作品
请参阅:https://www.leandro-coelho.com/how-to-linearize-max-min-and-abs-functions/
答案 1 :(得分:-1)
Just put it into some simple structure, like:
-tuple max((x1,x2,x3))
-list max([x1,x2,x3])
-or set max({x1,x2,x3})
Last case is the best, becouse eliminate duplicates before checking difference.