CN116664035A - 一种路径规划方法、装置、设备及存储介质 - Google Patents
一种路径规划方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116664035A CN116664035A CN202310654203.1A CN202310654203A CN116664035A CN 116664035 A CN116664035 A CN 116664035A CN 202310654203 A CN202310654203 A CN 202310654203A CN 116664035 A CN116664035 A CN 116664035A
- Authority
- CN
- China
- Prior art keywords
- paths
- candidate
- planned
- orders
- transportation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000003860 storage Methods 0.000 title claims abstract description 17
- 238000012217 deletion Methods 0.000 claims abstract description 111
- 230000037430 deletion Effects 0.000 claims abstract description 111
- 230000008439 repair process Effects 0.000 claims abstract description 61
- 230000008569 process Effects 0.000 claims abstract description 37
- 230000006870 function Effects 0.000 claims description 118
- 238000003780 insertion Methods 0.000 claims description 26
- 230000037431 insertion Effects 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 15
- 238000010276 construction Methods 0.000 claims description 3
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 11
- 238000009826 distribution Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 238000010845 search algorithm Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/083—Shipping
- G06Q10/0835—Relationships between shipper or supplier and carriers
- G06Q10/08355—Routing methods
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Economics (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Factory Administration (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例提供了一种路径规划方法、装置、设备及存储介质,涉及人工智能技术领域,该方法包括:基于多个待规划订单、多个虚拟订单、多个运输起点以及多个运输终点,构建多个运输设备各自的初始运输路径;对获得的多个初始运输路径进行迭代更新,直到满足迭代停止条件,获得多个运输设备各自的目标运输路径。本申请实施例中,首先通过构建初始运输路径,可以得到最初的配送成本,然后通过采用删除算子和修复算子不断迭代更新初始运输路径,使得待规划订单最终可以插入到初始运输路径中较合适的位置,从而减小了配送的费用问题。在每次的迭代更新的过程中,通过选取目标删除算子和目标修复算子可以使得最终结果更优。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种路径规划方法、装置、设备及存储介质。
背景技术
在目前的配送服务中,一般通过大仓进行物品的入库、存储及出库,大仓为众包分销平台。当配送的订单任务过多时,需要车辆不断回到大仓去或者从一个大仓去到另一个大仓。
如果安排不同的车辆对物品进行配送,会增加车辆使用的费用,进而导致配送成本较高。
发明内容
本申请实施例提供了一种路径规划方法、装置、设备及存储介质,用于降低配送成本。
一方面,本申请实施例提供了一种路径规划方法,包括:
基于多个待规划订单、多个虚拟订单、多个运输起点以及多个运输终点,构建多个运输设备各自的初始运输路径;
对获得的多个初始运输路径进行迭代更新,直到满足迭代停止条件,获得所述多个运输设备各自的目标运输路径,每次迭代更新过程包括以下步骤:
基于多个候选删除算子的第一权重,从所述多个候选删除算子中选取目标删除算子,并采用所述目标删除算子从上次迭代更新获得的多个初始运输路径中删除预设数量的待规划订单,获得相应的第一候选路径;
基于多个候选修复算子的第二权重,从所述多个候选修复算子中选取目标修复算子,并采用所述目标修复算子将所述预设数量的待规划订单,插入所述多个第一候选路径,获得相应的第二候选路径;
基于多个第二候选路径的目标函数值,确定本次迭代更新获得的多个初始运输路径。
本申请实施例中,首先通过构建初始运输路径,可以得到最初的配送成本,然后通过采用删除算子和修复算子不断迭代更新初始运输路径,使得待规划订单最终可以插入到初始运输路径中较合适的位置,从而减小了配送的费用问题。通过创建虚拟订单,再将虚拟订单分派给车辆,可以根据车辆运输路径决定车辆是否需要复跑以及复跑的运输路径,通过车辆复跑可以降低配送成本。在每次的迭代更新的过程中,通过选取目标删除算子和目标修复算子可以使得最终结果更优。
可选地,所述采用所述目标删除算子从上次迭代更新获得的多个初始运输路径中删除预设数量的待规划订单,获得相应的第一候选路径,包括:
迭代删除所述上次迭代更新获得的多个初始运输路径中的待规划订单,直到删除的待规划订单的数量达到预设数量停止,获得多个第一候选路径,每次迭代删除过程包括以下步骤:
从上次迭代删除获得的多个初始运输路径中随机选取一个待处理路径;
若所述待处理路径的待规划订单的数量大于0,则从所述待处理路径中随机删除一个待规划订单,获得本次迭代删除获得的多个初始运输路径。
本申请实施例中,采用通过删除算子随机删除待规划订单,使得删除的结果更具有随机性,避免了因为特殊删除导致结果发生偶然性。
可选地,所述采用所述目标删除算子从上次迭代更新获得的多个初始运输路径中删除预设数量的待规划订单,获得相应的第一候选路径,包括:
迭代删除所述上次迭代更新获得的多个初始运输路径中的待规划订单,直到删除的待规划订单的数量达到预设数量停止,获得多个第一候选路径,每次迭代删除过程包括以下步骤:
从上次迭代删除获得的多个初始运输路径中随机选取一个待处理路径;
若所述待处理路径的待规划订单的数量大于0,则删除所述待处理路径中所有待规划订单,获得本次迭代删除获得的多个初始运输路径。
本申请实施例中,通过删除算子将获取的待处理路径中的所有待规划订单删除,避免了发生漏删除而导致结果不准确的问题。
可选地,所述采用所述目标删除算子从上次迭代更新获得的多个初始运输路径中删除预设数量的待规划订单,获得相应的第一候选路径,包括:
迭代删除所述上次迭代更新获得的多个初始运输路径中的待规划订单,直到删除的待规划订单的数量达到预设数量停止,获得多个第一候选路径,每次迭代删除过程包括以下步骤:
从上次迭代删除获得的多个初始运输路径中随机选取一个待处理路径;
若所述待处理路径的待规划订单的数量大于0,则删除所述待处理路径中对应目标函数值增量最大的待规划订单,获得本次迭代删除获得的多个初始运输路径。
本申请实施例中,通过删除算子将待处理路径中目标函数值增量最大的待规划订单删除,从而避免因为待规划订单所插入的位置不合适而造成距离太远或成本太高的问题。
可选地,所述采用所述目标修复算子将所述预设数量的待规划订单,插入所述多个第一候选路径,获得相应的第二候选路径,包括:
向所述多个第一候选路径迭代插入待规划订单,直到所述预设数量的待规划订单插入完毕,获得多个第二候选路径,每次迭代插入过程包括以下步骤:
从所述预设数量的待规划订单中随机选取一个待插入订单;
针对上次迭代插入获得的每个第一候选路径,确定所述一个待插入订单插入所述第一候选路径的多个候选位置时相应的目标函数值增量,并将获得的多个目标函数值增量添加至候选集;
将所述一个待插入订单插入所述候选集中最小的目标函数值增量对应的候选位置,获得本次迭代插入获得的多个第一候选路径。
本申请实施例中,通过采用目标修复算子将待规划订单依次插入第一候选路径中,通过不断迭代插入使得待规划订找到目标函数值增量最小的位置,可以得到距离增量和成本增量最小的运输路径。
可选地,所述目标函数值增量为距离增量或者资源消耗增量。
可选地,所述基于多个第二候选路径的目标函数值,确定本次迭代输出的多个初始运输路径,包括:
若所述多个第二候选路径的目标函数值小于上次迭代获得的多个初始运输路径的目标函数值,则将所述多个第二候选路径的目标函数值,作为本次迭代输出的多个初始运输路径;
若所述多个第二候选路径的目标函数值大于等于上次迭代获得的多个初始运输路径的目标函数值,则将所述上次迭代获得的多个初始运输路径,作为本次迭代输出的多个初始运输路径。
本申请实施例中,将本次迭代更新的目标函数值与上一次的做对比,若比上一次小则更新,若比上一次大则不更新,可以使得输出结果一直保持最优的。
可选地,所述对获得的多个初始运输路径进行迭代更新,直到满足迭代停止条件,获得所述多个运输设备各自对应的目标运输路径,包括:
对获得的多个初始运输路径进行迭代更新,并将迭代停止时获得的多个初始运输路径,作为所述多个运输设备各自对应的目标运输路径。
本申请实施例中,通过按照迭代要求不断迭代,当达到迭代停止条件时输出,使得输出结果既能满足要求又不会耗费过多资源。
可选地,所述基于多个第二候选路径的目标函数值,确定本次迭代输出的多个初始运输路径,包括:
若所述多个第二候选路径的目标函数值小于上次迭代获得的多个初始运输路径的目标函数值,则增大所述目标删除算子的第一权重和所述目标修复算子的第二权重;
若所述多个第二候选路径的目标函数值大于上次迭代获得的多个初始运输路径的目标函数值,则减小所述目标删除算子的第一权重和所述目标修复算子的第二权重。
本申请实施例中,通过在迭代更新过程中不断更新删除算子和修复算子的权重值,可以使得每次的迭代更新效果优于上一次,从而保证了输出结果较优。
一方面,本申请实施例提供了一种路径规划装置,包括:
构建模块,用于基于多个待规划订单、多个虚拟订单、多个运输起点以及多个运输终点,构建多个运输设备各自的初始运输路径;
更新模块,用于对获得的多个初始运输路径进行迭代更新,直到满足迭代停止条件,获得所述多个运输设备各自的目标运输路径,每次迭代更新过程包括以下步骤:
基于多个候选删除算子的第一权重,从所述多个候选删除算子中选取目标删除算子,并采用所述目标删除算子从上次迭代更新获得的多个初始运输路径中删除预设数量的待规划订单,获得相应的第一候选路径;
基于多个候选修复算子的第二权重,从所述多个候选修复算子中选取目标修复算子,并采用所述目标修复算子将所述预设数量的待规划订单,插入所述多个第一候选路径,获得相应的第二候选路径;
基于多个第二候选路径的目标函数值,确定本次迭代更新获得的多个初始运输路径。
可选地,所述更新模块具体用于:
迭代删除所述上次迭代更新获得的多个初始运输路径中的待规划订单,直到删除的待规划订单的数量达到预设数量停止,获得多个第一候选路径,每次迭代删除过程包括以下步骤:
从上次迭代删除获得的多个初始运输路径中随机选取一个待处理路径;
若所述待处理路径的待规划订单的数量大于0,则从所述待处理路径中随机删除一个待规划订单,获得本次迭代删除获得的多个初始运输路径。
可选地,所述更新模块具体用于:
迭代删除所述上次迭代更新获得的多个初始运输路径中的待规划订单,直到删除的待规划订单的数量达到预设数量停止,获得多个第一候选路径,每次迭代删除过程包括以下步骤:
从上次迭代删除获得的多个初始运输路径中随机选取一个待处理路径;
若所述待处理路径的待规划订单的数量大于0,则删除所述待处理路径中所有待规划订单,获得本次迭代删除获得的多个初始运输路径。
可选地,所述更新模块具体用于:
迭代删除所述上次迭代更新获得的多个初始运输路径中的待规划订单,直到删除的待规划订单的数量达到预设数量停止,获得多个第一候选路径,每次迭代删除过程包括以下步骤:
从上次迭代删除获得的多个初始运输路径中随机选取一个待处理路径;
若所述待处理路径的待规划订单的数量大于0,则删除所述待处理路径中对应目标函数值增量最大的待规划订单,获得本次迭代删除获得的多个初始运输路径。
可选地,所述更新模块具体用于:
向所述多个第一候选路径迭代插入待规划订单,直到所述预设数量的待规划订单插入完毕,获得多个第二候选路径,每次迭代插入过程包括以下步骤:
从所述预设数量的待规划订单中随机选取一个待插入订单;
针对上次迭代插入获得的每个第一候选路径,确定所述一个待插入订单插入所述第一候选路径的多个候选位置时相应的目标函数值增量,并将获得的多个目标函数值增量添加至候选集;
将所述一个待插入订单插入所述候选集中最小的目标函数值增量对应的候选位置,获得本次迭代插入获得的多个第一候选路径。
可选地,所述目标函数值增量为距离增量或者资源消耗增量。
可选地,所述更新模块具体用于:
若所述多个第二候选路径的目标函数值小于上次迭代获得的多个初始运输路径的目标函数值,则将所述多个第二候选路径的目标函数值,作为本次迭代输出的多个初始运输路径;
若所述多个第二候选路径的目标函数值大于等于上次迭代获得的多个初始运输路径的目标函数值,则将所述上次迭代获得的多个初始运输路径,作为本次迭代输出的多个初始运输路径。
可选地,所述更新模块具体用于:
对获得的多个初始运输路径进行迭代更新,并将迭代停止时获得的多个初始运输路径,作为所述多个运输设备各自对应的目标运输路径。
可选地,所述更新模块具体用于:
若所述多个第二候选路径的目标函数值小于上次迭代获得的多个初始运输路径的目标函数值,则增大所述目标删除算子的第一权重和所述目标修复算子的第二权重;
若所述多个第二候选路径的目标函数值大于上次迭代获得的多个初始运输路径的目标函数值,则减小所述目标删除算子的第一权重和所述目标修复算子的第二权重。
一方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述路径规划方法的步骤。
一方面,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行上述路径规划方法的步骤。
附图说明
图1为本申请实施例提供的一种系统架构图;
图2A为本申请实施例提供的一种路径规划方法的流程图一;
图2B为本申请实施例提供的一种路径规划方法的流程图二;
图3为本申请实施例提供的一种删除算子的流程图一;
图4为本申请实施例提供的一种删除算子的流程图二;
图5为本申请实施例提供的一种删除算子的流程图三;
图6A为本申请实施例提供的一种修复算子的流程图一;
图6B为本申请实施例提供的一种修复算子的流程图二;
图7为本申请实施例提供的一种路径规划装置的结构示意图;
图8为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参考图1,其为本申请实施例适用的一种系统架构图,该系统至少包括终端设备101和服务器102。
终端设备101可以是计算机、笔记本电脑等,服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
终端设备101与服务器102可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。终端设备101响应于针对路径规划方法的触发操作,服务器102从终端设备101获取与初始路径相关的数据,用于执行路径规划方法,得到最终的目标运输路径。
基于图1所示的系统架构图,本申请实施例提供了一种路径规划方法的流程,该方法基于自适应大邻域搜索算法进行算法模型设计,自适应大邻域搜索算法是在邻域搜索的基础上增加了对算子的作用效果的衡量,使算法能够自动选择好的算子对解进行破坏与修复,从而有一定几率得到更好的解。基于自适应大邻域搜索算法可以解决车辆执行多仓复跑任务的路径规划问题。
在执行该方法之前,首先要获取构建初始路径的相关数据。本申请实施例中,运输设备可以是车辆。与初始路径相关的数据包括:订单信息、车辆信息、大仓信息、站点信息、路网信息等。因为有的车辆需要执行多仓复跑,因此,本申请实施例提供了多个虚拟订单,以解决多仓复跑的问题。
假设有大仓A、B、C,所有订单都是从大仓A出发,大仓A有200个待规划订单,编号为1-200,车辆总共有60辆,编号为1-60,其中,要求20辆车可返回大仓A进行复跑作业,10辆车完成一次作业后需去到大仓B,10辆车完成一次作业后需去到大仓C。构建虚拟订单201-240,若所在车辆有虚拟订单,则该车辆为需返回大仓的车辆。其中虚拟订单201-220为需返回大仓A的订单,虚拟订单221-230为需返回大仓B的订单,虚拟订单231-240为需返回大仓C的订单。将虚拟订单分别分派给车辆,将虚拟订单201分派给车辆1,将虚拟订单202分派给车辆2,……,将虚拟订单240分派给车辆40,这样可以保证车辆1-40至少有一个需要返回大仓A或者去到大仓B、C。
针对车辆1-20,当车辆仅有一个返回大仓的虚拟订单时,假设车辆1只有虚拟订单201,则首次待规划订单插入的位置只能在虚拟订单201之前,而在后续的待规划订单插入的过程中,虚拟订单201之前已有一个或多个已规划订单,则待规划订单可以随意选择车辆1的任意位置插入,若待规划订单插入虚拟订单201之前,表示第一次作业,若待规划订单插入虚拟订单201之后,表示复跑作业。在去到大仓B、大仓C时需要将大仓A的订单全部配送完成,所以在针对车辆21-40,当有待规划订单插入时,插入位置只能是在去到大仓B、大仓C的已规划订单之前,即在虚拟订单221-240之前。
在获取到构建初始路径的相关数据后,本申请实施例按照以下方法执行,如图2A所示,该方法的流程由计算机设备执行,计算机设备可以是图1所示的终端设备101和/或服务器102,包括以下步骤:
步骤201、基于多个待规划订单、多个虚拟订单、多个运输起点以及多个运输终点,构建多个运输设备各自的初始运输路径。
具体地,采用贪心规则对每个车辆进行初始运输路径规划。每个车辆首先根据待规划订单的配送顺序生成了相应的运输路径,并得到每个车辆的运输路径的运输距离,该运输距离也是当前最小的运输距离。若有新的待规划订单,则随机选择一个,将选择的待规划订单插入每个车辆的运输路径的各个位置。在插入前,首先还要判断欲插入该车辆的待规划订单是否满足约束条件,如车辆类型、容量限制、最大站点限制、门店收货时间等,车辆类型为该车辆是配送生鲜还是家具,容量限制为该车辆的最大容量为5吨或者10吨,最大站点限制为该车辆最多可以去到5个站点,门店收货时间为订单要求的最晚配送到的时间。若满足,则计算插入后每个车辆的运输路径的运输距离的增加距离并记录,将待规划订单插入位置增加距离最小的路线作为待规划订单最终的插入位置。
举例说明,车辆1上有已规划订单a,b,c,从而得到车辆1的运输路径的运输距离,车辆2上有已规划订单d,e,f,从而得到车辆2的运输路径的运输距离。现将待规划订单x首先插入车辆1中的各个位置,得到以下四种配送顺序:x,a,b,c、a,x,b,c、a,b,x,c、a,b,c,x;同理,将x插入车辆2也得到四种配送顺序:x,d,e,f、d,x,e,f、d,e,x,f、d,e,f,x,不同的配送顺序有不同的运输距离。假设待规划订单x满足车辆1和车辆2的车辆类型、容量限制、最大站点限制、门店收货时间等约束条件,分别计算这八种配送顺序下所对应的运输距离,选择运输距离增加最小的作为待规划订单x的最终插入位置,假设待规划订单插入到车辆2中后,按照d,e,x,f的配送顺序所增加的运输距离最小,则待规划订单x的最终位置就为车辆2中的d,e,x,f位置。
如表1所示,在构建初始路径完成后,车辆的初始运输路径可能会出现表1中的几种情况,以车辆1、21、41为例说明,其中,i、i+k、i+j、i+m均表示待规划订单。
表1
步骤202、对获得的多个初始运输路径进行迭代更新,直到满足迭代停止条件,获得多个运输设备各自的目标运输路径,每次迭代更新过程包括以下步骤:
步骤2021、基于多个候选删除算子的第一权重,从多个候选删除算子中选取目标删除算子,并采用目标删除算子从上次迭代更新获得的多个初始运输路径中删除预设数量的待规划订单,获得相应的第一候选路径。
具体地,在构建完初始运输路径后,接下来通过候选删除算子随机删除初始运输路径中的待规划订单。每个候选删除算子所对应的权重为第一权重,在第一次迭代中,预设所有候选删除算子的权重相同,在迭代过程中,每个候选删除算子的权重都是在动态变化的,候选删除算子权重较大的被选择的几率较高,同理,候选删除算子权重较小的被选择的几率较低。随机选择一个作为第一次的目标删除算子对初始路径中的待规划订单进行删除,每次删除的待规划订单数量为预设数量,将删除的待规划订单保存在删除数据库中。每次迭代更新所使用的候选删除算子为目标删除算子,通过目标删除算子将预设数量的待规划订单删除后,重新得到的运输路径为第一候选路径。本申请实施例中用到的候选删除算子有三个,分别为random_order_removal算子、random_route_removal算子和worst_removal算子。
步骤2022、基于多个候选修复算子的第二权重,从多个候选修复算子中选取目标修复算子,并采用目标修复算子将预设数量的待规划订单,插入多个第一候选路径,获得相应的第二候选路径。
具体地,在获得第一候选路径后,对步骤2021中删除的待规划订单进行重新插入,以获得第二候选路径。每个候选修复算子所对应的权重为第二权重,在第一次迭代中,预设所有的候选修复算子的权重相同,在迭代过程中,每个候选修复算子的权重都是在动态变化的,候选修复算子权重较大的被选择的几率较高,同理,候选修复算子权重较小的被选择的几率较低。每次迭代更新所使用的候选修复算子为目标修复算子,随机选择一个作为第一次目标修复算子将删除数据库中的待规划订单插入第一路径中。每次插入的待规划订单数量为步骤2021中删除的待规划订单数量。通过目标修复算子将删除的待规划订单全部插入到第一候选路径中,就得到了第二候选路径。
步骤2023、基于多个第二候选路径的目标函数值,确定本次迭代更新获得的多个初始运输路径。
具体地,在获得第二候选路径后,根据每个第二候选路径可以得到相应的目标函数值,根据目标函数值可以确定迭代更新后的初始运输路径。
举例说明,如图2B所示,为大邻域搜索算法的主流程图,具体执行步骤如下所示:
步骤2011、获取与运输设备有关的数据信息,其中,数据信息包括:多个待规划订单、多个虚拟订单、多个运输起点以及多个运输终点。
步骤2012、根据与运输设备有关的数据信息构建初始运输路径。
步骤2013、根据第一权重从多个候选删除算子中筛选出目标删除算子删除初始运输路径中的待规划订单,得到多个第一候选运输路径。
步骤2014、根据第二权重从多个候选修复算子中筛选出目标修复算子,将步骤2013中删除的待规划订单依次插入多个第一候选运输路径,得到多个第二候选运输路径。
步骤2015、根据多个第二候选路径计算目标函数值。
步骤2016、判断本次迭代更新得到的目标函数值增量是否小于上一次迭代更新的目标函数值增量。若小于,则执行步骤2017;否则,执行步骤2013。
步骤2017、更新本次的输出结果。
步骤2018、判断本次迭代更新得到的目标函数值增量是否为当前最小,若是,则执行步骤2019;否则,执行步骤2013。
步骤2019、更新全局的输出结果。
步骤2020、更新目标删除算子的第一权重和目标修复算子的第二权重。
步骤2021、判断是否达到迭代更新的停止条件,若是,则执行步骤2022;否则,执行步骤2013。
步骤2022、结束。
在一些实施例中,目标函数值增量为距离增量或者资源消耗增量。
具体地,目标函数值可以是运输路径的距离,也可以是运输路径的资源消耗,比如运输的成本消耗。目标函数值增量则为运输路径的距离增量或者运输成本增量。
在一些实施例中,采用目标删除算子从上次迭代更新获得的多个初始运输路径中删除预设数量的待规划订单,获得相应的第一候选路径,包括以下步骤:
迭代删除上次迭代更新获得的多个初始运输路径中的待规划订单,直到删除的待规划订单的数量达到预设数量停止,获得多个第一候选路径,每次迭代删除过程包括以下步骤:
步骤301、从上次迭代删除获得的多个初始运输路径中随机选取一个待处理路径。
具体地,在获取到上次迭代更新的初始运输路径后,若采用random_order_removal算子对迭代更新的初始运输路径中的待规划订单进行删除时,首先,判断已经删除的待规划订单数量是否小于待规划订单预设数量,如果小于,则继续删除;否则,停止删除。若小于,则从上一次迭代删除获得的多个初始运输路径中随机选取一个作为待处理路径。
步骤302、若待处理路径的待规划订单的数量大于0,则从待处理路径中随机删除一个待规划订单,获得本次迭代删除获得的多个初始运输路径。
具体地,在获取到待处理路径后,首先判断待处理路径的待规划订单的数量是否大于0,若大于0,则从待处理路径中随机选择一个订单,判断该订单是否为虚拟订单,若是虚拟订单,重新选择;若是待规划订单,则删除待规划订单,直到删除待规划订单数量达到预设数量停止,获得本次迭代删除获得的多个初始运输路径。
举例说明,如图3所示,为random_order_removal算子的流程图,假设删除待删除订单的预设数量为n,已经删除的待规划订单数量为m,具体执行步骤如下所示:
步骤3011、判断m是否小于n,若小于,则执行步骤3012;否则,执行步骤3017。
步骤3012、随机选择一个待处理路径。
步骤3013、判断待处理路径上的待规划订单数量是否大于0,若大于,执行步骤3014;否则,执行步骤3012。
步骤3014、随机选择待处理路径上的一个订单。
步骤3015、判断是否为待规划订单,若是,则执行步骤3016;否则,执行步骤3014。
步骤3016、删除选择的待规划订单。
步骤3017、结束。
在一些实施例中,采用目标删除算子从上次迭代更新获得的多个初始运输路径中删除预设数量的待规划订单,获得相应的第一候选路径,还包括以下步骤:
迭代删除上次迭代更新获得的多个初始运输路径中的待规划订单,直到删除的待规划订单的数量达到预设数量停止,获得多个第一候选路径,每次迭代删除过程包括以下步骤:
步骤401、从上次迭代删除获得的多个初始运输路径中随机选取一个待处理路径。
具体地,在获取到上次迭代更新的初始运输路径后,若采用random_route_removal算子对迭代更新的初始运输路径中的待规划订单进行删除时,首先,同样要判断已经删除的待规划订单数量是否小于待规划订单预设数量,如果小于,则继续删除;否则,停止删除。若小于,则从上一次迭代删除获得的多个初始运输路径中随机选取一个作为待处理路径。
步骤402、若待处理路径的待规划订单的数量大于0,则删除待处理路径中所有待规划订单,获得本次迭代删除获得的多个初始运输路径。
具体地,在获取到待处理路径后,首先判断待处理路径的待规划订单的数量是否大于0,若大于0,则将待处理路径中的所有待规划订单全部删除,删除的顺序可以是按照待规划订单的配送顺序从左至右依次删除,获得本次迭代删除获得的多个初始运输路径。
举例说明,如图4所示,为random_route_removal算子的流程图。假设删除待删除订单的预设数量为n,已经删除的待规划订单数量为m,具体执行步骤如下所示:
步骤4011、判断m是否小于n,若小于,则执行步骤4012;否则,执行步骤4015。
步骤4012、随机选择一个待处理路径。
步骤4013、判断待处理路径上的待规划订单数量是否大于0,若大于,执行步骤4014;否则,执行步骤4012。
步骤4014、从左至右依次删除待规划订单,若将待处理路径上的所有待规划订单全部删除,则选择下一条待处理路径,直到删除待规划订单数量达到预设数量为止。
步骤4015、结束。
在一些实施例中,采用目标删除算子从上次迭代更新获得的多个初始运输路径中删除预设数量的待规划订单,获得相应的第一候选路径,还包括以下步骤:
迭代删除所述上次迭代更新获得的多个初始运输路径中的待规划订单,直到删除的待规划订单的数量达到预设数量停止,获得多个第一候选路径,每次迭代删除过程包括以下步骤:
步骤501、从上次迭代删除获得的多个初始运输路径中随机选取一个待处理路径。
具体地,如图5所示,为worst_removal算子的流程图。在获取到上次迭代更新的初始运输路径后,若采用worst_removal算子对迭代更新的初始运输路径中的待规划订单进行删除时,首先,同样要判断已经删除的待规划订单数量是否小于待规划订单预设数量,如果小于,则继续删除;否则,停止删除。若小于,则从上一次迭代删除获得的多个初始运输路径中随机选取一个作为待处理路径。
步骤502、若待处理路径的待规划订单的数量大于0,则删除待处理路径中对应目标函数值增量最大的待规划订单,获得本次迭代删除获得的多个初始运输路径。
具体地,在获取到待处理路径后,首先判断待处理路径的待规划订单的数量是否大于0,若大于0,则计算待规划订单在待处理路径中的距离增量或者成本增量,选择当待规划订单插入后使得待处理路径的距离增量或者成本增量最大的删除。其中,距离增量和成本增量的计算方式通过待规划订单生成的运输路径,根据运输路径计算出该运输路径的距离增量或者成本增量。同时,在删除的过程中也不会删除虚拟订单。
举例说明,如图5所示,为worst_removal算子的流程图。假设删除待删除订单的预设数量为n,已经删除的待规划订单数量为m,具体执行步骤如下所示:
步骤5011、判断m是否小于n,若小于,则执行步骤5012;否则,执行步骤5014。
步骤5012、选择对目标函数值增量最大的待规划订单。
步骤5013、删除选择的待规划订单。
步骤5014、结束。
在一些实施例中,采用目标修复算子将预设数量的待规划订单,插入多个第一候选路径,获得相应的第二候选路径,包括:
向多个第一候选路径迭代插入待规划订单,直到预设数量的待规划订单插入完毕,获得多个第二候选路径,每次迭代插入过程,如图6A所示,包括以下步骤:
步骤601、从预设数量的待规划订单中随机选取一个待插入订单。
具体地,在得到多个第一候选路径后,从删除数据库中将待规划订单插入。首先判断待规划订单数量是否大于0,若大于0,则从待规划订单中随机选择一个作为待插入订单。
步骤602、针对上次迭代插入获得的每个第一候选路径,确定一个待插入订单插入第一候选路径的多个候选位置时相应的目标函数值增量,并将获得的多个目标函数值增量添加至候选集。
具体地,将待插入订单插入每个第一候选路径中的每个候选位置,并计算待插入订单插入每个第一候选路径中的每个候选位置所对应的距离增量或者成本增量,将得到的距离增量或者成本增量添加至候选集中。在待插入订单插入前,还要判断带插入订单是否满足车辆类型、容量限制、最大站点限制、门店收货时间等约束条件,在满足的前提下,尝试将待插入订单依次插入每个第一候选路径中的每个候选位置;若不满足,则跳过当前候选位置,尝试下一个。同样,在待插入订单插入候选位置时,车辆1-20中,虚拟订单只能在中间或者最后的位置,车辆21-40中,虚拟订单只能在最后的位置。
步骤603、将一个待插入订单插入候选集中最小的目标函数值增量对应的候选位置,获得本次迭代插入获得的多个第二候选路径。
具体地,采用greedy_insert算子和best_insert算子作为修复算子,当待插入订单插入到了最后一辆车的最后一个位置,则停止插入,在候选集中选择距离增量或者成本增量最小所对应的候选位置,得到本次迭代插入的多个第一候选路径。其中,greedy_insert算子用来计算距离增量,best_insert算子用来计算成本增量。
举例说明,如图6B所示,为greedy_insert算子和best_insert算子的流程图,具体执行步骤如下所示:
步骤6011、判断待规划订单数量是否大于0,若大于,则执行步骤6012,否则执行步骤6020。
步骤6012、随机选择一个待规划订单。
步骤6013、判断选择的待规划订单是否满足门店收货时间、车辆类型、容量限制等约束条件,若满足,则执行步骤6014;否则,执行步骤6012。
步骤6014、将选择的待规划订单依次插入多个第一候选路径的多个候选位置。
步骤6015、判断是否将待规划订单依次插入最后一条第一候选路径和最后一个位置,若是,则执行步骤6016或6017;否则,执行步骤6012。
步骤6016、通过greedy_insert算子计算距离的增量。
步骤6017、通过best_insert算子计算成本的增量。
步骤6018、将距离的增量和成本的增量加入候选集中。
步骤6019、从候选集中选择距离增量最小或成本增量最下的待规划订单插入位置为第二候选路径。
步骤6020、结束。
在一些实施例中,基于多个第二候选路径的目标函数值,确定本次迭代输出的多个初始运输路径,包括:
步骤7011、若多个第二候选路径的目标函数值小于上次迭代获得的多个初始运输路径的目标函数值,则将多个第二候选路径的目标函数值,作为本次迭代输出的多个初始运输路径。
具体地,若本次迭代在得到第二候选路径的目标函数值后,该目标函数值小于上次迭代获得的目标函数值,则将本次迭代得到的迭代更新初始运输路径作为本次迭代的输出。例如,第二候选路径有10条,本次迭代后距离增量为100米,在上一次的迭代中,迭代后的距离增量有500米,则将本次迭代后10条迭代更新初始运输路径作为输出。
步骤7012、若多个第二候选路径的目标函数值大于等于上次迭代获得的多个初始运输路径的目标函数值,则将上次迭代获得的多个初始运输路径,作为本次迭代输出的多个初始运输路径。
具体地,若本次迭代在得到第二候选路径的目标函数值后,该目标函数值小于上次迭代获得的目标函数值,则将本次迭代得到的迭代更新初始运输路径作为本次迭代的输出。例如,第二候选路径有10条,本次迭代后距离增量为100米,在上一次的迭代中,迭代后的距离增量有50米,则本次迭代后不更新输出,依旧使用上次迭代获得的10条迭代更新初始路径作为输出。
在一些实施例中,对获得的多个初始运输路径进行迭代更新,直到满足迭代停止条件,获得多个运输设备各自对应的目标运输路径,包括:
对获得的多个初始运输路径进行迭代更新,并将迭代停止时获得的多个初始运输路径,作为多个运输设备各自对应的目标运输路径。
具体地,迭代更新的停止条件可以将迭代次数设置为迭代停止条件,比如在迭代100次停止,也可以将迭代更新的输出结果的好坏作为迭代停止条件,比如当目标函数值小于100米时就满足本方案的要求了,那么当目标函数值出现小于100米时就停止迭代更新,也可以将时间作为迭代停止条件,当迭代更新的时间为5分钟或者10分钟时,可以停止迭代更新。
在一些实施例中,基于多个第二候选路径的目标函数值,确定本次迭代输出的多个初始运输路径,包括以下步骤:
步骤8011、若多个第二候选路径的目标函数值小于上次迭代获得的多个初始运输路径的目标函数值,则增大目标删除算子的第一权重和目标修复算子的第二权重。
具体地,在每次迭代中,计算每次迭代后多个第二候选路径的目标函数值的总和,若本次迭代的目标函数值总和小于上次迭代的目标函数值总和,说明本次迭代的效果较好,即距离增量和成本增量较小,那么本次迭代所使用到的目标删除算子和目标修复算子的是较好的,则增大目标删除算子的第一权重和目标修复算子的第二权重。
步骤8012、若多个第二候选路径的目标函数值大于上次迭代获得的多个初始运输路径的目标函数值,则减小目标删除算子的第一权重和目标修复算子的第二权重。
具体的,在每次迭代中,计算每次迭代后多个第二候选路径的目标函数值的总和,若本次迭代的目标函数值总和大于上次迭代的目标函数值总和,说明本次迭代的效果较差,即距离增量和成本增量较大,那么本次迭代所使用到的目标删除算子和目标修复算子的是较差的,则减小目标删除算子的第一权重和目标修复算子的第二权重。
本申请实施例中,首先通过构建初始运输路径,可以得到最初的配送成本,然后通过采用删除算子和修复算子不断迭代更新初始运输路径,使得待规划订单最终可以插入到初始运输路径中较合适的位置,从而减小了配送的费用问题。在每次的迭代更新的过程中,通过选取目标删除算子和目标修复算子可以使得最终结果更优。
基于相同的技术构思,本申请实施例提供了一种路径规划装置,如图7所示,该装置700包括:
一方面,本申请实施例提供了一种路径规划装置,该装置包括:
构建模块701,用于基于多个待规划订单、多个虚拟订单、多个运输起点以及多个运输终点,构建多个运输设备各自的初始运输路径;
更新模块702,用于对获得的多个初始运输路径进行迭代更新,直到满足迭代停止条件,获得所述多个运输设备各自的目标运输路径,每次迭代更新过程包括以下步骤:
基于多个候选删除算子的第一权重,从所述多个候选删除算子中选取目标删除算子,并采用所述目标删除算子从上次迭代更新获得的多个初始运输路径中删除预设数量的待规划订单,获得相应的第一候选路径;
基于多个候选修复算子的第二权重,从所述多个候选修复算子中选取目标修复算子,并采用所述目标修复算子将所述预设数量的待规划订单,插入所述多个第一候选路径,获得相应的第二候选路径;
基于多个第二候选路径的目标函数值,确定本次迭代更新获得的多个初始运输路径。
可选地,所述更新模块702具体用于:
迭代删除所述上次迭代更新获得的多个初始运输路径中的待规划订单,直到删除的待规划订单的数量达到预设数量停止,获得多个第一候选路径,每次迭代删除过程包括以下步骤:
从上次迭代删除获得的多个初始运输路径中随机选取一个待处理路径;
若所述待处理路径的待规划订单的数量大于0,则从所述待处理路径中随机删除一个待规划订单,获得本次迭代删除获得的多个初始运输路径。
可选地,所述更新模块702具体用于:
迭代删除所述上次迭代更新获得的多个初始运输路径中的待规划订单,直到删除的待规划订单的数量达到预设数量停止,获得多个第一候选路径,每次迭代删除过程包括以下步骤:
从上次迭代删除获得的多个初始运输路径中随机选取一个待处理路径;
若所述待处理路径的待规划订单的数量大于0,则删除所述待处理路径中所有待规划订单,获得本次迭代删除获得的多个初始运输路径。
可选地,所述更新模块702具体用于:
迭代删除所述上次迭代更新获得的多个初始运输路径中的待规划订单,直到删除的待规划订单的数量达到预设数量停止,获得多个第一候选路径,每次迭代删除过程包括以下步骤:
从上次迭代删除获得的多个初始运输路径中随机选取一个待处理路径;
若所述待处理路径的待规划订单的数量大于0,则删除所述待处理路径中对应目标函数值增量最大的待规划订单,获得本次迭代删除获得的多个初始运输路径。
可选地,所述更新模块702具体用于:
向所述多个第一候选路径迭代插入待规划订单,直到所述预设数量的待规划订单插入完毕,获得多个第二候选路径,每次迭代插入过程包括以下步骤:
从所述预设数量的待规划订单中随机选取一个待插入订单;
针对上次迭代插入获得的每个第一候选路径,确定所述一个待插入订单插入所述第一候选路径的多个候选位置时相应的目标函数值增量,并将获得的多个目标函数值增量添加至候选集;
将所述一个待插入订单插入所述候选集中最小的目标函数值增量对应的候选位置,获得本次迭代插入获得的多个第一候选路径。
可选地,所述目标函数值增量为距离增量或者资源消耗增量。
可选地,所述更新模块702具体用于:
若所述多个第二候选路径的目标函数值小于上次迭代获得的多个初始运输路径的目标函数值,则将所述多个第二候选路径的目标函数值,作为本次迭代输出的多个初始运输路径;
若所述多个第二候选路径的目标函数值大于等于上次迭代获得的多个初始运输路径的目标函数值,则将所述上次迭代获得的多个初始运输路径,作为本次迭代输出的多个初始运输路径。
可选地,所述更新模块702具体用于:
对获得的多个初始运输路径进行迭代更新,并将迭代停止时获得的多个初始运输路径,作为所述多个运输设备各自对应的目标运输路径。
可选地,所述更新模块702具体用于:
若所述多个第二候选路径的目标函数值小于上次迭代获得的多个初始运输路径的目标函数值,则增大所述目标删除算子的第一权重和所述目标修复算子的第二权重;
若所述多个第二候选路径的目标函数值大于上次迭代获得的多个初始运输路径的目标函数值,则减小所述目标删除算子的第一权重和所述目标修复算子的第二权重。
基于相同的技术构思,本申请实施例提供了一种计算机设备,计算机设备可以是终端或服务器,如图8示,包括至少一个处理器801,以及与至少一个处理器连接的存储器802,本申请实施例中不限定处理器801与存储器802之间的具体连接介质,图8处理器801和存储器802之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
在本申请实施例中,存储器802存储有可被至少一个处理器801执行的指令,至少一个处理器801通过执行存储器802存储的指令,可以执行上述路径规划方法中所包括的步骤。
其中,处理器801是计算机设备的控制中心,可以利用各种接口和线路连接计算机设备的各个部分,通过运行或执行存储在存储器802内的指令以及调用存储在存储器802内的数据,从而进行接口聚合。可选的,处理器801可包括一个或多个处理单元,处理器801可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器801中。在一些实施例中,处理器801和存储器802可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器801可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器802作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器802可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器802是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器802还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
基于同一发明构思,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当程序在计算机设备上运行时,使得计算机设备执行上述路径规划方法的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (13)
1.一种路径规划方法,其特征在于,包括:
基于多个待规划订单、多个虚拟订单、多个运输起点以及多个运输终点,构建多个运输设备各自的初始运输路径;
对获得的多个初始运输路径进行迭代更新,直到满足迭代停止条件,获得所述多个运输设备各自的目标运输路径,每次迭代更新过程包括以下步骤:
基于多个候选删除算子的第一权重,从所述多个候选删除算子中选取目标删除算子,并采用所述目标删除算子从上次迭代更新获得的多个初始运输路径中删除预设数量的待规划订单,获得相应的第一候选路径;
基于多个候选修复算子的第二权重,从所述多个候选修复算子中选取目标修复算子,并采用所述目标修复算子将所述预设数量的待规划订单,插入所述多个第一候选路径,获得相应的第二候选路径;
基于多个第二候选路径的目标函数值,确定本次迭代更新获得的多个初始运输路径。
2.如权利要求1所述的方法,其特征在于,所述采用所述目标删除算子从上次迭代更新获得的多个初始运输路径中删除预设数量的待规划订单,获得相应的第一候选路径,包括:
迭代删除所述上次迭代更新获得的多个初始运输路径中的待规划订单,直到删除的待规划订单的数量达到预设数量停止,获得多个第一候选路径,每次迭代删除过程包括以下步骤:
从上次迭代删除获得的多个初始运输路径中随机选取一个待处理路径;
若所述待处理路径的待规划订单的数量大于0,则从所述待处理路径中随机删除一个待规划订单,获得本次迭代删除获得的多个初始运输路径。
3.如权利要求1所述的方法,其特征在于,所述采用所述目标删除算子从上次迭代更新获得的多个初始运输路径中删除预设数量的待规划订单,获得相应的第一候选路径,包括:
迭代删除所述上次迭代更新获得的多个初始运输路径中的待规划订单,直到删除的待规划订单的数量达到预设数量停止,获得多个第一候选路径,每次迭代删除过程包括以下步骤:
从上次迭代删除获得的多个初始运输路径中随机选取一个待处理路径;
若所述待处理路径的待规划订单的数量大于0,则删除所述待处理路径中所有待规划订单,获得本次迭代删除获得的多个初始运输路径。
4.如权利要求1所述的方法,其特征在于,所述采用所述目标删除算子从上次迭代更新获得的多个初始运输路径中删除预设数量的待规划订单,获得相应的第一候选路径,包括:
迭代删除所述上次迭代更新获得的多个初始运输路径中的待规划订单,直到删除的待规划订单的数量达到预设数量停止,获得多个第一候选路径,每次迭代删除过程包括以下步骤:
从上次迭代删除获得的多个初始运输路径中随机选取一个待处理路径;
若所述待处理路径的待规划订单的数量大于0,则删除所述待处理路径中对应目标函数值增量最大的待规划订单,获得本次迭代删除获得的多个初始运输路径。
5.如权利要求1所述的方法,其特征在于,所述采用所述目标修复算子将所述预设数量的待规划订单,插入所述多个第一候选路径,获得相应的第二候选路径,包括:
向所述多个第一候选路径迭代插入待规划订单,直到所述预设数量的待规划订单插入完毕,获得多个第二候选路径,每次迭代插入过程包括以下步骤:
从所述预设数量的待规划订单中随机选取一个待插入订单;
针对上次迭代插入获得的每个第一候选路径,确定所述一个待插入订单插入所述第一候选路径的多个候选位置时相应的目标函数值增量,并将获得的多个目标函数值增量添加至候选集;
将所述一个待插入订单插入所述候选集中最小的目标函数值增量对应的候选位置,获得本次迭代插入获得的多个第二候选路径。
6.如权利要求5所述的方法,其特征在于,所述目标函数值增量为距离增量或者资源消耗增量。
7.如权利要求1至6任一所述的方法,其特征在于,所述基于多个第二候选路径的目标函数值,确定本次迭代输出的多个初始运输路径,包括:
若所述多个第二候选路径的目标函数值小于上次迭代获得的多个初始运输路径的目标函数值,则将所述多个第二候选路径的目标函数值,作为本次迭代输出的多个初始运输路径;
若所述多个第二候选路径的目标函数值大于等于上次迭代获得的多个初始运输路径的目标函数值,则将所述上次迭代获得的多个初始运输路径,作为本次迭代输出的多个初始运输路径。
8.如权利要求7所述的方法,其特征在于,所述对获得的多个初始运输路径进行迭代更新,直到满足迭代停止条件,获得所述多个运输设备各自对应的目标运输路径,包括:
对获得的多个初始运输路径进行迭代更新,并将迭代停止时获得的多个初始运输路径,作为所述多个运输设备各自对应的目标运输路径。
9.如权利要求1至6任一所述的方法,其特征在于,所述基于多个第二候选路径的目标函数值,确定本次迭代输出的多个初始运输路径,包括:
若所述多个第二候选路径的目标函数值小于上次迭代获得的多个初始运输路径的目标函数值,则增大所述目标删除算子的第一权重和所述目标修复算子的第二权重;
若所述多个第二候选路径的目标函数值大于上次迭代获得的多个初始运输路径的目标函数值,则减小所述目标删除算子的第一权重和所述目标修复算子的第二权重。
10.一种路径规划装置,其特征在于,包括:
构建模块,用于基于多个待规划订单、多个虚拟订单、多个运输起点以及多个运输终点,构建多个运输设备各自的初始运输路径;
更新模块,用于对获得的多个初始运输路径进行迭代更新,直到满足迭代停止条件,获得所述多个运输设备各自的目标运输路径,每次迭代更新过程包括以下步骤:
基于多个候选删除算子的第一权重,从所述多个候选删除算子中选取目标删除算子,并采用所述目标删除算子从上次迭代更新获得的多个初始运输路径中删除预设数量的待规划订单,获得相应的第一候选路径;
基于多个候选修复算子的第二权重,从所述多个候选修复算子中选取目标修复算子,并采用所述目标修复算子将所述预设数量的待规划订单,插入所述多个第一候选路径,获得相应的第二候选路径;
基于多个第二候选路径的目标函数值,确定本次迭代更新获得的多个初始运输路径。
11.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1~9任一所述方法的步骤。
12.一种计算机可读存储介质,其特征在于,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行权利要求1~9任一所述方法的步骤。
13.一种计算机程序产品,其特征在于,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机设备执行时,使所述计算机设备执行权利要求1~9任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310654203.1A CN116664035A (zh) | 2023-06-02 | 2023-06-02 | 一种路径规划方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310654203.1A CN116664035A (zh) | 2023-06-02 | 2023-06-02 | 一种路径规划方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116664035A true CN116664035A (zh) | 2023-08-29 |
Family
ID=87711438
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310654203.1A Pending CN116664035A (zh) | 2023-06-02 | 2023-06-02 | 一种路径规划方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116664035A (zh) |
-
2023
- 2023-06-02 CN CN202310654203.1A patent/CN116664035A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110595482B (zh) | 一种带避障权重的路径规划方法、装置及电子设备 | |
Shahvari et al. | Hybrid flow shop batching and scheduling with a bi-criteria objective | |
CN111428991B (zh) | 用于确定配送车辆的方法和装置 | |
US20210319371A1 (en) | Information processing device, information processing method, and non-transitory computer-readable storage medium for storing information processing program | |
CN109064218B (zh) | 划分区域的方法、装置及电子设备 | |
Aleman et al. | A tabu search with vocabulary building approach for the vehicle routing problem with split demands | |
US10223649B2 (en) | System and method of multi-objective optimization for transportation arrangement | |
CN111898221A (zh) | 选址方法、装置及计算机可读存储介质 | |
CN110516985B (zh) | 仓库选择方法、系统、计算机系统和计算机可读存储介质 | |
CN113435805B (zh) | 物品存储信息确定方法、装置、设备和存储介质 | |
CN116664035A (zh) | 一种路径规划方法、装置、设备及存储介质 | |
CN114691630B (zh) | 一种智慧供应链大数据共享方法及系统 | |
CN111008873A (zh) | 一种用户确定方法、装置、电子设备及存储介质 | |
US20170090820A1 (en) | Method and device for operating a many-core system | |
CN112232605B (zh) | 派送资源的处理方法、装置、设备及计算机可读存储介质 | |
CN113626472A (zh) | 一种处理订单数据的方法和装置 | |
CN114757244A (zh) | 模型训练方法、装置、存储介质及设备 | |
CN113361739A (zh) | 一种生成拣货路径的方法和装置 | |
CN113344548A (zh) | 一种工作流生成方法、装置、设备及存储介质 | |
CN114077947A (zh) | 配送调度方法、装置、电子设备及存储介质 | |
CN111325498A (zh) | 用于vrpspd的用户路线生成方法、装置、电子设备及存储介质 | |
CN116089063B (zh) | 基于利用鲸鱼优化算法指导猎物生成的北方苍鹰优化wngo算法和相似整数编码的服务组合优化方法 | |
CN112288347B (zh) | 冷链配送的路线确定方法、装置、服务器及存储介质 | |
CN113537859B (zh) | 仓网构建方法、装置、计算机设备和存储介质 | |
CN114265556B (zh) | 一种数据存储方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |