如何在我们使用ortools的MIP问题中设置一个像y=max(x1,x2,x3)这样的等式约束?

2024-10-04 05:25:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用or工具来解决MIP问题,我想添加一个constation,其中变量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.

但可能会出现一个错误的情况

^{pr2}$

Tags: or工具the函数iswheremaxx1
2条回答

把它放进一些简单的结构中,比如:

-元组max((x1,x2,x3))

-列表max([x1,x2,x3])

-或设置max({x1,x2,x3})

最后一种情况是最好的,因为在检查差异之前要消除重复。在

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

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

相关问题 更多 >