浅谈旅游线路的优化设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
旅游线路的优化设计
摘要
与时间T、在基本假设和符号说明的基础上,建立了最优线路R
m
花费S的函数F(S,T).对于第一问本文以十一个城市的经纬度坐标算得城市之间的距离,构造成完备图,进而用TSP算法,使用蚁群算法程序解得最优路径和最少费用为3394元并设计出行程表.
第二问以完全城市之间距离的最短时间为权重,运用0—1变量来控制住宿等不确定因素,使用lingo算法确定最优路径和最短时间为185小时.
第三问和第四问是建立在第一和第二问的基础上,添加约束条件S≤2000元T≤120小时,使用排除法得到最终结果:第三问的最少费用为1998元,游览城市8个,第四问的最短时间为107小时,游览城市7个;第五小问是第三和第四小问的有机整合,同时考虑时间和花费的约束,联系实际情况,得到最终结果为;最少费用1848元,对应的最短时间为103小时,游览城市为5个。
最后,给出模型的优点和缺点的说明。
关键字:完备图 蚁群算法 0—1规划 约束条件
一、问题重述
江苏徐州有一位旅游爱好者打算现在的今年的五月一日早上8点之后出发,到全国一些著名景点旅游,最后回到徐州。
由于跟团旅游会受到若干限制,他(她)打算自己作为背包客出游。
他预选了十个省市旅游景点,如表所示:
现假设:
省市 景点名称 在景点的最短停留时间
江苏 常州市恐龙园 4小时
山东 青岛市崂山风景区 6小时
北京 八达岭长城 3小时
山西 祁县乔家大院 3小时
河南 洛阳市龙门石窟 3小时
安徽 黄山市黄山 7小时
湖北 武汉市黄鹤楼 2小时
陕西 西安市秦始皇兵马俑2小时
江西 九江市庐山 7小时
浙江 舟山市普陀山 6小时
(A) 城际交通出行可以乘火车(含高铁)、长途汽车或飞机(不允许包车或包机),并且车票或机票可预订到。
(B) 市内交通出行可乘公交车(含专线大巴、小巴)、地铁或出租车。
(C) 旅游费用以网上公布为准,具体包括交通费、住宿费、景点门票(第一门票)。
晚上20:00至次日早晨7:00之间,如果在某地停留超过6小时,必须住宿,住宿费用不超过200元/天。
吃饭等其它费用60元/天。
(D) 假设景点的开放时间为8:00至18:00。
根据以上要求,针对如下的几种情况,为该旅游爱好者设计详细的行程表,该行程表应包括具体的交通信息(车次、航班号、起止时间、票价等)、宾馆地点和名称,门票费用,在景点的停留时间等信息。
(1) 如果时间不限,游客将十个景点全游览完,至少需要多少旅游费用?请建立相关数学模型并设计旅游行程表。
(2) 如果旅游费用不限,游客将十个景点全游览完,至少需要多少时间?请建立相关数学模型并设计旅游行程表。
(3) 如果这位游客准备2000元旅游费用,想尽可能多游览景点,请建立相关数学模型并设计旅游行程表。
(4) 如果这位游客只有5天的时间,想尽可能多游览景点,请建立相关数学模型并设计旅游行程表。
(5) 如果这位游客只有5天的时间和2000元的旅游费用,想尽可能多游览景点,请建立相关数学模型并设计旅游行程表。
二、问题分析
旅游最优路线问题已成为现今人们所感兴趣的话题之一。
本题通过给定相关资料和数据,要求为旅游爱好者设计最优路线,建立具体优化模型,最后求解最优行程表。
本题类似于旅行商问题(TSP问题),求解TSP问题的关键在于设计合适的优化算法【1】,主要包括分支定界法、改良回路法、贪婪算法、MST算法、插入法,蚁群算法、遗传算法,在算法的选取上,应该讲求合适便捷的准则。
基于本题的实际情况,可以按以下的求解过程实现:首先,建立以十一个城市为顶点的完全图。
对于第一问,题目要求遍历所有城市使得话费最小,为了解题方便,我们可以选取城市之间的距离作为相应点与点之间的权重,最后通过合适的算法求解最优路线并设计出最优行程表;对于第二问,题目要求遍历所有城市使得时间最小,通过改变第一问的权重(把距离改成完成这段距离的最短时间)即可实现;然后,第三问和第四问分别是在第一问和第二问的基础上,通过添加约束条件,即费用和时间的约束,即可求得最优线路,进而设计最优行程表;最后,第五问是建立在第三和第四小问基础上的有机组合,实现的方法是:在第三问所求得的结果的基础上,把第四问的约束条件添加进去,最后解得最优线路并设计最有行程表。
三、模型假设
1、不考虑班车和航班的推迟或取消,忽略天气影响或不可预测的事故;
2、把经纬度看成是平面坐标的两簇相互垂直的平行线;
3、旅馆处于非满客状态,即总可预订到房间;
4、在时间的认识上,把当天早上八点到次日的早上八点定义为一天;
5、不考虑实际生活中出现的堵车等车等不可知现象。
四、符号说明
d ij
城市i 与城市j 的图上距离
S 旅游总费用
p ij
第i 个城市到第j 个城市的交通费
Q
ij
第i 个城市到第j 个城市是否需要通车
T
ij
第个
i 城市到第j 个城市的时间
R
m
表示最优线路
五、模型建立
根据以上假设,把最优线路问题看成是时间和花费的函数,而时间和花费又是相互联系的,通过建立以下(0—1)变量,构造模型的目标函数、旅游费用函数 。
六、模型求解
第一问求解:
根据以上模型,本小问即是求解函数F T S,使得S取得最小值(设为S
min
),转化为TSP
问题,目标函数就是:
min d Q ij
n i n
j ij
11
根据相关资料得到各个城市的经纬度,以经度为横坐标,纬度为纵坐标,建立(经度—纬
度)坐标图像(图1)(见代码1):
图1
再运用欧拉距离公式:
22y y x x d i
j
i
j
ij
算得任意两点间的图上距离(表1)(代码2):
单位:CM
徐州 常州 青岛 北京 祁县 洛阳 黄山 武汉 西安 九江 舟山
徐州 0 3.6964 3.6157 5.7082 5.7729 4.7803 4.1771 4.7265 8.2500 4.7133 6.6644 常州 3.6964 0 4.02968 8.8474 9.4387 8.0541 2.4158 5.7812 11.2 761 4.49 07 2.97 24 青岛 3.6157 4.2968 0 5.4589 8.1033 8.0081 6.2746 8.1880 11.5215 7.7110 6.4102 北京 5.7082 8.8474 5.4589 0 4.8591 6.5885 9.8740 9.6427 9.3980 10.2218 11.5372 祁县 5.7729 9.4387 8.1033 4.8591 0 2.6623 9.2285 4.5796 8.14 18 12.4 02 4.78 03 洛阳 8.0554 8.0081 6.5885 2.6623 3.6623 0 7.2684 4.5792 3.5164 6.1154 10.9358 黄山 4.771 2.4158 6.2746 9.8740 9.2285 7.2684 0 3.8442 10.0550 2.2225 4.1658 武汉 4.7265 5.7812 8.1880 9.6427 7.1208 4.5792 3.8442 0 6.5416 108471 8.0089 西安 8.2500 11.2761 11.5215 9.3.980 4.5796 3.5164 10.0550 6.5416 0 8.3710 14.0254 九江 4.7133 4.4907 7.7110 10.2218 8.4718 6.1124 2.2225 1.8471 8.3710
0 6.3353
舟山 6.6644 2.9724 6.4102 11.5372 12.4102 10.9358 4.1658 8.0089 14.0254 6.3353
表1
并使用Floyd算法(见代码3)算得任意两点间的最短距离,构造以下图上最近距离矩阵为:
[0 3.6964 3.6157 5.7082 5.7729 4.7803 4.1771 4.7265 8.2500 4.7133 6.6644
3.6964 0
4.2968 8.8474 9.4387 8.0541 2.4158
5.7812 11.2761 4.4907 2.9724
3.6157
4.2968 0
5.4589 8.1033 8.0081
6.2746 8.1880 11.5215
7.7110 6.4102
5.7082 8.8474 5.4589 0 4.8591
6.5885 9.8740 9.6427 9.3980 10.2218 11.5372
5.7729 9.4387 8.1033 4.8591 0 2.6623 9.2285 1208 4.5796 8.4718 12.4102 4.7803 8.0541 8.0081
6.5885 2.6623 0
7.2684 4.5792 3.5164 6.1124 10.9358 4.1771 2.4158 6.2746 9.8740 9.2285 7.2684 0 3.8442 10.0550 2.2225 4.1658 4.7265 5.7812
8.1880
9.6427 7.1208 4.5792 3.8442 0 6.5416 1.8471 8.0089 8.2500 11.2761 11.5215 9.3980 4.5796 3.5164 10.0550 6.5416 0 8.3710 14.0254 4.7133 4.4907 7.7110 10.2218 8.4718 6.1124 2.2225 1.8471 8.3710 0 6.3353
6.6644 2.9724 6.4102 11.5372 12.4102 10.9358 4.1658 8.0089 14.0254 6.3353 0 ] 并对各个城市进行编号如下(表2):
城市 徐州 常州 青岛 北京 祁县 洛阳 黄山 武汉 西安 九江
舟山
编号 1
2 3 4 5 6 7 8 9 10 11 表2
根据以上图上最近距离矩阵,设计蚁群算法(见代码4),得到最优路线为(如图2所示): 到最优路线为:
R m =6 9 5 4 3 1 2 11 7 10 8
即:洛阳—西安—祁县—北京—青岛—徐州—常州—舟山—黄山—九江—武汉
图2。