首页 > 解决方案 > PuLP python中的XOR语句

问题描述

我正在 python 中研究 PuLP,我想对以下语句进行建模:

x 为正 XOR y 为正,其中 x 和 y 是整数。

如何在纸浆代码中转换它?

我从 XOR开始

标签: python-3.xpulp

解决方案


我同意@kabdulla。二进制变量将是这里的方法。

进一步扩展该想法:您可以使用二进制变量通过约束来指示 X 是否为正 (TRUE/1),例如M*binary_variable_for_x <= X其中 M 是对于不会限制 X 的问题的足够大的数字。然后 binary_variable_for_x 可以是如果 X > 0,则为 1。

当 Y 为正 (TRUE/1) 时执行相同操作。

然后你可以编写另一个约束,要求这些布尔值的总和 >= 1。

binary_variable_for_x + binary_variable_for_y >= 1

有多种方法可以解决问题,但这可能是一种方法。


推荐阅读