我需要解决一个问题,我的决策变量是二元的并且是二维矩阵,在Cplex y [p] [q]中,p和q都有相同的范围论文= 1..78。我需要合并一个约束,限制行和列的总和小于或等于1。第32行和第32列的总和只能小于或等于1.
因此我制定了这样的约束:
forall(论文中的p) 总和(论文中的q) y [p] [q] + y [ q ] [p]< = 1;
Cplex在第二个“q”处给出错误:名称“q”不存在
我真的不知道我做错了什么,我很感激你的帮助。
提前致谢!
答案 0 :(得分:0)
从内存来看,sum(q in papers)
仅适用于下一个词。尝试将两个单独的部分放在括号中,例如:
forall(p in papers) sum (q in papers) ( y[p][q] + y[q][p] ) <= 1;