车辆规划方法及装置与流程

未命名 10-19 阅读:137 评论:0


1.本技术主要涉及车辆规划技术领域,具体涉及一种车辆规划方法及装置。


背景技术:

2.线路规划(vrp,vehicle routing problem)算法在供应链的多个场景中均有广泛的应用,例如干线运输、支线运输以及最后一公里的场景。优化车辆行驶路线和装卸货顺序,有助于降低车辆运输成本,提高车辆资源的使用效率。其中,多趟多车型问题是线路规划中较为复杂的一个子场景问题。多趟多车型问题是有中心点线路规划场景下,考虑车辆在中心点与任务网点之间多次往返完成运输任务,从而进一步提高车辆使用率,降低线路方案使用车辆的数量。多趟多车型问题在批发-零售送货、快递集散货等场景均有广泛的应用。然而,多趟多车型问题的复杂性较高,相比于单趟vrp问题要考虑车辆趟次之间的拼接优化,且不同车型之间可能存在趟次不兼容的情况,大大提升了线路方案优化的难度。现有技术中多趟线路规划问题的相关研究已有约三十多年的时间,相关的算法技术主要为精确算法,精确算法为遍历搜索算法,计算规模与线路规划问题中的任务网点数量呈指数上升趋势,难以应对大规模问题。也有采用交换式邻域和插入式邻域的领域搜索算法,但通过这些方式进行车辆规划的效率较低。
3.也即,现有技术中车辆规划的效率较低。


技术实现要素:

4.本技术提供一种车辆规划方法及装置,旨在解决现有技术中车辆规划的效率较低的问题。
5.第一方面,本技术提供一种车辆规划方法,所述车辆规划方法包括:
6.获取初始规划路线,其中,所述初始规划路线包括多个车辆完成多个运输任务行驶的路线,所述初始规划路线满足预设约束条件;
7.获取多个第一任务拼接操作,其中,所述第一任务拼接操作用于将待拼接车辆的运输任务拼接至被拼接车辆上,所述待拼接车辆和所述被拼接车辆为所述初始规划路线中的两个车辆;
8.将多个所述第一任务拼接操作中满足预设过滤条件的第一任务拼接操作过滤,得到多个第二任务拼接操作;
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.若被拼接车辆的最后一个运输任务的任务结束时间不早于待拼接车辆的第一个运输任务的任务开始时间,则确定所述第一任务拼接操作不满足预设过滤条件。
44.可选地,所述过滤单元,用于:
45.若被拼接车辆的最后一个运输任务的任务结束时间早于待拼接车辆的第一个运输任务的任务开始时间,则判断被拼接车辆的车辆条件是否满足待拼接车辆上的运输任务;
46.若被拼接车辆的车辆条件不满足待拼接车辆上的运输任务,则确定所述第一任务拼接操作不满足预设过滤条件;若被拼接车辆的车辆条件满足待拼接车辆上的运输任务,则确定所述第一任务拼接操作满足预设过滤条件。
47.可选地,所述更新迭代单元,用于:
48.获取多个邻域规划路线的车辆使用总数量;
49.若多个邻域规划路线中仅存在一个车辆使用总数量最小的邻域规划路线,则将车辆使用总数量最小的邻域规划路线确定为满足预设优化目标的邻域规划路线;
50.若多个邻域规划路线中存在至少两个车辆使用总数量最小的邻域规划路线,则获取至少两个车辆使用总数量最小的邻域规划路线的车辆行驶总里程;
51.将至少两个车辆使用总数量最小的邻域规划路线中的车辆行驶总里程最小的邻
域规划路线确定为满足预设优化目标的邻域规划路线;
52.若多个邻域规划路线中满足预设优化目标的邻域规划路线与所述初始规划路线不同,则更新第一任务拼接操作并将满足预设优化目标的邻域规划路线确定为所述初始规划路线进行迭代更新,得到迭代后的规划路线。
53.可选地,所述第二获取单元,用于:
54.对所述初始规划路线中的多个车辆进行遍历组合,得到多个第三任务拼接操作;
55.从多个所述第三任务拼接操作中随机获取多个第一任务拼接操作,其中,所述第一任务拼接操作的数量小于所述第三任务拼接操作的数量。
56.可选地,所述第一获取单元,用于:
57.获取运输任务信息、车辆信息、网点信息以及所述预设约束条件;
58.利用首次适应算法基于所述运输任务信息、所述车辆信息、所述网点信息以及所述预设约束条件进行路线规划,得到初始规划路线。
59.可选地,所述预设约束条件包括以下至少一种:
60.车辆行驶总时间不超过车辆工作时长阈值;车辆行驶总时间不超过订单到达时间;车辆完成返程运输任务时的载重为零;车辆完成后一运输任务时的载重不小于车辆完成前一运输任务时的载重和订单重量之和;车辆完成后一运输任务时的载货体积不小于车辆完成前一运输任务时的载货体积和订单体积之和;车辆完成订单时的载重不超过车辆载重阈值;车辆完成订单时的体积不超过车辆体积阈值。
61.第三方面,本技术提供一种计算机设备,所述计算机设备包括:
62.一个或多个处理器;
63.存储器;以及
64.一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现第一方面中任一项所述的车辆规划方法。
65.第四方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行第一方面中任一项所述的车辆规划方法中的步骤。
66.本技术提供一种车辆规划方法及装置,该车辆规划方法包括:获取初始规划路线,其中,初始规划路线包括多个车辆完成多个运输任务行驶的路线,初始规划路线满足预设约束条件;获取多个第一任务拼接操作,其中,第一任务拼接操作用于将待拼接车辆的运输任务拼接至被拼接车辆上,待拼接车辆和被拼接车辆为初始规划路线中的两个车辆;将多个第一任务拼接操作中满足预设过滤条件的第一任务拼接操作过滤,得到多个第二任务拼接操作;基于多个第二任务拼接操作对初始规划路线进行运输任务拼接,得到多个邻域规划路线;若多个邻域规划路线中满足预设优化目标的邻域规划路线与初始规划路线不同,则更新第一任务拼接操作并将满足预设优化目标的邻域规划路线确定为初始规划路线进行迭代更新,得到迭代后的规划路线;当迭代后的规划路线与迭代前的规划路线相同时,将迭代后的规划路线确定为目标车辆规划路线。本技术在现有技术中车辆规划效率较低的情况下,创造性地提出一种车辆规划方法,先确定多个第一任务拼接操作,第一任务拼接操作可以将待拼接车辆的运输任务拼接至被拼接车辆,然后将多个第一任务拼接操作中部分拼接操作过滤掉,生成多个第二拼接操作,多个第二拼接操作可以快速地对初始规划路线中
的运输任务进行拼接形成多个邻域规划路线,相对于现有技术将网点一个个插入初始规划路线的方式,能够更快生成邻域规划路线进行迭代,从而提高车辆规划的效率。
附图说明
67.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
68.图1是本技术实施例所提供的车辆规划系统的场景示意图;
69.图2是本技术实施例中车辆规划方法的一个实施例流程示意图;
70.图3是本技术实施例中提供的车辆规划装置的一个实施例结构示意图;
71.图4是本技术实施例中提供的计算机设备的一个实施例结构示意图。
具体实施方式
72.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
73.在本技术的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个特征。在本技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
74.在本技术中,“示例性”一词用来表示“用作例子、例证或说明”。本技术中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本技术,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本技术。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本技术的描述变得晦涩。因此,本技术并非旨在限于所示的实施例,而是与符合本技术所公开的原理和特征的最广范围相一致。
75.本技术实施例提供一种车辆规划方法及装置,以下分别进行详细说明。
76.请参阅图1,图1是本技术实施例所提供的车辆规划系统的场景示意图,该车辆规划系统可以包括计算机设备100,计算机设备100中集成有车辆规划装置。
77.本技术实施例中,该计算机设备100可以是独立的服务器,也可以是服务器组成的服务器网络或服务器集群,例如,本技术实施例中所描述的计算机设备100,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云服务器。
其中,云服务器由基于云计算(cloud computing)的大量计算机或网络服务器构成。
78.本技术实施例中,上述的计算机设备100可以是一个通用计算机设备或者是一个专用计算机设备。在具体实现中计算机设备100可以是台式机、便携式电脑、网络服务器、掌上电脑(personal digital assistant,pda)、移动手机、平板电脑、无线终端设备、通信设备、嵌入式设备等,本实施例不限定计算机设备100的类型。
79.本领域技术人员可以理解,图1中示出的应用环境,仅仅是本技术方案的一种应用场景,并不构成对本技术方案应用场景的限定,其他的应用环境还可以包括比图1中所示更多或更少的计算机设备,例如图1中仅示出1个计算机设备,可以理解的,该车辆规划系统还可以包括一个或多个可处理数据的其他计算机设备,具体此处不作限定。
80.另外,如图1所示,该车辆规划系统还可以包括存储器200,用于存储数据。
81.需要说明的是,图1所示的车辆规划系统的场景示意图仅仅是一个示例,本技术实施例描述的车辆规划系统以及场景是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域普通技术人员可知,随着车辆规划系统的演变和新业务场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
82.首先,本技术实施例中提供一种车辆规划方法,该车辆规划方法包括:获取初始规划路线,其中,初始规划路线包括多个车辆完成多个运输任务行驶的路线,初始规划路线满足预设约束条件;获取多个第一任务拼接操作,其中,第一任务拼接操作用于将待拼接车辆的运输任务拼接至被拼接车辆上,待拼接车辆和被拼接车辆为初始规划路线中的两个车辆;将多个第一任务拼接操作中满足预设过滤条件的第一任务拼接操作过滤,得到多个第二任务拼接操作;基于多个第二任务拼接操作对初始规划路线进行运输任务拼接,得到多个邻域规划路线;若多个邻域规划路线中满足预设优化目标的邻域规划路线与初始规划路线不同,则更新第一任务拼接操作并将满足预设优化目标的邻域规划路线确定为初始规划路线进行迭代更新,得到迭代后的规划路线;当迭代后的规划路线与迭代前的规划路线相同时,将迭代后的规划路线确定为目标车辆规划路线。
83.如图2所示,图2是本技术实施例中车辆规划方法的一个实施例流程示意图,该车辆规划方法包括如下步骤s201~s206:
84.s201、获取初始规划路线。
85.在一个具体的实施例中,初始规划路线可以由人工输入。
86.在另一个具体的实施例中,获取初始规划路线,包括:
87.(1)获取运输任务信息、车辆信息、网点信息以及预设约束条件。
88.具体的,运输任务信息包括:运输起点、运输终点、提货时间窗、送货时间窗、运输物品重量和体积、允许使用的车型。车辆信息包括:车型、最大载重、最大车辆容积、工作时间窗、最长行驶里程、最长工作时间和最大运输网点数量;网点信息包括:经纬度、上下班时间窗。
89.本技术实施例中,预设约束条件包括以下至少一种:车辆行驶总时间不超过车辆工作时长阈值;车辆行驶总时间不超过订单到达时间;车辆完成返程运输任务时的载重为零;车辆完成后一运输任务时的载重不小于车辆完成前一运输任务时的载重和订单重量之和;车辆完成后一运输任务时的载货体积不小于车辆完成前一运输任务时的载货体积和订
单体积之和,车辆完成订单时的载重不超过车辆载重阈值,车辆完成订单时的体积不超过车辆体积阈值。
90.在一个具体的实施例中,定义参数变量如下:
91.v∈v:车辆索引,v是车辆集合;
92.o∈o:运输订单索引,o是订单集合;
93.中心点,返程任务;
94.wo:订单重量;
95.vo:订单体积;
96.δo:订单o的可用车型集合;
97.车辆行驶里程阈值;
98.车辆串点数量阈值;
99.车辆工作时长阈值;
100.车辆载重阈值;
101.车辆体积阈值;
102.任务开始时间点;
103.任务结束时间点;
104.任务之间的行驶里程;
105.任务之间的行驶时间;
106.fixcv:车辆固定使用成本;
107.vcv:车辆单位里程成本。
108.决策变量如下:
109.x
vo
∈{0,1}:是否安排车辆v完成运输任务o;
110.任务o1是否在任务o2之前,
111.zo∈{0,1}:任务完成之后是否返程;
112.disv:车辆行驶总距离;
113.wktv:车辆行驶总时间;
114.arto:订单到达时间;
115.cwt
vo
:车辆在完成订单时的载重;
116.cvt
vo
:车辆在完成订单时的载货体积。
117.其中,不同的决策变量组合形成一种规划路线。
118.预设约束条件包括如公式(1)-(8)所示的约束;
119.车辆使用才能完成运输任务,
[0120][0121]
一个任务只需要完成一次,
[0122][0123]
串联任务必须在同一辆车,
[0124][0125]
车辆串点数量不超过车辆串点数量阈值,
[0126][0127]
车辆行驶里程限制
[0128][0129][0130]
任务到达时间窗限制
[0131][0132][0133]
车辆工作时长限制,车辆行驶总时间不超过车辆工作时长阈值;车辆行驶总时间不超过订单到达时间。
[0134][0135][0136]
车辆载重和体积限制,返程开始新的趟次重新计算,车辆完成后一运输任务时的载重不小于车辆完成前一运输任务时的载重和订单重量之和;车辆完成后一运输任务时的载货体积不小于车辆完成前一运输任务时的载货体积和订单体积之和,车辆完成订单时的载重不超过车辆载重阈值,车辆完成订单时的体积不超过车辆体积阈值。
[0137][0138][0139][0140][0141]
(2)利用首次适应算法基于运输任务信息、车辆信息、网点信息以及预设约束条件进行路线规划,得到初始规划路线。
[0142]
首次适应算法(first fit)从空闲分区链首开始查找,直至找到一个能满足其大小要求的空闲分区为止。然后再按照作业的大小,从该分区中划出一块内存分配给请求者,余下的空闲分区仍留在空闲分区链中。在本技术车辆规划的场景中,利用首次适应算法将各个订单分配至各个车辆上,各个车辆完成多个运输任务以完成各个订单,得到初始规划路线,初始规划路线满足设约束条件。
[0143]
s202、获取多个第一任务拼接操作,其中,第一任务拼接操作用于将待拼接车辆的
运输任务拼接至被拼接车辆上。
[0144]
其中,待拼接车辆和被拼接车辆为初始规划路线中的两个车辆。
[0145]
在一个具体的实施例中,第一任务拼接操作可以人为预先设计。例如,初始规划路线中,车辆a执行任务bc和任务cd,车辆e执行任务fg和任务gh。第一任务拼接操作为将车辆a执行的任务bc和任务cd拼接到车辆e执行的任务fg和任务gh之后,任务gh为被拼接任务,任务bc为待拼接任务。第一任务拼接操作可以用于将待拼接车辆的运输任务全部拼接至被拼接车辆上,待拼接车辆不再执行运输任务,从而减小车辆使用数量。
[0146]
在另一个具体的实施例中,获取多个第一任务拼接操作,可以包括:
[0147]
(1)对初始规划路线中的多个车辆进行遍历组合,得到多个第三任务拼接操作。
[0148]
具体的,获取任意两个车辆,将任意两个车辆的一个车辆确定为待拼接车辆,将另一个车辆确定为被拼接车辆,作为一个组合。将待拼接车辆的全部运输任务拼接到被拼接车辆的全部运输任务之后,待拼接车辆不再承担运输任务,通过遍历组合得到多个第三任务拼接操作。例如,车辆a执行任务bc和任务cd,车辆e执行任务fg和任务gh。通过遍历组合有2个第三任务拼接操作,分别为:车辆a为待拼接车辆,车辆e为被拼接车辆,将车辆a执行的任务bc和任务cd拼接至车辆e执行的任务fg和任务gh之后,车辆e依次执行任务bc、任务cd、任务fg以及任务gh,车辆a不再执行运输任务;车辆a为被拼接车辆,车辆e为待拼接车辆,将车辆e执行的任务fg和任务gh拼接至车辆a执行的任务bc和任务cd之后,车辆a依次执行任务fg、任务gh、任务bc以及任务cd,车辆e不再执行运输任务。
[0149]
(2)从多个第三任务拼接操作中随机获取多个第一任务拼接操作,其中,第一任务拼接操作的数量小于第三任务拼接操作的数量。
[0150]
为了提高车辆规划效率,在一个具体的实施例中,按预设比例从多个第三任务拼接操作进行随机抽取,得到多个第一任务拼接操作。预设比例小于1,预设比例可以为10%等。通过随机抽取可以快速的生成多个第一任务拼接操作,避免遍历组合产生的第三任务拼接操作过多导致数据太多迭代太慢,从而提高车辆规划效率。
[0151]
进一步的,为了避免随机抽取的第三任务拼接操作集中于几个车辆上,在一个具体的实施例中,从多个第三任务拼接操作中随机获取多个第一任务拼接操作可以包括:分别将各个第一任务拼接操作的被拼接车辆作为目标车辆,对以目标车辆为被拼接车辆的多个第一任务拼接操作按预设比例进行随机抽取,得到目标车辆对应的多个第一任务拼接操作,从而得到各个被拼接车辆对应的多个第一任务拼接操作,将各个被拼接车辆对应的多个第一任务拼接操作汇总,得到第三任务拼接操作的数量。可以保证每种类型的拼接操作均匀分布。
[0152]
s203、将多个第一任务拼接操作中满足预设过滤条件的第一任务拼接操作过滤,得到多个第二任务拼接操作。
[0153]
在一个具体的实施例中,将多个第一任务拼接操作中满足预设过滤条件的第一任务拼接操作过滤,得到多个第二任务拼接操作,可以包括:
[0154]
(1)获取第一任务拼接操作中被拼接车辆的最后一个运输任务和待拼接车辆的第一个运输任务。
[0155]
(2)判断被拼接车辆的最后一个运输任务的任务结束时间是否早于待拼接车辆的第一个运输任务的任务开始时间。
[0156]
(3)若被拼接车辆的最后一个运输任务的任务结束时间不早于待拼接车辆的第一个运输任务的任务开始时间,则确定第一任务拼接操作不满足预设过滤条件。
[0157]
进一步的,若被拼接车辆的最后一个运输任务的任务结束时间早于待拼接车辆的第一个运输任务的任务开始时间,则判断被拼接车辆是否满足待拼接车辆上的运输任务;若被拼接车辆不满足待拼接车辆上的运输任务,则确定第一任务拼接操作不满足预设过滤条件;若被拼接车辆满足待拼接车辆上的运输任务,则确定第一任务拼接操作满足预设过滤条件。其中,判断被拼接车辆的车型是否满足待拼接车辆上的运输任务所需的车型;判断被拼接车辆的载重量是否满足待拼接车辆上的运输任务所需要的载重量,若被拼接车辆的车型满足待拼接车辆上的运输任务所需的车型且被拼接车辆的载重量满足待拼接车辆上的运输任务所需要的载重量,则确定被拼接车辆满足待拼接车辆上的运输任务。
[0158]
s204、基于多个第二任务拼接操作对初始规划路线进行运输任务拼接,得到多个邻域规划路线。
[0159]
s205、若多个邻域规划路线中满足预设优化目标的邻域规划路线与初始规划路线不同,则更新第一任务拼接操作并将满足预设优化目标的邻域规划路线确定为初始规划路线进行迭代更新,得到迭代后的规划路线。
[0160]
在一个具体的实施例中,更新第一任务拼接操作并将多个邻域规划路线中满足预设优化目标的邻域规划路线确定为初始规划路线进行迭代更新,得到迭代后的规划路线,可以包括:
[0161]
(1)获取多个邻域规划路线的车辆使用总数量。
[0162]
(2)若多个邻域规划路线中仅存在一个车辆使用总数量最小的邻域规划路线,则将车辆使用总数量最小的邻域规划路线确定为满足预设优化目标的邻域规划路线。
[0163]
(3)若多个邻域规划路线中存在至少两个车辆使用总数量最小的邻域规划路线,则获取至少两个车辆使用总数量最小的邻域规划路线的车辆行驶总里程。
[0164]
(4)将至少两个车辆使用总数量最小的邻域规划路线中的车辆行驶总里程最小的邻域规划路线确定为满足预设优化目标的邻域规划路线。
[0165]
具体的,若车辆行驶总里程最小的邻域规划路线为至少两个,则获取至少两个车辆行驶总里程最小的邻域规划路线的车辆运输成本,将车辆运输成本最小的邻域规划路线确定为迭代后的规划路线。可以保证每次迭代后的规划路线能够满足车辆使用总数量最小、车辆行驶总里程最小以及车辆运输成本最小。
[0166]
本技术实施例中,若多个邻域规划路线中满足预设优化目标的邻域规划路线与初始规划路线不同,表明该次迭代产生了更优的方案,可以继续迭代,则更新第一任务拼接操作并将满足预设优化目标的邻域规划路线确定为初始规划路线进行迭代更新,得到迭代后的规划路线。若迭代后的规划路线与初始规划路线相同,表明该次迭代没有产生更优的方案,不需要继续迭代,则将迭代后的规划路线作为目标车辆规划路线即可。
[0167]
s206、当迭代后的规划路线与迭代前的规划路线相同时,将迭代后的规划路线确定为目标车辆规划路线。
[0168]
在经过多次迭代之后,若迭代后的规划路线与迭代前的规划路线相同,表明该次迭代没有产生更优的方案,不需要继续迭代,则将迭代后的规划路线作为目标车辆规划路线即可。
[0169]
为了更好实施本技术实施例中车辆规划方法,在车辆规划方法基础之上,本技术实施例中还提供一种车辆规划装置,如图3所示,车辆规划装置300包括:
[0170]
第一获取单元301,用于获取初始规划路线,其中,初始规划路线包括多个车辆完成多个运输任务行驶的路线,初始规划路线满足预设约束条件;
[0171]
第二获取单元302,用于获取多个第一任务拼接操作,其中,第一任务拼接操作用于将待拼接车辆的运输任务拼接至被拼接车辆上,待拼接车辆和被拼接车辆为初始规划路线中的两个车辆;
[0172]
过滤单元303,用于将多个第一任务拼接操作中满足预设过滤条件的第一任务拼接操作过滤,得到多个第二任务拼接操作;
[0173]
任务拼接单元304,用于基于多个第二任务拼接操作对初始规划路线进行运输任务拼接,得到多个邻域规划路线;
[0174]
更新迭代单元305,用于若多个邻域规划路线中满足预设优化目标的邻域规划路线与初始规划路线不同,则更新第一任务拼接操作并将满足预设优化目标的邻域规划路线确定为初始规划路线进行迭代更新,得到迭代后的规划路线;
[0175]
确定单元306,当迭代后的规划路线与迭代前的规划路线相同时,将迭代后的规划路线确定为目标车辆规划路线。
[0176]
可选地,过滤单元303,用于:
[0177]
获取第一任务拼接操作中被拼接车辆的最后一个运输任务和待拼接车辆的第一个运输任务;
[0178]
判断被拼接车辆的最后一个运输任务的任务结束时间是否早于待拼接车辆的第一个运输任务的任务开始时间;
[0179]
若被拼接车辆的最后一个运输任务的任务结束时间不早于待拼接车辆的第一个运输任务的任务开始时间,则确定第一任务拼接操作不满足预设过滤条件。
[0180]
可选地,过滤单元303,用于:
[0181]
若被拼接车辆的最后一个运输任务的任务结束时间早于待拼接车辆的第一个运输任务的任务开始时间,则判断被拼接车辆的车辆条件是否满足待拼接车辆上的运输任务;
[0182]
若被拼接车辆的车辆条件不满足待拼接车辆上的运输任务,则确定第一任务拼接操作不满足预设过滤条件;若被拼接车辆的车辆条件满足待拼接车辆上的运输任务,则确定第一任务拼接操作满足预设过滤条件。
[0183]
可选地,更新迭代单元305,用于:
[0184]
获取多个邻域规划路线的车辆使用总数量;
[0185]
若多个邻域规划路线中仅存在一个车辆使用总数量最小的邻域规划路线,则将车辆使用总数量最小的邻域规划路线确定为满足预设优化目标的邻域规划路线;
[0186]
若多个邻域规划路线中存在至少两个车辆使用总数量最小的邻域规划路线,则获取至少两个车辆使用总数量最小的邻域规划路线的车辆行驶总里程;
[0187]
将至少两个车辆使用总数量最小的邻域规划路线中的车辆行驶总里程最小的邻域规划路线确定为满足预设优化目标的邻域规划路线;
[0188]
若多个邻域规划路线中满足预设优化目标的邻域规划路线与初始规划路线不同,
则更新第一任务拼接操作并将满足预设优化目标的邻域规划路线确定为初始规划路线进行迭代更新,得到迭代后的规划路线。
[0189]
可选地,第二获取单元302,用于:
[0190]
对初始规划路线中的多个车辆进行遍历组合,得到多个第三任务拼接操作;
[0191]
从多个第三任务拼接操作中随机获取多个第一任务拼接操作,其中,第一任务拼接操作的数量小于第三任务拼接操作的数量。
[0192]
可选地,第一获取单元301,用于:
[0193]
获取运输任务信息、车辆信息、网点信息以及预设约束条件;
[0194]
利用首次适应算法基于运输任务信息、车辆信息、网点信息以及预设约束条件进行路线规划,得到初始规划路线。
[0195]
可选地,预设约束条件包括以下至少一种:
[0196]
车辆行驶总时间不超过车辆工作时长阈值;车辆行驶总时间不超过订单到达时间;车辆完成返程运输任务时的载重为零;车辆完成后一运输任务时的载重不小于车辆完成前一运输任务时的载重和订单重量之和;车辆完成后一运输任务时的载货体积不小于车辆完成前一运输任务时的载货体积和订单体积之和;车辆完成订单时的载重不超过车辆载重阈值;车辆完成订单时的体积不超过车辆体积阈值。
[0197]
本技术实施例还提供一种计算机设备,其集成了本技术实施例所提供的任一种车辆规划装置,计算机设备包括:
[0198]
一个或多个处理器;
[0199]
存储器;以及
[0200]
一个或多个应用程序,其中一个或多个应用程序被存储于存储器中,并配置为由处理器执行上述车辆规划方法实施例中任一实施例中的车辆规划方法中的步骤。
[0201]
如图4所示,其示出了本技术实施例所涉及的计算机设备的结构示意图,具体来讲:
[0202]
该计算机设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
[0203]
处理器401是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理器401可包括一个或多个处理核心;处理器401可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
[0204]
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
[0205]
计算机设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0206]
该计算机设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
[0207]
尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
[0208]
获取初始规划路线,其中,初始规划路线包括多个车辆完成多个运输任务行驶的路线,初始规划路线满足预设约束条件;获取多个第一任务拼接操作,其中,第一任务拼接操作用于将待拼接车辆的运输任务拼接至被拼接车辆上,待拼接车辆和被拼接车辆为初始规划路线中的两个车辆;将多个第一任务拼接操作中满足预设过滤条件的第一任务拼接操作过滤,得到多个第二任务拼接操作;基于多个第二任务拼接操作对初始规划路线进行运输任务拼接,得到多个邻域规划路线;若多个邻域规划路线中满足预设优化目标的邻域规划路线与初始规划路线不同,则更新第一任务拼接操作并将满足预设优化目标的邻域规划路线确定为初始规划路线进行迭代更新,得到迭代后的规划路线;当迭代后的规划路线与迭代前的规划路线相同时,将迭代后的规划路线确定为目标车辆规划路线。
[0209]
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
[0210]
为此,本技术实施例提供一种计算机可读存储介质,该存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。其上存储有计算机程序,计算机程序被处理器进行加载,以执行本技术实施例所提供的任一种车辆规划方法中的步骤。例如,计算机程序被处理器进行加载可以执行如下步骤:
[0211]
获取初始规划路线,其中,初始规划路线包括多个车辆完成多个运输任务行驶的路线,初始规划路线满足预设约束条件;获取多个第一任务拼接操作,其中,第一任务拼接操作用于将待拼接车辆的运输任务拼接至被拼接车辆上,待拼接车辆和被拼接车辆为初始规划路线中的两个车辆;将多个第一任务拼接操作中满足预设过滤条件的第一任务拼接操作过滤,得到多个第二任务拼接操作;基于多个第二任务拼接操作对初始规划路线进行运
输任务拼接,得到多个邻域规划路线;若多个邻域规划路线中满足预设优化目标的邻域规划路线与初始规划路线不同,则更新第一任务拼接操作并将满足预设优化目标的邻域规划路线确定为初始规划路线进行迭代更新,得到迭代后的规划路线;当迭代后的规划路线与迭代前的规划路线相同时,将迭代后的规划路线确定为目标车辆规划路线。
[0212]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对其他实施例的详细描述,此处不再赘述。
[0213]
具体实施时,以上各个单元或结构可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元或结构的具体实施可参见前面的方法实施例,在此不再赘述。
[0214]
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
[0215]
以上对本技术实施例所提供的一种车辆规划方法及装置进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本技术的限制。

技术特征:
1.一种车辆规划方法,其特征在于,包括:获取初始规划路线,其中,所述初始规划路线包括多个车辆完成多个运输任务行驶的路线,所述初始规划路线满足预设约束条件;获取多个第一任务拼接操作,其中,所述第一任务拼接操作用于将待拼接车辆的运输任务拼接至被拼接车辆上,所述待拼接车辆和所述被拼接车辆为所述初始规划路线中的两个车辆;将多个所述第一任务拼接操作中满足预设过滤条件的第一任务拼接操作过滤,得到多个第二任务拼接操作;基于多个第二任务拼接操作对初始规划路线进行运输任务拼接,得到多个邻域规划路线;若所述多个邻域规划路线中满足预设优化目标的邻域规划路线与所述初始规划路线不同,则更新第一任务拼接操作并将满足预设优化目标的邻域规划路线确定为所述初始规划路线进行迭代更新,得到迭代后的规划路线;当迭代后的规划路线与迭代前的规划路线相同时,将迭代后的规划路线确定为目标车辆规划路线。2.根据权利要求1所述的车辆规划方法,其特征在于,所述将多个所述第一任务拼接操作中满足预设过滤条件的第一任务拼接操作过滤,得到多个第二任务拼接操作,包括:获取第一任务拼接操作中被拼接车辆的最后一个运输任务和待拼接车辆的第一个运输任务;判断被拼接车辆的最后一个运输任务的任务结束时间是否早于待拼接车辆的第一个运输任务的任务开始时间;若被拼接车辆的最后一个运输任务的任务结束时间不早于待拼接车辆的第一个运输任务的任务开始时间,则确定所述第一任务拼接操作不满足预设过滤条件。3.根据权利要求2所述的车辆规划方法,其特征在于,所述车辆规划方法包括:若被拼接车辆的最后一个运输任务的任务结束时间早于待拼接车辆的第一个运输任务的任务开始时间,则判断被拼接车辆的车辆条件是否满足待拼接车辆上的运输任务;若被拼接车辆的车辆条件不满足待拼接车辆上的运输任务,则确定所述第一任务拼接操作不满足预设过滤条件;若被拼接车辆的车辆条件满足待拼接车辆上的运输任务,则确定所述第一任务拼接操作满足预设过滤条件。4.根据权利要求1所述的车辆规划方法,其特征在于,所述若所述多个邻域规划路线中满足预设优化目标的邻域规划路线与所述初始规划路线不同,则更新第一任务拼接操作并将满足预设优化目标的邻域规划路线确定为所述初始规划路线进行迭代更新,得到迭代后的规划路线,之前,包括:获取多个邻域规划路线的车辆使用总数量;若多个邻域规划路线中仅存在一个车辆使用总数量最小的邻域规划路线,则将车辆使用总数量最小的邻域规划路线确定为满足预设优化目标的邻域规划路线;若多个邻域规划路线中存在至少两个车辆使用总数量最小的邻域规划路线,则获取至少两个车辆使用总数量最小的邻域规划路线的车辆行驶总里程;将至少两个车辆使用总数量最小的邻域规划路线中的车辆行驶总里程最小的邻域规
划路线确定为满足预设优化目标的邻域规划路线;若多个邻域规划路线中满足预设优化目标的邻域规划路线与所述初始规划路线不同,则更新第一任务拼接操作并将满足预设优化目标的邻域规划路线确定为所述初始规划路线进行迭代更新,得到迭代后的规划路线。5.根据权利要求1所述的车辆规划方法,其特征在于,所述获取多个第一任务拼接操作,包括:对所述初始规划路线中的多个车辆进行遍历组合,得到多个第三任务拼接操作;从多个所述第三任务拼接操作中随机获取多个第一任务拼接操作,其中,所述第一任务拼接操作的数量小于所述第三任务拼接操作的数量。6.根据权利要求1所述的车辆规划方法,其特征在于,所述获取初始规划路线,包括:获取运输任务信息、车辆信息、网点信息以及所述预设约束条件;利用首次适应算法基于所述运输任务信息、所述车辆信息、所述网点信息以及所述预设约束条件进行路线规划,得到初始规划路线。7.根据权利要求1所述的车辆规划方法,其特征在于,所述预设约束条件包括以下至少一种:车辆行驶总时间不超过车辆工作时长阈值;车辆行驶总时间不超过订单到达时间;车辆完成返程运输任务时的载重为零;车辆完成后一运输任务时的载重不小于车辆完成前一运输任务时的载重和订单重量之和;车辆完成后一运输任务时的载货体积不小于车辆完成前一运输任务时的载货体积和订单体积之和;车辆完成订单时的载重不超过车辆载重阈值;车辆完成订单时的体积不超过车辆体积阈值。8.一种车辆规划装置,其特征在于,所述车辆规划装置包括:第一获取单元,用于获取初始规划路线,其中,所述初始规划路线包括多个车辆完成多个运输任务行驶的路线,所述初始规划路线满足预设约束条件;第二获取单元,用于获取多个第一任务拼接操作,其中,所述第一任务拼接操作用于将待拼接车辆的运输任务拼接至被拼接车辆上,所述待拼接车辆和所述被拼接车辆为所述初始规划路线中的两个车辆;过滤单元,用于将多个所述第一任务拼接操作中满足预设过滤条件的第一任务拼接操作过滤,得到多个第二任务拼接操作;任务拼接单元,用于基于多个第二任务拼接操作对初始规划路线进行运输任务拼接,得到多个邻域规划路线;更新迭代单元,用于若所述多个邻域规划路线中满足预设优化目标的邻域规划路线与所述初始规划路线不同,则更新第一任务拼接操作并将满足预设优化目标的邻域规划路线确定为所述初始规划路线进行迭代更新,得到迭代后的规划路线;确定单元,当迭代后的规划路线与迭代前的规划路线相同时,将迭代后的规划路线确定为目标车辆规划路线。9.一种计算机设备,其特征在于,所述计算机设备包括:一个或多个处理器;存储器;以及一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置
为由所述处理器执行以实现权利要求1至7中任一项所述的车辆规划方法。10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行权利要求1至7任一项所述的车辆规划方法中的步骤。

技术总结
本申请提供一种车辆规划方法及装置,该车辆规划方法包括:获取初始规划路线;获取多个第一任务拼接操作;将多个第一任务拼接操作中满足预设过滤条件的第一任务拼接操作过滤,得到多个第二任务拼接操作;基于多个第二任务拼接操作对初始规划路线进行运输任务拼接,得到多个邻域规划路线;若多个邻域规划路线中满足预设优化目标的邻域规划路线与初始规划路线不同,则更新第一任务拼接操作并将满足预设优化目标的邻域规划路线确定为初始规划路线进行迭代更新,得到迭代后的规划路线;当迭代后的规划路线与迭代前的规划路线相同时,将迭代后的规划路线确定为目标车辆规划路线。本申请能够更快生成邻域规划路线进行迭代,从而提高车辆规划的效率。车辆规划的效率。车辆规划的效率。


技术研发人员:潘欣 陈斌辉 柯俞嘉 吴哲 杨安琪 刘艺 陈晖 王本玉 廖智鹏
受保护的技术使用者:顺丰科技有限公司
技术研发日:2022.03.28
技术公布日:2023/10/15
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐