一种基于非支配排序粒子群遗传算法的车辆位置路由方法技术

技术编号:33211319 阅读:30 留言:0更新日期:2022-04-27 16:47
本发明专利技术涉及一种基于非支配排序粒子群遗传算法的车辆位置路由方法,属于人工智能自动驾驶技术领域。本发明专利技术提出了一种混合全局局部搜索的非支配排序粒子群遗传算法,使用粒子群算法的变化算子与遗传算法变化算子同时进行种群的进化,提高了搜索能力、加快了收敛速度。使用NSGA

【技术实现步骤摘要】
一种基于非支配排序粒子群遗传算法的车辆位置路由方法


[0001]本专利技术涉及一种车辆位置路由方法,具体涉及一种基于非支配排序粒子群遗传算法的车辆位置路由方法,属于人工智能自动驾驶


技术介绍

[0002]在自动驾驶领域,车辆位置路由问题(Location

routing problem,LRP)是车辆调度的重要问题之一。LRP问题由两种NP

hard问题集合而成,分别是位置分配问题(Location

allocation problem,LAP)和车辆路线选择问题(Vehicles routing problem,VRP)。
[0003]Laporte在1986年描述了经典的LRP问题,该问题需要从潜在设施(如仓库)位置中选择最优位置,将有配送需求的用户分配到仓库进行服务,而且需要满足分配给仓库的用户需求不得超过仓库的容量,并确定从仓库开始对用户服务的车辆路线,每条路线从同一个仓库开始,在同一个仓库结束,而且每个用户仅由一辆车服务。在经典的LRP问题中,目标函数是使车本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于非支配排序粒子群遗传算法的车辆位置路由方法,其特征在于,包括如下步骤:步骤1:对种群中的可行解个体,进行遗传算法的编码、解码和搜索,包括以下步骤:步骤1.1:对种群中可行解个体,进行染色体编码和解码,方法如下:采用离散式编码,每个个体由一个向量组成,其中,向量长度L为用户个数|J|与所有候选仓库的个数|I|的和减1:L=|J|+|I|
‑1ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)将所有候选仓库从0开始编号:I=i0,i1,...,i
|I

1|
,对所有用户从|I|开始编号:J=j
|I|
,j
|I+1|
,...,j
|J+I

1|
;向量长度L每个位置的取值范围为:1到|J|+|I|

1的整数,且每个值不重复出现;该编码方式的含义是:在可行解向量中,从向量下标0开始一直到出现第一个属于仓库的编号位置之间的向量值属于仓库0所服务的用户编号,在第一个属于仓库编号的值至第二个属于仓库编号的值之间的向量值为第一个仓库编号所服务的用户编号,以此类推;解码过程为上述编码过程的逆操作;步骤1.2:对种群中的个体进行交叉变异;步骤1.3:通过步骤1.2得到的个体与父代结合,最终选择出最好的个体,方法如下:将子代与父代结合成大小为2N的R
t
,其中R
t
=P
t
+Q
t
,R
t
表示子代与父代合并后的种群,P
t
表示父代种群,Q
t
表示子代种群;首先,从R
t
中挑选出N个个体,作为下一代迭代进化的父代,以此保证父代中的优良个体不会被丢弃;对2N个体,使用快速非支配排序算法,对R
t
中的个体根据Pareto支配关系分为i个非支配层F1,F2,...,F
i
,其中,第一类支配层优于第二类支配层,第二类支配层优于第三类支配层,以此类推;依次从F1开始,将整个非支配层的全部个体加入到新回合进化的临时父代种群S
t
,直到S
t
的个体数量正好达到N或者第一次超过N,最后被加进S
t
中的临界层称为第l层;若S
t
中的个体数量大于N,则已被选择的l

1层的个体均放入P
t+1
,剩余K=N

|P
t+1
|个个体将从F
l
层中选出,P
t+1
表示下一代父代种群;采用NSGA

III算法选择机制,使用基于预先定义的分布均匀的参考点的方式对第l层进行个体的选择,通过将每个个体解和参考点相互联系,再根据参考点相关联解的密度进行个体的选择;步骤2:对种群中的优势个体和次优个体进行局部搜索,包括以下步骤:步骤2.1:构建聚合函数;使用目标函数的加权和作为聚合函数,作为局部搜索中的选择算子;在每一代经过选择算子选择后的P
t+1
中,使用聚合函数从中选择进行局部搜索的个体,以归一化之后的个体位置向量作为选择的基准;λ=[λ1,λ2,λ3]是三个目标函数上的权重向量,其取值来源于参考点;参考点在归一化后的个体位置向量解空间均匀分布,每一代进行局部搜索时,从参考点中随机选取一个点作为λ,以参考点在各目标函数坐标轴上的值作为聚合函数中目标函数的权值;聚合函数f
*
(x)如下所示:
λ1+λ2+λ3=1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(11)其中,λ1、λ2、λ3表示三个目标函数上的权重向量,分别表示各目标函数,n表示维度个数,x表示当前解;式(10)作为衡量指标,并使用无放回的锦标赛方法,选择一个优质个体解进行局部搜索;将上述选择进行局部搜索个体的过程重复T
1oac1
次,T
1ocal
=P
local
*N,P
loca1
为局部搜索的概率参数;步骤2.2:局部搜索策略;如果局部搜索得到的解x

能够Pareto支配种群中的任意一个解,则将x

加入种群,并替换该x

被Pareto支配的个体,否则放弃x

;局部搜索采用三种变化算子:反转、交换、插入;其中,反转是指反转个体向量中的两位编码;交换是对个体向量中的两位编码进行位置交换;插入操作是从个体向量中截取两位编码插入到向量的首位;同时,对除F1层中的次优个体进行局部搜索,目的是提高种群整体解的质量;对于P
t+1
中所有支配解个体X
Poor
=P
t+1
/F1,即,P
t+1
集合中去除F1集合中个体,使用三种变化算子进行操作,包括反转、交换和插入;如果x经过局部搜索后的新个体x

成为种群中的Pareto最优解,即,不存在x∈P
t+1
/F1使得x Pareto支配x

,则将该新个体x

加入到种群中替换原个体x,否则放弃本次搜索结果;步骤3:仿真得到最终车辆位置路由调度结果。2.如权利要求1所述的一种基于非支配排序粒子群遗传算法的车辆位置路由方法,其特征在于,步骤1.2包括如下步骤:步骤1.2.1:在种群初始化阶段,随机初始一个大小为N的粒子种群,并为每个粒子赋值初始位置和速度,初始位置与速度均为长度为|J|+|I|

1的向量,其中,粒子的初始位置向量x为该粒子表示的问题可行解,初始化值的取值范围为[1,|J|+|I|

1]内的整数,速度v的初始化范围是在[

(|I|+|J|

1),+(|I|+|J|

1)]内呈正态分布的随机实数;步骤1.2.2:开始进化循环,直到满足终止条件;在进化的每一代,通过粒子群变化算子,由大小为N的父代种群P
t
产生大小为N的临时子代种群E
t
;粒子群变化算子如下:对P
t
中第i个粒子,有:v
i
(t+1)=ωv
i
(t)+c1r1(x
pbesti

x
i
(t))+c2r2(x
gbest

x
i
(t))
ꢀꢀꢀꢀ
(2)x
i
(t+1)=x
i
(t)+v
i
(t+1)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)其中,v
i
表示粒子i的速度,t表示当前时刻,ω表示动态惯性权重,x
pbesti
表示粒子i的个体历史最优解,x
gbest
表示粒子i的全局最优解,x
i
表示表示粒子在t时刻的位置;c1、c2是两个常数,c1使得粒子向个体历史最优方向飞行,c2使得粒子向全局最优的方向飞行;r1、r2是在0至1范围内正态分布的随机数,代表粒子的加速因子;惯性权重能够影响粒子群算法的全局搜索与局部搜索偏好,此处使用动态惯性权重方式;动态惯性权重ω如式(4)所示:
t
max
表示算法运行的最大数目;ω
max
、ω
min
表示ω的上限和下限值;式(3)中,向量的加减为计算双方向量对应下标位置的取值的加减;相加计算的结果x
i
(t+1),对该向量各位上的实数值进行大小排序,对排序结果顺序赋值[1,|J|+|I|

1]范围内的整数;步骤1.2.3:对种群中的个体使用粒子群变化算子后,再次使用遗传算法的变化算子对临时子代种群E
t
搜索,对E
t
中所有粒子个体的初始位置向量x进行交叉变异操作;将E
t
中的个体按顺序选择作为交叉变化的父个体,构成E
t
/2组父个体;对每组父个体进行交叉操作:随机产生一个介于0到个体向量长度|J|+|I|

1间的随机整数α1,设父个体初始位置向量x1在下标α1位置上的值为k,找寻x2中值为k的下标值α2,在x1中下标α2位置的值为...

【专利技术属性】
技术研发人员:刘琼昕牛文涛王琰康王亚男马旺
申请(专利权)人:北京理工大学
类型:发明
国别省市:

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

1