Я новичок в 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]
- это относительная последовательность обработки задания i и задания j на машине k, но если я скажу это так, то появятся некоторые избыточные переменные, поэтому мне интересно, могу ли я написать что-то вроде
dvar boolean x[i in jobs][j in jobs: j < i][machines];