走钢丝的人 发表于 2009-8-28 20:36

帮帮忙,程序怎么解不出最优解

model:

sets:city/1,2,3,4,5,6,7,8,9/:u,tim;link(city,city):time,r;

endsets

n=@size(city);

data:time=
0        8.7        3        3.4        4.8        7.2        0.9        6.4        7.2       
8.7        0        11.6        12.4        8.4        12.2        8        18.4        16.2       
3        11.6        0        0.8        6        10        4        6.8        7.8       
3.4        12.4        0.8        0        6.8        10.4        4.4        6        8.6       
4.8        8.4        6        6.8        0        3.8        2        8.7        6.6       
7.2        12.2        10        10.4        3.8        0        6.4        5.6        4       
0.9        8        4        4.4        2        6.4        0        7        8.4       
6.4        18.4        6.8        6        8.7        5.6        7        0        2.2       
7.2        16.2        7.8        8.6        6.6        4        8.4        2.2        0       
;
tim=
12

48

12

24

24

24

24

24

24
;

enddata

max=@sum(link:r);

@for(city(k):@sum(city(i)|i#ne#k:r(i,k))=1;

@sum(city(j)|j#ne#k:r(k,j))=1;);

@sum(city(i):@sum(city(j):r(i,j)*time(i,j)))+1/2*@sum(city(i):@sum(city(j):r(i,j)*tim(i)+r(i,j)*tim(j)))<=120;!感觉是这里出了问题,原约束公式是http://www.madio.cn/home/attachment/200908/28/180183_1251462749ddqC.jpg@for(city(i)|i#gt#1:
  @for(city(j)|j#gt#1#and#i#ne#j:
    u(i)-u(j)+n*r(i,j)<=n-1));

@for(city(i)|i#gt#1:u(i)<=n-2);

@for(link:@bin(r));
end

黑星 发表于 2009-8-28 21:00

把那个约束改了一下
@sum(link:r*time)+1/2*@sum(link(i,j):r(i,j)*(tim(i)+tim(j)))<=120;
但是没有可行解!不知道怎么回事。

haifeisi89 发表于 2009-8-28 22:27

晕死,不知道为什么。。。

灰鸽子 发表于 2009-8-30 10:31

是你的限制条件有问题,还有lingo自身也可能出现不正常~!~

灰鸽子 发表于 2009-8-30 10:32

忘了说,建议看一本书lingo和excel在数学建模中的应用,会有帮助的~!

minedoc 发表于 2009-9-5 17:58

学习.........

815685730 发表于 2009-9-6 12:23

等我仔细看看

蓝鬃马 发表于 2009-10-9 11:23

可能是约束条件有冲突吧,造成无可行解。

shenchen10273 发表于 2010-1-31 15:27

顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶

shenchen10273 发表于 2010-1-31 15:27

顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
页: [1] 2
查看完整版本: 帮帮忙,程序怎么解不出最优解