当前位置: 首页 > 专利查询>汕头大学专利>正文

基于改进蚁群算法的区域景点双程路线多目标规划方法技术

技术编号:29874480 阅读:18 留言:0更新日期:2021-08-31 23:49
本发明专利技术实施例公开了一种基于改进蚁群算法的区域旅游景点双程路线多目标规划方法,使用基于移动损失的蚁群算法对区域旅游路线进行优化,得到多条包含出发点和目标点的闭合旅游路线,其步骤主要包括:(1)收集区域景点数据;(2)区域内设置一个出发点和目标点,并设置算法的相关参数;(3)对旅游路线的三个优化目标进行数学建模;(4)使用基于移动损失的蚁群算法进行迭代优化,得到Pareto解。本发明专利技术的优点在于快速得到多条旅游路线,省去游客选择景点和往返程路线规划的时间;三个优化目标满足不同游客的需要;使用移动损失改善算法的优化效果。

【技术实现步骤摘要】
基于改进蚁群算法的区域景点双程路线多目标规划方法
本专利技术涉及进化优化领域,尤其涉及一种基于改进蚁群算法的区域景点双程路线多目标规划方法。
技术介绍
自从改革开发以来,我国的经济快速发展,温饱问题解决后,人们开始向往更高品质的生活,旅游作为一种普通民众也能负担起的休闲娱乐活动,受到了大众的欢迎。目前,自驾游成为人们丰富精神生活的一种方式。但是,在自驾游的出发前,游客经常会遇到两个难题,一是如何在出发点和目标点之间选择自己喜欢的旅游景点,二是如何规划往返的旅游路线才能更加经济和快捷。旅游社或旅游网站若想获得长远的发展,就必须为游客解决以上这两个问题,因此这是一个值得旅游业研究的方向。目前许多旅游服务产品多是采用基于协调过滤的推荐算法,为游客推荐旅游景点,但是这个技术的缺点是推荐的是单个景点而非一整条旅游路线,游客常常在选择旅游景点时还要边考虑如何做往返程的路线规划,因此该技术具有一定的不便利性。蚂蚁算法是一种经常用来做路径规划的进化算法,但是在给游客推荐旅游路线的问题中,蚂蚁先要从出发点出发,经历若干景点后到达目标点,停留一段时间后再从目标点出发,经历若干景点返回出发点,完成整个旅行,此时蚂蚁在往程中应该具有从出发点向目标点移动的趋势,而在返程中则要有从目标点向出发点移动的趋势,否则如果区域内的景点多,蚂蚁算法的收敛速度会慢,最后的性能效果也会不理想,因此需要对传统的蚁群算法做出改进。
技术实现思路
本专利技术实施例所要解决的技术问题在于,提供一种基于改进蚁群算法的区域景点双程路线多目标规划方法。可针对旅游业,从多个角度出发,为自驾游的游客规划旅游路线。为了解决上述技术问题,本专利技术实施例提供了一种基于改进蚁群算法的区域旅游景点双程路线多目标规划方法,包括以下步骤:步骤101:收集目标区域的旅游景点数据;步骤102:在所述目标区域内设置一个出发点和一个目标点、优化权重、旅行时间、景点类型喜好,并设置蚁群数量和迭代轮数;步骤103:确立旅游路线的目标费用函数f1,目标满意度函数f2和目标行程函数f3,使其成为一个多目标优化问题;步骤104:利用基于移动损失的蚂蚁算法来求解该优化问题,得到一组帕累托最优解,其中每一个解为一条闭合的旅游路线。其中,所述的步骤103,包括如下步骤:步骤201:建立旅游路线的优化目标费用,它的目标函数f1如下:上式中f1表示旅游路线的费用,n表示路线中包含的景点个数,pi表示路线中第i个景点的门票,dis表示路线的总行程,pe是每公里的油耗费,设置pe=1;步骤202:建立旅游路线的优化目标满意度,它的目标函数f2如下:上式中f2表示路线的满意度,si表示路线中第i个景点的评分,景点评分最高为5,g(·)是评价加成函数,如果景点类型不符合喜好,返回原来景点的评分,否则,将原来的评分加上2后再返回;步骤203:建立旅游路线的优化目标行程,它的目标函数f3如下:f3=dis上式中f3直接便是路线的总行程;步骤204:将三个目标函数f1,f2和f3组合为一个多目标优化问题,优化模型如下:min[f1*tw1,f3*tw3]maxf2*tw2上式表示模型要最小化路线的费用和行程,最大化路线的满意度,tw1,tw2和tw3均是优化权重,取值范围为[0,1],且tw1+tw2+tw3=1。约束条件中ti表示路线中第i个景点的游玩时间,v表示自驾游的平均速度,T表示整个旅途的旅行时间;其中,所述的步骤104,包括如下步骤:步骤301:区域内的景点、出发点和目标点统称为节点,节点0表示出发点,节点1到N分别表示N个景点,节点N+1表示目标点,根据节点的经纬度信息计算邻接矩阵d(i,j),公式如下:d(i,j)=R*arccos(cos(Y(i))*cos(Y(j))*cos(X(i)-X(j))+sin(Y(i))*sin(Y(j)))上式中d(i,j)表示节点i到节点j的距离,X(i)表示节点i的经度,Y(i)表示节点i的纬度,R是地球半径,取R=6371km;步骤302:根据步骤301得到的邻接矩阵,计算节点的两个移动损失,分别为往程移动损失和返程移动损失公式如下:Δd1(i,j)=d(i,N+1)-d(i,j)-d(j,N+1)Δd2(i,j)=d(i,0)-d(i,j)-d(j,0)上式中Δd1(i,j)表示路径L(i,j)(节点i到节点j)的往程移动损失,Δd2(i,j)表示路径L(i,j)的返程移动损失;步骤303:根据步骤302得到的移动损失,计算路径L(i,j)的接受概率,公式如下:PA1(i,j)=exp(Δd1(i,j)/30)PA2(i,j)=exp(Δd2(i,j)/30)上式中PA1(i,j)表示路径L(i,j)的往程接受概率,PA2(i,j)表示路径L(i,j)的返程接受概率;步骤304:初始化路径信息素,所有路径L(i,j)上的信息素τ(i,j)均为1;初始化精英蚁群,此时精英蚁群中的蚂蚁数量为0;初始化路径启发信息η(i,j),公式如下:步骤305:初始化蚁群数量为50的蚁群;将蚂蚁都放置在节点0,即出发点;初始化所有蚂蚁的禁忌表,禁忌表为一个长度为N+1的向量,向量中元素的编号从0开始记,即0到N,元素编号对应节点的编号,禁忌表的元素为0或1,0表示对应编号的节点不可选,1表示可选,初始化禁忌表时,编号为0的元素为0,其他元素均为1;步骤306:完成蚁群中所有蚂蚁的移动,即完成旅游路线的生成;步骤307:使用快速非支配排序法确定蚁群中所有蚂蚁的支配级;步骤308:蚁群中支配级为1的蚂蚁加入精英蚁群,精英蚁群中去除旅游路线完全相同的蚂蚁,即去重,然后再进行一次快速非支配排序,精英蚁群中支配级为1的蚂蚁组成新的精英蚁群;步骤309:精英蚁群中的蚂蚁参与路径信息素的更新;步骤310:按设置好的迭代轮数重复步骤305到309共30次,最后得到的精英蚁群便是Pareto最优解。其中,所述的步骤306中包括如下步骤:步骤401:选定蚁群中的一只蚂蚁,开始该蚂蚁的移动;步骤402:蚂蚁处于往程状态,蚂蚁在转移到另一个节点前需要计算一次路径选择概率PS(i,j),计算公式如下:上式中PS(,j)表示路径L(i,j)被选择的概率;τ(i,j)表示路径L(i,j)上的信息素;η(i,j)表示路径L(i,j)上的启发信息;pathable(j)表示禁忌表的第j个元素;α是信息素重要因子,取α=1;β是启发信息重要因子,取β=1;步骤403:根据步骤303和402得到的接受概率和选择概率,再计算路径转移概率P(i,j),公式如下:步骤404:蚂蚁根据步骤403得到的路径转移概率,从当前节点转移到另外一个节点,记录本文档来自技高网...

【技术保护点】
1.一种基于改进蚁群算法的区域旅游景点双程路线多目标规划方法,其特征在于,包括以下步骤:/n步骤101:收集目标区域的旅游景点数据;/n步骤102:在所述目标区域内设置一个出发点和一个目标点、优化权重、旅行时间、景点类型喜好,并设置蚁群数量和迭代轮数;/n步骤103:确立旅游路线的目标费用函数f

【技术特征摘要】
1.一种基于改进蚁群算法的区域旅游景点双程路线多目标规划方法,其特征在于,包括以下步骤:
步骤101:收集目标区域的旅游景点数据;
步骤102:在所述目标区域内设置一个出发点和一个目标点、优化权重、旅行时间、景点类型喜好,并设置蚁群数量和迭代轮数;
步骤103:确立旅游路线的目标费用函数f1,目标满意度函数f2和目标行程函数f3,使其成为一个多目标优化问题;
步骤104:利用基于移动损失的蚂蚁算法来求解该优化问题,得到一组帕累托最优解,其中每一个解为一条闭合的旅游路线。


2.根据权利要求1所述的基于改进蚁群算法的区域旅游景点双程路线多目标规划方法,其特征在于,所述步骤103具体包括以下步骤:
步骤201:建立旅游路线的优化目标费用函数:



其中,n表示路线中包含的景点个数,pi表示路线中第i个景点的门票,dis表示路线的总行程,pe是每公里的油耗费;
步骤202:建立旅游路线的优化目标满意度函数:






上式中si表示路线中第i个景点的评分,g(·)是评价加成函数,如果景点类型不符合喜好,返回原来景点的评分,否则,将原来的评分加上2后再返回;
步骤203:建立目标行程函数:f3=dis
步骤204:将三个目标函数f1,f2和f3组合为一个多目标优化问题,优化模型如下:
min[f1*tw1,f3*tw3]
maxf2*tw2



上式表示模型要最小化路线的费用和行程,最大化路线的满意度,tw1,tw2和tw3均是优化权重,取值范围为[0,1],且tw1+tw2+tw3=1,约束条件中ti表示路线中第i个景点的游玩时间,v表示自驾游的平均速度,T表示整个旅途的旅行时间。


3.根据权利要求1所述的基于改进蚁群算法的区域旅游景点双程路线多目标规划方法,其特征在于,所述步骤104包括以下步骤:
步骤301:节点0表示出发点,节点1到N分别表示N个景点,节点N+1表示目标点,根据节点的经纬度信息计算邻接矩阵d(i,j),公式如下:
d(i,j)=R*arccos(cos(Y(i))*cos(Y(j))*cos(X(i)-X(j))+sin(Y(i))*sin(Y(j)))
上式中d(i,j)表示节点i到节点j的距离,X(i)表示节点i的经度,Y(i)表示节点i的纬度,R是地球半径;
步骤302:根据所述邻接矩阵计算节点的两个移动损失,分别为往程移动损失和返程移动损失公式如下:
Δd1(i,j)=d(i,N+1)-d(i,j)-d(j,N+1)
Δd2(i,j)=d(i,0)-d(i,j)-d(j,0)
上式中Δd1(i,j)表示路径L(i,j)(节点i到节点j)的往程移动损失,Δd2(i,j)表示路径L(i,j)的返程移动损失;
步骤303:根据所述移动损失计算路径L(i,j)的接受概率PA(i,j),公式如下:
PA1(i,j)=exp(Δd1(i,j)/30)
PA2(i,j)=exp(Δd2(i,j)/30)
上式中PA1(i,j)表示路径L(i,j)的往程接受概率,PA2(i,j)表示路径L(i,j)的返程接受概率;
步骤304:初始化路径信息素,所有路径L(i,j)上的信息素τ(i,j)均为1;初始化精英蚁群,此时精英蚁群中的蚂蚁数量为0;初始化路径启发信息η(i,j),公式如下:



步骤305:初始化蚁群数量为50的蚁群;将蚂蚁都放置在节点0,即出发点;初始化所有蚂蚁的禁忌表,禁忌表为一个长度为N+1的向量,向量中元素的编号从0开始记,即0到N,元素编号对应节点的编号,禁忌表的元素为0或1,0表示对应编号的节点不可选,1表示可选,初始化禁忌表时,编号为0的元素为0,其他元素均为1;
步骤306:完成蚁群中所有蚂蚁的移动,即完成旅游路线的生成;
步骤307:使用快速...

【专利技术属性】
技术研发人员:徐标江振东郑奕武李恪范衠
申请(专利权)人:汕头大学
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1