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

车辆路径规划方法及装置

2022-04-24 18:08:23 来源:中国专利 TAG:


1.本发明涉及车辆路径问题(vehicle routing problem,vrp)技术领域,具体而言,本发明涉及一种车辆路径规划方法及装置。


背景技术:

2.带时间窗的车辆路径规划问题(vrp)在现实中有广泛的应用,比如公交车规划、货物运输等。对于该问题,现有技术的解决方案主要包括传统方法和基于强化学习的方法两种。
3.其中,传统方法又具体包括精确算法和启发式方法,精确算法效率低、不具备实用价值;启发式方法的性能依赖精细的人工设计,效率也不够高。
4.基于强化学习的方法难以在同时考虑多种限制条件下,在目标优化上保持原有的高性能搜索。在本项目中,多限制条件具体包括时间窗限制、车辆载量限制与车辆数目限制。
5.例如,一篇中国专利申请(cn110147901a)中使用指针网络(pointer network)来直接生成vrp问题的解,当同时考虑多种限制条件时,由于状态数目、动作空间数目以及模型规模的大幅增大,该模型会出现难以训练、性能大幅下降等问题,因此难以适用于大规模vrp问题。
6.又例如,另一篇中国专利申请(cn106251009a)中使用蚁群优化算法来解决vrp问题并生成解,但是在大规模的数据分布上存在着生成速度缓慢,不具有实时响应能力等缺陷。
7.另外,现有技术通常都是利用神经网络进行路径搜索,在多限制条件下搜索性能很低。
8.因此,亟需一种能够适用于在多限制条件下,兼顾高性能和高效率的vrp方法,来解决车辆路径规划问题。


技术实现要素:

9.本发明实施例要解决的技术问题是提供一种车辆路径规划方法及装置,能够提高路径规划的性能和效率。
10.为解决上述技术问题,本发明实施例提供的一种车辆路径规划方法,包括:
11.数据获取步骤,获取待进行路径规划的始发站点、模拟车辆的最大装载量、多个客户站点的地理位置、每个客户站点的配送需求和服务时间窗,作为输入数据;
12.模型加载步骤,加载预先训练好的路径策略搜索模型,并初始化全局时间和所述模拟车辆的剩余容量和地理位置;
13.路径生成步骤,利用所述路径策略搜索模型,生成并输出路径策略,其中,所述路径策略搜索模型采用单一的模拟车辆在所有客户站点中进行搜索,并将所述模拟车辆从始发站点出发经过一个或多个客户站点后并返回所述始发站点的一段站点序列,作为一辆配
送车辆的配送路径,得到多辆配送车辆的路径策略。
14.可选的,所述利用所述路径策略搜索模型,生成并输出路径策略,包括:
15.第一判断步骤,判断所述输入数据中是否存在未访问的客户站点,若是则进入站点筛选步骤,否则进入策略输出步骤;
16.所述站点筛选步骤,根据所述模拟车辆的地理位置和未访问的客户站点的地理位置,计算所述模拟车辆到达各个未访问的客户站点的抵达时间,筛选抵达时间不晚于该客户站点的服务时间窗的截止时间的客户站点,作为备选站点;
17.第二判断步骤,判断是否存在所述备选站点,若是,则进入概率计算步骤,否则进入重置步骤;
18.所述概率计算步骤,计算所述模拟车辆去往各个备选站点的选取概率值,选择出选取概率值最大的备选站点作为当前目标站点,并判断模拟车辆的剩余容量是否满足当前目标站点的配送需求,若是,则进入状态更新步骤,否则,进入重置步骤;
19.所述重置步骤,重置全局时间,将模拟车辆返回始发站点后进入所述站点筛选步骤;
20.所述状态更新步骤,将模拟车辆的地理位置更新为当前目标站点的地理位置,并更新全局时间、模拟车辆的剩余容量和客户站点的访问状态,然后返回所述第一判断步骤;
21.所述策略输出步骤,获得包含各个站点的访问顺序的站点总序列,并将从始发站点出发经过一个或多个客户站点后并返回所述始发站点的站点序列作为一段站点序列,将所述站点总序列划分为至少一段站点序列后输出,其中,每段站点序列对应于一辆配送车辆的配送路径。
22.可选的,所述计算模拟车辆去往各个备选站点的选取概率值,包括:
23.根据每个备选站点的地理位置和配送需求,生成每个备选站点的第一特征表达;计算所述模拟车辆抵达每个备选站点后的预期等待时间,根据所述预期等待时间,生成每个备选站点的第二特征表达;根据所述第一特征表达和第二特征表达,生成每个备选站点的站点特征表达;根据所有备选站点的站点特征表达,生成全局特征;
24.以所述全局特征为索引,采用注意力机制生成每个备选站点的选取概率值。
25.可选的,在所述数据输入步骤之前,还包括:
26.训练步骤,训练得到所述路径策略搜索模型。
27.可选的,所述训练步骤具体包括:
28.第一步骤,获取训练集,所述训练集包括多组训练数据,每组训练数据包括始发站点、模拟车辆的最大装载量、多个客户站点的地理位置、每个客户站点的配送需求和服务时间窗;
29.第二步骤,初始化一个路径策略搜索模型的参照模型;
30.第三步骤,选择一组尚未使用的训练数据,利用所选择的训练数据进行一轮训练,训练所述路径策略搜索模型,其中,在每轮训练开始时,所述路径策略搜索模型采用当前的参照模型;在每轮训练的过程中,利用所述训练数据对所述路径策略搜索模型的模型参数进行更新,并在更新后的所述路径策略搜索模型相对于当前的参照模型性能提升程度满足预设条件时,根据更新后的所述路径策略搜索模型更新所述参照模型;
31.第四步骤,在每轮训练结束时,判断是否满足预设的网络训练结束条件,若是,则
结束所述路径策略搜索模型的训练,并输出当前的参照模型,作为最终训练得到的所述路径策略搜索模型;否则,返回所述第三步骤。
32.可选的,利用所选择的训练数据进行一轮训练,训练所述路径策略搜索模型,包括:
33.第一子步骤,根据当前的参照模型,初始化所述路径策略搜索模型;
34.第二子步骤,将所选择的训练数据作为输入数据,执行所述路径生成步骤,获得所述训练数据对应的路径策略;
35.第三子步骤,根据所述训练数据对应的路径策略,计算奖励函数值;
36.第四子步骤,根据所述奖励函数值,更新所述路径策略搜索模型的模型参数;
37.第五子步骤,判断更新后的所述路径策略搜索模型相对于当前的参照模型性能提升程度是否满足预设条件,若是,则根据更新后的所述路径策略搜索模型更新所述参照模型,并返回第二子步骤,否则,结束当前轮的训练。
38.可选的,所述根据所述训练数据对应的路径策略,计算奖励函数值,包括:
39.根据所述训练数据对应的路径策略的总路程,生成主要项;
40.根据所述训练数据对应的路径策略中每段站点序列的最后两个站点之间的路程,生成车辆数量对应的惩罚项;
41.根据所述主要项和惩罚项,计算得到奖励函数值。
42.可选的,所述判断更新后的所述路径策略搜索模型相对于当前的参照模型性能提升程度是否满足预设条件,包括:
43.将一组验证数据作为输入数据,输入至更新后的所述路径策略搜索模型,得到所述验证数据对应的第一路径策略;将所述验证数据输入至所述参照模型,得到所述验证数据对应的第二路径策略;计算所述第一路径策略对应的备选概率值分布和所述第二路径策略对应的备选概率值分布的成对t检验结果;
44.根据所述成对t检验结果是否小于预设阈值,确定所述更新后的所述路径策略搜索模型相对于当前的参照模型性能提升程度是否满足预设条件。
45.可选的,所述网络训练结束条件为:连续m轮训练结束后所得到的更新后的所述路径策略搜索模型,相对于当前的参照模型性能提升程度未满足预设条件;所述m为大于2的预设整数。
46.本发明实施例还提供了一种车辆路径规划装置,包括:
47.数据获取模块,用于获取待进行路径规划的始发站点、模拟车辆的最大装载量、多个客户站点的地理位置、每个客户站点的配送需求和服务时间窗,作为输入数据;
48.模型加载模块,用于加载预先训练好的路径策略搜索模型,并初始化全局时间和所述模拟车辆的剩余容量和地理位置;
49.路径生成模块,用于利用所述路径策略搜索模型,生成并输出路径策略,其中,所述路径策略搜索模型采用单一的模拟车辆在所有客户站点中进行搜索,并将所述模拟车辆从始发站点出发经过一个或多个客户站点后并返回所述始发站点的一段站点序列,作为一辆配送车辆的配送路径,得到多辆配送车辆的路径策略。
50.可选的,所述路径生成模块包括:
51.第一判断模块,用于判断所述输入数据中是否存在未访问的客户站点,若是则进
入站点筛选模块,否则进入策略输出模块;
52.所述站点筛选模块,用于根据所述模拟车辆的地理位置和未访问的客户站点的地理位置,计算所述模拟车辆到达各个未访问的客户站点的抵达时间,筛选抵达时间不晚于该客户站点的服务时间窗的截止时间的客户站点,作为备选站点;
53.第二判断模块,用于判断是否存在所述备选站点,若是,则进入概率计算模块,否则进入重置模块;
54.所述概率计算模块,用于计算所述模拟车辆去往各个备选站点的选取概率值,选择出选取概率值最大的备选站点作为当前目标站点,并判断模拟车辆的剩余容量是否满足当前目标站点的配送需求,若是,则进入状态更新模块,否则,进入重置模块;
55.所述重置模块,用于重置全局时间,将模拟车辆返回始发站点后进入所述站点筛选模块;
56.所述状态更新模块,用于将模拟车辆的地理位置更新为当前目标站点的地理位置,并更新全局时间、模拟车辆的剩余容量和客户站点的访问状态,然后返回所述第一判断模块;
57.所述策略输出模块,用于获得包含各个站点的访问顺序的站点总序列,并将从始发站点出发经过一个或多个客户站点后并返回所述始发站点的站点序列作为一段站点序列,将所述站点总序列划分为至少一段站点序列后输出,其中,每段站点序列对应于一辆配送车辆的配送路径。
58.可选的,所述装置还包括:
59.训练模块,用于训练得到所述路径策略搜索模型。
60.可选的,所述训练模块具体包括:
61.第一模块,用于获取训练集,所述训练集包括多组训练数据,每组训练数据包括始发站点、模拟车辆的最大装载量、多个客户站点的地理位置、每个客户站点的配送需求和服务时间窗;
62.第二模块,用于初始化一个路径策略搜索模型的参照模型;
63.第三模块,用于选择一组尚未使用的训练数据,利用所选择的训练数据进行一轮训练,训练所述路径策略搜索模型,其中,在每轮训练开始时,所述路径策略搜索模型采用当前的参照模型;在每轮训练的过程中,利用所述训练数据对所述路径策略搜索模型的模型参数进行更新,并在更新后的所述路径策略搜索模型相对于当前的参照模型性能提升程度满足预设条件时,根据更新后的所述路径策略搜索模型更新所述参照模型;
64.第四模块,用于在每轮训练结束时,判断是否满足预设的网络训练结束条件,若是,则结束所述路径策略搜索模型的训练,并输出当前的参照模型,作为最终训练得到的所述路径策略搜索模型;否则,返回所述第三模块。
65.可选的,所述第三模块包括:
66.第一子模块,用于根据当前的参照模型,初始化所述路径策略搜索模型;
67.第二子模块,用于将所选择的训练数据作为输入数据,执行所述路径生成模块,获得所述训练数据对应的路径策略;
68.第三子模块,用于根据所述训练数据对应的路径策略,计算奖励函数值;
69.第四子模块,用于根据所述奖励函数值,更新所述路径策略搜索模型的模型参数;
70.第五子模块,用于判断更新后的所述路径策略搜索模型相对于当前的参照模型性能提升程度是否满足预设条件,若是,则根据更新后的所述路径策略搜索模型更新所述参照模型,并返回第二子模块,否则,结束当前轮的训练。
71.可选的,所述第三子模块,具体用于:
72.根据所述训练数据对应的路径策略的总路程,生成主要项;
73.根据所述训练数据对应的路径策略中每段站点序列的最后两个站点之间的路程,生成车辆数量对应的惩罚项;
74.根据所述主要项和惩罚项,计算得到奖励函数值。
75.本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的车辆路径规划方法的步骤。
76.与现有技术相比,本发明实施例提供的车辆路径规划方法及装置,采用单一的模拟车辆来在全局空间中进行搜索,将多条件限制集中在单一车辆上进行模拟,可以大大降低搜索难度,最终将该车辆的各段路径分配给实际生产环境中的不同车辆,达到目标的等价实现效果,提高了路径搜索的性能和效率。另外,本发明实施例在奖励函数中不仅保留总路程作为优化项,同时鉴于车辆数目等价于被模拟车辆返回始发站的次数,在最终函数中对所有返回始发站的路径进行加权惩罚,使得奖励函数对总路程和车辆数目达到双重控制。
附图说明
77.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
78.图1为本发明实施例的车辆路径规划方法的一种流程示意图;
79.图2为本发明实施例的车辆路径规划方法中生成路径策略的一种流程图;
80.图3为本发明实施例的路径策略搜索模型的训练总体流程图;
81.图4为本发明实施例提供的路径策略搜索模型的每轮训练的流程图;
82.图5为本发明实施例提供的车辆路径规划装置的一种结构示意图;
83.图6为本发明实施例提供的车辆路径规划装置的另一结构示意图。
具体实施方式
84.为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。在下面的描述中,提供诸如具体的配置和组件的特定细节仅仅是为了帮助全面理解本发明的实施例。因此,本领域技术人员应该清楚,可以对这里描述的实施例进行各种改变和修改而不脱离本发明的范围和精神。另外,为了清楚和简洁,省略了对已知功能和构造的描述。
85.应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
86.在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
87.如背景技术所述的,现有技术的车辆路径规划方法中,神经网络在多限制条件下搜索最优路径时通常存在着性能和效率低,甚至不具备实用性等问题。为解决以上问题中的至少一种,本发明实施例提供了一种车辆路径规划方法,如图1所示,该方法包括:
88.步骤101,获取待进行路径规划的始发站点、模拟车辆的最大装载量、多个客户站点的地理位置、每个客户站点的配送需求和服务时间窗,作为输入数据。
89.这里,本发明实施例进行车辆路径规划,需要输入待进行规划的始发站点、模拟车辆的最大装载量(如最大容量、最大载重等)、多个客户站点的地理位置以及每个客户站点的配送需求及服务时间窗信息。所述地理位置可以用经纬度坐标表示,所述配送需求信息可以是送货服务和/或取货服务以及对应货物的装载量需求(如体积需求、载重需求等)。客户站点的服务时间窗,即,只有在该时间窗内才能为该客户站点服务,如果抵达该客户站点的时间晚于该时间窗的截止时间,则不能为该客户站点服务;如果抵达该客户站点的时间早于该时间窗的起始时间,则需要等待直至进入该时间窗的范围之内。另外,本发明实施例在进行路径规划时,还可以输入更多的信息,例如,道路拥堵信息、车辆数量限制等条件。
90.本发明实施例中,配送车辆可以有多辆,每辆配送车辆从始发站点出发,按照规划好的路径依次前往各个客户站点,为各个客户站点服务,并最终返回始发站点。任一客户站点可能需要送货服务和/或取货服务。具体的,当需要向某个客户站点送货时,配送车辆在始发站点装载该客户站点的货物并运输至该客户站点后进行卸载;当需要从某个客户站点取货时,配送车辆在该客户站点装载对应的货物,并最终运输至始发站点后进行卸载。为了简化搜索处理,本发明实施例采用串行决策搜索机制进行路径搜索,即,使用一台模拟车辆模拟多辆配送车辆的配送,这里假设每台配送车辆的规格都相同(即最大装载量都相同),模拟车辆与配送车辆的规格也相同。模拟车辆执行的每一趟配送,对应于一辆配送车辆实际的一趟配送。这里,将模拟车辆从始发站点出发经过一个或多个客户站点后并返回所述始发站点的站点序列作为一段站点序列,对应于一趟配送。在客户站点数量较多,和/或,货物量较大时,模拟车辆可能需要执行多趟配送才能为所有客户站点完成服务。
91.步骤102,加载预先训练好的路径策略搜索模型,并初始化全局时间和所述模拟车辆的剩余容量和地理位置。
92.这里,本发明实施例预先训练一个路径策略搜索模型,在步骤102中加载该模型,并初始化全局时间和所述模拟车辆的剩余容量和地理位置。所述全局时间初始化为0或其他初始值,在每趟配送开始时,均需要对全局时间初始化(即重置为初始值),以表示车辆从起始站点出发的一趟配送的起始时间。所述模拟车辆的剩余容量的初始值为车辆的最大装载量,地理位置的初始值则为起始站点的地理位置。在每趟配送开始时,均需要对模拟车辆的剩余容量和地理位置进行初始化。
93.步骤103,利用所述路径策略搜索模型,生成并输出路径策略。
94.这里,所述路径策略搜索模型采用单一的模拟车辆在所有客户站点中进行搜索,
并将所述模拟车辆从始发站点出发经过一个或多个客户站点后并返回所述始发站点的一段站点序列,作为一辆配送车辆的实际配送路径,这样,每一段站点序列对应于一辆配送车辆的实际配送路径,从而可以得到多辆配送车辆的配送路径,即最终的路径策略。
95.通过以上步骤,本发明实施例通过一辆模拟车辆进行路径搜索,在每趟配送完成后,返回始发站点,并继续下一趟配送,为剩余的客户站点服务,从而通过上述串行决策搜索机制,采用单一的车辆来在全局空间中进行搜索,可以大大降低搜索难度,最终将该模拟车辆的各趟配送路径分配给实际生产环境中的不同配送车辆,达到目标的等价实现效果。
96.下面对步骤103中利用所述路径策略搜索模型,生成并输出路径策略进行详细说明。
97.本发明实施例中,利用所述路径策略搜索模型执行以下步骤,得到路径策略,具体的,如图2所示,:
98.步骤1031,判断所述输入数据中是否存在未访问的客户站点,若是则进入步骤1032,否则进入步骤1038。
99.步骤1032,根据所述模拟车辆的地理位置和未访问的客户站点的地理位置,计算所述模拟车辆到达各个未访问的客户站点的抵达时间,筛选抵达时间不晚于该客户站点的服务时间窗的截止时间的客户站点,作为备选站点。
100.步骤1033,判断是否存在所述备选站点,若是,则进入步骤1034,否则进入步骤1036。
101.步骤1034,计算所述模拟车辆去往各个备选站点的选取概率值,选择出选取概率值最大的备选站点作为当前目标站点。
102.这里,本发明实施例在计算所述选取概率值时,可以根据每个备选站点的地理位置和配送需求,生成每个备选站点的第一特征表达,具体可以利用神经网络层进行生成;
103.然后,计算所述模拟车辆抵达每个备选站点后的预期等待时间,根据所述预期等待时间,生成每个备选站点的第二特征表达;这里,当所述模拟车辆抵达某个备选站点的时间位于该站点的服务时间窗内,则预期等待时间为0;若所述模拟车辆抵达某个备选站点的时间位于该站点的服务时间窗的起始时间之前,则预期等待时间为所述起始时间与抵达时间的差值。
104.然后,根据所述第一特征表达和第二特征表达,生成每个备选站点的站点特征表达,例如,通过向量拼接,将上述第一特征表达和第二特征表达拼接为一个向量,作为备选站点的站点特征表达。
105.然后,根据所有备选站点的站点特征表达,生成全局特征,例如,对所有备选站点的站点特征表达计算平均值,得到全局特征。
106.然后,以所述全局特征为索引,采用注意力机制生成每个备选站点的选取概率值。
107.步骤1035,判断模拟车辆的剩余容量是否满足当前目标站点的配送需求,若是,则进入步骤1037,否则,进入步骤1036。
108.这里,在向所述当前目标站点送货,或者到所述当前目标站点取货时,根据所送货物/所取货物的容量是否小于或等于模拟车辆的剩余容量,判断是否满足当前目标站点的配送需求。而在向所述当前目标站点送货的同时,还需要到所述当前目标站点取货时,则在所送货物的容量小于或等于模拟车辆的剩余容量,且所取货物的容量小于或等于模拟车辆
的剩余容量时,才判断为满足所述当前目标站点的配送需求,否则为不满足。
109.步骤1036,重置全局时间,将模拟车辆返回始发站点后进入步骤1032。
110.步骤1037,将模拟车辆的地理位置更新为当前目标站点的地理位置,并更新全局时间、模拟车辆的剩余容量和客户站点的访问状态,然后返回步骤1031。
111.这里,更新模拟车辆的剩余容量,更新后的剩余容量为:更新前的剩余容量减去所取货物的容量后,再减去所送货物的容量。另外,将当前目标站点的访问状态更新为已访问。
112.步骤1038,获得包含各个站点的访问顺序的站点总序列,并将从始发站点出发经过一个或多个客户站点后并返回所述始发站点的站点序列作为一段站点序列,将所述站点总序列划分为至少一段站点序列后输出,其中,每段站点序列对应于一辆配送车辆的配送路径。
113.通过以上步骤,本发明实施例利用已经训练好的路径策略搜索模型,生成了各个配送车辆的配送路径。
114.在上述步骤101之前,本发明实施例可以预先训练一个路径策略搜索模型,如图3所示,具体的训练步骤包括:
115.步骤301,获取训练集,所述训练集包括多组训练数据,每组训练数据包括始发站点、模拟车辆的最大装载量、多个客户站点的地理位置、每个客户站点的配送需求和服务时间窗。
116.步骤302,初始化一个路径策略搜索模型的参照模型。
117.步骤303,选择一组尚未使用的训练数据,利用所选择的训练数据进行一轮训练,训练所述路径策略搜索模型,其中,在每轮训练开始时,所述路径策略搜索模型采用当前的参照模型;在每轮训练的过程中,利用所述训练数据对所述路径策略搜索模型的模型参数进行更新,并在更新后的所述路径策略搜索模型相对于当前的参照模型性能有提升时,根据更新后的所述路径策略搜索模型更新所述参照模型。
118.步骤304,在每轮训练结束时,判断是否满足预设的网络训练结束条件,若是,则进入步骤305;否则,返回步骤303。
119.这里,所述网络训练结束条件为:连续m轮训练结束后所得到的更新后的所述路径策略搜索模型,相对于当前的参照模型性能提升程度未满足预设条件;所述m为大于2的预设整数,例如10。具体的,判断性能提升程度是否满足预设条件的方式,可以参考下文的步骤3035中的说明。
120.步骤305,结束所述路径策略搜索模型的训练,并输出当前的参照模型,作为最终训练得到的所述路径策略搜索模型。
121.通过上述迭代训练过程,最终训练得到所述路径策略搜索模型。
122.在上述步骤303中,利用选择的一组训练数据进行一轮训练,训练所述路径策略搜索模型的过程,如图4所示,具体包括:
123.步骤3031,根据当前的参照模型,初始化所述路径策略搜索模型。
124.步骤3032,将所选择的训练数据作为输入数据,执行图2所示的路径生成步骤,获得所述训练数据对应的路径策略。
125.步骤3033,根据所述训练数据对应的路径策略,计算奖励函数值。
126.为了实现对路径总成本和配送车辆数量的双重控制,本发明实施例在上述步骤3033中计算奖励函数值时,根据所述训练数据对应的路径策略的总路程,生成奖励函数值的主要项;根据所述训练数据对应的路径策略中每段站点序列的最后两个站点之间的路程,生成车辆数量对应的惩罚项;然后,根据所述主要项和惩罚项,计算得到奖励函数值。
127.这里,主要项表示总路程对应的成本,通常与总路程的长度正相关。惩罚项表示配送车辆数量对应的成本,通常与车辆数量正相关。在上述计算中,可以采用每段站点序列的最后两个站点之间的路程与一个预设的惩罚项系数alpha的乘积的和值来表示。由于每段站点序列的最后一个站点为始发站点,也就是说,上述最后两个站点之间的路程是指车辆返回始发站点之前的前一个站点与始发站点之间的路程长度。
128.步骤3034,根据所述奖励函数值,更新所述路径策略搜索模型的模型参数。
129.步骤3035,判断在更新后的所述路径策略搜索模型相对于当前的参照模型性能提升程度是否满足预设条件,若是,则进入步骤3036,否则,进入步骤3037。
130.步骤3036,根据更新后的所述路径策略搜索模型更新所述参照模型,并返回步骤3032。
131.步骤3037,结束当前轮的训练。
132.这里,判断更新后的所述路径策略搜索模型相对于当前的参照模型性能提升程度未满足预设条件,可以通过验证数据来实现。具体的,可以将一组验证数据(所述验证数据包括待进行路径规划的始发站点、模拟车辆的最大装载量、多个客户站点的地理位置、每个客户站点的配送需求和服务时间窗)作为输入数据,输入至更新后的所述路径策略搜索模型,得到所述验证数据对应的第一路径策略;将所述验证数据输入至所述参照模型,得到所述验证数据对应的第二路径策略;计算所述第一路径策略对应的备选概率值分布和所述第二路径策略对应的备选概率值分布的成对t检验结果;然后,根据所述成对t检验结果是否小于预设阈值,确定所述更新后的所述路径策略搜索模型相对于当前的参照模型性能提升程度是否满足预设条件。例如,若小于所述预设阈值,则判断性能提升程度满足预设条件,否则,判断性能提升程度未满足预设条件。
133.从上述步骤可以看出,本发明实施例在奖励函数中不仅保留总路程作为优化项,同时鉴于车辆数目等价于被模拟车辆返回始发站的次数(趟数),在最终函数中对所有返回始发站的路径进行加权惩罚,使得奖励函数对总路程和车辆数目达到双重控制。
134.以上对本发明实施例的方法进行了说明。可以看出,相比于现有技术,本发明实施例具有以下特点:
135.1)采用串行决策搜索机制。采用单一的车辆来在全局空间中进行搜索。将多条件限制集中在单一车辆上进行模拟,大大降低搜索难度,最终将该车辆的各段路径分配给实际生产环境中的不同车辆,达到目标的等价实现效果。
136.2)采用双重奖励函数设计。在奖励函数中不仅保留总路程作为优化项,同时鉴于车辆数目等价于被模拟车辆返回始发站的次数,在最终函数中对所有返回始发站的路径进行加权惩罚,使得奖励函数对总路程和车辆数目达到双重控制。
137.3)采用半贪心搜索:在搜索过程中,对于预计抵达时间超出其时间窗后沿的客户站点,直接筛除;对于预计抵达时间提前于时间窗前沿的站点,允许车辆等待,但会将等待时间作为特征纳入到站点决策考量。
138.4)本发明实施例在训练阶段,通过采用大量训练数据帮助模型提升性能,最终得到参数调整优秀的神经网络及对应的参数集合;在应用阶段,可以直接采用模型结构,输入以调整好的网络参数,针对具体数据分布直接生成对应解。
139.基于以上的车辆路径规划方法,本发明实施例还提供了实施上述方法的装置。
140.请参照图5,本发明实施例提供的一种车辆路径规划装置50,包括:
141.数据获取模块51,用于获取待进行路径规划的始发站点、模拟车辆的最大装载量、多个客户站点的地理位置、每个客户站点的配送需求和服务时间窗,作为输入数据;
142.模型加载模块52,用于加载预先训练好的路径策略搜索模型,并初始化全局时间和所述模拟车辆的剩余容量和地理位置;
143.路径生成模块53,用于利用所述路径策略搜索模型,生成并输出路径策略,其中,所述路径策略搜索模型采用单一的模拟车辆在所有客户站点中进行搜索,并将所述模拟车辆从始发站点出发经过一个或多个客户站点后并返回所述始发站点的一段站点序列,作为一辆配送车辆的配送路径,得到多辆配送车辆的路径策略。
144.可选的,所述路径生成模块包括:
145.第一判断模块,用于判断所述输入数据中是否存在未访问的客户站点,若是则进入站点筛选模块,否则进入策略输出模块;
146.所述站点筛选模块,用于根据所述模拟车辆的地理位置和未访问的客户站点的地理位置,计算所述模拟车辆到达各个未访问的客户站点的抵达时间,筛选抵达时间不晚于该客户站点的服务时间窗的截止时间的客户站点,作为备选站点;
147.第二判断模块,用于判断是否存在所述备选站点,若是,则进入概率计算模块,否则进入重置模块;
148.所述概率计算模块,用于计算所述模拟车辆去往各个备选站点的选取概率值,选择出选取概率值最大的备选站点作为当前目标站点,并判断模拟车辆的剩余容量是否满足当前目标站点的配送需求,若是,则进入状态更新模块,否则,进入重置模块;
149.所述重置模块,用于重置全局时间,将模拟车辆返回始发站点后进入所述站点筛选模块;
150.所述状态更新模块,用于将模拟车辆的地理位置更新为当前目标站点的地理位置,并更新全局时间、模拟车辆的剩余容量和客户站点的访问状态,然后返回所述第一判断模块;
151.所述策略输出模块,用于获得包含各个站点的访问顺序的站点总序列,并将从始发站点出发经过一个或多个客户站点后并返回所述始发站点的站点序列作为一段站点序列,将所述站点总序列划分为至少一段站点序列后输出,其中,每段站点序列对应于一辆配送车辆的配送路径。
152.可选的,所述概率计算模块具体包括:
153.第一计算模块,用于根据每个备选站点的地理位置和配送需求,生成每个备选站点的第一特征表达;计算所述模拟车辆抵达每个备选站点后的预期等待时间,根据所述预期等待时间,生成每个备选站点的第二特征表达;根据所述第一特征表达和第二特征表达,生成每个备选站点的站点特征表达;根据所有备选站点的站点特征表达,生成全局特征;
154.第二计算模块,用于以所述全局特征为索引,采用注意力机制生成每个备选站点
的选取概率值。
155.可选的,所述的车辆路径规划装置还包括:
156.训练模块,用于训练得到所述路径策略搜索模型。
157.可选的,所述训练模块具体包括:
158.第一模块,用于获取训练集,所述训练集包括多组训练数据,每组训练数据包括始发站点、模拟车辆的最大装载量、多个客户站点的地理位置、每个客户站点的配送需求和服务时间窗;
159.第二模块,用于初始化一个路径策略搜索模型的参照模型;
160.第三模块,用于选择一组尚未使用的训练数据,利用所选择的训练数据进行一轮训练,训练所述路径策略搜索模型,其中,在每轮训练开始时,所述路径策略搜索模型采用当前的参照模型;在每轮训练的过程中,利用所述训练数据对所述路径策略搜索模型的模型参数进行更新,并在更新后的所述路径策略搜索模型相对于当前的参照模型性能提升程度满足预设条件时,根据更新后的所述路径策略搜索模型更新所述参照模型;
161.第四模块,用于在每轮训练结束时,判断是否满足预设的网络训练结束条件,若是,则结束所述路径策略搜索模型的训练,并输出当前的参照模型,作为最终训练得到的所述路径策略搜索模型;否则,返回所述第三模块。
162.可选的,所述第三模块包括:
163.第一子模块,用于根据当前的参照模型,初始化所述路径策略搜索模型;
164.第二子模块,用于将所选择的训练数据作为输入数据,执行所述路径生成模块,获得所述训练数据对应的路径策略;
165.第三子模块,用于根据所述训练数据对应的路径策略,计算奖励函数值;
166.第四子模块,用于根据所述奖励函数值,更新所述路径策略搜索模型的模型参数;
167.第五子模块,用于判断更新后的所述路径策略搜索模型相对于当前的参照模型性能提升程度是否满足预设条件,若是,则根据更新后的所述路径策略搜索模型更新所述参照模型,并返回第二子模块,否则,结束当前轮的训练。
168.可选的,所述第三子模块,具体用于:
169.根据所述训练数据对应的路径策略的总路程,生成主要项;
170.根据所述训练数据对应的路径策略中每段站点序列的最后两个站点之间的路程,生成车辆数量对应的惩罚项;
171.根据所述主要项和惩罚项,计算得到奖励函数值。
172.可选的,所述第五子模块,具体用于:
173.将一组验证数据作为输入数据,输入至更新后的所述路径策略搜索模型,得到所述验证数据对应的第一路径策略;将所述验证数据输入至所述参照模型,得到所述验证数据对应的第二路径策略;计算所述第一路径策略对应的备选概率值分布和所述第二路径策略对应的备选概率值分布的成对t检验结果;
174.根据所述成对t检验结果是否小于预设阈值,确定所述更新后的所述路径策略搜索模型相对于当前的参照模型性能提升程度是否满足预设条件。
175.可选的,所述网络训练结束条件为:连续m轮训练结束后所得到的更新后的所述路径策略搜索模型,相对于当前的参照模型性能提升程度未满足预设条件;所述m为大于2的
预设整数。
176.通过以上装置,本发明实施例能够在车辆路径规划中提高路径规划的性能和效率。
177.如图6所示,本发明实施例还提供了另一种车辆路径规划装置60,该车辆路径规划装置60具体包括处理器61、存储器62、总线系统63、接收器64和发送器65。其中,处理器61、存储器62、接收器64和发送器65通过总线系统63相连,该存储器62用于存储指令,该处理器61用于执行该存储器62存储的指令,以控制接收器64接收信号,并控制发送器65发送信号;
178.其中,该处理器61,用于读取存储器中的程序,执行下列过程:
179.数据获取步骤,获取待进行路径规划的始发站点、模拟车辆的最大装载量、多个客户站点的地理位置、每个客户站点的配送需求和服务时间窗,作为输入数据;
180.模型加载步骤,加载预先训练好的路径策略搜索模型,并初始化全局时间和所述模拟车辆的剩余容量和地理位置;
181.路径生成步骤,利用所述路径策略搜索模型,生成并输出路径策略,其中,所述路径策略搜索模型采用单一的模拟车辆在所有客户站点中进行搜索,并将所述模拟车辆从始发站点出发经过一个或多个客户站点后并返回所述始发站点的一段站点序列,作为一辆配送车辆的配送路径,得到多辆配送车辆的路径策略。
182.应理解,在本发明实施例中,该处理器61可以是中央处理单元(central processing unit,简称为“cpu”),该处理器61还可以是其他通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
183.该存储器62可以包括只读存储器和随机存取存储器,并向处理器61提供指令和数据。存储器62的一部分还可以包括非易失性随机存取存储器。例如,存储器62还可以存储设备类型的信息。
184.该总线系统63除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统63。
185.在实现过程中,上述方法的各步骤可以通过处理器61中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器62,处理器61读取存储器62中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
186.根据本发明的至少一个实施例,所述程序被处理器61执行时还可实现如下步骤:
187.第一判断步骤,判断所述输入数据中是否存在未访问的客户站点,若是则进入站点筛选步骤,否则进入策略输出步骤;
188.所述站点筛选步骤,根据所述模拟车辆的地理位置和未访问的客户站点的地理位置,计算所述模拟车辆到达各个未访问的客户站点的抵达时间,筛选抵达时间不晚于该客户站点的服务时间窗的截止时间的客户站点,作为备选站点;
189.第二判断步骤,判断是否存在所述备选站点,若是,则进入概率计算步骤,否则进
入重置步骤;
190.所述概率计算步骤,计算所述模拟车辆去往各个备选站点的选取概率值,选择出选取概率值最大的备选站点作为当前目标站点,并判断模拟车辆的剩余容量是否满足当前目标站点的配送需求,若是,则进入状态更新步骤,否则,进入重置步骤;
191.所述重置步骤,重置全局时间,将模拟车辆返回始发站点后进入所述站点筛选步骤;
192.所述状态更新步骤,将模拟车辆的地理位置更新为当前目标站点的地理位置,并更新全局时间、模拟车辆的剩余容量和客户站点的访问状态,然后返回所述第一判断步骤;
193.所述策略输出步骤,获得包含各个站点的访问顺序的站点总序列,并将从始发站点出发经过一个或多个客户站点后并返回所述始发站点的站点序列作为一段站点序列,将所述站点总序列划分为至少一段站点序列后输出,其中,每段站点序列对应于一辆配送车辆的配送路径。
194.根据本发明的至少一个实施例,所述程序被处理器61执行时还可实现如下步骤:
195.根据每个备选站点的地理位置和配送需求,生成每个备选站点的第一特征表达;计算所述模拟车辆抵达每个备选站点后的预期等待时间,根据所述预期等待时间,生成每个备选站点的第二特征表达;根据所述第一特征表达和第二特征表达,生成每个备选站点的站点特征表达;根据所有备选站点的站点特征表达,生成全局特征;
196.以所述全局特征为索引,采用注意力机制生成每个备选站点的选取概率值。
197.根据本发明的至少一个实施例,所述程序被处理器61执行时还可实现如下步骤:
198.训练步骤,训练得到所述路径策略搜索模型。
199.根据本发明的至少一个实施例,所述程序被处理器61执行时还可实现如下步骤:
200.第一步骤,获取训练集,所述训练集包括多组训练数据,每组训练数据包括始发站点、模拟车辆的最大装载量、多个客户站点的地理位置、每个客户站点的配送需求和服务时间窗;
201.第二步骤,初始化一个路径策略搜索模型的参照模型;
202.第三步骤,选择一组尚未使用的训练数据,利用所选择的训练数据进行一轮训练,训练所述路径策略搜索模型,其中,在每轮训练开始时,所述路径策略搜索模型采用当前的参照模型;在每轮训练的过程中,利用所述训练数据对所述路径策略搜索模型的模型参数进行更新,并在更新后的所述路径策略搜索模型相对于当前的参照模型性能提升程度满足预设条件时,根据更新后的所述路径策略搜索模型更新所述参照模型;
203.第四步骤,在每轮训练结束时,判断是否满足预设的网络训练结束条件,若是,则结束所述路径策略搜索模型的训练,并输出当前的参照模型,作为最终训练得到的所述路径策略搜索模型;否则,返回所述第三步骤。
204.根据本发明的至少一个实施例,所述程序被处理器61执行时还可实现如下步骤:
205.第一子步骤,根据当前的参照模型,初始化所述路径策略搜索模型;
206.第二子步骤,将所选择的训练数据作为输入数据,执行所述路径生成步骤,获得所述训练数据对应的路径策略;
207.第三子步骤,根据所述训练数据对应的路径策略,计算奖励函数值;
208.第四子步骤,根据所述奖励函数值,更新所述路径策略搜索模型的模型参数;
209.第五子步骤,判断更新后的所述路径策略搜索模型相对于当前的参照模型性能提升程度是否满足预设条件,若是,则根据更新后的所述路径策略搜索模型更新所述参照模型,并返回第二子步骤,否则,结束当前轮的训练。
210.根据本发明的至少一个实施例,所述程序被处理器61执行时还可实现如下步骤:
211.根据所述训练数据对应的路径策略的总路程,生成主要项;
212.根据所述训练数据对应的路径策略中每段站点序列的最后两个站点之间的路程,生成车辆数量对应的惩罚项;
213.根据所述主要项和惩罚项,计算得到奖励函数值。
214.根据本发明的至少一个实施例,所述程序被处理器61执行时还可实现如下步骤:
215.将一组验证数据作为输入数据,输入至更新后的所述路径策略搜索模型,得到所述验证数据对应的第一路径策略;将所述验证数据输入至所述参照模型,得到所述验证数据对应的第二路径策略;计算所述第一路径策略对应的备选概率值分布和所述第二路径策略对应的备选概率值分布的成对t检验结果;
216.根据所述成对t检验结果是否小于预设阈值,确定所述更新后的所述路径策略搜索模型相对于当前的参照模型性能提升程度是否满足预设条件。
217.根据本发明的至少一个实施例,所述网络训练结束条件为:连续m轮训练结束后所得到的更新后的所述路径策略搜索模型,相对于当前的参照模型性能提升程度未满足预设条件;所述m为大于2的预设整数。
218.该程序被处理器执行时能实现图1~4所示的车辆路径规划方法中的所有实现方式,且能达到相同的技术效果,为避免重复,此处不再赘述。
219.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
220.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
221.在本技术所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
222.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
223.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
224.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
225.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
再多了解一些

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

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

相关文献