MathProgで書かれた線形プログラムがあります。私の不明なバイナリ変数は、次のように定義された 2 次元配列です。
var x{i in V, l in L}, >=0, <=1;
ここで、V と L は整数の集合です。
ただし、一部の変数の値は事前にわかっているため、ILP のサイズを小さくするためにソルバーにこれを指定したいと考えています。たとえば、l=2 の場合は x[4,l] が 1 であり、l のその他の値の場合はゼロであることを知っています。現在、これを制約として指定しています。
s.t. initial4{i in V: i=4}: sum{l in L}(l*x[i,l]) = 2;
これが、未知数のサブセットの値を事前に指定する効率的な方法であるかどうか疑問に思っていました。
理想的には、そのような情報をモデル ファイルではなく、データ セクションと一緒に別のファイルに配置したいと考えています。