数学建模社区-数学中国

标题: 无向图最短路lingo程序 [打印本页]

作者: 玉清    时间: 2012-8-19 21:22
标题: 无向图最短路lingo程序
  1. model:
  2. sets:
  3. cities/1..11/;
  4. roads(cities,cities):w,x;
  5. endsets
  6. data:
  7. w=0;
  8. enddata
  9. data:
  10. w(1,2)=2;w(1,3)=8;w(1,4)=1;
  11. w(2,3)=6;w(2,5)=1;
  12. w(3,4)=7;w(3,5)=5;w(3,6)=1;w(3,7)=2;
  13. w(4,7)=9;
  14. w(5,6)=3;w(5,8)=2;w(5,9)=9;
  15. w(6,7)=4;w(6,9)=6;
  16. w(7,9)=3;w(7,10)=1;
  17. w(8,9)=7;w(8,11)=9;
  18. w(9,10)=1;w(9,11)=2;w(10,11)=4;
  19. @for(roads(i,j):w(i,j)=w(i,j)+w(j,i));
  20. @for(roads(i,j):w(i,j)=@if(w(i,j) #eq# 0, 1000,w(i,j)));
  21. enddata
  22. n=@size(cities);  !城市的个数;
  23. min=@sum(roads:w*x);
  24. @for(cities(i)|i #ne#1 #and# i #ne#
  25. n:@sum(cities(j):x(i,j))=@sum(cities(j):x(j,i)));
  26. @sum(cities(j):x(1,j))=1;
  27. @sum(cities(j):x(j,1))=0; !不能回到顶点1;
  28. @sum(cities(j):x(j,n))=1;
  29. @for(roads:@bin(x));
  30. end
复制代码
大家看一下calc这个函数有什么问题啊····
作者: 玉清    时间: 2012-8-19 21:24
不好意思···打错了
作者: 玉清    时间: 2012-8-19 21:27
把第二个data换成calc·····
作者: fgfroom214    时间: 2012-8-19 22:10
还是不能用

作者: fgfroom214    时间: 2012-8-19 22:17
改后就可以用了

作者: darker50    时间: 2012-8-20 09:55
玉清 发表于 2012-8-19 21:27
把第二个data换成calc·····

  直接编辑自己的帖子修改就行了!
作者: 玉清    时间: 2012-8-20 12:15
darker50 发表于 2012-8-20 09:55
直接编辑自己的帖子修改就行了!

我尝试了一下,不行啊···
作者: 玉清    时间: 2012-8-20 12:16
fgfroom214 发表于 2012-8-19 22:17
改后就可以用了

貌似还是不行····




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5