《数学建模论文-旅游线路的优化设计.doc》由会员分享,可在线阅读,更多相关《数学建模论文-旅游线路的优化设计.doc(29页珍藏版)》请在金锄头文库上搜索。
1、一、 问题重述随着人们的生活不断提高,旅游已成为提高人们生活质量的重要活动。江苏徐州有一位旅游爱好者打算在今年的五月一日早上8点之后出发,到全国一些著名景点旅游,最后回到徐州。由于跟团旅游会受到若干限制,他(她)打算自己作为背包客出游。他预选了十个省市旅游景点,如附表1(见附录I)所示。假设(A)城际交通出行可以乘火车(含高铁)、长途汽车或飞机(不允许包车或包机),并且车票或机票可预订到。(B)市内交通出行可乘公交车(含专线大巴、小巴)、地铁或出租车。(C)旅游费用以网上公布为准,具体包括交通费、住宿费、景点门票(第一门票)。晚上20:00至次日早晨7:00之间,如果在某地停留超过6小时,必须
2、住宿,住宿费用不超过200元/天。吃饭等其它费用60元/天。(D)假设景点的开放时间为8:00至18:00。问题:根据以上要求,针对如下的几种情况,为该旅游爱好者设计详细的行程表,该行程表应包括具体的交通信息(车次、航班号、起止时间、票价等)、宾馆地点和名称,门票费用,在景点的停留时间等信息。(1) 如果时间不限,游客将十个景点全游览完,至少需要多少旅游费用?请建立相关数学模型并设计旅游行程表。(2) 如果旅游费用不限,游客将十个景点全游览完,至少需要多少时间?请建立相关数学模型并设计旅游行程表。(3) 如果这位游客准备2000元旅游费用,想尽可能多游览景点,请建立相关数学模型并设计旅游行程表
3、。(4) 如果这位游客只有5天的时间,想尽可能多游览景点,请建立相关数学模型并设计旅游行程表。(5) 如果这位游客只有5天的时间和2000元的旅游费用,想尽可能多游览景点,请建立相关数学模型并设计旅游行程表。二、 问题假设1、忽略乘坐出租车时经过收费路段所交的费用;2、在每个城市中停留时,难免会遇到等车、堵车等延时情况,在此问题中我们不做考虑;3、所有旅馆都未客满,并且忽略从旅馆到火车站或景点的时间;4、列车车次和飞机航班没有晚点等情况发生;5、列车和飞机的票足够,没有买不到票的情况发生;6、景点的开放,列车和航班的运营不受天气的影响;7、绘图时,经线和纬线近似平行分布;8、将城市和路径的关系
4、转化为图论问题;9、在时间的认识上,我们把当天的8点至次日的8点作为一天。三、 符号说明有向图矩阵城市路径要经过的城市总数任意两城市之间的距离是否经过两座城市路径上的信息量启发函数信息启发式因子期望启发式因子蚂蚁在时刻由城市转向城市的转移概率第只蚂蚁的禁忌搜索表信息素挥发系数时刻蚂蚁在路径上留下的信息素量到目前为止所找到的全局最短路径长度蚂蚁携带的信息素量本次循环中第只蚂蚁所走的路程长度蚂蚁的总数量蚂蚁的编号所记录的循环次数最大循环次数四、 问题分析4.1问题一的分析针对问题一,要求求出将旅游景点全游览完,所需的最少旅游费用。这和问题,即旅行商问题有些类似,所以本文将问题向问题进行一定的转化,
5、从而进行求解。因为运用传统的动态规划解法,解法的空间复杂性和时间复杂性都十分庞大,不利于求解,所以采用蚁群算法,通过计算机软件进行编程得到路程最短的旅行路线。因题目要求时间不限,用最少的旅游费用游览全部景点,而考虑到不同交通工具的速度和票价都不相同,各个旅馆的住宿费用也不相同,所以我们对其行程进行详细的安排,尽量减少其在交通和住宿上的费用,减少不必要的花费。最后得出一个最少旅游费用的旅游行程表。4.2问题二的分析针对问题二,要求求出将旅游景点全游览完,所需的最少时间。因为考虑到交通工具的不同导致时间上的差异问题,所以仅用问题一的模型不能求解。但是由于任意两座城市之间都能相连接起来,且每座城市只
6、经过一次,所以将任意两座城市之间的路程转变为时间,建立最优化模型,通过计算机软件进行编程,到时间最短的旅游路线。然后,根据题目要求,再对其行程进行详细的安排,尽量避免不必要的时间。最后得出一个最短时间的旅游行程表。4.3问题三的分析针对问题三,题目给出了限制条件,旅游费用不超过2000元。只用2000元游览完全部景点是不可能的,所以我们对其行程进行优化。首先,将问题一的旅游行程根据旅游景点和交通路线划分成21个部分(包括10个景点和11条交通线路),并计算出每一个部分所要花费的旅游费用。然后,对旅游行程进行优化计算,为了简化运算,我们假设交通线路上花费的费用只是简单相加。通过除去旅游景点计算出
7、2000元以下的费用最优解。最后得出一个2000元以下的旅游行程表。4.4问题四的分析针对问题四,题目也给出了限制条件,旅游时间不超过5天。只用5天游览完全部景点是不可能的,所以我们对其行程进行优化。解法与问题三大致相同。首先,对问题二的旅游行程也根据旅游景点和交通路线划分成21部分(包括10个景点和11条交通线路),并计算出每一个部分所要花费的时间。然后,对旅游行程进行优化计算,为了简化运算,我们假设交通线路上花费的时间只是简单相加。通过除去旅游景点计算出5天以内的时间最优解。最后得出一个5天以内的旅游行程表4.5问题五的分析针对问题五,题目给出了两个限制条件,旅游费用不超过2000元,并且
8、旅游时间在5天以内。只用5天和2000元游览完10个景点是不可能的,所以我们对其进行优化。由于飞机价格非常高,所以我们基于第三问,并且结合第四问的数据对其进行优化。首先,对旅游行程也根据旅游景点和交通路线划分成21部分(包括10个景点和11条交通线路),并计算出每一部分所要花费的时间和费用。然后,对旅游行程进行优化计算,为了简化运算,我们假设交通线路上花费的时间和费用只是简单相加。通过除去旅游景点计算出2000元以下和5天以内的时间最优解。最后得出一个最优旅游行程表。五、 模型的建立与求解5.1问题一的求解5.1.1建立图论的数学模型将各个旅游景点之间的关系转化为图论问题,并做以下分析:建立有
9、向图。其中称为图的顶点集,中的每一个元素称为该图的一个顶点,在该题中表示城市;称为图的弧集,中的每个元素称为该图的一条从到的弧,在此题中表示各个城市两两连线的集合。1设城市个数为,表示两个城市与之间的距离,0或1(1表示走过城市到城市的路,0表示没有选择走这条路)。本题可以向问题进行转化,则问题的数学模型为:5.1.2建立蚂蚁算法的数学模型(1)状态转移规则因为蚂蚁不能重复经过一个城市,所以建立禁忌表来记录蚂蚁走过的城市,禁忌表随着时间做动态变化。建立蚂蚁由城市转移到城市的状态转移概率如下: (1)上式中为信息启发式因子,表示路径的相对重要性,是对所积累的信息素影响作用的一个加权值;为期望启发
10、式因子,表示能见度的相对重要性;每只蚂蚁必须依据以城市距离和连接边上信息素的数量为变量的概率函数,决定选择下一个城市的概率。每只蚂蚁必须根据禁忌表和概率函数寻找下一个城市,以保证该蚂蚁从起点出发经过所有城市有且只有一次,并且最终返回到起点。(2)信息素的全局更新规则当只蚂蚁成功的完成一次寻径过程之后,将选出目标函数值最小的路径,用以完成全局信息素的更新,使得较优解保留下来,对后继蚂蚁产生影响,加快收敛到最优解的速度。设,为两个相连接点,则有: (2)其中,变量是在时刻,节点之间路上信息素的增加量是位于0,1上的“激素”挥发因子;为到目前为止所找到全局最短路径长度。(3)信息素的局部更新对于第只
11、蚂蚁,在建立一个解得过程中也同时进行激素迹的更新,如果节点是它所选择路径上的两个相邻节点,规则如下:否则,不更新。其中,是各条路上的信息素的初始值,通常取同一值,表示同一环境。信息素的更新策略有很多种方法,每种更新策略的主要差别体现在的求法上。我们规定蚂蚁在完成一个循环后更新所有路径上的信息素,其方程式为: (3)上式中表示蚂蚁携带信息素的量,其值的大小影响算法的收敛速度;表示第只蚂蚁在本次循环中所走的路程总长度。5.1.3基于蚁群算法的实现步骤2本题基于蚁群算法的实现步骤如下:初始化。时间,循环次数,设置最大循环次数为,;:循环次数;:蚂蚁个数;:蚂蚁选择可以到达的城市,按照状态转移规则移动
12、到下一个城市;:对于城市,由于已经到达,所以添加到禁忌表中;:判断所有城市是否都经过,若未完全经过,表明蚂蚁个数没有达到,则转向执行,否则执行; :由于信息素改变,要求按照公式(2)(3)更新最短路径信息素,使得较优解保留,加快收敛到最优解的速度;:若表明没有满足终止条件,即转向执行,否则执行;:输出最优结果。5.1.4模型的求解(1)求解城市之间的距离首先,假设经线和纬线近似平行分布,根据附表2(见附录I)可知11座城市的经纬坐标。建立直角坐标系,以纬度最低的城市所在的纬线为轴,以经度最小的城市所在的经线为轴,计算11座城市的坐标。将城市进行编号,计算相应城市间的距离得到附表3(见附录I),
13、得到编程数据(见附录II)。(2)求解最短路径利用上述蚁群算法的步骤,使用附录II的数据,编写程序,得出以下结果:Shortest_Route =6 9 5 4 3 1 2 11 7 10 8图一:模拟图对上述结果进行处理,根据城市编号求出最优解为:徐州常州舟山黄山九江武汉洛阳西安祁县北京青岛徐州由上面结果可以在中国地图上模拟出最短路线,如下:图二:问题一模拟路径图5.1.5设计旅游行程表和求出总费用我们根据蚁群算法得出游览全部景点的最短路径,在得出的最短路径的基础上,我们通过查阅火车票价、车次、运营时间,宾馆价格、名称等大量资料和数据,尽可能的减少其在行程上的花费,设计出如下旅游行程表:表一
14、:问题一行程表(其余答案参见附录III)日期时间行程价格(元)5月1日8:3015:45乘坐L8449次列车(徐州常州)3416:0021:00游览常州市021:007:00住宿于常州蓝色快舟营销人连锁旅店1205月2日7:008:00乘坐公交去中华恐龙园48:0016:00游览中华恐龙园16016:0017:00乘坐公交返回417:0022:30游览常州市022:305:20乘坐K75次列车(常州宁波)735月3日5:308:00乘坐758W公交到白峰码头乘坐船到普陀山168:0014:00游览普陀山20014:0016:00返回宁波站1616:0022:15乘坐K8500次列车(宁波宣城)6322:151:30候车0并且得出最少的总旅游费用为3438元。5.2问题二的求解5.2.1模型的建立基于第一问的模型,我们稍作改进。因为第二问要求安排时间最短的旅游行程表,而费用不限,由于飞机费用过大,所以在第一问我们未做考虑,但由于其时间比火车和汽车都要快的多,所以我们把飞机作为首要考虑对象加入第二问中。第一问的模型中,是把任意两点之间的距离作为参数,从而进行求解,得出最短路径。在第二问中,我们把任意两点之间的所乘坐的交通工具的最短时间作为参数,建立时间最优化模型,结合软件(程序见附录III)求出经过所有旅游景点的花费时间最短的路线