1最佳云南旅游路线设计摘要本文主要研究最佳旅游路线的设计问题。在满足相关约束条件的情况下,花最少的钱游览尽可能多的景点是我们追求的目标。基于对此的研究,建立数学模型,设计出最佳的旅游路线。第一问给定时间约束,要求为设计合适的旅游路线。我们建立了一个最优规划模型,在给定游览景点个数的情况下以人均总费用最小为目标。再引入0—1变量表示是否游览某个景点,从而推出交通费用和景点花费的函数表达式,给出相应的约束条件,使用lingo编程对模型求解。推荐方案:第二问放松时间约束,要求游客们游遍所有的景点,该问题也就成了典型的货郎担(TSP)问题。同样使用第一问的模型,改变时间约束,使用lingo编程得到最佳旅游路线为:本文思路清晰,模型恰当,结果合理.由于附件所给数据的繁杂,给数据的整理带来了很多麻烦,故我们利用Excel排序,SPSS预测,这样给处理数据带来了不少的方便。本文成功地对0—1变量进行了使用和约束,简化了模型建立难度,并且可方便地利用数学软件进行求解。此外,本文建立的模型具有很强普适性,便于推广。关键词:最佳路线TCP问题景点个数最小费用一问题重述云南是我国的旅游大省,拥有丰富的旅游资源,吸引了大批的省外游客,旅游业正在成为云南的支柱产业。随着越来越多的人选择到云南旅游,旅行社也推出了各种不同类型的旅行路线,使得公众的面临多条线路的选择问题。假设某一个从没有到过云南的人准备在假期带家人到云南旅游,预计从昆明出发,并最终返回昆明。请你们为他设计一条在云南旅游的最佳路线初步设想有如下线路可供选择:一号线:昆明-玉溪-思茅二号线:昆明-大理-丽江三号线:昆明-大理-香格里拉四号线:昆明-玉溪-西双版纳五号线:昆明-玉溪-思茅-西双版纳-大理-丽江-香格里拉每条线路中的景点可以全部参观,也可以参观其中之一。结合上述要求,请你回答下列问题:一、请你们为游客设计合适的旅游路线,假设使游客在10天时间内花最少的钱尽可能的游更多的地方。二、如果有游客的时间非常充裕(比如一个月),游客打算将上述旅游景点全部参观完毕后才离开云南,请你们为游客设计合适的旅游路线,使在云南境内2的交通费用尽量地节省。二问题分析2.1问题背景的理解:根据对题目的理解我们可以知道,旅游的总费用包括交通费用和在景点游览时的费用,而在确定了要游览的景点的个数后,所以我们的目标就是在满足所有约束条件的情况下,求出成本的最小值。2.2问题一和问题二的分析:问题一要求我们为游客设计合适的旅游路线,假设使游客在10天时间内花最少的钱游尽可能多的地方。在这里我们的做法是在满足相应的约束条件下,先确定游览的景点数,然后计算出在这种情况下的最小花费。这样最终会得出几种最佳方案,而游客可以根据自己的实际情况进行选择。问题二实质上是在问题一的基础上改变了时间约束,即游客要游览所有的景点,我们完全可以使用与问题一同样的方法进行求解。三模型假设1.所给的5条路线每条路线中的景点可以全部参观,也可以参观其一;2.游客使用旅游大巴安排他们往返于各个旅游景点,其交通费用、在景点的花费、在景点的逗留时间参照当地客运公司及旅行社的数据;3.游客们所乘坐的旅游大巴平均时速为50km/h,平均费用为0.3元/km;4.一个景点直接到达另外一个景点是指,途中经过的其他景点只是一个转站地,而并不进行游览;5.在限定的时间内,游客最终要返回昆明,并且假设昆明是游客们肯定要去的一个旅游景点;6.游客们在途中和游览景点的时间为12小时,而另外12小时为休息、用餐及其他琐事时间。四符号说明i,j——第i个或者第j个景点,i,j=1,2,……,7;分别表示昆明玉溪思茅西双版纳大理丽江香格里拉c——每个游客的旅游总花费;it——每个游客在第i个景点的逗留时间;ic——每个游客在i个景点的总消费;ijt——从第i个景点到第j个景点路途中所需时间;ijc——从第i个景点到第j个景点所需的交通费用;01ijr其他个景点个景点到达第游客直接从第ji3五模型建立及求解5.1问题一:5.1.1目标函数的确立:经过对题目分析,我们可以知道本题所要实现的目标是,使游客在10天时间内花最少的钱游览尽可能多的地方。显然,花费最少和游览的景点尽量多是该问题的两个目标。因此,我们的做法是在满足相应的约束条件下,先确定游览的景点数,然后计算出在这种情况下的最小花费。这样最终会得出几种旅游路线,而游客可以根据自己的实际情况进行选择。游览的总费用由2部分组成,分别为交通总费用和在旅游景点的花费。我们定义:m——每个游客的旅游总花费;1m——每个游客的交通总费用;2m——每个游客的旅游景点的花费;从而得到目标函数:Minm=1m+2m(1)交通总花费因为ijc表示从第i个景点到第j个景点所需的交通费用,而ijr是判断游客是否从第i个景点直接到第j个景点的0—1变量,因此我们可以很容易的得到交通总费用为:71711ijijijcrm(2)旅游景点的花费因为ic表示游客在i个景点的总消费,ijr也可以表示出游客是否到达过第i个和第j个景点,而整个旅游路线又是一个环形,因此7171ijjiijccr实际上将游客在所到景点的花费计算了两遍,从而我们可得旅游景点的花费为:7171221ijjiijccrm从而我们可以得到目标函数为:Minm=1m+2m=7171ijijijcr+717121ijjiijccr45.1.2约束条件:①时间约束假设游客在云南的旅游时间应该不多于10天(120小时),而这些时间包括在路途中的时间和在旅游景点逗留的时间。因为ijt表示从第i个景点到第j个景点路途中所需时间,所以路途中所需总时间为7171ijijijtr;it表示游客在第i个景点的逗留时间,故游客在旅游景点的总逗留时间为717121ijjiijttr。因此,总的时间约束为:7171ijijijtr+717121ijjiijttr120②旅游景点数约束根据假设,整个旅游路线是环形,即最终游客要回到成都,因此7171ijijr即表示游客旅游的景点数,这里我们假定要旅游的景点数为n(n=2,3,……,11)。因此旅游景点数约束为:7171ijijnr(n=2,3,……,7)③0——1变量约束我们可以把所有的景点连成一个圈,而把每一个景点看做圈上一个点。对于每个点来说,只允许最多一条边进入,同样只允许最多一条边出来,并且只要有一条边进入就要有一条边出去。因此可得约束:iijr1jijr(i,j=1,2,……,7)当1i时,因为昆明是出发点,所以11iijr;1j时,因为游客最终要回到昆明,所以11jijr。综合以上可知,iijr1jijr(i,j=1,2,……,7)11iijr11jijr同样,当i,2j时,根据题意不可能出现1jiijrr,即不可能出现游客在两地间往返旅游,因为这样显然不满足游览景点尽量多的原则。因此我们可得约束:50jiijrr(i,j=2,3,……,7)5.1.3模型建立:综上所述,我们可以得到总的模型为:Minm=1m+2m=7171ijijijcr+717121ijjiijccr约束条件:7171ijijijtr+717121ijjiijttr1207171ijijnr(n=2,3,……,7)iijr1jijr(i,j=1,2,……,7)11iijr11jijr0jiijrr(i,j=2,3,……,7)5.1.4模型求解与结果分析:在这里我们引入以下符号:ijd——第i个景点和第j个景点之间的路程;v——游客所乘坐的旅游大巴的平均时速,v=50km/h;m——游客所乘坐的旅游大巴的平均费用,h=0.3元/h;通过上网查询资料,我们可以得到ijd的具体值,根据公式ijt=ijd/v可得到相应的ijt,同样根据公式ijc=ijd×m可以得到相应的ijc(i,j=1,2,……,7)。(ijd、ijt和ijc的具体数值见附录)同样,通过对云南的一些旅行社进行咨询,我们得出游客在第i个景点的最佳逗留时间和游客在第i个景点总消费:t1t2t3t4t5t6t7(单位:小时)c1c2c3c4c5c6c76(单位:元)从而根据模型,使用Lingo编程,得出结果如下表:旅游景点数n234每人总花费m(单位:元)路线旅游景点数n56每人总花费m(单位:元)路线旅游景点数n7每人总花费m(单位:元)路线(其中数字1,2,……,7;分别表示昆明玉溪思茅西双版纳大理丽江香格里拉)对于上述结果,我们的推荐为:路线一:路线二:路线三:5.2问题二5.2.1目标函数的确立:此问与第一问大同小异,不同的是游客要完成所有景点的旅游,而目标函数是求最少的交通费。由第一问结论可知,交通费用为:71711ijijijcrm因此,该问题的目标函数为:Min71711ijijijcrm5.2.2约束条件:①时间约束该问与上一问相比,放宽了对时间的要求,不妨可以假定限制的时间为一个月(360个小时),同上一问可得:77171ijijijtr+717121ijjiijttr360②旅游景点数约束由题目要求可知,因为游客时间充裕,因此他们打算游览完全部7个景点。由第一问知道7171ijijr表示游客游览的景点总数,因此该约束为:71717ijijr(i,j=1,2,……,7)③0——1变量约束根据假设,整个旅游路线是环形,即最终游客要回到昆明,因此我们可以把整个路线看做一个Hamilton(哈密尔顿)圈,这样该问题就归结为货郎担(TSP)(哈密尔顿)问题,当然前提是我们已经知道了要旅游所有的景点。因此,对于Hamilton圈中的每个点来说,只允许有一条边进入,同样,也只允许有一条边出去。用公式表示即为:1iijr1jijr(i,j=1,2,……,7)同样,当i,2j时,根据题意不可能出现1jiijrr,即不可能出现游客在两地间往返旅游,因为这样显然不满足游览景点尽量多的原则。因此我们可得约束:0jiijrr(i,j=2,3,……,7)5.2.3模型建立:综上所述,我们可以得到总的模型为:Min71711ijijijcrm约束条件:7171ijijijtr+717121ijjiijttr36071717ijijr(i,j=1,2,……,7)1iijr1jijr(i,j=1,2,……,7)0jiijrr(i,j=2,3,……,7)5.2.4模型求解与结果分析:根据模型,使用Lingo编程,得出结果为:8旅游景点数n7每人总花费m(单位:元)路线六模型的评价、改进及推广6.1.模型的评价1.本文思路清晰,模型恰当,得出的方案合理;2.本文成功的使用了0—1变量,使模型的建立和编程得以顺利进行;3.在第二问中采用了TCP算法,简化了模型的求解难度;4.问题五由于数据庞大,对程序的要求很高,尽管经过了检验,但结果依然比较粗糙,有待进行进一步的改进。6.2.模型的改进与推广:1.实际情况中,两景点之间可能还有出公路外其他交通方式,如航班、铁路,增加这些考虑后,结果会更加合理。2.因数据资料搜集的不完整,准确性也有待商榷,而且没有对最终方案进行更为细致的讨论研究,这些方面有待七参考文献[1]姜启源谢金星叶俊,《数学模型(第三版)》,北京:高等教育出版社,2003。[2]谢金星薛毅,《优化建模与LINDO/LINGO软件》,北京:清华大学出版社,2005。[3]周仁郁,《SPSS13.0统计软件》,成都,西南交通大学出版社,2005。[4]李庆扬王能超易大义,《数值分析》,北京:清华大学出版社施普林格出版社,2001。八附录附录清单:附录1为搜集的一些数据9