CN106991545B - 求解购物订单配送方案的方法、装置及商家配送系统 - Google Patents
求解购物订单配送方案的方法、装置及商家配送系统 Download PDFInfo
- Publication number
- CN106991545B CN106991545B CN201610037108.7A CN201610037108A CN106991545B CN 106991545 B CN106991545 B CN 106991545B CN 201610037108 A CN201610037108 A CN 201610037108A CN 106991545 B CN106991545 B CN 106991545B
- Authority
- CN
- China
- Prior art keywords
- commodity
- node
- package
- commodity node
- data packet
- 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.)
- Active
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/087—Inventory or stock management, e.g. order filling, procurement or balancing against orders
-
- 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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Engineering & Computer Science (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- Marketing (AREA)
- General Physics & Mathematics (AREA)
- Development Economics (AREA)
- Theoretical Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例公开了一种求解购物订单配送方案的方法、装置及商家配送系统,所述方法包括:根据用户的购物订单,建立一配送方案,所述配送方案包括包裹数据包以及包裹数据包的配送仓库,所述包裹数据包内至少有一个商品节点,且所述商品节点所表示的商品可打包成一包裹,从同一配送仓库发货;判断当前配送方案中,是否存在回溯商品节点;如果存在回溯商品节点,则在当前配送方案的基础上,以所述回溯商品节点为起始节点,重新建立一配送方案,直至当前配送方案中不存在回溯商品节点为止;采用本申请所公开的方法及装置,可获得购物订单的全部配送方案。
Description
技术领域
本申请涉及互联网的技术领域,特别是涉及一种求解购物订单配送方案的方法、装置及商家配送系统。
背景技术
随着互联网的飞速发展,网络购物已成为一种重要的购物方式。通常,用户网络购物的流程如下:首先通过互联网登陆一网络购物平台(比如淘宝和天猫等);然后在该购物平台中检索需购买的商品,加入至购物车;最后结算购物车商品,购物平台生成购物订单,展示至用户;而商家将配送商品至用户预留地址。
通常,用户购物订单包括多类商品,而每类商品的存储仓库又有多个,那么一购物订单存在多种配送方案。如图1所示,比如一购物订单包括商品A、商品B以及商品C,而商品A的存储仓库为{1,3},商品B的存储仓库为{2,4},商品C的存储仓库为{2,3,4},那么该购物订单的配送方案可为将商品C与商品A打包成一包裹,从仓库2发货,商品B单独打包成一包裹,从仓库1发货;也可为将商品C与商品B打包成一包裹,从仓库3发货,商品A单独打包成一包裹,从仓库2发货;亦可为将商品A单独打包成一包裹从仓库1发货,商品B单独打包成一包裹从仓库2发货,商品C单独打包成一包裹从仓库3发货。
在实际应用中,由于商家有从一购物订单的全部配送方案中选择一最优配送方案,为用户配送的需求,而获取最优配送方案的基础又为:获得一购物订单的全部配送方案,因此,在现有技术中,亟需一种求解购物订单配送方案的方法、装置及商家配送系统,以获得一购物订单的全部配送方案。
申请内容
本申请实施例中提供了一种求解购物订单配送方案的方法、装置及商家配送系统,以求解一购物订单的全部配送方案。
为了解决上述技术问题,本申请实施例公开了如下技术方案:
第一方面,本申请提供了一种求解购物订单配送方案的方法,包括:
步骤1-A:根据用户的购物订单,建立一配送方案,所述配送方案包括包裹数据包以及包裹数据包的配送仓库,所述包裹数据包内至少有一个商品节点,且所述商品节点所表示的商品可打包成一包裹,从同一配送仓库发货;
步骤1-B:判断当前配送方案中,是否存在回溯商品节点;
步骤1-C:如果步骤1-B确定存在回溯商品节点,则在当前配送方案的基础上,以所述回溯商品节点为起始节点,重新建立一配送方案,返回循环执行步骤1-A;
步骤1-D:如果步骤1-B确定不存在回溯商品节点,则结束处理,并由此获得所述购物订单的全部配送方案。
可选的,所述步骤1-A包括:
步骤2-A:根据用户的购物订单,建立一待选商品节点集合;
步骤2-B:在所述待选商品节点集合中,确定一商品节点为起始节点;
步骤2-C:为所述起始节点生成一新的包裹数据包,且设置所述包裹数据包的配送仓库为所述起始节点的存储仓库,以及,在所述待选商品节点集合中去除起始节点;
步骤2-D:判断所述待选商品节点集合中,是否存在满足加入条件的商品节点;
步骤2-E:如果存在满足加入条件的商品节点,将所述商品节点加入至包裹数据包,且更新所述包裹数据包的配送仓库为所述包裹数据包内所有已加入的商品节点的存储仓库的交集,以及,在所述待选商品集合中去除加入至包裹数据包的商品节点,返回循环执行步骤2-D;
步骤2-F:如果不存在满足加入条件的商品节点,判断所述待选商品集合中是否存在商品节点;
步骤2-G:如果所述待选商品集合中存在商品节点,返回循环执行步骤2-B;
步骤2-H:如果所述待选商品集合中不存在商品节点,确定当前配送方案建立完成,保存当前配送方案,并重新以当前配送方案为基础返回执行步骤1-B;
其中,所述加入条件至少包括:商品节点的存储仓库与所述包裹数据包的配送仓库存在交集。
可选的,所述加入条件至少还包括:商品节点的存储仓库与所述包裹数据包中当前商品节点的存储仓库存在交集。
可选的,所述步骤2-D包括:
步骤2-D-A:判断所述待选商品节点集合中,是否存在存储仓库与所述包裹数据包中当前商品节点的存储仓库存在交集、且存储仓库与所述包裹数据包的配送仓库存在交集的商品节点;
步骤2-D-B:如果确认存在存储仓库与所述包裹数据包中当前商品节点的存储仓库存在交集的商品节点,且所确认的商品节点的存储仓库与所述包裹数据包的配送仓库存在交集,则确认存在满足加入条件的商品节点,执行步骤2-E;
步骤2-D-C:如果确认存在存储仓库与所述包裹数据包中当前商品节点的存储仓库存在交集的商品节点,但所确认的商品节点的存储仓库与所述包裹数据包的配送仓库不存在交集,则将所确认的商品节点设置为起始节点,返回执行步骤2-C;
步骤2-D-D:如果不存在存储仓库与所述包裹数据包中当前商品节点的存储仓库存在交集的商品节点,则确认不存在满足加入条件的商品节点,执行步骤2-F。
可选的,所述步骤1-B包括:
步骤1-B-A:判断当前配送方案中,最后一个生成的包裹数据包的商品节点数量是否大于1;
步骤1-B-B:如果最后一个生成的包裹数据包的商品节点数量大于1,则确定当前配送方案中存在回溯商品节点,且确定所述包裹数据包中的倒数第二个加入的商品节点为回溯商品节点,并在当前配送方案中去除所述包裹数据包中的最后一个加入的商品节点,且将去除的商品节点重新加入至所述待选商品节点集合内,执行步骤1-C;
步骤1-B-C:如果最后一个生成的包裹数据包的商品节点数量不大于1,则判断当前配送方案中的包裹数据包的总数是否大于1;
步骤1-B-D:如果当前配送方案中的包裹数据包的总数大于1,则在当前配送方案中去除最后一个生成的包裹数据包,且将去除的包裹数据包中的所有商品节点都重新加入至所述待选商品节点集合内,并将倒数第二个生成的包裹数据包视为最后一个生成的包裹数据包,返回执行步骤1-B-A;
步骤1-B-E:如果当前配送方案中的包裹数据包的总数不大于1,则确定当前配送方案中,不存在回溯商品节点,执行步骤1-D。
可选的,所述步骤1-C包括:
将去除了所述包裹数据包中的最后一个加入的商品节点的配送方案作为重新建立的配送方案;
在所述重新建立的配送方案中,设置回溯商品节点所在的包裹数据包为当前包裹数据包,设置回溯商品节点为当前商品节点,设置当前包裹数据包的配送仓库为当前包裹数据包内所有已加入的商品节点的存储仓库的交集,将所述加入条件设置为:商品节点的存储仓库与当前包裹数据包的配送仓库存在交集、商品节点的存储仓库与所述包裹数据包中当前商品节点的存储仓库存在交集、且所述商品节点从未加入过当前包裹数据包,并返回执行步骤2-D。
可选的,所述步骤2-B包括:
将所述待选商品节点集合中存储仓库最多的商品节点确定为起始节点。
可选的,所述方法还包括:
步骤1-E:判断所建立的多个配送方案中,是否存在重复的配送方案;
步骤1-F:如果存在,在重复的配送方案中,保留一个配送方案并删除其它配送方案。
第二方面,本申请还提供了一种求解购物订单配送方案的装置,包括:
配送方案建立模块,用于根据用户的购物订单,建立一配送方案,所述配送方案包括包裹数据包以及包裹数据包的配送仓库,所述包裹数据包内至少有一个商品节点,且所述商品节点所表示的商品可打包成一包裹,从同一配送仓库发货;
回溯商品节点判断模块,用于判断当前配送方案中,是否存在回溯商品节点;
重建配送方案模块,用于在当前配送方案中存在回溯商品节点时,以所述回溯商品节点为起始节点,重新建立一配送方案。
可选的,所述配送方案建立模块包括:
建立待选商品节点集合单元,用于根据用户的购物订单,建立一待选商品节点集合;
起始节点确定单元,用于在所述待选商品节点集合中,确定一商品节点为起始节点;
第一设置单元,用于为所述起始节点生成一新的包裹数据包,且设置所述包裹数据包的配送仓库为所述起始节点的存储仓库,以及,在所述待选商品节点集合中去除起始节点;
第一判断单元,用于判断所述待选商品节点集合中,是否存在满足加入条件的商品节点;其中,所述加入条件至少包括:商品节点的存储仓库与所述包裹数据包的配送仓库存在交集;
第一处理单元,用于当存在满足加入条件的商品节点时,将所述商品节点加入至包裹数据包,且更新所述包裹数据包的配送仓库为所述包裹数据包内所有已加入的商品节点的存储仓库的交集,以及,在所述待选商品集合中去除加入至包裹数据包的商品节点;
第二判断单元,用于当不存在满足加入条件的商品节点时,判断所述待选商品集合中是否存在商品节点;
保存单元,用于当所述待选商品集合中不存在商品节点,确定当前配送方案建立完成,保存当前配送方案。
可选的,所述加入条件至少还包括:商品节点的存储仓库与所述包裹数据包中当前商品节点的存储仓库存在交集。
可选的,所述第一判断单元包括:
第一判断子单元,用于判断所述待选商品节点集合中,是否存在存储仓库与所述包裹数据包中当前商品节点的存储仓库存在交集、且存储仓库与所述包裹数据包的配送仓库存在交集的商品节点;
第一确认子单元,用于当确认存在存储仓库与所述包裹数据包中当前商品节点的存储仓库存在交集的商品节点,且所确认的商品节点的存储仓库与所述包裹数据包的配送仓库存在交集时,确认存在满足加入条件的商品节点;
设置子单元,用于当确认存在存储仓库与所述包裹数据包中当前商品节点的存储仓库存在交集的商品节点,但所确认的商品节点的存储仓库与所述包裹数据包的配送仓库不存在交集时,将所确认的商品节点设置为起始节点;
第二确认子单元,用于当不存在存储仓库与所述包裹数据包中当前商品节点的存储仓库存在交集的商品节点时,确认不存在满足加入条件的商品节点。
可选的,所述回溯商品节点判断模块包括:
第三判断单元,用于判断当前配送方案中,最后一个生成的包裹数据包的商品节点数量是否大于1;
第二处理单元,用于当最后一个生成的包裹数据包的商品节点数量大于1时,确定当前配送方案中存在回溯商品节点,且确定所述包裹数据包中的倒数第二个加入的商品节点为回溯商品节点,并在当前配送方案中去除所述包裹数据包中的最后一个加入的商品节点,且将去除的商品节点重新加入至所述待选商品节点集合内;
第四判断单元,用于当最后一个生成的包裹数据包的商品节点数量不大于1时,判断当前配送方案中的包裹数据包的总数是否大于1;
第三处理单元,用于在当前配送方案中的包裹数据包的总数大于1时,在当前配送方案中去除最后一个生成的包裹数据包,且将去除的包裹数据包中的所有商品节点都重新加入至所述待选商品节点集合内,并将倒数第二个生成的包裹数据包视为最后一个生成的包裹数据包;
确认单元,用于在当前配送方案中的包裹数据包的总数不大于1时,确定当前配送方案中,不存在回溯商品节点。
可选的,所述重建配送方案模块包括:
重建单元,用于将去除了所述包裹数据包中的最后一个加入的商品节点的配送方案作为重新建立的配送方案;
第四处理单元,用于在所述重新建立的配送方案中,设置回溯商品节点所在的包裹数据包为当前包裹数据包,设置回溯商品节点为当前商品节点,设置当前包裹数据包的配送仓库为当前包裹数据包内所有已加入的商品节点的存储仓库的交集,将所述加入条件设置为:商品节点的存储仓库与当前包裹数据包的配送仓库存在交集、商品节点的存储仓库与所述包裹数据包中当前商品节点的存储仓库存在交集、且所述商品节点从未加入过当前包裹数据包。
可选的,所述起始节点确定单元包括:
起始节点确定子单元,用于将所述待选商品节点集合中存储仓库最多的商品节点确定为起始节点。
可选的,所述装置还包括:
重复配送方案判断模块,用于判断所建立的多个配送方案中,是否存在重复的配送方案;
删除模块,用于在重复的配送方案中,保留一个配送方案并删除其它配送方案。
第三方面,本申请还提供一种商家配送系统,包括:
商家客户端,用于接收用户的购物订单;
企业发货平台,用于根据所述购物订单,调用求解购物订单配送方案的装置,以执行发货服务;
求解购物订单配送方案的装置,用于根据存储仓库列表,计算所述购物订单的全部配送方案。
可选的,所述装置还包括:
动态承诺服务中心,用于查询出所述购物订单中所有商品的存储仓库列表,并发送给所述求解购物订单配送方案的装置。
可选的,所述求解购物订单配送方案的装置,还用于从所计算出的全部配送方案中决策出最优配送方案,并返回所述最优配送方案至所述企业发货平台和商家客户端。
由上可见,在本申请实施例中,首先根据用户购物订单,建立一配送方案;再然后,判断当前所建立的配送方案中,是否存在回溯商品节点;如果存在,说明购物订单,仍可生成配送方案,在当前配送方案的基础上,以回溯节点为起始节点,重新建立一配送方案,然后再执行,判断当前建立的配送方案中是否存在回溯节点这一步骤,直至当前配送方案中,不存在回溯节点为止,此时说明已经生成购物订单的所有配送方案。因此,采用本申请实施例所公开的方法,可获得购物订单的全部配送方案。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的购物订单配送方案的一示意图;
图2为本申请实施例所提供的求解购物订单配送方案的一流程图;
图3为本申请实施例所提供的求解购物订单配送方案的另一流程图;
图4为本申请实施例所提供的求解购物订单配送方案的又一流程图;
图5为本申请实施例所提供的求解购物订单配送方案的另一流程图;
图6为本申请实施例所提供的商家配送系统的交互流程图;
图7为本申请实施例所提供的购物订单配送方案的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请公开了一种求解购物订单配送方案的方法,所述方法包括:
1、根据购物订单,新建一配送方案,关于如何新建配送方案,具体如下:
1—A:根据购物订单,建立一待选商品集合;
比如:购物订单中有五个商品,分别为A、B、C、D、E,那么新建的待选商品集合可为{A、B、C、D、E};
1—B:从待选商品集合中查找存储仓库最多的商品,为该商品分配一包裹数据包,且确定该包裹的配送仓库为该商品的存储仓库,以及,在待选商品集合中删除当前商品;
仍沿用上述举例,假设商品A的存储仓库为{1,3,6},商品B的存储仓库为{2,3,5},商品C的存储仓库为{1,3,4},商品D的存储仓库为{2,3,6},商品E的存储仓库为{2,4,5,6}。由于商品A、B、C、D的存储仓库均为3个,商品E的存储仓库为4个,可见商品E的存储仓库最多,因此为商品E分配一包裹数据包,且确定该包裹数据包的配送仓库为商品E的存储仓库{2,4,5,6};以及,在待选商品集合{A、B、C、D、E}中删除当前商品E,那么待选商品集合变为{A、B、C、D}。
1—C:判断待选商品集合中,是否存在满足当前包裹数据包加入条件的商品,所述加入条件至少包括存储仓库与当前包裹数据包的配送仓库存在交集;
通过上述举例,可得知,商品A的存储仓库为{1,3,6},商品B的存储仓库为{2,3,5},商品C的存储仓库为{1,3,4},商品D的存储仓库为{2,3,6},与当前包裹的配送仓库{2,4,5,6}均存在交集,因此可确定商品A、B、C、D均满足当前包裹的加入条件。
1—D:如果存在,从满足条件的商品中,选择一商品,加入至当前包裹数据包,且更新该包裹数据包的配送仓库为当前包裹数据包内所有已加入商品存储仓库的交集,以及,在待选商品集合中删除加入至包裹数据包的商品,返回继续执行步骤1—C。
1—E:如果不存在,判断待选商品集合中是否存在商品;如果存在,返回执行步骤1—B;如果不存在,确定当前配送方案建立完成,执行步骤2:判断当前配送方案中,是否存在回溯商品节点。
仍沿用上述举例,通过上述论述,可知商品A、B、C、D均满足当前包裹数据包的加入条件。此时可从待选商品集合{A、B、C、D}中依次选择一商品加入至当前包裹数据包(比如选择商品A),那么当前包裹数据包变为{E,A},且将该包裹数据包的配送仓库更新为商品A与商品E存储仓库的交集{6},以及,在待选商品集合{A、B、C、D}中,删除加入至包裹的商品A,此时,待选商品集合变为{B、C、D};
返回执行步骤1—C,在待选商品集合{B、C、D}中,选择一个满足当前包裹数据包{E,A}加入条件的商品,可以发现,商品B、C、D均不满足加入条件;执行步骤1—D,由于待选商品集合{B、C、D}中存在商品,返回执行步骤1—B,由于待选商品集合中的三个商品B、C、D的存储仓库数量相同,此时可从三个商品中,按顺序选择一商品(比如选择商品B),且为商品B分配一包裹数据包,将该包裹数据包的配送仓库更新为商品B的存储仓库{2,3,5};此时再执行步骤1—C,依次循环,直至待选商品集合中不存在商品为止,此时建立的配送方案为【{E,A},{B,C,D}】,且包裹{E,A}的配送仓库为6,包裹{B,C,D}的配送仓库为3。
2、判断当前配送方案中,是否存在回溯商品节点,且如果存在回溯商品节点,继续执行3,否则,确定已生成当前购物订单的全部配送方案;关于如何判断当前配送方案中,是否存在回溯商品节点,具体如下;
2—A:判断当前配送方案中,是否存在商品个数大于1的包裹数据包,如果存在,确定当前配送方案可回溯,且确定商品个数大于1的包裹数据包中的倒数第二个商品为回溯商品节点;否则,确定当前配送方案不存在回溯商品节点;
在实际应用中,一般是从当前配送方案中,倒序查找商品个数大于1的包裹数据包,即首先判断当前配送方案中倒数第一个包裹数据包的商品个数是否大于1,如果大于1,确定倒数第一个包裹数据包中的倒数第二个商品节点为回溯节点,否则,查找当前配送方案中的倒数第二个包裹数据包的商品个数是否大于1,依次循环,直至判断至当前配送方案中的第一个包裹数据包为止。
仍沿用上述举例,当前配送方案为【{E,A},{B,C,D}】;可首先判断{B,C,D}这个包裹数据包中的商品个数是否大于1,显然大于1,确定当前包裹数据包的倒数第二个商品节点C为回溯商品节点。
3、在当前配送方案的基础上,以回溯商品节点为起始节点,利用待选商品集合,重新建立一新配送方案,具体如下:
3—A:删除目标包裹数据包中的倒数第一个商品节点,以及,删除当前配送方案中,生成时间早于所述目标包裹数据包的包裹数据包;且将删除的商品节点以及删除的包裹数据包内的商品节点,加入至待选商品集合;其中,所述目标包裹数据包为所述回溯商品节点所在包裹数据包。
在本申请实施例中,仍沿用上述举例,可确定回溯商品节点所在包裹数据包,即目标包裹数据包为{B,C,D};此时,删除{B,C,D}中倒数第一个商品节点,即D,此时目标数据包为{B,C}。同时,由于在当前配送方案中,目标包裹数据包的生成时间最晚,因此在当前配送方案中,不存在生成时间早于目标包裹数据包的包裹数据包,因此,在当前配送方案中,无需删除包裹数据包。在本申请实施例中,经过上述处理,当前配送方案变为【{E,A},{B,C}】,待选商品集合变为【D】
3—B:设置当前商品为回溯商品节点对应的商品,当前包裹为回溯节点所在的包裹,返回执行步骤1—C;
仍沿用上述举例,设置当前商品为回溯节点C对应的商品C,当前包裹数据包为回溯节点所在的包裹数据包{B,C}。
3—C:更新当前包裹数据包的配送仓库,以及,将设置当前包裹数据包的加入条件设置为:商品的存储仓库与包裹数据包的配送仓库存在交集,以及所述商品从未加入过当前包裹数据包,返回执行步骤1—C。
在本申请实施例中,由于当前包裹数据包由{B,C,D}变为{B,C},因此,此时需将当前包裹数据包的配送仓库更新为商品B与商品C存储仓库的交集{3}。返回执行步骤1—C,发现待选商品集合中的商品D的存储仓库,与当前包裹数据包的配送仓库存在交集,但因该商品已加入过当前包裹,因此不满足加入条件,此时执行步骤1—B,为商品D重新分配一包裹,且设置该包裹的配送仓库为商品D的存储仓库{2,3,6};可发现将商品D加入至当前包裹后,待选商品集合中并不存在商品了,此时又生成一种配送方案,该配送方案为【{E,A},{B,C},{D}】;
此时在当前配送方案【{E,A},{B,C},{D}】的基础上,执行步骤2,可发现当前配送方案中的回溯商品节点为B,执行步骤3又可生成一种新的配送方案。
迭代执行上述步骤,由此可得到全部的配送方案,分别为:【{E,A},{B,C,D}】,包裹{E,A}的配送仓库为6,包裹{B,C,D}的配送仓库为3;【{E,A},{B,C},{D}】,包裹{E,A}的配送仓库为{6},包裹{B,C}的配送仓库为{3},包裹D的配送仓库为{2,3,6};【{E,A},{B},{C,D}】,包裹{E,A}的配送仓库为{6},包裹{B}的配送仓库为{2,3,5},包裹{C,D}的配送仓库为{3};【{E,A},{B},{C,},{D}】,包裹{E,A}的配送仓库为{6},包裹{B}的配送仓库为{2,3,5},包裹{C}的配送仓库为{2,3,5},包裹{D}的配送仓库为{2,3,6};【{E},{A},{B},{C,},{D}】,包裹{A}的配送仓库为{1,3,6},包裹{B}的配送仓库为{2,3,5},包裹{C}的配送仓库为{2,3,5},包裹{D}的配送仓库为{2,3,6},包裹{E}的配送仓库为{2,4,5,6}。
由上可见,采用本申请所公开的方法,可获得一购物订单的全部配送方案。
本申请还公开了一种求解购物订单配送方案的方法,如图2所示,所述方法至少包括以下步骤:
步骤S21:根据用户的购物订单,建立一配送方案,所述配送方案包括包裹数据包以及包裹数据包的配送仓库,所述包裹数据包内至少有一个商品节点,且所述商品节点所表示的商品可打包成一包裹,从同一配送仓库发货;
在本申请实施例中,可首先获取购物订单中的商品;然后通过商品与存储仓库对应表,查找每类商品的存储仓库;然后,根据每类商品的储存仓库,建立配送方案。
步骤S22:判断当前配送方案中,是否存在回溯商品节点;如果存在,执行步骤S23;否则,结束流程,并由此获得购物订单的全部配送方案。
步骤S23:在当前配送方案的基础上,以回溯商品节点为起始节点,重新建立一配送方案。
由上可见,在本申请实施例中,首先根据用户购物订单,建立一配送方案;再然后,判断当前所建立的配送方案中,是否存在回溯商品节点;如果存在,说明购物订单,仍可生成配送方案,在当前配送方案的基础上,以回溯节点为起始节点,重新建立一配送方案,然后再执行,判断当前建立的配送方案中是否存在回溯节点这一步骤,直至当前配送方案中,不存在回溯商品节点为止,此时说明已经生成购物订单的所有配送方案。因此,采用本申请实施例所公开的方法,可获得购物订单的全部配送方案。
在本申请的另一可行实施例中,如图3所示,上述所有实施例中的步骤S21可具体采用以下方法实现,具体如下:
步骤S31:根据用户的购物订单,建立一待选商品节点集合;
在本申请实施例中,比如购物订单中包括五类商品,分别为商品A、B、C、D、E,那么所建立的待选商品节点集合可具体包括五个商品节点,分别为商品节点A、B、C、D、E。
步骤S32:在所述待选商品节点集合中,确定一商品节点为起始节点;
在本申请实施例中,可确定待选商品节点集合中的任一商品节点为起始节点,在一较佳实施例中,可确定存储仓库数目最多商品所对应的节点为起始节点。而采用存储仓库数目最多商品所对应的节点为起始节点,可提高建立配送方案的效率。
步骤S33:为所述起始节点生成一新的包裹数据包,且设置所述包裹数据包的配送仓库为所述起始节点的存储仓库,以及,在所述待选商品节点集合中去除起始节点;
步骤S34:判断所述待选商品节点集合中,是否存在满足加入条件的商品节点;如果存在,执行步骤S35;如果不存在,执行步骤S36;
其中,所述加入条件至少包括:商品节点的存储仓库与所述包裹数据包的配送仓库存在交集。
步骤S35:将所述商品节点加入至包裹数据包,且更新所述包裹数据包的配送仓库为所述包裹数据包内所有已加入的商品节点的存储仓库的交集,以及,在所述待选商品集合中去除加入至包裹数据包的商品节点,返回循环执行步骤S34;
步骤S36:如果不存在满足加入条件的商品节点,判断所述待选商品集合中是否存在商品节点;如果是,返回循环执行步骤步S32;如果否,执行步骤S37;
步骤S37:确定当前配送方案建立完成,保存当前配送方案。
由上可见,在本申请实施例中,可根据购物订单,建立一配送方案。
在本申请的另一可行实施例中,上述所有实施例中的加入条件至少还包括:商品节点的存储仓库与所述包裹数据包中当前商品节点的存储仓库存在交集;如图4所示,上述所有实施例中的步骤S34还可包括:
步骤S341:判断所述待选商品节点集合中,是否存在存储仓库与所述包裹数据包中当前商品节点的存储仓库存在交集的商品节点;如果存在,执行步骤S342;否则,确认不存在满足加入条件的商品节点,执行步骤S36;
步骤S342:判断所述商品节点的存储仓库与所述包裹数据包的配送仓库是否存在交集;如果存在,确认存在满足加入条件的商品节点,执行步骤S35;否则,执行步骤S343;
步骤S343:确定存储仓库与包裹数据包中当前商品节点的存储仓库存在交集的商品节点为起始节点,执行步骤S33;
在本申请实施例中,当存在与当前商品的存储仓库存在交集,但与当前包裹数据包的配送仓库不存在交集的商品节点时,直接将上述商品节点作为起始节点,且为该起始节点分配包裹数据包,而无需在待选商品节点集合中,再选一商品节点作为起始节点,从而提高建立配送方案的效率。
在本申请的另一可行实施例中,如图5所示,上述所有实施例中的步骤S22可包括:
步骤S51:判断当前配送方案中,最后一个生成的包裹数据包的商品节点数量是否大于1;如果大于1,执行步骤S52;否则,执行步骤S53;
步骤S52:确定当前配送方案中,存在回溯商品节点,且确定所述包裹数据包中的倒数第二个加入的商品节点为回溯商品节点,并在当前配送方案中去除所述包裹数据包中的最后一个加入的商品节点,且将去除的商品节点重新加入至待选商品节点集合内;
步骤S53:判断当前配送方案中的包裹数据包的总数是否大于1;如果大于1,执行步骤S54;如果小于等于1,确定当前配送方案中,不存在回溯商品节点,结束处理,并由此获得当前购物订单的全部配送方案。
步骤S54:在当前配送方案中去除最后一个生成的包裹数据包,且将去除的包裹数据包中的所有商品节点都重新加入至所述待选商品节点集合内,并将倒数第二个生成的包裹数据包视为最后一个生成的包裹数据包,返回执行步骤S51;
由上可见,采用本申请的方法,可确定当前建立的配送方案中,是否存在回溯商品节点。
在本申请的另一可行实施例中,上述所有实施例中的步骤S23可具体包括:将去除了所述包裹数据包中的最后一个加入的商品节点的配送方案作为重新建立的配送方案;
在所述重新建立的配送方案中,设置回溯商品节点所在的包裹数据包为当前包裹数据包,设置回溯商品节点为当前商品节点,设置当前包裹数据包的配送仓库为当前包裹数据包内所有已加入的商品节点的存储仓库的交集,将所述加入条件设置为:商品节点的存储仓库与当前包裹数据包的配送仓库存在交集、商品节点的存储仓库与所述包裹数据包中当前商品节点的存储仓库存在交集、且所述商品节点从未加入过当前包裹数据包;且返回步骤S34。
在实际应用中,采用上述方法为购物订单所建立的多个配送方案中,可能存在重复的配送方案,因此在本申请的另一可行实施例中,上述所有实施例中的方法,还可包括:
判断所建立的多个配送方案中,是否存在重复配送方案;
如果存在,在重复的配送方案中,保留一个配送方案并删除其它配送方案。
本申请还公开了一种商家配送系统,如图6所示,该系统包括商家客户端、ECP(Enterprise Consign Platform,企业发货平台)、CC(Consign Center,发货中心)、DPS(Dynamic Promise Service,动态承诺服务中心)、WHC(WareHouse Center,仓储中心)以及仓库系统,具体流程如下:
步骤1:当商家客户端接收到用户的购物订单时,发送该购物订单至ECP;
步骤2:ECP调用CC的发货服务;
步骤3:CC将通过DPS查询出,购物订单中所有商品的存储仓库列表;
步骤4:CC计算出该购物订单的所有配送方案,而CC可具体采用本申请所公开的求解购物订单配送方案的方法,获取购物订单的所有配送方案。
步骤5:CC从所有配送方案中,决策出最优的配送方案;
在本申请实施例中,可根据用户的需求,具体设置如何决策最优配送方案。在本申请实施例中,可具体从所有配送方案中,选择配送时间最短的配送方案,作为最优配送方案,提供给用户;也可从所有配送方案中,选择配送费用最少的配送方案,作为最优配送方案,提供给用户。
步骤6:CC执行一些其它发货操作;
在实际应用中,CC可执行更新物流订单以及同步发货状态等操作;
步骤7:CC通过WHC创建存储作业单,并通知仓库系统;
步骤8:CC返回最优配送方案至ECP和商家客户端;
在本申请中,商家可根据上述最优配送方案为用户进行配送,从而提高用户体验。
通过以上的方法实施例的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
与本申请提供的求解购物订单配送方案的方法实施例相对应,本申请还提供了一种求解购物订单配送方案的装置,如图7所示,包括:
配送方案建立模块71,用于根据用户的购物订单,建立一配送方案,所述配送方案包括包裹数据包以及包裹数据包的配送仓库,所述包裹数据包内至少有一个商品节点,且所述商品节点所表示的商品可打包成一包裹,从同一配送仓库发货;
回溯商品节点判断模块72,用于判断当前配送方案中,是否存在回溯商品节点;
重建配送方案模块73,用于在当前配送方案中存在回溯商品节点时,以所述回溯商品节点为起始节点,重新建立一配送方案。
由上可见,在本申请实施例中,首先根据用户购物订单,建立一配送方案;再然后,判断当前所建立的配送方案中,是否存在回溯商品节点;如果存在,说明购物订单,仍可生成配送方案,在当前配送方案的基础上,以回溯节点为起始节点,重新建立一配送方案,然后再执行,判断当前建立的配送方案中是否存在回溯节点这一步骤,直至当前配送方案中,不存在回溯节点为止,此时说明已经生成购物订单的所有配送方案。因此,采用本申请实施例所公开的方法,可获得购物订单的全部配送方案。
在本申请的另一可行实施例中,上述所有实施例中的配送方案建立模块71包括:
建立待选商品节点集合单元,用于根据用户的购物订单,建立一待选商品节点集合;
起始节点确定单元,用于在所述待选商品节点集合中,确定一商品节点为起始节点;
第一设置单元,用于为所述起始节点生成一新的包裹数据包,且设置所述包裹数据包的配送仓库为所述起始节点的存储仓库,以及,在所述待选商品节点集合中去除起始节点;
第一判断单元,用于判断所述待选商品节点集合中,是否存在满足加入条件的商品节点;其中,所述加入条件至少包括:商品节点的存储仓库与所述包裹数据包的配送仓库存在交集;
第一处理单元,用于当存在满足加入条件的商品节点时,将所述商品节点加入至包裹数据包,且更新所述包裹数据包的配送仓库为所述包裹数据包内所有已加入的商品节点的存储仓库的交集,以及,在所述待选商品集合中去除加入至包裹数据包的商品节点;
第二判断单元,用于当不存在满足加入条件的商品节点时,判断所述待选商品集合中是否存在商品节点;
保存单元,用于当所述待选商品集合中不存在商品节点时,确定当前配送方案建立完成,保存当前配送方案。
在本申请的另一可行实施例中,上述所有实施例中的加入条件至少还包括:商品节点的存储仓库与所述包裹数据包中当前商品节点的存储仓库存在交集,所述第一判断单元包括:
第一判断子单元,用于判断所述待选商品节点集合中,是否存在存储仓库与所述包裹数据包中当前商品节点的存储仓库存在交集、且存储仓库与所述包裹数据包的配送仓库存在交集的商品节点;
第一确认子单元,用于当确认存在存储仓库与所述包裹数据包中当前商品节点的存储仓库存在交集的商品节点,且所确认的商品节点的存储仓库与所述包裹数据包的配送仓库存在交集时,确认存在满足加入条件的商品节点;
设置子单元,用于当确认存在存储仓库与所述包裹数据包中当前商品节点的存储仓库存在交集的商品节点,但所确认的商品节点的存储仓库与所述包裹数据包的配送仓库不存在交集时,将所确认的商品节点设置为起始节点;
第二确认子单元,用于当不存在存储仓库与所述包裹数据包中当前商品节点的存储仓库存在交集的商品节点时,确认不存在满足加入条件的商品节点。
在本申请的又一可行实施例中,上述所有实施例中的回溯商品节点判断模块72包括:
第三判断单元,用于判断当前配送方案中,最后一个生成的包裹数据包的商品节点数量是否大于1;
第二处理单元,用于当最后一个生成的包裹数据包的商品节点数量大于1时,确定当前配送方案中存在回溯商品节点,且确定所述包裹数据包中的倒数第二个加入的商品节点为回溯商品节点,并在当前配送方案中去除所述包裹数据包中的最后一个加入的商品节点,且将去除的商品节点重新加入至所述待选商品节点集合内;
第四判断单元,用于当最后一个生成的包裹数据包的商品节点数量不大于1时,判断当前配送方案中的包裹数据包的总数是否大于1;
第三处理单元,用于在当前配送方案中的包裹数据包的总数大于1时,在当前配送方案中去除最后一个生成的包裹数据包,且将去除的包裹数据包中的所有商品节点都重新加入至所述待选商品节点集合内,并将倒数第二个生成的包裹数据包视为最后一个生成的包裹数据包;
确认单元,用于在当前配送方案中的包裹数据包的总数不大于1时,确定当前配送方案中,不存在回溯商品节点。
在本申请的又一可行实施例中,上述所有实施例中的重建配送方案模块73包括:
重建单元,用于将去除了所述包裹数据包中的最后一个加入的商品节点的配送方案作为重新建立的配送方案;
第四处理单元,用于在所述重新建立的配送方案中,设置回溯商品节点所在的包裹数据包为当前包裹数据包,设置回溯商品节点为当前商品节点,设置当前包裹数据包的配送仓库为当前包裹数据包内所有已加入的商品节点的存储仓库的交集,将所述加入条件设置为:商品节点的存储仓库与当前包裹数据包的配送仓库存在交集、商品节点的存储仓库与所述包裹数据包中当前商品节点的存储仓库存在交集、且所述商品节点从未加入过当前包裹数据包。
在本申请的又一可行实施例中,上述所有实施例中的起始节点确定单元包括:
起始节点确定子单元,用于将所述待选商品节点集合中存储仓库最多的商品节点确定为起始节点;上述所有实施例中的装置还可包括:
重复配送方案判断模块,用于判断所建立的多个配送方案中,是否存在重复的配送方案;
删除模块,用于在重复的配送方案中,保留一个配送方案并删除其它配送方案。
本申请还提供一种商家配送系统,包括商家客户端、企业发货平台=以及上述所有实施例中的求解购物订单配送方案的装置;
其中,商家客户端,用于接收用户的购物订单;
企业发货平台,用于根据所述购物订单,调用上述求解购物订单配送方案的装置,以执行发货服务;
求解购物订单配送方案的装置,用于根据存储仓库列表,计算所述购物订单的全部配送方案。
采用本申请实施例所提供的商家配送系统,可求解购物订单的全部配送方案。
在本申请的另一可行实施例中,上述所有实施例中的装置还包括:动态承诺服务中心,用于查询出所述购物订单中所有商品的存储仓库列表,并发送给所述求解购物订单配送方案的装置。
所述求解购物订单配送方案的装置,还用于从所计算出的全部配送方案中决策出最优配送方案,并返回所述最优配送方案至所述企业发货平台和商家客户端。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (19)
1.一种求解购物订单配送方案的方法,其特征在于,包括:
步骤1-A:根据用户的购物订单,建立一配送方案,所述配送方案包括包裹数据包以及包裹数据包的配送仓库,所述包裹数据包内至少有一个商品节点,且所述商品节点所表示的商品可打包成一包裹,从同一配送仓库发货;
步骤1-B:判断当前配送方案中,是否存在回溯商品节点;
步骤1-C:如果步骤1-B确定存在回溯商品节点,则在当前配送方案的基础上,以所述回溯商品节点为起始节点,重新建立一配送方案,返回循环执行步骤1-A;
步骤1-D:如果步骤1-B确定不存在回溯商品节点,则结束处理,并由此获得所述购物订单的全部配送方案;
其中,所述判断当前配送方案中,是否存在回溯商品节点,包括:判断当前配送方案中,是否存在商品个数大于1的包裹数据包,如果存在,确定当前配送方案可回溯,且确定商品个数大于1的包裹数据包中的倒数第二个商品为回溯商品节点;否则,确定当前配送方案不存在回溯商品节点;
其中,所述以所述回溯商品节点为起始节点,重新建立一配送方案,包括:
删除目标包裹数据包中的倒数第一个商品节点,以及,删除当前配送方案中,生成时间早于所述目标包裹数据包的包裹数据包;且将删除的商品节点以及删除的包裹数据包内的商品节点,加入至待选商品节点集合;其中,所述目标包裹数据包为所述回溯商品节点所在包裹数据包;
设置当前商品为回溯商品节点对应的商品,当前包裹为回溯节点所在的包裹,返回执行判断待选商品节点集合中,是否存在满足当前包裹数据包加入条件的商品的步骤;
更新当前包裹数据包的配送仓库,以及,将设置当前包裹数据包的加入条件设置为:商品的存储仓库与包裹数据包的配送仓库存在交集,以及所述商品从未加入过当前包裹数据包,返回执行步骤判断待选商品节点集合中,是否存在满足当前包裹数据包加入条件的商品的步骤。
2.根据权利要求1所述的方法,其特征在于,所述步骤1-A包括:
步骤2-A:根据用户的购物订单,建立一待选商品节点集合;
步骤2-B:在所述待选商品节点集合中,确定一商品节点为起始节点;
步骤2-C:为所述起始节点生成一新的包裹数据包,且设置所述包裹数据包的配送仓库为所述起始节点的存储仓库,以及,在所述待选商品节点集合中去除起始节点;
步骤2-D:判断所述待选商品节点集合中,是否存在满足加入条件的商品节点;
步骤2-E:如果存在满足加入条件的商品节点,将所述商品节点加入至包裹数据包,且更新所述包裹数据包的配送仓库为所述包裹数据包内所有已加入的商品节点的存储仓库的交集,以及,在所述待选商品节点集合中去除加入至包裹数据包的商品节点,返回循环执行步骤2-D;
步骤2-F:如果不存在满足加入条件的商品节点,判断所述待选商品节点集合中是否存在商品节点;
步骤2-G:如果所述待选商品节点集合中存在商品节点,返回循环执行步骤2-B;
步骤2-H:如果所述待选商品节点集合中不存在商品节点,确定当前配送方案建立完成,保存当前配送方案,并重新以当前配送方案为基础返回执行步骤1-B;
其中,所述加入条件至少包括:商品节点的存储仓库与所述包裹数据包的配送仓库存在交集。
3.根据权利要求2所述的方法,其特征在于,所述加入条件至少还包括:商品节点的存储仓库与所述包裹数据包中当前商品节点的存储仓库存在交集。
4.根据权利要求3所述的方法,其特征在于,所述步骤2-D包括:
步骤2-D-A:判断所述待选商品节点集合中,是否存在存储仓库与所述包裹数据包中当前商品节点的存储仓库存在交集、且存储仓库与所述包裹数据包的配送仓库存在交集的商品节点;
步骤2-D-B:如果确认存在存储仓库与所述包裹数据包中当前商品节点的存储仓库存在交集的商品节点,且所确认的商品节点的存储仓库与所述包裹数据包的配送仓库存在交集,则确认存在满足加入条件的商品节点,执行步骤2-E;
步骤2-D-C:如果确认存在存储仓库与所述包裹数据包中当前商品节点的存储仓库存在交集的商品节点,但所确认的商品节点的存储仓库与所述包裹数据包的配送仓库不存在交集,则将所确认的商品节点设置为起始节点,返回执行步骤2-C;
步骤2-D-D:如果不存在存储仓库与所述包裹数据包中当前商品节点的存储仓库存在交集的商品节点,则确认不存在满足加入条件的商品节点,执行步骤2-F。
5.根据权利要求1-4中任意一项所述的方法,其特征在于,所述步骤1-B包括:
步骤1-B-A:判断当前配送方案中,最后一个生成的包裹数据包的商品节点数量是否大于1;
步骤1-B-B:如果最后一个生成的包裹数据包的商品节点数量大于1,则确定当前配送方案中存在回溯商品节点,且确定所述包裹数据包中的倒数第二个加入的商品节点为回溯商品节点,并在当前配送方案中去除所述包裹数据包中的最后一个加入的商品节点,且将去除的商品节点重新加入至所述待选商品节点集合内,执行步骤1-C;
步骤1-B-C:如果最后一个生成的包裹数据包的商品节点数量不大于1,则判断当前配送方案中的包裹数据包的总数是否大于1;
步骤1-B-D:如果当前配送方案中的包裹数据包的总数大于1,则在当前配送方案中去除最后一个生成的包裹数据包,且将去除的包裹数据包中的所有商品节点都重新加入至所述待选商品节点集合内,并将倒数第二个生成的包裹数据包视为最后一个生成的包裹数据包,返回执行步骤1-B-A;
步骤1-B-E:如果当前配送方案中的包裹数据包的总数不大于1,则确定当前配送方案中,不存在回溯商品节点,执行步骤1-D。
6.根据权利要求5所述的方法,其特征在于,所述步骤1-C包括:
将去除了所述包裹数据包中的最后一个加入的商品节点的配送方案作为重新建立的配送方案;
在所述重新建立的配送方案中,设置回溯商品节点所在的包裹数据包为当前包裹数据包,设置回溯商品节点为当前商品节点,设置当前包裹数据包的配送仓库为当前包裹数据包内所有已加入的商品节点的存储仓库的交集,将所述加入条件设置为:商品节点的存储仓库与当前包裹数据包的配送仓库存在交集、商品节点的存储仓库与所述包裹数据包中当前商品节点的存储仓库存在交集、且所述商品节点从未加入过当前包裹数据包,并返回执行步骤2-D。
7.根据权利要求2所述的方法,其特征在于,所述步骤2-B包括:
将所述待选商品节点集合中存储仓库最多的商品节点确定为起始节点。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
步骤1-E:判断所建立的多个配送方案中,是否存在重复的配送方案;
步骤1-F:如果存在,在重复的配送方案中,保留一个配送方案并删除其它配送方案。
9.一种求解购物订单配送方案的装置,其特征在于,包括:
配送方案建立模块,用于根据用户的购物订单,建立一配送方案,所述配送方案包括包裹数据包以及包裹数据包的配送仓库,所述包裹数据包内至少有一个商品节点,且所述商品节点所表示的商品可打包成一包裹,从同一配送仓库发货;
回溯商品节点判断模块,用于判断当前配送方案中,是否存在回溯商品节点;
重建配送方案模块,用于在当前配送方案中存在回溯商品节点时,以所述回溯商品节点为起始节点,重新建立一配送方案;
其中,所述判断当前配送方案中,是否存在回溯商品节点,包括:判断当前配送方案中,是否存在商品个数大于1的包裹数据包,如果存在,确定当前配送方案可回溯,且确定商品个数大于1的包裹数据包中的倒数第二个商品为回溯商品节点;否则,确定当前配送方案不存在回溯商品节点;
其中,所述以所述回溯商品节点为起始节点,重新建立一配送方案,包括:
删除目标包裹数据包中的倒数第一个商品节点,以及,删除当前配送方案中,生成时间早于所述目标包裹数据包的包裹数据包;且将删除的商品节点以及删除的包裹数据包内的商品节点,加入至待选商品节点集合;其中,所述目标包裹数据包为所述回溯商品节点所在包裹数据包;
设置当前商品为回溯商品节点对应的商品,当前包裹为回溯节点所在的包裹,返回执行判断待选商品节点集合中,是否存在满足当前包裹数据包加入条件的商品;
更新当前包裹数据包的配送仓库,以及,将设置当前包裹数据包的加入条件设置为:商品的存储仓库与包裹数据包的配送仓库存在交集,以及所述商品从未加入过当前包裹数据包,返回执行步骤判断待选商品节点集合中,是否存在满足当前包裹数据包加入条件的商品。
10.根据权利要求9所述的装置,其特征在于,所述配送方案建立模块包括:
建立待选商品节点集合单元,用于根据用户的购物订单,建立一待选商品节点集合;
起始节点确定单元,用于在所述待选商品节点集合中,确定一商品节点为起始节点;
第一设置单元,用于为所述起始节点生成一新的包裹数据包,且设置所述包裹数据包的配送仓库为所述起始节点的存储仓库,以及,在所述待选商品节点集合中去除起始节点;
第一判断单元,用于判断所述待选商品节点集合中,是否存在满足加入条件的商品节点;其中,所述加入条件至少包括:商品节点的存储仓库与所述包裹数据包的配送仓库存在交集;
第一处理单元,用于当存在满足加入条件的商品节点时,将所述商品节点加入至包裹数据包,且更新所述包裹数据包的配送仓库为所述包裹数据包内所有已加入的商品节点的存储仓库的交集,以及,在所述待选商品节点集合中去除加入至包裹数据包的商品节点;
第二判断单元,用于当不存在满足加入条件的商品节点时,判断所述待选商品节点集合中是否存在商品节点;
保存单元,用于当所述待选商品节点集合中不存在商品节点,确定当前配送方案建立完成,保存当前配送方案。
11.根据权利要求10所述的装置,其特征在于,所述加入条件至少还包括:商品节点的存储仓库与所述包裹数据包中当前商品节点的存储仓库存在交集。
12.根据权利要求11所述的装置,其特征在于,所述第一判断单元包括:
第一判断子单元,用于判断所述待选商品节点集合中,是否存在存储仓库与所述包裹数据包中当前商品节点的存储仓库存在交集、且存储仓库与所述包裹数据包的配送仓库存在交集的商品节点;
第一确认子单元,用于当确认存在存储仓库与所述包裹数据包中当前商品节点的存储仓库存在交集的商品节点,且所确认的商品节点的存储仓库与所述包裹数据包的配送仓库存在交集时,确认存在满足加入条件的商品节点;
设置子单元,用于当确认存在存储仓库与所述包裹数据包中当前商品节点的存储仓库存在交集的商品节点,但所确认的商品节点的存储仓库与所述包裹数据包的配送仓库不存在交集时,将所确认的商品节点设置为起始节点;
第二确认子单元,用于当不存在存储仓库与所述包裹数据包中当前商品节点的存储仓库存在交集的商品节点时,确认不存在满足加入条件的商品节点。
13.根据权利要求12所述的装置,其特征在于,所述回溯商品节点判断模块包括:
第三判断单元,用于判断当前配送方案中,最后一个生成的包裹数据包的商品节点数量是否大于1;
第二处理单元,用于当最后一个生成的包裹数据包的商品节点数量大于1时,确定当前配送方案中存在回溯商品节点,且确定所述包裹数据包中的倒数第二个加入的商品节点为回溯商品节点,并在当前配送方案中去除所述包裹数据包中的最后一个加入的商品节点,且将去除的商品节点重新加入至所述待选商品节点集合内;
第四判断单元,用于当最后一个生成的包裹数据包的商品节点数量不大于1时,判断当前配送方案中的包裹数据包的总数是否大于1;
第三处理单元,用于在当前配送方案中的包裹数据包的总数大于1时,在当前配送方案中去除最后一个生成的包裹数据包,且将去除的包裹数据包中的所有商品节点都重新加入至所述待选商品节点集合内,并将倒数第二个生成的包裹数据包视为最后一个生成的包裹数据包;
确认单元,用于在当前配送方案中的包裹数据包的总数不大于1时,确定当前配送方案中,不存在回溯商品节点。
14.根据权利要求13所述的装置,其特征在于,所述重建配送方案模块包括:
重建单元,用于将去除了所述包裹数据包中的最后一个加入的商品节点的配送方案作为重新建立的配送方案;
第四处理单元,用于在所述重新建立的配送方案中,设置回溯商品节点所在的包裹数据包为当前包裹数据包,设置回溯商品节点为当前商品节点,设置当前包裹数据包的配送仓库为当前包裹数据包内所有已加入的商品节点的存储仓库的交集,将所述加入条件设置为:商品节点的存储仓库与当前包裹数据包的配送仓库存在交集、商品节点的存储仓库与所述包裹数据包中当前商品节点的存储仓库存在交集、且所述商品节点从未加入过当前包裹数据包。
15.根据权利要求10所述的装置,其特征在于,所述起始节点确定单元包括:
起始节点确定子单元,用于将所述待选商品节点集合中存储仓库最多的商品节点确定为起始节点。
16.根据权利要求9所述的装置,其特征在于,所述装置还包括:
重复配送方案判断模块,用于判断所建立的多个配送方案中,是否存在重复的配送方案;
删除模块,用于在重复的配送方案中,保留一个配送方案并删除其它配送方案。
17.一种商家配送系统,其特征在于,包括:
商家客户端,用于接收用户的购物订单;
企业发货平台,用于根据所述购物订单,调用如权利要求9-16任一项所述的装置,以执行发货服务;
如权利要求9-16任一项所述的装置,用于根据存储仓库列表,计算所述购物订单的全部配送方案。
18.如权利要求17所述的商家配送系统,其特征在于,还包括:
动态承诺服务中心,用于查询出所述购物订单中所有商品的存储仓库列表,并发送给所述如权利要求9-16任一项所述的装置。
19.如权利要求18所述的商家配送系统,其特征在于,
所述如权利要求9-16任一项所述的装置从所计算出的全部配送方案中决策出最优配送方案,并返回所述最优配送方案至所述企业发货平台和商家客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610037108.7A CN106991545B (zh) | 2016-01-20 | 2016-01-20 | 求解购物订单配送方案的方法、装置及商家配送系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610037108.7A CN106991545B (zh) | 2016-01-20 | 2016-01-20 | 求解购物订单配送方案的方法、装置及商家配送系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106991545A CN106991545A (zh) | 2017-07-28 |
CN106991545B true CN106991545B (zh) | 2021-01-12 |
Family
ID=59414530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610037108.7A Active CN106991545B (zh) | 2016-01-20 | 2016-01-20 | 求解购物订单配送方案的方法、装置及商家配送系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106991545B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107437144B (zh) * | 2017-08-01 | 2021-01-15 | 北京闪送科技有限公司 | 一种订单调度方法、系统、计算机设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473724A (zh) * | 2013-09-16 | 2013-12-25 | 江苏金智教育信息技术有限公司 | 一种智能排课方法和装置 |
CN104408605A (zh) * | 2014-12-15 | 2015-03-11 | 北京京东尚科信息技术有限公司 | 一种订单拆分方法和系统 |
CN104537515A (zh) * | 2015-01-20 | 2015-04-22 | 北京京东尚科信息技术有限公司 | 一种订单拆分方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140297498A1 (en) * | 2013-04-02 | 2014-10-02 | Bloomberg L.P. | Broker Commission Allocation System |
-
2016
- 2016-01-20 CN CN201610037108.7A patent/CN106991545B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473724A (zh) * | 2013-09-16 | 2013-12-25 | 江苏金智教育信息技术有限公司 | 一种智能排课方法和装置 |
CN104408605A (zh) * | 2014-12-15 | 2015-03-11 | 北京京东尚科信息技术有限公司 | 一种订单拆分方法和系统 |
CN104537515A (zh) * | 2015-01-20 | 2015-04-22 | 北京京东尚科信息技术有限公司 | 一种订单拆分方法和装置 |
Non-Patent Citations (2)
Title |
---|
利用回溯法求解若干问题的探讨;林巧;《计算机时代》;20020831(第8期);第39-40、45页 * |
网上超市订单分配与物流配送联合优化方法;张源凯等;《系统工程学报》;20150430;第 3 0 卷(第 2 期);第251-258页 * |
Also Published As
Publication number | Publication date |
---|---|
CN106991545A (zh) | 2017-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107025531B (zh) | 地址修改信息处理方法及装置 | |
WO2016206556A1 (zh) | 仓库资源信息处理、提供库存信息的方法及装置 | |
JP6475262B2 (ja) | 商品オブジェクト情報を処理する方法及びシステム | |
US10783493B2 (en) | Method and device for processing transaction information of merchandise object assembly | |
CN104794132B (zh) | 库存信息处理方法及系统 | |
CN106815700B (zh) | 物流信息处理方法及装置 | |
CN106709774B (zh) | 商品对象交易信息处理方法及装置 | |
JP7423816B2 (ja) | 注文情報処理方法、装置、コンピュータ機器及び媒体 | |
US20190034866A1 (en) | Method and device for generating logistics distribution network | |
CN110472899B (zh) | 一种物品的出库分配方法和装置 | |
CN106156975A (zh) | 业务对象的库存信息处理方法及装置 | |
CN107038629A (zh) | 一种商品交易中的订单处理方法、装置及服务器 | |
US20080235147A1 (en) | System and method for facilitation of shipping from multiple merchandise vendors | |
CN109117429A (zh) | 数据库查询方法、装置和电子设备 | |
CN108009017A (zh) | 一种应用链路的扩容方法、装置和系统 | |
CN113191713A (zh) | 仓库缺货转仓方法、装置、设备及存储介质 | |
CN111144970B (zh) | 一种拆单方法、装置、电子设备以及可读介质 | |
CN110471904A (zh) | 一种商城商品数据管理方法、装置及存储介质 | |
Bayliss et al. | A two-phase local search with a discrete-event heuristic for the omnichannel vehicle routing problem | |
CN109918569A (zh) | 药品信息推送方法、服务器及可读存储介质 | |
CN109447549A (zh) | 一种物料位置确定的方法以及相关装置 | |
CN108428075A (zh) | 一种库存信息更新方法和装置 | |
CN111260270A (zh) | 提升门店订单处理效率的方法和装置 | |
CN107203917B (zh) | 一种业务处理方法、装置及系统 | |
CN111680951A (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20180419 Address after: Four story 847 mailbox of the capital mansion of Cayman Islands, Cayman Islands, Cayman Applicant after: CAINIAO SMART LOGISTICS HOLDING Ltd. Address before: Grand Cayman, Cayman Islands Applicant before: ALIBABA GROUP HOLDING Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |