本文主要是介绍TSP问题,Lingo程序实例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
model:
sets:
city/1..10/:u;!两个"..",别手抖多打了hh;
link(city,city):d,x;
endsets
!对应城市之间的权重;
data:
d=
0 7 4 5 8 6 12 13 11 18
7 0 3 10 9 14 5 14 17 17
4 3 0 5 9 10 21 8 27 12
5 10 5 0 14 9 10 9 23 16
8 9 9 14 0 7 8 7 20 19
6 14 10 9 7 0 13 5 25 13
12 5 21 10 8 13 0 23 21 18
13 14 8 9 7 5 23 0 18 12
11 17 27 23 20 25 21 18 0 16
18 17 12 16 19 13 18 12 16 0;
enddata
min=@sum(link:d*x);
!城市j前只有一个城市相连;
@for(city(j):@sum(city(i)|j#ne#i:x(i,j))=1);
!城市i后只有一个城市相连;
@for(city(i):@sum(city(j)|i#ne#j:x(i,j))=1);
@for(link(i,j)|i#ne#j#and#i#gt#1:u(i)-u(j)+10*x(i,j)<=9);
@for(link:@bin(x));
end
这篇关于TSP问题,Lingo程序实例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!