码迷,mamicode.com
首页 > 其他好文 > 详细

数学建模 TSP(旅行商问题) Lingo求解

时间:2017-04-08 19:28:01      阅读:315      评论:0      收藏:0      [点我收藏+]

标签:end   distance   blog   距离   城市   mod   style   eve   color   

model:
sets:
cities/1..9/:level;
link(cities, cities): distance, x;   !距离矩阵;
endsets
data:
distance = 0    200   660   170   127   225   490  420   330                            
         200    0    820   300   90    60    310  225   151                        
         660    820    0    530   770   120   1110 1050  960                    
         170    300    530    0    280   350   600  550   450                
         127    90    770    280    0    110   370  310   210            
           225    60    120    350    110    0    280  250   120        
           490    310    1110    600    370    280    0    290   190    
           420    225    1050    550    310    250    290    0    160
           330    151    960    450    210    120    190    160    0 ;
enddata
n = @size(cities);

!目标函数;
min=@sum(link:distance * x);

@For(cities(k):
     !进入城市k;
     @sum(cities(i) | i #ne# k: x(i,k)) = 1;

     !离开城市k;
     @sum(cities(j) | j #ne# k: x(k,j)) = 1;
    );

    !保证不出现子圈;
    @for(cities(i) | i #gt# 1:
    @for(cities(j) | j #gt# 1 #and# i#ne#j:
        level(i)-level(j) + n*x(i,j) <= n-1);
     );
    
    !限制u的范围以加速模型的求解,保证所加限制并不排除掉TSP问题的最优解;
    @for(cities(i) | i #gt# 1: level(i) <= n-2);
    !定义x为 0\1变量;
    @for(link:@bin(x));
end


        

 

数学建模 TSP(旅行商问题) Lingo求解

标签:end   distance   blog   距离   城市   mod   style   eve   color   

原文地址:http://www.cnblogs.com/douzujun/p/6682691.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!