一种基于背包算法的库存分拣方法与流程

文档序号:19431279发布日期:2019-12-17 16:50阅读:260来源:国知局
一种基于背包算法的库存分拣方法与流程
本发明涉及仓储行业中货物分拣领域,尤其涉及一种基于背包算法的库存分拣方法。
背景技术
:由于仓储货物最小包装标准不统一,存在许多尾数包装,当仓管员拿到一个出库订单的时候,人工很难计算出一个最接近最符合出库订单数的出库包装组合,人工统计、计算消耗的时间较多,影响货物分拣效率。而如果随意任取出库包装组合,一来取出的数量可能较大,对于实现0库存管理的生产型企业客户来说可能造成生产线上库存积压,二来此次分拣数量较多可能导致下份出库订单数量可分拣库存数不足,不利于客户安排出库计划。技术实现要素:本发明的目的在于提供一种基于背包算法的库存分拣方法,从而解决现有技术中存在的前述问题。为了实现上述目的,本发明采用的技术方案如下:一种基于背包算法的库存分拣方法,每个库存包含如下信息:物料种类、批次、包装规格、包装数、物料数量,其中,物料数量=包装规格×包装数;所述分拣方法包括如下步骤:s1,按照物料种类对库存进行分类,对于同类库存按照批次大小进行排序,获得同类库存的批次排列顺序;s2,设定分拣优先规则;s3,按照物料种类和出库数量对出库订单进行分解,得到分解后的订单;s4,对于每个分解后的订单,按照所述同类库存的批次排列顺序,实施库存分拣,分拣过程中,按照设定的分拣优先规则以及出库订单指定的分拣规则优先分拣出库:如果当前分拣批次的库存数量小于等于订单中剩余的待分拣数量时,则该当前分拣批次库存全部分拣出库,当存在分拣条件时,该批次符合分拣条件的库存全部被分拣;如果当前分拣批次的库存数量大于待分拣批次的库存数量时,采用背包算法确定库存分拣组合,其中,背包的容量为出库订单要求的数量,可放入背包物品的体积、价值为每个库存的物料数量。优选地,所述背包算法具体为,用子问题定义状态:f[i,v]表示前i件物品恰放入一个容量为v的背包可以获得的最大体积,其状态转移方程为:f[i,v]=max{f[i–1,v],f[i–1,v-ci]+ci}其中,ci表示放入第i件物品耗费的背包空间,利用上述状态转移方程,依据动态规划算法,得到小于等于出库订单数量且最接近出库订单数量的库存分拣组合。优选地,如果背包分拣后待分拣数量仍然大于0,在剩余的可选择库存中选择一个最小的包装数放入分拣结果中。优选地,s2中,所述在同一批次中设定的分拣优先规则,包括:绝对分拣优先规则和同批次分拣优先规则。本发明的有益效果是:本发明实施例提供的基于背包算法的库存分拣方法,通过系统输入在库货物包装情况和出库订单要求出库数,计算出最接近、符合的出库包装组合,仓管员只需要依据系统计算结果分拣指定包装组合的货物,大大提高出库分拣效率,避免了客户生产线库存积压或出库订单分配絮乱的问题。附图说明图1是本发明实施例提供的基于背包算法的库存分拣方法流程示意图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。现有技术中,出库订单分拣主要靠人工臆断方式挑选出库包装组合,人工挑选的出库包装组合并非最优分拣方案,容易导致出库数量过多,进而导致客户生产线库存积压或出库订单分配絮乱。本发明根据出库订单数量和货物在库最小包装(即不可拆分组合)情况,计算出实际可出库数量和对应的出库包装组合,用于指导仓库进行精确的出库订单分拣作业。如图1所示,本发明实施例提供了一种基于背包算法的库存分拣方法,每个库存包含如下信息:物料种类、批次、包装规格、包装数、物料数量,其中,物料数量=包装规格×包装数;所述分拣方法包括如下步骤:s1,按照物料种类对库存进行分类,对于同类库存按照批次大小进行排序,获得同类库存的批次排列顺序;s2,设定分拣优先规则;s3,按照物料种类和出库数量对出库订单进行分解,得到分解后的订单;s4,对于每个分解后的订单,按照所述同类库存的批次排列顺序,实施库存分拣,分拣过程中,按照设定的分拣优先规则以及出库订单指定的分拣规则优先分拣出库:如果当前分拣批次的库存数量小于等于订单中剩余的待分拣数量时,则该当前分拣批次库存全部分拣出库,当存在分拣条件时,该批次符合分拣条件的库存全部被分拣;如果当前分拣批次的库存数量大于待分拣批次的库存数量时,采用背包算法确定库存分拣组合,其中,背包的容量为出库订单要求的数量,可放入背包物品的体积、价值为每个库存的物料数量。其中,所述背包算法具体为,用子问题定义状态:f[i,v]表示前i件物品恰放入一个容量为v的背包可以获得的最大体积,其状态转移方程为:f[i,v]=max{f[i–1,v],f[i–1,v-ci]+ci}其中,ci表示放入第i件物品耗费的背包空间,利用上述状态转移方程,依据动态规划算法,得到小于等于出库订单数量且最接近出库订单数量的库存分拣组合。在本发明的一个优选实施例中,如果背包分拣后待分拣数量仍然大于0,在剩余的可选择库存中选择一个最小的包装数放入分拣结果中。本发明的一个实施例中,s2中,所述在同一批次中设定的分拣优先规则,包括:绝对分拣优先规则和同批次分拣优先规则。具体实施例:本发明实施例提供了一种基于背包算法的库存分拣方法,可以采用如下步骤进行实施:步骤一,设定基础分拣规则,即同类物料库存按批次优先分拣。步骤二,设定库存分拣优先规则,包括绝对优先分拣和同批次优先分拣,其中,绝对优先分拣是指,如果预先设定了一个库存为绝对优先分拣,则在分拣时,忽略其他优先分拣规则,该库存优先出库。同批次优先分拣是指,如果预先设定了一个库存为同批次优先分拣,则在分拣时,在同一个批次内忽略其他优先分拣规则,该库存优先出库。步骤三,按照物料种类和出库数量对原始出库订单进行分解,得到分解后的订单。步骤四,按物料种类对库存进行分类,并按照同类库存的批次序号进行排序,在同类库存中,优先分拣序号靠前的批次。步骤五,对于每个分解后的订单,实施库存分拣:首先根据分解订单的物料,确定待分拣库存,然后根据订单数量,按照库存批次序号进行分拣,包括两种情况:第一种情况,当当前分拣批次物料数量小于等于订单中剩余的待分拣数量时,则该批次库存全部被分拣,当存在分拣条件时,该批次符合分拣条件的库存全部被分拣;比如,当前批次为第二批次,该批次的物料数量为1800,则第一批次的物料已经被分拣完毕,物料数量为1000,而出库订单要求的物料数量为3000,则剩余的待分拣数量为2000,所以,当前批次的数量小于剩余的待分拣的数量,则当没有指定分拣条件的情况下,该第二批次的物料全部出库,而如果指定了分拣条件,则该第二批次的物料中符合指定分拣条件的物料全部出库。在分拣过程中,按照设定的分拣优先规则进行,同时,如果订单中指定了分拣规则的,也需要结合指定的分拣规则进行。第二种情况,当当前分拣批次物料数量大于订单中剩余的待分拣数量时,则将分拣组合问题转换为如何在可选物品中选择合适的物品组合使背包尽可能的被放满的01背包问题,其中,将订单数量抽象为背包问题中背包的容量,每个库存的物料数量即背包问题中可放入背包物品的体积、价值。对前两个批次库存分拣完毕后,订单中还剩余待分拣数量的情况下,比如,当前分拣批次为第三批次,其中含有的物料数量为1000,订单中还剩余待分拣数量为200,则第三批次的物料数量大于订单中还剩余待分拣数量,则可以采用背包算法确定库存分拣组合,将分拣组合问题转换为如何在可选物品中选择合适的物品组合使背包尽可能的被放满的01背包问题。其中,可以使用动态规划算法对该背包问题进行计算,用子问题定义状态:即f[i,v]表示前i件物品恰放入一个容量为v的背包可以获得的最大体积,其状态转移方程为:f[i,v]=max{f[i–1,v],f[i–1,v-ci]+ci}其中,ci表示放入第i件物品耗费的背包空间。利用此状态转移方程,写出动态规划算法,其伪代码如下:f[0,0..v]=0fori=1tonforv=citovf[i,v]=max{f[i–1,v],f[i–1,v-ci]+ci}计算后输出方案的伪代码如下:i:=nv:=vwhilei>0iff[i,v]=f[i–1,v]print未选第i项物品elseiff[i,v]=f[i–1,v],f[i–1,v-ci]+ciprint选了第i项物品v:=v-cii:=i-1这样即可得到小于等于订单数量且最接近订单数量的出库包装组合,但为了保证订单数量能够得到满足,如果背包分拣后待分拣数量仍然大于0,还要在剩余的可选择库存中选择一个最小的包装数放入分拣结果中。上述实施例中,库存情况和出库分拣情况可参见表1和表2。表1库存情况物料批次包装包数数量库存优先分拣顺序a-201601013010300a-201601015010500a-20160101100101000a-2016020175175a-201602015010500a-20160201100101000a-201603013010300a-201603015010500a-20160301100101000b-201601013010300b-201601015010500b-20160101100101000b-201602013010300同批次优先b-201602015010500b-20160201100101000b-201603013010300绝对优先b-201603015010500b-20160301100101000表2出库分拣情况通过采用本发明公开的上述技术方案,得到了如下有益的效果:本发明实施例提供的基于背包算法的库存分拣方法,通过系统输入在库货物包装情况和出库订单要求出库数,计算出最接近、符合的出库包装组合,仓管员只需要依据系统计算结果分拣指定包装组合的货物,大大提高出库分拣效率,避免了客户生产线库存积压或出库订单分配絮乱的问题。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。本领域人员应该理解的是,上述实施例提供的方法步骤的时序可根据实际情况进行适应性调整,也可根据实际情况并发进行。上述实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,例如:个人计算机、服务器、网络设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,例如:ram、rom、磁碟、磁带、光盘、闪存、u盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1