张志雄 费理源 廖宇
摘要:本文在对苏州市古城区内主要景点基础信息进行采集的基础上,综合考虑游览耗时和线路耗时等因素,基于优化后的蚁群算法对苏州古城徒步旅游线路进行规划。基于蚁群算法的苏州古城徒步旅游线路规划能够得到最优旅游线路,整体运算运行效率高、速度较快,能满足日后进一步开发规划的需求。
关键词:蚁群算法;旅游;线路;规划
作为始建于2500多年前的苏州古城,苏州有着深厚的文化底蕴,文物古迹众多,在古城区中就聚集了大量的历史古迹。如何规划游览这些分散在苏州大街小巷中的古迹、有效地安排旅游线路、提升游客的旅游质量和旅游效率,在智慧旅游的设计中十分必要。特别是在散客时代,主流的旅游线路可能无法满足游客的需求。目前,对苏州古城旅游线路规划的研究成果还较为缺乏,还未能提供线路规划等个性化的服务。在数据丰富和网络快速发展的今天,站在游客的角度,不断优化旅游资源,对提升旅游质量和城市魅力有着重要的意义。
因此,关于苏州古城徒步旅游线路规划的研究有利于优化文旅资源配置,有利于实现文旅资源共享共用;增加旅游公共服务的供给,是面向散客时代,打造旅游与城市充分融合的有效途径;突出“以苏州园林为名片、苏州古城为核心”,促进文旅融合,满足深度体验的需要;提升市民和游客对全域旅游的感受度。
一、基本思路
考虑到蚁群算法是有较强的并行性、鲁棒性,比较容易与其它方法融合,更重要的是蚁群算法很好地结合了贪婪式搜索、正反馈机制以及分布式计算,能够很好地避免早熟收敛等问题出现,同时具备高效的搜索及优解能力,因此本研究选择将蚁群算法应用于旅游路线规划中。在徒步的旅游方式下,对苏州市古城区内43个主要景点基础信息进行采集,综合考虑游览耗时和线路耗时等因素,基于蚁群算法试图规划苏州古城徒步旅游线路。
二、数据分析与整理
通过调研整理出苏州市古城区内43个主要景点的清单,这些景点涵盖了古城内的主要苏州园林、博物馆、寺庙、古城门、历史文化名街等类型。接着对43个景点基础信息进行采集,包括了特征标记、季节性特征标记、游览平均用时、门票价格、地址等(详见附表1)。在此基础之上再把43个景点两两配对,测算了来回徒步用时,共生成1806个结果作为基本数据。
三、模型的优化与求解
(一)模型优化
1.优化方向
利用蚁群算法规划苏州古城徒步旅游线路,对蚁群算法的优化方向主要考虑两点:景点和推荐主题的吻合度、交通在总用时的占比。此外,考虑到旅行用时较长,未来可能需要兼容餐饮等方面的需要,所以在算法中增加了在特定时间段对特定景点的优化增强。即算法在第i个景点选择通过路径(i,j)去往下一个景点j时,首先是计算:Evaluate=weight_preferably*Scenery(j).preferably+weight_traffic*Path(i,j).time。其中,路径时间需先经过归一化处理。推荐度权重为0.5,交通时间占比权重为0.3,而在挑选景点j时,同时会用时间段匹配度对j的信息素进行修正,即:Info(j)*=judgeTime(j)/thresholdTimeJudeg^2。時间吻合度门限为0.3,则按蚁群算法,最终景点j被选中的概率为:Info(j)*Evaluate^2/∑(j)
2.约束
在路径选择中存在两个硬约束,即总用时和总费用。考虑到这两者都是有一定弹性的,所以我们对两者采取了不同的约束策略:总用时在指定用时上下各20%之内,即如果指定200分钟的总用时,则算法的实际总用时约束为[160,240]分钟。总费用则约束为只要不超出20%即可,即如果指定100元的总费用,则算法的实际总费用约束为[0,120]元。
3.评分
路径判优的评分是所有推荐度的平均数、交通用时占比、总用时和指定总时长之比这三者的加权平均。其中推荐度的权重为0.5,交通用时占比的权重为0.3,总时长的权重为0.1。由于按蚁群算法的习惯,评分越小代表结果越好,所有需要对这三者的得分加以处理以遵循此习惯。
4.爬山算法
由于蚁群算法的特性,算法可能会存在极小值陷阱。所以在三趟计算出的最优结果没有变化时,需执行一次爬山算法以尝试突破可能的极小值陷阱。本算法所采取的爬山算法处理为:将当前最优结果的第二个景点和倒数第二个景点互换。然后以此路径重新开始计算。计算结果表明,爬山算法有较大概率会导致更优路径的出现。所以,这一现象说明,本算法由于约束条件较多、优化参数较多、评分参数较多,这些约束条件与参数的存在显著增加了极小值陷阱的出现。
(二)求解
1.初始化参数
在计算之初,需要对相关的参数进行初始化,如蚁群模型(蚂蚁数量)m、信息系挥发因子、信息素释放总量Q、最大迭代次数iter_max等。经过权衡,我们最终确立了如下的参数:
蚂蚁数:50只,趟次:30次,初始信息素浓度:0.9
初始蚂蚁为全部景点中随机爬取出的一条经过所有景点的全路径,然后对此路径上的边进行初始的信息素释放。
2.构建解空间
算法要求在每次求取时需指定一个固定的起始点,即游客根据自己的下车或住宿点,选择一个最近的景点作为起始点开始计算。考虑到弹性,算法可以指定终止点或不指定,即游客可以指定游览结束于某景点,也可以不指定。从起始点开始,算法在每步按前述的优化方向一节中的说明,计算可达景点的到达概率。需要注意的是,如果在启动算法时指定了特定时间段,则在计算出的总时间达到该时间段时,需要判断待选择景点是否也有相应的时间段设置并计算这两个时间段间的吻合度,然后根据这个吻合度来调整此景点的到达概率。然后根据达到概率随机选择下一个景点。选择了下一个景点后,算法即计算添加到到达该景点的路径后,是否还符合前述的约束,如果符合则继续计算;否则终止本蚂蚁的本次运行,输出计算结果。如果指定了终止点,则算法在计算约束条件时,需将最后到达终止点的路径也纳入约束计算中即可。
3.更新信息素
算法信息素的更新采取标准蚁群算法的信息素更新算法。按标准蚁群算法的实现,每支蚂蚁在选择了下一个景点后,做一次局部更新;在本趟所有蚂蚁计算完毕后,做一次蒸发;对本趟的最优路径做一次全局更新。局部更新参数的选择按标准蚁群算法建议参数选择即可。
4.判断是否终止
如果未指定终止点,则按前述的约束一节计算本路径是否需要终止。如果指定了终止点,则需要将当前景点到终止点的路径增加到整个路径中之后再按前述的约束一节计算本路径是否需要终止。
四、算例实践
以“沧浪亭”为起点且不指定终点为例,利用程序运算分别规划出三小时左右的徒步旅游方案:沧浪亭到环秀山庄到中医药博物馆、沧浪亭到苏州佛教博物馆到定慧寺、沧浪亭到七里山塘景区到阊门、沧浪亭到苏州佛教博物馆到环秀山庄、沧浪亭到苏州警察博物馆到艺圃、沧浪亭到拙政园、沧浪亭到苏州佛教博物馆到苏州碑刻博物馆、沧浪亭到苏州佛教博物馆到网师园等8个线路方案。其他起点参照此操作。通过以上测算结果生成的方案,不难看出利用蚁群算法可以极大地丰富路线规划方案,为游客提供众多的选择可能。如果将主要的中外知名景点作为起点,将能规划出数量非常可观的路线方案。另外,在技术手段的支持下,通过进一步对历史文化底蕴的发掘,我们进一步完善开发出了“韵存千秋·大美昆曲”、“匠心独妙·苏作天工”“康乾南巡·驻跸姑苏”“状元故里·文脉寻根”、“光辉之路·红色遗迹”等多个文旅融合的特色旅游主题线路。相关特色线路被苏州市旅游部门采用,参与体验的游客反馈满意度较高。
五、结论与展望
基于蚁群算法的苏州古城徒步旅游線路规划能够得到最优旅游线路,整体运算运行效率高、速度较快,能满足日后进一步开发规划的需求。后续可以进一步考虑引入多种因素改进算法以增加模型求解为游客提供更加贴心的线路规划方案。比如,可以进一步扩充景点数量、增设景点标签以满足不同需求的路线规划;可以进一步拓展综合考虑各种交通方式拓展应用场景,比如增加特色骑行、特色自驾游路线规划方案;结合景点或线路的文化底蕴挖掘,探寻特色文旅融合线路。
参考文献:
[1]周茂杰、张翠.基于改进蚁群算法的旅游线路优化[J]. 现代计算机,2018.05下:24-27.
[2]郝海霞.用蚁群算法优化四川旅游路线[J].北京印刷学院学报,2017(07):181-182.
基金项目:2019年度苏州经贸职业技术学院科研项目“基于蚁群算法的苏州古城徒步旅游线路规划”,项目编号为YJ-QN1908。2020年江苏省高等学校大学生创新创业训练计划项目“基于蚁群算法的苏州市古城区特色旅游线路规划” ,项目编号为202012685015Y。
作者简介:
张志雄(1997-),男,广东清远人,苏州经贸职业技术学院学生,研究方向为大数据技术与应用;
费理源(1989-),男,江苏吴江人,苏州经贸职业技术学院教师,主要研究方向:高职教育管理、大数据技术与应用;
廖宇(1982-),男,四川犍为人,苏州经贸职业技术学院讲师,主要研究方向:高职教育管理,大数据技术与应用。