数学建模旅游问题C4.docx

上传人:b****6 文档编号:8494545 上传时间:2023-01-31 格式:DOCX 页数:48 大小:724.40KB
下载 相关 举报
数学建模旅游问题C4.docx_第1页
第1页 / 共48页
数学建模旅游问题C4.docx_第2页
第2页 / 共48页
数学建模旅游问题C4.docx_第3页
第3页 / 共48页
数学建模旅游问题C4.docx_第4页
第4页 / 共48页
数学建模旅游问题C4.docx_第5页
第5页 / 共48页
点击查看更多>>
下载资源
资源描述

数学建模旅游问题C4.docx

《数学建模旅游问题C4.docx》由会员分享,可在线阅读,更多相关《数学建模旅游问题C4.docx(48页珍藏版)》请在冰豆网上搜索。

数学建模旅游问题C4.docx

数学建模旅游问题C4

摘要:

新疆地域广阔,旅游资源繁多,本文以节约费用或时间为目标,分别为自助游、考察等具体情况安排了旅游线路,并为“五一旅游黄金周”设计线路,缓解景区客流高峰及提高接待质量。

我们采集了全疆共33个景点景区的数据,其中不乏有十分接近的,故我们按地理位置将它们进行聚类,最终得到20大景区。

接着,建立在交通费用与路线长度成正比、不同景点的住宿费用相等、车辆行驶于公路铁路的时速恒定等假设条件下,我们先用Floyd算法求出了景区两两间的最短路径,接着用蚁群算法估计了遍历所有景区所花费的时间总和,为下文设计合理的线路做准备。

对第一问,通过简单计算我们发现,单位时间内游览景区的花费要小于往返景区途中的花费,亦即:

花最少的钱与游尽可能多的地方这两个目标在本题中是统一的。

为此,我们提出了一个以确定一条游览尽可能多景区的旅游线路为目标、游览总时间为约束的0-1整数规划模型,利用LINGO软件估计了解的下限,用遗传算法求得了最优解:

两人一个月时间花费约6100元游览17个景区。

对第二问,根据蚁群算法的结果可知,只要适当安排我们便可以在2个月内完成对新疆所有景区的游览。

为此我们从两种思考的角度,建立了不同的模型来求解交通费用的最省问题。

首先我们以两次旅游的路程长度之和为适应度函数用遗传算法求出了包含所有景区的两条路径,并使它们的路径长之和最短。

接着,我们利用景点分布图固有的特点,从简化图的角度将20个点的连通图化为一个只包含6个顶点的图,并用枚举法将可能的5种结果逐一计算,求得最佳线路。

在处理考察任务问题时,由于考察景区所花费的时间远大于在景区间往返的时间,所以我们首先忽略路程上的花费,将如何安排三个考察组抽象成一个线性规划问题,以最小化三个考察小组的最长耗时为目标并用LINGO软件求解,得到一些目标函数值相同但考察景区不同的最优解,在此基础上,我们将路程耗时纳入考虑之列,再一次使用遗传算法,目的是求得更精确的解。

对第四问,即设计“五一黄金周”旅游线路问题,我们以错开游客高峰、景区利用率尽量高、同一线路的景区跨越尽可能小、线路多且丰富等条件作为安排线路的目标来设计算法,在给出14条黄金游线路的同时,又对问题加以进一步完善,即利用剩余资源开辟了一些5-6天的短途游线路,以充分利用旅游资源并满足不同游客的不同要求。

在模型与软件的展望部分,我们阐述了规划模型、蚁群模型与遗传算法模型等的特点及其他应用领域,也将文章中运用的四种软件:

马克威分析系统、LINGO、Excel以及MATLAB软件的特点和扩展做了逐一的介绍。

本文的优点是充分将规划与遗传算法相结合,突出规划模型意义的同时也发挥了遗传算法高效的特点。

同时,较好的数据预处理与蚁群算法的环游估计都为解决问题做了铺垫。

另外,设计黄金周旅游线路时,我们不仅考虑了丰富多彩10日以上旅游线路,也辅之以一些中短规模的旅游路线,为游客提供了更多的选择余地。

值得一提的是,本文还综合运用了四种软件。

关键字:

聚类、最短路、蚁群算法、遗传算法、线性规划、枚举法、

马克威分析系统、LINGO、Excel、MATLAB。

 

一、问题的重述:

随着近年来旅游业的不断发展,我国新疆的天池、达坂城、吐鲁番、楼兰古城、伊犁等等的异域风情,越来越吸引着广大的游客。

在本文中,我们要完成以下几个关于旅游路线设计的问题:

1.在科学估算旅游费用的基础上,以总成本尽量小为目标,设计一条在一个月(计30天)的时间里,游尽可能多的地方的旅游路线。

(吃饭费用不计)

2.以在各景点间的交通费用尽量小为目标,设计两条互不重叠的旅游路线,路线各为期一个月,且其合集包含新疆所有景点。

3.设计三条互不重叠的旅游考察路线,在每个景点考察的时间是旅游观光时间的四倍,用于交通的时间则不变,要求三条考察路线各自所用时间的最大值尽可能小。

4.设计若干条为期十二天的黄金周旅游路线,以分散游客,提高景点的接待质量,设参加这些旅游路线的游客人数与整条路线的接待能力成比例。

5.(对题目的进一步完善)对于上面第4个问题,考虑到新疆旅游实际问题的复杂性,除了设计一些为期12天的旅游路线外,还可以适当的设计一些短期的旅游线路,这样既可以方便游客、给他们提供了更多的选择,又可以充分利用各景区的旅游资源,避免其闲置。

二、问题的分析

在收集新疆各个主要旅游景点之间的路程、各个景点的最佳逗留时间等信息的基础上,我们将问题做以如下的分析和抽象:

因为新疆的旅游景点众多,所处的地理位置也不相同,从旅游路线设计的实际出发,显然要考虑到哪些景点相距较近,可以同时游览,因而,我们需要将新疆境内的所有主要的旅游景点按照经纬度及是否可以直接连通予以分组。

所以本文中我们首先采用聚类分析的方法,运用马克威软件将各景点归为若干景区,以便于下一步的分析。

另外,由于路程、时间、价格三者因素之间关系错综复杂,我们希望能得到一个统一的标准,所以,我们把路程都化为时间和价格,并寻找后两者的关系,使问题简化。

对于第一小题,这一“最值”是某一固定时间内的最小费用,景区数则不要求遍历而只是越多越好。

为此可以建立一个考虑逗留时间和路途时间的规划问题,目标是希望遍历的景点尽量多,而约束则是限定一个月的时间。

而第二小题与第三小题可以说是第一小题中同时考虑逗留时间与路途时间的引申。

在第二小题中由于有要求两个暑假游览所有的景点,则景点上的花费一定,我们只需要考虑使路途时间最少(即交通费用最小),这样也使得总费用最小。

而第三小题,由于逗留时间远远大于路途时间,我们简化时可以只考虑逗留时间。

当然,为了进一步求解更精确的解,在只考虑逗留时间的简化模型之后,我们还应将路途时间加入。

第四小题的处理方法则有些不同,因为增加了一些新的约束类型,考虑到景区所能够承受的游客流量,同一时刻不能有过多的游客游览同一景点,我们所要做的就是尽量错开游客的旅行线路,使每一时刻,各景点都接待其承受能力之内的游客,并尽可能丰富地设计旅游线路。

总之,对于旅游线路的规划问题,我们在一定程度上都可以将其抽象成一个求最短“路”的问题,只不过这里的路常常不单指路程,而还包括时间,费用等等方面。

不同的问题,可以通过添加不同的约束条件予以描述。

将实际问题抽象成一个规划模型的方法在某种程度上是很相似的,但是,对于抽象出的这些规划问题,具体的求解办法,则是多种多样的。

三、基本假设

1、为了尽量节约费用,由于飞机的价格要远高于铁路和公路,而后两者基本相同。

所以在新疆境内的交通费用,以铁路票价为主,没有开通铁路的线路,则以公路票价为主;

2、对于公路的收费没有明确标价的路段,以两个旅游点之间的公路里程(km)除以平均时速(60km/h)进行估算。

对于少数公路也欠发达的地区,则以速度折半为30km/h估算;

3、假设在新疆的所有景点中,对任何的A、B两个景点,从A到B所需花在路上的时间与从B到A的相同,即忽略例如由于列车停靠站不同所造成的运行时间上的一些差异;

4、暑假的一个月为31天,考虑到往返新疆的时间,故花费在新疆境内的旅游时间以30天计;

5、在新疆境内各旅游景区的住宿费用均为一个定值:

RMB150/标准间(两人)/天;

6、设旅游途中的休息调整时间合并在每个景点的观光逗留时间之内,不再予以单独的计算;

7、不考虑交通费用在白天和夜晚的区别,(如火车硬座与卧铺价格上的差异等)均以最低价格即硬座票价计算。

8、对于旅行社推出的旅游线路的设计,与自助游不同,我们认为其主要目标不在于节省费用而在于多游览美景和旅途的舒适,因此假设在新疆省内白天的时间都用来游玩,景区间的行程则采用飞机(时间短故可忽略)连接或在晚间乘车抵达。

9、假设铁路和公路交通费用的票价,与行驶的里程近似成线性关系,而又因为列车或汽车时速也是一定的,这样,某一段路程需要的交通费用也与其时间呈近似的线性关系,这样,求最小费用,也即求最短路线。

注:

假设9的依据:

我们对部分景点间往返的时间和费用进行采样,并作回归分析如下页图所示:

(R平方为0.9819,F值为595.6604,说明两者呈很强的线性关系。

几乎可以认为交通费用与路程成正比。

(图1:

价格—距离采样关系图)

 

四、数据预处理及问题的初步探究

1、数据采集及由景点向景区的聚类

[新疆境内的33个旅游景点名称及其相应的观光逗留时间,经、纬度等数据,见附录1]

我们先用聚类分析方法将上述33个旅游景点予以分组。

所谓聚类分析,就是把一个给定的数据对象集合分成若干个不同的数据对象的集合,这里,我们将它作为接下来的蚁群算法的一个数据预处理步骤。

因为聚类是一种无监督分类法,并没有预先指定的类别,因此,采用聚类分析,我们可以更加客观地了解各个景点的分布状况,并对新疆的这些旅游景点进行分组和归类。

以上述1至33的景点为分类单元,根据它们的经纬度,运用马克威软件进行聚类[1],可得到一分组结果如下图:

(图2:

聚类结果图)

除了乌鲁木齐、阿图什、喀什等大城市不受分类限制,将以独立身份计入旅游景区外,其余的旅游景点按照上图中分割线左侧的聚类方案,可以组合成20个景区。

例如,序号分别为27、29、30、31的苏丹·沙图克麻扎、喀什、香妃墓、艾提尕清真寺这4处景点,按照上图中的聚类可以归在一处用喀什景区来代表,等等。

这样,我们就可以将33个景点归结为20个景区,合并后各景区的观光时间等详细信息可列表如下:

 

景区

景区逗留时间

1

阿勒泰

2.5

2

塔城

1

3

克拉玛依

0.5

4

博乐

4

5

石河子

1

6

昌吉

1

7

乌鲁木齐

1.5

8

天山

1

9

伊犁

1.5

10

天鹅湖

0.5

11

吐鲁番

1.5

12

哈密

2

13

库车大寺

1

14

库尔勒

1

15

阿克苏

1

16

楼兰

5

17

阿图什

0.75

18

喀什

2.25

19

尼雅遗址

3

20

和田

1

(表1:

20个景区逗留时间一览)

这20个景区的地理位置分布和相互间的道路连通情况可以如下图所示,其中各个标明序号的结点上方的墨绿色数字表示在该景区的逗留时间。

(图3:

景点分布及逗留时间图)

2、用蚁群算法初步求得的遍历时间

尽管上述所示的景区道路图是连通图,但并不是任意两个景区间都存在直接连通的。

因为需要计算的是在景区内的逗留时间和路上的消耗时间,所以,我们希望得到任意两个景区间的最短通路,这样,当需要跨越某一景区而到达相对较远的另一景区时,可以有直接的通路,这将使问题更直观和简便。

因此,我们运用Floyd算法,首先要做的是将这20个景区之间两两的最短时间计算出来,得到一个20*20的时间矩阵如下所示。

根据我们前面的假设3,这是一个对称矩阵,矩阵元素的单位为小时。

[矩阵见附录2]

根据上述的景区间最短时间矩阵,运用带精英蚂蚁的蚁群算法[2]编制程序,我们可以求得要遍历所有的景区,需要在路上花费的最小时间。

以此,再结合各个景区的观光逗留时间,则可以得到遍历所有景区的总时间,根据它我们可以估算若要游览新疆的全部各个旅游景点,需要花费的时间是多少,为本题后面的处理做一估计。

蚁群算法的运行图示如下:

最终可得到如下的结果:

通过2.859000秒的计算,我们得到最少环游时间:

292.44小时=12.18天。

与其相对应的最短环路是:

16

14

11

12

8

7

6

5

3

1

2

4

10

9

13

15

17

18

20

19

16

而游览所有聚类后的景区总时间为一定值:

33天,所以:

总时间=最短环游时间+逗留时间=12.18+33=45.18天

这个结果的意义在于,它告诉我们要想在一个月即30天内遍历所有的景区是不可能实现的,并给出了一个十分有参考价值的数据。

因此对于第一问,我们要选择合适的线路,从而可以游览尽量多的景区。

而由于总时间小于60天,也即我们是可以在2个月内完成对所有景区的考察,第二问也就自然会有可行解。

再注意到,如果逗留时间是33天的4倍,即132天,则考察时间就将会是环游所需总时间的10倍以上。

这就启发我们对于第三问,可以先忽略环游时间计算一个近似最优解,再在此基础上逐步地加以完善。

 

五、模型的建立与求解

模型一:

通过比较各种交通费用,我们可以发现,在新疆境内选择飞机出游的花费要远高于铁路和公路的费用,出于节约费用的目的,并且考虑到许多景点都是远离机场的,飞机的优势也并不明显,为此,我们首先摈弃乘坐飞机。

此外,选择铁路的性价比要略高于选择公路,但新疆境内的铁路很有限。

所以,若两景点之间同时存在铁路和公路将它们相连通,则选择铁路,而若仅有公路则只能选择公路。

另一方面,通过计算公路交通的费用,结合公路里程、客车行驶时间和可以发现,如果某天24小时都花费在往返若干城市的路途上,则两个人的花费要超过330元,但是如果某天是停留在某个景点游玩的话,日均游玩费与住宿费之和大约只有280元,所以从这个角度来考虑问题的话,花最少的钱实际上去游尽可能多的景点是一致的。

我们的目标就是避免在途中过多的耽误时间,从而使游玩时间减少。

建立在总费用=住宿游览费用+路程开支的基本假设之上,我们建立了如下的线性规划模型:

对于聚类后得到的20个景区的问题,我们引入一个

的矩阵

,其中的元素

为0-1变量,当

时表示我们制定的路线包含从景区

直接到景区

,否则不包含景区

直接到

,我们希望整个游览线路包含尽量多的城市,也即最大化目标函数:

对于约束条件,

约束条件1:

由于每个景点最多参观一次,所以,矩阵

的每行与每列之和均为0或者1;

约束条件2:

当而为了保证整条链的连通性,即使出现两条以上不相连通的链,我们要求每行之和与每列之和相等。

约束条件3:

为了满足总的时间小于一个月,还需要增加时间上约束条件。

故,完整的线性规划模型为:

(其中

是第j个景区的逗留时间)

我们用Lingo软件对其进行求解[5],但是很遗憾,由于较多的变量及复杂的约束,程序无法在短时间内完成。

好在隐枚举方法给了我们启示,发现可以找到一条至少包含17个城市的链,所以,根据这一启发,我们下面运用擅长处理NP完全问题的遗传算法来重新求解这一问题。

算法的思想是:

通过模拟自然选择和遗传中发生的复制、交叉和变异等现象,从任一初始种群出发,通过随机选择、交叉和变异操作,产生一群更适应环境的个体,使群体进化到搜索空间中越来越好的区域,这样一代代地不断繁衍进化,最后收敛到一群最适应环境的个体,求得问题的最优解。

既然线性规划模型已经告诉我们,至少可以找到一条包含17个景区的链,那么我们只需从N=17开始找一条包含N个景区的最小耗时链,若对于某一N(

),最小耗时链的总长大于720分钟,那么一个月内最多可游览的景区即为N-1。

下面,我们对遗传算子进行设计:

定义个体:

我们以一个1行20列的行向量为一个个体。

其中,前N列表示一个月内所遍历的景区的链;后20-N列表示剩下的未遍历的景区。

若干个这样的个体组成一个种群。

选择运算:

根据适应度的高低进行优胜劣汰的选择。

在这里,遍历前N个景区道的路上的花费时间以及停留在这N个景区的逗留时间之和越短,适应度越高。

对不同适应度分配一个被进化的概率。

适应度越高,被选择进化到下一代的概率也越大。

交叉运算:

交叉的方法有很多种,在这里我们对两两个体以一定概率pm(0.6~0.95)决定是否进行交叉运算,若进行,则采取CX方法[4],若否,则保留这两个个体。

变异运算:

变异的方法也有许多种,在这里,我们分别考察每一个个体,并以一个小概率pc(0.05~0.15)决定是否进行变异运算,若进行,则采取倒位变异,若否,则保留该个体。

适应度计算:

以游览景区个数多少来评价适应度,游览的景区越多则适应度越高。

 

模型的结果与分析:

多次调整参数,运行遗传算法程序,我们得到一条遍历17个景区的链:

7

8

6

5

2

1

3

10

9

13

15

17

18

20

14

11

12

而另三个景区4、19、16则不访问。

遍历这条链的总时间花费为642.5700小时,大约27天。

(图4:

遗传算法性能追踪图)

我们再尝试N=18的情况,但是,遗传算法的结果告诉我们,无法找到一条遍历18个景区的链,使总的时间开支小于720小时。

所以,两个人在暑假一个月内花最少的钱最多可以游17个景区。

费用:

交通费用:

717

景点住宿费用:

21*150

景点游玩费用:

1120*2

则总费用:

6107/两人

模型二:

2.1遗传算法的求解

根据第一小题的结果,我们发现,如果以与之前相同的出行方式显然不能在一个月之内遍历所有的20个景区,但是,在引言部分,我们也计算出,遍历所有景区与往返景区路途中的总时间是45.18天,这说明分两个月完成游览是完全可以的。

由于两个月之内,我们会遍历所有的景区,所以在景区上的开支是恒定的,所以,如何安排两个月所分别游览的景区,使交通费用最省也即是使总费用最省。

受第一小题的启发,我们依然想到运用遗传算法进行求解。

选择、交叉、变异函数不变,适应度函数定义为两次游览的总交通费用的倒数,这样,用于交通的费用越少,适应度就越高,个体就越能遗传到下一代。

由于景区总数只有20个,所以,我们下面采用一种分类遗传的方法,这样可以使结果更精确也可以使计算效率提高。

做法是:

将20个城市分为两部分,第一个暑假考察N个景区,第二个暑假考察20-N个景区,N从3开始到17(如果N小于3的话会导致不满足约束条件,即出现一个暑假游览所花费的时间大于30天),同时考虑到乌鲁木齐是省会,很多游览天山、昌吉等景区的旅行线路都是以乌鲁木齐为出发点的,所以为更切合实际,在这里我们也要求第一个暑假从乌鲁木齐出发(当然,这不是必要条件,我们后面采用的方法即不需要满足此条件)。

对每一个给定的N用一次遗传算法。

最后将每个N对应的交通上花费的时间作比较,我们发现,N从7到13所花费的时间较其他更少一些,故,作

的柱状图如下:

(图5:

景区数量安排与耗时关系图)

模型的结果与分析:

从上图的结果,我们可以看到:

当两个月各访问10个景点,并且按照我们列出的顺序访问,路上时间最少,而路途耗时与交通费几乎成正比,从而交通费也最省。

我们给出一组最优线路:

第一个暑假

7

8

6

5

4

9

10

1

3

2

第二个暑假

12

11

14

13

15

17

18

20

19

16

 

遗传算法的效果和求解能力都能达到我们所期望的,但是对于这一问题固有的特性,我们也可以直接从图的角度来建立模型:

2.2从图的角度直观求解

两次暑假遍历所有的景区,也即是将原来20个景区的连通图分割成两个子图,并找出两条互不重叠的旅游路线。

针对问题的特殊性,我们分如下几步来处理问题:

第一步,不断地剪去图中所有度为1的顶点,即编号为:

2、8、9、11、12、16、19的点(11是因为剪去12后它成为了度为1的顶点)。

因为我们参观这类景区的时候,进出必然沿同一条线路,花费在这些路上的时间是不可缩减的。

所以,在我们的最节约时间方案中一定会包含这些路径,故寻找最短路径的时候可以暂时将其从图上去除。

第二步,我们将度为2的顶点去除,但保留原来的路,即编号为:

1、4、6、15、17、18、20的点。

原因与第一步类似,因为对于这类顶点,一般来说,游览它们的时候,是从顶点的一条边进入而从另一条边离开,所以,通过这类顶点的路径也是确定的,对我们所需要寻找的最短路径不会产生影响,可以暂时将其从图上去除。

执行这两步之后,得到如下结果:

(图6:

简化后的景点图)

 

我们发现,余下的顶点的度数都大于等于3。

我们把被去除的顶点“附属于”某一个度数大于等于3的顶点,即如果我们到达某个顶点x,我们就要遍历它的“附属”点。

要分割原先的图,并找出不重叠的两条路线就要选择如何分割这些度数大于等于3的顶点。

模型的结果与分析:

由于数据量较少,我们用枚举的方式得出了五种较为合理的分组方式。

分组

情况一

情况二

情况三

情况四

情况五

Group1

1—10

1—12、14

1—8

1—8、11、12、14

1—6、9、10

Group2

11—20

13、15—20

9—20

9101315—20

7,8,11—20

情况一:

Group1

2

3

1

7

8

6

5

4

10

9

Group2

12

11

14

13

15

17

18

20

19

16

情况二:

Group1

2

1

3

9

10

4

5

6

7

8

14

11

12

Group2

13

15

17

18

20

19

16

情况三:

Group1

2

3

1

8

7

6

5

4

Group2

12

11

14

13

10

9

15

17

18

20

19

16

情况四:

Group1

2

1

3

4

5

6

7

8

14

11

12

Group2

9

10

13

15

17

18

20

19

16

情况五:

Group1

2

1

3

5

6

4

10

9

Group2

12

11

14

7

8

13

15

17

18

20

19

16

由上面五组游览方案,我们分别计算它们的游览时间以及所需的路费,可以得到如下表的结果:

单位(小时)

情况一

情况二

情况三

情况四

情况五

Group1

57.37

107.03

45.17

91.89

53.41

Group2

103.3

64.15

126.51

76.95

130.75

总时间

160.7

171.18

171.68

168.84

184.16

价格(元)

Group1

292.3

573.4

220.1

511.8

270

Group2

694.3

465.9

845.7

541.6

841.3

Sum

986.6

1039.3

1065.8

1053.4

1111.3

由上表,我们发现,情况一中所消耗的时间最短,所需的费用相应也最少。

因此,我们认为,安排两个月的旅游线路最佳的分配方式由情况一的分组给出,具体的线路图可以表示如下:

(图7:

最佳线路安排图)

模型三:

3.1简化的模型

由于考察分三组进行,故我们可以把整个西藏的景区分为三部分,三个考察小组各考察一个部分,设他们考察所花费的时间分别为

,完成整个考察工作是指三个小组都完成各自的考察任务,所以,尽早的完成考察也就是使三个小组完成考察时间的最大值最小,即:

引言中,我们已经通过蚁群算法计算出环游全部景区

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1