1、数学建模获奖作品走遍全中国基于蚂蚁算法的解决方案摘要: 本文是解决一个旅行商问题(TSP),这里我们基于蚂蚁算法,对“走遍全国”这一具体问题建立了相应的TSP数学模型,并且基于Matlab软件编写了相应的程序,从而找出“走遍全中国”中34个城市的最短路。 对于第一问:由已知的地理位置(经纬度)设计并计算出了最短路旅行方案:哈尔滨长春沈阳上海杭州南京合肥武汉长沙南昌福州台北香港澳门广州海口南宁贵州重庆成都昆明拉萨乌鲁木齐西宁兰州银川西安郑州济南天津北京石家庄太原呼和浩特哈尔滨。 对于第二、三问:考虑到实际旅行线路的制约,本问基于上问设计的最短线路,对特定两城市之间加以分析,为此本文制定了相应的乘
2、车规则,分别就省钱、省时、方便建立了数学模型。 第四问:本文应用程序运行时间的增长率,来刻画该算法的时间复杂性,即,从而通过对比说明了蚂蚁算法的可行性。第五问:蚂蚁算法当接近最优解时收敛速度快,而开始时收敛速度很慢。所以想到使蚂蚁算法去和其他一些开始收敛速度快的算法(如粒子群算法)结合,这样使蚂蚁算法得到优化。关键词:蚂蚁算法 旅行商问题 1 问题分析: 由于人们在旅游方式、时间安排、经济状况等诸多因素的不同导致了,对于旅游线路的设计与选取变得更加迫切。对于旅行社而言,不同的线路设计直接影响到旅行社的发展。而对于旅行者而言,不同的路线使我们更能充分利用现有的经济、时间等来安排自己的旅行路线。
3、对于模型的建立本文将旅行者分为经济型、省时和方便三方面建立了模型。 在设计最短路问题当中,本文仅从我国省会的地理位置(经纬度)方面加以设计,即不考虑实际当中的铁路、航空里程。 假设旅行者周先生能通过互联网订到从A市到B市的火车票(飞机票),那么在对于解决第二问的关键就转变为对第一问结果在现实背景下的“修订”。本文所采用的算法为ACO算法,其多样性和正反馈的特点不仅保证了系统的多样性,而且保证了优良性能得到强化,2 符号说明 城市规模,即城市的数目; 城市数目的增量; 某个时刻; 乘坐火车时间; 当城市数增大时,运行时间的增长量; 算法执行的时间增长率; 某两城市间距离; 选取交通工具的距离参数
4、。3 模型假设:假设旅行者在旅游过程中未出现突发事件(例如身体状况、恶劣天气等)打断其旅游;假设在旅行当中不存在飞机票与火车票的打折的情况;假设任意两城市之间可以直接到达,即出发城市到目的城市之间存在铁路或航空线路;假设忽略铁路或航空里程与实际里程的误差;假设所乘列车或航班均准时到站,不存在晚点等因素;假设在旅行当中都可购买到相应的火车票与机票;4 模型的建立及求解第一问求解:求解全国34个省市地区的最短路是一个旅行商问题,这里我们运用蚂蚁算法来求解。在该问方案设计中本文忽略了出发城市与目的城市之间是否存在火车线路与飞机航线。首先把经纬度坐标投影到了平面上的直角坐标(见附表)运行程序,最终结果
5、最短路径如下所示: ACO(liye003.tsp)AS is reading input nodes file.34 nodes in att48 has been read inAS start at 04-May-2010 14:32:37Showing Iterative Best Solution:AS stop at 04-May-2010 14:36:59Drawing the iterative courses curve我们发现乌鲁木齐、拉萨的相对位置在球面和平面上有所不同。最终得出了最短路旅行方案:哈尔滨长春沈阳上海杭州南京合肥武汉长沙南昌福州台北香港澳门广州海口南宁贵州重
6、庆成都昆明拉萨乌鲁木齐西宁兰州银川西安郑州济南天津北京石家庄太原呼和浩特哈尔滨。第二、三问求解:考虑到实际情况(火车线路、航空线路)的制约,本问基于第一问的设计基础上,对特定的两城市之间的乘车或乘飞机的选择方案上制定了相应的规则。分析如下:1. 若在两地之间无快车或动车的情况下,选择乘坐飞机;2. 当两地间距离(特指铁路里程)大于某个设定的值,即在某段中如果我们选取乘坐火车,不仅解决不了时间上的浪费,而且甚至会提高费用时: (1)将乘坐飞机。这里的本文规定 3.当乘车时间,本文规定此情况乘坐飞机;与2.是“或”的关系; 4. 本文规定为一个临界点。在白天的时规定乘坐动车;而当乘车时间落在区间时
7、乘坐卧铺,这样不仅节省白天的旅行时间,而且不影响周先生的休息; 5. 当乘火车时间,本文规定乘坐动车。 6. 在设置省时方案当中,将乘坐快车的情况尽可能的换为乘坐飞机,从而达到更加节省时间的目的; 7. 设置省钱的方案中,尽可能的少乘坐飞机,多安排乘坐火车。在旅游过程当中,我们建议周游先生:从香港乘坐其他交通工具到澳门旅游,例如:轮船。而从澳门到达广州的这段旅行当中建议乘坐汽车。由以上规则,我们给出,分别为省钱、省时和方便的三种方案,相应数据见附录,先给出路线如下表:表1省钱方案具体安排时间始发地目的地工具出发到达耗时金额5.1哈尔滨长春D289:0210:481小时46分775.3长春沈阳D
8、2617:2619:312小时5分925.6沈阳上海MU561017:1019:202小时10分13005.9上海杭州D568119:0320:211小时18分545.12杭州南京T3414:0020:286小时28分1375.15南京合肥D301419:1520:231小时8分485.18合肥武汉D305214:4016:442小时4分1135.21武汉长沙G105717:1018:381小时28分1755.24长沙南昌D20711:3314:463小时13分1305.27南昌福州K871620:366:209小时44分1625.30福州台北MF88313:4015:001小时20分1000
9、6.2台北香港CI91715:4017:251小时45分23986.11广州海口CZ679017:3518:351小时7056.14海口南宁HU744219:3020:2050分6106.17南宁贵阳GS751914:3015:2555分6506.20贵阳重庆K103620:338:1311小时40分836.23重庆成都D511518:4820:522小时4分986.26成都昆明8L997616:2017:301小时10分9906.30昆明拉萨MU58377:0010:353小时35分19607.5乌鲁木齐西宁CZ68819:1511:202小时5分11007.8西宁兰州T21015:0817
10、:232小时15分507.11兰州银川K91622:407:308小时50分977.14银川西安MU960619:0520:151小时10分6007.17西安郑州G201217:5020:032小时13分2407.20郑州济南K20620:335:519小时18分1707.23济南天津D16215:1517:572小时42分1127.26天津北京C207418:2518:5530分587.29北京石家庄D452716:3118:312小时868.1石家庄太原D201518:2419:301小时6分708.4太原呼和浩特8L994518:4019:3555分4308.7呼和浩特哈尔滨CA1112
11、13:0017:554小时55分1425总计93.7小时15220表2省时方案具体安排时间始发地目的地工具出发到达耗时金额5.1哈尔滨长春D289:2010:481小时46分775.3长春沈阳D2617:2619:312小时5分925.6沈阳上海MU561017:1019:202小时10分13005.9上海杭州D568119:0320:211小时18分545.12杭州南京D559011:4216:104小时28分1555.15南京合肥D301419:1520:231小时8分485.18合肥武汉D305214:4016:442小时4分1135.21武汉长沙G105717:1018:381小时28
12、分1755.24长沙南昌D20711:3314:463小时13分1305.27南昌福州CZ814916:3017:401小时10分4505.30福州台北MF88313:4015:001小时20分10006.2台北香港CI91715:4017:251小时45分23986.11广州海口CZ679017:3518:351小时7056.14海口南宁HU744219:3020:2050分6106.17南宁贵阳GS751914:3015:2555分6506.20贵阳重庆CZ347612:0512:5550分4956.23重庆成都D511518:4820:522小时4分986.26成都昆明8L997616:
13、2017:301小时10分9906.30昆明拉萨MU58377:0010:353小时35分19607.5乌鲁木齐西宁CZ68819:1511:202小时5分11007.8西宁兰州T21015:0817:232小时15分507.11兰州银川HU7825/ZH99878:3513:104小时35分11207.14银川西安MU960619:0520:151小时10分6007.17西安郑州G201217:5020:032小时13分2407.20郑州济南CA496613:4514:3550分5307.23济南天津D16215:1517:572小时42分1127.26天津北京C207418:2518:55
14、30分587.29北京石家庄D452716:3118:312小时868.1石家庄太原D201518:2419:301小时6分708.4太原呼和浩特8L994518:4019:3555分4308.7呼和浩特哈尔滨CA111213:0017:554小时55分1425总计59.58小时17321表3方便的方案时间始发地目的地工具出发到达耗时金额5.1哈尔滨长春D289:0210:481小时46分775.3长春沈阳D2617:2619:312小时5分925.6沈阳上海MU561017:1019:202小时10分13005.9上海杭州D568119:0320:211小时18分545.12杭州南京T341
15、4:0020:286小时28分1375.15南京合肥D301419:1520:231小时8分485.18合肥武汉D305214:4016:442小时4分1135.21武汉长沙G105717:1018:381小时28分1755.24长沙南昌D20711:3314:463小时13分1305.27南昌福州K871620:366:209小时44分1625.30福州台北MF88313:4015:001小时20分10006.2台北香港CI91715:4017:251小时45分23986.11广州海口CZ679017:3518:351小时7056.14海口南宁HU744219:3020:2050分6106.
16、17南宁贵阳GS751914:3015:2555分6506.20贵阳重庆K103620:338:1311小时40分836.23重庆昆明MU298517:3018:401小时10分7106.27昆明拉萨MU58377:0010:353小时35分19606.29拉萨成都CA411116:0017:501小时50分15007.2成都乌鲁木齐CZ694213:4017:103小时30分20507.6乌鲁木齐西宁CZ68819:1511:202小时5分11007.9西宁兰州T21015:0817:232小时15分507.12兰州银川K91622:407:308小时50分977.15银川西安MU96061
17、9:0520:151小时10分6007.18西安郑州G201217:5020:032小时13分2407.21郑州济南K20620:335:519小时18分1707.24济南天津D16215:1517:572小时42分1127.27天津北京C207418:2518:5530分587.30北京石家庄D452716:3118:312小时868.3石家庄太原D201518:2419:301小时6分708.7太原呼和浩特8L994518:4019:3555分4308.10呼和浩特哈尔滨CA111213:0017:554小时55分1425总计 96.97小时18392第四问求解:本文运用的算法为蚂蚁算法。
18、其复杂性,我们是从两个方面来考虑:时间复杂性和空间复杂性。两者结合可以更有效的说明了算法的优劣性。空间复杂性,我们使用的计算机型号等基本参数如下图:时间复杂性,一般计算机算法是问题规模的函数,因此问题规模越大,算法执行的时间越长率与的增长率成正相关1。所以这里我们应用算法执行的时间增长率来刻画此算法的时间复杂性,即。遗传算法程序经过在上述计算机中运行,有以下结果,运行时间;,运行时间;,运行时间;,运行时间;从而得到 ;从以上可以看出,此算法的运算量(运算次数)在不断增加的,而且增长的越来越快。而普通的算法或是穷举,虽然能得到精确的解,但其执行时间增长率会有很明显的增长,其可能的路径数目与城市
19、数目n是成指数增长的,所以一般很难求出其最优解,以下表格可以看出其缺陷之所在。运行时间表 2城市数24 252627282930计算时间1s24s10min4.3h4.9day136.5day10.8year由此表我们很容易可以看出随着城市数的增加,穷举法的计算时间也将大幅度增加。在解决本题目时,蚂蚁算法求解大约在4分钟左右运行出来,所以是可行的。误差分析:蚂蚁算法求解出的解很可能不是精确解。第五问求解:蚂蚁算法的两个最主要的特点就是,多样性和正反馈。多样性保证了系统的多样性,而正反馈保证了优良性能得到强化,两者要恰到好处的结合。蚂蚁算法当接近最优解释收敛速度快,而开始时收敛速度很慢。所以想到
20、使蚂蚁算法去和其他一些开始收敛速度快的算法(如粒子群算法)结合,这样使蚂蚁算法得到优化。总结: 我们认为我们的方案可以进行商业推广,并针对不同的客户群。对于经济不是很宽裕的消费者,我们可以推广省钱方案,并将其中部分路线调整为坐火车;对于时间繁忙的消费者,可以推广省事的方案,并做适当的调整。也可将我们的方案推广到其他一些旅行线路中。总之,我们的方案从不同的角度很好的解决了中国旅行商问题。参考文献:1 殷剑宏,吴开业.图论及其算法.合肥:中国科学技术大学出版社,2003 2 Yuehui Chen,School of Inform. Sci. and Eng.University of Jinan, 20093 王树禾.图论.北京:科学出版社,20094 李海明,刑桂华.用MATLAB实现中国旅行商问题的求解,微计算机应用,2004-03-155 孙守宇,郑君里. Hopfield网络求解TSP的一种改进算法和理论证明.电子学报,1995;23(1)6 黄岚,王康平,周春光,原媛,庞巍.基于蚂蚁算法的混合方法求解旅行商问题. 吉林大学学报(理学版),2002
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1