CN113326979A - 基于改进蚁群算法的区域景点双程路线多目标规划方法 - Google Patents
基于改进蚁群算法的区域景点双程路线多目标规划方法 Download PDFInfo
- Publication number
- CN113326979A CN113326979A CN202110574636.7A CN202110574636A CN113326979A CN 113326979 A CN113326979 A CN 113326979A CN 202110574636 A CN202110574636 A CN 202110574636A CN 113326979 A CN113326979 A CN 113326979A
- Authority
- CN
- China
- Prior art keywords
- route
- ant
- ant colony
- path
- ants
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 24
- 238000000034 method Methods 0.000 title claims abstract description 21
- 230000033001 locomotion Effects 0.000 claims abstract description 30
- 238000005457 optimization Methods 0.000 claims abstract description 25
- 241000257303 Hymenoptera Species 0.000 claims description 59
- 230000006870 function Effects 0.000 claims description 35
- 239000003016 pheromone Substances 0.000 claims description 34
- 238000010606 normalization Methods 0.000 claims description 12
- 238000012546 transfer Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000011156 evaluation Methods 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 claims description 6
- 230000007704 transition Effects 0.000 claims description 6
- 239000000446 fuel Substances 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 4
- 238000004088 simulation Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Artificial Intelligence (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Development Economics (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Game Theory and Decision Science (AREA)
- Computational Linguistics (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Life Sciences & Earth Sciences (AREA)
Abstract
本发明实施例公开了一种基于改进蚁群算法的区域旅游景点双程路线多目标规划方法,使用基于移动损失的蚁群算法对区域旅游路线进行优化,得到多条包含出发点和目标点的闭合旅游路线,其步骤主要包括:(1)收集区域景点数据;(2)区域内设置一个出发点和目标点,并设置算法的相关参数;(3)对旅游路线的三个优化目标进行数学建模;(4)使用基于移动损失的蚁群算法进行迭代优化,得到Pareto解。本发明的优点在于快速得到多条旅游路线,省去游客选择景点和往返程路线规划的时间;三个优化目标满足不同游客的需要;使用移动损失改善算法的优化效果。
Description
技术领域
本发明涉及进化优化领域,尤其涉及一种基于改进蚁群算法的区域景点双程路线多目标规划方法。
背景技术
自从改革开发以来,我国的经济快速发展,温饱问题解决后,人们开始向往更高品质的生活,旅游作为一种普通民众也能负担起的休闲娱乐活动,受到了大众的欢迎。目前,自驾游成为人们丰富精神生活的一种方式。但是,在自驾游的出发前,游客经常会遇到两个难题,一是如何在出发点和目标点之间选择自己喜欢的旅游景点,二是如何规划往返的旅游路线才能更加经济和快捷。旅游社或旅游网站若想获得长远的发展,就必须为游客解决以上这两个问题,因此这是一个值得旅游业研究的方向。
目前许多旅游服务产品多是采用基于协调过滤的推荐算法,为游客推荐旅游景点,但是这个技术的缺点是推荐的是单个景点而非一整条旅游路线,游客常常在选择旅游景点时还要边考虑如何做往返程的路线规划,因此该技术具有一定的不便利性。
蚂蚁算法是一种经常用来做路径规划的进化算法,但是在给游客推荐旅游路线的问题中,蚂蚁先要从出发点出发,经历若干景点后到达目标点,停留一段时间后再从目标点出发,经历若干景点返回出发点,完成整个旅行,此时蚂蚁在往程中应该具有从出发点向目标点移动的趋势,而在返程中则要有从目标点向出发点移动的趋势,否则如果区域内的景点多,蚂蚁算法的收敛速度会慢,最后的性能效果也会不理想,因此需要对传统的蚁群算法做出改进。
发明内容
本发明实施例所要解决的技术问题在于,提供一种基于改进蚁群算法的区域景点双程路线多目标规划方法。可针对旅游业,从多个角度出发,为自驾游的游客规划旅游路线。
为了解决上述技术问题,本发明实施例提供了一种基于改进蚁群算法的区域旅游景点双程路线多目标规划方法,包括以下步骤:
步骤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]
max f2*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得到的路径转移概率,从当前节点转移到另外一个节点,记录下一个节点的编号,并将对应编号的禁忌表元素置为0;
步骤405:蚂蚁每移动到另一个节点都检测当前花费时间是否超过旅行时间的1/2,如果未超过,则重复步骤402至404;如果超过,蚂蚁移动到节点N+1,即移动到目标点,蚂蚁在目标点停留4小时后进入返程状态;
步骤406:蚂蚁处于返程状态,蚂蚁在转移到另一个节点前需要计算一次路径选择概率PS(i,j),计算公式如下:
步骤407:根据步骤303和406得到的接受概率和选择概率,再计算路径转移概率P(i,j),公式如下:
步骤408:蚂蚁根据步骤407得到的路径转移概率,从当前节点转移到另外一个节点,记录下一个节点的编号,并将对应编号的禁忌表元素置为0;
步骤409:蚂蚁每移动到另一个节点都检测当前花费时间是否超过旅行时间,如果未超过,则重复步骤406至408;如果超过,蚂蚁移动到节点0,即移动到出发点,完成一条旅游路线的生成,即一只蚂蚁的所有移动;
步骤410:选定蚁群中其他的蚂蚁,根据步骤402至409,完成所有蚂蚁的移动。
其中,所述的步骤309中包括如下步骤:
步骤501:对蚂蚁的费用f1进行归一化处理,公式如下:
上式中f′1表示归一化后的费用,maxf1表示蚁群中最高的费用,minf1表示蚁群中最低的费用;
步骤502:对蚂蚁的满意度f2进行归一化处理,公式如下:
上式中f′2表示归一化后的满意度,maxf2表示蚁群中最高的满意度,minf2表示蚁群中最低的满意度;
步骤503:对蚂蚁的行程f3进行归一化处理,公式如下:
上式中f′3表示归一化后的行程,maxf3表示蚁群中最长的行程,minf3表示蚁群中最短的行程;
步骤504:蚂蚁对路径信息素进行更新,更新公式如下:
上式中Δτl(,j)是蚂蚁l在路径L(i,j)上释放的信息素,mp是区域内景点的平均门票,pj是节点j的门票,sj是节点j的评分,ms是区域中景点评分经过评价加成函数g(·)后的平均值,τk(i,j)是本轮路径L(i,j)的信息素,τk+1(i,j)是下一轮路径L(i,j)的信息素,m是精英蚁群中蚂蚁的数量。relu(x)函数用于保证信息素增量非负,M(x)函数用于限制路径信息素的增长和衰减。
实施本发明实施例,具有如下有益效果:本发明使用蚂蚁算法来生成旅游路线,这样既推荐了景点,也作了路径规划;为了满足游客的需求,为路线建立了三个优化目标,分别为费用,满意度和行程,每个优化目标还设置了优化权重,让游客自己选择着重优化哪个目标;为了使蚂蚁在往返程中具有移动趋势,引入移动损失,利用移动损失来描述从一个节点到另一个节点使得旅程额外增加的距离,基于移动损失的路径接受概率使得蚂蚁在往返程中具有移动趋势,在优化的过程中,移动损失还会影响路径信息素的更新,改善蚂蚁算法的收敛结果。
附图说明
图1是本发明的主流程图;
图2是步骤103的流程图;
图3是步骤104的流程图;
图4是步骤306的流程图;
图5是步骤309的流程图;
图6是仿真实验中景点分布图;
图7是仿真实验中节点分布图;
图8是路线4的描绘图;
图9是路线7的描绘图;
图10是蚁群费用平均值随迭代轮数的变化曲线;
图11是蚁群满意度平均值随迭代轮数的变化曲线;
图12是蚁群行程平均值随迭代轮数的变化曲线;
图13是表1,是仿真实验中Pareto解的三个目标函数值;
图14是表2,是路线4中各景点的详细信息;
图15是表3,是路线7中各景点的详细信息。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
如图1所示,本发明实施例的一种基于改进蚁群算法的区域旅游景点双程路线多目标规划方法,主流程图的步骤特征如下:
步骤101:收集某一个区域的旅游景点数据,数据属性包括景点的门票,经度,纬度,游览时间和类型;
步骤102:在区域内设置一个出发点和一个目标点,优化权重,旅行时间,景点类型喜好(可选且只影响旅游路线的满意度);设置蚁群数量n_ant=50和迭代轮数n_turn=30;
步骤103:确立旅游路线的三个目标函数f1,f2和f3,使其成为一个多目标优化问题;
步骤104:利用基于移动损失的蚂蚁算法来求解该优化问题,得到一组Pareto最优解,其中每一个解是一条闭合的旅游路线,即从出发点出发经历若干景点后到达目标点,再从目标点出发经历若干景点返回出发点。
如图2所示,
所述的步骤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]
max f2*tw2
上式表示模型要最小化路线的费用和行程,最大化路线的满意度,tw1,tw2和tw3均是优化权重,取值范围为[0,1],且tw1+tw2+tw3=1。约束条件中ti表示路线中第i个景点的游玩时间,v表示自驾游的平均速度,T表示整个旅途的旅行时间。
如图3所示,
所述的步骤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最优解。
如图4所示,
所述的步骤306中包括如下步骤:
步骤401:选定蚁群中的一只蚂蚁,开始该蚂蚁的移动;
步骤402:蚂蚁处于往程状态,蚂蚁在转移到另一个节点前需要计算一次路径选择概率PS(i,j),计算公式如下:
上式中PS(i,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得到的路径转移概率,从当前节点转移到另外一个节点,记录下一个节点的编号,并将对应编号的禁忌表元素置为0;
步骤405:蚂蚁每移动到另一个节点都检测当前花费时间是否超过旅行时间的1/2,如果未超过,则重复步骤402至404;如果超过,蚂蚁移动到节点N+1,即移动到目标点,蚂蚁在目标点停留4小时后进入返程状态;
步骤406:蚂蚁处于返程状态,蚂蚁在转移到另一个节点前需要计算一次路径选择概率PS(i,j),计算公式如下:
步骤407:根据步骤303和406得到的接受概率和选择概率,再计算路径转移概率P(i,j),公式如下:
步骤408:蚂蚁根据步骤407得到的路径转移概率,从当前节点转移到另外一个节点,记录下一个节点的编号,并将对应编号的禁忌表元素置为0;
步骤409:蚂蚁每移动到另一个节点都检测当前花费时间是否超过旅行时间,如果未超过,则重复步骤406至408;如果超过,蚂蚁移动到节点0,即移动到出发点,完成一条旅游路线的生成,即一只蚂蚁的所有移动;
步骤410:选定蚁群中其他的蚂蚁,根据步骤402至409,完成所有蚂蚁的移动。
如图5所示,
所述的步骤309中包括如下步骤:
步骤501:对蚂蚁的费用f1进行归一化处理,公式如下:
上式中f′1表示归一化后的费用,maxf1表示蚁群中最高的费用,minf1表示蚁群中最低的费用;
步骤502:对蚂蚁的满意度f2进行归一化处理,公式如下:
上式中f′2表示归一化后的满意度,maxf2表示蚁群中最高的满意度,minf2表示蚁群中最低的满意度;
步骤503:对蚂蚁的行程f3进行归一化处理,公式如下:
上式中f′3表示归一化后的行程,maxf3表示蚁群中最长的行程,minf3表示蚁群中最短的行程;
步骤504:蚂蚁对路径信息素进行更新,更新公式如下:
上式中Δτl(i,j)是蚂蚁l在路径L(i,j)上释放的信息素,mp是区域内景点的平均门票,pj是节点j的门票,sj是节点j的评分,ms是区域中景点评分经过评价加成函数g(·)后的平均值,τk(i,j)是本轮路径L(i,j)的信息素,τk+1(i,j)是下一轮路径L(i,j)的信息素,m是精英蚁群中蚂蚁的数量。relu(x)函数用于保证信息素增量非负,M(x)函数用于限制路径信息素的增长和衰减。
本发明的效果可以通过仿真实验进一步说明
1.仿真条件
本实验是在Intel(R)Celeron(R)CPU N3450 1.10GHz 7.83G内存Windows 10系统下,Jupyter Notebook运行平台上完成的。
2.仿真内容
按照步骤101收集广州与深圳之间的景点,共103个,景点数据的名称,门票,地址,评分,类型来自于去哪儿网站(https://piao.qunar.com),景点数据的经纬度由地址在百度地图上获取,景点数据的游玩时间是根据景点类型估算的,景点的位置如图6所示。
按照步骤102在区域内设置一个出发点和目标点,出发点为广州番禺区,目标点为深圳南山区,如图7所示,其中红点是出发点,黄点是目标点。设置三个优化权重为旅行时间为3天(假设游客每天有12小时的活动时间),景点类型喜好为古建筑和自然风光;设置蚁群数量50和迭代轮数30。
再按照步骤103和步骤104进行迭代优化,得到Pareto最优解。
3.仿真结果和分析
得到的Pareto解共有7个,表1展示了各条路线的三个目标函数值,其中路线7的费用和行程都是最低的,路线4的满意度最高,路线4如图8所示,路线7如图9所示;表2展示了路线4景点的详细情况,表3展示了路线7景点的详细情况。从图8和图9可以知道规划出的路线是合理的,从表2和表3可以知道,路线中的景点门票便宜且评分高,类型也比较符合喜好。
图10至图12分别描绘了蚁群三个优化目标的平均值随迭代轮数的变化曲线,图10中费用平均值随着迭代轮数的增加呈下降趋势,图11中满意度平均值随迭代轮数的增加呈上升趋势,图12中行程平均值随迭代轮数的增加呈下降趋势,符合最小化费用和行程,最大化满意度的优化期望。
综上所述,本发明有效地优化了旅游路线的三个目标函数,可以应用于推荐旅游路线,节省游客选择景点和路线规划的时间。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (5)
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]
max f2*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:使用快速非支配排序法确定蚁群中所有蚂蚁的支配级;
步骤308:蚁群中支配级为1的蚂蚁加入精英蚁群,精英蚁群中去除旅游路线完全相同的蚂蚁,即去重,然后再进行一次快速非支配排序,精英蚁群中支配级为1的蚂蚁组成新的精英蚁群;
步骤309:精英蚁群中的蚂蚁参与路径信息素的更新;
步骤310:按设置好的迭代轮数重复步骤305到309若干次,最后得到的精英蚁群便是帕累托最优解。
4.根据权利要求3所述的基于改进蚁群算法的区域旅游景点双程路线多目标规划方法,其特征在于,所述步骤306包括以下步骤:
步骤401:选定蚁群中的一只蚂蚁,开始该蚂蚁的移动;
步骤402:蚂蚁处于往程状态,蚂蚁在转移到另一个节点前需要计算一次路径选择概率PS(i,j),计算公式如下:
上式中PS(i,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得到的路径转移概率,从当前节点转移到另外一个节点,记录下一个节点的编号,并将对应编号的禁忌表元素置为0;
步骤405:蚂蚁每移动到另一个节点都检测当前花费时间是否超过旅行时间的1/2,如果未超过,则重复步骤402至404;如果超过,蚂蚁移动到节点N+1,即移动到目标点,蚂蚁在目标点停留4小时后进入返程状态;
步骤406:蚂蚁处于返程状态,蚂蚁在转移到另一个节点前需要计算一次路径选择概率PS(i,j),计算公式如下:
步骤407:根据步骤303和406得到的接受概率和选择概率,再计算路径转移概率P(i,j),公式如下:
步骤408:蚂蚁根据步骤407得到的路径转移概率,从当前节点转移到另外一个节点,记录下一个节点的编号,并将对应编号的禁忌表元素置为0;
步骤409:蚂蚁每移动到另一个节点都检测当前花费时间是否超过旅行时间,如果未超过,则重复步骤406至408;如果超过,蚂蚁移动到节点0,完成一条旅游路线的生成;
步骤410:选定蚁群中其他的蚂蚁,根据步骤402至409,完成所有蚂蚁的移动。
5.根据权利要求4所述的基于改进蚁群算法的区域旅游景点双程路线多目标规划方法,其特征在于,所述步骤309包括以下步骤:
步骤501:对蚂蚁的费用f1进行归一化处理,公式如下:
上式中f′1表示归一化后的费用,maxf1表示蚁群中最高的费用,minf1表示蚁群中最低的费用;
步骤502:对蚂蚁的满意度f2进行归一化处理,公式如下:
上式中f′2表示归一化后的满意度,maxf2表示蚁群中最高的满意度,minf2表示蚁群中最低的满意度;
步骤503:对蚂蚁的行程f3进行归一化处理,公式如下:
上式中f′3表示归一化后的行程,maxf3表示蚁群中最长的行程,minf3表示蚁群中最短的行程;
步骤504:蚂蚁对路径信息素进行更新,更新公式如下:
上式中Δτl(i,j)是蚂蚁l在路径L(i,j)上释放的信息素,mp是区域内景点的平均门票,pj是节点j的门票,sj是节点j的评分,ms是区域中景点评分经过评价加成函数g(·)后的平均值,τk(i,j)是本轮路径L(i,j)的信息素,τk+1(i,j)是下一轮路径L(i,j)的信息素,m是精英蚁群中蚂蚁的数量,relu(x)函数用于保证信息素增量非负,M(x)函数用于限制路径信息素的增长和衰减。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110574636.7A CN113326979A (zh) | 2021-05-25 | 2021-05-25 | 基于改进蚁群算法的区域景点双程路线多目标规划方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110574636.7A CN113326979A (zh) | 2021-05-25 | 2021-05-25 | 基于改进蚁群算法的区域景点双程路线多目标规划方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113326979A true CN113326979A (zh) | 2021-08-31 |
Family
ID=77416793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110574636.7A Pending CN113326979A (zh) | 2021-05-25 | 2021-05-25 | 基于改进蚁群算法的区域景点双程路线多目标规划方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113326979A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114091763A (zh) * | 2021-11-24 | 2022-02-25 | 中国建设银行股份有限公司 | 路线规划方法、装置、可读介质和电子设备 |
CN118228906A (zh) * | 2024-05-27 | 2024-06-21 | 四川师范大学 | 一种路径动态规划方法、装置、终端设备以及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107832894A (zh) * | 2017-11-27 | 2018-03-23 | 浙江卓锐科技股份有限公司 | 一种基于蚁群算法的智能旅游行程规划方法 |
CN111026126A (zh) * | 2019-12-27 | 2020-04-17 | 哈尔滨工程大学 | 一种基于改进蚁群算法的无人艇全局路径多目标规划方法 |
CN112146673A (zh) * | 2020-09-27 | 2020-12-29 | 浙江综合交通大数据中心有限公司 | 基于改进蚁群算法的高速公路多点协同救援路径规划方法 |
US20210133534A1 (en) * | 2019-10-30 | 2021-05-06 | Inner Mongolia Agricultural University | Cloud task scheduling method based on phagocytosis-based hybrid particle swarm optimization and genetic algorithm |
-
2021
- 2021-05-25 CN CN202110574636.7A patent/CN113326979A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107832894A (zh) * | 2017-11-27 | 2018-03-23 | 浙江卓锐科技股份有限公司 | 一种基于蚁群算法的智能旅游行程规划方法 |
US20210133534A1 (en) * | 2019-10-30 | 2021-05-06 | Inner Mongolia Agricultural University | Cloud task scheduling method based on phagocytosis-based hybrid particle swarm optimization and genetic algorithm |
CN111026126A (zh) * | 2019-12-27 | 2020-04-17 | 哈尔滨工程大学 | 一种基于改进蚁群算法的无人艇全局路径多目标规划方法 |
CN112146673A (zh) * | 2020-09-27 | 2020-12-29 | 浙江综合交通大数据中心有限公司 | 基于改进蚁群算法的高速公路多点协同救援路径规划方法 |
Non-Patent Citations (1)
Title |
---|
胡军国等: "一种改进蚁群算法研究和旅游景区路径规划问题求解", 《计算机应用研究》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114091763A (zh) * | 2021-11-24 | 2022-02-25 | 中国建设银行股份有限公司 | 路线规划方法、装置、可读介质和电子设备 |
CN118228906A (zh) * | 2024-05-27 | 2024-06-21 | 四川师范大学 | 一种路径动态规划方法、装置、终端设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112146673B (zh) | 基于改进蚁群算法的高速公路多点协同救援路径规划方法 | |
CN113326979A (zh) | 基于改进蚁群算法的区域景点双程路线多目标规划方法 | |
CN108648457A (zh) | 一种速度预测的方法、装置和计算机可读存储介质 | |
CN107145961A (zh) | 一种基于改进遗传算法的旅游行程规划方法 | |
CN112149010A (zh) | 基于注意力机制的群体旅游路线推荐方法 | |
CN111967672B (zh) | 一种基于狮群进化算法的面向空间众包平台的路径规划方法 | |
CN112230675B (zh) | 在协同搜救中考虑运行环境和性能的无人机任务分配方法 | |
CN115936240B (zh) | 共享单车需求预测与投放调度方法 | |
CN113642757A (zh) | 一种基于人工智能的物联网充电桩建设规划的方法及系统 | |
CN111310257A (zh) | 一种bim环境下的区域建筑能耗预测方法 | |
CN115965171A (zh) | 一种基于优化蚁群算法的微公园选址方法 | |
CN106682764A (zh) | 一种基于并行预测策略的公共楼宇日前空调负荷预测方法 | |
CN109242533A (zh) | 基于拍卖理论的车联网群智感知用户的在线激励方法 | |
CN115355922A (zh) | 一种基于改进蚁群算法的出行路径规划方法及系统 | |
CN105404942A (zh) | 一种旅游数据最优权组合预测模型 | |
CN113326980A (zh) | 一种改进蚁群算法的区域景点单程路线多目标规划方法 | |
CN115589369A (zh) | 一种基于双注意力机制的基站流量预测方法及系统 | |
CN106227766A (zh) | 一种大数据驱动的选举舆情预测方法 | |
CN115841286A (zh) | 一种基于深度强化学习的外卖配送路径规划方法 | |
CN115392569A (zh) | 一种电动汽车充电站选址定容方法及系统 | |
CN107767036A (zh) | 一种基于条件随机场的实时交通状态估计方法 | |
CN114897213A (zh) | 一种历史街区公交可达性测算方法与优化方法 | |
CN114745688A (zh) | 基于无人机通信的无线传感器网络节点Aol分析研究 | |
CN114417539A (zh) | 一种基于改进差分进化算法的矿井通风网络图自动绘制方法 | |
Yang et al. | Research on tourist route based on a novel ant colony optimization algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210831 |
|
RJ01 | Rejection of invention patent application after publication |