hongxiuzhe 发表于 2013-8-6 10:21

运行时总显示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

hongxiuzhe 发表于 2013-8-6 10:22

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

madio 发表于 2013-8-6 10:44

首先顶部的集link的名字应该是links,最重要的问题是约束的形式,连着两个<=的。你必须要拆分为两个约束来写

百年孤独 发表于 2013-8-6 10:50

集合中是link,目标函数是links能不错吗?

袁海亮 发表于 2013-8-6 10:59

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

多多交流

hongxiuzhe 发表于 2013-8-6 11:23

袁海亮 发表于 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:32

本帖最后由 袁海亮 于 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 一下 就行了!!!就有运算结果了!目标函数你只是进行了一个计算  能够得到结果

结果 部分截图:

hongxiuzhe 发表于 2013-8-6 14:05

袁海亮 发表于 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不能越界。唉,不知怎么办了。

hongxiuzhe 发表于 2013-8-6 14:43

本帖最后由 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不能越界。唉,不知怎么办了。

hongxiuzhe 发表于 2013-8-6 14:43

本帖最后由 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
查看完整版本: 运行时总显示error code"24",求大神帮忙