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

一种多车辆装卸货路径规划方法、装置、设备及存储介质与流程

2022-02-22 07:43:22 来源:中国专利 TAG:

20:00,其中,在该服务时间窗范围内,12:00-14:00、10:00-10:10和18:00-18:30为暂停服务的时间(由于午休、临时休息或用餐而暂停服务),则12:00-14:00、10:00-10:10和18:00-18:30称为该路径节点的休业时间窗。车辆停留时间窗是由车辆到达路径节点的时刻和离开该路径节点的时刻构成的,例如,车辆到达某一路径节点的时刻为14:00,离开该路径节点的时刻为14:30,则在该路径节点车辆停留时间窗为14:00-14:30。
9.本技术中的规划,可以理解为根据已知的多个订单信息(包括多个装货路径节点、多个卸货路径节点)和服务信息(主要是时间信息)进行路径规划和时间规划,且路径规划和时间规划不是分开进行的,而是相辅相成、互相约束的。规划的过程实质是运用某个算法或某些算法对路径节点进行排列,使组成路径的按一定顺序排列的多个路径节点满足服务信息和约束条件(约束条件是根据服务信息计算得到的)。
10.可以看到,本技术实施例中,考虑了装货地点和卸货地点的服务时间窗、休业时间窗,服务器根据订单信息、订单信息中各个装货地点和各个卸货地点的服务时间窗、休业时间窗进行规划,获得多个待分配车辆中的每个车辆对应的路径的指示信息、路径对应的至少一个订单信息和路径上的各个路径节点的车辆停留时间窗,实施本技术实施例,能够避免现有技术中忽略装货地点和卸货地点的休业时间窗问题,避免因时间和路径安排不合理,导致配送效率低的问题,提升了用户服务质量,同时降低了货物运输时间成本以及车辆消耗成本。
11.基于第一方面,在可能的实施例中,所述全部路径节点的服务信息还包括所述全部路径节点中各个装货地点的最早装货时刻和各个卸货地点的最晚卸货时刻;在所述服务器根据所述多个订单信息和所述全部路径节点的服务信息进行规划之前,所述方法还包括:所述服务器对各个订单信息中的所述装货地点和所述卸货地点进行处理,获得所述各个订单信息中由所述装货地点至所述卸货地点的运输时间;所述服务器根据所述各个订单信息中的所述运输时间、所述最早装货时刻、所述最晚卸货时刻和预设装卸货服务时间,获得所述各个装货地点的最晚装货时刻和所述各个卸货地点的最早卸货时刻;所述服务器根据第一信息,获得所述各个装货地点的装货时间窗和所述各个卸货地点的卸货时间窗;所述第一信息包括所述各个装货地点的最早装货时刻和最晚装货时刻、所述各个卸货地点的最早卸货时刻和最晚卸货时刻;相应的,所述服务器根据所述多个订单信息和所述全部路径节点的服务信息进行规划,获得规划信息,包括:所述服务器根据所述多个订单信息、所述全部路径节点的服务信息、所述各个装货地点的装货时间窗和所述各个卸货地点的卸货时间窗进行规划,获得规划信息。
12.其中,装货时间窗为装货的最佳时间范围,卸货时间窗为卸货的最佳时间范围,需要说明的是,这里的装货时间窗可以不包含装货服务时间,即已开始装货但装货不一定完成,也可以包含装货服务时间,即已开始装货且装货完成,同理,卸货时间窗可以不包含卸货服务时间,即已开始卸货但卸货不一定完成,也可以包含卸货服务时间,即已开始卸货且卸货完成,装卸货服务时间可根据实际应用场景进行设置,比如可以是10分钟或30分钟。
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.图1为本技术实施例提供的一种系统架构示意图;
47.图2为本技术实施例提供的一种多车辆装卸货路径规划方法示意图;
48.图3为本技术实施例提供的某一个路径节点的服务时间窗和休业时间窗的关系示例图;
49.图4为本技术实施例提供的一种规划信息的示意图;
50.图5为本技术实施例提供的又一种规划信息的示意图;
51.图6为本技术实施例提供的一种多车辆装卸货路径规划方法示意图;
52.图7为本技术实施例提供的装货时间窗、卸货时间窗、装货服务时间、卸货服务时间之间关系的示例图;
53.图8为本技术实施例提供的某一订单信息中的装货时间窗和卸货时间窗的示意图;
54.图9为本技术实施例提供的车辆监控界面的示意图;
55.图10为本技术实施例提供的一种多车辆装卸货路径规划方法示意图;
56.图11为本技术实施例提供的一种多车辆装卸货路径规划方法对应的部分流程示意图;
57.图12为本技术实施例提供的一种多车辆装卸货路径规划方法示意图;
58.图13为本技术实施例提供的部分场景示意图;
59.图14为本技术实施例提供的一种多车辆装卸货路径规划方法对应的部分流程示意图;
60.图15为本技术实施例提供的应用结果示意图;
61.图16为本技术实施例提供的一种多车辆装卸货路径规划装置示意图;
62.图17为本技术实施例提供的一种服务器结构示意图。
具体实施方式
63.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,需要说明的是,在本技术实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
64.需要说明的是,当在本说明书和所附权利要求书中使用时,术语“包括”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列单元/器件的系统、产品或者装置没有限定于已列出的单元/器件,而是可选地还包括没有列出的单元/器件,或者还可选地包括这些产品或者装置固有的其他单元/器件。
65.还应当理解,术语“在

的情况下”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”或“如果”。
66.还需要说明的是,本说明书和权利要求书中的术语“第一”“第二”“第三”“第四”等用于区别不同的对象,而并非用于描述特定的顺序。
67.参考图1,图1为本技术实施例提供的一种系统架构示意图,该系统架构包括服务器和待分配车辆,待分配车辆包括待分配车辆1、待分配车辆2,

待分配车辆n。其中,待分配车辆可以为电动车、面包车、货车等任意可以运输货物的车辆,本技术对车辆类型不做限定。
68.服务器用于获取全部订单信息和全部路径节点的服务信息,每个订单信息包括装货地点和卸货地点,每个路径节点为装货地点或卸货地点,服务器还用于根据获取的全部
订单信息和全部路径节点的服务信息进行规划,并将规划信息分别发送至多个待分配车辆。每个待分配车辆用于接收服务器分别发送的规划信息,其中每个车辆的接收到的规划信息包括该待分配车辆对应的路径的指示信息、该路径对应的至少一个订单信息和该路径上各个路径节点的车辆停留时间窗,并根据对应的路径的指示信息生成对应的路径,并显示该路径、该路径对应的至少一个订单信息和该路径上各个路径节点的车辆停留时间窗。每个待分配车辆的司机或配送员按照显示的路径信息和时间信息进行货物的配送或运输。
69.需要说明的是,服务器可以将规划信息分别发送至多个待分配车辆的车辆终端上,每个车辆终端接收到对应的规划信息后,根据对应的路径的指示信息生成对应的路径,并通过车辆终端的显示器将对应的路径、该路径对应的至少一个订单信息和该路径上各个路径节点的车辆停留时间窗显示出来;或者,服务器也可以将规划信息分别发送至每个车辆的司机或配送员的终端设备(例如,手机、平板电脑、笔记本等)上,终端设备根据接收到的规划信息中的路径指示信息生成对应的路径,并将对应的路径、该路径对应的至少一个订单信息和该路径上各个路径节点的车辆停留时间窗显示出来。
70.还需要说明的是,服务器规划获得的规划信息的形式可以为如图1所示的形式,还可以为如图5所示的形式,具体可参考图5的描述,同理,图5所示的是一个待分配车辆的规划信息,而服务器获得的规划信息是多个待分配车辆的规划信息,也就是服务器中存在多个图5所示的规划信息。服务器中的规划信息的形式还可以为如图4所示的形式,具体可参考图4的描述,不同的是图4所示的是一个待分配车辆的规划信息,而服务器获得的规划信息是多个待分配车辆的规划信息,也就是服务器中的规划信息包括多条路径轨迹,每一条路径轨迹对应着至少一个订单信息,且在每一条路径轨迹的各个路径节点上标记有车辆到达该路径节点的时刻和离开该路径节点的时刻。服务器中的规划信息的形式还可以为其他形式,本技术不做具体限定。
71.还需要说明的是,每一个待分配车辆接收到服务器发送的规划信息的形式可以为图1中形式,也可以为如图4或图5或图9中形式,本技术不做具体限定。
72.基于上述系统架构,本技术实施例提供了一种多车辆装卸货路径规划方法,参考图2,该方法包括但不限于以下s101~s103中的描述。
73.s101、服务器获取多个订单信息。
74.服务器获取多个订单信息,每个订单信息包括装货地点和卸货地点,因此多个订单信息中包括多个装货地点、多个卸货地点。需要说明的是,多个订单信息中有可能存在相同的装货地点或者相同的卸货地点。
75.s102、服务器获取多个订单信息对应的全部路径节点中的每个路径节点的服务时间窗和休业时间窗。
76.每个订单信息中包括两个路径节点,其中每个路径节点为装货地点或卸货地点,服务器获取多个订单信息相对应的全部路径节点的服务信息,每个路径节点的服务信息包括每个路径接点的服务时间窗和休业时间窗,其中,每个路径节点的服务时间窗为该路径节点(装货地点或卸货地点)对外营业的时间或提供服务的时间,每个路径节点的休业时间窗为位于该路径节点的服务时间窗范围内的暂停服务的时间。
77.举例来说,参考图3所示,图3为本技术实施例提供的某一个路径节点的服务时间窗和休业时间窗关系的示例图,对于该路径节点来说,能够提供服务的时间为8:00-20:00,
即该路径节点的服务时间窗为8:00-20:00,其中,在该服务时间窗范围内,12:00-14:00、10:00-10:10和18:00-18:30为暂停服务的时间(由于午休、临时休息或用餐而暂停服务),则12:00-14:00、10:00-10:10和18:00-18:30称为该路径节点的休业时间窗。
78.s103、服务器根据多个订单信息、各个路径节点的服务时间窗和休业时间窗进行规划,获得规划信息。
79.服务器根据多个订单信息和多个订单信息对应的全部路径节点中各个路径节点的服务时间窗、休业时间窗进行规划,获得规划信息,规划信息包括多个待分配车辆中的每个车辆对应的路径的指示信息、该路径对应的至少一个订单信息和该路径上的各个路径节点的车辆停留时间窗,其中,路径的指示信息可以为路径轨迹,也可以为路径节点信息等。其中,全部路径节点分布在多个待分配车辆对应的多条路径上,每条路径上的路径节点各不相同。每个路径节点的车辆停留时间窗是由车辆到达该路径节点的时刻和车辆离开该路径节点的时刻构成的,对于装货地点来说,车辆到达路径节点的时刻也就是开始装货的时刻,车辆离开路径节点的时刻也就是装货结束的时刻,对于卸货地点来说,车辆到达路径节点的时刻也就是开始卸货的时刻,车辆离开路径节点的时刻也就是卸货结束的时刻。
80.在一种实施例中,可以根据多个订单信息和全部路径节点的服务信息进行算法操作,从而获得规划信息,例如算法可以是大邻域搜索算法及其初始解生成采用的所罗门solomon算法等。在算法的实现过程中,可以根据多个订单信息设置目标函数,根据各个路径节点的服务信息设置约束条件,用约束条件约束目标函数,通过调节目标函数中的决策变量的取值,来改变目标函数的值,当决策变量取某一值时,目标函数存在最优值,根据目标函数的最优值获得规划路径。其中,目标函数可以为总时间成本最低或总的车辆数最少或总路程最短等等。
81.在一种实施例中,服务器生成的规划信息可以为多个待分配车辆中的每个车辆对应的路径的指示信息、该路径对应的至少一个订单信息和该路径上的各个路径节点的车辆停留时间窗,规划信息的形式可以为多个待分配车辆中的每个车辆对应的多个路径节点信息,参考图4所示,图4为本技术提供的某一个车辆的规划信息的形式的示例图,该车辆对应的多个路径节点信息包括:按一定顺序排列的多个路径节点、车辆到达和离开各个路径节点的时刻、订单信息。需要说明的是,在图4中,一个订单信息对应着一个订单id,一个订单id对应着一个装货路径节点和一个卸货路径节点(图4中,使用同一编号表示同一路径节点,不同路径节点用不同编号表示),操作中的pickup表示装货,delivery表示卸货。
82.在又一种可能的实施例中,规划信息的形式也可以为多个待分配车辆中的每个车辆对应的路径的指示信息、每个路径上各个路径节点的车辆到达时刻和离开时刻、每个路径对应的订单信息,参考图5所示,图5为本技术提供的某一个车辆对应的路径和对应的订单信息的示意图,车辆从配送中心出发,在将货物配送完毕之后,再返回配送中心,其中车辆对应的路径用具有指示方向的箭头和多个路径节点按一定顺序联接起来表示,图5中的路径节点o表示车辆配送中心,每辆车均是从车辆配送中心发出,最后均返回至配送中心o。
83.可以看到,本技术实施例提供了一种多车辆装卸货路径规划方法,首先,获取多个订单信息和多个订单信息中各个路径节点的服务信息,其中,每个路径节点的服务信息包括每个路径节点的服务时间窗和休业时间窗,然后根据多个订单信息以及各个路径节点的服务时间窗、休业时间窗进行规划,获得规划信息。本技术实施例中,将订单分配问题转化
为多个路径节点的路径规划问题,考虑了各个装货地点和各个卸货地点的服务时间窗和休业时间窗,能够更合理地安排配送时间及配送路径,避免了因路径不合理和配送时间安排不合理,而造成消耗成本的增加(消耗成本包括时间成本、使用车辆数量成本、人力成本等),因此在实际应用中,多个车辆直接根据规划信息中的对应路径和路径上各个路径节点的车辆停留时间窗进行货物的配送,能够提高配送效率,降低消耗成本,提升用户服务体验。
84.本技术实施例还提供了一种多车辆装卸货路径规划方法,参考图6,该方法包括但不限于以下s201~s207描述的内容。
85.s201、服务器获取多个订单信息。
86.参考s101中的描述,为了说明书的简洁,在此不再赘述。
87.s202、服务器获取多个订单信息对应的全部路径节点的服务信息。
88.服务器基于多个订单信息,获取全部路径节点的服务信息,全部路径节点的服务信息包括:多个订单信息对应的各个路径节点的服务时间窗、各个路径节点的休业时间窗、多个订单信息中的各个装货地点的最早装货时刻和多个订单信息中的各个卸货地点的最晚卸货时刻。其中,每个路径节点的服务时间窗为该路径节点(装货地点或卸货地点)对外营业的时间或提供服务的时间,每个路径节点的休业时间窗为位于该路径节点的服务时间窗范围内的暂停服务的时间。最晚卸货时刻是指对于一个订单而言允许的最晚的卸货时刻,最早装货时刻是指对于一个订单而言允许的最早的装货时刻。参考表1所示,表1中列出了对于每一个订单信息而言,需要获取的服务信息。
89.表1
[0090][0091]
s203、服务器根据各个装货地点的最早装货时刻和各个卸货地点的最晚卸货时刻,获得各个装货地点的装货时间窗和各个卸货地点的卸货时间窗。
[0092]
首先,每个订单信息中包括一个装货地点和一个卸货地点,服务器根据各个订单信息中的装货地点和卸货地点进行处理,获得车辆各个订单信息中由装货地点至卸货地点的运输时间。例如,处理方式可以是,将每个订单信息中对应的装货地点和卸货地点输入某一个具有计算能力的地图软件中,该地图软件根据输入的装货地点和卸货地点,以及本地存储的地图,经计算获得由装货地点至卸货地点的运输时间。
[0093]
然后,服务器根据第一信息,获得多个订单信息中的各个装货地点的最晚装货时刻和各个卸货地点的最早卸货时刻,第一信息包括多个订单信息中由装货地点至卸货地点的运输时间、最早装货时刻、最晚卸货时刻和预设装卸货服务时间,预设装卸货服务时间为装货所需时长或卸货所需时长或装卸货共需时长,该预设装卸货服务时间是一个参数,具体可根据实际应用场景进行设定;最晚装货时刻是指对于一个订单而言最晚的装货时刻,最早装货时刻是指对于一个订单而言最早的卸货时刻。
[0094]
最后,根据多个订单信息中各个装货地点的最早装货时刻、最晚装货时刻和各个卸货地点的最早卸货时刻、最晚卸货时刻,获得多个订单信息中各个装货地点的装货时间
窗和各个卸货地点的卸货时间窗。每个订单信息中,装货地点的最早装货时刻和最晚装货时刻构成该装货地点的装货时间窗,卸货地点的最早卸货时刻和最晚卸货时刻构成该卸货地点的卸货时间窗。需要说明的是,在本技术中,装货时间窗和卸货时间窗是根据已知的最早装货时刻和最晚卸货时刻经计算获得的最佳装货时间和最佳卸货时间。
[0095]
需要说明的是,本技术中的装货时间窗中可以包括装货服务时间(参考图7中的(a)所示),也就是该装货时间窗中包括从开始装货至装货结束的时间;也可以不包括装货服务时间(参考图7中的(b)所示),也就是说在装货时间窗范围内开始装货即可,装货过程不一定能完成,这种情况也可称为开始装货时间窗(在开始装货时间窗范围内,开始装货即可)。同理,本技术中的卸货时间窗中可以包括卸货服务时间(参考图7中的(c)所示),也就是该卸货时间窗中包括从开始卸货至卸货结束的时间;也可以不包括卸货服务时间(参考图7中的(d)所示),也就是说在卸货时间窗范围内开始卸货即可,卸货过程不一定能完成,这种情况也可称为开始卸货时间窗(在开始卸货时间窗范围内,开始卸货即可)。
[0096]
为了更加清楚地理解该步骤中装货时间窗和卸货时间窗的获取方法,下面以多个订单信息中的某一个订单信息为例,描述其过程。
[0097]
已知某一订单信息中装货地点的最早装货时刻ept和卸货地点的最晚卸货时刻ldt,则最晚装货时刻lpt为:
[0098]
lpt=max{ept,ldt-d(p,d)-st}
ꢀꢀ
(1)
[0099]
最早卸货时刻edt为:
[0100]
edt=min{ldt,ept d(p,d) st}
ꢀꢀ
(2)
[0101]
根据最早装货时刻ept和最晚装货时刻lpt,确定出该订单的装货时间窗,根据最早卸货时刻edt和最晚卸货时刻ldt,确定出该订单的卸货时间窗,因此,得到如图8示意图所示的装货时间窗和卸货时间窗,其中,d(p,d)表示该订单中由装货地点至卸货地点的运输时间,st为装货服务时间。
[0102]
s204、服务器根据多个订单信息、全部路径节点的服务信息、各个装货地点的装货时间窗和各个卸货地点的卸货时间窗进行规划,获得规划信息。
[0103]
服务器根据多个订单信息、全部路径节点的服务信息、各个装货地点的装货时间窗和各个卸货地点的卸货时间窗进行规划,获得规划信息,规划信息包括多个待分配车辆中的每个车辆对应的路径的指示信息、该路径对应的至少一个订单信息和该路径上的各个路径节点的车辆停留时间窗。其中,全部路径节点分布在多个待分配车辆对应的多条路径上,每条路径上的路径节点各不相同。每个路径节点的车辆停留时间窗是由车辆到达该路径节点的时刻和车辆离开该路径节点的时刻构成的,对于装货地点来说,车辆到达路径节点的时刻也就是开始装货的时刻,车辆离开路径节点的时刻也就是装货结束的时刻,对于卸货地点来说,车辆到达路径节点的时刻也就是开始卸货的时刻,车辆离开路径节点的时刻也就是卸货结束的时刻。
[0104]
本实施例中,规划信息形式可以参考s103中关于规划信息形式的内容描述,为了说明书的简洁,本实施例在此不再赘述。
[0105]
s205、服务器将规划信息分别发送至多个待分配车辆。
[0106]
服务器将规划信息分别发送至多个待分配车辆,相应的,每个待分配车辆接收到服务器发送的该车辆对应的规划信息,该车辆对应的规划信息包括该车辆对应的路径的指
示信息、该路径对应的订单信息和该路径上各个路径节点的车辆停留时间窗。
[0107]
在一种可能的实施例中,规划信息的形式也可以为每个车辆对应的路径、该路径对应的至少一个订单信息和该路径上的各个路径节点的车辆停留时间窗。这种情况下,服务器将规划信息分别发送至多个待分配车辆后,每个车辆可直接根据获得的规划信息进行货物的配送或运输。
[0108]
s206、多个待分配车辆中的每个车辆根据路径的指示信息生成对应的路径。
[0109]
多个待分配车辆中的每个车辆的车辆终端或设备终端接收到对应的规划信息后,根据规划信息中的路径的指示信息生成对应的路径,生成对应的路径的方式本技术不做具体限定。
[0110]
s207、多个待分配车辆中的每个车辆将对应的路径、该路径对应的订单信息和该路径上各个路径节点的车辆停留时间窗显示出来。
[0111]
需要说明的是,每个待分配车辆的车辆终端上安装有显示器,显示器用于显示该车辆对应的路径、该路径对应的订单信息和该路径上各个路径节点的车辆停留时间窗,以使司机或配送员按照显示的路径进行货物的配送,或者,该车辆对应的路径、该路径对应的订单信息和该路径上各个路径节点的车辆停留时间窗也可以通过每个车辆对应的司机或配送员的终端设备(可以为手机、平板、笔记本或其他可用于显示的电子设备),以使司机或配送员按照终端设备显示的路径进行货物的配送。其中,对应的路径、该路径对应的订单信息和该路径上各个路径节点的车辆停留时间窗的显示结果参考图9所示。
[0112]
需要说明的是,相对于图2对应的实施例来说,本实施例考虑的因素增加了:多个订单信息中各个装货地点的装货时间窗和各个卸货地点的卸货时间窗,在实际应用中,考虑了货物采购商的休息时间和供应商的休息时间(即休业时间窗),使规划信息中每个车辆在各个路径节点的车辆停留时间窗与该路径节点的休业时间窗没有重叠或重叠尽可能小。
[0113]
可以看到,本实施例中,考虑了多个订单信息中各个路径节点的服务时间窗和休业时间窗,获得了多个订单信息中的每个订单信息中装货地点的装货时间窗和卸货地点的卸货时间窗,在实际应用中,能够根据采购商的时间需求和供应商的时间需求,更加合理规划路径和配送时间,提高服务质量,提升用户服务质量。
[0114]
本技术实施例还提供了一种多车辆装卸货路径规划方法,参考图10所示,该方法包括但不限于以下s301~s307描述的内容。
[0115]
s301、服务器获取多个订单信息。
[0116]
参考s201中的描述,为了说明书的简洁,在此不再赘述。
[0117]
s302、服务器获取多个订单信息对应的全部路径节点的服务信息。
[0118]
参考s202中的描述,为了说明书的简洁,在此不再赘述。
[0119]
s303、服务器根据各个装货地点的最早装货时刻和各个卸货地点的最晚卸货时刻,获得各个装货地点的装货时间窗和各个卸货地点的卸货时间窗。
[0120]
参考s203中的描述,为了说明书的简洁,在此不再赘述。
[0121]
s304、服务器根据多个订单信息中的各个装货地点的最早装货时刻,将多个订单信息划分至多个运输时间段中。
[0122]
服务器根据各个订单信息中装货地点的最早装货时刻,将多个订单信息划分至多个运输时间段中,每个运输时间段中包括多个订单信息中的部分订单信息,这样,在订单较
多的情况下,将全部订单按照时间先后顺序分为多个时间段分别配送,减轻配送员或司机的配送压力。
[0123]
例如,按照最早装货时刻将全部订单划分至两个运输时间段中,一个运输时间段为8:30-18:00(又可称为白班运输时间段),另一个运输时间段为20:30-6:00(又可称为夜班运输时间段),若订单的最早装货时刻在8:30-18:00范围内,则将该订单划分至白班运输时间段中,若订单的最早装货时刻在20:30-6:00范围内,则将该订单划分至夜班运输时间段中。参考表2,表2为本技术实施例提供的一种划分结果示例表。
[0124]
表2订单划分结果示例表
[0125][0126]
s305、服务器根据第二信息进行处理,获得第三信息。
[0127]
服务器根据第二信息进行处理,获得第三信息,其中,第二信息包括各个运输时间段中的每个运输时间段内的订单信息、每个运输时间段内的订单信息对应的多个路径节点的服务信息、每个运输时间段内的订单信息中的多个装货地点的装货时间窗和多个卸货地点的卸货时间窗;其中,服务信息包括各个路径节点的服务时间窗和休业时间窗(还可包括装货地点的最早装货时刻和卸货地点的最晚卸货时刻);第三信息包括与各个运输时间段中的每个运输时间段内的订单信息对应的预规划路径和预规划路径上的多个路径节点中各个路径节点的车辆停留时间窗。
[0128]
也就是说,服务器分别对每一个运输时间段内的订单信息进行处理,然后获得每个运输时间段中的订单信息对应的预规划路径和该预规划路径上的各个路径节点的车辆停留时间窗。
[0129]
s306、服务器对第三信息进行处理,获得规划信息。
[0130]
在获得每个运输时间段中的订单信息对应的预规划路径和该预规划路径上的各个路径节点的车辆停留时间窗后,再对各个运输时间段的预规划路径和该预规划路径上各个路径节点的车辆停留时间窗同时一起进行优化,获得全部订单的规划信息,规划信息包括多个待分配车辆中的每个车辆对应的路径的指示信息、路径对应的至少一个订单信息和
各个路径节点的车辆停留时间窗。
[0131]
需要说明的是,最终优化后输出的规划信息是按照运输时间段输出的,因此在进行配送或运输时,也是按照运输时间段分别配送的。
[0132]
s307、服务器将规划信息分别发送至多个待分配车辆。
[0133]
参考s205中的描述,为了说明书的简洁,在此不再赘述。
[0134]
在实际应用中,多个待分配车辆中的每个车辆根据路径的指示信息生成对应的路径,并将对应的路径、该路径对应的订单信息和该路径上各个路径节点的车辆停留时间窗显示出来,具体可参考s206、s207中的描述,为了说明书的简洁,在此不再赘述。
[0135]
为了更清楚地理解本实施例,本技术提供了部分流程示意图,参考图11所示。图11中订单100为全部的订单信息,将全部订单信息根据最早装货时刻划分至四个运输时间段中,四个运输时间段分别为第一运输时间段111、第二运输时间段112、第三运输时间段113和第四运输段114,以使每个运输时间段内有至少一个订单信息,再分别对这四个运输时间段内的订单信息进行处理,分别获得每个运输时间段内的订单信息对应的预规划信息:预规划信息121、预规划信息122、预规划信息123和预规划信息124,这里的预规划信息包括预规划路径和预规划路径对应上各个路径节点的车辆停留时间窗,最后对这四个运输时间段内的预规划信息(预规划信息121、预规划信息122、预规划信息123和预规划信息124)同时优化,获得最终的规划信息130。
[0136]
可以看到,本实施例中,将全部订单信息划分至多个运输时间段中,每个运输时间段内包括部分订单信息,这样,分别对每个运输时间段内的订单信息通过算法进行规划,分别获得每个运输时间段内的订单信息对应的预规划路径和各个路径节点的车辆停留时间窗,再将各个运输时间段的预规划路径和各个路径节点的车辆停留时间窗同时一起进行优化,获得最终的规划信息。实施本实施例,将全部订单按照时间先后顺序划分至多个运输时间段内,在配送时,可以按照划分时间段有序进行配送,避免了配送时间拥挤的情况,减轻司机或配送员的压力,同时也能够平衡车辆需求,减少所用车辆数量及消耗成本。
[0137]
本技术实施例还提供了一种多车辆装卸货路径规划方法,参考图12所示,该方法包括但不限于以下s401~s408的内容。
[0138]
s401、服务器获取多个订单信息。
[0139]
参考s301中的描述,为了说明书的简洁,在此不再赘述。
[0140]
s402、服务器获取多个订单信息对应的全部路径节点的服务信息。
[0141]
参考s302中的描述,为了说明书的简洁,在此不再赘述。
[0142]
s403、服务器根据各个装货地点的最早装货时刻和各个卸货地点的最晚卸货时刻,获得各个装货地点的装货时间窗和各个卸货地点的卸货时间窗。
[0143]
参考s303中的描述,为了说明书的简洁,在此不再赘述。
[0144]
s404、服务器根据多个订单信息中的各个装货地点的最早装货时刻,将多个订单信息划分至多个运输时间段中。
[0145]
参考s304中的描述,为了说明书的简洁,在此不再赘述。
[0146]
s405、服务器采用插入法对第二信息进行处理,获得第四信息。
[0147]
服务器采用插入法对第二信息进行处理,获得第四信息,其中第二信息包括各个运输时间段中的订单信息、该订单信息对应的多个路径节点的服务信息、该订单信息中的
装货时间窗和卸货时间窗,第四信息包括与各个运输时间段中的订单信息对应的初始路径和初始路径上的各个路径节点的车辆停留时间窗。也就是说,服务器采用插入法分别对各个运输时间段中的订单信息进行处理,获得每个运输时间段中的订单信息对应的初始路径和初始路径上的多个路径节点中各个路径节点的车辆停留时间窗。
[0148]
在一种具体实施例中,可以采用所罗门solomon插入法分别对各个运输时间段中的订单信息进行处理。采用solomon插入法对某一个运输时间段中的订单信息处理,大概步骤如下:1)初始化该运输时间段内的订单信息对应的路径;2)设置该运输时间段内未安排路径的路径节点集合为u;3)找出当前路径的最佳插入位置;4)从u中选取增加代价最小的路径节点,插入最佳插入位置;5)若无法找到满足约束条件的可行插入位置,则新建一条路径并从u中选取距离最远或代价最大的路径节点插入当前路径中;6)从u中删除刚被插入的路径节点;7)若u为空则终止,否则返回步骤3),最终,获得该运输时间段中的订单信息对应的初始路径和该初始路径上各个路径节点的车辆停留时间窗,车辆停留时间窗是由车辆到达路径节点的时刻和车辆离开该路径节点的时刻构成的。对每个运输时间段的订单信息分别采用solomon插入法进行处理,获得第四信息。
[0149]
其中,增加代价的大小可以通过目标函数来衡量,目标函数为:
[0150][0151]
min k
ꢀꢀ
(4)
[0152]
目标函数(3)表示最小化总运输时间成本,包括车辆行驶时间、车辆等待时间,目标函数(4)表示最小化车辆数k,其中,决策变量为:
[0153][0154][0155]
约束条件为:
[0156][0157][0158][0159][0160][0161][0162]
[0163][0164]
公式(7)表示车辆k离开节点i时的装货量不超过车的载重量,公式(8)表示每个节点只被一辆车服务且只服务一次,公式(9)表示每个节点只被服务一次,公式(10)表示每个节点满足流量守恒,公式(11)表示每个订单的装货点和卸货点由同一辆车服务,公式(12)表示车辆均返回车场进行交接班,公式(13)表示车辆k到达节点i的时间窗约束,公式(14)表示装货点i和卸货点l i的时间窗约束。
[0165]
上述目标函数和约束条件中的各个变量的定义参考表3所示。
[0166]
表3变量定义表
[0167][0168][0169]
需要说明的是,在插入算法的实现过程中,当待插入的路径节点与前一路径节点或后一路径节点相同的情况下,进行合并,设置同一时间开始装货或者开始卸货,以此合并
订单,达到一同装/卸货效果。
[0170]
还需要说明的是,在车辆装货的时间或卸货的时间正处于该路径节点的休业时间窗范围的情况下,需顺延至休业时间窗结束后继续开始,并补齐未完成的服务,因此在插入法的实现过程中,对车辆实际到达路径节点的时刻和离开路径节点的时刻进行了修正,修正公式参考如下:
[0171][0172]
其中,ti为车辆实际到达该路径节点i的时刻,rbti为路径节点i的开始休业时间,reti表示路径节点i的结束休业时间,通过函数(15)对车辆到达时间进行修正,可得实际到达时刻。
[0173]
根据车辆实际到达时刻,考虑到路径节点的休业时间窗,计算得到实际离开时刻:
[0174][0175]
其中,st为装货服务时间或卸货服务时间,tei为到达路径节点i后的实际离开时刻。为了便于理解,本技术实施例给出了如下应用场景,参考图13所示,其中黑色框表示修正前的到达时刻和离开时刻,白色框为修正后的实际到达时刻和实际离开时刻。具体描述如下:
[0176]
(1)场景一中,修正前,从到达时刻至离开时刻这段时间均位于休业时间窗之外,所以该到达时刻和离开时刻就是实际到达时刻和实际离开时刻;(2)场景二中,修正前,到达时刻位于休业窗之外,但是到达之后,在装货过程中或卸货过程中,遇到该路径节点的休业时间窗,需要暂停装货或卸货,直到休息时间结束,继续装货或卸货直至完成,参考公式(16)可知实际离开时刻为场景二中的tei,实际到达时刻不变;(3)场景三中,修正前,到达时刻即位于该路径节点的休业时间窗范围内,需要等待休息时间结束,才能开始装货或卸货,所示参考公式(15)可知,实际到达时间为场景三中的ti,自实际到达时间开始装货或卸货,至装货或卸货完成即为实际离开时间,如场景三中的tei;(4)场景四中,修正前,到达时刻至离开时刻的这段时间均位于休业时间窗范围外,所以该到达时刻和离开时刻即为实际到达时刻和实际离开时刻。s406、服务器采用预设的大邻域搜索算法对第四信息进行处理,获得第三信息。
[0177]
服务器分别对每个运输时间段中的订单信息对应的初始路径和初始路径上各个路径节点的车辆停留时间窗采用预设的大邻域搜索算法进行处理,获得第三信息,第三信息包括每个运输时间段中的订单信息相对应的预规划路径和该预规划路径上的各个路径节点的车辆停留时间窗。需要说明的是,从实质上来看,第四信息相当于是各个运输时间段中订单信息的初始路径,第三路径相当于是对第四信息中初始路径的优化,获得各个运输时间段中订单信息的优化路径。
[0178]
其中,预设的大邻域搜索算法也可称为改进的大邻域搜索算法,改进的技术点包
括:1)采用了至少一个删除算子,在每一轮的迭代中,依据各个算子的权重概率η按轮盘赌策略选取删除算子进行运算;2)至少一个删除算子中包括预设的节点随机比例删除算子和预设的关联删除算子;预设的节点随机比例删除算子又可称为改进的节点随机比例删除算子,该删除算子对传统的节点随机比例删除算子中删除路径节点的数量进行了改进,具体参见下文描述;预设的关联删除算子又可称为改进的关联删除算子,该删除算子综合考虑了距离因素、时间因素、货物量因素,定义了关联评价函数,关联评价函数用于衡量各路径节点间的距离、时间和货物量花费等;3)采用了至少一个插入算子,在每一轮的迭代中,依据各个算子的权重概率η按轮盘赌策略选取插入算子进行运算。
[0179]
对每一个运输时间段内的初始路径和初始路径上的各个路径节点的车辆停留时间窗均采用预设的大邻域搜索算法进行处理,下面以某一个运输时间段内的订单信息为例,描述预设的大邻域搜索算法的主要步骤,如下:
[0180]
1)设置迭代次数itrmax;
[0181]
2)初始化删除比例的值为0.1,其中m表示删除算子总数量;
[0182]
3)依据各个算子的权重概率η(初始化权重均等)按轮盘赌策略从至少一个删除算子中选择一个删除算子,并对该运输时间段的初始路径和初始路径上的多个路径节点中各个路径节点的车辆停留时间窗执行算子操作;删除算子用于对初始路径上的多个路径节点中的至少一个路径节点执行删除操作;其中,至少一个删除算子包括平均节点距离删除算子(averagedistanceremoval)、最短路删除算子(shortestremoval)、shawremoval算子、最大花费删除算子(worstremoval)、随机路径删除算子(tourremoval),改进的节点随机比例删除算子(randomremoval)和改进关联删除算子(improverelatedremoval);
[0183]
4)依据各个算子的权重概率η(初始化权重均等),按轮盘赌策略从至少一个插入算子中选择一个插入算子,重新插入刚删除的路径节点,形成完整新解;至少一个插入算子包括贪心插入算子、regret-2插入算子、regret-3插入算子;在该过程中,遍历可行插入点,按照各算子规则来选择优先插入的位置,判断插入后得到的新解是否满足约束条件,若不满足,则寻找下一个可插入点,若满足则得出一个新的解;
[0184]
5)根据模拟退火原理选择是否接受新解,并更新相关参数。具体为:
[0185]
a、根据新解(本次迭代所得的结果为新解)的情况,改变下一次迭代中解被接受的权重概率η,公式如下:
[0186][0187]
其中w1、w2、w3、w4是参数,值越高表示该算子优化效果越好,一般有w1≥w2≥w3≥w4≥0。引入衰减参数λ∈[0,1]来平衡与原始权重,一般设为0.5即可,可得最终各个算子的权重更新公式如下:
[0188][0189]
迭代中未使用的算子权重保持不变,通过该方式自适应调整权重,对产生优解的
算子增加权重,从而增大被选中的概率。对于未产生优解的算子通过为w4分配一个低值来降低权重值影响。最终各个算子权重占总权重的比值即为算子被选中概率。如下公式所示为删除算子的选中概率,|ω-|表示总的删除算子集合,插入算子同理。
[0190][0191]
b、若新解未被接受,则还要增加删除算子的删除比例,公式如下,式中i表示当前迭代次数,k表示当前使用的删除算子,delta为增加比例。
[0192][0193]
6)直到迭代次数达到itermax时结束运行;
[0194]
7)输出迭代搜索结果。
[0195]
关于预设的节点随机比例删除算子和预设的改进关联删除算子的说明如下。
[0196]
预设的节点随机比例删除算子,该算子从全部路径节点集u中随机选取φ个路径节点(这φ个路径节点是与某一个或某几个订单信息相对应的),从路径中删除φ个路径节点,删除数量通过删除比例系数与节点数u的乘积计算所得。通过按照比例移除一定量的路径节点来产生新的路径结构,使得后面重新插入能形成更多样化的邻域路径。
[0197]
预设的改进关联删除算子,本算子定义一个关联评价函数,考虑各路径节点间的距离因素、时间因素、货物量因素,定义评价指标如下:
[0198][0199][0200]
其中,pi表示取货点,di表示送货点,ti表示i点最早时间,qi表示取货点的需求量,γ表示移除点集合。该算子的执行策略为:初始阶段从当前解s中随机选取一个路径节点将其加入集合γ中,之后对s中非γ路径节点计算该点与集合γ所有路径节点的相似度r(i,j),并累加取平均求得该点与集合γ的相似度。选取相似度值最小的路径节点加入集合γ中,不断重复该过程直至达到要求的删除个数即可。
[0201]
关于其他算子说明如下:
[0202]
平均节点距离删除算子,计算公式如下:
[0203][0204]
dis(i)表示该所规划路径i的总距离,node(i)表示路径i的总路径节点数,通过算子求得各条路径的平均节点距离a(i),选取最大值所对应路径并删除该路径全部节点,从而降低路径的距离和路径经过节点过长引起代价过大的情况,实现最小化路线数目的目标。
[0205]
最短路径删除算子,计算每条路径的距离值,将最短的路径作为需要优化的路径,移除该路径上的所有路径节点,用于优化车辆数的目标。
[0206]
最大花费删除算子,计算每条路径耗费,选取耗费最多的路径,移除该路径的所有路径节点,用于行驶时间的目标。
[0207]
随机路径删除算子,随机移除一条路径上的所有路径节点,增加邻域解的范围。
[0208]
s407、服务器采用预设的大邻域搜索算法对第三信息进行处理,获得规划信息。
[0209]
服务器对各个运输时间段的预规划路径和预规划路径上的各个路径节点的车辆停留时间窗采用预设的大邻域搜索算法同时进行优化,获得最终的规划信息,规划信息包括多个待分配车辆中的每个车辆对应的路径的指示信息、路径对应的至少一个订单信息和路径上的各个路径节点的车辆停留时间窗。
[0210]
需要说明的是,最终优化后输出的规划信息是按照运输时间段输出的,因此在进行配送或运输时,也是按照运输时间段分别配送的。
[0211]
s408、服务器将规划信息分别发送至多个待分配车辆。
[0212]
参考s307中的描述,为了说明书的简洁,在此不再赘述。
[0213]
在实际应用中,多个待分配车辆中的每个车辆根据路径的指示信息生成对应的路径,并将对应的路径、该路径对应的订单信息和该路径上各个路径节点的车辆停留时间窗显示出来,具体可参考s206、s207中的描述,为了说明书的简洁,在此不再赘述。
[0214]
为了更清楚地理解本实施例,本技术提供了部分流程示意图,参考图14所示。图14中订单200为全部的订单信息,将全部订单信息根据最早装货时刻划分至四个运输时间段中,四个运输时间段分别为第一运输时间段211、第二运输时间段212、第三运输时间段213和第四运输段214,以使每个运输时间段内有至少一个订单信息,再分别对这四个运输时间段内的订单信息采用插入法进行处理,分别获得每个运输时间段内的订单信息对应的初始路径信息:初始路径信息221、初始路径信息222、初始路径信息223和初始路径信息224,初始路径信息包括初始路径和初始路径对应上各个路径节点的车辆停留时间窗,再分别对这四个运输时间段的初始路径信息通过预设的大邻域搜索算法进行处理,获得预规划信息:预规划信息231、预规划信息232、预规划信息233和预规划信息234,这里的预规划信息包括预规划路径和预规划路径对应上各个路径节点的车辆停留时间窗,最后对这四个运输时间段内的预规划信息(预规划信息231、预规划信息232、预规划信息233和预规划信息234)通过预设的大邻域搜索算法进行优化,获得最终的规划信息240。
[0215]
可以看到,本实施例根据实际应用场景进行了数学建模,设置了目标函数,通过决策变量的值来改变目标函数的值,并根据各个路径节点的服务信息列出了相应的约束条件,在求解目标函数的最优值过程中考虑约束条件,实际实现过程中,可以先采用插入法求解目标函数的值,获得初始路径,再通过预设的大邻域搜索算法对初始路径进行优化,求得目标函数的最优值,最终获得规划信息。实施本实施例,能够提高车辆的装载率,降低运输成本。
[0216]
在一种实施例中,每个订单信息除了包括装货地点和卸货地点外,还包括货物量,即由装货地点运输至卸货地点的货物量,而规划信息还包括每个车辆在对应的路径的各个路径节点的装货量或卸货量,且每个车辆在对应的路径的多个路径节点的总货物量均不超过车辆载重量。
[0217]
本技术实施例提出的一种多车辆装卸货路径规划方法,已经应用于某物流配送场景,对不同物流配送任务规模下车辆路径规划算法优化出的车辆数和平均装载率进行了计
算,并将部分数据显示如图15所示,图中横坐标表示物流任务量,纵坐标无具体单位,既可以表示车辆数,也可以表示平均装载率,从图15可知,当物流任务量为139时,使用车辆数约为10,此时这些车辆的平均装载率约为80%;当物流任务量为245时,使用车辆数约为20,此时这些车辆的平均装载率超过了80%;当物流任务量为398时,使用车辆数约为32,此时这些车辆的平均装载率约为85%;当物流任务量为441时,使用车辆数约为40,此时这些车辆的平均装载率也超过了80%,其中,装载率=实际装载的货物量/车辆载重量。结果显示算法在不同大小的数据集中均能取得较稳定、平均装载率在80%以上的优化效果。
[0218]
另外,基于上述应用,将本技术实施例在li&lim pdp100标准数据集上进行测试,结果如表4所示,由表4可知本算法可求得所有29个标准样例的最优车辆数和最优路程耗时,满足工程化应用条件。
[0219]
表4 li&lim标准测试集测试结果
[0220]
[0221][0222]
本技术实施例提供了一种多车辆装卸货路径规划装置500的示意图,参考图16所示,包括:
[0223]
获取单元501,用于获取多个订单信息;其中,每个订单信息包括装货地点和卸货地点;
[0224]
获取单元501,还用于获取多个订单信息对应的全部路径节点的服务信息;其中,每个路径节点的服务信息包括每个路径节点的服务时间窗和休业时间窗,休业时间窗为位
于服务时间窗范围内的暂停服务的时间,每个路径节点为装货地点或卸货地点;
[0225]
规划单元502,用于根据多个订单信息和全部路径节点的服务信息进行规划,获得规划信息,规划信息包括多个待分配车辆中的每个车辆对应的路径的指示信息、路径对应的至少一个订单信息和路径上的多个路径节点中各个路径节点的车辆停留时间窗;
[0226]
其中,全部路径节点分布在多个待分配车辆对应的多条路径上,每条路径上的路径节点各不相同;车辆停留时间窗是由车辆到达路径节点的时刻和离开该路径节点的时刻构成的。
[0227]
在可能的实施例中,全部路径节点的服务信息还包括全部路径节点中各个装货地点的最早装货时刻和各个卸货地点的最晚卸货时刻;装置还包括处理单元503,处理单元503用于:对各个订单信息中的装货地点和卸货地点进行处理,获得各个订单信息中由装货地点至卸货地点的运输时间;根据各个订单信息中的运输时间、最早装货时刻、最晚卸货时刻和预设装卸货服务时间,获得各个装货地点的最晚装货时刻和各个卸货地点的最早卸货时刻;根据第一信息,获得各个装货地点的装货时间窗和各个卸货地点的卸货时间窗;第一信息包括各个装货地点的最早装货时刻和最晚装货时刻、各个卸货地点的最早卸货时刻和最晚卸货时刻;相应的,规划单元502还用于,根据多个订单信息、全部路径节点的服务信息、各个装货地点的装货时间窗和各个卸货地点的卸货时间窗进行规划,获得规划信息。
[0228]
在可能的实施例中,处理单元503还用于,根据各个订单信息中的装货地点的最早装货时刻,将多个订单信息划分至多个运输时间段中,其中,每个运输时间段中包括多个订单信息中的部分订单信息;相应的,规划单元502还用于:根据第二信息进行处理,获得第三信息;第二信息包括各个运输时间段中的部分订单信息、部分订单信息对应的多个路径节点的服务信息、部分订单信息中的装货时间窗和部分订单信息中的卸货时间窗;第三信息包括与各个运输时间段中的部分订单信息对应的预规划路径和预规划路径上的多个路径节点中各个路径节点的车辆停留时间窗;对第三信息进行处理,获得规划信息。
[0229]
在可能的实施例中,规划单元502具体用于:采用插入法对第二信息进行处理,获得第四信息;第四信息包括与各个运输时间段中的部分订单信息对应的初始路径和初始路径上的多个路径节点中各个路径节点的车辆停留时间窗;采用预设的大邻域搜索算法对第四信息进行处理,获得第三信息。
[0230]
在可能的实施例中,大邻域搜索算法中包括至少一个删除算子和至少一个插入算子,删除算子用于在大邻域搜索算法的处理过程中对初始路径上的多个路径节点中的至少一个路径节点执行删除操作,插入算子用于在大邻域搜索算法的处理过程中,在删除操作之后对删除的至少一个路径节点执行插入操作。
[0231]
在可能的实施例中,至少一个删除算子包括平均节点距离删除算子、最短路径删除算子、移除算子、最大花费删除算子、随机路径删除算子、预设的节点随机比例删除算子和预设的关联删除算子中的至少一者;预设的节点随机比例删除算子用于删除多个路径节点,且删除数量与总的路径节点的数量相关;预设的关联删除算子用于根据关联评价函数删除多个路径节点,关联评价函数用于衡量各个路径节点间的距离指标和时间指标。
[0232]
在可能的实施例中,车辆停留时间窗是根据装货地点的装货时间窗和该装货地点的休业时间窗获得的;或者,车辆停留时间窗是根据卸货地点的卸货时间窗和该卸货地点的休业时间窗获得的。
[0233]
在可能的实施例中,每个订单信息还包括货物量;规划信息还包括每个车辆在对应的路径的各个路径节点的装货量或卸货量,每个车辆在对应的路径的多个路径节点的总货物量均不超过车辆载重量。
[0234]
在可能的实施例中,所述装置500还包括发送单元504,发送单元504用于将规划信息分别发送至多个待分配车辆的车辆终端。
[0235]
上述装置500的各功能单元可用于实现图2或图7或图10或图12实施例所描述的方法,具体内容可参考图2或图7或图10或图12实施例的相关内容中的描述,为了说明书的简洁,这里不再赘述。
[0236]
参见图17,图17是本技术实施例提供的另一种服务器600的示意图,该服务器600至少包括:处理器610、通信接口620和存储器630,处理器610、收发器620和存储器630通过总线640进行耦合。其中,
[0237]
处理器610通过调用存储器630中的程序代码,用于运行图16中的获取单元501、规划单元502、处理单元503和发送单元504。在实际应用中,处理器610可以包括一个或者多个通用处理器,其中,通用处理器可以是能够处理电子指令的任何类型的设备,包括中央处理器(central processing unit,cpu)、微处理器、微控制器、主处理器、控制器以及asic(application specific integrated circuit,专用集成电路)等等。处理器610读取存储器630中存储的程序代码,与收发器620配合执行本技术上述实施例中一种多车辆装卸货路径规划装置500执行的方法的部分或者全部步骤。
[0238]
收发器620可以为有线接口(例如以太网接口),用于与其他计算节点或装置进行通信。当收发器620为有线接口时,收发器620可以采用tcp/ip之上的协议族,例如,raas协议、远程函数调用(remote function call,rfc)协议、简单对象访问协议(simple object access protocol,soap)协议、简单网络管理协议(simple network management protocol,snmp)协议、公共对象请求代理体系结构(common object request broker architecture,corba)协议以及分布式协议等等。
[0239]
存储器630可以存储有程序代码以及数据信息。其中,程序代码包括获取单元501的代码、规划单元502的代码、处理单元503的代码,发送单元504的代码。数据信息包括:订单信息、服务信息、规划信息等等。在实际应用中,存储器630可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,ram);存储器也可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,rom)、快闪存储器(flash memory)、硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd)存储器还可以包括上述种类的存储器的组合。
[0240]
本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,所述计算机程序被硬件(例如处理器等)执行,以实现本技术实施例中服务器执行的任意一种方法的部分或者全部步骤。
[0241]
本技术实施例还提供一种计算机程序产品,当所述计算机程序产品被计算机读取并执行时,使得服务器执行本技术实施例中一种多车辆装卸货路径规划方法的部分或全部步骤。
[0242]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软
件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、存储盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态存储盘solid state disk,ssd)等。在所述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0243]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置,也可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
[0244]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本技术实施例方案的目的。
[0245]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0246]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0247]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
再多了解一些

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

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

相关文献