我有一个用MathProg编写的线性程序。我未知的二进制变量是一个二维数组,定义为:
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;
我想知道这是否是提前指定未知子集值的有效方法。
理想情况下,我想将此类信息与数据部分一起放在单独的文件中,而不是放在模型文件中。