作业帮 > 综合 > 作业

为什么这个lingo程序运行不成功,我希望能够在满足以下四个约束条件的情况下得到一个32*40的0-1矩阵~

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/16 16:12:23
为什么这个lingo程序运行不成功,我希望能够在满足以下四个约束条件的情况下得到一个32*40的0-1矩阵~
model:
sets:
a/1..32/:c;
b/1..40/;
link(a,b):e;
endsets
data:
c=1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32;
enddata
min=@sum(a(i):@sum(b(j):e(i,j)*c(j)););
@for(a(j):@sum(b(i):e(i,j))=1;);
@for(b(i):@sum(a(j):e(i,j))
你这个错误很多 而且有一个逻辑性的错误 你倒数二三个约束是一样的吗 只有10和55的区别吗 知道了这个我才能改
再问: 这两个约束不一样的,仔细看小于号前面的括号个数。就是错误多,不会才希望大神指导啊~~
再答: 那我理解不了你写的 你括号个数不对那是语法错误好吧 实在不行你直接说这两句什么意思 就是你写错了我才让你解释的
再问: 才发祥确实是语法错误。。。约束条件一是:Eij矩阵,j从1到40,i从1到32的求和要小于等于10;二是Eij矩阵,i从1到2的求和要小于55
再答: 你这个不矛盾吗 到底怎么求和说清楚好吗 我怎么看第一个求和范围更大
再问: 嗯嗯,确实有问题。修改为约束条件一是:Eij矩阵,j从1到40,i从1到32的求和要小于等于32;二是Eij矩阵,i从1到2的求和要小于10
再答: 你还是说的不清楚啊 你应该说的清楚一点 把所有下标都说清楚别人才能理解得了 比如说 对于所有的j从1到40 e(i,j)对i从1到32求和小于等于10
再问: 第二个是,对于任意的j从1到40 ,e(i,j)对i从1到2求和小于10
再答: model: sets: a/1..32/:c; b/1..40/; link(a,b):e; endsets data: c=1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32; enddata min=@sum(a(i):@sum(b(j):e(i,j)*c(i));); @for(a(i):@sum(b(j):e(i,j))=1;); @for(b(j):@sum(a(i):e(i,j))