CN112785215B - 一种生成拣货路径的方法和装置 - Google Patents
一种生成拣货路径的方法和装置 Download PDFInfo
- Publication number
- CN112785215B CN112785215B CN201911094901.0A CN201911094901A CN112785215B CN 112785215 B CN112785215 B CN 112785215B CN 201911094901 A CN201911094901 A CN 201911094901A CN 112785215 B CN112785215 B CN 112785215B
- Authority
- CN
- China
- Prior art keywords
- roadway
- picked
- path
- point
- picking
- 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
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000003860 storage Methods 0.000 claims abstract description 257
- 238000012216 screening Methods 0.000 claims abstract description 27
- 230000009467 reduction Effects 0.000 claims description 39
- 238000000926 separation method Methods 0.000 claims description 36
- 238000010845 search algorithm Methods 0.000 claims description 11
- 238000012163 sequencing technique Methods 0.000 claims description 11
- 238000012217 deletion Methods 0.000 claims description 10
- 230000037430 deletion Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 238000009826 distribution Methods 0.000 claims description 5
- 238000005457 optimization Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000002776 aggregation Effects 0.000 description 4
- 238000004220 aggregation Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 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
Abstract
本发明公开了一种生成拣货路径的方法和装置,涉及仓储物流技术领域。该方法的一具体实施方式包括:根据各个巷道口点覆盖的巷道和各个待拣储位所在的巷道,得到初始巷道口点集合;根据所述初始巷道口点集合中的各个巷道口点及其覆盖的待拣储位,生成初始的拣货路径;其中,所述拣货路径包括巷道口点路径和储位路径;对所述初始的拣货路径进行求解,迭代生成多条拣货路径,并从所述多条拣货路径中筛选出距离最短的拣货路径。该实施方式能够解决拣货路径不够优化的技术问题。
Description
技术领域
本发明涉及仓储物流技术领域,尤其涉及一种生成拣货路径的方法和装置。
背景技术
随互联网的不断普及和仓储物流网络的完善,网上购物不断普及。电商企业的销售额增长迅猛,全国电商仓库面积也大幅度扩大。仓库每天都要处理成千上万单,降低从购买到收到包裹的时间,可以显著提升客户购物满意度。用户下单后,仓库接收到客户订单信息,并将订单中的商品定位到具体仓库货架,然后拣货员去货架拣货。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
据统计,拣货员在拣货时,大部分的时间花费在行走上。由于仓库流动性较大,当仓库面积较大且拣货储位较多时,拣货员很难短时间内规划出最短的拣货路径。
发明内容
有鉴于此,本发明实施例提供一种生成拣货路径的方法和装置,以解决拣货路径不够优化的技术问题。
为实现上述目的,根据本发明实施例的一个方面,提供了一种生成拣货路径的方法,包括:
根据各个巷道口点覆盖的巷道和各个待拣储位所在的巷道,得到初始巷道口点集合;
根据所述初始巷道口点集合中的各个巷道口点及其覆盖的待拣储位,生成初始的拣货路径;其中,所述拣货路径包括巷道口点路径和储位路径;
对所述初始的拣货路径进行求解,迭代生成多条拣货路径,并从所述多条拣货路径中筛选出距离最短的拣货路径。
可选地,根据各个巷道口点覆盖的巷道和各个待拣储位所在的巷道,得到初始巷道口点集合,包括:
根据各个巷道口点覆盖的巷道和各个待拣储位所在的巷道,分别确定覆盖所述各个待拣储位的巷道口点;
根据覆盖所述各个待拣储位的巷道口点,确定每个巷道口点覆盖的待拣储位;
基于每个巷道口点覆盖的待拣储位的数量,得到初始巷道口点集合。
可选地,基于每个巷道口点覆盖的待拣储位的数量,得到初始巷道口点集合,包括:
按照每个巷道口点覆盖的待拣储位的数量由大到小的顺序,对所述巷道口点进行排序;
筛选出覆盖的待拣储位的数量最大的巷道口点,将该巷道口点加入到初始巷道口点集合中,删除该巷道口点覆盖的待拣储位;
重复执行筛选、加入和删除的步骤,直到剩余的待拣储位的数量为零,从而得到初始巷道口点集合。
可选地,根据所述初始巷道口点集合中的各个巷道口点及其覆盖的待拣储位,生成初始的拣货路径,包括:
采用蚁群算法对所述初始巷道口点集合中的各个巷道口点进行求解,以生成巷道口点路径;
采用枚举方式或者节约算法对所述初始巷道口点集合中的各个巷道口点覆盖的待拣储位进行求解,以生成储位路径;
将所述巷道口点路径和所述储位路径组合,得到初始的拣货路径。
可选地,对所述初始的拣货路径进行求解,迭代生成多条拣货路径,包括:
判断迭代次数或者迭代时长是否达到最大迭代次数或者最大迭代时长;若是,则停止迭代;若否,则采用分离算子、合并算子和/或删除与重建算子并基于禁忌邻域搜索算法对前一次迭代生成的拣货路径进行求解,生成至少一条拣货路径;
经过多次迭代,生成多条拣货路径。
可选地,所述分离算子描述为:将某一个巷道口点删除,获取该巷道口点覆盖的待拣储位,将这些待拣储位分配到与该巷道口点相邻的两个巷道口点;
所述合并算子描述为:将某两个巷道口点删除,获取所述两个巷道口点覆盖的待拣储位,将这些待拣储位分配到一个新的巷道口点;
所述删除与合并算子描述为:分别计算删除各个待拣储位后拣货路径的距离减少量,按照距离减少量由大到小的顺序,对所述各个待拣储位进行排序;删除距离减少量靠前的待拣储位,并将删除的待拣储位分配到巷道口点。
可选地,将删除的待拣储位分配到巷道口点,包括:
新增一个巷道口点,将删除的待拣储位分配到该巷道口点,计算拣货路径的距离;
将删除的待拣储位分配到已有的巷道口点,计算拣货路径的距离;
选择两者中距离最短的方案进行分配。
可选地,采用分离算子、合并算子和/或删除与重建算子并基于禁忌邻域搜索算法对前一次迭代生成的拣货路径进行求解,生成至少一条拣货路径,包括:
若巷道口点不在禁忌表中,则考虑对所述巷道口点执行分离操作,并分别计算分离后的拣货路径的距离减少量,按照距离减少量由大到小的顺序,对所述各个巷道口点进行排序;对距离减少量靠前的巷道口点执行分离操作,并将分离得到的巷道口点写入禁忌表;
对任意两个巷道口点执行合并操作,若合并后的拣货路径的距离减少,则对所述两个巷道口点执行合并操作,并将合并后的巷道口点写入禁忌表;
若不存在可执行分离操作或者合并操作的巷道口点,则对各个巷道口点执行删除与重建操作。
可选地,在根据各个巷道口点覆盖的巷道和各个待拣储位所在的巷道,得到初始巷道口点集合之前,还包括:
设置各个巷道口点覆盖的多个巷道;
其中,对于任意一个巷道口点:该巷道口点覆盖的巷道为该巷道口点对应的巷道以及与该巷道临近的巷道。
另外,根据本发明实施例的另一个方面,提供了一种生成拣货路径的装置,包括:
生成模块,用于根据各个巷道口点覆盖的巷道和各个待拣储位所在的巷道,得到初始巷道口点集合;
路径模块,用于根据所述初始巷道口点集合中的各个巷道口点及其覆盖的待拣储位,生成初始的拣货路径;其中,所述拣货路径包括巷道口点路径和储位路径;
优化模块,用于对所述初始的拣货路径进行求解,迭代生成多条拣货路径,并从所述多条拣货路径中筛选出距离最短的拣货路径。
可选地,所述生成模块还用于:
根据各个巷道口点覆盖的巷道和各个待拣储位所在的巷道,分别确定覆盖所述各个待拣储位的巷道口点;
根据覆盖所述各个待拣储位的巷道口点,确定每个巷道口点覆盖的待拣储位;
基于每个巷道口点覆盖的待拣储位的数量,得到初始巷道口点集合。
可选地,所述生成模块还用于:
按照每个巷道口点覆盖的待拣储位的数量由大到小的顺序,对所述巷道口点进行排序;
筛选出覆盖的待拣储位的数量最大的巷道口点,将该巷道口点加入到初始巷道口点集合中,删除该巷道口点覆盖的待拣储位;
重复执行筛选、加入和删除的步骤,直到剩余的待拣储位的数量为零,从而得到初始巷道口点集合。
可选地,所述路径模块还用于:
采用蚁群算法对所述初始巷道口点集合中的各个巷道口点进行求解,以生成巷道口点路径;
采用枚举方式或者节约算法对所述初始巷道口点集合中的各个巷道口点覆盖的待拣储位进行求解,以生成储位路径;
将所述巷道口点路径和所述储位路径组合,得到初始的拣货路径。
可选地,所述优化模块还用于:
判断迭代次数或者迭代时长是否达到最大迭代次数或者最大迭代时长;若是,则停止迭代;若否,则采用分离算子、合并算子和/或删除与重建算子并基于禁忌邻域搜索算法对前一次迭代生成的拣货路径进行求解,生成至少一条拣货路径;
经过多次迭代,生成多条拣货路径。
可选地,所述分离算子描述为:将某一个巷道口点删除,获取该巷道口点覆盖的待拣储位,将这些待拣储位分配到与该巷道口点相邻的两个巷道口点;
所述合并算子描述为:将某两个巷道口点删除,获取所述两个巷道口点覆盖的待拣储位,将这些待拣储位分配到一个新的巷道口点;
所述删除与合并算子描述为:分别计算删除各个待拣储位后拣货路径的距离减少量,按照距离减少量由大到小的顺序,对所述各个待拣储位进行排序;删除距离减少量靠前的待拣储位,并将删除的待拣储位分配到巷道口点。
可选地,将删除的待拣储位分配到巷道口点,包括:
新增一个巷道口点,将删除的待拣储位分配到该巷道口点,计算拣货路径的距离;
将删除的待拣储位分配到已有的巷道口点,计算拣货路径的距离;
选择两者中距离最短的方案进行分配。
可选地,所述优化模块还用于:
若巷道口点不在禁忌表中,则考虑对所述巷道口点执行分离操作,并分别计算分离后的拣货路径的距离减少量,按照距离减少量由大到小的顺序,对所述各个巷道口点进行排序;对距离减少量靠前的巷道口点执行分离操作,并将分离得到的巷道口点写入禁忌表;
对任意两个巷道口点执行合并操作,若合并后的拣货路径的距离减少,则对所述两个巷道口点执行合并操作,并将合并后的巷道口点写入禁忌表;
若不存在可执行分离操作或者合并操作的巷道口点,则对各个巷道口点执行删除与重建操作。
可选地,所述生成模块还用于:
在根据各个巷道口点覆盖的巷道和各个待拣储位所在的巷道,得到初始巷道口点集合之前,设置各个巷道口点覆盖的多个巷道;
其中,对于任意一个巷道口点:该巷道口点覆盖的巷道为该巷道口点对应的巷道以及与该巷道临近的巷道。
根据本发明实施例的另一个方面,还提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一实施例所述的方法。
根据本发明实施例的另一个方面,还提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一实施例所述的方法。
上述发明中的一个实施例具有如下优点或有益效果:因为采用根据各个巷道口点覆盖的巷道和各个待拣储位所在的巷道得到初始巷道口点集合,从而生成初始的拣货路径,并对拣货路径多次迭代后筛选出距离最短的拣货路径的技术手段,所以克服了现有技术中拣货路径不够优化的技术问题。本发明实施例根据各个巷道口点覆盖的巷道和各个待拣储位所在的巷道,对待拣储位进行聚合,将多个待拣储位聚合到一个巷道口点,得到初始巷道口点集合,从而生成人车分离的初始拣货路径;然后通过算子和禁忌搜索技术对初始拣货路径进行优化,筛选出距离最短的拣货路径。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是现有技术中生成的拣货路径的示意图;
图2是根据本发明实施例的生成拣货路径的方法的主要流程的示意图;
图3是本发明实施例的巷道口点覆盖多个巷道的示意图;
图4是本发明实施例的生成拣货路径的示意图;
图5是根据本发明一个可参考实施例的生成拣货路径的方法的主要流程的示意图;
图6是根据本发明另一个可参考实施例的生成拣货路径的方法的主要流程的示意图;
图7是根据本发明实施例的生成拣货路径的装置的主要模块的示意图;
图8是本发明实施例可以应用于其中的示例性系统架构图;
图9是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
拣货路径,即拣货员从某个初始点领取拣货车,绑定拣货车,然后开始拣货,经过任务单上的所有储位并拣取货物,最后回到打包台的一条路径。
在实际拣货过程中,拣货员一般推着拣货车去拣货,而仓库中很多拣货巷道比较窄,拣货车无法通过,需要将人车分离。因此当拣货车到一个巷道口时,拣货员去该巷道对应的两侧货架拣货,拣货完毕,回到拣货车位置,然后推着拣货车到下一个拣货巷道。但是这种方案会使拣货路径比较长,使得拣货路径无法达到最优,特别是有多个较近货架需要拣货时,需要多次移动拣货车,且每次停车后都要折回进入巷道口。如图1所示,三个圆圈位置为三个待拣储位,当三个储位距离巷道口较远时,进入巷道拣货路径如虚线所示。从图1中可以看出,拣货员会走一些冤枉路。
为了解决现在技术中存在的技术问题,本发明实施例提供的生成拣货路径的方法可以让拣货车停在某个巷道口,然后检取周围巷道储位货物,再回到拣货车位置,由此减小拣货路径。
图2是根据本发明实施例的生成拣货路径的方法的主要流程的示意图。作为本发明的一个实施例,如图2所示,所述生成拣货路径的方法可以包括:
步骤201,根据各个巷道口点覆盖的巷道和各个待拣储位所在的巷道,得到初始巷道口点集合。
在步骤201中,根据各个巷道口点(即拣货车的停靠点)能够覆盖的巷道以及各个待拣储位(即任务单上的所有储位)所在的巷道,得到初始的巷道口点集合。在该巷道口点集合中包括多个巷道口点,当拣货员经过这些巷道口点时将拣货车停在此处,并分别对这些巷道口点覆盖的储位进行拣货。
可选地,在步骤201之前,预先设置各个巷道口点覆盖的多个巷道。其中,对于任意一个巷道口点:该巷道口点覆盖的巷道为该巷道口点对应的巷道以及与该巷道临近的巷道。需要指出的是,在本发明的实施例中,一个巷道口点能够覆盖多个巷道,当拣货员将拣货车停在该巷道口点时,能够对这些被覆盖的巷道两侧的储位进行拣货。
如图3所示,可以预先设置巷道口点覆盖的巷道,比如可以设置第四个巷道口点(如图3中三角形所示)能够覆盖的巷道为1-2巷道、3-4巷道、4-5巷道、5-6巷道、6-7巷道、11-12巷道、12-13巷道、13-14巷道、14-15巷道和15-16巷道;还可以设置第四个巷道口点能够覆盖的巷道为3-4巷道、4-5巷道、5-6巷道、12-13巷道、13-14巷道和14-15巷道;其他巷道口点也可以根据需要进行设置。因此,可以根据实际需要合理设置各个巷道口点能够覆盖的巷道。
可选地,步骤201可以包括:根据各个巷道口点覆盖的巷道和各个待拣储位所在的巷道,分别确定覆盖所述各个待拣储位的巷道口点;根据覆盖所述各个待拣储位的巷道口点,确定每个巷道口点覆盖的待拣储位;基于每个巷道口点覆盖的待拣储位的数量,得到初始巷道口点集合。获取任务单上的待拣储位,由于已知各个待拣储位所在的巷道,因此可以得到这些待拣储位所在的巷道;由于预先设置了每个巷道口点能够覆盖的巷道,因此可以得到任务单上的待拣储位被哪些巷道口点覆盖。然后,根据覆盖各个待拣储位的巷道口点,从而确定每个巷道口点能够覆盖的待拣储位,也就得到了每个巷道口点能够覆盖的待拣储位的数量。最后基于每个巷道口点能够覆盖的待拣储位的数量,筛选出初始巷道口点集合。
可选地,基于每个巷道口点覆盖的待拣储位的数量,得到初始巷道口点集合,包括:按照每个巷道口点覆盖的待拣储位的数量由大到小的顺序,对所述巷道口点进行排序;筛选出覆盖的待拣储位的数量最大的巷道口点,将该巷道口点加入到初始巷道口点集合中,删除该巷道口点覆盖的待拣储位;重复执行筛选、加入和删除的步骤,直到剩余的待拣储位的数量为零,从而得到初始巷道口点集合。根据每个巷道口点能够覆盖的待拣储位的数量,对巷道口点进行降序排列,先获取覆盖的待拣储位最多的巷道口点,将该巷道口点加入到初始巷道口集合中,这些待拣储位即为该巷道口点覆盖的待拣储位,并且删除其它巷道口点覆盖的这些待拣储位;接着,继续排序,重复前面的流程,直到剩余的待拣储位的数量为零,于是得到初始巷道口集合。
步骤202,根据所述初始巷道口点集合中的各个巷道口点及其覆盖的待拣储位,生成初始的拣货路径。
在步骤202中,根据所述初始巷道口点集合中的各个巷道口点及其覆盖的待拣储位,生成初始的拣货路径,其中所述拣货路径包括巷道口点路径和储位路径。考虑到拣货员和拣货车分离后,因货物的体积与重量,每次不能捡取太多货物,因而需要对拣货员离开拣货车捡取的货物做容量及体积约束。可选地,在本发明的实施例中,在生成拣货路径时,还可以进一步考虑拣货员可拿货物的重量或体积等条件约束。
一条拣货路径从起点出发,经过一系列巷道口点(即初始巷道口点集合中的各个巷道口点),拣取各个巷道口点覆盖的待拣储位上的货物,从而完成拣货任务。
设置起点为S,终点为T,经过的巷道口点集合为A,每个巷道口点记为Ai,每个巷道口点覆盖待拣储位集合为Bj,每个储位为Bij,则一条拣货路径可以表示为:
(S,A1,B1,1,B1,2,B1,3,A1,B1,4,B1,5,B1,6,A1,A2,B2,1,B2,2,A2,…,T)
在这条拣货路径中,巷道口点A1出现多次,因为拣货员在A1位置离开拣货车,拣取B1,1,B1,2,B1,3储位上的货物后,由于拣货员可拿货物重量或体积约束,因而需先将货物放回拣货车,拣货车位置不动,仍放在A1,继续检取B1,4,B1,5,B1,6的货物,再次回到A1放置货物;然后继续去往后续的巷道口点A2,类似A1,拣货完成,到达终点T。需要说明的是,拣货路径经停的巷道口点集合为所有巷道口集合的一个子集。
可选地,步骤202可以包括:采用蚁群算法对所述初始巷道口点集合中的各个巷道口点进行求解,以生成巷道口点路径;采用枚举方式或者节约算法对所述初始巷道口点集合中的各个巷道口点覆盖的待拣储位进行求解,以生成储位路径;将所述巷道口点路径和所述储位路径组合,得到初始的拣货路径。
对巷道口点路径的规划,即规划一条从起点出发,经过初始巷道口点集合中的每个巷道口点,最后达到终点的最短路径,此为开旅行商问题(Open Traveling SalesmanProblem,简称OTSP),有很多方法求解。在本发明的实施例中,可以采用蚁群算法对所述初始巷道口点集合中的各个巷道口点进行求解,从而得到巷道口点路径。
对储位路径的规划,这是路径调度问题(Capacitated Vehicle RoutingProblem,简称CVRP)。由于拣货车容量约束,一个任务单包含的待拣储位通常不是特别多,一般不超过30个,因而每个巷道口覆盖的待拣储位也会较少,若该巷道口点覆盖的待拣储位个数小于等于6个(也可以是4个、5个、7个、8个或者10个等,可以预先配置),可以通过枚举的方式快速得到最优路径。若该巷道口点覆盖的待拣储位个数大于6个,可以采用C-W节约算法初始巷道口点集合中的各个巷道口点覆盖的待拣储位进行求解,从而得到储位路径。
得到巷道口点路径以及每个巷道口点对应的储位路径后,将两者进行组合,得到考虑人车分离的拣货路径。
步骤203,对所述初始的拣货路径进行求解,迭代生成多条拣货路径,并从所述多条拣货路径中筛选出距离最短的拣货路径。
在步骤203中,首先可以基于禁忌邻域搜索算法对步骤202得到的初始拣货路径进行求解,迭代生成多条拣货路径;然后从所述多条拣货路径中筛选出距离最短的拣货路径,作为优化后的拣货路径。
可选地,预先设置最大迭代次数或者最大迭代时长,步骤203可以包括:判断迭代次数或者迭代时长是否达到最大迭代次数或者最大迭代时长;若是,则停止迭代;若否,则采用分离算子、合并算子和/或删除与重建算子并基于禁忌邻域搜索算法对前一次迭代生成的拣货路径进行求解,生成至少一条拣货路径;经过多次迭代,生成多条拣货路径。
可选地,所述分离算子描述为:将某一个巷道口点删除,获取该巷道口点覆盖的待拣储位,将这些待拣储位分配到与该巷道口点相邻的两个巷道口点。对于巷道口点集合中的某一个巷道口点:将该巷道口点从巷道口点集合中删除,获取该巷道口点覆盖的待拣储位,将这些储位分配到两个巷道口点,在物理位置上这两个巷道口点与删除的巷道口点临近,将这两个巷道口点加入到巷道口点集合中,从而更新巷道口点集合。
可选地,所述合并算子描述为:将某两个巷道口点删除,获取所述两个巷道口点覆盖的待拣储位,将这些待拣储位分配到一个新的巷道口点。对于巷道口点集合中的某两个巷道口点:将这两个巷道口点从巷道口点集合中删除,获取这两个巷道口点覆盖的待拣储位,将这些储位分配到一个巷道口点(该巷道口点能够覆盖删除的这两个巷道口点覆盖的所有待拣储位),将该巷道口点加入到巷道口点集合中,从而更新巷道口点集合。
可选地,所述删除与合并算子描述为:分别计算删除各个待拣储位后拣货路径的距离减少量,按照距离减少量由大到小的顺序,对所述各个待拣储位进行排序;删除距离减少量靠前的待拣储位,并将删除的待拣储位分配到巷道口点。对于每一个待拣储位,将该待拣储位删除后计算拣货路径的距离减少量,从而得到各个待拣储位对应的拣货路径的距离减少量;然后根据距离减少量由大到小的顺序,对这些待拣储位进行排序,删除排序靠前的待拣储位(比如删除队列中前15%的待拣储位);最后将这些删除的待拣储位分配到巷道口点集合中的巷道口点或者不在巷道口点集合中的巷道口点。
可选地,将删除的待拣储位分配到巷道口点,包括:新增一个巷道口点,将删除的待拣储位分配到该巷道口点,计算拣货路径的距离;将删除的待拣储位分配到已有的巷道口点,计算拣货路径的距离;选择两者中距离最短的方案进行分配。如果选择前一个方案进行分配,则还要更新巷道口点集合。需要指出的是,无论是分配巷道口点集合中已有的巷道口点,还是分配到不在巷道口点集合中的巷道口点,被分配的巷道口点都能覆盖这些删除的待拣储位。
可选地,采用分离算子、合并算子和/或删除与重建算子并基于禁忌邻域搜索算法对前一次迭代生成的拣货路径进行求解,生成至少一条拣货路径,包括:若巷道口点不在禁忌表中,则考虑对所述巷道口点执行分离操作,并分别计算分离后的拣货路径的距离减少量,按照距离减少量由大到小的顺序,对所述各个巷道口点进行排序;对距离减少量靠前的巷道口点执行分离操作,并将分离得到的巷道口点写入禁忌表;对任意两个巷道口点执行合并操作,若合并后的拣货路径的距离减少,则对所述两个巷道口点执行合并操作,并将合并后的巷道口点写入禁忌表;若不存在可执行分离操作或者合并操作的巷道口点,则对各个巷道口点执行删除与重建操作。在本发明的实施例中,可以预先设置禁忌步数,比如2步、3步、4步或者5步等。假设禁忌步数为3步,那么在每次迭代前,删除3次迭代之前禁忌表中写入的操作内容,每迭代后,将本次迭代的操作内容写入禁忌表中。
在本发明的实施例中,首先考虑对巷道口点集合中的巷道口点执行分离操作,若该巷道口点不在禁忌表中,则考虑对该巷道口点执行分离操作,然后计算如果对该巷道口执行分离操作后拣货路径的距离减少量。假设对多个巷道口点都执行了分离操作,就可以得到这些巷道口点对应的拣货路径的距离减少量。接着从这些巷道口点中筛选出距离减少量最明显的若干个巷道口点,最后对筛选出的若干个巷道口点执行分离操作。比如,可以按照距离减少量由大到小的顺序降序排列,筛选出队列中前10%的巷道口点,对这些巷道口点执行分离操作,并将每个分离操作得到的两个巷道口点写入禁忌表,后续3次(也可以是2次、4次或者5次等)迭代内不能对写入禁忌表的巷道口点进行合并操作。
然后继续考虑合并算子,考虑任意可以合并的两个巷道口点,若这两个巷道口点合并后拣货路径的距离减少,则对这两个巷道口点执行合并操作,并将合并后巷道口点加入禁忌表,后续3次(也可以是2次、4次或者5次等)迭代内不能对写入禁忌表的巷道口点进行分离操作。需要指出的是,若还可以进行合并,且使得拣货路径的距离变短,则继续执行合并操作。
最后,若前面的分离操作和合并操作都无法执行,则考虑采用删除与重建操作,将该删除与重建操作完成后的拣货路径作为本次迭代的最优拣货路径,继续下次迭代。如果可以执行分离操作和/或合并操作,则不执行删除与重建操作,直接继续下次迭代。
经过上述迭代求解,可以得到多条拣货路径,因此可以从这些拣货路径中筛选出距离最短的一条拣货路径,如图4所示。如图4所示,有3个待拣储位需要拣货,拣货车在中间一个待拣储位对应的巷道口点停下,拣货员进入巷道,三个储位拣货完成后,回到巷道口点,推着拣货车继续前进,继续后面的拣货流程。可见,相比于图1中所示的拣货路径,图4中所示的拣货路径较短,本发明实施例提供的方法可以让拣货车停在某个巷道口,然后检取周围巷道储位货物,再回到拣货车位置,由此减小拣货路径,有效地优化了拣货路径。
在本发明的实施例中,每次迭代可能会得到多条拣货路径,在本次迭代后,通过计算拣货路径的距离筛选出距离最短的拣货路径,然后将每次迭代后筛选出的最短的拣货路径进行进一步筛选出,最终筛选出距离最短的一条拣货路径。也可以是,在每次迭代后不进行筛选,在完成最后一次迭代后,对求解得到的所有拣货路径筛选,找出最短的一条拣货路径。得到最优的拣货路径之后,即可得到拣货车的轨迹和拣货员的拣货轨迹,可以在拣货员手持终端显示拣货路径。
根据上面所述的各种实施例,可以看出本发明通过根据各个巷道口点覆盖的巷道和各个待拣储位所在的巷道得到初始巷道口点集合,从而生成初始的拣货路径,并对拣货路径多次迭代后筛选出距离最短的拣货路径的技术手段,解决了现有技术中拣货路径不够优化的技术问题。本发明实施例根据各个巷道口点覆盖的巷道和各个待拣储位所在的巷道,对待拣储位进行聚合,将多个待拣储位聚合到一个巷道口点,得到初始巷道口点集合,从而生成人车分离的初始拣货路径;然后通过算子和禁忌搜索技术对初始拣货路径进行优化,筛选出距离最短的拣货路径。
图5是根据本发明一个可参考实施例的生成拣货路径的方法的主要流程的示意图。作为本发明的一个可参考实施例,所述生成拣货路径的方法可以包括以下步骤:
步骤501,数据准备。
在数据准备阶段,需要准备三类数据,包括:
(1)需要列出所有巷道口点的位置,巷道口点为拣货车可能的停靠点;
(2)由于携带货物影响拣货员的行走速度,需要合理设置每个巷道口点能够覆盖的巷道。考虑到拣货员和拣货车分离后,因货物的体积与重量,每次不能捡取太多货物,因而需要对拣货员离开拣货车捡取的货物做容量及体积的约束。
(3)需要准备仓库地图,能得到任意两个拣货储位之间的距离矩阵以及任意两个巷道口点之间距离矩阵,用于计算拣货路径的距离。
步骤502,根据各个巷道口点覆盖的巷道和各个待拣储位所在的巷道,得到初始巷道口点集合。
获取任务单上的待拣储位,由于已知各个待拣储位所在的巷道,因此可以得到这些待拣储位所在的巷道;由于预先设置了每个巷道口点能够覆盖的巷道,因此可以得到任务单上的待拣储位被哪些巷道口点覆盖。然后,根据覆盖各个待拣储位的巷道口点,从而确定每个巷道口点能够覆盖的待拣储位,也就得到了每个巷道口点能够覆盖的待拣储位的数量。最后根据每个巷道口点能够覆盖的待拣储位的数量,对巷道口点进行降序排列,先获取覆盖的待拣储位最多的巷道口点,将该巷道口点加入到初始巷道口集合中,这些待拣储位即为该巷道口点覆盖的待拣储位,并且删除其它巷道口点覆盖的这些待拣储位;接着,继续排序,重复前面的流程,直到剩余的待拣储位的数量为零,于是得到初始巷道口集合。
步骤503,根据所述初始巷道口点集合中的各个巷道口点及其覆盖的待拣储位,生成初始的拣货路径。
根据所述初始巷道口点集合中的各个巷道口点及其覆盖的待拣储位并考虑拣货员可拿货物的重量或体积等条件约束,生成初始的拣货路径。
对巷道口点路径的规划,即规划一条从起点出发,经过初始巷道口点集合中的每个巷道口点,最后达到终点的最短路径,可以采用蚁群算法对所述初始巷道口点集合中的各个巷道口点进行求解,从而得到巷道口点路径。
对储位路径的规划,由于拣货车容量约束,一个任务单包含的待拣储位通常不是特别多,一般不超过30个,因而每个巷道口覆盖的待拣储位也会较少,可以通过枚举的方式快速得到最优路径。如果该巷道口点覆盖的待拣储位个数较多,可以采用C-W节约算法初始巷道口点集合中的各个巷道口点覆盖的待拣储位进行求解,从而得到储位路径。
将巷道口点路径以及每个巷道口点对应的储位路径组合,得到考虑人车分离的拣货路径。
步骤504,判断迭代次数或者迭代时长是否达到最大迭代次数或者最大迭代时长;若否,则执行步骤505;若是,则执行步骤507。
步骤505,采用分离算子、合并算子和/或删除与重建算子并基于禁忌邻域搜索算法对前一次迭代生成的拣货路径进行求解,生成至少一条拣货路径。
若巷道口点不在禁忌表中,则考虑对所述巷道口点执行分离操作,并分别计算分离后的拣货路径的距离减少量,按照距离减少量由大到小的顺序,对所述各个巷道口点进行排序;对距离减少量靠前的巷道口点执行分离操作,并将分离得到的巷道口点写入禁忌表;对任意两个巷道口点执行合并操作,若合并后的拣货路径的距离减少,则对所述两个巷道口点执行合并操作,并将合并后的巷道口点写入禁忌表;若不存在可执行分离操作或者合并操作的巷道口点,则对各个巷道口点执行删除与重建操作。
步骤506,从生成的至少一条拣货路径中筛选出本次迭代的最优拣货路径,将本次迭代的最优拣货路径和全局最优拣货路径进行路径比较,以距离最短的拣货路径作为本次迭代后的全局最优拣货路径,保存本次迭代的最优拣货路径和本次迭代后的全局最优拣货路径。
步骤507,将全局最优拣货路径作为距离最短的拣货路径。
另外,在本发明一个可参考实施例中生成拣货路径的方法的具体实施内容,在上面所述生成拣货路径的方法中已经详细说明了,故在此重复内容不再说明。
图6是根据本发明另一个可参考实施例的生成拣货路径的方法的主要流程的示意图。作为本发明的另一个可参考实施例,生成初始的拣货路径的步骤可以包括:
步骤601,根据各个巷道口点覆盖的巷道和各个待拣储位所在的巷道,分别确定覆盖所述各个待拣储位的巷道口点。
步骤602,根据覆盖所述各个待拣储位的巷道口点,确定每个巷道口点覆盖的待拣储位。
步骤603,按照每个巷道口点覆盖的待拣储位的数量由大到小的顺序,对所述巷道口点进行排序。
步骤604,判断剩余的待拣储位的数量是否为零;若是,则执行步骤606;若否,则执行步骤605。
步骤605,筛选出覆盖的待拣储位的数量最大的巷道口点,将该巷道口点加入到初始巷道口点集合中,删除该巷道口点覆盖的待拣储位。
步骤606,采用蚁群算法对所述初始巷道口点集合中的各个巷道口点进行求解,以生成巷道口点路径。
步骤607,采用枚举方式或者节约算法对所述初始巷道口点集合中的各个巷道口点覆盖的待拣储位进行求解,以生成储位路径。
步骤608,将所述巷道口点路径和所述储位路径组合,得到初始的拣货路径。
另外,在本发明另一个可参考实施例中生成拣货路径的方法的具体实施内容,在上面所述生成拣货路径的方法中已经详细说明了,故在此重复内容不再说明。
图7是根据本发明实施例的生成拣货路径的装置的主要模块的示意图,如图7所示,所述生成拣货路径的装置700包括生成模块701、路径模块702和优化模块703。其中,生成模块701用于根据各个巷道口点覆盖的巷道和各个待拣储位所在的巷道,得到初始巷道口点集合;路径模块702用于根据所述初始巷道口点集合中的各个巷道口点及其覆盖的待拣储位,生成初始的拣货路径;其中,所述拣货路径包括巷道口点路径和储位路径;优化模块703用于对所述初始的拣货路径进行求解,迭代生成多条拣货路径,并从所述多条拣货路径中筛选出距离最短的拣货路径。
可选地,所述生成模块701还用于:
根据各个巷道口点覆盖的巷道和各个待拣储位所在的巷道,分别确定覆盖所述各个待拣储位的巷道口点;
根据覆盖所述各个待拣储位的巷道口点,确定每个巷道口点覆盖的待拣储位;
基于每个巷道口点覆盖的待拣储位的数量,得到初始巷道口点集合。
可选地,所述生成模块701还用于:
按照每个巷道口点覆盖的待拣储位的数量由大到小的顺序,对所述巷道口点进行排序;
筛选出覆盖的待拣储位的数量最大的巷道口点,将该巷道口点加入到初始巷道口点集合中,删除该巷道口点覆盖的待拣储位;
重复执行筛选、加入和删除的步骤,直到剩余的待拣储位的数量为零,从而得到初始巷道口点集合。
可选地,所述路径模块702还用于:
采用蚁群算法对所述初始巷道口点集合中的各个巷道口点进行求解,以生成巷道口点路径;
采用枚举方式或者节约算法对所述初始巷道口点集合中的各个巷道口点覆盖的待拣储位进行求解,以生成储位路径;
将所述巷道口点路径和所述储位路径组合,得到初始的拣货路径。
可选地,所述优化模块703还用于:
判断迭代次数或者迭代时长是否达到最大迭代次数或者最大迭代时长;若是,则停止迭代;若否,则采用分离算子、合并算子和/或删除与重建算子并基于禁忌邻域搜索算法对前一次迭代生成的拣货路径进行求解,生成至少一条拣货路径;
经过多次迭代,生成多条拣货路径。
可选地,所述分离算子描述为:将某一个巷道口点删除,获取该巷道口点覆盖的待拣储位,将这些待拣储位分配到与该巷道口点相邻的两个巷道口点;
所述合并算子描述为:将某两个巷道口点删除,获取所述两个巷道口点覆盖的待拣储位,将这些待拣储位分配到一个新的巷道口点;
所述删除与合并算子描述为:分别计算删除各个待拣储位后拣货路径的距离减少量,按照距离减少量由大到小的顺序,对所述各个待拣储位进行排序;删除距离减少量靠前的待拣储位,并将删除的待拣储位分配到巷道口点。
可选地,将删除的待拣储位分配到巷道口点,包括:
新增一个巷道口点,将删除的待拣储位分配到该巷道口点,计算拣货路径的距离;
将删除的待拣储位分配到已有的巷道口点,计算拣货路径的距离;
选择两者中距离最短的方案进行分配。
可选地,所述优化模块703还用于:
若巷道口点不在禁忌表中,则考虑对所述巷道口点执行分离操作,并分别计算分离后的拣货路径的距离减少量,按照距离减少量由大到小的顺序,对所述各个巷道口点进行排序;对距离减少量靠前的巷道口点执行分离操作,并将分离得到的巷道口点写入禁忌表;
对任意两个巷道口点执行合并操作,若合并后的拣货路径的距离减少,则对所述两个巷道口点执行合并操作,并将合并后的巷道口点写入禁忌表;
若不存在可执行分离操作或者合并操作的巷道口点,则对各个巷道口点执行删除与重建操作。
可选地,所述生成模块701还用于:
在根据各个巷道口点覆盖的巷道和各个待拣储位所在的巷道,得到初始巷道口点集合之前,设置各个巷道口点覆盖的多个巷道;
其中,对于任意一个巷道口点:该巷道口点覆盖的巷道为该巷道口点对应的巷道以及与该巷道临近的巷道。
根据上面所述的各种实施例,可以看出本发明通过根据各个巷道口点覆盖的巷道和各个待拣储位所在的巷道得到初始巷道口点集合,从而生成初始的拣货路径,并对拣货路径多次迭代后筛选出距离最短的拣货路径的技术手段,解决了现有技术中拣货路径不够优化的技术问题。本发明实施例根据各个巷道口点覆盖的巷道和各个待拣储位所在的巷道,对待拣储位进行聚合,将多个待拣储位聚合到一个巷道口点,得到初始巷道口点集合,从而生成人车分离的初始拣货路径;然后通过算子和禁忌搜索技术对初始拣货路径进行优化,筛选出距离最短的拣货路径。
需要说明的是,在本发明所述生成拣货路径的装置的具体实施内容,在上面所述生成拣货路径的方法中已经详细说明了,故在此重复内容不再说明。
图8示出了可以应用本发明实施例的生成拣货路径的方法或生成拣货路径的装置的示例性系统架构800。
如图8所示,系统架构800可以包括终端设备801、802、803,网络804和服务器805。网络804用以在终端设备801、802、803和服务器805之间提供通信链路的介质。网络804可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备801、802、803通过网络804与服务器805交互,以接收或发送消息等。终端设备801、802、803上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备801、802、803可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器805可以是提供各种服务的服务器,例如对用户利用终端设备801、802、803所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的物品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、物品信息——仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的生成拣货路径的方法一般由服务器805执行,相应地,所述生成拣货路径的装置一般设置在服务器805中。本发明实施例所提供的生成拣货路径的方法也可以由终端设备801、802、803执行,相应地,所述生成拣货路径的装置可以设置在终端设备801、802、803中。
应该理解,图8中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图9,其示出了适于用来实现本发明实施例的终端设备的计算机系统900的结构示意图。图9示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,计算机系统900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有系统900操作所需的各种程序和数据。CPU 901、ROM 902以及RAM903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括生成模块、路径模块和优化模块,其中,这些模块的名称在某种情况下并不构成对该模块本身的限定。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:根据各个巷道口点覆盖的巷道和各个待拣储位所在的巷道,得到初始巷道口点集合;根据所述初始巷道口点集合中的各个巷道口点及其覆盖的待拣储位,生成初始的拣货路径;其中,所述拣货路径包括巷道口点路径和储位路径;对所述初始的拣货路径进行求解,迭代生成多条拣货路径,并从所述多条拣货路径中筛选出距离最短的拣货路径。
根据本发明实施例的技术方案,因为采用根据各个巷道口点覆盖的巷道和各个待拣储位所在的巷道得到初始巷道口点集合,从而生成初始的拣货路径,并对拣货路径多次迭代后筛选出距离最短的拣货路径的技术手段,所以克服了现有技术中拣货路径不够优化的技术问题。本发明实施例根据各个巷道口点覆盖的巷道和各个待拣储位所在的巷道,对待拣储位进行聚合,将多个待拣储位聚合到一个巷道口点,得到初始巷道口点集合,从而生成人车分离的初始拣货路径;然后通过算子和禁忌搜索技术对初始拣货路径进行优化,筛选出距离最短的拣货路径。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (11)
1.一种生成拣货路径的方法,其特征在于,包括:
根据各个巷道口点覆盖的巷道和各个待拣储位所在的巷道,得到初始巷道口点集合;
根据所述初始巷道口点集合中的各个巷道口点及其覆盖的待拣储位,生成初始的拣货路径;其中,所述拣货路径包括巷道口点路径和储位路径;
对所述初始的拣货路径进行求解,迭代生成多条拣货路径,并从所述多条拣货路径中筛选出距离最短的拣货路径;
对所述初始的拣货路径进行求解,迭代生成多条拣货路径,包括:
判断迭代次数或者迭代时长是否达到最大迭代次数或者最大迭代时长;若是,则停止迭代;若否,则采用分离算子、合并算子和/或删除与重建算子并基于禁忌邻域搜索算法对前一次迭代生成的拣货路径进行求解,生成至少一条拣货路径;
经过多次迭代,生成多条拣货路径。
2.根据权利要求1所述的方法,其特征在于,根据各个巷道口点覆盖的巷道和各个待拣储位所在的巷道,得到初始巷道口点集合,包括:
根据各个巷道口点覆盖的巷道和各个待拣储位所在的巷道,分别确定覆盖所述各个待拣储位的巷道口点;
根据覆盖所述各个待拣储位的巷道口点,确定每个巷道口点覆盖的待拣储位;
基于每个巷道口点覆盖的待拣储位的数量,得到初始巷道口点集合。
3.根据权利要求2所述的方法,其特征在于,基于每个巷道口点覆盖的待拣储位的数量,得到初始巷道口点集合,包括:
按照每个巷道口点覆盖的待拣储位的数量由大到小的顺序,对所述巷道口点进行排序;
筛选出覆盖的待拣储位的数量最大的巷道口点,将该巷道口点加入到初始巷道口点集合中,删除该巷道口点覆盖的待拣储位;
重复执行筛选、加入和删除的步骤,直到剩余的待拣储位的数量为零,从而得到初始巷道口点集合。
4.根据权利要求1所述的方法,其特征在于,根据所述初始巷道口点集合中的各个巷道口点及其覆盖的待拣储位,生成初始的拣货路径,包括:
采用蚁群算法对所述初始巷道口点集合中的各个巷道口点进行求解,以生成巷道口点路径;
采用枚举方式或者节约算法对所述初始巷道口点集合中的各个巷道口点覆盖的待拣储位进行求解,以生成储位路径;
将所述巷道口点路径和所述储位路径组合,得到初始的拣货路径。
5.根据权利要求1所述的方法,其特征在于,所述分离算子描述为:将某一个巷道口点删除,获取该巷道口点覆盖的待拣储位,将这些待拣储位分配到与该巷道口点相邻的两个巷道口点;
所述合并算子描述为:将某两个巷道口点删除,获取所述两个巷道口点覆盖的待拣储位,将这些待拣储位分配到一个新的巷道口点;
所述删除与合并算子描述为:分别计算删除各个待拣储位后拣货路径的距离减少量,按照距离减少量由大到小的顺序,对所述各个待拣储位进行排序;删除距离减少量靠前的待拣储位,并将删除的待拣储位分配到巷道口点。
6.根据权利要求5所述的方法,其特征在于,将删除的待拣储位分配到巷道口点,包括:
新增一个巷道口点,将删除的待拣储位分配到该巷道口点,计算拣货路径的距离;
将删除的待拣储位分配到已有的巷道口点,计算拣货路径的距离;
选择两者中距离最短的方案进行分配。
7.根据权利要求1所述的方法,其特征在于,采用分离算子、合并算子和/或删除与重建算子并基于禁忌邻域搜索算法对前一次迭代生成的拣货路径进行求解,生成至少一条拣货路径,包括:
若巷道口点不在禁忌表中,则考虑对所述巷道口点执行分离操作,并分别计算分离后的拣货路径的距离减少量,按照距离减少量由大到小的顺序,对所述各个巷道口点进行排序;对距离减少量靠前的巷道口点执行分离操作,并将分离得到的巷道口点写入禁忌表;
对任意两个巷道口点执行合并操作,若合并后的拣货路径的距离减少,则对所述两个巷道口点执行合并操作,并将合并后的巷道口点写入禁忌表;
若不存在可执行分离操作或者合并操作的巷道口点,则对各个巷道口点执行删除与重建操作。
8.根据权利要求1所述的方法,其特征在于,在根据各个巷道口点覆盖的巷道和各个待拣储位所在的巷道,得到初始巷道口点集合之前,还包括:
设置各个巷道口点覆盖的多个巷道;
其中,对于任意一个巷道口点:该巷道口点覆盖的巷道为该巷道口点对应的巷道以及与该巷道临近的巷道。
9.一种生成拣货路径的装置,其特征在于,包括:
生成模块,用于根据各个巷道口点覆盖的巷道和各个待拣储位所在的巷道,得到初始巷道口点集合;
路径模块,用于根据所述初始巷道口点集合中的各个巷道口点及其覆盖的待拣储位,生成初始的拣货路径;其中,所述拣货路径包括巷道口点路径和储位路径;
优化模块,用于对所述初始的拣货路径进行求解,迭代生成多条拣货路径,并从所述多条拣货路径中筛选出距离最短的拣货路径;
所述优化模块还用于:
判断迭代次数或者迭代时长是否达到最大迭代次数或者最大迭代时长;若是,则停止迭代;若否,则采用分离算子、合并算子和/或删除与重建算子并基于禁忌邻域搜索算法对前一次迭代生成的拣货路径进行求解,生成至少一条拣货路径;
经过多次迭代,生成多条拣货路径。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8中任一所述的方法。
11.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-8中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911094901.0A CN112785215B (zh) | 2019-11-11 | 2019-11-11 | 一种生成拣货路径的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911094901.0A CN112785215B (zh) | 2019-11-11 | 2019-11-11 | 一种生成拣货路径的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112785215A CN112785215A (zh) | 2021-05-11 |
CN112785215B true CN112785215B (zh) | 2024-04-09 |
Family
ID=75749736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911094901.0A Active CN112785215B (zh) | 2019-11-11 | 2019-11-11 | 一种生成拣货路径的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112785215B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113240369B (zh) * | 2021-05-14 | 2024-04-05 | 北京京东振世信息技术有限公司 | 货物拣选方法、装置、设备及存储介质 |
CN113371380B (zh) * | 2021-06-25 | 2022-11-22 | 深圳市库宝软件有限公司 | 路径生成方法、装置、设备、存储介质及程序产品 |
CN113593284B (zh) * | 2021-07-29 | 2022-08-12 | 三一重型装备有限公司 | 矿井巷道内车辆的路径规划方法及装置、电子设备 |
CN113469631B (zh) * | 2021-09-03 | 2021-12-10 | 浙江凯乐士科技集团股份有限公司 | 拣选调度方法、设备及矩阵分拣系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106809586A (zh) * | 2017-03-28 | 2017-06-09 | 北京京东尚科信息技术有限公司 | 用于确定拣货路径的方法和装置 |
CN110274604A (zh) * | 2018-11-06 | 2019-09-24 | 北京京东尚科信息技术有限公司 | 用于生成路径信息的方法和装置 |
-
2019
- 2019-11-11 CN CN201911094901.0A patent/CN112785215B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106809586A (zh) * | 2017-03-28 | 2017-06-09 | 北京京东尚科信息技术有限公司 | 用于确定拣货路径的方法和装置 |
CN110274604A (zh) * | 2018-11-06 | 2019-09-24 | 北京京东尚科信息技术有限公司 | 用于生成路径信息的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112785215A (zh) | 2021-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112785215B (zh) | 一种生成拣货路径的方法和装置 | |
US20170046653A1 (en) | Planning of transportation requests | |
CN109948964A (zh) | 信息输出方法和装置 | |
CN110070312A (zh) | 订单处理方法和装置 | |
CN110371548B (zh) | 一种货物入库方法和装置 | |
CN110182530B (zh) | 一种仓库管理方法和装置 | |
CN110348650B (zh) | 一种订单合流的方法和装置 | |
CN111950803A (zh) | 物流对象送达时间预测方法、装置、电子设备及存储介质 | |
Mancini et al. | Bundle generation for last-mile delivery with occasional drivers | |
CN109685589A (zh) | 用于推送信息的方法和装置 | |
CN111260270A (zh) | 提升门店订单处理效率的方法和装置 | |
CN112700180A (zh) | 一种拣货方法和拣货装置 | |
CN109934427B (zh) | 生成物品分配方案的方法和装置 | |
CN110858347A (zh) | 一种用于物流配送分单的方法和装置 | |
CN113128743A (zh) | 一种拣货路径规划方法和装置 | |
CN109978213A (zh) | 一种任务路径规划方法和装置 | |
CN110807612A (zh) | 确定剩余产能的方法和装置 | |
CN111703802B (zh) | 出入库流程的控制方法和装置、仓储系统 | |
CN113650997B (zh) | 一种物品出库定位方法和装置 | |
CN110871980A (zh) | 储位分类方法和装置 | |
CN113222205A (zh) | 一种路径规划的方法和装置 | |
CN113379177A (zh) | 一种任务调度系统和方法 | |
CN110135772B (zh) | 用于生成信息的方法和装置 | |
US20170075859A1 (en) | Optimizing spatiotemporal computational problems | |
CN111260271A (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 |