如何使用 python 进行离散优化

How to do discrete optimization with python

我有一个类似于

的离散优化问题

Y=3X1+2X2(样本一)

最小化 Y,使 X1 和 X2 有一些约束,例如 X1 +X2 >20

X1 可以从 {5,10,15,25,85} 取值 X2 可以从 {20,25,5,40,10} 等取值

如何用python

解决这个问题

这很容易用二进制变量建模:

与 X2 类似。大多数关于整数规划的教科书都会提到这一点。你的老师可能会推荐几本书。

有时建议为此构造使用 SOS1 变量(类型 1 的特殊有序集)。一些求解器支持这一点。我通常将二进制变量用于此类 table 查找。