sets:
zones/1..20/:Q,n,m;
endsets
data:
Q=156.02 80.45 83.39 94.36 116.10 273.3 1163.10 94.36 83.39 80.45 97.22 80.77 141.71 80.77 97.22 229.46 51.16 62.95 46.78 119.23;
enddata
max = Q(i)-25*n(i)-5*m(i);
50*n(i)+10*m(i) > Q(i);
25*n(i)+5*m(i) < Q(i);
@abs(n(i)+m(i)-n(j)-m(j)) < 3
@gin(n);@gin(m);
大家帮忙看看这个程序 我想加一个循环 让Q依次 循环并且满以下条件 最后一个条件是指各个Q点地区n 和 m 的总数相差小于3,即:|n(i)+n(j)-n(j)-m(j)|<3
请高手给我编一下 谢谢 是不是有个循环 我不会那个语句
帮我写出来吧
lingo的循环程序
答案:1 悬赏:0 手机版
解决时间 2021-02-19 15:00
- 提问者网友:半生酒醒
- 2021-02-18 17:37
最佳答案
- 五星知识达人网友:雪起风沙痕
- 2021-02-18 17:54
1163.10这个数据不对吧,否则找不到可行解 我改成116.10了
sets:
zones/1..20/:Q,n,m;
endsets
data:
Q=156.02 80.45 83.39 94.36 116.10 273.3 116.10 94.36 83.39 80.45 97.22 80.77 141.71 80.77 97.22 229.46 51.16 62.95 46.78 119.23;
enddata
max =@sum(zones: Q-25*n-5*m);
@for(zones:50*n+10*m >Q);
@for(zones:25*n+5*m <Q);
@for(zones(i):@for(zones(j):@abs(n(i)+m(i)-n(j)-m(j)) < 3));
@for(zones:@gin(n));@for(zones:@gin(m));
结果N( 1) 2.000000 45.00000
N( 2) 1.000000 20.00000
N( 3) 1.000000 20.00000
N( 4) 1.000000 25.00000
N( 5) 1.000000 35.00000
N( 6) 5.000000 25.00000
N( 7) 1.000000 25.00000
N( 8) 1.000000 25.00000
N( 9) 1.000000 20.00000
N( 10) 1.000000 20.00000
N( 11) 1.000000 25.00000
N( 12) 1.000000 20.00000
N( 13) 2.000000 25.00000
N( 14) 1.000000 20.00000
N( 15) 1.000000 25.00000
N( 16) 4.000000 25.00000
N( 17) 0.000000 25.00000
N( 18) 0.000000 25.00000
N( 19) 0.000000 25.00000
N( 20) 1.000000 25.00000
M( 1) 6.000000 25.00000
M( 2) 4.000000 0.000000
M( 3) 4.000000 0.000000
M( 4) 5.000000 5.000000
M( 5) 7.000000 15.00000
M( 6) 3.000000 5.000000
M( 7) 7.000000 5.000000
M( 8) 5.000000 5.000000
M( 9) 4.000000 0.000000
M( 10) 4.000000 0.000000
M( 11) 5.000000 5.000000
M( 12) 4.000000 0.000000
M( 13) 5.000000 5.000000
M( 14) 4.000000 0.000000
M( 15) 5.000000 5.000000
M( 16) 3.000000 5.000000
M( 17) 6.000000 5.000000
M( 18) 7.000000 5.000000
M( 19) 5.000000 5.000000
M( 20) 7.000000 5.000000
sets:
zones/1..20/:Q,n,m;
endsets
data:
Q=156.02 80.45 83.39 94.36 116.10 273.3 116.10 94.36 83.39 80.45 97.22 80.77 141.71 80.77 97.22 229.46 51.16 62.95 46.78 119.23;
enddata
max =@sum(zones: Q-25*n-5*m);
@for(zones:50*n+10*m >Q);
@for(zones:25*n+5*m <Q);
@for(zones(i):@for(zones(j):@abs(n(i)+m(i)-n(j)-m(j)) < 3));
@for(zones:@gin(n));@for(zones:@gin(m));
结果N( 1) 2.000000 45.00000
N( 2) 1.000000 20.00000
N( 3) 1.000000 20.00000
N( 4) 1.000000 25.00000
N( 5) 1.000000 35.00000
N( 6) 5.000000 25.00000
N( 7) 1.000000 25.00000
N( 8) 1.000000 25.00000
N( 9) 1.000000 20.00000
N( 10) 1.000000 20.00000
N( 11) 1.000000 25.00000
N( 12) 1.000000 20.00000
N( 13) 2.000000 25.00000
N( 14) 1.000000 20.00000
N( 15) 1.000000 25.00000
N( 16) 4.000000 25.00000
N( 17) 0.000000 25.00000
N( 18) 0.000000 25.00000
N( 19) 0.000000 25.00000
N( 20) 1.000000 25.00000
M( 1) 6.000000 25.00000
M( 2) 4.000000 0.000000
M( 3) 4.000000 0.000000
M( 4) 5.000000 5.000000
M( 5) 7.000000 15.00000
M( 6) 3.000000 5.000000
M( 7) 7.000000 5.000000
M( 8) 5.000000 5.000000
M( 9) 4.000000 0.000000
M( 10) 4.000000 0.000000
M( 11) 5.000000 5.000000
M( 12) 4.000000 0.000000
M( 13) 5.000000 5.000000
M( 14) 4.000000 0.000000
M( 15) 5.000000 5.000000
M( 16) 3.000000 5.000000
M( 17) 6.000000 5.000000
M( 18) 7.000000 5.000000
M( 19) 5.000000 5.000000
M( 20) 7.000000 5.000000
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯