二维二元决策变量的 Cplex 约束

Cplex constraint for 2 dimensional binary decision variables

我需要解决一个问题,我的决策变量是二进制的,并且是一个二维矩阵,在 Cplex y[p][q] 中,p 和 q 都具有相同的范围 papers=1..78。我需要合并一个约束,将行和列的总和限制为小于或等于 1。例如。第32行和第32列之和只能小于或等于1.

因此我做了这样的约束:

forall(论文中的p) 总和(论文中的 q) y[p][q] + y[q][p] <= 1;

Cplex 在第二个 'q' 处给出错误:名称 "q" 不存在

我真的不知道自己做错了什么,非常感谢您的帮助。

提前致谢!

根据记忆,sum(q in papers) 仅适用于紧随其后的术语。尝试将两个单独的部分放在括号中,例如:

forall(p in papers) sum (q in papers) ( y[p][q] + y[q][p] ) <= 1;