我正在 LINGO 中编写一个线性程序,以使用最少的重量来平衡鼓。我的问题是如何将变量限制为一组值?例如,如果我希望将名为 Weight 的变量限制为值(0、1、2、4、5 或 10),我该如何实现呢?
问问题
174 次
1 回答
0
实现这一点的常用方法是在公式中引入几个二元 (0,1)指示变量。
假设这X
是一个感兴趣的变量,它可以取离散值 {0,1,2,4,5,10} 引入六个指标变量(Y_0, Y_1, ... Y_10) 我们只希望其中一个Y 取值为 1,其他都为 0。
Y_0 + Y_1 + Y_2 + Y_4 + Y_5 + Y_10 = 1
(互斥约束)
现在将指标变量与原始变量联系起来。
X = 0 Y_0 + 1 Y_1 + 2 Y_2 + 4 Y_4 + 5 Y_5 + 10 Y_10
(X 将取适当的值,具体取决于哪个指标变量为 1。)
现在在你的配方的其余部分使用 X。
于 2013-01-29T18:23:47.590 回答