CN111553637A - 提货路径生成方法、装置、电子设备及存储介质 - Google Patents
提货路径生成方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111553637A CN111553637A CN202010355324.2A CN202010355324A CN111553637A CN 111553637 A CN111553637 A CN 111553637A CN 202010355324 A CN202010355324 A CN 202010355324A CN 111553637 A CN111553637 A CN 111553637A
- Authority
- CN
- China
- Prior art keywords
- path
- pick
- candidate
- root node
- goods
- 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.)
- Granted
Links
Images
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)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
Abstract
本公开的实施方式提供了一种提货路径生成方法、装置、电子设备及计算机可读存储介质,涉及计算机技术领域。该提货路径生成方法包括:获取待提货区域包含的多个提货点;对多个所述提货点进行排列,确定满足提取约束条件的多个候选提货路径;根据提货条件对多个所述候选提货路径进行组合,并根据组合结果生成对于所述待提货区域的目标提货路径,以通过所述目标提货路径将所述待提货区域的物品运输至目标仓库。本公开实施例中的技术方案,能够提高生成目标提货路径的效率和准确性。
Description
技术领域
本公开的实施方式涉及计算机技术领域,更具体地,本公开的实施方式涉及一种提货路径生成方法、提货路径生成装置、电子设备以及计算机可读存储介质。
背景技术
本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
在为降低仓储成本而采用的少量高频的提货模式中,从单个提货点处提取的物品会小于单台车辆的装载体积,归属于同一区域的多个提货点对应同一个目标仓库,故需单辆车前往多个提货点运输货物提升运输资源的利用率。相关技术中,当单次提货路径规划所需覆盖的提货点数量较多时,结合运输车辆装载体积与装载运输时间总开销的约束条件,会产生诸多满足约束条件但包含提货点组合不同的提货路径。为避免对全量数据遍历搜索而产生的较大时间开销,对于提货点货物的体积之和小于单辆车装载体积的一个或多个提货点,采用将距离相近的提货点优先归入同一条提货路径的方法。
但在最终生成的提货路径中,计算时忽略了部分满足约束条件的提货路径,无法充分考虑到提货路径所有可能的组合方式,由此计算出的提货路径其总费用未必是全局最小的。
发明内容
但是,在相关技术中,在最终生成的提货路径中,计算时忽略了部分满足约束条件的提货路径,无法充分考虑到提货路径所有可能的组合方式,可能遗漏掉一些提货路径,由此计算出的提货路径其总费用并不是全局最小的,因此具有一定的局限性且不够全面,不能快速得到提货路径,且确定提货路径的准确性较差。
为此,非常需要一种改进的提货路径生成方法,以利于准确得到提货路径。
在本上下文中,本公开的实施方式期望提供一种提货路径生成方法、提货路径生成装置、电子设备及计算机存储介质。
在本公开实施方式的第一方面中,提供一种提货路径生成方法,包括:获取待提货区域包含的多个提货点;对多个所述提货点进行排列,确定满足提取约束条件的多个候选提货路径;根据提货条件对多个所述候选提货路径进行组合,并根据组合结果生成对于所述待提货区域的目标提货路径,以通过所述目标提货路径将所述待提货区域的物品运输至目标仓库。
在本公开的一种示例性实施例中,所述对多个所述提货点进行排列,确定满足提取约束条件的多个候选提货路径,包括:以所述待提货区域对应的目标仓库为根节点,并以每个提货点作为非根节点,逐层构建第一搜索树;在所述第一搜索树中,将各非根节点到所述根节点经过的所有提货点进行组合,以得到所述候选提货路径。
在本公开的一种示例性实施例中,所述以所述待提货区域对应的目标仓库为根节点,并以每个提货点作为非根节点,逐层构建第一搜索树,包括:以所述待提货区域对应的目标仓库为所述根节点,以各提货点作为所述根节点的各子节点,以生成所述非根节点;通过逐层遍历方式对各所述非根节点加入子节点,直至包括所述子节点到所述根节点经过的提货点的候选提货路径不满足所述提取约束条件为止,以根据各所述子节点以及所述根节点构建所述第一搜索树。
在本公开的一种示例性实施例中,所述通过逐层遍历方式对各所述非根节点加入子节点,包括:对于各所述非根节点进行逐层遍历,根据当前非根节点到所述根节点所经过的提货点组成第一参考提货路径;将未包括在所述第一参考提货路径的所有提货点作为所述当前非根节点的子节点。
在本公开的一种示例性实施例中,所述方法还包括:若所述当前非根节点的子节点中存在预设类型子节点,使得所述第一参考提货路径不满足所述提取约束条件,则取消将所述预设类型子节点加入所述第一搜索树中。
在本公开的一种示例性实施例中,所述方法还包括:对于包含相同的提货点且提货点的排列顺序不同的多个所述候选提货路径,将多个所述候选提货路径中装载运输时间最小的候选提货路径作为满足所述提取约束条件的所述候选提货路径。
在本公开的一种示例性实施例中,所述根据提货条件对多个所述候选提货路径进行组合,并根据组合结果生成对于所述待提货区域的目标提货路径,包括:计算多个所述候选提货路径对应的提货成本信息;以所述提货成本信息最小作为所述提货条件,对多个所述候选提货路径进行组合,以确定对于所述待提货区域的所述目标提货路径。
在本公开的一种示例性实施例中,所述以所述提货成本信息最小作为所述提货条件,对多个所述候选提货路径进行组合,以确定对于所述待提货区域的所述目标提货路径,包括:以公用节点作为根节点,以多个所述候选提货路径作为非根节点,逐层构建针对多个所述候选提货路径的第二搜索树;在所述第二搜索树中,根据各所述非根节点到所述根节点经过的候选提货路径的提货成本信息,确定所述目标提货路径。
在本公开的一种示例性实施例中,所述以公用节点作为根节点,以多个所述候选提货路径作为非根节点,逐层构建针对多个所述候选提货路径的第二搜索树,包括:对所有提货点按大小顺序进行编号;以所述公用节点为所述根节点,以包含编号最小的提货点的所有候选提货路径作为所述根节点的子节点,以生成各非根节点;逐层为各所述非根节点扩展子节点,直至所述非根节点到所述根节点经过的候选提货路径覆盖所有的提货点为止,以根据各所述子节点以及所述根节点构建所述第二搜索树。
在本公开的一种示例性实施例中,所述逐层为各所述非根节点扩展子节点,包括:对于各所述非根节点进行逐层遍历,根据当前非根节点到所述第二搜索树的根节点所包含的所有候选提货路径组成第二参考提货路径;确定未包括在所述第二参考提货路径中的编号最小的提货点,且将包含所述编号最小的提货点的所有候选提货路径作为所述第二搜索树中所述当前非根节点的子节点。
在本公开的一种示例性实施例中,所述方法还包括:若所述第二搜索树的非根节点到所述根节点经过的所有候选提货路径的提货成本信息不满足所述提货条件,则停止为所述非根节点扩展子节点。
在本公开的一种示例性实施例中,所述在所述第二搜索树中,根据各所述非根节点到所述根节点经过的候选提货路径的提货成本信息,确定所述目标提货路径,包括:在所述第二搜索树中,将各所述子节点到所述根节点经过的所有候选提货路径进行组合得到第三参考提货路径;若所述第三参考提货路径的提货成本信息满足所述提货条件,则将所述第三参考提货路径确定为所述目标提货路径。
在本公开的一种示例性实施例中,所述目标提货路径中的各所述候选提货路径包含的提货点不重合,且各所述候选提货路径组成的所述目标提货路径覆盖所述待提取区域的所有提货点。
在本公开实施方式的第二方面中,提供一种提货路径生成装置,包括:提货点确定模块,用于获取待提货区域包含的多个提货点;候选路径确定模块,用于对多个所述提货点进行排列,确定满足提取约束条件的多个候选提货路径;目标路径生成模块,用于根据提货条件对多个所述候选提货路径进行组合,并根据组合结果生成对于所述待提货区域的目标提货路径,以通过所述目标提货路径将所述待提货区域的物品运输至目标仓库。
在本公开的一种示例性实施例中,所述候选路径确定模块包括:第一搜索树构建模块,用于以所述待提货区域对应的目标仓库为根节点,并以每个提货点作为非根节点,逐层构建第一搜索树;候选路径生成模块,用于在所述第一搜索树中,将各非根节点到所述根节点经过的所有提货点进行组合,以得到所述候选提货路径。
在本公开的一种示例性实施例中,所述第一搜索树构建模块包括:第一节点确定模块,用于以所述待提货区域对应的目标仓库为所述根节点,以各提货点作为所述根节点的各子节点,以生成所述非根节点;第一子节点加入模块,用于通过逐层遍历方式对各所述非根节点加入子节点,直至包括所述子节点到所述根节点经过的提货点的候选提货路径不满足所述提取约束条件为止,以根据各所述子节点以及所述根节点构建所述第一搜索树。
在本公开的一种示例性实施例中,所述第一子节点加入模块包括:第一参考路径确定模块,用于对于各所述非根节点进行逐层遍历,根据当前非根节点到所述根节点所经过的提货点组成第一参考提货路径;第一子节点确定模块,用于将未包括在所述第一参考提货路径的所有提货点作为所述当前非根节点的子节点。
在本公开的一种示例性实施例中,所述装置还包括:第一子节点停止模块,用于若所述当前非根节点的子节点中存在预设类型子节点,使得所述第一参考提货路径不满足所述提取约束条件,则取消将所述预设类型子节点加入所述第一搜索树中。
在本公开的一种示例性实施例中,所述装置还包括:候选路径筛选模块,用于对于包含相同的提货点且提货点的排列顺序不同的多个所述候选提货路径,将多个所述候选提货路径中装载运输时间最小的候选提货路径作为满足所述提取约束条件的所述候选提货路径。
在本公开的一种示例性实施例中,所述目标路径生成模块包括:成本计算模块,用于计算多个所述候选提货路径对应的提货成本信息;路径组合模块,用于以所述提货成本信息最小作为所述提货条件,对多个所述候选提货路径进行组合,以确定对于所述待提货区域的所述目标提货路径。
在本公开的一种示例性实施例中,所述路径组合模块包括:第二搜索树构建模块,用于以公用节点作为根节点,以多个所述候选提货路径作为非根节点,逐层构建针对多个所述候选提货路径的第二搜索树;生成控制模块,用于在所述第二搜索树中,根据各所述非根节点到所述根节点经过的候选提货路径的提货成本信息,确定所述目标提货路径。
在本公开的一种示例性实施例中,所述第二搜索树构建模块包括:提货点编号模块,用于对所有提货点按大小顺序进行编号;第二节点确定模块,用于以所述公用节点为所述根节点,以包含编号最小的提货点的所有候选提货路径作为所述根节点的子节点,以生成各非根节点;第二子节点扩展模块,用于逐层为各所述非根节点扩展子节点,直至所述非根节点到所述根节点经过的候选提货路径的覆盖所有的提货点为止,以根据各所述子节点以及所述根节点构建所述第二搜索树。
在本公开的一种示例性实施例中,所述第二子节点扩展模块包括:第二参考路径组成模块,用于对于各所述非根节点进行逐层遍历,根据当前非根节点到所述第二搜索树的根节点所包含的所有候选提货路径组成第二参考提货路径;第二子节点确定模块,用于确定未包括在所述第二参考提货路径中的编号最小的提货点,且将包含所述编号最小的提货点的所有候选提货路径作为所述第二搜索树中所述当前非根节点的子节点。
在本公开的一种示例性实施例中,所述装置还包括:第二子节点停止模块,用于若所述第二搜索树的非根节点到所述根节点经过的所有候选提货路径的提货成本信息不满足所述提货条件,则停止为所述非根节点扩展子节点。
在本公开的一种示例性实施例中,所述目标路径生成模块包括:第三参考路径组成模块,用于在所述第二搜索树中,将各所述子节点到所述根节点经过的所有候选提货路径进行组合得到第三参考提货路径;条件判断模块,用于若所述第三参考提货路径的提货成本信息满足所述提货条件,则将所述第三参考提货路径确定为所述目标提货路径。
在本公开的一种示例性实施例中,所述目标提货路径中的各所述候选提货路径包含的提货点不重合,且各所述候选提货路径组成的所述目标提货路径覆盖所述待提取区域的所有提货点。
在本公开实施方式的第三方面中,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的提货路径生成方法。
在本公开实施方式的第四方面中,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项所述的提货路径生成方法。
根据本公开实施方式的技术方案,在确定满足约束条件的包含多个提货点的多个候选提货路径的前提下,根据提货条件对多个候选提货路径进行组合,进而生成待提货区域的目标提货路径。一方面,通过提取约束条件来获取多个候选提货路径,进而根据提货条件对多个提货路径进行组合得到满足待提货区域的所有提货点的物品需求的目标提货路径,能够在减少时间成本的情况下,避免出现遗漏候选提货路径的情况,避免了局限性,由于能够考虑到所有的候选提货路径,因此提高了全面性和准确性。另一方面,通过提取约束条件得到多个候选提货路径,进而根据提货条件对多个候选提货路径进行组合,能够从多个维度确定出待提货区域的目标提货路径,能够提高目标提货路径的准确性,减少了计算量,并且提高了确定目标提货路径的操作效率。
附图说明
通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:
图1示意性示出了本公开实施方式的应用场景的框架示意图;
图2示意性示出了本公开实施例中提货路径生成方法的流程图;
图3示意性示出了本公开实施例中确定第一搜索树的流程图;
图4示意性示出了本公开实施例中在第一搜索树中加入子节点的流程图;
图5示意性示出了本公开实施例中在第一搜索树的示意图;
图6示意性示出了本公开实施例中构建第二搜索树的示意图;
图7示意性示出了本公开实施例中为第二搜索树扩展子节点的示意图;
图8示意性示出了本公开实施例中第二搜索树的示意图;
图9示意性示出了本公开实施例的提货路径生成装置的示意框图;
图10示意性示出了本公开实施例的电子设备的框图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本公开的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本公开的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本公开的实施方式,提出了一种提货路径生成方法、提货路径生成装置、电子设备和计算机可读存储介质。
此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本公开的若干代表性实施方式,详细阐释本公开的原理和精神。
发明概述
本发明人发现,相关技术中,在最终生成的提货路径中,计算时忽略了部分满足约束条件的提货路径,无法充分考虑到提货路径所有可能的组合方式,可能遗漏掉一些提货路径,由此计算出的提货路径其总费用未必是全局最小的,因此具有一定的局限性且不够全面,确定提货路径的准确性较差。
基于上述内容,本公开的基本思想在于:获取待提货区域包含的多个提货点;对多个所述提货点进行排列,确定满足提取约束条件的多个候选提货路径;根据提货条件对多个所述候选提货路径进行组合,并根据组合结果生成对于所述待提货区域的目标提货路径,以通过所述目标提货路径将所述待提货区域的物品运输至目标仓库。因此,根据本公开的实施方式,能够提高目标提货路径的准确性。
在介绍了本公开的基本原理之后,下面具体介绍本公开的各种非限制性实施方式。
应用场景总览
需要注意的是,下述应用场景仅是为了便于理解本公开的精神和原理而示出,本公开的实施方式在此方面不受任何限制。相反,本公开的实施方式可以应用于适用的任何场景。
首先参考图1,图1示出了本公开的实施方式的一个示例性应用场景的框架示意图。如图1中的应用场景100所示,通过服务器102对待提取区域的多个提货点进行排列得到多条候选提货路径,并对多条候选提货路径进行组合得到目标提货路径,以使得目标车辆101按照该目标提货路径将待提取区域的所有提货点的物品运输至目标仓库中。本领域技术人员应该理解,图1所示的示意框架仅是本公开的实施方式可以在其中得以实现的一个示例。本公开实施方式的适用范围不受到该框架任何方面的限制。
需要说明的是,服务器102均可以是本地服务器或远程服务器,此外,服务器102还可以是其他能够提供存储功能或者处理功能的产品例如云服务器,本公开的实施方式在此不做特殊限定。服务器也可以为具有快速计算能力的终端设备或者是车载设备等组成,此处不做限定。
应该理解的是,本公开的应用场景中,本公开实施方式的动作可以由服务器102执行。本公开在执行主体方面不受任何限制,只要执行了本公开实施方式所公开的动作即可。
示例性方法
下面结合图1的应用场景,参考图2来描述根据本公开示例性实施例的提货路径生成方法。需要注意的是,上述应用场景仅是为了便于理解本公开的精神和原理而示出,本公开的实施方式在此方面不受任何限制。相反,本公开的实施方式可以应用于适用的任何场景。
图2示出了根据本公开实施例的提货路径生成方法的流程图。参照图2所示,该提货路径生成方法可以包括以下步骤S210至步骤S230,其中:
在步骤S210中,获取待提货区域包含的多个提货点;
在步骤S220中,对多个所述提货点进行排列,确定满足提取约束条件的多个候选提货路径;
在步骤S230中,根据提货条件对多个所述候选提货路径进行组合,并根据组合结果生成对于所述待提货区域的目标提货路径,以通过所述目标提货路径将所述待提货区域的物品运输至目标仓库。
根据本公开实施方式的技术方案,一方面,通过提取约束条件来获取多个候选提货路径,进而根据提货条件对多个提货路径进行组合得到满足待提货区域的所有提货点的物品需求的目标提货路径,能够在减少时间成本的情况下,避免出现遗漏候选提货路径的情况,避免了局限性,由于能够考虑到所有的候选提货路径,因此提高了全面性和准确性。另一方面,通过提取约束条件得到多个候选提货路径,进而根据提货条件对多个候选提货路径进行组合,能够从多个维度确定出待提货区域的目标提货路径,提高生成目标提货路径的准确性,并且减少了计算量,提高了生成目标提货路径的效率。
接下来,结合附图对本公开实施例中的提货路径生成方法进行详细说明。
在步骤S210中,获取待提货区域包含的多个提货点。
本公开实施例中,待提货区域可以根据实际需求进行划分,例如可以按照实际的位置和区域来划分,此处不作限定。待提货区域的数量可以为多个,多个待提货区域之间相互独立。提货点指的是位于某一个待提货区域内的多个位置地点,具体指提供需买家或用户自行上门运输所采购物品的供应商仓库、工厂等地点。多个提货点所对应的目标仓库相同。每个待提货区域的提货点的数量可以相同或不同。由于不同待提货区域的物流运输成本各不相同且需分别调配,不允许一条用于提货的提货路径中存在属于不同待提货区域的提货点,因此可以对每个待提货区域各自制定独立的目标提货路径,以提高准确性和针对性。
继续参考图2中所示,在步骤S220中,对多个所述提货点进行排列,确定满足提取约束条件的多个候选提货路径。
本公开实施例中,候选提货路径指的是由单个目标车辆完成,依次经过一个或多个提货点,最终将所有途径提货点的物品运送至同一个目标仓库的途径顺序。因此,候选提货路径可以根据对待提货区域的一个或多个提货点进行排列而形成。
各电商平台每天都有许多款来自不同供应商的物品待上门提货。为节约提货环节的物流运输成本,在确定候选提货路径时,可以将目标仓库D相同且满足提取约束条件的多个提货点Fi归入一条提货路径作为候选提货路径。此处的提取约束条件为确定候选提货路径的限制条件,可以包括体积约束条件和时间约束条件两个维度,以通过提取约束条件来提高准确性。
为了提高候选提货路径的准确性,首先可以根据提货点的位置信息来确定时间约束条件。具体步骤可以包括:根据多个所述提货点的位置信息确定每两个提货点之间的距离;基于车辆运行速度,根据各候选提货路径中所有提货点之间的距离,以及最后一个提货点与目标仓库之间的距离计算运输时间;根据由所述运输时间以及对于各提货点对应的装载时间得到的装载运输时间确定所述时间约束条件。位置信息指的是各提货点所在的位置,用于确定提货点到目标仓库之间的距离。本公开实施例中,服务器获取到的位置信息可以为该待提货区域内所需提货的物品名称、物品体积及其提货点的门牌号地址。为计算提货点两两之间的距离dij以及提货点到目标仓库的距离dsD,可以通过调用地图服务,将提货点和目标仓库的门牌号地址转化为经纬度坐标。为更加准确的衡量两点之间的距离,将两个点的经纬度坐标作为输入,调用地图服务的路径导航功能计算出两点之间的实际行驶距离作为提货点之间距离或提货点到目标仓库的距离。其中,地图服务指的是通过对外可调用接口,提供地理坐标查询、行驶距离计算等电子地图及附加功能的计算机程序。通过地图服务进行位置转换,能够使得距离更符合实际情况,最终得到的目标提货路径更真实。
单个提货点的装载时间由单个提货点的签收交接时间tf与物品装车时间相加得到,其中的物品装车时间通过将该提货点货物体积mi除以对物品的装车速度vf而得到。每段距离之间的运输时间则由每一个候选提货路径Sk中,各提货点之间及最后一个提货点与目标仓库之间的距离dij除以目标车辆的运输速度vc获得。如此一来,单条候选提货路径的装载运输总时间tsum则为装载时间与运输时间的总和,具体可以为公式(1)所示。由于运输时间和装载时间都是提货过程中必不可少的部分,因此可以根据运输时间和装载时间来共同确定用于提货过程中的时间约束条件。
tsum=∑(mi/Vf+tf)+∑(dij/Vc) 公式(1)
时间约束条件指的是,单条候选提货路径的装载运输的总时间tsum,小于目标仓库收货截止时刻TD与第一个提货点的提货起始时刻TF1的时间差,即tsum<TD-TF1。因此,单条候选提货路径的时间约束条件具体可以如公式(2)所示:
TD-TF1>∑(mi/vf+tf)+∑(dij/vc) 公式(2)
需要说明的是,为降低计算的复杂性,提货点的签收交接时间、物品的装车速度以及车辆的运输速度,对于所有提货点和所有用于运输的目标车辆,都被设定为相同的固定值。
进一步地,可以根据提货点的物品信息确定体积约束条件。物品信息指的是根据每个提货点所包含的所有物品的体积而确定的每一个提货点包含的所有物品体积之和。为了实现提货功能,一条候选提货路径经过的所有提货点的体积之和可以小于目标车辆的装载体积。体积约束条件的车辆装载体积可以选择该待提货区域内装载体积最大的车辆的装载体积。基于此,体积约束条件指的是:针对同一条提货路径Sk=Fi,...,Fj,...,Fs,D中的s个提货点,需存在车辆装载体积Mx大于各提货点货物体积mi之和的目标车辆,即Mx>∑mi。
在确定上述时间约束条件和体积约束条件之后,可以将满足时间约束条件和体积约束条件的多个提货点归入一条候选提货路径,从而可以根据待提货区域的所有提货点得到多条候选提货路径。即若多个提货点,满足时间约束条件以及体积约束条件,则确定多个提货点满足提取约束条件,进而可以将满足提货约束条件的多个提货点进行组合,得到候选提货路径。
为了确定目标提货路径,首先可以列举出满足提取约束条件的多个候选提货路径。在实际的提货业务流程中,单个提货点处的物品不允许被拆分到不同车辆中分别运送。因此,寻找所有满足约束条件的候选提货路径的过程,则转化为在满足时间约束和体积约束的条件下,寻找一个或多个提货点所有可能的排列方式。
本公开实施例中,为了提高准确性和全面性,可以采用搜索树的方式来确定多个提货点的排列方式。具体地,可以采用宽度优先遍历的方式构建第一搜索树,从而根据第一搜索树上的节点来确定多个候选提货路径。宽度优先遍历指的是从根节点开始,按层遍历(即一层一层遍历)第一搜索树的每个节点。具体而言,从根节点开始,在第一层确定根节点的子节点;进一步将第一层的子节点作为父节点来遍历第二层的子节点,直到所有子节点都遍历完为止。第一搜索树指的是针对所有提货点以及目标仓库而构建的搜索树。在第一搜索树中,可以待提货区域对应的目标仓库为根节点,并以每个提货点作为非根节点,逐层构建第一搜索树。非根节点可以为除了根节点之外,处于其他层(例如第一层、第二层等)的所有节点。也就是说,在第一搜索树中,先以目标仓库为根节点,以所有提货点作为该根节点的子节点构建第一搜索树的第一层,并将子节点作为非根节点。接下来,以第一层的每个非根节点作为父节点,再对其加入子节点构建第一搜索树的第二层。进而以第二层的每个非根节点作为父节点,再对其加入子节点构建第一搜索树的第三层,以此类推,从而逐层构建第一搜索树。在构建第一搜索树之后,可以基于第一搜索树,确定从每个非根节点到根节点经过的所有提货点,并将每个非根节点到根节点经过的所有提货点进行组合得到一条候选提货路径。
图3中示意性示出了确定第一搜索树的流程图,参考图3中所示,构建第一搜索树的过程可以包括步骤S310以及步骤S320,其中:
在步骤S310中,以所述待提货区域对应的目标仓库为所述根节点,以各提货点作为所述根节点的各子节点,以生成所述非根节点;
在步骤S320中,通过逐层遍历方式对各所述非根节点加入子节点,直至包括所述子节点到所述根节点经过的提货点的候选提货路径不满足所述提取约束条件为止,以根据各所述子节点以及所述根节点构建所述第一搜索树。
本公开实施例中,由于每个提货点的物品,最终都会由目标车辆运输至目标仓库所在位置,因此可以目标仓库为根节点,以各提货点分别作为根节点的子节点,并且可以将子节点称为非根节点,通过根节点的子节点生成第一层。接下来,可以通过逐层遍历的方式对第一层的每个非根节点加入与该非根节点对应的子节点作为第二层,进而对第二层的每个非根节点加入子节点形成第三层等等,如此重复执行,直至包括子节点到根节点经过的提货点组成的候选提货路径不满足提取约束条件为止,以根据加入的子节点到根节点经过的所有提货点来构建第一搜索树。本公开实施例中,不满足提取约束条件可以理解为不满足时间约束条件、不满足体积约束条件或者是同时不满足时间约束条件以及体积约束条件三种情况。
图4中示意性示出了在第一搜索树中加入子节点的流程图,参考图4中所示,为每一层的每个非根节点加入子节点的具体步骤可以包括步骤S410至步骤S440,其中:
在步骤S410中,对于各所述非根节点进行逐层遍历,根据当前非根节点到所述根节点所经过的提货点组成第一参考提货路径。
在步骤S420中,判断子节点是否为预设类型子节点,预设类型子节点是使得所述第一参考提货路径不满足所述提取约束条件的子节点;若否,则转至步骤S430。若是,则转至步骤S440。
在步骤S430中,将未包括在所述第一参考提货路径的所有提货点作为所述当前非根节点的子节点。
在步骤S440中,若所述当前非根节点的子节点中存在预设类型子节点,使得所述第一参考提货路径不满足所述提取约束条件,则取消将所述预设类型子节点加入所述第一搜索树中。
本公开实施例中,当前非根节点可以为所有非根节点中正在处理的节点,且当前非根节点可以为所有非根节点中的任意一个,可以为第一层的非根节点,也可以为第二层的非根节点。例如可以为第一层的提货点F1,也可以为第二层的提货点F3。在确定当前非根节点之后,可以将该当前非根节点到根节点所经过的所有提货点进行组合,以形成第一参考提货路径。第一参考提货路径用于确定是否对当前非根节点加入子节点,具体可以表示尚未对当前非根节点添加子节点而形成的从当前非根节点开始到根节点所经过的提货点组成的候选提货路径。第一参考提货路径可以为从根节点到任意一层的当前非根节点组成的路径。例如可以包括第一层的任意一个节点到根节点所经过的提货点组成的候选提货路径,也可以为第二层的任意一个节点到根节点所经过的提货点组成的候选提货路径。
在确定第一参考提货路径之后,如果能够继续为当前非根节点添加子节点,则可以确定第一参考提货路径中包含的提货点,进而可以将未包括在第一参考提货路径的所有提货点,作为当前非根节点的子节点。即当前非根节点的子节点为除当前非根节点到根节点包含的提货点以外的所有提货点。
在为非根节点加入子节点的过程中,为了提高子节点以及第一搜索树的准确性,可以在当前非根节点的子节点中存在使得第一参考提货路径不满足提取约束条件的预设类型子节点时,取消将该预设类型子节点加入所述第一搜索树中。具体地,假设加入某一个子节点F3后,该子节点到根节点的候选提货路径的时间不满足时间约束条件,或者是体积不满足体积约束条件,则该子节点为预设类型子节点,因此停止将子节点F3继续加入第一搜索树中。
通过上述方式,能够过滤掉不符合提取约束条件的多个路径,从而减少计算量,能够提高候选提货路径的精准度。
图5中示意性示出了第一搜索树的示意图。参考图5中所示,首先将目标仓库D作为第一搜索树的根节点,将全部n个提货点作为根节点的子节点加入第一搜索树,并将其作为第一搜索树的第一层。在遍历第一搜索树中的每一个非根节点时,将每一个非根节点到根节点经过的全部提货点进行组合,将其作为提货点到目标仓库的一条候选提货路径。例如,在图5中,针对非根节点Fi,将提货点{F1,…,Fi-1,Fi+1,Fn}作为非根节点Fi的子节点加入第一搜索树。再例如,针对非根节点Fi+1,将非根节点Fi+1和非根节点Fi组成一个候选提货路径,即针对非根节点Fi+1的第一参考提货路径为包含节点Fi+1,Fi的组合,按照上述步骤,将除提货点Fi+1和Fi以外的其他提货点作为Fi+1的子节点加入第一搜索树中。针对每一个作为子节点新加入第一搜索树中的提货点,若其在第一搜索树中到目标仓库的提货路径未满足时间约束条件或体积约束条件,则不能作为子节点加入第一搜索树中。例如图5中所示的Fi+1的子节点中,不满足时间约束条件的提货点Fi-1和不满足体积约束条件的Fn不能作为Fi+1的子节点加入第一搜索树中。
参考图5中所示,将目标仓库D作为第一搜索树的根节点,将全部n个提货点作为根节点的子节点加入第一搜索树,并将其作为第一搜索树的第一层。例如,将{F1,F2…,Fi,Fn-1,Fn}作为根节点的子节点加入第一搜索树的第一层。在遍历第一搜索树中的每一个非根节点时,可以对该非根节点加入子节点。例如,针对第一搜索树的第一层的非根节点Fi,将不包括Fi在内的{F1,Fi-1,Fi+1,Fn}作为非根节点Fi的子节点加入第一搜索树中。进一步地,针对第一搜索树的第二层的非根节点Fi+1,将不包括Fi+1,Fi在内的{F1,Fi-1,Fi+2,Fn}作为非根节点Fi+1的子节点加入第一搜索树中。其中,非根节点Fi+1的子节点Fi-1不满足时间约束条件,非根节点Fi+1的子节点Fn不满足体积约束条件,则取消将Fi-1与Fn作为非根节点Fi+1的子节点加入第一搜索树中。以此类推,以构建第一搜索树。
需要说明的是,在得到第一搜索树之后,可以将每一个非根节点到根节点所经过的所有提货点进行组合,以得到候选提货路径。此处的候选提货路径中的所有提货点均满足提取约束条件,因此第一搜索树中的每一条候选提货路径也满足时间约束条件和体积约束条件。对于图5中所示的第一搜索树,根节点-非根节点Fi-非根节点Fi+1-非根节点Fi+2可以组成一条候选提货路径。
本公开实施例中,如果多个候选提货路径中包含的提货点完全相同,但是提货点的排列顺序不同,为了提高计算准确性,则可以从其中选择一个候选提货路径作为用于确定目标提货路径的候选提货路径。具体地,可以将多个候选提货路径中装载运输时间最小的一个候选提货路径作为满足提取约束条件的候选提货路径。装载运输时间指的是装载时间与运输时间的总和。举例而言,对于某条候选提货路径Sk及与其包含相同的提货点但提货顺序不同的候选提货路径Sk’,仅保留装载运输总时间最小的一条候选提货路径,加入满足提取约束条件的候选提货路径集合中,用于最优费用提货方案的计算,以减少不必要的重复计算,减少计算量,提高处理效率。
继续参考图2中所示,在步骤S230中,根据提货条件对多个所述候选提货路径进行组合,并根据组合结果生成对于所述待提货区域的目标提货路径,以通过所述目标提货路径将所述待提货区域的物品运输至目标仓库。
本公开实施例中,在得到多个候选提货路径之后,可以将多个候选提货路径中的部分或者是全部候选提货路径进行组合得到组合结果,此处的组合结果具体可以用于表示能够进行组合的候选提货路径。为了提高目标提货路径的准确性,可以根据提货条件来对多个候选提货路径进行组合。提货条件用于对多个组合结果进行筛选,从而得到待提货区域对应的目标提货路径。目标提货路径用于表示实现所有提货点的货物运输需求的一条或多条候选提货路径的组合,可以理解为一个提货方案。在得到目标提货路径之后,可以控制目标车辆按照目标提货路径将待提货区域所有提货点的所有物品运输至同一个目标仓库。
为了确定最优的目标提货路径,提货条件可以根据实际应用场景的需求进行设置,例如提货条件可以用于衡量成本,也可以用于衡量其他参数,例如速度或者是效率等等。本公开实施例中,提货条件可以为根据提货成本信息而确定。具体地,可以将提货成本信息最小作为提取所有提货点的物品的提货条件。在确定提货条件之后,可以计算多个候选提货路径对应的提货成本信息,进而以提货成本信息最小为提货目标,对多个候选提货路径进行组合,得到目标提货路径。
其中,提货成本信息即为目标提货路径中包含的所有候选提货路径的提货费用成本。对于分别独立指定目标提货路径的各个待提货区域,待提货区域内的n个提货点,在物品提取后都需要运输到相同的目标仓库。假设,每个目标车辆的运输成本计算采用按天包车计价,即每辆车每天从待提货区域内任意提货点运送至目标仓库的费用固定为Ccx。当需要由单辆车前往s个提货点依次提货后运送至目标仓库时,每辆车的运输费用需要在固定费用Ccx的基础上额外增加用(s-1)*Cpx表示的多点提货费用的总和。多点提货费用表示每辆车在多个提货点之间的提货费用。对于每一个目标车辆而言,其运输费用可以表示为Ccx+(s-1)*Cpx。对于装载体积不同的运输车辆,其所对应的固定费用Ccx和多点提货费用Cpx也不同。因此,目标提货路径S的总费用(提货成本信息)C为目标提货路径中包含的各条候选提货路径的费用之和,可以用公式(3)来表示:
C=∑Ccx(s-1)*Cpx 公式(3)
在获得所有满足提取约束条件的多条候选提货路径后,可以以此为基础,计算出能够一次运送所有提货点的所有物品,且提货成本信息最小的一个提货方案作为目标提货路径。在生成目标提货路径时,对于构成目标提货路径的每一条候选提货路径Sk,可以使得候选提货路径Sk中包含的提货点,与目标提货路径中包含的其他候选提货路径Sk+1包含的提货点不重合(即目标提货路径中的每一条候选提货路径包含的所有提货点均不相同),且待提货区域内的所有提货点可以被该目标提货路径中包含的所有候选提货路径所覆盖(即目标提货路径中的所有候选提货路径包含的提货点相加即为待提货区域的所有提货点)。
本公开实施例中,为了避免对候选提货路径的遗漏而导致的不全面问题,可以采用搜索树的方式来确定多个候选提货路径的组合方式。具体地,可以采用宽度优先遍历的方式构建第二搜索树,从而根据第二搜索树来确定目标提货路径。宽度优先遍历指的是从第二搜索树的根节点开始按层遍历其每个子节点。即,从第二搜索树的根节点开始,在第一层确定根节点的子节点;进一步将第一层的子节点作为父节点来遍历第二层的子节点,直到将所有节点都遍历完为止。第二搜索树指的是针对所有候选提货路径而构建的搜索树。在第二搜索树中,可以一个公用节点为根节点,并以多个候选提货路径作为非根节点,逐层构建第二搜索树。公用节点例如可以为无实际意义的任意节点,其不对应任何一条候选提货路径。也就是说,在第二搜索树中,先以公用节点为根节点,根据提货点的编号确定用于表示根节点的子节点的候选提货路径作为第一层(具体可以为编号最小的提货点)。接下来,以第一层的每个非根节点作为父节点,再根据非根节点的子节点添加规则对其加入子节点以构建第二搜索树的第二层,以此类推,从而逐层构建第二搜索树。在构建第二搜索树之后,可以基于第二搜索树,确定从每个非根节点到根节点经过的所有候选提货路径,并将每个非根节点到根节点经过的所有候选提货路径进行组合,在提货条件的限制下确定目标提货路径。
图6中示意性示出了构建第二搜索树的流程图,参考图6中所示,主要包括步骤S610至步骤S630,其中:
在步骤S610中,对所有提货点按大小顺序进行编号;
在步骤S620中,以所述待提货区域对应的目标仓库为所述根节点,以包含编号最小的提货点的所有候选提货路径作为所述根节点的子节点,以生成各非根节点;
在步骤S630中,逐层为各所述非根节点扩展子节点,直至所述非根节点到所述根节点经过的候选提货路径覆盖所有的提货点为止,以根据各所述子节点以及所述根节点构建所述第二搜索树。
本公开实施例中,首先可以对待提货区域的所有提货点进行编号,具体可以按大小顺序进行编号,例如编号从1到10等等。在进行编号时,可以按照提货点离目标仓库的距离进行编号,也可以按照其他规则进行编号,也可以随机编号,此处不做限定,只要编号是从小到大即可。
接下来,可以公用节点为根节点,对该根节点添加子节点并生成第二搜索树的第一层。对根节点添加子节点时,其添加过程可以为:以包含编号最小的提货点的所有候选提货路径作为根节点的子节点,以生成第二层的各非根节点。编号最小的提货点指的是编号为1的提货点。基于此,第二搜索树中,根节点的子节点可为包含编号为1的提货点且满足提取约束条件的所有候选提货路径。
进一步地,可以逐层为每个非根节点扩展子节点,直至非根节点到根节点经过的候选提货路径覆盖所有的提货点为止,以根据各子节点以及根节点构建第二搜索树。也就是说,为第一层、第二层等所有的非根节点来逐层添加子节点,并在非根节点到根节点的候选提货路径覆盖到所有提货点的情况下停止为该非根节点扩展子节点;如果未覆盖所有提货点,则继续为该非根节点扩展子节点。
图7中示意性示出了逐层为第二搜索树的非根节点扩展子节点的流程题,参考图7中所示,主要包括步骤S710至步骤S720,其中:
在步骤S710中,对于各所述非根节点进行逐层遍历,根据当前非根节点到所述第二搜索树的根节点所包含的所有候选提货路径组成第二参考提货路径;
在步骤S720中,确定未包括在所述第二参考提货路径中的编号最小的提货点,且将包含所述编号最小的提货点的所有候选提货路径作为所述第二搜索树中所述当前非根节点的子节点。
本公开实施例中,当前非根节点可以为第二搜索树的所有非根节点中正在被处理的任意一个非根节点,可以为第一层的非根节点,也可以为第二层的非根节点,此处不作限定。例如,可以为第一层的第一个节点或第二层的第一个节点。在确定当前非根节点之后,可以将该当前非根节点到根节点所经过的所有候选提货路径进行组合,以形成第二参考提货路径。第二参考提货路径用于确定是否对第二搜索树的非根节点加入子节点,具体可以包括任意一层的非根节点到根节点所经过的多个候选提货路径的组合。例如可以包括第一层的任意一个非根节点到根节点所经过的候选提货路径(即第一层本身的候选提货路径),也可以为第二层的任意一个非根节点到根节点所经过前两层的候选提货路径(即第二层本身的候选提货路径以及所经过的第一层的候选提货路径)。
具体地,针对某一个当前非根节点,确定当前非根节点的第二参考提货路径中包含的所有候选提货路径,进而可以确定包含在其中的提货点,并确定出未包括在第二参考提货路径的所有候选提货路径中的提货点。进一步地,可以确定出当前非根节点的未包括在第二参考提货路径中的编号最小的提货点,并且将包含该编号最小的提货点的所有候选提货路径作为第二搜索树的当前非根节点的子节点。举例而言,假设当前非根节点为第二层的第一个节点时,可以确定第一层的第一个节点、第二层的第一个节点对应的第二参考提货路径中未包括的编号最小的提货点,进而可以将包含该编号最小的提货点的所有候选提货路径作为当前非根节点的子节点加入第二搜索树。
在为第二搜索树中的当前非根节点加入子节点的过程中,可以检测当前非根节点到根节点经过的所有候选提货路径是否覆盖了所有的提货点,以根据是否覆盖所有提货点来控制添加子节点。如果覆盖了所有提货点,则停止为当前非根节点扩展子节点;如果未覆盖所有提货点,则继续为当前非根节点扩展子节点,直至覆盖所有提货点为止。
本公开实施例中,通过为当前非根节点扩展子节点,直至当前非根节点到根节点的所有候选提货路径覆盖所有的提货点时,停止为当前非根节点来进行子节点扩展。由于候选提货路径可以覆盖到所有提货点,避免了相关技术中造成的遗漏问题,能够提高全面性。
在为第二搜索树的各非根节点扩展子节点的过程中,若第二搜索树的非根节点到根节点经过的所有候选提货路径的提货成本信息不满足提货条件,则停止为非根节点扩展子节点。也就是说,如果非根节点到根节点经过的所有候选提货路径的提货成本信息已经不能满足最小提货成本信息要求(大于当前符合条件的目标提货路径的最小费用),则停止为该非根节点继续扩展子节点,不再向已不可能成为最小费用的提货路径的方向上遍历,通过提前停止计算进一步加快最小费用的目标提货路径的计算效率。
在对所有非根节点扩展子节点之后,将子节点到根节点经过的所有候选提货路径进行组合得到第三参考提货路径;若第三参考提货路径的提货成本信息满足提货条件,则将第三参考提货路径确定为目标提货路径。其中,第三参考提货路径用于准确地确定出目标提货路径,具体指的是任意一层的子节点到根节点所经过的所有候选提货路径的组合,因此第三参考提货路径中可以包括不同层的多个候选提货路径。如果第三参考提货路径的提货成本信息为最小的提货成本信息,则可以将第三参考提货路径确定为目标提货路径。即,从所有包含全部提货点的完整的第三参考提货路径的组合中,保留最小费用的一个作为目标提货路径。
图8中示意性示出了第二搜索树的具体示意图,参考图8中所示,以公用节点作为根节点,第一层的非根节点包括所有包含编号为F1的提货点的候选提货路径,例如F1,F3以及F1,F4,F5以及F1,F6,F7以及F1,F8。再考虑第一层的各个非根节点的子节点,比如第一层第一个节点不包括F2,F4,F5,F6,F7,F8,那么选包含最小编号F2的所有候选提货路径作为第一层第一个节点的子节点。以此类推,得到第一层各个非根节点的子节点即为第二层。再看第二层的第一个节点到根节点,不包含哪个提货点编号,如不包含F6,F7,F8,则将包含最小编号F6的所有候选提货路径作为第二层第一个节点的子节点,以此类推得到第二层的各个节点的子节点。以此类推,得到所有非根节点的子节点。举例来说,假设经过成本费用的计算,图8中的包括F1,F3以及F2,F4,F5以及F6,F7,F8的第三参考提货路径费用最小,因此可以将其作为目标提货路径。包括F1,F3以及F2,F4,F5以及F6,F8以及F7的第三参考提货路径费用不是最小,因此过滤掉。包括F1,F3以及F2,F4,F5以及F6的第三参考提货路径,在非根节点F6处已经不满足费用最小,不会为非根节点F6继续扩展子节点,因此将其过滤掉。
在搜索所有可能的提货方案时,无需考虑候选提货路径加入提货方案的先后顺序,因此在第二搜索树中指定候选提货路径的加入顺序,加入顺序即为从根节点到最后一层子节点的加入顺序。在第二搜索树中,由于加入节点时,均是由编号从小到大的顺序作为加入顺序,第二搜索树包含了指定的加入顺序,因此能够避免不同排列顺序而导致的重复搜索的问题,可以减少重复的搜索结果,减少计算量。
本公开实施例中的技术方案,调用地图服务获得提货点与目标仓库两两之间的距离,在以此构建的第一搜索树中,根据车辆装载体积和装载运输时间组成的提取约束条件,使用宽度优先遍历方式从第一搜索树中获得所有可能的候选提货路径。由于能够使用宽度优先遍历得到所有的候选提货路径,避免了可能出现的提货路径的遗漏问题,提高了全面性以及完整性,也能够得到比较准确的候选提货路径。进一步地,在所有可能的候选提货路径中,搜索满足所有提货点的货物需求的提货方案,避免出现可能存在的提货方案的遗漏,能够寻找出费用最小的全局最优解,能够避免局限性,精准地得到待提货区域对应的目标提货路径,以使得提货费用最低,节约了成本。
采用统一的提货点遍历顺序将候选提货路径加入到第二搜索树中,确保不遗漏候选提货路径所有可能的组合方式,同时减少无效的搜索计算。在搜索过程中,根据当前已知的最小费用,在候选提货路径加入时比较已加入的候选提货路径的费用之和,提前停止在不可能产生最优方向上的搜索计算,减少了不必要的计算和重复计算,进一步提高对目标提货路径的生成效率,也能够准确地确定出对于该待提货区域的目标提货路径,能够提高目标提货路径的针对性。
示例性装置
接下来,参考图9对本公开示例性实施方式的提货路径生成装置进行说明。如图9所示,提货路径生成装置900可以包括提货点确定模块901、候选路径确定模块902以及目标路径生成模块903,其中:
提货点确定模块901,用于获取待提货区域包含的多个提货点;
候选路径确定模块902,用于对多个所述提货点进行排列,确定满足提取约束条件的多个候选提货路径;
目标路径生成模块903,用于根据提货条件对多个所述候选提货路径进行组合,并根据组合结果生成对于所述待提货区域的目标提货路径,以通过所述目标提货路径将所述待提货区域的物品运输至目标仓库。
在本公开的一种示例性实施例中,所述候选路径确定模块包括:
第一搜索树构建模块,用于以所述待提货区域对应的目标仓库为根节点,并以每个提货点作为非根节点,逐层构建第一搜索树;
候选路径生成模块,用于在所述第一搜索树中,将各非根节点到所述根节点经过的所有提货点进行组合,以得到所述候选提货路径。
在本公开的一种示例性实施例中,所述第一搜索树构建模块包括:
第一节点确定模块,用于以所述待提货区域对应的目标仓库为所述根节点,以各提货点作为所述根节点的各子节点,以生成所述非根节点;
第一子节点加入模块,用于通过逐层遍历方式对各所述非根节点加入子节点,直至包括所述子节点到所述根节点经过的提货点的候选提货路径不满足所述提取约束条件为止,以根据各所述子节点以及所述根节点构建所述第一搜索树。
在本公开的一种示例性实施例中,所述第一子节点加入模块包括:
第一参考提货路径确定模块,用于对于各所述非根节点进行逐层遍历,根据当前非根节点到所述根节点所经过的提货点组成第一参考提货路径;
第一子节点确定模块,用于将未包括在所述第一参考提货路径的所有提货点作为所述当前非根节点的子节点。
在本公开的一种示例性实施例中,所述装置还包括:
第一子节点停止模块,用于若所述当前非根节点的子节点中存在预设类型子节点,使得所述第一参考提货路径不满足所述提取约束条件,则取消将所述预设类型子节点加入所述第一搜索树中。
在本公开的一种示例性实施例中,所述装置还包括:
候选路径筛选模块,用于对于包含相同的提货点且提货点的排列顺序不同的多个所述候选提货路径,将多个所述候选提货路径中装载运输时间最小的候选提货路径作为满足所述提取约束条件的所述候选提货路径。
在本公开的一种示例性实施例中,所述目标路径生成模块包括:
成本计算模块,用于计算多个所述候选提货路径对应的提货成本信息;
路径组合模块,用于以所述提货成本信息最小作为所述提货条件,对多个所述候选提货路径进行组合,以确定对于所述待提货区域的所述目标提货路径。
在本公开的一种示例性实施例中,所述路径组合模块包括:
第二搜索树构建模块,用于以公用节点作为根节点,以多个所述候选提货路径作为非根节点,逐层构建针对多个所述候选提货路径的第二搜索树;
生成控制模块,用于在所述第二搜索树中,根据各所述非根节点到所述根节点经过的候选提货路径的提货成本信息,确定所述目标提货路径。
在本公开的一种示例性实施例中,所述第二搜索树构建模块包括:
提货点编号模块,用于对所有提货点按大小顺序进行编号;
第二节点确定模块,用于以所述公用节点为所述根节点,以包含编号最小的提货点的所有候选提货路径作为所述根节点的子节点,以生成各非根节点;
第二子节点扩展模块,用于逐层为各所述非根节点扩展子节点,直至所述非根节点到所述根节点经过的候选提货路径的覆盖所有的提货点为止,以根据各所述子节点以及所述根节点构建所述第二搜索树。
在本公开的一种示例性实施例中,所述第二子节点扩展模块包括:
第二参考路径组成模块,用于对于各所述非根节点进行逐层遍历,根据当前非根节点到所述第二搜索树的根节点所包含的所有候选提货路径组成第二参考提货路径;
第二子节点确定模块,用于确定未包括在所述第二参考提货路径中的编号最小的提货点,且将包含所述编号最小的提货点的所有候选提货路径作为所述第二搜索树中所述当前非根节点的子节点。
在本公开的一种示例性实施例中,所述装置还包括:
第二子节点停止模块,用于若所述第二搜索树的非根节点到所述根节点经过的所有候选提货路径的提货成本信息不满足所述提货条件,则停止为所述非根节点扩展子节点。
在本公开的一种示例性实施例中,所述目标路径生成模块包括:
第三参考路径组成模块,用于在所述第二搜索树中,将各所述子节点到所述根节点经过的所有候选提货路径进行组合得到第三参考提货路径;
条件判断模块,用于若所述第三参考提货路径的提货成本信息满足所述提货条件,则将所述第三参考提货路径确定为所述目标提货路径。
在本公开的一种示例性实施例中,所述目标提货路径中的各所述候选提货路径包含的提货点不重合,且各所述候选提货路径组成的所述目标提货路径覆盖所述待提取区域的所有提货点。
需要说明的是,本公开实施例提供的提货路径生成装置的各模块的具体细节,已经在对应的提货路径生成方法中进行了详细描述,此处不再赘述。
示例性电子设备
接下来,介绍根据本公开的另一示例性实施方式的用于提货路径生成的电子设备。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本公开的提货路径生成可以至少包括至少一个处理单元、以及至少一个存储单元。其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。例如,所述处理单元可以执行如图2中所示的步骤。
下面参照图10来描述根据本公开的这种实施方式的用于提货路径生成的电子设备1000。图10所示的提货路径生成设备1000仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图10所示,提货路径生成设备1000以通用计算设备的形式表现。提货路径生成设备1000的组件可以包括但不限于:上述至少一个处理单元1001、上述至少一个存储单元1002、连接不同系统组件(包括存储单元1002和处理单元1001)的总线1003。
总线1003表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、图形加速端口、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储单元1002可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)10021和/或高速缓存存储器10022,还可以进一步包括只读存储器(ROM)10023。
存储单元1002还可以包括具有一组(至少一个)程序模块10024的程序/实用工具10025,这样的程序模块10024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
提货路径生成设备1000也可以与一个或多个外部设备1004(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与提货路径生成设备1000交互的设备通信,和/或与使得提货路径生成设备1000能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1005进行。并且,提货路径生成设备1000还可以通过网络适配器1006与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1006通过总线1003与提货路径生成设备1000的其它模块通信。应当明白,尽管图10中未示出,可以结合提货路径生成设备1000使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
示例性介质
接下来,对本公开示例性实施方式的计算机可读存储介质进行说明。
在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的提货路径生成方法中的步骤,例如,所述处理单元可以执行如图2中所示的步骤。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本公开实施例中描述了用于提货路径生成的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上经过的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了提货路径生成设备的若干装置或子装置,但是这种划分仅仅并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
此外,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本公开的精神和原理,但是应该理解,本公开并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (10)
1.一种提货路径生成方法,其特征在于,包括:
获取待提货区域包含的多个提货点;
对多个所述提货点进行排列,确定满足提取约束条件的多个候选提货路径;
根据提货条件对多个所述候选提货路径进行组合,并根据组合结果生成对于所述待提货区域的目标提货路径,以通过所述目标提货路径将所述待提货区域的物品运输至目标仓库。
2.根据权利要求1所述的提货路径生成方法,其特征在于,所述对多个所述提货点进行排列,确定满足提取约束条件的多个候选提货路径,包括:
以所述待提货区域对应的目标仓库为根节点,并以每个提货点作为非根节点,逐层构建第一搜索树;
在所述第一搜索树中,将各非根节点到所述根节点经过的所有提货点进行组合,以得到所述候选提货路径。
3.根据权利要求2所述的提货路径生成方法,其特征在于,所述以所述待提货区域对应的目标仓库为根节点,并以每个提货点作为非根节点,逐层构建第一搜索树,包括:
以所述待提货区域对应的目标仓库为所述根节点,以各提货点作为所述根节点的各子节点,以生成所述非根节点;
通过逐层遍历方式对各所述非根节点加入子节点,直至包括所述子节点到所述根节点经过的提货点的候选提货路径不满足所述提取约束条件为止,以根据各所述子节点以及所述根节点构建所述第一搜索树。
4.根据权利要求3所述的提货路径生成方法,其特征在于,所述通过逐层遍历方式对各所述非根节点加入子节点,包括:
对于各所述非根节点进行逐层遍历,根据当前非根节点到所述根节点所经过的提货点组成第一参考提货路径;
将未包括在所述第一参考提货路径的所有提货点作为所述当前非根节点的子节点。
5.根据权利要求4所述的提货路径生成方法,其特征在于,所述方法还包括:
若所述当前非根节点的子节点中存在预设类型子节点,使得所述第一参考提货路径不满足所述提取约束条件,则取消将所述预设类型子节点加入所述第一搜索树中。
6.根据权利要求1所述的提货路径生成方法,其特征在于,所述方法还包括:
对于包含相同的提货点且提货点的排列顺序不同的多个所述候选提货路径,将多个所述候选提货路径中装载运输时间最小的候选提货路径作为满足所述提取约束条件的所述候选提货路径。
7.根据权利要求1所述的提货路径生成方法,其特征在于,所述根据提货条件对多个所述候选提货路径进行组合,并根据组合结果生成对于所述待提货区域的目标提货路径,包括:
计算多个所述候选提货路径对应的提货成本信息;
以所述提货成本信息最小作为所述提货条件,对多个所述候选提货路径进行组合,以确定对于所述待提货区域的所述目标提货路径。
8.一种提货路径生成装置,其特征在于,包括:
提货点确定模块,用于获取待提货区域包含的多个提货点;
候选路径确定模块,用于对多个所述提货点进行排列,确定满足提取约束条件的多个候选提货路径;
目标路径生成模块,用于根据提货条件对多个所述候选提货路径进行组合,并根据组合结果生成对于所述待提货区域的目标提货路径,以通过所述目标提货路径将所述待提货区域的物品运输至目标仓库。
9.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至7中任意一项所述的提货路径生成方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述的提货路径生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010355324.2A CN111553637B (zh) | 2020-04-29 | 2020-04-29 | 提货路径生成方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010355324.2A CN111553637B (zh) | 2020-04-29 | 2020-04-29 | 提货路径生成方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111553637A true CN111553637A (zh) | 2020-08-18 |
CN111553637B CN111553637B (zh) | 2023-09-26 |
Family
ID=72003183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010355324.2A Active CN111553637B (zh) | 2020-04-29 | 2020-04-29 | 提货路径生成方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111553637B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113095751A (zh) * | 2021-03-31 | 2021-07-09 | 牧星机器人(江苏)有限公司 | 一种多供货商的运载供货优化方法、装置及系统 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030014286A1 (en) * | 2001-07-16 | 2003-01-16 | Cappellini Pablo Dario | Search and retrieval system of transportation-related flexibly defined paths |
WO2006054506A1 (ja) * | 2004-11-17 | 2006-05-26 | Turbo Data Laboratories Inc. | ツリーデータの検索・集計・ソート方法及びプログラム |
US7069530B1 (en) * | 2001-06-03 | 2006-06-27 | Cadence Design Systems, Inc. | Method and apparatus for routing groups of paths |
US20060167601A1 (en) * | 2004-12-17 | 2006-07-27 | Eads Deutschland Gmbh | Method and apparatus for determining optimized paths of a vehicle |
US20110106306A1 (en) * | 2009-11-02 | 2011-05-05 | Samsung Electronics Co., Ltd. | Path planning apparatus of robot and method and computer-readable medium thereof |
CN104598979A (zh) * | 2013-10-31 | 2015-05-06 | Sap欧洲公司 | 基于时间和位置的递送最优化 |
JP5880139B2 (ja) * | 2012-02-29 | 2016-03-08 | 富士通株式会社 | 配置サーバ、情報処理システム、キャッシュ配置方法、キャッシュ配置プログラム |
CN106503836A (zh) * | 2016-10-09 | 2017-03-15 | 电子科技大学 | 一种多目标优化的纯电动汽车物流配送优化调度方法 |
US20170287057A1 (en) * | 2016-03-31 | 2017-10-05 | International Business Machines Corporation | Dynamically optmizing inventory picking path within a store |
CN107977739A (zh) * | 2017-11-22 | 2018-05-01 | 深圳北斗应用技术研究院有限公司 | 物流配送路径的优化方法、装置及设备 |
CN107992985A (zh) * | 2018-01-22 | 2018-05-04 | 郑州云海信息技术有限公司 | 一种确定车辆路径的方法及装置 |
CN110274604A (zh) * | 2018-11-06 | 2019-09-24 | 北京京东尚科信息技术有限公司 | 用于生成路径信息的方法和装置 |
-
2020
- 2020-04-29 CN CN202010355324.2A patent/CN111553637B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7069530B1 (en) * | 2001-06-03 | 2006-06-27 | Cadence Design Systems, Inc. | Method and apparatus for routing groups of paths |
US20030014286A1 (en) * | 2001-07-16 | 2003-01-16 | Cappellini Pablo Dario | Search and retrieval system of transportation-related flexibly defined paths |
WO2006054506A1 (ja) * | 2004-11-17 | 2006-05-26 | Turbo Data Laboratories Inc. | ツリーデータの検索・集計・ソート方法及びプログラム |
US20060167601A1 (en) * | 2004-12-17 | 2006-07-27 | Eads Deutschland Gmbh | Method and apparatus for determining optimized paths of a vehicle |
US20110106306A1 (en) * | 2009-11-02 | 2011-05-05 | Samsung Electronics Co., Ltd. | Path planning apparatus of robot and method and computer-readable medium thereof |
JP5880139B2 (ja) * | 2012-02-29 | 2016-03-08 | 富士通株式会社 | 配置サーバ、情報処理システム、キャッシュ配置方法、キャッシュ配置プログラム |
CN104598979A (zh) * | 2013-10-31 | 2015-05-06 | Sap欧洲公司 | 基于时间和位置的递送最优化 |
US20170287057A1 (en) * | 2016-03-31 | 2017-10-05 | International Business Machines Corporation | Dynamically optmizing inventory picking path within a store |
CN106503836A (zh) * | 2016-10-09 | 2017-03-15 | 电子科技大学 | 一种多目标优化的纯电动汽车物流配送优化调度方法 |
CN107977739A (zh) * | 2017-11-22 | 2018-05-01 | 深圳北斗应用技术研究院有限公司 | 物流配送路径的优化方法、装置及设备 |
CN107992985A (zh) * | 2018-01-22 | 2018-05-04 | 郑州云海信息技术有限公司 | 一种确定车辆路径的方法及装置 |
CN110274604A (zh) * | 2018-11-06 | 2019-09-24 | 北京京东尚科信息技术有限公司 | 用于生成路径信息的方法和装置 |
Non-Patent Citations (1)
Title |
---|
黄敏芳;胡祥培;王征;AMY Z. ZENG;: "车辆路径问题的三阶段求解方法研究", no. 03 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113095751A (zh) * | 2021-03-31 | 2021-07-09 | 牧星机器人(江苏)有限公司 | 一种多供货商的运载供货优化方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111553637B (zh) | 2023-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230385746A1 (en) | Dynamically Routing Salvage Shipments and Associated Method | |
US11270256B2 (en) | Material organization task generation method and device, and material organization method and device | |
US9395198B2 (en) | Dynamic routing via intelligent mapping system | |
US10593110B2 (en) | Method and device for computing a path in a game scene | |
US20180096287A1 (en) | Re-routing a delivery agent to improve the efficiency of transporting packages | |
WO2023024776A1 (zh) | 订单配送方法和装置、系统、电子设备、计算机可读介质 | |
CN110968791A (zh) | 货源路线的数据处理方法、装置、设备及存储介质 | |
KR102497560B1 (ko) | 인공지능 기반 물류 중개 플랫폼 서비스 제공 방법, 장치 및 시스템 | |
CN111553637B (zh) | 提货路径生成方法、装置、电子设备及存储介质 | |
WO2024103974A1 (zh) | 路径规划方法及系统、装置、电子设备和存储介质 | |
CN112232726A (zh) | 拣货方法、装置、服务器及存储介质 | |
CN115097843A (zh) | 基于动态优先级快递分拨中心的多agv路径规划方法及装置 | |
CN113222205A (zh) | 一种路径规划的方法和装置 | |
KR102627576B1 (ko) | 운송자의 경로, 시간 및 빅데이터를 활용한 최적화된 물품 운송 방법 | |
US20150106392A1 (en) | Planar graph generation device and method | |
US20230196215A1 (en) | Method for computing a set of itineraries from a departure location to an arrival location using cluster-based searching | |
CN113762573B (zh) | 一种物流网络优化方法和装置 | |
US20210166186A1 (en) | Information processing device, moving device, information processing system, method, and program | |
CN113065820A (zh) | 信息生成方法、装置、电子设备和计算机可读介质 | |
CN112183954A (zh) | 一种获取货物的装载方案的方法和装置 | |
Oliveira et al. | Efficient multi-constrained task allocation in smart warehouses | |
CN113642742A (zh) | 拣货任务组合的方法和装置 | |
US20240152826A1 (en) | Travel distance calculation and task selection with intelligent buffers | |
CN111325502B (zh) | 线路计算方法、装置、电子设备及可读存储介质 | |
CN113177661A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |