- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
TSP问题及LINGO求解技巧
巡回旅行商问题(TravelingSalesmanProblem,TSP),也称为货郎担问题。最早可以追溯到1759年Euler提出的骑士旅行问题。1948年,由美国兰德公司推动,TSP成为近代组合优化领域的一个典型难题。它已经被证明属于NP难题。
用图论描述TSP,给出一个图,每边上有非负权值,寻找G的Hamilton圈C,使得C的总权最小.
几十年来,出现了很多近似优化算法。如近邻法、贪心算法、最近插入法、最远插入法、模拟退火算法以及遗传算法。这里我们介绍利用LINGO软件进行求解的方法。
问题1设有一个售货员从10个城市中的某一个城市出发,去其它9个城市推销产品。10个城市相互距离如下表。要求每个城市到达一次仅一次后,回到原出发城市。问他应如何选择旅行路线,使总路程最短。
表110个城市距离表
城市
1
2
3
4
5
6
7
8
9
10
1
0
7
4
5
8
6
12
13
11
18
2
7
0
3
10
9
14
5
14
17
17
3
4
3
0
5
9
10
21
8
27
12
4
5
10
5
0
14
9
10
9
23
16
5
8
9
9
14
0
7
8
7
20
19
6
6
14
10
9
7
0
13
5
25
13
7
12
5
21
10
8
13
0
23
21
18
8
13
14
8
9
7
5
23
0
18
12
9
11
17
27
23
20
25
21
18
0
16
10
18
17
12
16
19
13
18
12
16
0
我们采用线性规划的方法求解
设城市之间距离用矩阵来表示,表示城市与城市之间的距离。设0--1矩阵用来表示经过的各城市之间的路线。设
考虑每个城市后只有一个城市,那么:
考虑每个城市前只有一个城市,那么:
;
但仅以上约束条件不能防止在一次遍历中产生多于一个互不连通回路。
为此我们引入额外变量,附加以下充分约束条件:;
该约束的解释:
如与不会构成回路,假设构成回路,有:
,,那么:
,,从而有:
,导致矛盾。
如,与不会构成回路,假设构成回路,有:
,,那么:
,,从而有:
,导致矛盾。
其它情况以此类推。
于是我们可以得到如下的模型:
前面问题的Lingo程序
!TSPquesion;
MODEL:
SETS:
city/1..10/:u;
link(city,city):d,x;
ENDSETS
DATA:
d=07 4 5 8 6 12 13 11 18
70 3 10 9 14 5 14 17 17
430 5 9 10 21 8 27 12
5105 0 14 9 10 9 23 16
89 9 14 0 7 8 7 20 19
61410 9 7 0 13 5 25 13
12521 10 8 13 0 23 21 18
13148 9 7 5 23 0 18 12
111727 23 20 25 21 18 0 16
181712 16 19 13 18 12 16 0;
ENDDATA
MIN=@SUM(link:d*x);
@for(city(j):@sum(city(i)|j#ne#i:x(i,j))=1);!城市j前有一个城市相连;
@for(city(i):@sum(city(j)|j#ne#i:x(i,j))=1);!城市i后前有一个城市相连;
@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
得到的结果如下:X(3,2)=1,X(4,1)=1,X(4,3)=1,X(6,5)=1,X(7,2)=1,X(7,5)=1,X(8,6)=1,X(9,1)=1,X(10,8)=1,X(10,9)=1。其它全为0。
其最短路线为1—4—3—2—7—5—6—8—10—9—1,最短距离为77公里。
问题2.2005年电工杯B题比赛工程排序问题
全民健身方案是1995年在国务院领导下,由国家体委会同有关部门、各群众组织和社会团体共同推行的一项依托社会、全民参与的体育健身方案,是与实现社会主义现代化目标相配套的社会系统工程和跨世纪的开展战略规划。现在,以全民健身为主要内容的群众性体育活动蓬勃开展,举国上下形成了全民健身的热潮,人民群众健康水平不断提高,同时
文档评论(0)