首页 > 代码库 > 数学建模 TSP(旅行商问题) Lingo求解
数学建模 TSP(旅行商问题) Lingo求解
model:sets:cities/1..9/:level;link(cities, cities): distance, x; !距离矩阵;endsetsdata: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 ;enddatan = @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求解
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。