董春华,麻朝光,王冠华,梁康发,任宇杰
(天津城建大学,天津 300384)
旅游业作为我国的重要产业之一,已成为推动我国GDP 增长的重要推动力.自驾游、自助游等形式的自助旅游的发展,推动自助旅游市场成为新的旅游热点,同时,也促使旅游产业供给与需求的矛盾更加突出.目前广泛应用的旅游平台多为自助游用户提供旅游资源的文字图片等信息,现有的路线规划服务大多是由旅游机构提供的旅游产品,用户一般无法参与对这些内容的规划和设计;部分旅游网站提供了基本的旅游行程路线功能,但对于自助游规划也基本是通过网友们群策群力人工完成.自助游发展的此种现状与智慧旅游产业化、信息化的趋势是背道而驰的,亟需更加智能化的旅游服务平台填补空白.
互联网产业的蓬勃发展促使旅游产业科技化含量越来越高,基于移动端的旅游方式已经突破了传统的旅游模式.在这样的背景下,在移动端旅游的基础上科学地规划最优的旅游路线,既满足游客虚拟旅游的体验需求,同时为游客提供实际旅游中花费最小而且旅游体验最好的旅游路线,具有十分重要的意义.
本文以天津市为研究对象,实现基于智能旅游线路规划及可视化方法,为自助游客智能化查询旅游信息及规划旅游路线提供有力工具.
旅游路线规划问题是基于经典TSP 问题演化而来.目前国内外对TSP 问题研究较多,如最邻近算法、插入法、动态规划算法、遗传算法以及蚁群算法等,在一定程度上满足游客的出游条件,如吴澎等基于多目标规划算法对201 个国家5A 级景区进行旅游线路设计研究[1].刘忠花等提出三阶段TSP 模型,利用遗传算法对201 个国家5A 级景区进行了合理的旅游路线设计[2]. 郝标等基于蚁群优化算法对井冈山旅游区进行了路线规划系统设计[3]. 睢先先等结合改进的蚁群优化算法、百度地图API 以及Android 开发等技术,实现了基于Android 智能终端的城市内自助游规划系统[4].Beatriz Rodriguez 从应用角度出发,利用数学模型和交互式多目标技术设计了个人旅游路线规划系统,可以生成一条基于用户选择的行程路线[5]. 黄腾基于遗传算法对河南省13 个5A 景点进行无约束条件下的旅游路线规划,再利用蚁群算法进行有费用约束条件下的旅游路线规划[6].万慧云等基于蚁群算法对全国5A景点进行了旅游路线规划方案规划设计[7]. 这些研究为智能旅游路线规划发展奠定了基础,但其中基于实际旅游景点数据进行规划的算法对旅游目的地的针对性比较强,并且对于路线的可视化显示并不尽人意,目前仍没有一个解决TSP 问题的完美方案.
蚁群算法是一种利用正反馈信息在图中寻找优化路径的概率型算法,是由意大利Marco Colorni 等通过模拟自然界中蚂蚁集体寻径行为而提出的一种基于种群的启发式仿生进化算法[8]. 蚂蚁在寻找食物的过程中释放信息素,蚁群之间通过信息素进行交流,并选择信息素浓度较大的路径,大量蚂蚁表现出一种协同搜索最短路径的正反馈现象,路径越短信息素浓度叠加越快,从而导致最后所有的蚂蚁均集中到最短路径.
利用蚁群算法解决TSP 问题原理为:假设蚁群中蚂蚁个数为m,风景区个数为n,风景区i 与j 之间路径距离为Rij(i,j=1,2,…,n),在t 时刻,该路径的信息素浓度为τij(t),设各风景区之间的信息素初始浓度相同,均为 τij(t)= τ0.蚂蚁 k(k=1,2,…,m)可通过各风景区的路径之间的信息素浓度大小决定要访问的下一景区(t)表示 t 时刻蚂蚁 k 从风景区 i 转移到风景区j 的概率.蚂蚁释放信息素的过程中,信息素同时逐渐挥发,设信息素挥发程度为参数ρ(0 <ρ <1),当所有蚂蚁均完成一次循环之后,对各风景区间路径的信息素浓度进行更新[7]. 信息素浓度最高路径为最优路径.
针对该问题,为考虑区域景点的各种旅游资源信息,实现自助游客旅游行程路线的自助规划,本文基于蚁群算法建立动态路线规划算法,并将规划路线以二维地图和交通方式相结合的方式进行可视化展示,从而为游客提供智能路线规划服务.
平台的开发环境操作平台选用Windows 与Linux结合使用;前端开发工具选用HBuilderX,前端管理开发工具选用IntelliJ-IDEA13,Web 服务器使用阿里云提供的轻量级应用服务器、nginx 和tomcat;数据存储采用MySQL 关系数据库. 平台的设计模式采用SSM框架,客户端采用 HTML5 技术,使用jQuery 的JavaScript 框架建立,后台数据服务交互通过Ajax 技术对后台发出请求,后台按照逻辑需求调用库并使用Json 格式进行数据传输,从而实现客户端与数据服务层的数据交互.
根据平台需求,平台提供的各种景点信息,使用户能够了解景点描述、位置、交通及评论等相关信息,通过选择意向景点进行行程规划,获得旅游体验.功能模块主要包括景点信息展示、附近景点、景点推荐、行程规划、路线展示、用户管理等. 平台功能如图1 所示.
图1 平台功能
2.3.1 用户管理
用户管理部分包括用户注册、登录及意见反馈.用户使用平台功能需在“用户注册”界面进行注册,并通过邮箱验证.
2.3.2 景点信息展示
用户可在景点信息显示栏下浏览天津市各个景点,选择意向景点,可看到该景点的详细信息.如景观图片、景点描述、地址、开放时间、联系电话以及景点的地图定位显示,通过地图缩放可以查看景点周围的各类地物,如图2 所示.
图2 景点详情页面
2.3.3 附近景点
在“附近好玩”界面,平台通过获取用户的地理位置,以3 km 的距离为缓冲,查找用户周围的景点信息,并为用户展示景点详细列表,点击意向景点,可展示该景点的详细信息,如图3 所示.
图3 附近景点显示
2.3.4 行程规划
用户通过浏览景点信息,选择多个意向景点,所选景点将会传输到规划模块,在规划模块用户可以选择要规划的景点或删除意向景点,选择“帮我规划”功能,后台应用蚁群算法,根据所选意向景点的空间位置规划出合理的路线,并将结果返回到“我的行程”,将规划好的景点ID 序列存储在数据库行程规划表的placelist 字段.该模块如图4 所示.
图4 景点选择
2.3.5 我的行程
该模块功能为接收行程规划模块的规划结果,调用数据库中的景点排序序列,将规划好的游览顺序分段进行地图可视化显示,并对每个分段配以交通状况.显示详情如图5 所示.
图5 行程显示界面
本文以天津市为研究对象开发了城市旅游智能路线规划平台,平台利用蚁群算法实现旅游路线的智能规划,调用百度地图API 进行规划结果的可视化,为天津市自助游客提供便捷,具有很好的现实意义.该平台利用网页技术开发实现功能需求,使其既能封装成App 在移动端使用,又能在Web 端基于浏览器使用,能够轻松实现跨平台,方便用户在各种平台使用.