最小数のウェイトを使用してドラムのバランスを取るために、LINGO で線形プログラムを作成しています。私の質問は、変数を一連の値に制限するにはどうすればよいですか? たとえば、Weight という変数を値 (0、1、2、4、5、または 10) に制限したい場合、どうすればこれを達成できるでしょうか?
1 に答える
0
これを達成する通常の方法は、定式化にいくつかのバイナリ (0,1)指標変数を導入することです。
X
それが関心のある変数であり、離散値 {0,1,2,4,5, 10} を取ることができるとしましょう6 つの指標変数 (Y_0, Y_1, ... Y_10) を導入しますこれらの Y の1 つだけを取りたいとします値が 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 に答える