1摘要随着人们生活水平的不断提高,作为“无烟工业”旅游活动便成为人们生活水平的重要指标。本文围绕五一黄金周的旅游问题进行了定量的评估,对即有时间限制又有时间限制的旅游质量问题建立了数学模型,对求解结果进行了分析。问题要求在只有1000元的旅游费用且在7天之内的条件下游览尽可能多的城市。首先,我们对预选的旅游景点之间消耗的费用和时间进行了分析。由于约束条件不仅要求费用不大于1000而且旅游时间在7天之内,因此,我们从长途汽车站和火车车次中选取费用最低且最节约时间的路线并记录了最优行程费用表。另外,由于时间的限制,因此,需引入0-1变量表示是否游览某个景点,根据求解最优Hamilton回路算法——三边交换调整法,以费用和时间为参考量,我们建立了一个适用于本问题最优规划模型,得出最优旅游路线①→⑥→⑤→④→③→⑧→⑩→①。关键词:三边交换调整法最优旅游路线Matlab程序0—1模型2问题重述旅游路线安排计划黄金周又到了,希望安排出外旅游。你要考虑的因素很多。首先,你得考虑时间有限(7天);其次要考虑费用问题:根据有限的费用安排你的交通方式。当然,还要考虑出游的乐趣,希望多走几个景点。还要考虑劳逸结合,如较远的地方如坐火车需乘坐卧铺,晚上休息。如何安排你的假期。假设一个景点一天的平均费用为100元,你手中恰有刚刚发下来的奖学金1000元。要制定合理的旅行路线,需要考虑的因素很多,如交通方式,尽可能去多个景点,休息住宿等。假设一个景点一天的平均费用为100元。那么如何安排你的假期?预选的九个市旅游景点市景点名称在景点的最短停留时间忻州卢芽山5小时吕梁北武当山7小时太原晋祠6小时阳泉藏山6小时晋中平遥古城5小时长治上党门7小时运城五老峰4小时晋城九女仙湖4小时三门峡豫西大峡谷7小时模型假设与符号说明模型假设1、所有的车票均预订;32、在每个城市中停留时,难免会遇到等车、堵车等延时情况,在此问题中我们不做考虑;3、平均每个城市的交通费用30元(如公交车、出租车等);4、景点的开放,列车和汽车的运营不受天气的影响;5、每天的伙食费达到最高标准40元/天;6、景点停留时间超过六小时必须住宿,住宿费每晚60元;7、在时间的认识上,我们把当天的8点至次日8点作为一天;8、由于旅游者携带学生证,所有门票按半价计算。符号说明⑴、i,j表示第i个城市(景点)或第j个城市(景点),i、j=1,2…10;⑵、Z表示计划行程中的总费用;⑶、W表示各城市(景点)之间的交通费用的总和,表示各城市(景点)之间的交通费用;⑷、A表示在景点所在城市的总花费,其中包括表示第i个城市(景点)内的交通费用,表示第i个城市(景点)内的食宿费用,表示第i个城市的景点的门票费用,表示第i个城市(景点)内总费用,故=++;⑸、表示在第i个城市(景点)的逗留时间,表示从第i个景点到第j个景点路途中所需时间,T表示本次旅游的总时间;⑹、4问题分析问题背景分析根据对题目的理解,我们知道旅游时的总费用包含交通费用、住宿费用和在景点旅游时的费用,在研究确定旅游路线和选用的交通工具后,我们的目标是在所有的约束情况下,求出所求目标的最优解。对问题分析问题要求是在7天的时间内、不大于1000元的旅游费用的情况下使游客游览尽可能多的景点数。模型的准备先给11个旅游城市分别进行编号,临汾、忻州、吕梁、太原、阳泉、晋中、长治、运城、晋城、三门峡分别编号为①、②、③、④、⑤、⑥、⑦、⑧、⑨、⑩。则这10个城市和其交通路线构成了一个网络图。这些城市可看作该网络图的节点。各城市距离(单位:公里)临汾忻州吕梁太原阳泉晋中长治运城晋城三门峡临汾0347.1380262440241315.5148594192.1忻州347.10269.981.3183.7108.4304.1500462519.95吕梁380269.90184.8275.3194.7377.8376.06457.9436.3太原26281.3184.80118.137.5223.8392.9322.3437.1阳泉440183.7275.3118.1097.9313.3412439527.6晋中241108.4194.737.597.90197.9398280.8444.8长治315.5304.1377.8223.8313.3197.90360518384运城148500376.06392.9412398360017957.8晋城594462457.9322.3439280.85181790240三门峡192.1519.9436.3437.1527.6444.838457.824000—1模型目标函数的确立:旅游总费用由2部分组成,分别为交通总费用和在旅游景点的花费。我们已经定义:Z—旅游总花费;W—交通总费用;A—旅游景点的花费;从而得到目标函数:Z=W+A(1)、交通总花费因为表示第i个景点到第j个景点所需的交通费用,而是判断游客们是否从第i个景点到第j个景点的0—1变量,因此我们可以很容易的得到交通总费用为:(2)、旅游景点的花费因为表示游客在i个景点的总消费,也可以表示出是否到达过第i个和第j个景点,而整个旅游路线又是一个环形,因此实际上将所到景点的花费计算了两遍,从而我们可以得到旅游景点的花费为:从而我们可以得到目标函数为:约束条件:6时间约束:旅游时间应该不超过5天,而这些时间包括在路途中的时间和在旅游景点逗留的时间。因为ijt表示从第i个景点到第j个景点路途中所需时间,所以路途中所需的总时间为;表示在第i个景点的逗留时间,故在旅游景点的总逗留时间为因此,总的时间约束为:旅游景点数约束:根据假设,整个旅游路线是环形,即最终要回到临汾,因此即表示旅游的景点数,这里我们假定要旅游的景点数为n(n=1,2,3,……,9)。因此旅游景点数约束为:0—1变量约束:我们可以把所有的景点连成一个圈,而把妹一个景点看做圈上一个点。对于每个景点来说,只允许最多一条边进入,同样只允许最多一条边出来,并且有一条边进入就要有一条边出去。因此可得约束:7当i=1时,因为临汾是出发点,所以;j=1时,因为最终要回到徐州,所以。综上所述,我们可以得到总的模型为:约束条件各大景点门票信息[4]景点卢芽山错误!北武当山错误!晋祠错误!藏山风○5平遥古城错误!上党门错误!五老峰○8九女仙湖○9豫西大峡谷错误!门票15元25元35元40元60元65元30元32元30元*所有票价按学生票均半价*模型的建立与求解8建立既有时限又有费限的旅游质量Hamilton回路模型,由于规定了费用1000元和时间7天,所以这是一个完整的0—1模型,通过对综合模型和结合Hamilton回路模型的运算最优通行费用表最少旅费临汾忻州吕梁太原阳泉晋中长治运城晋城三门峡临汾03740254524.535205523忻州3702618221934524653吕梁4026022.526.523383745.545太原251822.50181624413645阳泉455226.518018.5354345.553.5晋中24.519231618.5023.5412754长治353438243523.503652.539运城2052374143413602117晋城554645.53645.52752.521024.5三门峡2353454553.554391724.50编写基于Hamilton回路算法的C语言程序,输入上表数据,运行得出有时间限制又有费用限制的情况下,最优城市顺序为:①→⑥→⑤→④→③→⑧→⑩→①。城市之间的交通费=24.5+18.5+18+22.5+37+17+23=160.5(元)市内的交通费M=(元)餐饮费S=(元)住宿费N=2=120(元)9景点门票费=60+40+35+25+30+30=220(元)所以总旅行费用=160.5+180+120+280+220=960.5(元)模型结果分析针对该问题推荐最优旅游路线:①→⑥→⑤→④→③→⑧→⑩→①。旅游景点数:6旅游总费用:960.5元旅游总耗时:6天12小时(156小时)本文通过建立基于三边交换调整法的旅游路线模型和引入0—1模型进行规划,在一定的约束条件下为游客设计了近似最优旅行路线。由于用了0—1模型进行简化,建模和编程得以顺利完成;经后期检验,所得结果能满足题目的要求,最大程度减少了时间或资金的消耗,具有较好的实际意义。但由于数据量过于庞大,模型中为了方便研究又有一些假设,所以所得结果只是近似最优解。模型的评价本文根据游客的旅行路线进行了合理假设,简化了次要因素,把问题10转化为图论上最佳旅行商回路问题解决,思路比较清晰,模型恰当,得出的方案相对合理,使问题得到了比较合理的解决;成功的使用了0——1变量,使模型的建立和求解得以顺利进行。但是,由于数据庞大,对程序的要求很高,尽管经过了检验,但结果依然比较粗糙,有待进一步的改进。实际情况中,两景点之间的交通方式比较复杂,如公路、铁路、航班之间可以转换,增加这些考虑后,结果会更加合理。且数据资料搜集的不完整,有一定的局限性,准确性也有待商榷,而且没有对最终方案进行更为细致的研究讨论,这些方面还有待改进。参考文献[1]卢开澄,卢华明编著,图论及其应用,北京:清华大学出版社,1996。[2]刘来福,增文艺,数学模型与数学建模,北京师范大学出版社,1998。[3]刁在筠,郑汉鼎,运筹学,北京:高等教育出版社,2006.7。[4]列车时刻表,年5月1日。[5]长途客运站信息,年5月1日。