| 查看: 1441 | 回复: 1 | ||
vivianchao新虫 (小有名气)
|
[求助]
lingo求解最短路,编程语句求答疑
|
|
Dijkstra算法。具体代码如下: model: sets: city/1..6/:L; road(city,city):d; endsets data: d=10000; enddata calc: d(1,2)=50;d(1,4)=40;d(1,5)=25;d(1,6)=10; d(2,3)=15;d(2,4)=20;d(2,6)=25; d(3,4)=10;d(3,5)=20; d(4,5)=10;d(4,6)=25; d(5,6)=55; @for(city(j)|j#lt#@size(city):@for(city(i)|i#gt#j:d(i,j)=d(j,i))); endcalc L(1)=0; @for(city(j)|j#gt#1:L(j)=@min(city(i):L(i)+d(i,j))); end 最后一句 @for(city(j)|j#gt#1:L(j)=@min(city(i):L(i)+d(i,j))); 不明白具体是怎么运算的。比如j=2的时候,我理解的是只能得到L(2)=50.但是程序却可以得到L数组为0,50,35,30,0,25. |
» 猜你喜欢
越来越担心硕士毕业后没有竞争力了
已经有14人回复
论文的挂名怎么评判贡献?基金申请中,排名第一的挂名文章
已经有3人回复
申博自荐 2篇一区TOP+1篇EI+2公开发明专利 2027博士申请
已经有3人回复
闲聊
已经有6人回复
申博求助
已经有4人回复
2楼2020-08-20 21:51:04










回复此楼