一种基于需求密度预测的无人驾驶出租车集约化调度方法

文档序号:32443905发布日期:2022-12-06 23:13阅读:59来源:国知局
一种基于需求密度预测的无人驾驶出租车集约化调度方法

1.本发明涉及需求预测与调度技术领域,尤其涉及一种基于需求密度预测的无人驾驶出租车集约化调度方法。


背景技术:

2.由于交通量的快速增长和低效的调度操作,传统的交通系统为人类提供舒适便利出行条件的同时也面临着乘客等车时间过长,更多的燃料消耗和交通拥堵和等严峻的挑战。为解决上述问题,提升系统效率,需要预测不同时间间隔内不同空间区域的车辆需求分布,各平台根据准确预测的车辆分布信息智能的进行车辆分配。无人驾驶出租车在此基础上降低了沟通成本,市民只需在小程序中输入目的地,系统即可自动匹配相应路线和乘车点,并呼叫车辆,将乘客需求与车辆派发对接起来,同时避免了在狭小空间内与他人的接触,未来通行效率和便捷程度前景广阔。
3.目前,预测无人驾驶出租车需求的研究体系主要包含基于统计、基于机器学习和基于深度学习三种方法。多数方法虽然融合了时间和空间特征,但未充分考虑特征内部的信息差异性。车辆调度多用于实现城市区域乘客需求和出租车供应之间的平衡。传统网约车虽充分考虑乘客等待时间和供需平衡问题,但司机和乘客的仍存在沟通成本且很少考虑利益问题。
4.因此,设计合理的网络内部结构和调度策略,使其可应用于更广泛的预测场景,使供车平台和乘客实现双赢,是目前亟需解决的问题。


技术实现要素:

5.本发明要解决的技术问题是针对上述现有技术的不足,提供一种基于需求密度预测的无人驾驶出租车集约化调度方法,实现无人驾驶出租车需求长时延、大跨度的预测和高收益调度。
6.为解决上述技术问题,本发明所采取的技术方案是:一种基于需求密度预测的无人驾驶出租车集约化调度方法,包括以下步骤:
7.步骤1:动态聚合无人驾驶出租车需求在不同需求频度以及不同时间层上的属性特征;
8.步骤1.1:将无人驾驶出租车需求按照时间尺度划分为邻近层hc、周期层hd、近趋势层 hk和远趋势层hm四个时间层;
9.步骤1.2:将每个时间层的无人驾驶出租车需求按照需求频度划分为三个感知域;
10.将一个地区划分成pxq个空间网格,每个网格都有对应的无人驾驶出租车历史需求数据,则将4个时间层对应的无人驾驶出租车历史需求数据记为张量η=c,d,k,m用于表示四个时间层,表示实数;再将每个时间层的无人驾驶出租车需求按照需求频度划分为三个感知域,如下公式所示:
[0011][0012]
其中,表示时间层η对应的第g个感知域,g=0、1、2,i为无人驾驶出租车需求;α和β为动态确定的需求边界;
[0013]
步骤1.3:针对4个时间层,设计celu网络结构捕获无人驾驶出租车需求的全范围时空相关性;
[0014]
所述celu网络结构由卷积层conva、l层残差单元以及卷积层convb组成,能够动态聚合无人驾驶出租车需求在不同需求频度以及不同时间层上的属性特征,具体方法为:
[0015]
(1)针对每个时间层内的需求频度,将不同区域历史时段的需求转换成双通道图像状矩阵,通过卷积层conva进行初步特征提取,输出结果记为如下公式所示:
[0016][0017]
其中,分别为卷积层conva的权重和偏置,用于调整不同时间层对结果预测的重要程度;*表示卷积算子;
[0018]
(2)将卷积层conva输出的特征映射送入l个连续的残差单元,每个残差单元计算结果如下公式所示:
[0019][0020]
其中,ξ是残差函数,为残差单元的输入;表示第l个残差单元中所有需学习的参数;
[0021]
所述残差单元为三层结构,其中第一层和第二层均为层卷积层conv和激活函数elu的结构组合,第三层在第二层的基础上叠加dropout层;
[0022]
(3)经过第l个残差单元后的输出记为将其送至卷积层convb进行数据规格的统一,从而得到一个时间层的无人驾驶出租车需求输出,记为如下公式所示:
[0023][0024]
其中,是激活函数;和分别为卷积层convb的权重和偏置;
[0025]
步骤2:提取无人驾驶出租车需求的外部环境特征和兴趣点特征;
[0026]
步骤2.1:提取无人驾驶出租车需求的外部环境特征;
[0027]
对每个时段分别提取一组无人驾驶出租车需求的外部环境特征向量,包含气象o
met
、星期向量、星期向量是整数、工作日o
wrk
和节假日o
hol
;并将不同时段的特征向量拼接为矩阵的形式,记为o
hmw
,再将该矩阵送入全连接层进行特征提取,得到基于o
met
、 o
wrk
和o
hol
的外部环境特征,记为o
st
,如下公式所示:
[0028][0029]
其中,
×
表示矩阵的乘法,w
st
和b
st
分别代表外部环境特征的权重和偏置;
[0030]
步骤2.2:使用卷积神经网络结合全连接层来提取无人驾驶出租车需求的兴趣点特征,得到基于兴趣点o
poi
的兴趣点特征,记为o
sc
,如下公式所示:
[0031][0032]
其中,w
sc
和b
sc
分别代表兴趣点特征的权重和偏置,其值取决于各兴趣点对无人驾驶出租车需求的影响程度;
[0033]
步骤3:将无人驾驶出租车需求的时空特征和外部特征进行融合;
[0034]
步骤3.1:采用基于参数矩阵的融合方式,从4个不同的时间层上挖掘无人驾驶出租车需求的时空信息,得到tj时段无人驾驶出租车需求的时空特征,记为如下公式所示:
[0035][0036]
此处的融合分为两个部分,首先是每个时间层内的3种不同需求频度感知域融合,得到的融合向量记为之后是4个时间层之间的融合,计算公式如式(8)、(9)所示:
[0037][0038][0039]
其中,是hadamard乘积;w
η,0
,w
η,1
,w
η,2
分别表示3个需求频度感知域的权重矩阵; wc,wd,wk,wm分别表示4个时间层的权重矩阵;为偏置;
[0040]
步骤3.2:将外部环境特征和兴趣点特征进行融合,得到无人驾驶出租车需求的外部特征,记为r
ex
,如式(10)所示:
[0041][0042]
其中,w
sc
,w
st
,b
ex
均为可调整的权重参数;
[0043]
步骤3.3:将无人驾驶出租车需求的时空特征和外部特征进行融合,使二者进行协同训练以获取不同领域无人驾驶出租车需求的预测值;
[0044]
利用两种不同的融合方法对时空特征和外部特征进行融合;采用求和融合方法来表征逐步变化的需求,而对于突然变化的需求,则应用基于门控机制的融合方法进行融合最后通过tanh函数将融合的特征映射到[-1,1],得到无人驾驶出租车需求的预测值,如下公式所示:
[0045][0046]
其中,为tj时段无人驾驶出租车需求的预测值,φ为门控激活函数sigmoid;
[0047]
步骤4:从四个时间层和外部特征预测无人驾驶出租车需求;
[0048]
以最小化无人驾驶出租车需求的预测矩阵和真实矩阵之间的均方误差为目
标函数,获得无人驾驶出租车需求预测所涉及的权重和偏差的最优取值,实现从四个时间层和外部特征预测需求;
[0049]
目标函数下公式所示:
[0050][0051]
其中,ψ表示目标函数,w和b分别表示无人驾驶出租车需求预测所涉及的所有权重和偏差集合;
[0052]
步骤5:在步骤4预测的无人驾驶出租车需求的基础上,采用启发式遗传算法实现无人驾驶出租车与乘客的匹配;
[0053]
步骤5.1:采用实数编码方式对无人驾驶出租车和乘客进行编码;
[0054]
采用实数编码方式表示无人驾驶出租车和乘客,即[x1,y1,x2,y2,

,xn,yn],其中,xi为无人驾驶出租车d
id
,yi为乘客s
id
,[xi,yi]表示无人驾驶出租车与乘客匹配,也表示染色体内的一个基因,i=1、2、

、n,n表示无人驾驶出租车的数量;
[0055]
步骤5.2:种群初始化;
[0056]
将种群分为c个基因组,基因组数量c根据无人驾驶出租车位置动态决定,各组分别包括u个基因组染色体,u的值由公式(13)给出;
[0057][0058]
其中,a
gen
为基因组内乘客数量,b
gen
为基因组内无人驾驶出租车数量;
[0059]
基因组内,当a
gen-b
gen
>0时,固定无人驾驶出租车d
id
,不重复的随机生成乘客s
id
,此时,无人驾驶出租车的数量n=b
gen
,车辆完全匹配;当a
gen-b
gen
<0时,随机选取数量为a
gen
的无人驾驶出租车,固定其对应的车辆编号d
id
,不重复的随机生成乘客编号s
id
,此时,无人驾驶出租车的数量n=a
gen
,乘客完全匹配;
[0060]
从各基因组中分别随机选取基因组染色体拼合形成g条带有基因组标记的完整染色体,对g条完整染色体进行去重和遗传操作,经历θ次迭代,选出最优染色体即为无人驾驶出租车与乘客的匹配结果;
[0061]
步骤5.3:对种群内完整染色体进行去重与修复;
[0062]
步骤5.3.1:对种群内完整染色体进行去重;
[0063]
步骤5.3.1.1:取染色体中乘客编号集合s
id
与车辆编号集合d
id
,定位染色体中重复出现的乘客编号及其所在基因组,获取该基因组内乘客总编号集合与s
id
的差集s
ds
,将重复乘客对应的车辆编号和车辆总编号集合与d
id
的差集汇总为集合d
ds
;定位染色体中重复出现的车辆编号及其所在基因组,获取该基因组内车辆总编号集合与d
id
的差集d
ds
,将重复车辆对应的乘客编号和乘客总编号集合与s
id
的差集汇总为集合s
ds

[0064]
步骤5.3.1.2:判断集合s
ds
和d
ds
是否是空集,如果是空集则从染色体中删除该基因,否则,将集合s
ds
和d
ds
中元素汇总形成二分图,通过匈牙利算法得到与该基因最优匹配基因,并替换到原来基因位置;
[0065]
步骤5.3.1.3:判断所有重复乘客和车辆的编号是否全部替换完毕,若全部替换完毕则结束操作,否则重新执行步骤5.3.1.1;
[0066]
步骤5.3.2:对完整染色体进行修复;
[0067]
首先获取车辆和乘客总编号集合,并分别计算车辆和乘客总编号集合与染色体中车辆和乘客编号的差集d
ds
和s
ds
,再将差集d
ds
和s
ds
汇总并形成二分图,采用匈牙利算法得到最优匹配的基因,最后将最优匹配的基因添加到当前染色体尾部;
[0068]
染色体经过去重和修复操作后,无人驾驶出租车的数量n=min{a,b},a为乘客总数,b 为无人驾驶出租车总数;
[0069]
步骤5.4:确定种群内完整染色体的适应度函数;
[0070]
将染色体适应度γ定义为如下公式所示:
[0071][0072]
其中,为经济效益与需求密度集群效益加权和;
[0073][0074]
其中,ρ为无人驾驶出租车里程费;δ为时长费;为tj时段车辆平均速度,是tj时段车辆在任意两地间平均速度,其值是根据公式得到各时段内车辆行驶任意两地间所需平均时间确定的;ε为油耗指数,其与车速的关系满足公式 (16);n为乘客出发地与乘客目的地的测地距离,e为车辆与乘客的匹配距离,其值随传感邻域阶数呈线性增长,如公式(17)所示,u为车辆当前位置与乘客出发地的测地距离;
[0075][0076][0077][0078]
其中,x为下客区无人驾驶出租车需求密度,其值即为无人驾驶出租车需求预测值;σ为权重系数;为下客区一阶传感邻域无人驾驶出租车需求密度;x
avg
为车辆到达目的地时所属时段全局需求密度均值;τ为有效需求区域数;
[0079]
步骤5.5:对种群内完整染色体进行遗传操作,得到无人驾驶出租车与乘客的最优匹配结果;
[0080]
步骤5.5.1:对种群内染色体进行选择;
[0081]
采用轮盘赌选择法和最佳染色体保存法相结合的方式进行染色体选择;
[0082]
染色体选择概率probability如下公式所示:
[0083][0084]
其中,γa为当前种群中第a个染色体的适应度,g为种群规模;
[0085]
将适应度排在前的染色体直接复制到下一代而不进行交叉,剩余个染色体采用轮盘赌选择法选择染色体进行交叉;
[0086]
步骤5.5.2:染色体交叉;
[0087]
交叉操作在满足交叉概率f=0.9条件下进行;首先生成0和1之间的随机数f
rand
,当f 大于f
rand
时,随机在乘客编码位后产生两个交叉点,定义两交叉点间区域为匹配区域,使用位置交换操作交换两个染色体的匹配区域,执行去重操作,保留适应度大于设定值的染色体并复制到下一代;
[0088]
步骤5.5.3:染色体变异;
[0089]
变异操作在满足变异概率k=0.8条件下进行;其流程如下:
[0090]
步骤5.5.3.1:判断车辆总编号集中是否有未匹配到乘客编号的车辆编号,若没有,直接执行步骤5.5.3.2;否则,将未匹配到乘客编号的车辆编号汇总为集合d
ds
,遍历d
ds
中各车辆编号,执行以下操作;
[0091]

获取未匹配到乘客编号的车辆编号所在基因组中未匹配车辆的乘客集s
ds
,若遍历s
ds
中元素,直到找到与车辆编号匹配可使染色体适应度值变大的乘客编号,将该车辆编号与乘客编号插入到染色体中;如果没有可使染色体适应度值变大的乘客编号或则直接执行步骤


[0092]

遍历d
ds
中下一个元素,并再次执行步骤

,直到d
ds
中所有元素遍历完毕;
[0093]
步骤5.5.3.2:获取染色体中车辆集d
id
和乘客集s
id
,判断车辆总编号集中是否有未匹配到乘客编号的车辆编号,乘客总编号集中是否有未匹配到车辆编号的乘客编号,将未匹配到乘客编号的车辆编号汇总为集合d
ds
,未匹配到车辆编号的乘客编号汇总为集合s
ds
;并执行以下操作:
[0094]
i.判断d
ds
和s
ds
是否为空,若遍历d
ds
中元素d
dsn
,然后执行步骤ii;
[0095]
ii.遍历d
id
中元素d
idm
,判断d
idm
所在基因组与d
dsn
所在基因组是否相同,若不同,则遍历d
id
下一个元素,重复执行步骤ii,直到遍历完d
id
中所有元素,再遍历d
ds
下一个元素;否则,执行步骤iii;
[0096]
iii.交换染色体d
dsn
与d
idm
,查看染色体适应度值是否增大,如果染色体适应度值增大,则遍历集合d
id
的下一个元素,重复执行步骤i;否则,更新染色体,重新获取集合d
id
、s
id
、 d
ds
和s
ds
,并再次执行步骤i;
[0097]
若执行与d
ds
相同操作;当且或d
ds
、s
ds
中元素全部遍历完成时,执行步骤5.5.3.3;
[0098]
步骤5.5.3.3:获取染色体中车辆集d
id
和乘客集s
id
;遍历集合d
id
中元素d
idu
,并执
行以下操作:
[0099]ⅰ、判断该元素d
idu
与其后一个元素所在基因组是否相同,若相同,则执行步骤ⅱ;否则,遍历集合d
id
下一个元素,直至遍历完集合d
id
中所有元素;当该元素d
idu
与其后所有元素判断完毕,遍历集合d
id
中的下一个元素;
[0100]ⅱ、交换d
idu
与其后一个元素d
idv
,查看染色体适应度值是否增大,若没有增大,则遍历元素d
idv
的后一个元素,并重复执行操作ⅰ;否则,更新染色体,重新获取集合d
id
与s
id
,并再次遍历集合d
id
中元素d
idu
,执行上述操作ⅰ、ⅱ。
[0101]
采用上述技术方案所产生的有益效果在于:本发明提供的一种基于需求密度预测的无人驾驶出租车集约化调度方法,消除了无人驾驶出租车需求密度对某一特征的过度依赖,可将无人驾驶出租车及时调度到具有高收益潜力的区域,兼顾了全局供需平衡和总体盈利能力;消除了无人驾驶出租车需求密度受个别极值点的影响,可平衡数据趋势较大的空间;可有效减少无人驾驶出租车空驶距离和乘客等待时间,结合匈牙利算法防止遗传操作造成基因缺失而无法获得最优解;提升了无人驾驶出租车接单率和利润率,实现了全局供需平衡。
附图说明
[0102]
图1为本发明实施例提供的一种基于需求密度预测的无人驾驶出租车集约化调度方法的流程图;
[0103]
图2为本发明实施例提供的对种群内完整染色体进行去重的流程图;
[0104]
图3为本发明实施例提供的染色体交叉的流程图。
具体实施方式
[0105]
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0106]
本实施例中,一种基于需求密度预测的无人驾驶出租车集约化调度方法,如图1所示,包括以下步骤:
[0107]
步骤1:动态聚合无人驾驶出租车需求在不同需求频度以及不同时间层上的属性特征;
[0108]
步骤1.1:将无人驾驶出租车需求按照时间尺度划分为邻近层hc、周期层hd、近趋势层 hk和远趋势层hm四个时间层;
[0109]
步骤1.2:将每个时间层的无人驾驶出租车需求按照需求频度划分为三个感知域;
[0110]
将一个地区划分成pxq个空间网格,每个网格都有对应的无人驾驶出租车历史需求数据,则将4个时间层对应的无人驾驶出租车历史需求数据记为张量η=c,d,k,m用于表示四个时间层,表示实数;再将每个时间层的无人驾驶出租车需求按照需求频度划分为三个感知域,如下公式所示:
[0111][0112]
其中,表示时间层η对应的第g个感知域,g=0、1、2,i为无人驾驶出租车需求;α和β为动态确定的需求边界;
[0113]
步骤1.3:针对4个时间层,设计celu网络结构捕获无人驾驶出租车需求的全范围时空相关性;
[0114]
所述celu网络结构由卷积层conva、l层残差单元以及卷积层convb组成,能够动态聚合无人驾驶出租车需求在不同需求频度以及不同时间层上的属性特征,具体方法为:
[0115]
(1)针对每个时间层内的需求频度,将不同区域历史时段的需求转换成双通道图像状矩阵,通过卷积层conva进行初步特征提取,输出结果记为如下公式所示:
[0116][0117]
其中,分别为卷积层conva的权重和偏置,用于调整不同时间层对结果预测的重要程度;*表示卷积算子;
[0118]
(2)将卷积层conva输出的特征映射送入l个连续的残差单元,每个残差单元计算结果如下公式所示:
[0119][0120]
其中,ξ是残差函数,为残差单元的输入;表示第l个残差单元中所有需学习的参数;
[0121]
所述残差单元为三层结构,其中第一层和第二层均为层卷积层conv和激活函数elu的结构组合,第三层在第二层的基础上叠加dropout层;
[0122]
(3)经过第l个残差单元后的输出记为将其送至卷积层convb进行数据规格的统一,从而得到一个时间层的无人驾驶出租车需求输出,记为如下公式所示:
[0123][0124]
其中,是激活函数(elu);和分别为卷积层convb的权重和偏置;
[0125]
步骤2:提取无人驾驶出租车需求的外部环境特征和兴趣点特征;
[0126]
步骤2.1:提取无人驾驶出租车需求的外部环境特征;
[0127]
对每个时段分别提取一组无人驾驶出租车需求的外部环境特征向量,包含气象o
met
、星期向量、星期向量是整数、工作日o
wrk
和节假日o
hol
;并将不同时段的特征向量拼接为矩阵的形式,记为o
hmw
,再将该矩阵送入全连接层进行特征提取,得到基于o
met
、 o
wrk
和o
hol
的外部环境特征,记为o
st
,如下公式所示:
[0128][0129]
其中,
×
表示矩阵的乘法,w
st
和b
st
分别代表外部环境特征的权重和偏置;
[0130]
步骤2.2:使用卷积神经网络结合全连接层来提取无人驾驶出租车需求的兴趣点特征,得到基于兴趣点o
poi
的兴趣点特征,记为o
sc
,如下公式所示:
[0131][0132]
其中,w
sc
和b
sc
分别代表兴趣点特征的权重和偏置,其值取决于各兴趣点对无人驾驶出租车需求的影响程度;
[0133]
步骤3:将无人驾驶出租车需求的时空特征和外部特征进行融合;
[0134]
步骤3.1:采用基于参数矩阵的融合方式,从4个不同的时间层上挖掘无人驾驶出租车需求的时空信息,得到tj时段无人驾驶出租车需求的时空特征,记为如下公式所示:
[0135][0136]
此处的融合分为两个部分,首先是每个时间层内的3种不同需求频度感知域融合,得到的融合向量记为之后是4个时间层之间的融合,计算公式如式(8)、(9)所示:
[0137][0138][0139]
其中,是hadamard乘积(即两个矩阵对应位置的元素相乘,最终可得到同维度的输出矩阵);w
η,0
,w
η,1
,w
η,2
分别表示3个需求频度感知域的权重矩阵;wc,wd,wk,wm分别表示4个时间层的权重矩阵;为偏置;这些均为网络训练中需学习的参数。
[0140]
步骤3.2:将外部环境特征和兴趣点特征进行融合,得到无人驾驶出租车需求的外部特征,记为r
ex
,如式(10)所示:
[0141][0142]
其中,w
sc
,w
st
,b
ex
均为可调整的权重参数;
[0143]
步骤3.3:将无人驾驶出租车需求的时空特征和外部特征进行融合,使二者进行协同训练以获取不同领域无人驾驶出租车需求的预测值;
[0144]
利用两种不同的融合方法对时空特征和外部特征进行融合;采用求和融合方法来表征逐步变化的需求,而对于突然变化的需求,则应用基于门控机制的融合方法进行融合最后通过tanh函数将融合的特征映射到[-1,1],以便在训练过程中得到更快的收敛速度,得到无人驾驶出租车需求的预测值,如下公式所示:
[0145][0146]
其中,为tj时段无人驾驶出租车需求的预测值,φ为门控激活函数sigmoid;
[0147]
步骤4:从四个时间层和外部特征预测无人驾驶出租车需求;
[0148]
以最小化无人驾驶出租车需求的预测矩阵和真实矩阵之间的均方误差为目标函数,获得无人驾驶出租车需求预测所涉及的权重和偏差的最优取值,实现从四个时间层和外部特征预测需求;
[0149]
目标函数下公式所示:
[0150][0151]
其中,ψ表示目标函数,w和b分别表示无人驾驶出租车需求预测所涉及的所有权重和偏差集合;
[0152]
步骤5:在步骤4预测的无人驾驶出租车需求的基础上,采用启发式遗传算法实现无人驾驶出租车与乘客的匹配;
[0153]
步骤5.1:采用实数编码方式对无人驾驶出租车和乘客进行编码;
[0154]
采用实数编码方式表示无人驾驶出租车和乘客,即[x1,y1,x2,y2,

,xn,yn],其中,xi为无人驾驶出租车d
id
,yi为乘客s
id
,[xi,yi]表示无人驾驶出租车与乘客匹配,也表示染色体内的一个基因,i=1、2、

、n,n表示无人驾驶出租车的数量;
[0155]
步骤5.2:种群初始化;
[0156]
将种群分为c个基因组,基因组数量c根据无人驾驶出租车位置动态决定,各组分别包括u个基因组染色体,u的值由公式(13)给出;
[0157][0158]
其中,a
gen
为基因组内乘客数量,b
gen
为基因组内无人驾驶出租车数量;
[0159]
基因组内,当a
gen-b
gen
>0时,固定无人驾驶出租车d
id
,不重复的随机生成乘客s
id
,此时,无人驾驶出租车的数量n=b
gen
,车辆完全匹配;当a
gen-b
gen
<0时,随机选取数量为a
gen
的无人驾驶出租车,固定其对应的车辆编号d
id
,不重复的随机生成乘客编号s
id
,此时,无人驾驶出租车的数量n=a
gen
,乘客完全匹配;
[0160]
从各基因组中分别随机选取基因组染色体拼合形成g条带有基因组标记的完整染色体,对g条完整染色体进行去重和遗传操作,经历θ次迭代,选出最优染色体即为无人驾驶出租车与乘客的匹配结果;
[0161]
本发明的种群,基因组,基因组染色体,完整染色体是四个不同的名词,其中,完整染色体不再属于基因组,而属于种群,基因组和基因组染色体为自定义的名词,可以把基因组染色体看做是一条完整染色体的一部分。每个基因组都含有一条完整染色体的一部分,把它们拼在一起才能形成一条完整染色体。
[0162]
步骤5.3:对种群内完整染色体进行去重与修复;
[0163]
步骤5.3.1:对种群内完整染色体进行去重,如图2所示,具体方法为:
[0164]
各基因组染色体随机拼合后会导致完整染色体中基因出现重复,为此给出去重方法。
[0165]
步骤5.3.1.1:取染色体中乘客编号集合s
id
与车辆编号集合d
id
,定位染色体中重复出现的乘客编号及其所在基因组,获取该基因组内乘客总编号集合与s
id
的差集s
ds
,将重复乘客对应的车辆编号和车辆总编号集合与d
id
的差集汇总为集合d
ds
;定位染色体中重复
出现的车辆编号及其所在基因组,获取该基因组内车辆总编号集合与d
id
的差集d
ds
,将重复车辆对应的乘客编号和乘客总编号集合与s
id
的差集汇总为集合s
ds

[0166]
步骤5.3.1.2:判断集合s
ds
和d
ds
是否是空集,如果是空集则从染色体中删除该基因,否则,将集合s
ds
和d
ds
中元素汇总形成二分图,通过匈牙利算法得到与该基因最优匹配基因,并替换到原来基因位置;
[0167]
步骤5.3.1.3:判断所有重复乘客和车辆的编号是否全部替换完毕,若全部替换完毕则结束操作,否则重新执行步骤5.3.1.1;
[0168]
步骤5.3.2:对完整染色体进行修复;
[0169]
首先获取车辆和乘客总编号集合,并分别计算车辆和乘客总编号集合与染色体中车辆和乘客编号的差集d
ds
和s
ds
,再将差集d
ds
和s
ds
汇总并形成二分图,采用匈牙利算法得到最优匹配的基因,最后将最优匹配的基因添加到当前染色体尾部;
[0170]
染色体经过去重和修复操作后,无人驾驶出租车的数量n=min{a,b},a为乘客总数,b 为无人驾驶出租车总数;
[0171]
步骤5.4:确定种群内完整染色体的适应度函数;
[0172]
将染色体适应度γ定义为如下公式所示:
[0173][0174]
其中,为经济效益与需求密度集群效益加权和;
[0175][0176]
其中,ρ为无人驾驶出租车里程费;δ为时长费;为tj时段车辆平均速度,是tj时段车辆在任意两地间平均速度,其值是根据公式得到各时段内车辆行驶任意两地间所需平均时间确定的;ε为油耗指数,其与车速的关系满足公式 (16);n为乘客出发地与乘客目的地的测地距离,e为车辆与乘客的匹配距离,其值随传感邻域(车辆周围最近的8个区域为一阶传感邻域,再外圈16个区域为二阶传感邻域,以此类推)阶数呈线性增长,如公式(17)所示,u为车辆当前位置与乘客出发地的测地距离;
[0177][0178]
[0179][0180]
其中,x为下客区无人驾驶出租车需求密度,其值即为无人驾驶出租车需求预测值;σ为权重系数;为下客区一阶传感邻域无人驾驶出租车需求密度;x
avg
为车辆到达目的地时所属时段全局需求密度均值;τ为有效需求区域数(即需求数大于0的区域);
[0181]
步骤5.5:对种群内完整染色体进行遗传操作,得到无人驾驶出租车与乘客的最优匹配结果;
[0182]
步骤5.5.1:对种群内染色体进行选择;
[0183]
采用轮盘赌选择法和最佳染色体保存法相结合的方式进行染色体选择;
[0184]
染色体选择概率probability如下公式所示:
[0185][0186]
其中,γa为当前种群中第a个染色体的适应度,g为种群规模;
[0187]
将适应度排在前的染色体直接复制到下一代而不进行交叉,剩余个染色体采用轮盘赌选择法选择染色体进行交叉;
[0188]
步骤5.5.2:染色体交叉;
[0189]
交叉操作在满足交叉概率f=0.9条件下进行,如图3所示,具体过程为:首先生成0和 1之间的随机数f
rand
,当f大于f
rand
时,随机在乘客编码位后产生两个交叉点,定义两交叉点间区域为匹配区域,使用位置交换操作交换两个染色体的匹配区域,执行去重操作,保留适应度大于设定值的染色体并复制到下一代;去重与修复方法与步骤5.3相同。
[0190]
步骤5.5.3:染色体变异;
[0191]
变异操作在满足变异概率k=0.8条件下进行;其流程如下:
[0192]
步骤5.5.3.1:判断车辆总编号集中是否有未匹配到乘客编号的车辆编号,若没有,直接执行步骤5.5.3.2;否则,将未匹配到乘客编号的车辆编号汇总为集合d
ds
,遍历d
ds
中各车辆编号,执行以下操作;
[0193]

获取未匹配到乘客编号的车辆编号所在基因组中未匹配车辆的乘客集s
ds
,若遍历s
ds
中元素,直到找到与车辆编号匹配可使染色体适应度值变大的乘客编号,将该车辆编号与乘客编号插入到染色体中;如果没有可使染色体适应度值变大的乘客编号或则直接执行步骤


[0194]

遍历d
ds
中下一个元素,并再次执行步骤

,直到d
ds
中所有元素遍历完毕;
[0195]
步骤5.5.3.2:获取染色体中车辆集d
id
和乘客集s
id
,判断车辆总编号集中是否有未匹配到乘客编号的车辆编号,乘客总编号集中是否有未匹配到车辆编号的乘客编号,将未匹配到乘客编号的车辆编号汇总为集合d
ds
,未匹配到车辆编号的乘客编号汇总为集合sds
;并执行以下操作:
[0196]
i.判断d
ds
和s
ds
是否为空,若遍历d
ds
中元素d
dsn
,然后执行步骤ii;
[0197]
ii.遍历d
id
中元素d
idm
,判断d
idm
所在基因组与d
dsn
所在基因组是否相同,若不同,则遍历d
id
下一个元素,重复执行步骤ii,直到遍历完d
id
中所有元素,再遍历d
ds
下一个元素;否则,执行步骤iii;
[0198]
iii.交换染色体d
dsn
与d
idm
,查看染色体适应度值是否增大,如果染色体适应度值增大,则遍历集合d
id
的下一个元素,重复执行步骤i;否则,更新染色体,重新获取集合d
id
、s
id
、 d
ds
和s
ds
,并再次执行步骤i;
[0199]
若执行与d
ds
相同操作;当且或d
ds
、s
ds
中元素全部遍历完成时,执行步骤5.5.3.3;
[0200]
步骤5.5.3.3:获取染色体中车辆集d
id
和乘客集s
id
;遍历集合d
id
中元素d
idu
,并执行以下操作:
[0201]ⅰ、判断该元素d
idu
与其后一个元素所在基因组是否相同,若相同,则执行步骤ⅱ;否则,遍历集合d
id
下一个元素,直至遍历完集合d
id
中所有元素;当该元素d
idu
与其后所有元素判断完毕,遍历集合d
id
中的下一个元素;
[0202]ⅱ、交换d
idu
与其后一个元素d
idv
,查看染色体适应度值是否增大,若没有增大,则遍历元素d
idv
的后一个元素,并重复执行操作ⅰ;否则,更新染色体,重新获取集合d
id
与s
id
,并再次遍历集合d
id
中元素d
idu
,执行上述操作ⅰ、ⅱ。
[0203]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1