运行时总显示error code"24",求大神帮忙
model:sets:
m/1..8/:di,Li;
n/1..10/;
link(m,n):a,b,c;
endsets
data:
b=70 0 50 0 0 30 0 0 0 40
30 0 20 8 15 6 2 0 0 8
110 0 40 0 30 0 20 40 0 40
55 5 10 10 10 10 15 0 0 1
75 5 15 0 15 15 0 10 10 10
95 0 10 20 0 15 10 20 0 10
50 15 5 15 10 10 5 10 3 2
70 0 20 0 20 0 20 10 15 5;
c=-505 0 124 168 210 252 312 330 363 489
-560 0 182 203 245 300 320 360 410 495
-610 0 152 189 233 258 308 356 415 500
-500 150 170 200 255 302 325 380 435 800
-590 0 116 146 188 215 250 310 396 510
-607 0 159 173 205 252 305 380 405 520
-500 120 180 251 260 306 315 335 348 548
-800 153 183 233 253 283 303 318 400 800;
di=2.2 1 3.2 1.3 1.8 2 1.4 1.8;
Li=120 73 180 80 125 125 81.1 90;
enddata
min=@sum(LINKS(i,j):a(i,j)*b(i,j)*c(i,j));
@for(m(i):-di(i)*15<=@sum(n(j):a(i,j)*b(i,j))-Li(i)<=di(i)*15);
@for(LINKS(i,j):0<=a(i,j)<=1);
@for(LINKS(i,j):@sum(LINKS(i,j):a(i,j)*b(i,j))=982.4);
end model:
sets:
m/1..8/:di,Li;
n/1..10/;
link(m,n):a,b,c;
endsets
data:
b=70 0 50 0 0 30 0 0 0 40
30 0 20 8 15 6 2 0 0 8
110 0 40 0 30 0 20 40 0 40
55 5 10 10 10 10 15 0 0 1
75 5 15 0 15 15 0 10 10 10
95 0 10 20 0 15 10 20 0 10
50 15 5 15 10 10 5 10 3 2
70 0 20 0 20 0 20 10 15 5;
c=-505 0 124 168 210 252 312 330 363 489
-560 0 182 203 245 300 320 360 410 495
-610 0 152 189 233 258 308 356 415 500
-500 150 170 200 255 302 325 380 435 800
-590 0 116 146 188 215 250 310 396 510
-607 0 159 173 205 252 305 380 405 520
-500 120 180 251 260 306 315 335 348 548
-800 153 183 233 253 283 303 318 400 800;
di=2.2 1 3.2 1.3 1.8 2 1.4 1.8;
Li=120 73 180 80 125 125 81.1 90;
enddata
min=@sum(LINKS(i,j):a(i,j)*b(i,j)*c(i,j));
@for(m(i):-di(i)*15<=@sum(n(j):a(i,j)*b(i,j))-Li(i)<=di(i)*15);
@for(LINKS(i,j):0<=a(i,j)<=1);
@for(LINKS(i,j):@sum(LINKS(i,j):a(i,j)*b(i,j))=982.4);
end 首先顶部的集link的名字应该是links,最重要的问题是约束的形式,连着两个<=的。你必须要拆分为两个约束来写 集合中是link,目标函数是links能不错吗?
hongxiuzhe 发表于 2013-8-6 10:22 static/image/common/back.gif
model:
sets:
m/1..8/:di,Li;
楼主你好!首先很高兴能给你解决问题,我也刚刚接触,很多地方大家一起交流。产生错误的原因有两点:1.links 楼主打错了 2.a<=b<=c的代码在lingo 是要分开写的,下面是我该写的代码,能运行出结果:
model:
sets:
m/1..8/:di,Li;
n/1..10/;
links(m,n):a,b,c;
endsets
data:
b=70 0 50 0 0 30 0 0 0 40
30 0 20 8 15 6 2 0 0 8
110 0 40 0 30 0 20 40 0 40
55 5 10 10 10 10 15 0 0 1
75 5 15 0 15 15 0 10 10 10
95 0 10 20 0 15 10 20 0 10
50 15 5 15 10 10 5 10 3 2
70 0 20 0 20 0 20 10 15 5;
c=-505 0 124 168 210 252 312 330 363 489
-560 0 182 203 245 300 320 360 410 495
-610 0 152 189 233 258 308 356 415 500
-500 150 170 200 255 302 325 380 435 800
-590 0 116 146 188 215 250 310 396 510
-607 0 159 173 205 252 305 380 405 520
-500 120 180 251 260 306 315 335 348 548
-800 153 183 233 253 283 303 318 400 800;
di=2.2 1 3.2 1.3 1.8 2 1.4 1.8;
Li=120 73 180 80 125 125 81.1 90;
enddata
min=@sum(links(i,j):a(i,j)*b(i,j)*c(i,j));
@for(m(i):-di(i)*15<=@sum(n(j):a(i,j)*b(i,j))-Li(i));
@for(m(i):@sum(n(j):a(i,j)*b(i,j))-Li(i)<=di(i)*15);
@for(LINKS(i,j):0<=a(i,j));
@for(links(i,j):a(i,j)<=1);
@for(LINKS(i,j):@sum(LINKS(i,j):a(i,j)*b(i,j))=982.4);
end
多多交流 袁海亮 发表于 2013-8-6 10:59 static/image/common/back.gif
楼主你好!首先很高兴能给你解决问题,我也刚刚接触,很多地方大家一起交流。产生错误的原因有两点:1.li ...
我运行了一下,为什么还是报错啊“error code 72”.unable to solve for fixed variable.A(1,2) in constraint 179 本帖最后由 袁海亮 于 2013-8-6 11:39 编辑
hongxiuzhe 发表于 2013-8-6 11:23 static/image/common/back.gif
我运行了一下,为什么还是报错啊“error code 72”.unable to solve for fixed variable.A(1,2) in const ...
楼主你好 ,当你运行上述代码的时候 会显示 “no feasible solution found” 没有找到可行解 一般是你的题目有问题或者你自己写的程序不符合题目 你点击 OK 进入 下一次警告!!并非错误! 你再 OK 一下 就行了!!!就有运算结果了!目标函数你只是进行了一个计算 能够得到结果
结果 部分截图:
袁海亮 发表于 2013-8-6 11:32 static/image/common/back.gif
楼主你好 ,当你运行上述代码的时候 会显示 “no feasible solution found” 没有找到可行解 一般是你 ...
是我写的程序不符合题意。我后来又改了一下又不能运行了。第一次用llingo,出错很多。
model:
sets:
m/1..8/:di,Li;
n/1..10/;
links(m,n):a,b,c;
endsets
data:
b=70 0 50 0 0 30 0 0 0 40
30 0 20 8 15 6 2 0 0 8
110 0 40 0 30 0 20 40 0 40
55 5 10 10 10 10 15 0 0 1
75 5 15 0 15 15 0 10 10 10
95 0 10 20 0 15 10 20 0 10
50 15 5 15 10 10 5 10 3 2
70 0 20 0 20 0 20 10 15 5;
c=-505 0 124 168 210 252 312 330 363 489
-560 0 182 203 245 300 320 360 410 495
-610 0 152 189 233 258 308 356 415 500
-500 150 170 200 255 302 325 380 435 800
-590 0 116 146 188 215 250 310 396 510
-607 0 159 173 205 252 305 380 405 520
-500 120 180 251 260 306 315 335 348 548
-800 153 183 233 253 283 303 318 400 800;
di=2.2 1 3.2 1.3 1.8 2 1.4 1.8;
Li=120 73 180 80 125 125 81.1 90;
enddata
min=@sum(links(i,j):a(i,j)*b(i,j)*c(i,j));
@for(m(i):-di(i)*15<=@sum(n(j):a(i,j)*b(i,j))-Li(i));
@for(m(i):@sum(n(j):a(i,j)*b(i,j))-Li(i)<=di(i)*15);
@for(links(i,j):@bin(a(i,j)));
@for(links(i,j)|j#lt#10:a(i,j)>=a(i,j+1));
@sum(links(i,j):a(i,j)*b(i,j)=982.4);
end
我感觉@for(links(i,j)|j#lt#10:a(i,j)>=a(i,j+1));有问题,j不能越界。唉,不知怎么办了。
本帖最后由 wujianjack2 于 2013-8-6 21:18 编辑
madio 发表于 2013-8-6 10:44 static/image/common/back.gif
首先顶部的集link的名字应该是links,最重要的问题是约束的形式,连着两个
我后来又改了一下又不能运行了。第一次用llingo,出错很多。
model:
sets:
m/1..8/:di,Li;
n/1..10/;
links(m,n):a,b,c;
endsets
data:
b=70 0 50 0 0 30 0 0 0 40
30 0 20 8 15 6 2 0 0 8
110 0 40 0 30 0 20 40 0 40
55 5 10 10 10 10 15 0 0 1
75 5 15 0 15 15 0 10 10 10
95 0 10 20 0 15 10 20 0 10
50 15 5 15 10 10 5 10 3 2
70 0 20 0 20 0 20 10 15 5;
c=-505 0 124 168 210 252 312 330 363 489
-560 0 182 203 245 300 320 360 410 495
-610 0 152 189 233 258 308 356 415 500
-500 150 170 200 255 302 325 380 435 800
-590 0 116 146 188 215 250 310 396 510
-607 0 159 173 205 252 305 380 405 520
-500 120 180 251 260 306 315 335 348 548
-800 153 183 233 253 283 303 318 400 800;
di=2.2 1 3.2 1.3 1.8 2 1.4 1.8;
Li=120 73 180 80 125 125 81.1 90;
enddata
min=@sum(links(i,j):a(i,j)*b(i,j)*c(i,j));
@for(m(i):-di(i)*15<=@sum(n(j):a(i,j)*b(i,j))-Li(i));
@for(m(i):@sum(n(j):a(i,j)*b(i,j))-Li(i)<=di(i)*15);
@for(links(i,j):@bin(a(i,j)));
@for(links(i,j)|j#lt#10:a(i,j)>=a(i,j+1));
@sum(links(i,j):a(i,j)*b(i,j)=982.4);
end
我感觉@for(links(i,j)|j#lt#10:a(i,j)>=a(i,j+1));有问题,j不能越界。唉,不知怎么办了。
本帖最后由 wujianjack2 于 2013-8-6 21:18 编辑
百年孤独 发表于 2013-8-6 10:50 static/image/common/back.gif
集合中是link,目标函数是links能不错吗?
我后来又改了一下又不能运行了。第一次用llingo,出错很多。
model:
sets:
m/1..8/:di,Li;
n/1..10/;
links(m,n):a,b,c;
endsets
data:
b=70 0 50 0 0 30 0 0 0 40
30 0 20 8 15 6 2 0 0 8
110 0 40 0 30 0 20 40 0 40
55 5 10 10 10 10 15 0 0 1
75 5 15 0 15 15 0 10 10 10
95 0 10 20 0 15 10 20 0 10
50 15 5 15 10 10 5 10 3 2
70 0 20 0 20 0 20 10 15 5;
c=-505 0 124 168 210 252 312 330 363 489
-560 0 182 203 245 300 320 360 410 495
-610 0 152 189 233 258 308 356 415 500
-500 150 170 200 255 302 325 380 435 800
-590 0 116 146 188 215 250 310 396 510
-607 0 159 173 205 252 305 380 405 520
-500 120 180 251 260 306 315 335 348 548
-800 153 183 233 253 283 303 318 400 800;
di=2.2 1 3.2 1.3 1.8 2 1.4 1.8;
Li=120 73 180 80 125 125 81.1 90;
enddata
min=@sum(links(i,j):a(i,j)*b(i,j)*c(i,j));
@for(m(i):-di(i)*15<=@sum(n(j):a(i,j)*b(i,j))-Li(i));
@for(m(i):@sum(n(j):a(i,j)*b(i,j))-Li(i)<=di(i)*15);
@for(links(i,j):@bin(a(i,j)));
@for(links(i,j)|j#lt#10:a(i,j)>=a(i,j+1));
@sum(links(i,j):a(i,j)*b(i,j)=982.4);
end
我感觉@for(links(i,j)|j#lt#10:a(i,j)>=a(i,j+1));有问题,j不能越界。唉,不知怎么办了。
页:
[1]
2