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

多车辆路径规划方法及装置

2022-12-13 20:26:00 来源:中国专利 TAG:


1.本发明涉及物流配送中的车辆路径规划技术领域,特别是指一种多车辆路径规划方法及装置。


背景技术:

2.物流行业是一种兼顾成本和服务质量的服务行业。在为客户提供物流配送服务时,物流服务提供者需要提供高效的准时的服务,同时尽可能的降低服务的成本。
3.物流配送是物流服务的关键环节,是指根据客户对货物运输的时间和运量等的要求,将货物从出发地运送到目的地的过程。物流服务提供者一般在满足客户要求的前提下,为了降低配送成本,尽量减少配送用车辆的行驶时间。
4.车辆路径规划问题是解决物流配送的经典问题,也是运筹学的经典问题,其目标是给定一组具有不同配送需求量的站点和一组有容量等限制的配送车辆,求取完成配送时配送车辆的行驶路径,使所有车辆总的行驶时间(行驶路径)最短。
5.相关技术中,通过启发式算法来进行多车辆路径规划,但派送策略的生成速度较慢。


技术实现要素:

6.本发明要解决的技术问题是提供一种多车辆路径规划方法及装置,能够提高路径规划策略的生成速度。
7.为解决上述技术问题,本发明的实施例提供技术方案如下:
8.一方面,提供一种多车辆路径规划方法,用于规划多车辆访问多站点的路径,所述多站点包括待派送站点和待捡收站点,所述方法包括:
9.调度步骤,利用预先训练的策略模型计算未被访问的站点的备选概率值,所述策略模型的输入包括每个站点的嵌入表征向量和全局表征向量,输出为去往每个站点以及停留原地的备选概率值;将备选概率值最大的动作分配给当前被调度车辆,作为当前被调度车辆的下一步动作;
10.更新步骤,根据下一步动作对应的站点的货物量更新当前被调度车辆的剩余容量和每个站点的访问状态;
11.判断步骤,判断是否存在未被访问的站点,如果存在未被访问的站点,返回所述调度步骤,如果不存在未被访问的站点,转向策略输出步骤;
12.所述策略输出步骤,根据为每个车辆分配的站点输出路径规划策略,所述路径规划策略包括每一车辆访问站点的顺序。
13.本发明的可选实施例中,还包括训练所述策略模型的步骤,训练所述策略模型的步骤包括:
14.获取步骤,获取多组训练数据,每组所述训练数据包括每个站点的位置、每个站点待投递的货物数量、每个站点待拾取的货物数量、货物的起始地和目的地、车辆的容量以及
车辆的数目;
15.初始化步骤,初始化策略模型的参数;
16.训练步骤,搭建策略网络模型,将所述多组训练数据输入所述策略网络模型,输出与每组训练数据对应的派送策略序列以及每个派送策略中各客户站点被选取的概率;利用所述派送策略序列计算所有车辆的总路程,以及局部解对应的局部路程;计算所述派送策略序列的评估值函数网络模型,所述评估值函数网络模型的输入为所述派送策略序列的每步局部解,输出为每步局部评估值;基于值函数更新所述策略模型和所述评估值函数;
17.重复所述训练步骤n次后,保存策略模型,n为正整数。
18.本发明的可选实施例中,所述基于值函数更新所述策略模型和所述评估值函数包括:
19.计算所述策略模型和所述评估值函数的损失函数l;
20.对所述损失函数l求梯度;
21.利用梯度下降法更新所述策略模型和所述评估值函数的参数。
22.本发明的可选实施例中,所述调度步骤还包括:
23.将货物量超过当前被调度车辆的剩余容量的站点设为无法访问的站点。
24.本发明的可选实施例中,所述更新步骤包括:
25.根据分配给当前被调度车辆的站点的待派送货物量或待捡收货物量以及当前被调度车辆的当前容量更新当前被调度车辆的剩余容量。
26.本发明的可选实施例中,所述待派送站点与所述待捡收站点一一对应,若所述待捡收站点未被访问,则对应的待派送站点为无法访问的站点,所述将备选概率值最大的动作分配给当前被调度车辆包括:
27.删除无法访问的站点,将前往剩余站点和停留原地中备选概率值最大的动作分配给当前被调度车辆。
28.本发明的可选实施例中,当多个车辆被分配同一站点时,指派备选概率值最大的车辆前往该站点,其他车辆保留在原地。
29.本发明实施例还提供了一种多车辆路径规划装置,用于规划多车辆访问多站点的路径,所述多站点包括待派送站点和待捡收站点,所述装置包括:
30.调度模块,用于利用预先训练的策略模型计算未被访问的站点的备选概率值,所述策略模型的输入包括每个站点的嵌入表征向量和全局表征向量,输出为去往每个站点以及停留原地的备选概率值;将备选概率值最大的动作分配给当前被调度车辆,作为当前被调度车辆的下一步动作;
31.更新模块,用于根据下一步动作对应的站点的货物量更新当前被调度车辆的剩余容量和每个站点的访问状态;
32.判断模块,用于判断是否存在未被访问的站点,如果存在未被访问的站点,返回所述调度模块,如果不存在未被访问的站点,转向策略输出模块;
33.所述策略输出模块,用于根据为每个车辆分配的站点输出路径规划策略,所述路径规划策略包括每一车辆访问站点的顺序。
34.本发明的可选实施例中,所述装置还包括训练模块,用于训练所述策略模型,所述训练模块包括:
35.获取子模块,用于获取多组训练数据,每组所述训练数据包括每个站点的位置、每个站点待投递的货物数量、每个站点待拾取的货物数量、货物的起始地和目的地、车辆的容量以及车辆的数目;
36.初始化子模块,用于初始化策略模型的参数;
37.训练子模块,用于搭建策略网络模型,将所述多组训练数据输入所述策略网络模型,输出与每组训练数据对应的派送策略序列以及每个派送策略中各客户站点被选取的概率;利用所述派送策略序列计算所有车辆的总路程,以及局部解对应的局部路程;计算所述派送策略序列的评估值函数网络模型,所述评估值函数网络模型的输入为所述派送策略序列的每步局部解,输出为每步局部评估值;基于值函数更新所述策略模型和所述评估值函数;
38.保存子模块,用于在所述训练子模块训练n次后,保存策略模型,n为正整数。
39.本发明的可选实施例中,所述训练子模块具体用于计算所述策略模型和所述评估值函数的损失函数l;对所述损失函数l求梯度;利用梯度下降法更新所述策略模型和所述评估值函数的参数。
40.本发明的可选实施例中,所述调度模块还用于将货物量超过当前被调度车辆的剩余容量的站点设为无法访问的站点。
41.本发明的可选实施例中,所述更新模块具体用于根据分配给当前被调度车辆的站点的待派送货物量或待捡收货物量以及当前被调度车辆的当前容量更新当前被调度车辆的剩余容量。
42.本发明的可选实施例中,所述待派送站点与所述待捡收站点一一对应,若所述待捡收站点未被访问,则对应的待派送站点为无法访问的站点,所述调度模块具体用于删除无法访问的站点,将前往剩余站点和停留原地中备选概率值最大的动作分配给当前被调度车辆。
43.本发明实施例还提供了一种多车辆路径规划设备,包括:
44.处理器;和存储器,在所述存储器中存储有计算机程序指令,
45.其中,在所述计算机程序指令被所述处理器运行时,使得所述处理器执行如上所述的多车辆路径规划方法中的步骤。
46.本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器运行时,使得所述处理器执行如上所述的多车辆路径规划方法中的步骤。
47.本发明的实施例具有以下有益效果:
48.上述方案中,预先训练好策略模型,利用预先训练好的策略模型生成站点的备选概率值,根据备选概率值的大小为车辆分配站点,生成路径规划策略,能够大幅度提高路径规划策略的生成速度。
附图说明
49.图1为本发明实施例一车辆路径规划方法的流程示意图;
50.图2为本发明实施例一得到策略模型的流程示意图;
51.图3和图4为本发明实施例二车辆路径规划装置的结构框图;
52.图5为本发明实施例三车辆路径规划设备的结构框图。
具体实施方式
53.为使本发明的实施例要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
54.本发明实施例提供一种多车辆路径规划方法及装置,能够提高路径规划策略的生成速度。
55.实施例一
56.本发明实施例提供一种多车辆路径规划方法,用于规划多车辆访问多站点的路径,所述多站点包括待派送站点和待捡收站点,如图1所示,本实施例包括:
57.调度步骤101,利用预先训练的策略模型计算未被访问的站点的备选概率值,所述策略模型的输入包括每个站点的嵌入表征向量和全局表征向量,输出为去往每个站点以及停留原地的备选概率值;将备选概率值最大的动作分配给当前被调度车辆,作为当前被调度车辆的下一步动作;
58.预先训练好策略模型,所述策略模型的输入包括每个站点的嵌入表征向量和全局表征向量,站点的嵌入表征向量根据站点的信息生成,站点的信息包括站点的位置,站点的信息还可以包括站点的标识,站点的信息还包括站点是待派送站点或待捡收站点,待派送的货物量,待捡收的货物量,站点的位置包括站点的坐标,通过站点的坐标可以得到多个站点之间的距离、以及多个站点与起点也就是仓库之间的距离。
59.本实施例中,策略模型输出去往每个站点以及停留原地的备选概率值,将备选概率值最大的动作分配给当前被调度车辆,作为当前被调度车辆的下一步动作,比如备选概率值最大的动作为停留原地,则当前被调度车辆的下一步动作为停留原地;备选概率值最大的动作为去往站点h,则当前被调度车辆的下一步动作为去往站点h。
60.本实施例的场景中,所述待派送站点与所述待捡收站点一一对应,待派送站点的待派送货物量与待捡收站点的待捡收货物量相同。比如待派送站点a1与待捡收站点a2对应,需要将待捡收站点a2的货物派送到待派送站点a1;待派送站点b1与待捡收站点b2对应,需要将待捡收站点b2的货物派送到待派送站点b1。若所述待捡收站点未被访问,则对应的待派送站点为无法访问的站点,比如在车辆未到达待捡收站点b2之前,待派送站点b1为无法访问的站点;在车辆未到达待捡收站点a2之前,待派送站点a1为无法访问的站点。则在将备选概率值最大的站点分配给当前被调度车辆时,还需要删除无法访问的站点,将前往剩余站点和停留原地中备选概率值最大的动作分配给当前被调度车辆。在车辆到达待捡收站点之后,对应的待派送站点为可以访问的站点。
61.本实施例中,在生成备选概率值之后,将备选概率值最大的动作分配给当前被调度车辆之前,还需要去除无法访问的站点,无法访问的站点包括货物量超过当前被调度车辆的剩余容量的站点、对应的待捡收站点未被访问的待派送站点、与其他车辆冲突的站点等等,其中,当前所在的站点可以不包括在无法访问的站点内。
62.更新步骤102,根据下一步动作对应的站点的货物量更新当前被调度车辆的剩余容量和每个站点的访问状态;
63.在将站点分配给车辆作为车辆的目的地后,需要根据分配情况更新车辆的剩余容
量和每个站点的状态,具体地,可以根据分配给当前被调度车辆的站点的待派送货物量或待捡收货物量以及当前被调度车辆的当前容量更新当前被调度车辆的剩余容量。
64.在车辆到达站点后,若站点为待捡收站点,车辆应全部取走站点的待捡收货物;若站点为待派送站点,车辆应将站点的待派送货物全部派送到站点。即站点被车辆访问后,站点的状态由未被访问更改为已访问,之后策略模型将屏蔽该站点,不再计算该站点的备选概率值。
65.比如车辆的当前剩余容量为20吨,将待捡收货物量为10吨的站点分配给车辆后,车辆的剩余容量更新为10吨,待捡收货物量为10吨的站点的状态由未访问变为已访问;之后策略模型将屏蔽该站点,不再计算该站点的备选概率值。比如车辆的当前剩余容量为20吨,将待派送货物量为20吨的站点分配给车辆后,车辆的剩余容量更新为40吨,待派送货物量为20吨的站点的状态由未访问变为已访问;之后策略模型将屏蔽该站点,不再计算该站点的备选概率值。
66.判断步骤103,判断是否存在未被访问的站点,如果存在未被访问的站点,返回所述调度步骤,如果不存在未被访问的站点,转向策略输出步骤;
67.所述策略输出步骤104,根据为每个车辆分配的站点输出路径规划策略,所述路径规划策略包括每一车辆访问站点的顺序。
68.在所有站点分配完毕后,可以根据站点加入车辆路径列表的顺序,得到每一车辆的行驶路径,还可以得到每一车辆的行驶总时长,可以根据每一车辆的行驶总时长评价路径规划策略的优劣。
69.一具体示例中,如下表所示,站点的信息如下:
70.[0071][0072]
其中,待派送货物量和待捡收货物量的单位可以为吨,标识为0的站点也就是起点(仓库),标识为1-10的站点为待派送站点或待捡收站点,待派送站点的待捡收货物量为0,待捡收站点的待派送货物量为0,站点的坐标为平面坐标系下的坐标,单位可以是千米,车辆的初始容量可以为10吨,一共有两辆车。站点6与站点1对应,需要将站点1的货物派送到站点6;站点7与站点2对应,需要将站点2的货物派送到站点7;站点8与站点3对应,需要将站点3的货物派送到站点8;站点9与站点4对应,需要将站点4的货物派送到站点9;站点10与站点5对应,需要将站点5的货物派送到站点10。
[0073]
本实施例中,策略模型可以包括全局编码器和多个解码器,对每一车辆有一个单独的解码器,通过每一车辆对应的解码器为每一车辆计算下一步动作的备选概率值,判断车辆是停留在原地还是去往其他站点。
[0074]
本实施例中,车辆从仓库出发,两个车辆对应的解码器分别生成1-10所有站点的访问概率。车辆1进行决策,判断不会停留原地;删除无法访问的站点(6-10,因其货物未被收取),从其余站点中选取备选概率值最大的2号站点访问;车辆2进行决策,判断不会停留原地;删除无法访问的站点(6-10,因其货物未被收取,),其余站点中备选概率值最大为2号站点。由于与车辆1的当前决策冲突,判断二者对应的备选概率值大小。车辆1前往2号站点的备选概率值大于车辆1前往2号站点备选概率值,故车辆1前往2号站点,而车辆2停留在原地(仓库0)。
[0075]
该次决策中,车辆1从仓库到达站点2,捡收站点2的货物,0-》2;车辆2停留在仓库。
[0076]
车辆继续行驶,两个车辆对应的解码器分别生成1-10所有站点的访问概率。车辆1进行决策;删除无法访问的站点(6,8,9,10,因其货物未被该车收取),从其余站点中选取备选概率值最大的1号站点访问(当前站点并不具有最大备选概率值,故并不会停留在原地);车辆2进行决策,判断不会停留原地;删除无法访问的站点(6,7,8,9,10,因其货物未被其收取,以及2,因已被访问过),从其余站点中选择备选概率值最大的1号站点进行访问。由于与车辆1的当前决策冲突,判断二者对应的备选概率值大小。车辆2前往1号站点的备选概率值大于车辆2前往1号站点的备选概率值,故车辆2前往1号站点,而车辆1停留在原地(站点2)
[0077]
车辆1的行驶路径更新为:0-》2;车辆2的行驶路径更新为:0-》1。
[0078]
车辆继续行驶,两个车辆对应的解码器分别生成1-10所有站点的访问概率。车辆1进行决策,判断不会停留原地;删除无法访问的站点(6,8,9,10,因其货物未被该车收取,1,2因已被访问过),从其余站点中选取备选概率值最大的7号站点访问;车辆2进行决策,判断不会停留原地;删除无法访问的站点(7,8,9,10,因其货物未被其收取,以及1,2,因已被访问过),从其余站点中选择备选概率值最大的4号站点进行访问。
[0079]
车辆1的行驶路径更新为:0-》2-》7,将站点2的货物派送至站点7;车辆2的行驶路径更新为:0-》1-》4,捡收站点1和站点4的货物。
[0080]
车辆继续行驶,两个车辆对应的解码器分别生成1-10所有站点的访问概率。车辆1进行决策,判断不会停留原地;删除无法访问的站点(6,8,9,10,因其货物未被该车收取,1,2,4,7因已被访问过),从其余站点中选取备选概率值最大的3号站点访问;车辆2进行决策,判断会停留原地4,不移动。
[0081]
车辆1的行驶路径更新为:0-》2-》7-》3,捡收站点3的货物;车辆2的行驶路径更新为:0-》1-》4,捡收站点1和站点4的货物。
[0082]
车辆继续行驶,两个车辆对应的解码器分别生成1-10所有站点的访问概率。车辆1进行决策,判断不会停留原地;删除无法访问的站点(6,9,10,因其货物未被该车收取,1,2,3,4,7因已被访问过),从其余站点中选取备选概率值最大的8号站点访问;车辆2进行决策,判断不会停留原地;删除无法访问的站点(8,10,因其货物未被其收取,以及1,2,3,4,7,因已被访问过),从其余站点中选择备选概率值最大的6号站点进行访问。
[0083]
车辆1的行驶路径更新为:0-》2-》7-》3-》8,将站点3的货物派送到站点8;车辆2的行驶路径更新为:0-》1-》4-》6,将站点1的货物派送到站点6,携带站点4的货物。
[0084]
车辆继续行驶,两个车辆对应的解码器分别生成1-10所有站点的访问概率。车辆1进行决策,判断不会停留原地;删除无法访问的站点(9,10,因其货物未被该车收取,1,2,3,4,6,7,8因已被访问过),从其余站点中选取备选概率值最大的5号站点访问;车辆2进行决策,判断不会停留原地;删除无法访问的站点(10,因其货物未被其收取,以及1,2,3,4,6,7,8因已被访问过),从其余站点中选择备选概率值最大的9号站点进行访问。
[0085]
车辆1的行驶路径更新为:车辆1:0-》2-》7-》3-》8-》5,捡收站点5的货物;车辆2的行驶路径更新为:0-》1-》4-》6-》9,将站点4的货物派送到站点9。
[0086]
车辆继续行驶,两个车辆对应的解码器分别生成1-10所有站点的访问概率。车辆1进行决策,判断不会停留原地;删除无法访问的站点(1,2,3,4,5,6,7,8,9因已被访问过),从其余站点中选取备选概率值最大的8号站点访问;车辆2进行决策,判断不会停留原地;删
除无法访问的站点(10,因其货物未被其收取,1,2,3,4,5,6,7,8,9因已被访问过),无站点可前往,选择返回原点。
[0087]
车辆1的行驶路径更新为:车辆1:0-》2-》7-》3-》8-》5-》10,将站点5的货物派送到站点10;车辆2的行驶路径更新为:0-》1-》4-》6-》9-》0。
[0088]
车辆继续行驶,两个车辆对应的解码器分别生成1-10所有站点的访问概率。车辆1进行决策,判断不会停留原地;删除无法访问的站点(1,2,3,4,5,6,7,8,9,10因已被访问过),只能返回原点;车辆2进行决策,判断不会停留原地;删除无法访问的站点(1,2,3,4,5,6,7,8,9,10因已被访问过),无站点可前往,选择返回原点。
[0089]
车辆1的行驶路径更新为:0-》2-》7-》3-》8-》5-》10-》0,车辆2的行驶路径更新为:0-》1-》4-》6-》9-》0。
[0090]
最终输出每个车辆的规划路径:
[0091]
车辆1:0-》2-》7-》3-》8-》5-》10-》0;
[0092]
车辆2:0-》1-》4-》6-》9-》0。
[0093]
本实施例中,预先训练好策略模型,利用预先训练好的策略模型生成路径规划策略,能够大幅度提高路径规划策略的生成速度,能够生成合理的路径规划策略,尽量使车辆的行驶路径最短、费用最小、时间最少。
[0094]
其中,策略模型为利用训练数据训练得到。多车辆路径规划方法还包括训练所述策略模型的步骤,如图2所示,训练所述策略模型的步骤包括:
[0095]
获取步骤201,获取多组训练数据,每组所述训练数据包括每个站点的位置、每个站点待投递的货物数量、每个站点待拾取的货物数量、货物的起始地和目的地、车辆的容量以及车辆的数目;
[0096]
初始化步骤202,初始化策略模型的参数;
[0097]
训练步骤203,搭建策略网络模型(可选地,为actor网络),将所述多组训练数据输入所述策略网络模型,输出与每组训练数据对应的派送策略序列以及每个派送策略中各客户站点被选取的概率;利用所述派送策略序列计算所有车辆的总路程,以及局部解对应的局部路程;可选地,还可以计算所述派送策略序列的评估值函数网络模型可选地,为(critic网络),所述评估值函数网络模型的输入为所述派送策略序列的每步局部解,输出为每步局部评估值;基于值函数更新所述策略模型和所述评估值函数;
[0098]
其中,所述基于值函数更新所述策略模型和所述评估值函数包括:
[0099]
计算所述策略模型和所述评估值函数的损失函数l;
[0100]
对所述损失函数l求梯度;
[0101]
利用梯度下降法更新所述策略模型和所述评估值函数的参数。
[0102]
一具体示例中,可以根据以下公式计算所述策略模型和所述评估值函数的损失函数l;
[0103]
l=l
actor
l
critic
[0104][0105][0106]
其中,pi(a|s)为每步对应的概率,gt(s,a)为分步的局部路程,vt(s)为每步局部
值,θ为策略网络及评估值函数网络的待训练参数,lcritic对应huber loss,δ为huber loss的子参数。
[0107]
步骤204:判断训练步骤的重复次数是否小于n,如果是,转向步骤203;如果否,转向步骤205;n为正整数,可以根据需要设定;
[0108]
步骤205:保存策略模型。
[0109]
在经过上述步骤201-205得到策略模型后,保存策略模型,之后即可利用保存的策略模型生成路径规划策略,能够大大提升路径规划策略的生成速度。值得注意的是,每一策略模型输入的站点信息是固定的,如果需要更改站点信息,则需要重新训练得到新的策略模型。
[0110]
实施例二
[0111]
本发明实施例还提供了一种多车辆路径规划装置,用于在包含多个站点的路径中规划多个车辆的行驶路径,如图3所示,本实施例包括:
[0112]
调度模块31,用于利用预先训练的策略模型计算未被访问的站点的备选概率值,所述策略模型的输入包括每个站点的嵌入表征向量和全局表征向量,输出为去往每个站点以及停留原地的备选概率值;将备选概率值最大的动作分配给当前被调度车辆,作为当前被调度车辆的下一步动作;
[0113]
预先训练好策略模型,所述策略模型的输入包括每个站点的嵌入表征向量和全局表征向量,站点的嵌入表征向量根据站点的信息生成,站点的信息包括站点的位置,站点的信息还可以包括站点的标识,站点的信息还包括站点是待派送站点或待捡收站点,待派送的货物量,待捡收的货物量,站点的位置包括站点的坐标,通过站点的坐标可以得到多个站点之间的距离、以及多个站点与起点也就是仓库之间的距离。
[0114]
本实施例中,策略模型输出去往每个站点以及停留原地的备选概率值,将备选概率值最大的动作分配给当前被调度车辆,作为当前被调度车辆的下一步动作,比如备选概率值最大的动作为停留原地,则当前被调度车辆的下一步动作为停留原地;备选概率值最大的动作为去往站点h,则当前被调度车辆的下一步动作为去往站点h。
[0115]
本实施例的场景中,所述待派送站点与所述待捡收站点一一对应,待派送站点的待派送货物量与待捡收站点的待捡收货物量相同。比如待派送站点a1与待捡收站点a2对应,需要将待捡收站点a2的货物派送到待派送站点a1;待派送站点b1与待捡收站点b2对应,需要将待捡收站点b2的货物派送到待派送站点b1。若所述待捡收站点未被访问,则对应的待派送站点为无法访问的站点,比如在车辆未到达待捡收站点b2之前,待派送站点b1为无法访问的站点;在车辆未到达待捡收站点a2之前,待派送站点a1为无法访问的站点。则在将备选概率值最大的站点分配给当前被调度车辆时,还需要删除无法访问的站点,将前往剩余站点和停留原地中备选概率值最大的动作分配给当前被调度车辆。在车辆到达待捡收站点之后,对应的待派送站点为可以访问的站点。
[0116]
本实施例中,在生成备选概率值之后,将备选概率值最大的动作分配给当前被调度车辆之前,还需要去除无法访问的站点,无法访问的站点包括货物量超过当前被调度车辆的剩余容量的站点、对应的待捡收站点未被访问的待派送站点、与其他车辆冲突的站点等等,其中,当前所在的站点可以不包括在无法访问的站点内。
[0117]
更新模块32,用于根据下一步动作对应的站点的货物量更新当前被调度车辆的剩
余容量和每个站点的访问状态;
[0118]
在将站点分配给车辆作为车辆的目的地后,需要根据分配情况更新车辆的剩余容量和每个站点的状态,具体地,可以根据分配给当前被调度车辆的站点的待派送货物量或待捡收货物量以及当前被调度车辆的当前容量更新当前被调度车辆的剩余容量。
[0119]
在车辆到达站点后,若站点为待捡收站点,车辆应全部取走站点的待捡收货物;若站点为待派送站点,车辆应将站点的待派送货物全部派送到站点。即站点被车辆访问后,站点的状态由未被访问更改为已访问,之后策略模型将屏蔽该站点,不再计算该站点的备选概率值。
[0120]
比如车辆的当前剩余容量为20吨,将待捡收货物量为10吨的站点分配给车辆后,车辆的剩余容量更新为10吨,待捡收货物量为10吨的站点的状态由未访问变为已访问;之后策略模型将屏蔽该站点,不再计算该站点的备选概率值。比如车辆的当前剩余容量为20吨,将待派送货物量为20吨的站点分配给车辆后,车辆的剩余容量更新为40吨,待派送货物量为20吨的站点的状态由未访问变为已访问;之后策略模型将屏蔽该站点,不再计算该站点的备选概率值。
[0121]
判断模块33,用于判断是否存在未被访问的站点,如果存在未被访问的站点,返回所述调度模块,如果不存在未被访问的站点,转向策略输出模块;
[0122]
所述策略输出模块34,用于根据为每个车辆分配的站点输出路径规划策略,所述路径规划策略包括每一车辆访问站点的顺序。
[0123]
在所有站点分配完毕后,可以根据站点加入车辆路径列表的顺序,得到每一车辆的行驶路径,还可以得到每一车辆的行驶总时长,可以根据每一车辆的行驶总时长评价路径规划策略的优劣。
[0124]
本实施例中,预先训练好策略模型,利用预先训练好的策略模型生成路径规划策略,能够大幅度提高路径规划策略的生成速度,能够生成合理的路径规划策略,尽量使车辆的行驶路径最短、费用最小、时间最少。
[0125]
其中,策略模型为利用样本数据训练得到。可选的,如图4所示,所述装置还包括:
[0126]
训练模块35,用于训练得到所述策略模型。
[0127]
所述训练模块包括:
[0128]
获取子模块,用于获取多组训练数据,每组所述训练数据包括每个站点的位置、每个站点待投递的货物数量、每个站点待拾取的货物数量、货物的起始地和目的地、车辆的容量以及车辆的数目;
[0129]
初始化子模块,用于初始化策略模型的参数;
[0130]
训练子模块,用于搭建策略网络模型(可选地,为actor网络),将所述多组训练数据输入所述策略网络模型,输出与每组训练数据对应的派送策略序列以及每个派送策略中各客户站点被选取的概率;利用所述派送策略序列计算所有车辆的总路程,以及局部解对应的局部路程;可选地,还可以计算所述派送策略序列的评估值函数网络模型可选地,为(critic网络),所述评估值函数网络模型的输入为所述派送策略序列的每步局部解,输出为每步局部评估值;基于值函数更新所述策略模型和所述评估值函数;
[0131]
所述训练子模块具体用于计算所述策略模型和所述评估值函数的损失函数l;对所述损失函数l求梯度;利用梯度下降法更新所述策略模型和所述评估值函数的参数。
[0132]
保存子模块,用于在所述训练子模块训练n次后,保存策略模型,n为正整数。
[0133]
得到策略模型后,保存策略模型,之后即可利用保存的策略模型生成路径规划策略,能够大大提升路径规划策略的生成速度。值得注意的是,每一策略模型输入的站点信息是固定的,如果需要更改站点信息,则需要重新训练得到新的策略模型。
[0134]
实施例三
[0135]
本发明实施例还提供了一种多车辆路径规划设备50,如图5所示,包括:
[0136]
处理器52;和
[0137]
存储器54,在所述存储器54中存储有计算机程序指令,
[0138]
其中,在所述计算机程序指令被所述处理器运行时,使得所述处理器52执行以下步骤:
[0139]
设定步骤,设定多个车辆的调度顺序;
[0140]
调度步骤,利用预先训练的策略模型计算未被访问的站点的备选概率值,所述策略模型的输入包括每个站点的嵌入表征向量和全局表征向量,输出为去往每个站点以及停留原地的备选概率值;将备选概率值最大的动作分配给当前被调度车辆,作为当前被调度车辆的下一步动作;
[0141]
更新步骤,根据下一步动作对应的站点的货物量更新当前被调度车辆的剩余容量和每个站点的访问状态;
[0142]
判断步骤,判断是否存在未被访问的站点,如果存在未被访问的站点,返回所述调度步骤,如果不存在未被访问的站点,转向策略输出步骤;
[0143]
所述策略输出步骤,根据为每个车辆分配的站点输出路径规划策略,所述路径规划策略包括每一车辆访问站点的顺序。
[0144]
本实施例中,预先训练好策略模型,利用预先训练好的策略模型生成站点的备选概率值,根据备选概率值的大小为车辆分配站点,生成路径规划策略,能够大幅度提高路径规划策略的生成速度。
[0145]
进一步地,如图5所示,多车辆路径规划设备50还包括网络接口51、输入设备53、硬盘55、和显示设备56。
[0146]
上述各个接口和设备之间可以通过总线架构互连。总线架构可以是可以包括任意数量的互联的总线和桥。具体由处理器52代表的一个或者多个中央处理器(cpu),以及由存储器54代表的一个或者多个存储器的各种电路连接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其它电路连接在一起。可以理解,总线架构用于实现这些组件之间的连接通信。总线架构除包括数据总线之外,还包括电源总线、控制总线和状态信号总线,这些都是本领域所公知的,因此本文不再对其进行详细描述。
[0147]
所述网络接口51,可以连接至网络(如因特网、局域网等),从网络中获取相关数据,并可以保存在硬盘55中。
[0148]
所述输入设备53,可以接收操作人员输入的各种指令,并发送给处理器52以供执行。所述输入设备53可以包括键盘或者点击设备(例如,鼠标,轨迹球(trackball)、触感板或者触摸屏等。
[0149]
所述显示设备56,可以将处理器52执行指令获得的结果进行显示。
[0150]
所述存储器54,用于存储操作系统运行所必须的程序和数据,以及处理器52计算
过程中的中间结果等数据。
[0151]
可以理解,本发明实施例中的存储器54可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom)、可编程只读存储器(prom)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)或闪存。易失性存储器可以是随机存取存储器(ram),其用作外部高速缓存。本文描述的装置和方法的存储器54旨在包括但不限于这些和任意其它适合类型的存储器。
[0152]
在一些实施方式中,存储器54存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:操作系统541和应用程序542。
[0153]
其中,操作系统541,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序542,包含各种应用程序,例如浏览器(browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序542中。
[0154]
上述处理器52,当调用并执行所述存储器54中所存储的应用程序和数据,具体的,执行以下步骤:设定步骤,设定多个车辆的调度顺序;调度步骤,利用预先训练的策略模型计算未被访问的站点的备选概率值,所述策略模型的输入包括每个站点的嵌入表征向量和全局表征向量,输出为去往每个站点以及停留原地的备选概率值;将备选概率值最大的动作分配给当前被调度车辆,作为当前被调度车辆的下一步动作;更新步骤,根据下一步动作对应的站点的货物量更新当前被调度车辆的剩余容量和每个站点的访问状态;判断步骤,判断是否存在未被访问的站点,如果存在未被访问的站点,返回所述调度步骤,如果不存在未被访问的站点,转向策略输出步骤;所述策略输出步骤,根据为每个车辆分配的站点输出路径规划策略,所述路径规划策略包括每一车辆访问站点的顺序。
[0155]
本发明上述实施例揭示的方法可以应用于处理器52中,或者由处理器52实现。处理器52可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器52中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器52可以是通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器54,处理器52读取存储器54中的信息,结合其硬件完成上述方法的步骤。
[0156]
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(asic)、数字信号处理器dsp)、数字信号处理设备(dspd)、可编程逻辑设备(pld)、现场可编程门阵列(fpga)、通用处理器、控制器、微控制器、微处理器、用于执行本技术所述功能的其它电子单元或其组合中。
[0157]
对于软件实现,可通过执行本文所述功能的模块(例如过程、函数等)来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在
处理器外部实现。
[0158]
进一步地,处理器52还用于执行训练步骤,训练得到所述策略模型。包括:
[0159]
获取步骤,获取多组训练数据,每组所述训练数据包括每个站点的位置、每个站点待投递的货物数量、每个站点待拾取的货物数量、货物的起始地和目的地、车辆的容量以及车辆的数目;
[0160]
初始化步骤,初始化策略模型的参数;
[0161]
训练步骤,搭建策略网络模型,将所述多组训练数据输入所述策略网络模型,输出与每组训练数据对应的派送策略序列以及每个派送策略中各客户站点被选取的概率;利用所述派送策略序列计算所有车辆的总路程,以及局部解对应的局部路程;计算所述派送策略序列的评估值函数网络模型,所述评估值函数网络模型的输入为所述派送策略序列的每步局部解,输出为每步局部评估值;基于值函数更新所述策略模型和所述评估值函数;
[0162]
重复所述训练步骤n次后,保存策略模型,n为正整数。
[0163]
进一步地,处理器52具体用于计算所述策略模型和所述评估值函数的损失函数l;
[0164]
对所述损失函数l求梯度;
[0165]
利用梯度下降法更新所述策略模型和所述评估值函数的参数。
[0166]
进一步地,处理器52具体用于根据分配给当前被调度车辆的站点的待派送货物量或待捡收货物量以及当前被调度车辆的当前容量更新当前被调度车辆的剩余容量。
[0167]
进一步地,所述待派送站点与所述待捡收站点一一对应,若所述待捡收站点未被访问,则对应的待派送站点为无法访问的站点,处理器52具体用于删除无法访问的站点,将前往剩余站点和停留原地中备选概率值最大的动作分配给当前被调度车辆。
[0168]
实施例四
[0169]
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器运行时,使得所述处理器执行以下步骤:
[0170]
调度步骤,利用预先训练的策略模型计算未被访问的站点的备选概率值,所述策略模型的输入包括每个站点的嵌入表征向量和全局表征向量,输出为去往每个站点以及停留原地的备选概率值;将备选概率值最大的动作分配给当前被调度车辆,作为当前被调度车辆的下一步动作;
[0171]
更新步骤,根据下一步动作对应的站点的货物量更新当前被调度车辆的剩余容量和每个站点的访问状态;
[0172]
判断步骤,判断是否存在未被访问的站点,如果存在未被访问的站点,返回所述调度步骤,如果不存在未被访问的站点,转向策略输出步骤;
[0173]
所述策略输出步骤,根据为每个车辆分配的站点输出路径规划策略,所述路径规划策略包括每一车辆访问站点的顺序。
[0174]
本实施例中,预先训练好策略模型,利用预先训练好的策略模型生成站点的备选概率值,根据备选概率值的大小为车辆分配站点,生成路径规划策略,能够大幅度提高路径规划策略的生成速度。
[0175]
进一步地,所述计算机程序被处理器运行时,还使得所述处理器执行以下步骤:训练所述策略模型,包括:
[0176]
获取步骤,获取多组训练数据,每组所述训练数据包括每个站点的位置、每个站点
待投递的货物数量、每个站点待拾取的货物数量、货物的起始地和目的地、车辆的容量以及车辆的数目;
[0177]
初始化步骤,初始化策略模型的参数;
[0178]
训练步骤,搭建策略网络模型,将所述多组训练数据输入所述策略网络模型,输出与每组训练数据对应的派送策略序列以及每个派送策略中各客户站点被选取的概率;利用所述派送策略序列计算所有车辆的总路程,以及局部解对应的局部路程;计算所述派送策略序列的评估值函数网络模型,所述评估值函数网络模型的输入为所述派送策略序列的每步局部解,输出为每步局部评估值;基于值函数更新所述策略模型和所述评估值函数;
[0179]
重复所述训练步骤n次后,保存策略模型,n为正整数。
[0180]
进一步地,所述计算机程序被处理器运行时,还使得所述处理器执行以下步骤:计算所述策略模型和所述评估值函数的损失函数l;
[0181]
对所述损失函数l求梯度;
[0182]
利用梯度下降法更新所述策略模型和所述评估值函数的参数。
[0183]
进一步地,所述计算机程序被处理器运行时,还使得所述处理器执行以下步骤:根据分配给当前被调度车辆的站点的待派送货物量或待捡收货物量以及当前被调度车辆的当前容量更新当前被调度车辆的剩余容量。
[0184]
进一步地,所述待派送站点与所述待捡收站点一一对应,若所述待捡收站点未被访问,则对应的待派送站点为无法访问的站点,所述计算机程序被处理器运行时,还使得所述处理器执行以下步骤:删除无法访问的站点,将前往剩余站点和停留原地中备选概率值最大的动作分配给当前被调度车辆。
[0185]
以上是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献