一种基于模因算法的风景驾驶路线规划方法与流程

文档序号:17433313发布日期:2019-04-17 03:47阅读:415来源:国知局
一种基于模因算法的风景驾驶路线规划方法与流程

本发明涉及路线规划领域,特别是涉及到风景路线规划方法。



背景技术:

随着社会的不断进步与发展,自驾旅行已成为了一种生活时尚,驾驶路线的规划也越来越受到人们的重视。如今,在空间路网上寻找两点之间的驾驶路线已成为最常见的路线规划活动之一。虽然现在许多移动终端gps导航与在线旅游路线规划网站被用于路线规划。最常见的就是求两点之间的最短路径或最快路径。然而,在实际生活中,人们往往更关注开车的过程,而不是很快到达目的地。比如在驾驶过程中享受沿途风景,或者寻找一条安静的驾驶路线,又或者在夜间驾驶时寻找一条最安全的路线。随着基于位置的社交网络和传感器的日益普及,各种与交通相关的数据以前所未有的规模累积起来,这为路线规划者们提供巨大的便利。但是传统的路线规划方式忽略了路段上的风景值与旅行时间都是随时间变化的,无法满足复杂多样的用户需求。



技术实现要素:

为了克服现有技术的不足,本发明提供了一种基于模因算法的风景驾驶路线规划方法,在指定时刻出发且不超过时间预算的前提下,为用户推荐给定两点间的景色最优驾驶路线。更确切的说,首先在用户给定的时间预算范围内,通过染色体编码过程将从起点到终点的风景路段编码成一条条染色体,得到初始的风景路段种群;其次对种群中的染色体进行适应性评价;接着通过染色体选择、基于局部改进的变异与交叉操作,产生新的风景路段种群;最后反复迭代种群,直至达到指定迭代次数为止,得到一条满足用户要求的风景驾驶路线。

具体而言,本发明一种基于模因算法的风景驾驶路线规划方法采用的技术方案为:利用模因算法,得到一条满足用户要求的最优风景驾驶路线;包括风景路段初始种群生成模块、适应度评价模块、风景路段新种群生成模块;所述风景路段初始种群生成模块是在用户给定的时间预算范围内,筛选出有效风景段的范围,并通过染色体编码过程将从起点到终点的风景路段编码成一条条染色体,得到初始的风景路段种群;所述种群适应度评价模块是对种群中的染色体的适应程度进行评价,并淘汰不符合要求的染色体;所述风景路段新种群生成模块是通过染色体选择、基于局部改进的变异与交叉操作,对每条染色体加以改进,产生风景路段新种群。

进一步地,一种基于模因算法的风景驾驶路线规划方法,所述的风景路段初始种群生成模块包括以下步骤:

步骤一:确定搜索范围;

步骤二:风景路段编码。

进一步地,一种基于模因算法的风景驾驶路线规划方法,所述的确定搜索范围是以起点作为圆心,以起点到终点的平均速度乘以时间预算作为半径,绘制一个圆,该圆即是风景路段的搜索范围。

进一步地,一种基于模因算法的风景驾驶路线规划方法,所述的风景路段编码包括以下步骤:

步骤一:以起点为圆心,以起点到终点的平均速度乘以时间预算作为半径画圆,同理以终点为圆心,相同的半径画圆,两圆相交区域即为有效风景路段选择区域;

步骤二:将有效风景路段选择区域的路段按距离起点的地理距离排序,得到有效风景路段排序集合;从有效风景路段排序集合中随机选择一条风景路段,更新起点为该风景路段中的节点以及时间预算;重复步骤一;

步骤三:如果有效风景路段排序集合为空,则输出此时的风景路线作为一条编码风景路线,结束编码;否则,循环步骤二;最终输出已编码的风景路段初始种群。

进一步地,一种基于模因算法的风景驾驶路线规划方法,适应度评价模块是将风景路段初始种群解码成具体行驶路线后,根据行驶时间与时间依赖的风景值,计算每条染色体的适应度;路线适应度值越大,染色体越优秀,在后续染色体选择过程中被保留下来的几率越大。

进一步地,一种基于模因算法的风景驾驶路线规划方法,风景路段新种群生成模块包括以下步骤:

步骤一:染色体选择;

步骤二:基于局部改进的变异;

步骤三:染色体交叉。

进一步地,一种基于模因算法的风景驾驶路线规划方法,染色体选择是采用轮盘赌轮算法来选择的,首先计算种群中所有染色体的适应值之和,然后计算每条染色体的适应值与总适应值的比值,最后采用轮盘赌轮算法从种群中选择一条染色体,并将其添加到新的群体中,通过多次迭代选择,得到与种群相等大小的新种群,且新种群中含有较高适应值的重复染色体。

进一步地,一种基于模因算法的风景驾驶路线规划方法,基于局部改进的变异操作是在不违背时间预算的前提下,在有效风景路段选择范围内,随机选择的一条风景路段被另外一条风景路段替换;变异操作由用户指定的变异概率pm与在[0,1]范围内的随机值ρm两个参数控制,pm>ρm时,执行变异。

进一步地,一种基于模因算法的风景驾驶路线规划方法,所述染色体交叉操作是采用赌博机制选择两条染色体,并在相同的位置将两条染色体分成两部分,通过交换两条染色体的第二部分产生两条新的染色体;交叉操作由用户指定的交叉概率pc与在[0,1]范围内的随机值ρc两个参数控制,pc>ρc,执行交叉。

进一步地,一种基于模因算法的风景驾驶路线规划方法,所述的模因算法包含以下步骤:

步骤一:通过确定搜索范围和风景路段编码,得到风景路段初始种群;

步骤二:对初始种群进行解码操作,得到多条具体驾驶路线,对每条驾驶路线进行适应性评价;

步骤三:通过染色体选择、基于局部改进的变异与交叉操作,对每条染色体加以改进,得到一个新的风景路段种群;

步骤四:循环步骤二、步骤三,直到达到用户指定迭代次数为止,输出此时的风景驾驶路线作为最优风景驾驶路线。

本发明的有益效果为:基于模因算法的风景驾驶路线规划方法,在指定时刻出发且不超过时间预算的前提下,为用户推荐给定两点间的景色最优驾驶路线。更确切的说,首先在用户给定的时间预算范围内,通过染色体编码过程将从起点到终点的风景路段编码成一条条染色体,得到初始的风景路段种群;其次对种群中的染色体进行适应性评价;接着通过染色体选择、基于局部改进的变异与交叉操作,产生新的风景路段种群;最后反复迭代种群,直至达到指定迭代次数为止,得到一条满足用户要求的风景驾驶路线。

附图说明

图1为本发明的方法流程框架;

图2为风景路段搜索范围示意图;

图3为有效风景路段选择范围;

图4为染色体编码过程示意图;

图5为染色体变异过程图;

图6为染色体交叉示意图;

图7为本发明实施例1示意图:起点为杂货店,终点为星巴克咖啡馆,其中三种路线分别表示不同的驾驶路线。

具体实施方式

下面结合附图来进一步描述本发明的技术方案:

本文的方法流程框架主要三个模块:风景路段初始种群生成模块、适应度评价模块、风景路段新种群生成模块,如图1所示。

风景路段初始种群生成模块:在用户给定的时间预算范围内,筛选出有效风景段的范围,并通过染色体编码过程将从起点到终点的风景路段编码成一条条染色体,得到初始的风景路段种群。

适应度评价模块:对种群中的染色体的适应程度进行评价,并淘汰不符合要求的染色体。

风景路段新种群生成模块:通过染色体选择、基于局部改进的变异与交叉操作,对每条染色体加以改进,产生风景路段新种群。

1、风景路段初始种群生成

风景路段初始种群生成包含两个步骤。

步骤1:确定搜索范围;确定搜索范围。

以起点作为圆心,以起点到终点的平均速度乘以时间预算作为半径,绘制一个圆,该圆即是风景路段的搜索范围。如图2所示。

步骤2:风景路段编码。风景路段编码包含以下步骤:

步骤2.1.以起点为圆心,以起点到终点的平均速度乘以时间预算作为半径画圆,同理以终点为圆心,相同的半径画圆,两圆相交区域即为有效风景路段选择区域,如图3所示;步骤2.2.将有效风景路段选择区域的路段按距离起点的地理距离排序,得到有效风景路段排序集合;从有效风景路段排序集合中随机选择一条风景路段,更新起点为该风景路段中的节点以及时间预算;重复1;步骤2.3.如果有效风景路段排序集合为空,则输出此时的风景路线作为一条编码风景路线,结束编码;否则,循环步骤1、步骤2。最终输出已编码的风景路段初始种群。图4是一条染色体的编码过程。

2、适应度评价

在进行适应度评价前,需要将风景路段初始种群中染色体解码成具体的驾驶路线,然后计算每条染色体的适应度。由于染色体中每条风景路段有正向和反向两个方向,为了使解码出来的可行风景路线在保证风景值的前提下,尽量减少行驶路线花费的时间,解码一条染色体需要考虑所有风景路段的方向问题。为了取得染色体中最优的路段方向组合,我们设计了一种动态规划算法。算法的输入起点o、终点d、待解码染色体、预先存储的最短路径中任意两个节点之间的距离;该算法的输出是遍历所有风景路段的最短行驶路线。

染色体解码后成了具体的行驶路线,我们可以根据出发时间计算通过这条线路时间依赖的风景值和旅行时间,然后淘汰一些不满足实际条件的染色体,这里将时间依赖的旅行时间超过时间预算的染色体淘汰。根据时间依赖的风景值和旅行时间,计算染色体的适应度。解码出的路线适应度函数值越大,表示产生路线的具有较高的风景值和较少的旅行时间,染色体越优秀,在后续染色体选择的过程被保留下来的几率越大。

计算染色体适应度。其中p表示给定的解码后的行驶路线,f(p)表示路线p的适应度,u(p)表示路线p的风景值,c(p)表示路线p的旅行时间。

3、风景路段新种群生成模块

风景路段新种群生成包含三个步骤。

步骤1:染色体选择。

染色体选择的目的是提高种群中优良染色体的比例;染色体的选择实际上是模拟生物进化适者生存的过程。个体的适应值越高,生存的机会越大。一个新的染色体种群是由染色体选择的迭代过程产生的。我们采用轮盘赌轮算法来选择染色体,首先计算种群中所有染色体的适应值之和,然后计算每条染色体的适应值与总适应值的比值,最后采用轮盘赌轮算法从种群中选择一条染色体,并将其添加到新的群体中,通过多次迭代选择,得到与种群相等大小的新种群,且新种群中含有较高适应值的重复染色体。

步骤2:基于局部改进的变异。

基于局部改进的变异作用于单个染色体,交叉操作基于一对染色体。基于局部改进的变异。染色体变异操作是由两个参数控制,即pm和ρm,其中pm是用户指定的常数,通常称作变异概率;ρm是在[0,1]范围内的随机值。依次选取每条染色体,并产生ρm,当pm>ρm时,对这条染色体执行变异操作,产生一个染色体长度范围内的随机数i表示风景路段变异的位置。该染色体中第i个风景路段,将会被替换为一个新的风景路段片段。图5展示的染色体的变异示例。

步骤3:染色体交叉。

染色体交叉。染色体交叉操作由两个参数控制,即pc和ρc,其中pc是用户指定的常数,通常称作交叉概率;ρc是在[0,1]范围内的随机值。在种群中,设有k条染色体,从第1条染色体开始,依次选取第j条染色体和第j+1条染色体,其中1≤j≤k并产生ρc值;当pc>ρc时,这两条染色体满足交叉的条件,接下来会执行染色体交叉操作,产生一个染色体长度范围内的随机数i表示风景路段交换的位置。图6展示的染色体交叉示意图。

于是,基于模因算法的风景驾驶路线规划算法整体流程如图1所示,主要步骤如下:

步骤1.通过确定搜索范围和风景路段编码,得到风景路段初始种群;步骤2.对初始种群进行解码操作,得到多条具体驾驶路线,对每条驾驶路线进行适应性评价;

步骤3.通过染色体选择、基于局部改进的变异与交叉操作,对每条染色体加以改进,得到一个新的风景路段种群;

步骤4.循环步骤2、步骤3,直到达到用户指定迭代次数为止,输出此时的风景驾驶路线作为最优风景驾驶路线。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1