车辆路径规划方法及装置

文档序号:29617906发布日期:2022-04-13 12:22阅读:77来源:国知局
车辆路径规划方法及装置

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


背景技术:

2.大规模车辆路径规划问题(vrp)在现实中有广泛的应用,比如公交车规划、货物运输等。对于该问题,现有技术的解决方案主要包括传统方法和基于强化学习的方法两种。
3.其中,传统方法又具体包括精确算法和启发式方法,精确算法效率低、不具备实用价值;启发式方法的性能依赖精细的人工设计,效率也不够高。
4.基于强化学习的方法也可以分为“直接生成解”和“先生成再不断改进解”两大类。前者由于模型难以扩展、性能随规模增大而大幅下降等原因难以适用于大规模车vrp问题;后者由于每次改进幅度较小、耗时长,在大规模vrp问题上具有训练时间指数增长、训练过程难以收敛等特点,实用性低。
5.例如,一篇中国专利申请(cn110147901a)中使用指针网络(pointer network)来直接生成vrp问题的解,当vrp规模增大时,由于状态数目、动作空间数目以及模型规模的大幅增大,该模型会出现难以训练、性能大幅下降等问题,因此难以适用于大规模vrp问题。
6.又例如,另一篇中国专利申请(cn106251009a)中使用蚁群优化算法来解决vrp问题并生成解,但是在大规模的数据分布上存在着生成速度缓慢,不具有实时响应能力等缺陷。
7.另外,现有技术的专利申请在车辆路径规划问题上大多是进行避障控制,与vrp问题中的车辆调度无关,也不能处理带容量的车辆的接客调度问题。
8.因此,亟需一种能够同时兼顾高性能和高效率的vrp方法,来解决大规模车辆路径规划问题。


技术实现要素:

9.本发明实施例要解决的技术问题是提供一种车辆路径规划方法及装置,能够在大规模车辆路径规划中提高路径规划的性能和效率。
10.为解决上述技术问题,本发明实施例提供的一种车辆路径规划方法,包括:
11.数据获取步骤,获取待进行路径规划的始发站点、配送车辆的最大装载量、多个客户站点的地理位置以及每个客户站点的配送需求信息,作为输入数据;
12.初始计算步骤,根据所述输入数据中的多个客户站点的地理位置,对客户站点进行聚类分区,得到多个分区;根据所述输入数据中的始发站点、配送车辆的最大装载量、客户站点的地理位置以及客户站点的配送需求信息,计算得到每个分区的局部优化路线和局部路线成本,并得到所有客户站点的全局优化路线和路线总成本,以及,根据所述全局优化路线和路线总成本,更新最优优化路线和最优路线总成本;
13.重分区步骤,利用预先训练得到的分区调整网络,对所述多个分区中的两个分区
进行融合和重分区,得到两个新分区;
14.迭代计算步骤,计算所述两个新分区的局部优化路线,并更新所述全局优化路线和路线总成本;
15.更新处理步骤,判断更新后的路线总成本是否低于所述最优路线总成本,若是,则根据更新后的所述全局优化路线和路线总成本,更新所述最优优化路线和最优路线总成本,并返回所述重分区步骤;否则,进入迭代停止判断步骤;
16.所述迭代停止判断步骤,判断是否满足预设的迭代停止条件,若是,则输出所述最优优化路线,否则,返回所述重分区步骤。
17.可选的,所述迭代停止条件为:连续n次更新后的所述路线总成本均不低于所述最优路线总成本,所述n为大于2的预设整数。
18.可选的,所述对所述多个分区中的两个分区进行融合和重分区,得到两个新分区,包括:
19.根据每个分区的局部优化路线和局部路线成本,生成每个分区的局部特征向量,以及,根据所有分区的局部特征向量,生成全局特征向量;
20.根据所述全局特征向量和局部特征向量,从所述多个分区中选择两个分区,并融合为一个分区;
21.计算所述融合分区的局部优化路线,并根据所述融合分区的局部优化路线,将所述融合分区重新划分为两个新分区。
22.可选的,所述根据每个分区的局部优化路线和局部路线成本,生成每个分区的局部特征向量,包括:
23.针对每个分区,将所述分区的局部优化路线中的客户站点序列,作为输入序列输入至长短期记忆lstm网络,生成所述分区的初级特征序列;
24.将所述分区的初级特征序列和局部路线成本输入至全卷积网络,生成所述分区的局部特征向量。
25.可选的,所述根据所有分区的局部特征向量,生成全局特征向量,包括:
26.对所有分区的局部特征向量取平均值,得到所述全局特征向量。
27.可选的,所述根据所述全局特征向量和局部特征向量,从所述多个分区中选择两个分区,包括:
28.以所述全局特征为索引,采用注意力机制生成所有分区的选取概率值,选择其中选取概率值最大的一个分区作为被选择的第一个分区;
29.以所述第一个分区的局部区域特征为索引,采用注意力机制生成剩余分区的选取概率值,选择其中概率值最大的一个分区作为被选择的第二个分区。
30.可选的,所述根据所述融合分区的局部优化路线,将所述融合分区重新划分为两个新分区,包括:
31.对所述融合分区的局部优化路线中的每条路径,选取一个坐标平均点,并对所述坐标平均点进行主成分分析,获得所述路径的一维表征;根据每条路径的一维表征,将所述融合分区的局部优化路线中的路径划分为两组,每组路径中的站点属于同一个新分区。
32.可选的,在所述数据输入步骤之前,还包括:
33.训练步骤,训练得到所述分区调整网络。
34.可选的,所述训练步骤具体包括:
35.第一步骤,获取训练集,所述训练集包括多组训练数据,每组训练数据包括始发站点、配送车辆的最大装载量、多个客户站点的地理位置以及每个客户站点的配送需求信息;
36.第二步骤,初始化一个分区调整网络的参照模型;
37.第三步骤,选择一组尚未使用的训练数据,利用所选择的训练数据进行一轮训练,训练所述分区调整网络,其中,在每轮训练开始时,所述分区调整网络采用当前的参照模型;在每轮训练的过程中,利用所述训练数据对所述分区调整网络的模型参数进行更新,并在更新后的所述分区调整网络相对于当前的参照模型性能有提升时,根据更新后的所述分区调整网络更新所述参照模型;
38.第四步骤,在每轮训练结束时,判断是否满足预设的网络训练结束条件,若是,则结束所述分区调整网络的训练,并输出所述参照模型,作为最终训练得到的所述分区调整网络;否则,返回所述第三步骤。
39.可选的,所述利用所选择的训练数据进行一轮训练,训练所述分区调整网络,包括:
40.第一训练子步骤,根据所述训练数据中的多个客户站点的地理位置,对客户站点进行聚类分区,得到多个分区;根据所述训练数据中的始发站点、配送车辆的最大装载量、客户站点的地理位置以及客户站点的配送需求信息,计算得到每个分区的局部优化路线和和局部路线成本,并得到所有客户站点的全局优化路线和路线总成本,以及,根据所述全局优化路线和路线总成本,更新最优优化路线和最优路线总成本;
41.第二训练子步骤,利用所述分区调整网络,对所述多个分区中的两个分区进行融合和重分区,得到两个新分区;
42.第三训练子步骤,计算所述两个新分区的局部优化路线,并更新所述全局优化路线和路线总成本;
43.第四训练子步骤,计算更新前后的路线总成本的减少量,将所述减少量作为奖励函数值,指导所述分区调整网络进行梯度下降,得到更新后的所述分区调整网络;
44.第五训练子步骤,判断更新后的路线总成本是否低于所述最优路线总成本,若是,则根据更新后的所述全局优化路线和路线总成本,更新所述最优优化路线和最优路线总成本,以及,根据更新后的所述分区调整网络,更新所述参照模型,并返回所述第二训练子步骤;否则,进入第六训练子步骤;
45.所述第六步骤,判断是否满足预设的每轮训练的停止条件,若是,则结束当前轮的训练,否则,返回所述第二训练子步骤。
46.可选的,所述方法还包括:
47.在每轮训练结束后,将当前的参照模型作为所述分区调整网络,将一组验证数据作为输入数据,执行所述初始计算步骤、重分区步骤、迭代计算步骤、更新处理步骤和所述迭代停止判断步骤,得到所述验证数据对应的全局优化路线和路线总成本;以及,根据每轮训练结束后所得到的所述验证数据对应的路线总成本,更新所述验证数据对应的最优路线总成本;
48.所述网络训练结束条件为:连续m轮训练结束后所得到的所述验证数据对应的路线总成本,均不低于所述验证数据对应的最优路线总成本;所述m为大于2的预设整数。
49.本发明实施例还提供了一种车辆路径规划装置,包括:
50.数据获取模块,用于获取待进行路径规划的始发站点、配送车辆的最大装载量、多个客户站点的地理位置以及每个客户站点的配送需求信息,作为输入数据;
51.初始计算模块,用于根据所述输入数据中的多个客户站点的地理位置,对客户站点进行聚类分区,得到多个分区;根据所述输入数据中的始发站点、配送车辆的最大装载量、客户站点的地理位置以及客户站点的配送需求信息,计算得到每个分区的局部优化路线和局部路线成本,并得到所有客户站点的全局优化路线和路线总成本,以及,根据所述全局优化路线和路线总成本,更新最优优化路线和最优路线总成本;
52.重分区模块,用于利用预先训练得到的分区调整网络,对所述多个分区中的两个分区进行融合和重分区,得到两个新分区;
53.迭代计算模块,用于计算所述两个新分区的局部优化路线,并更新所述全局优化路线和路线总成本;
54.更新处理模块,用于判断更新后的路线总成本是否低于所述最优路线总成本,若是,则根据更新后的所述全局优化路线和路线总成本,更新所述最优优化路线和最优路线总成本,并返回所述重分区模块;否则,进入迭代停止判断模块;
55.所述迭代停止判断模块,用于判断是否满足预设的迭代停止条件,若是,则输出所述最优优化路线,否则,返回所述重分区模块。
56.可选的,所述重分区模块包括:
57.第一计算模块,用于根据每个分区的局部优化路线和局部路线成本,生成每个分区的局部特征向量,以及,根据所有分区的局部特征向量,生成全局特征向量;
58.选择融合模块,用于根据所述全局特征向量和局部特征向量,从所述多个分区中选择两个分区,并融合为一个分区;
59.划分模块,用于计算所述融合分区的局部优化路线,并根据所述融合分区的局部优化路线,将所述融合分区重新划分为两个新分区。
60.可选的,所述的车辆路径规划装置还包括:
61.训练模块,训练得到所述分区调整网络。
62.可选的,所述训练模块具体包括:
63.第一模块,用于获取训练集,所述训练集包括多组训练数据,每组训练数据包括始发站点、配送车辆的最大装载量、多个客户站点的地理位置以及每个客户站点的配送需求信息;
64.第二模块,用于初始化一个分区调整网络的参照模型;
65.第三模块,用于选择一组尚未使用的训练数据,利用所选择的训练数据进行一轮训练,训练所述分区调整网络,其中,在每轮训练开始时,所述分区调整网络采用当前的参照模型;在每轮训练的过程中,利用所述训练数据对所述分区调整网络的模型参数进行更新,并在更新后的所述分区调整网络相对于当前的参照模型性能有提升时,根据更新后的所述分区调整网络更新所述参照模型;
66.第四模块,用于在每轮训练结束时,判断是否满足预设的网络训练结束条件,若是,则结束所述分区调整网络的训练,并输出所述参照模型,作为最终训练得到的所述分区调整网络;否则,返回所述第三模块。
67.本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的车辆路径规划方法的步骤。
68.与现有技术相比,本发明实施例提供的车辆路径规划方法及装置,通过将多个客户站点划分为多个分区,在每个分区下分别进行vrp求解,可以提高大规模vrp求解的性能和效率。
附图说明
69.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
70.图1为本发明实施例提供的车辆路径规划方法的一种流程示意图;
71.图2为本发明实施例提供的车辆路径规划方法的一种示例图;
72.图3为本发明实施例提供的分区调整网络的训练总体流程图;
73.图4为本发明实施例提供的分区调整网络的每路训练的流程图;
74.图5为本发明实施例提供的车辆路径规划装置的一种结构示意图;
75.图6为本发明实施例提供的车辆路径规划装置的另一结构示意图。
具体实施方式
76.为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。在下面的描述中,提供诸如具体的配置和组件的特定细节仅仅是为了帮助全面理解本发明的实施例。因此,本领域技术人员应该清楚,可以对这里描述的实施例进行各种改变和修改而不脱离本发明的范围和精神。另外,为了清楚和简洁,省略了对已知功能和构造的描述。
77.应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
78.在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
79.如背景技术所述的,现有技术的车辆路径规划方法在应用于大规模vrp时通常存在着性能和效率低,甚至不具备实用性等问题。为解决以上问题中的至少一种,本发明实施例提供了一种车辆路径规划方法,如图1所示,该方法包括:
80.步骤101,获取待进行路径规划的始发站点、配送车辆的最大装载量、多个客户站点的地理位置以及每个客户站点的配送需求信息,作为输入数据。
81.这里,本发明实施例进行车辆路径规划,需要输入待进行规划的始发站点、配送车辆的最大装载量、多个客户站点的地理位置以及每个客户站点的配送需求信息,还可以输
入车辆的最大装载量(如最大容量、最大载重等)。所述地理位置可以用经纬度坐标表示,所述配送需求信息可以是配送货物的装载量需求(如体积需求、载重需求等)。可选的,本发明实施例在进行路径规划时,还可以输入更多的信息,例如,每个客户站点的服务时间窗(即,只有在该时间窗内才能为该客户站点服务)、道路拥堵信息、车辆数量限制等条件。
82.本发明实施例特别适用于以单台车辆执行所述多个客户站点的配送任务。具体的,该车辆在执行一次配送任务时,通常从始发站点出发,按照规划好的一条路径行驶,依次为该路径中的各个客户站点服务,并在该路径中的所有站点服务完成后,返回初始站点,从而完成一次配送任务。在客户站点数量较多,和/或,配送货物量较大时,该车辆可能需要执行多次配送任务才能为所有客户站点服务,每次配送任务对应于规划好的一条路径。
83.步骤102,根据所述输入数据中的多个客户站点的地理位置,对客户站点进行聚类分区,得到多个分区;根据所述输入数据中的始发站点、配送车辆的最大装载量、客户站点的地理位置以及客户站点的配送需求信息,计算得到每个分区的局部优化路线和局部路线成本,并得到所有客户站点的全局优化路线和路线总成本,以及,根据所述全局优化路线和路线总成本,更新最优优化路线和最优路线总成本。
84.这里,本发明实施例根据客户站点的地理位置坐标,对客户站点进行聚类处理,得到多个类,每个类对应于一个分区,包括有至少一个客户站点。具体的,可以采用k-means等聚类算法,对站点客户进行聚类分区。通常在聚类处理时,可以设置分区后的最大站点数量,例如,分区后得到的每个分区站点的数量为50个左右。在进行聚类处理时,可以通过地理坐标计算出的分区条件,所述分区条件可以包括以下条件中的一个或多个:
85.1)客户站点之间的相对距离,该相对距离可以采用站点间的直线距离表示。
86.2)客户站点相较于始发站点和标定坐标轴的方位角。例如,以正北方向为标定坐标轴,根据客户站点与始发站点之间的连线,与该标定坐标轴之间的夹角,确定所述方位角。
87.在采用上述两个条件进行聚类处理时,所获得的分区的轮廓类似于扇形,如图2所示,通过聚类处理,得到7个分区。在采用上述第1个条件进行聚类处理时,所获得的分区轮廓类似于矩形或圆形。
88.在分区之后,本发明实施例对每个分区进行vrp求解,具体可以采用现有技术的各种小规模vrp求解算法,例如采用基于强化学习的小规模求解算法,通过输入分区内各客户站点的地理位置坐标、始发站点地理位置坐标、车辆最大装载容量,生成分区内配送任务的优化路线,即局部优化路线,并获得分区内的局部优化路线的局部路线成本。图2中示出了每个分区中的局部优化路线,其中,每个分区各自包括有一条路径。通常,一个分区的局部优化路线可能包括至少一条路径,每条路径的起点和终点均为始发站点。所述局部路线成本是分区内的所有路径的路线成本之和,路线成本可以通过行驶距离、行驶费用、行驶时间中的一种参数表示,也可以通过上述参数联合表示。在获得各个分区的局部优化路线和局部路线成本之后,可以汇总所有分区的局部优化路线,从而得到所有客户站点的全局优化路线,以及计算所有分区的局部路线成本的和值,得到所有客户站点的全局优化路线的路线总成本。
89.另外,本发明实施例还维护有一个最优优化路线和最优路线总成本,在步骤102中计算得到所有客户站点的全局优化路线及路线总成本之后,可以更新上述最优优化路线和
最优路线总成本。这里,所述更新是指,若当前计算得到的全局优化路线的路线总成本更低,则将最优优化路线和最优路线总成本分别更新为当前计算得到的全局优化路线及其路线总成本,否则,保持当前的最优优化路线和最优路线总成本不变。由于在步骤102之前,尚未获得优化路线和最优路线总成本,此时,可以直接将初始计算得到的全局优化路线及其路线总成本,作为所述最优优化路线和最优路线总成本。
90.步骤103,利用预先训练得到的分区调整网络,对所述多个分区中的两个分区进行融合和重分区,得到两个新分区。
91.这里,本发明实施例利用一个预先训练好的分区调整网络,对步骤102中获得的多个分区中的两个分区进行融合,并对融合得到的融合分区再次划分为两个分区,从而得到两个新分区。所述分区调整网络的输入为步骤102中获得的多个分区、每个分区的局部优化路线及局部路线成本和全局优化路线的路线总成本,输出为两个新分区。关于所述分区调整网络的训练将在下文中进一步说明。
92.在步骤103中,所述分区调整网络按照以下方式,从所述多个分区中选择两个分区进行融合和重分区:
93.a)根据每个分区的局部优化路线和局部路线成本,生成每个分区的局部特征向量,以及,根据所有分区的局部特征向量,生成全局特征向量。
94.这里,所述分区的局部优化路线可能包括有一条或多条路径,将每条路径中的客户站点按照在路径中的次序,组合得到局部优化路线中的客户站点序列。针对每个分区,将所述分区的局部优化路线中的客户站点序列,作为输入序列输入至长短期记忆(long short-term memory,lstm)网络,获得lstm网络输出的所述分区的初级特征序列。然后,将所述分区的初级特征序列和局部路线成本输入至一全卷积网络(fully convolutional networks,fcn),将fcn输出的特征向量,作为所述分区的局部特征向量。另外,还可以对所有分区的局部特征向量取平均值,得到所述全局特征向量。
95.b)根据所述全局特征向量和局部特征向量,从所述多个分区中选择两个分区,并融合为一个分区。
96.这里,在获得所述全局特征向量和各个分区的局部特征向量后,可以按照以下方式,从所述多个分区中选择两个分区进行融合:
97.首先,以所述全局特征为索引,采用注意力机制生成所有分区的选取概率值,根据所有分区的选取概率值,从中选取概率值最大的一个分区作为被选择的第一个分区;
98.然后,以所述第一个分区的局部区域特征为索引,采用注意力机制生成剩余分区(剩余分区是指除所述第一个分区外的其他分区)的选取概率值,根据所有剩余分区的选取概率值,从中选择概率值最大的一个分区作为被选择的第二个分区,从而将所述第一个分区和第二个分区作为待融合的分区。
99.c)计算所述融合分区的局部优化路线,并根据所述融合分区的局部优化路线,将所述融合分区重新划分为两个新分区。
100.这里,可以采用采用现有技术的各种小规模vrp求解算法,例如采用基于强化学习的小规模求解算法,通过输入融合分区内各客户站点的地理位置坐标、始发站点地理位置坐标、车辆最大装载容量,生成融合分区内配送任务的局部优化路线。然后,根据所述融合分区的局部优化路线,将所述融合分区重新划分为两个新分区。本发明实施例可以采用的
一种重新划分分区的方式如下:
101.对所述融合分区的局部优化路线中的每条路径,选取一个坐标平均点,所述坐标平均点可以是路径中的所有客户站点的地理坐标的平均点,还可以是每条路径所围成的几何形状的中心点。然后,对所述坐标平均点进行主成分分析(principal components analysis,pca),获得所述路径的一维表征;根据每条路径的一维表征,将所述融合分区的局部优化路线中的路径划分为两组,每组路径中的站点属于同一个新分区。例如,将所述融合分区的各条路径的一维表征分成两组,根据每组所包含的一维表征,确定每组所包含的路径,这样,每组中的路径中的各个客户站点归属于同一个新分区,从而得到两个新分区及各新分区中的客户站点。对所述一维表征进行分组,一种分组方式可以是:计算所有一维表征的平均值,将不小于所述平均值的一维表征作为一个分组,将剩余的一维表征作为另外一个分组。
102.步骤104,计算所述两个新分区的局部优化路线,并更新所述全局优化路线和路线总成本。
103.这里,可以采用采用现有技术的各种小规模vrp求解算法,例如采用基于强化学习的小规模求解算法,通过输入所述新分区内各客户站点的地理位置坐标、始发站点地理位置坐标、车辆最大装载容量,生成所述新分区内配送任务的局部优化路线和局部路线成本。由于重新分区后的两个新分区,相对于原分区的局部路线成本可能发生了变化,因此,需要根据所述两个新分区的局部优化路线和局部路线成本,更新步骤102中所得到的所有客户站点的全局优化路线和路线总成本。
104.步骤105,判断更新后的路线总成本是否低于所述最优路线总成本,若是,则进入步骤106;否则,进入迭代停止判断步骤107。
105.这里,将步骤104中得到的更新后的路线总成本与所述最优路线总成本进行比较,判断重新划分分区后的路线总成本是否降低。
106.步骤106,根据更新后的所述全局优化路线和路线总成本,更新所述最优优化路线和最优路线总成本,并返回步骤103。
107.这里,在重新划分分区后的路线总成本降低时,需要根据更新后的所述全局优化路线和路线总成本,对应更新所述最优优化路线和最优路线总成本,然后返回步骤103,继续从当前的各个分区中选择两个分区进行融合和重划分分区,通过迭代执行上述步骤,以求解到更优的路线和成本。
108.步骤107,判断是否满足预设的迭代停止条件,若是,则进入步骤108,否则,返回所述重分区步骤103。
109.这里,在重新划分分区后的路线总成本未降低时,判断是否满足预设的迭代停止条件,所述迭代停止条件具体可以是:连续n次更新后的所述路线总成本均不低于所述最优路线总成本,所述n为大于2的预设整数。若满足所述迭代停止条件,则进入步骤108,否则,返回步骤103,继续从当前的各个分区中选择两个分区进行融合和重划分分区,通过迭代执行上述步骤,以求解到更优的路线和成本。
110.步骤108,输出所述最优优化路线,并结束流程。
111.在步骤108中,输出当前的最优优化路线,作为最终的路线规划结果。另外,还可以输出当前的最优路线总成本,作为所述最优优化路线的总成本。
112.图2给出了上述迭代计算的一个示例,图2中,黑色大圆点表示始发站点,每个黑色小圆点表示客户站点。以图2为例,通过上述步骤102进行分区,假设分区后得到分区1~分区7共7个分区(图2的步骤201),并得到该7个分区的局部优化路线和局部路线成本(图2的步骤202),然后汇总得到全局优化路线和路线总成本。在上述步骤103中,对分区1和分区2进行了融合(图2的步骤203),并通过计算融合分区的局部优化路线(图2的步骤204),然后,对融合分区进行了重划分(图2的步骤205),得到新分区1和新分区2,此时,需要将新分区1和新分区2的局部优化路线和局部路线成本,与原分区3~7的局部优化路线和局部路线成本进行合并,从而得到新的全局优化路线和路线总成本。若更新后的路线总成本降低,则进一步返回步骤203,对当前的分区进行融合以及重新分区等处理。
113.通过以上步骤,本发明实施例能够通过多次迭代计算,寻找到最优或接近最优的全局优化路线及其总成本。本发明实施例可以将大量的客户站点划分到多个分区下,然后在各个分区下面进行小规模的vrp求解,避免了直接对大规模客户站点进行求解的性能和效率低的问题,提高了大规模车辆路径规划中路径规划的性能和效率。
114.在上述步骤101之前,本发明实施例可以预先训练一个分区调整网络,如前文所述的,该分区调整网络可以包括有一个lstm网络和一个fcn以及注意力机制网络。如图3所示,具体的训练步骤包括:
115.步骤301,获取训练集,所述训练集包括多组训练数据,每组训练数据包括始发站点、配送车辆的最大装载量、多个客户站点的地理位置以及每个客户站点的配送需求信息。
116.这里,还可以输入车辆的最大装载量(如最大容量、最大载重等)。可选的,还可以输入更多的信息,例如,每个客户站点的服务时间窗(即,只有在该时间窗内才能为该客户站点服务)、道路拥堵信息、车辆数量限制等条件。
117.步骤302,初始化一个分区调整网络的参照模型。
118.这里,初始化一个分区调整网络的参照模型,在后续每路训练过程中,可能会对该参照模型进行更新。在每轮训练开始时,所述分区调整网络采用当前的参照模型,即,在每轮训练开始时,按照当前的参照模型的模型参数,初始化分区调整网络。
119.步骤303,选择一组尚未使用的训练数据,利用所选择的训练数据进行一轮训练,训练所述分区调整网络,其中,在每轮训练开始时,所述分区调整网络采用当前的参照模型;在每轮训练的过程中,利用所述训练数据对所述分区调整网络的模型参数进行更新,并在更新后的所述分区调整网络相对于当前的参照模型性能有提升时,根据更新后的所述分区调整网络更新所述参照模型。
120.步骤304,在每轮训练结束时,判断是否满足预设的网络训练结束条件,若是,则进入步骤305;否则,返回所述步骤303。
121.这里,所述网络训练结束条件可以是所有的训练数据都训练完毕。
122.考虑到防止模型训练过拟合并提高训练效率,本发明实施例可以通过一组验证数据,对模型进行验证,根据验证结果来判断是否需要停止网络训练,具体的:
123.在每轮训练结束后,将当前的参照模型作为所述分区调整网络,将一组验证数据作为输入数据,执行图1中的步骤101~108,得到该轮训练结束后所述验证数据对应的全局优化路线和路线总成本,以及,根据每轮训练结束后所得到的所述验证数据对应的路线总成本,更新所述验证数据对应的最优路线总成本,例如,在路线总成本降低时,则根据该轮
训练结束后所得到的所述验证数据对应的路线总成本,更新所述验证数据对应的最优路线总成本;如果路线总成本没有降低,则保持所述验证数据对应的最优路线总成本不变。此时,可以设置所述网络训练结束条件为:连续m轮训练结束后所得到的所述验证数据对应的路线总成本,均不低于所述验证数据对应的最优路线总成本;所述m为大于2的预设整数。这样,可以在训练对分区调整网络的性能提升有限时,及时停止训练过程,提高训练效率。
124.步骤305,结束所述分区调整网络的训练,并输出所述参照模型,作为最终训练得到的所述分区调整网络。
125.上述步骤303中,利用所选择的一组训练数据进行一轮训练,训练所述分区调整网络,每轮训练可以包括多次迭代处理,具体的,如图4所示,每轮训练包括以下步骤:
126.步骤3031,根据所述训练数据中的多个客户站点的地理位置,对客户站点进行聚类分区,得到多个分区;根据所述训练数据中的始发站点、配送车辆的最大装载量、客户站点的地理位置以及客户站点的配送需求信息,计算得到每个分区的局部优化路线和和局部路线成本,并得到所有客户站点的全局优化路线和路线总成本,以及,根据所述全局优化路线和路线总成本,更新最优优化路线和最优路线总成本。步骤3032,利用所述分区调整网络,对所述多个分区中的两个分区进行融合和重分区,得到两个新分区。
127.步骤3033,计算所述两个新分区的局部优化路线,并更新所述全局优化路线和路线总成本。
128.步骤3034,计算更新前后的路线总成本的减少量,将所述减少量作为奖励函数值,指导所述分区调整网络进行梯度下降,得到更新后的所述分区调整网络。
129.步骤3035,判断更新后的路线总成本是否低于所述最优路线总成本,若是,则进入步骤3036,否则,进入步骤3037。
130.步骤3036,根据更新后的所述全局优化路线和路线总成本,更新所述最优优化路线和最优路线总成本,以及,根据更新后的所述分区调整网络,更新所述参照模型,并返回所述步骤3032。
131.步骤3037,判断是否满足预设的每轮训练的停止条件,若是,则结束当前轮的训练,进入步骤304,否则,返回所述步骤3032。
132.以上训练过程中的部分步骤类似于图1中的工作流程中的相关步骤,为节约篇幅,此处不再赘述。
133.通过以上步骤,本发明实施例可以解决大规模vrp模型训练时间长,训练过程难以收敛等问题,提高vrp问题求解的性能和效率。
134.经发明人对比本发明实施例的方法以及现有技术的蚁群优化等算法,发现本发明实施例可以大大减少计算所需时间并能获得成本较优的解,尤其是在大规模vrp求解时,上述优点更为突出。
135.基于以上的车辆路径规划方法,本发明实施例还提供了实施上述方法的装置。
136.请参照图5,本发明实施例提供的一种车辆路径规划装置50,包括:
137.数据获取模块51,用于获取待进行路径规划的始发站点、配送车辆的最大装载量、多个客户站点的地理位置以及每个客户站点的配送需求信息,作为输入数据;
138.初始计算模块52,用于根据所述输入数据中的多个客户站点的地理位置,对客户站点进行聚类分区,得到多个分区;根据所述输入数据中的始发站点、配送车辆的最大装载
量、客户站点的地理位置以及客户站点的配送需求信息,计算得到每个分区的局部优化路线和局部路线成本,并得到所有客户站点的全局优化路线和路线总成本,以及,根据所述全局优化路线和路线总成本,更新最优优化路线和最优路线总成本;
139.重分区模块53,用于利用预先训练得到的分区调整网络,对所述多个分区中的两个分区进行融合和重分区,得到两个新分区;
140.迭代计算模块54,用于计算所述两个新分区的局部优化路线,并更新所述全局优化路线和路线总成本;
141.更新处理模块55,用于判断更新后的路线总成本是否低于所述最优路线总成本,若是,则根据更新后的所述全局优化路线和路线总成本,更新所述最优优化路线和最优路线总成本,并返回所述重分区模块;否则,进入迭代停止判断模块;
142.所述迭代停止判断模块56,用于判断是否满足预设的迭代停止条件,若是,则输出所述最优优化路线,否则,返回所述重分区模块。
143.可选的,所述迭代停止条件为:连续n次更新后的所述路线总成本均不低于所述最优路线总成本,所述n为大于2的预设整数。
144.可选的,所述重分区模块具体可以包括:
145.第一计算模块,用于根据每个分区的局部优化路线和局部路线成本,生成每个分区的局部特征向量,以及,根据所有分区的局部特征向量,生成全局特征向量;
146.选择融合模块,用于根据所述全局特征向量和局部特征向量,从所述多个分区中选择两个分区,并融合为一个分区;
147.划分模块,用于计算所述融合分区的局部优化路线,并根据所述融合分区的局部优化路线,将所述融合分区重新划分为两个新分区。
148.可选的,所述第一计算模块可以包括:
149.第一处理模块,用于针对每个分区,将所述分区的局部优化路线中的客户站点序列,作为输入序列输入至长短期记忆lstm网络,生成所述分区的初级特征序列;将所述分区的初级特征序列和局部路线成本输入至全卷积网络,生成所述分区的局部特征向量;
150.第二处理模块,用于对所有分区的局部特征向量取平均值,得到所述全局特征向量。
151.可选的,所述选择融合模块,具体用于:
152.以所述全局特征为索引,采用注意力机制生成所有分区的选取概率值,选择其中选取概率值最大的一个分区作为被选择的第一个分区;
153.以所述第一个分区的局部区域特征为索引,采用注意力机制生成剩余分区的选取概率值,选择其中概率值最大的一个分区作为被选择的第二个分区。
154.可选的,所述划分模块,具体用于:
155.对所述融合分区的局部优化路线中的每条路径,选取一个坐标平均点,并对所述坐标平均点进行主成分分析,获得所述路径的一维表征;根据每条路径的一维表征,将所述融合分区的局部优化路线中的路径划分为两组,每组路径中的站点属于同一个新分区。
156.可选的,所述的车辆路径规划装置还包括:
157.训练模块,训练得到所述分区调整网络。
158.可选的,所述训练模块具体可以包括:
159.第一模块,用于获取训练集,所述训练集包括多组训练数据,每组训练数据包括始发站点、配送车辆的最大装载量、多个客户站点的地理位置以及每个客户站点的配送需求信息;
160.第二模块,用于初始化一个分区调整网络的参照模型;
161.第三模块,用于选择一组尚未使用的训练数据,利用所选择的训练数据进行一轮训练,训练所述分区调整网络,其中,在每轮训练开始时,所述分区调整网络采用当前的参照模型;在每轮训练的过程中,利用所述训练数据对所述分区调整网络的模型参数进行更新,并在更新后的所述分区调整网络相对于当前的参照模型性能有提升时,根据更新后的所述分区调整网络更新所述参照模型;
162.第四模块,用于在每轮训练结束时,判断是否满足预设的网络训练结束条件,若是,则结束所述分区调整网络的训练,并输出所述参照模型,作为最终训练得到的所述分区调整网络;否则,返回所述第三模块。
163.可选的,所述第三模块具体可以包括:
164.第一训练子模块,用于根据所述训练数据中的多个客户站点的地理位置,对客户站点进行聚类分区,得到多个分区;根据所述训练数据中的始发站点、配送车辆的最大装载量、客户站点的地理位置以及客户站点的配送需求信息,计算得到每个分区的局部优化路线和和局部路线成本,并得到所有客户站点的全局优化路线和路线总成本,以及,根据所述全局优化路线和路线总成本,更新最优优化路线和最优路线总成本;
165.第二训练子模块,用于利用所述分区调整网络,对所述多个分区中的两个分区进行融合和重分区,得到两个新分区;
166.第三训练子模块,用于计算所述两个新分区的局部优化路线,并更新所述全局优化路线和路线总成本;
167.第四训练子模块,用于计算更新前后的路线总成本的减少量,将所述减少量作为奖励函数值,指导所述分区调整网络进行梯度下降,得到更新后的所述分区调整网络;
168.第五训练子模块,用于判断更新后的路线总成本是否低于所述最优路线总成本,若是,则根据更新后的所述全局优化路线和路线总成本,更新所述最优优化路线和最优路线总成本,以及,根据更新后的所述分区调整网络,更新所述参照模型,并返回所述第二训练子步骤;否则,进入第六训练子模块;
169.所述第六训练子模块,用于判断是否满足预设的每轮训练的停止条件,若是,则结束当前轮的训练,否则,返回所述第二训练子模块。
170.可选的,所述的车辆路径规划装置还包括:
171.验证模块,用于在每轮训练结束后,将当前的参照模型作为所述分区调整网络,将一组验证数据作为输入数据,调用所述初始计算模块、重分区模块、迭代计算模块、更新处理模块和所述迭代停止判断模块,得到所述验证数据对应的全局优化路线和路线总成本;以及,根据每轮训练结束后所得到的所述验证数据对应的路线总成本,更新所述验证数据对应的最优路线总成本;
172.所述网络训练结束条件为:连续m轮训练结束后所得到的所述验证数据对应的路线总成本,均不低于所述验证数据对应的最优路线总成本;所述m为大于2的预设整数。
173.通过以上装置,本发明实施例能够在大规模车辆路径规划中提高路径规划的性能
和效率。
174.如图6所示,本发明实施例还提供了另一种车辆路径规划装置60,该车辆路径规划装置60具体包括处理器61、存储器62、总线系统63、接收器64和发送器65。其中,处理器61、存储器62、接收器64和发送器65通过总线系统63相连,该存储器62用于存储指令,该处理器61用于执行该存储器62存储的指令,以控制接收器64接收信号,并控制发送器65发送信号;
175.其中,该处理器61,用于读取存储器中的程序,执行下列过程:
176.数据获取步骤,获取待进行路径规划的始发站点、配送车辆的最大装载量、多个客户站点的地理位置以及每个客户站点的配送需求信息,作为输入数据;
177.初始计算步骤,根据所述输入数据中的多个客户站点的地理位置,对客户站点进行聚类分区,得到多个分区;根据所述输入数据中的始发站点、配送车辆的最大装载量、客户站点的地理位置以及客户站点的配送需求信息,计算得到每个分区的局部优化路线和局部路线成本,并得到所有客户站点的全局优化路线和路线总成本,以及,根据所述全局优化路线和路线总成本,更新最优优化路线和最优路线总成本;
178.重分区步骤,利用预先训练得到的分区调整网络,对所述多个分区中的两个分区进行融合和重分区,得到两个新分区;
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.根据本发明的至少一个实施例,所述迭代停止条件为:连续n次更新后的所述路线
总成本均不低于所述最优路线总成本,所述n为大于2的预设整数。
187.根据本发明的至少一个实施例,所述程序被处理器61执行时还可实现如下步骤:
188.根据每个分区的局部优化路线和局部路线成本,生成每个分区的局部特征向量,以及,根据所有分区的局部特征向量,生成全局特征向量;
189.根据所述全局特征向量和局部特征向量,从所述多个分区中选择两个分区,并融合为一个分区;
190.计算所述融合分区的局部优化路线,并根据所述融合分区的局部优化路线,将所述融合分区重新划分为两个新分区。
191.根据本发明的至少一个实施例,所述程序被处理器61执行时还可实现如下步骤:
192.针对每个分区,将所述分区的局部优化路线中的客户站点序列,作为输入序列输入至长短期记忆lstm网络,生成所述分区的初级特征序列;
193.将所述分区的初级特征序列和局部路线成本输入至全卷积网络,生成所述分区的局部特征向量。
194.根据本发明的至少一个实施例,所述程序被处理器61执行时还可实现如下步骤:
195.对所有分区的局部特征向量取平均值,得到所述全局特征向量。
196.根据本发明的至少一个实施例,所述程序被处理器61执行时还可实现如下步骤:
197.以所述全局特征为索引,采用注意力机制生成所有分区的选取概率值,选择其中选取概率值最大的一个分区作为被选择的第一个分区;
198.以所述第一个分区的局部区域特征为索引,采用注意力机制生成剩余分区的选取概率值,选择其中概率值最大的一个分区作为被选择的第二个分区。
199.根据本发明的至少一个实施例,所述程序被处理器61执行时还可实现如下步骤:
200.对所述融合分区的局部优化路线中的每条路径,选取一个坐标平均点,并对所述坐标平均点进行主成分分析,获得所述路径的一维表征;根据每条路径的一维表征,将所述融合分区的局部优化路线中的路径划分为两组,每组路径中的站点属于同一个新分区。
201.根据本发明的至少一个实施例,所述程序被处理器61执行时还可实现如下步骤:
202.在所述数据输入步骤之前,执行训练步骤,训练得到所述分区调整网络。
203.根据本发明的至少一个实施例,所述程序被处理器61执行时还可实现如下步骤:
204.第一步骤,获取训练集,所述训练集包括多组训练数据,每组训练数据包括始发站点、配送车辆的最大装载量、多个客户站点的地理位置以及每个客户站点的配送需求信息;
205.第二步骤,初始化一个分区调整网络的参照模型;
206.第三步骤,选择一组尚未使用的训练数据,利用所选择的训练数据进行一轮训练,训练所述分区调整网络,其中,在每轮训练开始时,所述分区调整网络采用当前的参照模型;在每轮训练的过程中,利用所述训练数据对所述分区调整网络的模型参数进行更新,并在更新后的所述分区调整网络相对于当前的参照模型性能有提升时,根据更新后的所述分区调整网络更新所述参照模型;
207.第四步骤,在每轮训练结束时,判断是否满足预设的网络训练结束条件,若是,则结束所述分区调整网络的训练,并输出所述参照模型,作为最终训练得到的所述分区调整网络;否则,返回所述第三步骤。
208.根据本发明的至少一个实施例,所述程序被处理器61执行时还可实现如下步骤:
209.第一训练子步骤,根据所述训练数据中的多个客户站点的地理位置,对客户站点进行聚类分区,得到多个分区;根据所述训练数据中的始发站点、配送车辆的最大装载量、客户站点的地理位置以及客户站点的配送需求信息,计算得到每个分区的局部优化路线和和局部路线成本,并得到所有客户站点的全局优化路线和路线总成本,以及,根据所述全局优化路线和路线总成本,更新最优优化路线和最优路线总成本;
210.第二训练子步骤,利用所述分区调整网络,对所述多个分区中的两个分区进行融合和重分区,得到两个新分区;
211.第三训练子步骤,计算所述两个新分区的局部优化路线,并更新所述全局优化路线和路线总成本;
212.第四训练子步骤,计算更新前后的路线总成本的减少量,将所述减少量作为奖励函数值,指导所述分区调整网络进行梯度下降,得到更新后的所述分区调整网络;
213.第五训练子步骤,判断更新后的路线总成本是否低于所述最优路线总成本,若是,则根据更新后的所述全局优化路线和路线总成本,更新所述最优优化路线和最优路线总成本,以及,根据更新后的所述分区调整网络,更新所述参照模型,并返回所述第二训练子步骤;否则,进入第六训练子步骤;
214.所述第六步骤,判断是否满足预设的每轮训练的停止条件,若是,则结束当前轮的训练,否则,返回所述第二训练子步骤。
215.根据本发明的至少一个实施例,所述程序被处理器61执行时还可实现如下步骤:
216.在每轮训练结束后,将当前的参照模型作为所述分区调整网络,将一组验证数据作为输入数据,执行所述初始计算步骤、重分区步骤、迭代计算步骤、更新处理步骤和所述迭代停止判断步骤,得到所述验证数据对应的全局优化路线和路线总成本;以及,根据每轮训练结束后所得到的所述验证数据对应的路线总成本,更新所述验证数据对应的最优路线总成本;
217.所述网络训练结束条件为:连续m轮训练结束后所得到的所述验证数据对应的路线总成本,均不低于所述验证数据对应的最优路线总成本;所述m为大于2的预设整数。
218.该程序被处理器执行时能实现图1所示的车辆路径规划方法中的所有实现方式,且能达到相同的技术效果,为避免重复,此处不再赘述。
219.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
220.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
221.在本技术所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连
接,可以是电性,机械或其它的形式。
222.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
223.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
224.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
225.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1