一种车辆路径规划方法及系统与流程

文档序号:21274007发布日期:2020-06-26 23:07阅读:489来源:国知局
一种车辆路径规划方法及系统与流程

本发明属于车辆路径规划技术领域,尤其涉及一种车辆路径规划方法及系统。



背景技术:

目前,克隆选择算法是一种受生物免疫系统克隆选择原理启发而设计的新型智能优化算法;ag(antigen)抗原:本发明特指车辆路径规划问题需求;ab(antibody)抗体:本发明特指各个城市路径排序序列;遗忘机制(forgettingmechanism):遗忘是一种信息丢失的现象,在特定的环境下,信息的丢失是有意义的。

车辆路径规划问题(vehicleroutingproblem,vrp)最早是由dantzig和ramser于1959年首次提出,它是指一定数量的客户,各自有不同数量的货物需求,配送中心向客户提供货物,由一个车队负责分送货物,组织适当的行车路线,目标是使得客户的需求得到满足,并能在一定的约束下,达到诸如路程最短、成本最小、耗费时间最少等目的。由于该问题的可行解是所有顶点的全排列,随着顶点数的增加,会产生组合爆炸,它是一个np完全问题。

由于其在交通运输、电路板线路设计以及物流配送等领域内有着广泛的应用,国内外学者对其进行了大量的研究。综合过去有关车辆路线问题的求解方法,可以分为精确算法(exactalgorithm)与启发式解法(heuristics),其中精密算法有分支界限法、分支切割法、集合涵盖法等;启发式解法有节约法、模拟退火法、确定性退火法、禁忌搜寻法、基因算法、神经网络、蚂蚁殖民算法等。但是,随着问题规模的增大,精确算法将变得无能为力,因此,在后来的研究中,现有技术重点使用近似算法或启发式算法。目前主要的车辆路径规划问题中求解最短路径问题的解决方法及其缺陷如下:

1.模拟退火算法:收敛速度慢,执行时间长,参数依赖较大;

2.遗传算法:易陷入局部早熟,收敛性能差,由连续问题归纳到组合问题求解,使得精度受到很大的影响;

3.克隆选择算法:属于进化算法簇,收敛速度过快,容易陷入局部最优;克隆选择算法在求解车辆路径规划问题中存在两个问题:一是存在中间抗体不能及时被淘汰影响算法效率,二是在保证抗体多样性时新生成的抗体存在竞争力不足的问题。

4.蚁群算法:计算开销过大,求解效率不高。

通过上述分析,现有技术存在的问题及缺陷为:

现有车辆路径规划方法结果不准确,精度低,效率不高且耗费时间长。如在物流车辆路径规划系统中使用模拟退火作为核心算法求解车辆规划路径时,由于该方法收敛速度慢,使用者需要等待很久才能得到解,对使用者不友好且系统效率低。再如用遗传算法或原始克隆选择算法作为物流车辆路径规划系统的核心算法时,由于这类方法易陷入局部早熟,往往得到的结果不是最优路径,导致在实际物流配送中多耗费了人力物力,降低了物流配送效率。

解决以上问题及缺陷的难度为:在保证方法收敛速度较快的条件下,提高方法运算结果的准确性。让使用者既不需要等待太久的时间,又可以得到较好的物流车辆路径规划结果。即在保证时间效率的前提下提高物流车辆路径规划的质量。

解决以上问题及缺陷的意义为:提高方法的收敛速度和稳定性,增强方法的求解能力。使得求解物流车辆配送路径的系统性能得到提高,让使用者能够更快的得到更有效的配送路径,在需求相同的情况下让车辆走最少的距离,提高物流配送效率,节省人力物力。



技术实现要素:

针对现有技术存在的问题,本发明提供了一种车辆路径规划方法及系统。

本发明是这样实现的,将车辆路径规划方法应用于物流车辆路径规划系统中作为核心算法,为该系统提供车辆路径规划功能。该核心算法包括:通过初始化n个随机路径作为抗体放入抗体候选集,计算每条车辆路径的距离作为每个抗体与抗原之间的亲和力,初始化标记每个抗体;选择亲和力最高的前n个抗体,对每个抗体进行克隆操作,同时更新标记;对发生变异的抗体重新标记;对变异后的抗体进行重新计算亲和力,选择出与抗原之间亲和力最高的n个抗体,对抗体候选集中的抗体进行更新抗体标记;当抗体满足抗体遗忘阈值时,进行遗忘;当满足评估函数调用次数时终止计算,得到最优的车辆路径。

进一步,所述车辆路径规划方法包括以下步骤:

步骤一,获取城市相关数目以及坐标数据,初始化n个抗体放入抗体候选集,计算每个抗体与抗原之间的亲和力,初始化标记;

步骤二,对计算得到抗原与抗体的亲和力进行排序,选择亲和力最高的前n个抗体,对每个抗体进行克隆操作,并对克隆的抗体更新标记;

步骤三,对克隆的抗体进行变异操作,并对克隆的抗体更新标记;

步骤四,对变异后的抗体进行重新计算亲和力,选择出与抗原之间亲和力最高的n个抗体放入抗体候选集,对这n个抗体的存活时间值加1;

步骤五,判断抗体是否满足抗体遗忘阈值,若满足,则执行遗忘操作;若不满足,则转向步骤六;

步骤六,判断算法是否满足评估函数调用次数,若满足,则输出最优路径、最优路径图以及最优路径距离;若不满足,则返回步骤二。

进一步,步骤一中,所述抗体与抗原之间的亲和力计算公式如下:

其中,citysize为车辆要经过的总城市数,xj、yj为城市j的经纬度,abi为抗体。步骤一中的初始化标记具体过程为对每个抗体赋予初始存活时间值1和抗体竞争属性值1。

进一步,步骤二中,所述克隆包括:

对抗体abi克隆的数量满足下式:

其中,a和b均为常数,且a>0,max_clone为最大克隆数。步骤二中的更新标记具体过程为对被克隆的抗体竞争属性值加1。

进一步,步骤三中,所述变异包括:

亲和力越高的抗体变异的概率越小,利用变异算子进行变异;

所述变异算子为:

其中,operator(σ,abi)是对抗体abi中某城市与间隔σ个的邻居城市进行交叉变异,σ根据抗体亲和力的大小进行取值。步骤三中的更新标记具体过程为对产生变异的抗体赋予初始存活时间值1和抗体竞争属性值1。

进一步,步骤五中,所述遗忘包括:

遗忘判断,根据抗体的当前标记状态计算抗体的遗忘程度,并与遗忘阈值进行比较,当抗体满足遗忘判断条件时,替换为新抗体;获取当前算法迭代次数gen,对新抗体进行gen轮克隆变异操作;对操作后选出的成熟抗体进行抗体初始化标记,并判断是否满足评估函数调用次数,当满足时输出最短路径和该路径的总长度,否则返回步骤二。

进一步,步骤五中,所述遗忘公式为:

其中popsize为抗体候选集种群大小,abnew是从解空间中随机产生的新抗体,pre(·)为抗体预处理过程,c为遗忘阈值。计算抗体的遗忘程度其中,iteration(abi)表示抗体abi在候选抗体集中参与迭代的轮数,即存活时间值,strength(abi)表示抗体abi在当前迭代抗体候选集中的竞争属性值。

本发明另一目的在于提供一种利用车辆路径规划系统包括:

抗体与抗原亲和力获取模块,用于获取城市相关数目以及坐标数据,初始化抗体候选集,计算每个抗体与抗原之间的亲和力,并对每个抗体初始化标记;

克隆操作模块,用于对计算得到抗原与抗体的亲和力进行排序,选择亲和力最高的前n个抗体,对每个抗体进行克隆操作,更新抗体标记;

抗体标记操作模块,用于在经过特定步骤后标记抗体的实时状态;

对变异后的抗体进行重新计算亲和力,选择出与抗原之间亲和力最高的n个抗体放入候选集,对抗体候选集中的抗体进行抗体标记更新操作;

抗体遗忘阈值判读模块,用于判断抗体是否满足抗体遗忘阈值,若满足,则执行遗忘操作;若不满足,则判断算法是否满足评估函数调用次数,若满足,则输出最优路径、最优路径图以及最优路径距离;若不满足,则进行对每个抗体进行克隆操作。

本发明另一目的在于提供一种接收用户输入程序存储介质,所存储的计算机程序使电子设备执行所述车辆路径规划方法。

本发明另一目的在于提供一种存储在计算机可读介质上的计算机程序产品,包括计算机可读程序,供于电子装置上执行时,提供用户输入接口以实施所述车辆路径规划方法。

结合上述的所有技术方案,本发明所具备的优点及积极效果为:

本发明通过有选择性的遗忘来干预克隆选择算法中的替换过程,对抗体集中的抗体进行群体标记和更新,从而达到提高算法收敛速度和收敛稳定性的效果。

本发明提供了一种解决车辆路径规划的方法,利用克隆选择算法所产生的抗体候选集中仅有少量对抗原亲和度高的抗体获得高频突变的机会,其余抗体中,部分低亲和力的抗体被替换为新的抗体参与下一次的克隆选择,而有大量亲和度一般的抗体很难参与克隆选择且长时间存在于抗体集中,这部分不活跃的抗体难以及时清除与更新,从而影响算法逼近最优解的速度。

本发明针对中间抗体(每个抗体abi为一条车辆所经过的城市线路),提出一种动态自适应的遗忘方法。通过动态提升新抗体的竞争潜力,周期性遗忘竞争力弱的抗体,提高了克隆选择算法在求解车辆路径规划问题中的求解精度。在算法收敛方面,改善了传统克隆选择算法过早收敛,容易陷入局部最优解的问题。实验证明,本发明提出的方法很好地解决了克隆选择算法所存在的不足。

本发明受生物遗忘机制启发,提出一种改进的基于遗忘机制的克隆选择算法来解决车辆路径规划问题。通过有选择性的遗忘来干预克隆选择算法中的替换过程,对抗体集中的抗体进行群体标记和更新,从而达到提高算法收敛速度和收敛稳定性的效果。

与传统的基于克隆选择算法解决车辆路径规划问题相比,本发明有以下几个优点:

(1)本发明将生物遗忘中衰减理论和干扰理论的思想引入克隆选择算法的替换过程中,具有动态自适应性,与传统基于克隆选择算法求解车辆路径规划问题相比,能够有效解决中间抗体影响算法收敛性问题,提高克隆选择算法求解车辆路径规划问题中的算法效率。

(2)本发明通过动态提升克隆选择过程中新抗体的竞争潜力,周期性的遗忘竞争力弱的抗体,提高了克隆选择算法在求解车辆路径规划问题中的求解精度。

本发明相比于现有技术,对比的技术效果或者实验效果有:

本发明(icsa)与现有的遗传算法(ga)、克隆选择算法(csa)在解决车辆路径规划问题方面进行比较实验,使用平均解误差率(mer)作为方法评价标准,其中avg_result为100次实验得出的平均结果,opt为理论最优结果。100次实验的平均结果与最优结果越接近,mer值越小,说明方法实验结果越准确,所规划的可行路径越好。

如图5、图6、图7所示分别比较了在不同运输地点规模下,三种方法的平均解误差率(mer)值的对比结果。其中所用到的三个实验数据集,为路径规划领域中的经典公开数据集,bayg29包含29个运输地、att48包含48个运输地、eil101包含101个运输地。实验结果证明,本方法具有更小的平均解误差率,能够更准确的规划出车辆运行的最优路径。

附图说明

图1是本发明实施例提供的车辆路径规划方法流程图。

图2是本发明实施例提供的基于遗忘机制的克隆选择算法流程图。

图3是本发明实施例提供的城市局部交叉问题示意图。

图4是本发明实施例提供的最优路径输出图。

图5是本发明实施例提供的车辆路径规划方法与其它车辆路径规划方法在小规模路径规划的实验结果对比图。

图6是本发明实施例提供的车辆路径规划方法与其它车辆路径规划方法在中等规模路径规划的实验结果对比图。

图7是本发明实施例提供的车辆路径规划方法与其它车辆路径规划方法在大规模路径规划的实验结果对比图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

针对现有技术存在的问题,本发明提供了一种车辆路径规划方法,下面结合附图对本发明作详细的描述。

本发明实施例提供的车辆路径规划方法包括:通过初始化抗体候选集,计算每个抗体与抗原之间的亲和力,初始抗体标记;选择亲和力最高的前n个抗体,对每个抗体进行克隆操作,更新被选择的抗体标记;对克隆的抗体进行变异操作,更新被变异的抗体标记;对变异后的抗体进行重新计算亲和力,选择出与抗原之间亲和力最高的n个抗体,对抗体候选集中的抗体进行抗体标记操作;当抗体满足抗体遗忘阈值时,进行遗忘;当满足评估函数调用次数时终止计算,进行车辆路径规划。

如图1-图2所示,本发明实施例提供的车辆路径规划方法包括以下步骤:

s101,获取城市相关数目以及坐标数据,初始化抗体候选集,计算每个抗体与抗原之间的亲和力,初始化标记抗体,初始化标记具体过程为对每个抗体赋予初始存活时间值1和抗体竞争属性值1。

s102,对计算得到抗原与抗体的亲和力进行排序,选择亲和力最高的前n个抗体,对每个抗体进行克隆操作,同时对这些抗体的抗体竞争属性值增加1。

s103,对克隆的抗体进行变异操作,对变异的抗体重新初始化标记。

s104,对变异后的抗体进行重新计算亲和力,选择出与抗原之间亲和力最高的n个抗体,对抗体候选集中的抗体进行抗体标记操作,操作具体过程为对每个抗体存活时间值增加1。

s105,判断抗体是否满足抗体遗忘阈值,若满足,则执行遗忘操作;若不满足,则转向步骤s106。

s106,判断算法是否满足评估函数调用次数,若满足,则输出最优路径、最优路径图以及最优路径距离;若不满足,则返回步骤s102。

步骤s101中,本发明实施例提供的抗体与抗原之间的亲和力计算公式如下:

其中,citysize为车辆要经过的总城市数,xj、yj为城市j的经纬度,abi为抗体。

步骤s103中,本发明实施例提供的克隆包括:

对抗体abi克隆的数量满足下式:

其中,a和b均为常数,且a>0,max_clone为最大克隆数。

步骤s103中,本发明实施例提供的变异包括:

亲和力越高的抗体变异的概率越小,利用变异算子进行变异。

所述变异算子为:

其中,operator(σ,abi)是对抗体abi中某城市与间隔σ个的邻居城市进行交叉变异,σ根据抗体亲和力的大小进行取值。

步骤s105中,本发明实施例提供的遗忘包括:

获取当前算法迭代次数gen,对新抗体进行gen轮克隆变异操作;对操作后选出的成熟抗体进行抗体标记,并判断是否满足评估函数调用次数,当满足时输出最短路径和该路径的总长度,否则返回步骤s103。

步骤s105中,本发明实施例提供的遗忘公式为:

其中popsize为抗体候选集种群大小,abnew是从解空间中随机产生的新抗体,pre(·)为抗体预处理过程,c为遗忘阈值。

本发明提供一种利用车辆路径规划系统包括:

抗体与抗原亲和力获取模块,用于获取城市相关数目以及坐标数据,初始化抗体候选集,计算每个抗体与抗原之间的亲和力。

克隆操作模块,用于对计算得到抗原与抗体的亲和力进行排序,选择亲和力最高的前n个抗体,对每个抗体进行克隆操作。

抗体标记操作模块,用于对克隆的抗体进行变异操作;对变异后的抗体进行重新计算亲和力,选择出与抗原之间亲和力最高的n个抗体,对抗体候选集中的抗体进行抗体标记操作。计算抗体的遗忘程度其中,iteration(abi)表示抗体abi在候选抗体集中参与迭代的轮数,即存活时间值,strength(abi)表示抗体abi在当前迭代抗体候选集中的竞争属性值。

抗体遗忘阈值判读模块,用于判断抗体是否满足抗体遗忘阈值,若满足,则执行遗忘操作;若不满足,则判断算法是否满足评估函数调用次数,若满足,则输出最优路径、最优路径图以及最优路径距离;若不满足,则进行对每个抗体进行克隆操作。

下面结合具体实施例对本发明的技术方案作进一步说明。

实施例1:克隆选择算法(csa)步骤:

步骤1.初始化抗体集大小、迭代次数、克隆数量等相关参数,从抗原集中随机选出一个抗原并产生候选抗体集,候选抗体集由记忆集合和剩余集合组成。

步骤2.计算候选抗体集中每一个抗体与抗原的亲和力,选出亲和力最高的前n个抗体。

步骤3.对这n个抗体进行克隆,抗体克隆的数量和其与抗原的亲和力成正相关。

步骤4.对克隆后产生的抗体集进行变异处理,亲和力越高的抗体变异的概率越小。

步骤5.计算变异后的抗体亲和力,选出亲和力最高的抗体与当前记忆集合中的抗体比较,选择亲和力较大的抗体放入记忆集合。

步骤6.随机选择d个新的抗体替换掉剩余集合中与抗原亲和力最差的d个抗体。

步骤7.跳转到步骤2进行下一轮迭代,当迭代次数满足终止条件时,算法终止。

在实际使用克隆选择算法求解车辆路径规划问题时,算法随机产生的抗体大概率与抗体之间的亲和力较低,少部分抗体较为优异。当算法进行步骤6的抗体更新时,随机产生的新抗体难以作为优势抗体与已进行多轮迭代的抗体竞争。在下一轮算法迭代过程中本轮新大概率因亲和力排序过于靠后而被淘汰,实际上没有参与到算法的克隆选择过程中,降低了算法的执行效率。

综上,克隆选择算法在求解车辆路径规划问题中存在两个问题:一是存在中间抗体不能及时被淘汰影响算法效率,二是在保证抗体多样性时新生成的抗体存在竞争力不足的问题。

为此本发明受遗忘机制启发,设计一种具有抗体标记和遗忘过程的克隆选择算法。在该模型中,每个抗体abi为一条车辆行驶的城市线路。算法的某次迭代过程按步骤可分为两大部分:一是抗体的选择变异和标记过程,二是抗体的选择遗忘和更新过程。

本发明提出的改进克隆选择算法(improvedclonalselectionalgorithm,icsa)步骤如下:

输入:抗体候选集大小n,克隆个数nc、变异率r、遗忘阈值c

输出:最优抗体

1初始化抗体候选集,计算每个抗体与抗原之间的亲和力;

2选择亲和力最高的前n个抗体,对每个抗体进行克隆操作;

3对克隆的抗体进行变异操作;

4对变异后的抗体进行重新计算亲和力,选择出与抗原之间亲和力最高的n个抗体,对抗体候选集中的抗体进行抗体标记操作;

5当抗体满足抗体遗忘阈值时,执行遗忘操作;

6当算法满足评估函数调用次数时,算法中止,否则返回步骤2。

实施例2:应用改进的克隆选择算法求解车辆路径规划问题中具体操作:

首先提供算法的输入:城市数目以及每个城市的坐标。

步骤1,种群初始化及初始化参数设置;

在本发明中,抗原表示车辆要经过的所有城市间的距离之和,抗体表示车辆要经过的所有城市路径的排序序列。随机生成100个包含了所有城市的路径排序序列,作为初始抗体种群。针对不同的数据集,初始化参数设置如下表:

表1初始化参数设置表

步骤2,亲和力计算

针对车辆路径规划问题,抗体与抗原之间的亲和力计算公式如下:

其中,citysize为车辆要经过的总城市数,xj、yj为城市j的经纬度,abi为抗体。

步骤3,克隆操作

针对上一步计算的抗原与抗体的亲和力,对其进行排序,选择当前候选抗体集中亲和力高的前n个进行克隆。亲和力越高的抗体克隆的数量越多,对抗体abi克隆的数量满足下式:

其中,a和b均为常数,且a>0,max_clone为最大克隆数。

步骤4,变异操作

在变异操作中,亲和力越高的抗体变异的概率越小,本发明提出了一种变异算子,如下式:

其中,operator(σ,abi)是对抗体abi中某城市与间隔σ个的邻居城市进行交叉变异,σ根据抗体亲和力的大小进行取值,当抗体亲和力足够大时,σ=1,可处理如图3所示的局部交叉问题。

如图3左侧所示路径顺序,属于局部连续四个城市的连续,在经过抗体变异,即城市q与间隔1个的邻居城市m交叉后,可得上图右侧所示的局部路径,显然此时变异后的路径较变异前更优。

步骤5,遗忘操作

遗忘操作的意义在于通过自适应的方法改善抗体多样性,提高算法收敛速度。该方法根据抗体的退化程度来判断抗体遗忘的必要性。

具体遗忘公式为:

其中popsize为抗体候选集种群大小,abnew是从解空间中随机产生的新抗体,pre(·)为抗体预处理过程,c为遗忘阈值。计算抗体的遗忘程度其中,iteration(abi)表示抗体abi在候选抗体集中参与迭代的轮数,即存活时间值,strength(abi)表示抗体abi在当前迭代抗体候选集中的竞争属性值。

针对遗忘操作生成的新抗体进行有限次突变的预处理,其目的是改善新抗体的竞争力。具体操作步骤为:获取当前算法迭代次数gen,对新抗体进行gen轮克隆变异操作。最后,对操作后选出的成熟抗体进行抗体标记当算法满足评估函数调用次数时,算法终止并输出最短路径和该路径的总长度,否则返回步骤3。

基于遗忘机制的克隆选择算法进行车辆路径规划流程图如图1-图2所示。

下面结合实验对本发明的技术效果做进一步说明。

本发明(icsa)与现有的遗传算法(ga)、克隆选择算法(csa)在解决车辆路径规划问题方面进行比较实验,使用平均解误差率(mer)作为方法评价标准,其中avg_result为100次实验得出的平均结果,opt为理论最优结果。100次实验的平均结果与最优结果越接近,mer值越小,说明方法实验结果越准确,所规划的可行路径越好。

如图5、图6、图7所示分别比较了在不同运输地点规模下,三种方法的平均解误差率(mer)值的对比结果。其中所用到的三个实验数据集,为路径规划领域中的经典公开数据集,bayg29包含29个运输地、att48包含48个运输地、eil101包含101个运输地。实验结果证明,本方法具有更小的平均解误差率,能够更准确的规划出车辆运行的最优路径。图529个运输地点规模下的mer值对比。图648个运输地点规模下的mer值对比。图7101个运输地点规模下的mer值对比。

应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、cd或dvd-rom的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。

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