有没有大佬帮看看这个程序?lingo 语法有错误

model:!i、j代表1-16种原料k代表第几个窑;sets:E/1..16/:ycl;!原材料的总重量;B/1..9/:low,high;!上下限;C(E,E):a;... model:!i、j代表1-16种原料
k代表第几个窑;
sets:
E/1..16/:ycl;!原材料的总重量;
B/1..9/:low,high;!上下限;
C(E,E):a;!ij类型;
D(E,B):m,x,y;!jk\ik类型,m是第i种材料在第k窑中的重量;
endsets
data:
ycl=300 500 200 500 300 400 300 300 400 600 100 600 500 400 300 300;
high=600 600 600 900 900 900 1200 1200 1200;
low= 300 300 300 600 600 600 900 900 900;
a=
10 5 0 0 3 2 3 0 0 0 0 0 0 0 0 1
5 10 5 1 5 0 0 0 0 0 0 0 0 0 0 0
0 5 10 5 4 0 0 0 0 0 0 0 0 0 0 0
0 1 5 10 4 0 0 0 0 3 0 0 0 0 3 0
3 5 4 4 10 2 0 0 0 2 0 0 0 0 0 0
2 0 0 0 2 10 6 3 0 2 0 0 0 0 0 0
3 0 0 0 0 6 10 5 2 0 0 0 0 0 0 0
0 0 0 0 0 3 5 10 4 2 1 0 0 0 0 0
0 0 0 0 0 0 2 4 10 0 1 1 0 0 0 3
0 0 0 3 2 2 0 2 0 10 2 0 2 0 3 0
0 0 0 0 0 0 0 1 1 2 10 5 3 4 0 0
0 0 0 0 0 0 0 0 1 0 5 10 1 6 0 3
0 0 0 0 0 0 0 0 0 2 3 1 10 5 4 1
0 0 0 0 0 0 0 0 0 0 4 6 5 10 0 2
0 0 0 3 0 0 0 0 0 3 0 0 4 0 10 3
1 0 0 0 0 0 0 0 3 0 0 3 1 2 3 10;

enddata

@for(D:@bin(x));
@for(D:@bin(y)); !约束x、y为0-1变换 xik,yik 第i个原料放在第k个窑中是否需要;
@for(E(i):@sum(B(k):m(i,k)*x(i,k))=ycl(i));!原材料重量;
@for(B(k):@sum(E(i):x(i,k))>@if(m(i,k)#LT#500,1,0));!如果重量小于500,就有两个以上;
@for(B(k):@sum(E(i):m(i,k)*x(i,k))<=high(k));
@for(B(k):@sum(E(i):m(i,k)*x(i,k))>=low(k));!上下限;
max=@sum(B(k):@sum(C(i,j)|i#LT#j:a(i,j)*x(i,k)*x(j,k)/16));
x(j,k)=@if(a(i,j)#EQ#0,0,1);!如果没有亲缘则后面那个材料的y(j,k)=0;

end
展开
 我来答
bill8341
高粉答主

2020-05-03 · 关注我不会让你失望
知道大有可为答主
回答量:1.8万
采纳率:95%
帮助的人:3536万
展开全部


你好,答案如下所示。

帮你把两个if语句注释了



我知道没有达到你的预期目的,但我不知道你想要的是什么,所以也不知道怎么改

希望你能够详细查看。

如果你有不会的,你可以提问

我有时间就会帮你解答。
希望你好好学习。
每一天都过得充实。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式