lingo实现的TSP算法

model:
sets:
city/1..6/:u;
link(city,city):dist,x;!距离矩阵,x为决策变量;
endsets
data:
dist=0 702 454 842 2396 1196
     702 0 324 1093 2136 764
     454 324 0 1137 2180 798
     842 1093 1137 0 1616 1857
     2396 2136 2180 1616 0 2900
     1196 764 798 1857 2900 0;    
enddata
min=@sum(link:dist*x);
n=@size(city);
@for(link:@bin(x));
!不能从自己到自己;
@for(city(i):x(i,i)=0);
!每个城市出发一次回来一次;
@for(city(k):@sum(city(i):x(i,k))=1;
             @sum(city(j):x(k,j))=1;);
!防止结果出现子巡回;
@for(city(i):u(i)<=n-1);
@for(city(i):@for(city(j)|j#ne#i#and#j#gt#1:
                  u(i)-u(j)+n*x(i,j)<=n-1));
end

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值