我是 CPLEX 的新手,我想知道如何定义决策变量,xijk
但仅限于那些带有下标i < j
或i ≠ j
使用 OPL 的变量。
代码就像
int jobsNum = ...;
int machinesNum = ...;
range jobs = 0..jobsNum-1
range machines = 0..machinesNum-1;
dvar boolean x[jobs][jobs][machines];
x[jobs][jobs][machines]
是job i和job j在机器k上的相对处理顺序,但是这样写会引入一些冗余变量,所以不知道能不能写成这样
dvar boolean x[i in jobs][j in jobs: j < i][machines];