首页 > 解决方案 > 如何在我们的 MIP 问题中使用 or-tools 设置像 y = max(x1,x2,x3) 这样的等式约束?

问题描述

我使用 or-tools 来解决 MIP 问题,我想添加一个约束,其中变量 y 等于其他变量 Xi 中的最大值。例如:y = max(x1,x2,x3)。or-tools 中是否有任何 max 函数可以执行此操作?

我可以添加 4 个约束,例如:

y >= x1
y >= x2
y >= x3
y <= MAX  # where MAX is the upper bound of y.

但是可能会出现错误的情况

x3 >= y.

标签: pythonpython-3.xor-tools

解决方案


使用 python 的 max() 运算符不起作用。你应该看看文献

见:https ://www.leandro-coelho.com/how-to-linearize-max-min-and-abs-functions/


推荐阅读