一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

网约车调度方法、装置、电子设备及存储介质与流程

2021-11-20 04:29:00 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,尤其涉及一种网约车调度方法、装置、电子设备及存储介质。


背景技术:

2.网约车平台能够及时地为用户的出行需求提供网约车服务。便捷可靠的网约车平台可以极大地提高车辆的利用效率,减少私家车数量,缓解道路拥堵并极大提高整个城市的交通效率。由于不同时段用户的出行需求差异使得城市内空闲网约车供应和打车需求的热点区域在一天内会随着时间变化,这就导致了跨区域的网约车供需不平衡。
3.现有的网约车调度方法采用动态调整订单价格的方式平衡城市各区域用户的出行需求,完全依赖网约车司机的自主接单行为,调度准确性差,造成了网约车资源的极大浪费,用户出行效率低,用户出行体验差。


技术实现要素:

4.本发明提供一种网约车调度方法、装置、电子设备及存储介质,用于解决现有技术中网约车调度方法准确性差的技术问题。
5.本发明提供一种网约车调度方法,包括:
6.确定网约车服务区域中每一网格在当前调度时刻的供需实际数据;
7.基于每一网格在当前调度时刻的供需实际数据,确定每一网格中每一空车在当前调度时刻的局部区域供需状态;
8.基于每一网格中每一空车在当前调度时刻的局部区域供需状态,确定每一网格中每一空车在当前调度时刻的调度动作;
9.基于每一网格中每一空车在当前调度时刻的调度动作,确定所述网约车服务区域的网约车调度结果。
10.根据本发明提供的网约车调度方法,所述基于每一网格中每一空车在当前调度时刻的局部区域供需状态,确定每一网格中每一空车在当前调度时刻的调度动作,包括:
11.基于每一空车在当前调度时刻的局部区域供需状态,以及调度动作评估模型,确定每一空车在当前调度时刻的每一候选调度动作的状态动作评估值;
12.基于每一候选调度动作的状态动作评估值,确定每一空车在当前调度时刻的调度动作;
13.其中,所述调度动作评估模型是基于每一空车在当前调度时刻的调度动作奖励确定的,每一空车在当前调度时刻的调度动作奖励是基于每一网格在下一调度时刻的供需预测数据确定的。
14.根据本发明提供的网约车调度方法,所述调度动作评估模型是基于如下步骤确定的:
15.确定所述网约车服务区域中的状态转移样本数据;所述状态转移样本数据包括每
一空车在当前历史调度时刻的局部区域供需状态、每一空车在当前历史调度时刻的调度动作、每一空车在当前历史调度时刻的调度动作奖励和每一空车在当前历史调度时刻执行调度动作后的局部区域供需状态;
16.基于所述网约车服务区域中的状态转移样本数据,对dqn模型进行训练,得到所述调度动作评估模型。
17.根据本发明提供的网约车调度方法,所述基于所述网约车服务区域中的状态转移样本数据,对dqn模型进行训练,得到所述调度动作评估模型,包括:
18.基于所述网约车服务区域的网约车调度次数,对所述调度动作评估模型进行周期性更新训练;
19.其中,每次更新训练的训练样本是基于预设训练样本数量从所述状态转移样本数据中随机选取的。
20.根据本发明提供的网约车调度方法,所述基于每一网格在当前调度时刻的供需实际数据,确定每一网格中每一空车在当前调度时刻的局部区域供需状态,包括:
21.基于每一网格包括当前调度时刻在内的多个时刻的供需实际数据,以及每一空车所对应的预设局部区域,确定每一网格中每一空车在当前调度时刻的局部区域供需状态。
22.根据本发明提供的网约车调度方法,所述确定每一网格中每一空车在当前调度时刻的局部区域供需状态,包括:
23.基于每一空车所对应的预设局部区域内各个网格与每一空车所在的网格的间隔距离,确定所述预设局部区域内各个网格对每一空车的供需状态影响权重;
24.基于所述预设局部区域内各个网格对每一空车的供需状态影响权重,对每一网格中每一空车在当前调度时刻的局部区域供需状态进行更新。
25.根据本发明提供的网约车调度方法,所述每一网格在下一调度时刻的供需预测数据是基于如下步骤确定的:
26.基于每一网格在所述当前调度时刻之前的多个时刻的出行订单需求数据,确定每一网格在下一调度时刻的出行订单需求数据;
27.和/或,基于每一网格在所述当前调度时刻之前的多个时刻的网约空车供给数据,确定每一网格在下一调度时刻的网约空车供给数据;
28.基于每一网格在当前调度时刻的供需实际数据,以及每一网格在下一调度时刻的出行订单需求数据和/或网约空车供给数据,确定每一网格在下一调度时刻的供需预测数据。
29.本发明提供一种网约车调度装置,包括:
30.数据确定单元,用于确定网约车服务区域中每一网格在当前调度时刻的供需实际数据;
31.状态确定单元,用于基于每一网格在当前调度时刻的供需实际数据,确定每一网格中每一空车在当前调度时刻的局部区域供需状态;
32.车辆调度单元,用于基于每一网格中每一空车在当前调度时刻的局部区域供需状态,确定每一网格中每一空车在当前调度时刻的调度动作;
33.结果输出单元,用于基于每一网格中每一空车在当前调度时刻的调度动作,确定所述网约车服务区域的网约车调度结果。
34.本发明还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现所述网约车调度方法的步骤。
35.本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述网约车调度方法的步骤。
36.本发明提供的网约车调度方法、装置、电子设备及存储介质,根据网约车服务区域中每一网格在当前调度时刻的供需实际数据,确定每一空车在当前调度时刻的局部区域供需状态,并根据每一空车在当前调度时刻的局部区域供需状态,确定每一空车在当前调度时刻的调度动作,将空车在局部区域进行有效地调度,从而将网约车服务区域的全局供需再平衡问题划分为每一空车所在的局部区域供需再平衡问题,提高了空车资源的利用率和出行订单匹配效率,调度准确性高,提高了用户出行效率和用户出行体验。相比于集中调度网约车的方案,本发明提供的网约车调度方法采用分散式调度,计算效率更高,计算时间更短,更能满足网约车调度的实时性要求。
附图说明
37.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
38.图1为本发明提供的网约车调度方法的流程示意图之一;
39.图2为本发明提供的状态权重矩阵的示意图;
40.图3为本发明提供的网约车调度方法的流程示意图之二;
41.图4为本发明提供的基于分散式深度强化学习算法的网约车预调度模型的示意图;
42.图5为本发明提供的网约车调度装置的结构示意图;
43.图6为本发明提供的电子设备的结构示意图。
具体实施方式
44.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
45.图1为本发明提供的网约车调度方法的流程示意图之一,如图1所示,该方法包括:
46.步骤110,确定网约车服务区域中每一网格在当前调度时刻的供需实际数据。
47.具体地,网约车服务区域可以为一个城市或者一个地区。可以将网约车服务区域划分为多个网格,每一网格内包括多辆网约车提供出行服务。网格的大小可以根据实际需要进行设置。当前调度时刻是指对网约车进行调度的时刻。当前调度时刻和下一调度时刻之间的间隔可以根据需要进行设置,例如,可以设置为5分钟,如果当前调度时刻为10:00,则下一调度时刻为10:05。此外,网约车平台还可以在每分钟对网约车服务区域中同一网格
区域内的网约车空车和出行订单进行自动匹配。
48.每一网格在当前调度时刻的供需实际数据用于表征当前调度时刻该网格中网约车的实际供给情况和实际需求情况,可以包括能够提供网约出行服务的空车数量和网约出行订单数量。
49.步骤120,基于每一网格在当前调度时刻的供需实际数据,确定每一网格中每一空车在当前调度时刻的局部区域供需状态。
50.具体地,每一空车在当前调度时刻的局部区域供需状态用于表征该空车在当前调度时刻所在的局部区域内的网约车供需情况。此处,局部区域为网约车服务区域中的一部分,可以为包括该空车所在的网格以及邻近网格所组成的区域。
51.根据网约车服务区域中每一网格在当前调度时刻的供需实际数据,可以确定每一网格中每一空车在当前调度时刻的局部区域供需状态。例如,对于空车a,将局部区域的范围大小设置为包括空车a所在的网格以及与该网格直接相邻的八个网格。根据这八个网格在当前调度时刻的供需实际数据,可以确定为空车a在当前调度时刻的局部区域供需状态。
52.步骤130,基于每一网格中每一空车在当前调度时刻的局部区域供需状态,确定每一网格中每一空车在当前调度时刻的调度动作。
53.具体地,调度动作是指网约车从一个网格移动至另一个网格的行为。每一网格中每一空车在当前调度时刻的调度动作可以包括九种可能,分别为移动到八个相邻网格和停留在当前网格。
54.可以根据每一网格中每一空车在当前调度时刻的局部区域供需状态,确定每一网格中每一空车在当前调度时刻的调度动作。例如,根据每一空车在当前调度时刻的局部区域供需状态,可以确定该空车所在的局部区域内各个网格的供需状态,从而促使该空车移动至供需状态较为紧张的网格,从而对该空车所在的局部区域内的网约车供需情况进行改善。
55.步骤140,基于每一网格中每一空车在当前调度时刻的调度动作,确定网约车服务区域的网约车调度结果。
56.具体地,网约车调度结果为网约车服务区域中所有空车的调度动作。根据每一网格中每一空车在当前调度时刻的调度动作,可以确定网约车服务区域在当前调度时刻的网约车调度结果。
57.例如,当前调度时刻在网约车服务区域中实现网约车空车和出行订单进行自动匹配后,根据每一网格在当前调度时刻的供需实际数据,确定每一网格中每一空车在当前调度时刻的调度动作,从而在下一调度时刻到来之前,对网约车服务区域中的空车进行调度,改善每一空车所在的局部区域的网约车供需情况,提高下一调度时刻网约车空车和出行订单进行自动匹配的效率。
58.本发明实施例提供的网约车调度方法,根据网约车服务区域中每一网格在当前调度时刻的供需实际数据,确定每一空车在当前调度时刻的局部区域供需状态,并根据每一空车在当前调度时刻的局部区域供需状态,确定每一空车在当前调度时刻的调度动作,将空车在局部区域进行有效地调度,从而将网约车服务区域的全局供需再平衡问题划分为每一空车所在的局部区域供需再平衡问题,提高了空车资源的利用率和出行订单匹配效率,调度准确性高,提高了用户出行效率和用户出行体验。相比于集中调度网约车的方案,本发
明提供的网约车调度方法采用分散式调度,计算效率更高,计算时间更短,更能满足网约车调度的实时性要求。
59.基于上述实施例,步骤130包括:
60.基于每一空车在当前调度时刻的局部区域供需状态,以及调度动作评估模型,确定每一空车在当前调度时刻的每一候选调度动作的状态动作评估值;
61.基于每一候选调度动作的状态动作评估值,确定每一空车在当前调度时刻的调度动作;
62.其中,调度动作评估模型是基于每一空车在当前调度时刻的调度动作奖励确定的,每一空车在当前调度时刻的调度动作奖励是基于每一网格在下一调度时刻的供需预测数据确定的。
63.具体地,每一网格中每一空车在当前调度时刻的调度动作可以包括九种可能,分别为移动到八个相邻网格和停留在当前网格,相应地,每一种调度动作都可以作为每一空车在当前调度时刻的候选调度动作。
64.调度动作评估模型用于对每一空车在当前调度时刻的局部区域供需状态进行分析,确定每一空车在当前调度时刻的每一候选调度动作的状态动作评估值。状态动作评估值用于根据每一空车在当前调度时刻的每一候选调度动作给每一空车所在的局部区域的供需状态造成的影响进行评估。例如,状态动作评估值可以为每一空车在当前调度时刻采用候选调度动作之后在未来时刻能够获得的调度动作奖励之和,可以用q来表示。
65.根据每一候选调度动作的状态动作评估值,确定每一空车在当前调度时刻的调度动作。例如,可以选择状态动作评估值最大的候选调度动作为当前调度时刻的调度动作。
66.调度动作评估模型确定每一空车在当前调度时刻的每一候选调度动作的状态动作评估值的依据是每一空车在下一调度时刻的调度动作奖励。每一个空车的动作只能改变其局部区域的供需平衡状态。不同的候选调度动作对应不同的调度动作奖励。每一空车的调度动作奖励取决于是否改善该空车所在的局部区域的供需平衡。
67.例如,假设编号为k的网约车在时刻t从网格g
ij
移动到网格g
mn
,其奖励r
k
(t)为:
[0068][0069]
其中,b
o
代表此网约车停留在原位置的局部平衡指标:
[0070][0071]
q=

max(|a

i|,|b

j|)
[0072]
b
n
代表此网约车移动到新位置后的局部平衡指标:
[0073][0074]
p=

max(|a

m|,|b

n|)
[0075]
β2是比例系数,y为局部平衡指标对应的计算区域边长,例如,局部平衡指标对应的计算区域为3
×
3的网格时,y=3。
[0076]
上式中,i和m为网约车服务区域内网格的横坐标号,j和m为网约车服务区域内网
格的纵坐标号,a和b分别为该网约车所在的局部区域内任一网格g
ab
的横坐标号和纵坐标号,x
ab
为该网约车所在的局部区域内任一网格g
ab
处的空车数量或者活跃订单数,m
psd
(t 1)为网约车服务区域在下一调度时刻t 1的网约车供需预测矩阵,q和p为间隔的网格数量。
[0077]
每一网格在下一调度时刻的供需预测数据用于表征当前调度时刻到下一调度时刻的时间范围内该网格中网约车的预测供给情况和预测需求情况,可以包括网约空车预测数量和/或出行订单预测数量。
[0078]
例如,将城市划分为l
×
l个网格,每个网格的范围足够小,使得每分钟同一个网格内的活跃订单和空车可以及时匹配。每δt分钟进行全局空车预调度时,各网格只有空车或者活跃订单。
[0079]
供需实际矩阵m
vmo
(t)反映了t时刻,全局的网约车供应和叫车需求分布,m
vmo
(t)∈r
l
×
l
,m
vmo
(t)中元素x
ij
代表网格g
ij
处的空车数量或者活跃订单数,正数代表空车数,负数代表活跃订单数,供需预测矩阵m
psd
(t 1)结合了当前供需状态和预测叫车需求。
[0080]
每一网格在下一调度时刻的供需预测数据可以用于对每一空车在当前调度时刻的调度动作进行评价。例如,空车a在当前调度时刻的调度动作发生后,必然改变了该空车所在的局部区域中各个网格的网约车供需情况。可以分别计算空车a停留在当前网格时的局部区域供需状态,以及空车a在当前调度时刻的调度动作发生后的局部区域供需状态,根据局部区域中每一网格在下一调度时刻的供需预测数据,对空车a在当前调度时刻的调度动作对局部区域供需状态的改变情况进行评价。
[0081]
本发明实施例提供的网约车调度方法,根据每一空车的动作对其局部供需平衡性的影响评估奖励,从而更好的适应分散式车辆调度策略,提高了网约车调度的准确性。
[0082]
基于上述任一实施例,调度动作评估模型是基于如下步骤确定的:
[0083]
确定网约车服务区域中的状态转移样本数据;状态转移样本数据包括每一空车在当前历史调度时刻的局部区域供需状态、每一空车在当前历史调度时刻的调度动作、每一空车在当前历史调度时刻的调度动作奖励和每一空车在当前历史调度时刻执行调度动作后的局部区域供需状态;
[0084]
基于网约车服务区域中的状态转移样本数据,对dqn模型进行训练,得到调度动作评估模型。
[0085]
具体地,状态转移样本数据用于表示每一空车在各个时刻采用调度动作后局部区域供需状态发生的改变。例如,编号为k的空车在时刻t的状态转移样本m
k
(t)为:
[0086][0087]
式中,s
ijk
(t)为网格g
ij
处编号为k的网约车在时刻t的局部区域供需状态,为网格g
ij
处编号为k的网约车在时刻t执行调度动作a
k
(t)后的局部区域供需状态,a
k
(t)为网格g
ij
处编号为k的网约车在时刻t的调度动作,r
k
(t)为网格g
ij
处编号为k的网约车执行调度动作a
k
(t)后的调度动作奖励。
[0088]
可以建立样本库,用于存储所有时刻各空车的转移样本数据,当样本库内的样本数据的数量达到上限值n
m
后,新样本会依次替代旧样本。
[0089]
以dqn(deep q network,深度q网络)模型为初始模型,采用网约车服务区域中的状态转移样本数据进行训练后,可以得到调度动作评估模型。
[0090]
基于上述任一实施例,基于网约车服务区域中的状态转移样本数据,对dqn模型进行训练,得到调度动作评估模型,包括:
[0091]
基于网约车服务区域的网约车调度次数,对调度动作评估模型进行周期性更新训练;
[0092]
其中,每次更新训练的训练样本是基于预设训练样本数量从状态转移样本数据中随机选取的。
[0093]
具体地,可以采用周期性更新训练的方法,对调度动作评估模型进行训练。可以根据网约车服务区域的网约车调度次数,确定训练的周期。例如,在网约车服务区域内每进行k次调度,k为正整数,就对调度动作评估模型进行一次训练。
[0094]
在选择训练样本时,可以从样本库中随机选取满足预设训练样本数量的状态转移样本数据对dqn模型进行训练。
[0095]
例如,选择卷积神经网络作为dqn网络,训练时采用经验重放的方式,每次迭代从样本库中随机选取小批量样本进行训练,更新评估网络参数,在第i次迭代dqn网络的损失函数l
i

i
)为:
[0096][0097]
其中,(s,a,r,s

)为样本库中随机选择的样本,s为状态,a为动作,r为回报,s

为下一状态,a

为下一动作,q为在状态s下采取动作a后未来将得到的奖励回报r之和,γ是衰减因子,θ
i
是评估网络在第i次迭代时的参数,是目标网络在第i次迭代时的参数,每运行设定步数后,将目标网络的参数迭代更新为当前评估网络的参数θ
i

[0098]
本发明实施例提供的网约车调度方法,采用周期性训练和随机取样的方法,利用所有分散智能体的状态转移样本数据训练得到统一的调度算法,使其具有鲁棒性和较好的泛化性能。此模型是动态优化的,在网约车调度过程中不断优化网络参数,提高网约车调度效率。
[0099]
基于上述任一实施例,步骤120包括:
[0100]
基于每一网格包括当前调度时刻在内的多个时刻的供需实际数据,以及每一空车所对应的预设局部区域,确定每一网格中每一空车在当前调度时刻的局部区域供需状态。
[0101]
具体地,在确定每一网格中每一空车在当前调度时刻的局部区域供需状态时,可以同时从时间维度和空间维度出发确定。
[0102]
从时间维度出发,可以收集每一网格包括当前调度时刻在内的多个时刻的供需实际数据,例如,当前调度时刻为t,若上一调度时刻t

1与当前调度时刻t时间的间隔为δt分钟,则可以收集包括当前调度时刻在内的多个时刻的供需实际数据,多个时刻的取值范围为(t

1,t],单位为分钟。
[0103]
从空间维度出发,每一空车所对应的预设局部区域的大小可以设置为边长为p的正方形区域,即预设局部区域的长度为p个网格的长度。预设局部区域可以包括多个网格。为了保证当前网格是处在预设局部区域的正中间,边长大小为奇数,具体数值可以根据需要进行设置。
[0104]
例如,对空车进行调度,将每一辆空车视为一个独立智能体,网格g
ij
处编号为k的网约车在时间t的状态s
ijk
(t),用公式表示为:
[0105][0106][0107][0108]
t1∈(t

1,t]
[0109]
式中,a和b分别为该网约车所在的局部区域内任一网格g
ab
的横坐标号和纵坐标号,x
ab
为该网约车所在的局部区域内任一网格g
ab
处的空车数量或者活跃订单数,m
vmo
(t1)为包括时刻t1的供需实际矩阵,t

1为上一调度时刻,t为当前调度时刻,β1是比例系数,s
ijk
(t)∈r
δt
×
p
×
p

[0110]
每一个智能体的状态包含了该智能体邻近局部范围内过去一段时间的供需情况,若智能体位于城市的边缘位置,则其状态中的空缺元素由零代替,保证状态尺寸不变。
[0111]
基于上述任一实施例,确定每一网格中每一空车在当前调度时刻的局部区域供需状态,包括:
[0112]
基于每一空车所对应的预设局部区域内各个网格与每一空车所在的网格的间隔距离,确定预设局部区域内各个网格对每一空车的供需状态影响权重;
[0113]
基于预设局部区域内各个网格对每一空车的供需状态影响权重,对每一网格中每一空车在当前调度时刻的局部区域供需状态进行更新。
[0114]
具体地,每一空车的调度动作都会影响其邻近车辆的状态和奖励评估。此时,可以通过引入供需状态影响权重,凸显邻近空车的状态差异,从而更好的区分邻近空车,使其不会有完全一样的动作。
[0115]
供需状态影响权重用于衡量预设局部区域内各个网格的供需对每一空车的供需状态影响情况,可以根据该空车所对应的预设局部区域内各个网格与该空车所在的网格的间隔距离确定,间隔距离越近,供需状态影响权重越大,间隔距离越远,供需状态影响权重越小。
[0116]
例如,为防止邻近车辆的状态过于相似,对空车的状态矩阵进行逐层衰减,距离空车当前位置越远的网格,其供需对此空车的影响越小。可以设置状态权重矩阵w,w∈r
δt
×
p
×
p
,图2为本发明提供的状态权重矩阵的示意图,如图2所示,状态权重矩阵是多个二维矩阵的叠加。每个空车处理后的状态为:
[0117]
s
pijk
(t)=s
ijk
(t)

w
[0118]
相应地,当空车从网格g
ij
移动到网格g
mn
时,其状态从s
pijk
(t)变为
[0119][0120]
本发明实施例提供的网约车调度方法,通过引入供需状态影响权重,凸显邻近网约车的状态差异,从而更好的区分邻近网约车,充分考虑到邻近网约车之间的相互影响,使其不会有完全一样的动作,提高了网约车调度的准确性。
[0121]
基于上述任一实施例,每一网格在下一调度时刻的供需预测数据是基于如下步骤确定的:
[0122]
基于每一网格在当前调度时刻之前的多个时刻的出行订单需求数据,确定每一网格在下一调度时刻的出行订单需求数据;
[0123]
和/或,基于每一网格在当前调度时刻之前的多个时刻的网约空车供给数据,确定每一网格在下一调度时刻的网约空车供给数据;
[0124]
基于每一网格在当前调度时刻的供需实际数据,以及每一网格在下一调度时刻的出行订单需求数据和/或网约空车供给数据,确定每一网格在下一调度时刻的供需预测数据。
[0125]
具体地,出行订单需求数据可以为用户发出的叫车需求的数量,网约空车供给数据可以为处于空载状态的网约车的数量。可以收集每一网格在当前调度时刻之前的多个时刻的出行订单需求数据和/或网约空车供给数据,对长短期记忆网络(lstm)进行训练后,得到网约车需求预测模型,通过网约车需求预测模型,确定每一网格在下一调度时刻的出行订单需求数据和/或网约空车供给数据。
[0126]
例如,以出行订单需求数据为例,t为当前调度时刻,利用训练好的长短期记忆网络(lstm)预测未来δt时段内各个网格的叫车需求,得到需求预测矩阵o
p
(t 1),o
p
(t 1)∈r
l
×
l

[0127]
将每一网格在当前调度时刻的供需实际数据和每一网格在下一调度时刻的网约车需求预测数据进行求和,可以得到每一网格在下一调度时刻的供需预测数据。用公式表示为:
[0128]
m
psd
(t 1)=m
vmo
(t) o
p
(t 1)
[0129]
式中,需求预测矩阵o
p
(t 1)表示每一网格在下一调度时刻t 1的网约车需求预测数据,供需预测矩阵m
psd
(t 1)表示每一网格在下一调度时刻t 1的供需预测数据,供需实际矩阵m
vmo
(t)表示每一网格在当前调度时刻t的供需实际数据。
[0130]
基于上述任一实施例,图3为本发明提供的网约车调度方法的流程示意图之二,该方法的整体思路如下:
[0131]
将整个城市划分为l
×
l个网格,每分钟对每个网格内的空车和活跃订单进行自动匹配,每δt分钟对当前所有空车进行一次预调度。预调度前先预测出未来δt分钟各网格处的订单需求,然后结合当前的供需分布情况得到预测分布情况。预调度的目的是平衡未来δt分钟的全局网约车供需分布,提高车辆利用率和接客率。采用统一的深度q网络(dqn)对分散的空车进行调度时,将每一辆车视为一个独立的智能体,根据其自身的状态进行调度,并评估其调度动作的奖励。将每一辆空车的转移过程收集到样本库中,利用所有分散车辆的转移样本数据训练统一的dqn算法。
[0132]
如图3所示,该方法的步骤如下:
[0133]
步骤一、预测订单需求
[0134]
利用训练好的长短期记忆网络(lstm)预测未来δt时段内各个网格的叫车需求。
[0135]
步骤二、计算当前供需及预测供需
[0136]
由于每分钟对每个网格内的空车和活跃订单进行自动匹配,因此进行车辆调度前每个网格内只有空车或活跃订单。根据空车分布和订单分布,确定当前供需,并结合预测的订单需求,确定预测供需。
[0137]
步骤三、对空车进行调度
[0138]
将每一辆空车视为一个独立智能体。深度q网络(dqn)会根据输入的处理后智能体状态计算其动作空间中各候选动作的q值。智能体的动作空间包含其当前位置下的所有候选合法动作,最多有九个,分别是移动到八个邻近网格或停留在当前网格。若智能体位于城市边缘区域,则其动作空间会相应变小,以保证不会移动到城市范围以外。采用ε贪婪策略选择最佳的动作,即随机选择动作的概率为ε,而有1

ε的概率选择q值最大的动作。
[0139]
每一个智能体的调度动作都会实时与线上叫车系统交互并调整网约车分布,考虑到智能体之间的相互影响,同一个区域的不同空车可能会有不同的状态,从而有不同的动作,这使得网约车预调度更加灵活有效。
[0140]
步骤四、评估调度动作奖励
[0141]
评估调度动作奖励。每一个智能体的动作只能改变其局部区域的供需平衡状态,因此该动作的奖励取决于是否可以改善此智能体未来局部范围内的供需平衡。
[0142]
步骤五、存储状态转移样本数据
[0143]
本方法采用类似联邦学习的思路,利用所有分散智能体的状态转移样本数据训练得到一个统一的dqn网络模型。
[0144]
步骤六、dqn网络训练
[0145]
调度的次数每达到设定数量,更新一次网络参数。若当前步骤无需更新网络参数,则直接回到步骤三重复执行,直至当前调度时刻所有空车均完成预调度。
[0146]
选择卷积神经网络作为dqn网络,训练时采用经验重放的方式,每次迭代从样本库中随机选取小批量样本进行训练,更新评估网络参数
[0147]
图4为本发明提供的基于分散式深度强化学习算法的网约车预调度模型的示意图,如图4所示,此模型由调度部分、奖励部分、训练部分和预测部分组成。
[0148]
在预测部分,利用lstm网络,根据历史需求数据预测得到未来δt时段的网约车需求,从而提前调度网约车,避免供需不平衡现象出现。
[0149]
在调度部分,利用状态权重矩阵凸显邻近智能体状态上的微小差异,从而更好区分相邻空车。利用统一的dqn模型,根据每个智能体的自身当前状态计算其动作空间中各候选动作的q值,然后根据ε贪婪策略选择最佳的动作。该智能体的动作会与网约车平台交互,影响全局供需和邻近车辆状态。这种分散调度方式灵活快速,状态空间小,不会因为网约车平台规模的增大而使得计算耗时爆炸性增长。
[0150]
在奖励部分,模型将传统强化学习算法中的累积全局奖励转换为短期局部奖励,通过计算该动作是否可以改善该智能体局部区域内的供需平衡性,给出相应的奖励或惩罚。这种局部奖励策略可以更好的适应这种分散调度方式,且通过在调度每辆车时不断更新供需预测矩阵m
psd
(t)和当前供需矩阵m
vmo
(t),充分考虑到了邻近智能体之间的相互影响。
[0151]
在训练部分,模型采用联邦学习的思路,利用分散的各个智能体的状态转移样本数据,训练得到统一的dqn模型,使得模型更加鲁棒有效。
[0152]
基于上述任一实施例,图5为本发明提供的网约车调度装置的结构示意图,如图5所示,该装置包括:
[0153]
数据确定单元510,用于确定网约车服务区域中每一网格在当前调度时刻的供需实际数据;
[0154]
状态确定单元520,用于基于每一网格在当前调度时刻的供需实际数据,确定每一网格中每一空车在当前调度时刻的局部区域供需状态;
[0155]
车辆调度单元530,用于基于每一网格中每一空车在当前调度时刻的局部区域供需状态,确定每一网格中每一空车在当前调度时刻的调度动作;
[0156]
结果输出单元540,用于基于每一网格中每一空车在当前调度时刻的调度动作,确定网约车服务区域的网约车调度结果。
[0157]
本发明实施例提供的网约车调度装置,根据网约车服务区域中每一网格在当前调度时刻的供需实际数据,确定每一空车在当前调度时刻的局部区域供需状态,并根据每一空车在当前调度时刻的局部区域供需状态,确定每一空车在当前调度时刻的调度动作,将空车在局部区域进行有效地调度,从而将网约车服务区域的全局供需再平衡问题划分为每一空车所在的局部区域供需再平衡问题,提高了空车资源的利用率和出行订单匹配效率,提高了用户出行效率和用户出行体验。相比于集中调度网约车的方案,本发明提供的网约车调度装置采用分散式调度,计算效率更高,计算时间更短,更能满足网约车调度的实时性要求。
[0158]
基于上述任一实施例,车辆调度单元530包括:
[0159]
动作评估子单元,用于基于每一空车在当前调度时刻的局部区域供需状态,以及调度动作评估模型,确定每一空车在当前调度时刻的每一候选调度动作的状态动作评估值;
[0160]
动作确定子单元,用于基于每一候选调度动作的状态动作评估值,确定每一空车在当前调度时刻的调度动作;
[0161]
其中,调度动作评估模型是基于每一空车在当前调度时刻的调度动作奖励确定的,每一空车在当前调度时刻的调度动作奖励是基于每一网格在下一调度时刻的供需预测数据确定的。
[0162]
基于上述任一实施例,该装置还包括模型训练单元,模型训练单元包括:
[0163]
样本确定子单元,用于确定网约车服务区域中的状态转移样本数据;状态转移样本数据包括每一空车在当前历史调度时刻的局部区域供需状态、每一空车在当前历史调度时刻的调度动作、每一空车在当前历史调度时刻的调度动作奖励和每一空车在当前历史调度时刻执行调度动作后的局部区域供需状态;
[0164]
模型训练子单元,用于基于网约车服务区域中的状态转移样本数据,对dqn模型进行训练,得到调度动作评估模型。
[0165]
基于上述任一实施例,模型训练子单元具体用于:
[0166]
基于网约车服务区域的网约车调度次数,对调度动作评估模型进行周期性更新训练;
[0167]
其中,每次更新训练的训练样本是基于预设训练样本数量从状态转移样本数据中随机选取的
[0168]
基于上述任一实施例,状态确定单元520用于:
[0169]
基于每一网格包括当前调度时刻在内的多个时刻的供需实际数据,以及每一空车所对应的预设局部区域,确定每一网格中每一空车在当前调度时刻的局部区域供需状态。
[0170]
基于上述任一实施例,状态确定单元520包括:
[0171]
权重确定子单元,用于基于每一空车所对应的预设局部区域内各个网格与每一空车所在的网格的间隔距离,确定预设局部区域内各个网格对每一空车的供需状态影响权重;
[0172]
状态更新子单元,用于基于预设局部区域内各个网格对每一空车的供需状态影响权重,对每一网格中每一空车在当前调度时刻的局部区域供需状态进行更新。
[0173]
基于上述任一实施例,还包括:
[0174]
供需预测单元,用于基于每一网格在当前调度时刻之前的多个时刻的出行订单需求数据,确定每一网格在下一调度时刻的出行订单需求数据;和/或,基于每一网格在当前调度时刻之前的多个时刻的网约空车供给数据,确定每一网格在下一调度时刻的网约空车供给数据;基于每一网格在当前调度时刻的供需实际数据,以及每一网格在下一调度时刻的出行订单需求数据和/或网约空车供给数据,确定每一网格在下一调度时刻的供需预测数据。
[0175]
基于上述任一实施例,图6为本发明提供的电子设备的结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(communications interface)620、存储器(memory)630和通信总线(communications bus)640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑命令,以执行如下方法:
[0176]
确定网约车服务区域中每一网格在当前调度时刻的供需实际数据;基于每一网格在当前调度时刻的供需实际数据,确定每一网格中每一空车在当前调度时刻的局部区域供需状态;基于每一网格中每一空车在当前调度时刻的局部区域供需状态,确定每一网格中每一空车在当前调度时刻的调度动作;基于每一网格中每一空车在当前调度时刻的调度动作,确定网约车服务区域的网约车调度结果。
[0177]
此外,上述的存储器630中的逻辑命令通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干命令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0178]
本发明实施例提供的电子设备中的处理器可以调用存储器中的逻辑指令,实现上述方法,其具体的实施方式与前述方法实施方式一致,且可以达到相同的有益效果,此处不再赘述。
[0179]
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法,例如包括:
[0180]
确定网约车服务区域中每一网格在当前调度时刻的供需实际数据;基于每一网格在当前调度时刻的供需实际数据,确定每一网格中每一空车在当前调度时刻的局部区域供需状态;基于每一网格中每一空车在当前调度时刻的局部区域供需状态,确定每一网格中每一空车在当前调度时刻的调度动作;基于每一网格中每一空车在当前调度时刻的调度动
作,确定网约车服务区域的网约车调度结果。
[0181]
本发明实施例提供的非暂态计算机可读存储介质上存储的计算机程序被执行时,实现上述方法,其具体的实施方式与前述方法实施方式一致,且可以达到相同的有益效果,此处不再赘述。
[0182]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0183]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干命令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0184]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献