一种综合多因素的智能出库方法与流程

文档序号:18632130发布日期:2019-09-11 21:45阅读:173来源:国知局
一种综合多因素的智能出库方法与流程
本发明属于仓库管理
技术领域
,特别涉及一种综合多因素的智能出库方法。
背景技术
:在现有的仓库出库库位选择中,大量企业仍然采用人工经验去选择库位,即招聘若干名经验丰富的管理员去选择出库的库位。现有的仓库管理软件也只是实现了展示仓库货物存放信息,比如数量,批次号等,并不具备智能推荐出库库位的功能。熟练的仓库管理员虽然可以根据订单要求和仓库货物存放信息,在短时间内选择出库库位组,但是在出库高峰期,仓库管理员往往会忙的不可开交,导致选择的出库库位组并不能让货物尽快出库,也不能满足企业对于旧货先出的要求。对于出库库位推荐系统,有两个很重要的指标就是出库代价和货物的生产日期。对于货车司机来说,时间就是金钱,如果把时间都浪费在出库上面,显然是不合算的,所以货物司机更看重出库的时间,而出库的时间直接受到出库代价的影响。对于公司来说,最在意的是货物的流转程度,即生产日期靠前的货物能优先出库,当然公司还在意货物出库后,仓库的货物存放位置情况,比如剩余货物是否聚齐在一块。然而在现有的技术中,并没有为出库订单智能推荐库位组的技术。技术实现要素:本发明的目的在于克服现有技术的不足,提供一种通过多级筛选,通过前向筛选,反向计算的方法对出库结果进行评定,选出评分最优的出库结果,能够能尽可能同时满足公司和货车司机的要求,保证了算法推荐的出库结果比人工选取更加稳定,性能更优,并且节约了公司聘用仓库管理员的成本和货物司机的时间成本的综合多因素的智能出库方法。本发明的目的是通过以下技术方案来实现的:一种综合多因素的智能出库方法,包括以下步骤:s1、建立中间计算数据库,从企业生产库中同步数据到中间计算数据库中;s2、根据出库订单得到货物信息,根据司机定位得到司机所处城市中的所有候选片区;s3、根据订单信息和候选片区,进行片区级筛选;统计每个候选片区下订单中各种货物存放的数量,然后比较候选片区下存放货物数量是否大于或者等于订单中要求货物数量,若是则执行步骤s4;否则通过反馈接口告知调用层,库存无法满足订单要求;s4、进行仓库组合级筛选;s5、判断仓库是否被防火墙划分出为若干个区域,若是则执行进行区域组合级筛选,否则不进行区域组合级筛选;s6、进行库位组合筛选;s7、判断通过步骤s3~s6筛选出来的候选出库结果是否只有一个,若是则执行步骤s8,否则分别计算每个候选出库结果的性能评分,然后选取性能评分最高的出库结果作为最终推荐结果,执行步骤s8;s8、将选择的出库方案返回给调用层。进一步地,所述步骤s4包括以下子步骤:s41、统计候选片区下各个仓库中存放的订单中各种货物的数量;s42、去除掉不含任何订单货物的仓库,将剩下的仓库当成一个集合,求该集合所有的真子集,每个真子集即为一个仓库组合;s43、根据仓库组合大小从小到大进行筛选,若某个仓库组合满足订单货物的种类和数量,则不再对大于它的仓库组合进行筛选,将该仓库组合作为最优的仓库组合;s44、判断仓库组合大小是否等于1,如果仓库组合大小等于1,则不需要跨仓库取货;按照库位性能评分从高到低依次选取库位出库,在选取过程中,优先选择相邻的库位,即选取一个库位时,发现还有相邻的库位可以选取,则直接选取相邻的库位,依次递归下去,直至没有相邻库位选取;然后再选取性能评分低一级的库位;s45、如果仓库组合大小大于1,则需要跨仓库取货,需要确定仓库选取顺序;将每个仓库下的库位的性能评分求和取平均值得到仓库性能评分;根据仓库性能评分从高到低选取仓库,如果不是最后被选取的仓库,把仓库中所有存放的订单中货物全部出库;如果是最后一个仓库,此仓库不需要把存放的货物全部出库,而是只要满足订单要求即可,对于最后一个区域,采用步骤s44的方法进行库位选择。进一步地,所述步骤s5中的区域组合级筛选包括以下子步骤:s51、根据步骤s4得到的仓库组合,统计仓库组合中每个仓库下每个区域的订单中各种货物的数量;然后去除掉不含任何订单货物的区域,将剩下的区域当成一个大集合,求该集合所有的真子集,每个真子集即为一个区域组合;根据区域组合从小到大进行筛选,如果某一个区域组合满足订单货物种类和数量的要求,则进一步判断该区域组合中,所有区域是否连续相邻,若是则将该区域组合作为最优区域组合,否则继续对下一个区域组合进行筛选;若所有满足订单货物种类和数量要求的区域组合中的区域均不满足连续相邻,则将满足条件的最小的区域组合作为最优区域组合;s52、判断步骤s51得到的区域组合大小是否等于1:如果区域组合大小等于1,进入步骤s53;如果区域组合大小大于1,但是仓库组合大小等于1,则进入步骤s54;如果区域组合大小大于1,仓库组合大小也大于1,则进入步骤s55;s53、区域组合大小等于1,说明不需要跨仓库、跨区域取货;按照库位性能评分从大到小依次选取库位,直到满足订单要求;在选取过程中,优先选择相邻的库位,即选取一个库位时,发现还有相邻的库位可以选取,则直接选取相邻的库位,依次递归下去,直至没有相邻库位选取;然后再选取性能评分低一级的库位;s54、区域组合大小大于1,仓库组合等于1,说明不需要跨仓库取货,需要跨区域取货;对于区域组合中的每个区域,将所有库位性能评分求和取平均值得到区域评分;根据区域评分从大到小依次选取区域,如果不是最后被选取的区域,把区域中所有存放的订单中货物全部出库;如果是最后一个区域,此区域不需要把存放的货物全部出库,而是只要满足订单要求即可,对于最后一个区域,采用库位组合筛选选择出库库位;s55、区域组合大小大于1,仓库组合大小大于1,说明需要跨仓库取货,跨区域取货;根据步骤s54中计算区域评分的方法计算各区域评分,将区域评分求和取平均并加上跨区域惩罚代价得到仓库评分;按照仓库评分从高到底依次选取仓库,如果不是最后一个被选取的仓库,则把该仓库下所有存放的订单中的货物全部出库;如果是最后一个被选取的仓库,仓库下区域组合大小等于1,则根据步骤s53中对区域组合大小等于1时出库的方法进行出库库位组合选择;如果最后一个被选取的仓库下区域组合大小大于1,则根据步骤s54中对区域组合大小大于1时出库的方法进库位选择。进一步地,所述库位性能评分的计算方法为:计算各库位的出库代价、库位类型评分和库位下订单中货物的临保率,然后给各个特征加权求和得到库位性能评分:设出库代价的权重为wcout,库位类型评分的权重为wslt,临保率的权重为wrexpr,则库位性能评分slp公式如下:slp=wcout*cout+wslt*slt+wrexpr*rexpircout表示出库代价,slt表示库位类型评分,rexpir表示临保率。所述仓库性能评分swarehouse计算方法为:设筛选出来的区域组合中属于该仓库下的区域有m个,分别为{re1,re2,…,rem},对应的区域性能评分为{sregion1,sregion2,…,sregionm},跨区域惩罚代价为{ccrossregion1,ccrossregion2,…,ccrossregionm},跨区域惩罚代价权重为wcostcr,则:出库结果性能评分sresult计算方法为:设筛选出来的区域组合中属于该仓库下的区域有n个,分别为{wh1,wh2,…,whn},对应的区域性能评分为{swarehouse1,swarehouse2,…,swarehousen},跨区域惩罚代价为{ccrosswh1,ccrosswh2,…,ccrosswhn},跨区域惩罚代价权重为wcostcw,则:本发明的有益效果是:1、本发明通过多级筛选和综合多种因素,通过前向筛选,反向计算的方法对出库结果进行评定,选出评分最优的出库结果,能够能尽可能同时满足公司和货车司机的要求,保证了算法推荐的出库结果比人工选取更加稳定,性能更优,并且节约了公司聘用仓库管理员的成本和货物司机的时间成本;2、本发明通过增加中间计算数据库,使得本发明中的出库推荐算法能够在在仅修改数据同步程序的情况下,轻易适配其他企业,而不需要为每个企业设计一套出库推荐算法,并且中间计算数据库的存放也大大加速了出库算法的运算速度,提升了用户体验,可以在短时间内处理大订单。附图说明图1为本发明的四级筛选的流程图;图2为本发明的综合多因素的智能出库方法的流程图;具体实施方式本发明中主要采用了四级筛选来推荐出库库位,这四级筛选分别是片区级筛选、仓库组合级筛选、区域组合级筛选、库位组合级筛选,这几级筛选既加速了算法结果的快速产生,也保证了更优的出库库位推荐结果,如图1所示。下面说明各级筛选的作用。片区级筛选:该级筛选主要是对有多个片区存放货物的企业服务,主要作用是判断是否有片区满足订单要求,有哪些片区满足订单要求,筛除掉不满足订单货物种类要求和货物数量要求的片区,以免在无效的片区下进行运算,加速算法。仓库组合级筛选:该级筛选作用是选出满足订单要求的仓库组合,而且要求仓库组合的大小要尽可能小,这样就能避免跨越过多的仓库出库,节约出库时间,加速算法运算,并保证了出库算法结果更优。区域组合级筛选:该级筛选是对在每个仓库下还划分区域的管理的企业服务,作用是在每个仓库组合下,选出满足订单要求的区域组合,并要求区域组合大小尽可能小,这样避免跨越过多区域出库,而且要求区域组合中区域尽可能相邻,这样能在短时间内移动到另一个区域出库。这级筛选可以加速算法并使算法结果更优。库位组合级筛选:该级筛选是产生最终的出库结果,筛选的过程保证了算法推荐的出库结果稳定并比人工更优。企业可以根据实际需求来调整影响库位性能评分的因素所占的权重,比如企业更在意出库的时间,则可以将出库代价所占的权重调大。在本发明中,出库推荐结果虽然是在库位中取哪些货物,但是评价推荐出库结果性能时,并不是直接用库位组合性能评分来衡量,而是采用“前向筛选,反向计算”思想来最终评价出库结果性能。前向筛选指的是:进过片区级、仓库组合级、区域级、库位组合级筛选得到最终的库位组合。反向计算指的是:先计算库位组合中每个库位的性能评分,然后以库位性能评分为基础得到区域性能评分,接下来以区域性能评分为基础得到仓库性能评分,最后以仓库性能评分为基础得到出库结果性能评分。下面结合附图进一步说明本发明的技术方案。如图2所示,一种综合多因素的智能出库方法,包括以下步骤:s1、建立中间计算数据库,从企业生产库中同步数据到中间计算数据库中,之后算法所需要用到的数据全部从中间数据中库取;s2、根据出库订单得到货物信息,根据司机定位得到司机所处城市中的所有候选片区,以防司机跨城市取货;s3、根据订单信息和候选片区,进行片区级筛选;由于各个片区距离通常比较远,本算法不允许进行跨片区出库。首先统计每个候选片区下订单中各种货物存放的数量,然后比较候选片区下存放货物数量是否大于或者等于订单中要求货物数量,若是则执行步骤s4;否则通过反馈接口告知调用层,库存无法满足订单要求;s4、进行仓库组合级筛选;包括以下子步骤:s41、统计候选片区下各个仓库中存放的订单中各种货物的数量;s42、去除掉不含任何订单货物的仓库,将剩下的仓库当成一个集合,求该集合所有的真子集,每个真子集即为一个仓库组合;s43、根据仓库组合大小从小到大进行筛选,若某个仓库组合满足订单货物的种类和数量,则不再对大于它的仓库组合进行筛选,将该仓库组合作为最优的仓库组合;如果在某一个仓库组合大小中,存在满足订单要求,则不再对后面更大的仓库组合进行筛选,遵循跨越最少仓库出库原则;s44、判断仓库组合大小是否等于1,如果仓库组合大小等于1,则不需要跨仓库取货;按照库位性能评分从高到低依次选取库位出库,在选取过程中,优先选择相邻的库位,即选取一个库位时,发现还有相邻的库位可以选取,则直接选取相邻的库位,依次递归下去,直至没有相邻库位选取;然后再选取性能评分低一级的库位;s45、如果仓库组合大小大于1,则需要跨仓库取货,需要确定仓库选取顺序;将每个仓库下的库位的性能评分求和取平均值得到仓库性能评分;根据仓库性能评分从高到低选取仓库,如果不是最后被选取的仓库,把仓库中所有存放的订单中货物全部出库;如果是最后一个仓库,此仓库不需要把存放的货物全部出库,而是只要满足订单要求即可,对于最后一个区域,采用步骤s44的方法进行库位选择。s5、判断仓库是否被防火墙划分出为若干个区域,若是则进行区域组合级筛选,否则不进行区域组合级筛选;区域组合级筛选包括以下子步骤:s51、根据步骤s4得到的仓库组合,统计仓库组合中每个仓库下每个区域的订单中各种货物的数量;然后去除掉不含任何订单货物的区域,将剩下的区域当成一个大集合,求该集合所有的真子集,每个真子集即为一个区域组合;根据区域组合从小到大进行筛选,如果某一个区域组合满足订单货物种类和数量的要求,则进一步判断该区域组合中,所有区域是否连续相邻,若是则将该区域组合作为最优区域组合,否则继续对下一个区域组合进行筛选;若所有满足订单货物种类和数量要求的区域组合中的区域均不满足连续相邻,则将满足条件的最小的区域组合作为最优区域组合;因为在不得不跨区域出库的时候,在连续挨着的区域出库是最节约时间的,如果存在在同一个仓库下被选取的区域是连续挨着的区域组合,则抛弃不连续选取区域的区域组合。s52、判断步骤s51得到的区域组合大小是否等于1:如果区域组合大小等于1,进入步骤s53;如果区域组合大小大于1,但是仓库组合大小等于1,则进入步骤s54;如果区域组合大小大于1,仓库组合大小也大于1,则进入步骤s55;s53、区域组合大小等于1,说明不需要跨仓库、跨区域取货;按照库位性能评分从大到小依次选取库位,直到满足订单要求;在选取过程中,优先选择相邻的库位,即选取一个库位时,发现还有相邻的库位可以选取,则直接选取相邻的库位,依次递归下去,直至没有相邻库位选取,有线选择相邻库位能够降低出库后的区域库位离散度;然后再选取性能评分低一级的库位;s54、区域组合大小大于1,仓库组合等于1,说明不需要跨仓库取货,需要跨区域取货;对于区域组合中的每个区域,将所有库位性能评分求和取平均值得到区域评分;根据区域评分从大到小依次选取区域,如果不是最后被选取的区域,把区域中所有存放的订单中货物全部出库;如果是最后一个区域,此区域不需要把存放的货物全部出库,而是只要满足订单要求即可,对于最后一个区域,采用库位组合筛选选择出库库位;s55、区域组合大小大于1,仓库组合大小大于1,说明需要跨仓库取货,跨区域取货;根据步骤s54中计算区域评分的方法计算各区域评分,将区域评分求和取平均并加上跨区域惩罚代价得到仓库评分;按照仓库评分从高到底依次选取仓库,如果不是最后一个被选取的仓库,则把该仓库下所有存放的订单中的货物全部出库;如果是最后一个被选取的仓库,仓库下区域组合大小等于1,则根据步骤s53中对区域组合大小等于1时出库的方法进行出库库位组合选择;如果最后一个被选取的仓库下区域组合大小大于1,则根据步骤s54中对区域组合大小大于1时出库的方法进库位选择。s6、进行库位组合筛选:计算各库位的出库代价、库位类型得分、库位下订单中货物的临保率(如果有多个临保率,则取最高的值),然后给各个特征加权求和得到一个库位性能评分;按照库位性能评分从高到低依次选取库位出库,在选取过程中,优先选择相邻的库位,即选取一个库位时,发现还有相邻的库位可以选取,则直接选取相邻的库位,依次递归下去,直至没有相邻库位选取;然后再选取性能评分低一级的库位;s7、判断通过步骤s3~s6筛选出来的候选出库结果是否只有一个,若是则执行步骤s8,否则分别计算每个候选出库结果的性能评分,然后选取性能评分最高的出库结果作为最终推荐结果,执行步骤s8;s8、将选择的出库方案返回给调用层,包括推荐的片区、仓库及仓库出库顺序、区域及区域出库顺序(如果有区域这一级),出库库位等数据返回给调用层。影响出库库位性能的有三种重要因素:a、出库代价(c'):从该库位下搬运货物到仓库门的代价,可以选用时间或者距离来衡量并将其归一化。归一化方法如下:如果有区域级则在一个区域下进行库位出库代价归一化,如果没有,则在一个仓库下进行库位出库代价归一化。设没有归一化前的某个库位出库代价为c,归一化之后的出库代价为c',该仓库(或者区域)下库位出库代价最大值为cmax,最小值为cmin,则有:b、库位类型评分(slt):在仓库中,企业为了存放不同的货物或者其他要求,通常不会只有一种库位类型,而是会有多种库位混合使用,比如横梁式,穿梭式,平仓等。每种类型的库位出库的优先级也会有所不同,为了考虑这种情况,我们引入库位类型评分(slt),库位类型评分计算方式比较简单,将库位类型按照优先级从低到高开始排序,每一级对应的基础得分为优先级顺序(从1开始计算),然后将基础得分进行归一化即得到了库位类型评分。c、临保率(rexpir):出库时,企业为了保持货物的新鲜,会优先出生产日期靠前的货物,因此我们采用临保率来表示货物临近过期日期的程度。一般情况下,假如保质期12个月,生产日期间隔一两个月,消费者对此并不会感觉差距,但是如果间隔6个月,消费者肯定会选择新鲜的,所以临保率取值如表一所示。表一(过期日期-现在日期)/保质期分值1-0.760.250.75-0.51-0.50.50-0.260.750.25-01所述库位性能评分的计算方法为:计算各库位的出库代价、库位类型评分和库位下订单中货物的临保率,然后给各个特征加权求和得到库位性能评分:设出库代价的权重为wcout,库位类型评分的权重为wslt,临保率的权重为wrexpr(如果有多个临保率,则取最高的值),则库位性能评分slp公式如下:slp=wcout*cout+wslt*slt+wrexpr*rexpir。区域性能评分(sregion)计算方法为:设筛选出来的库位组合中属于该区域下的库位有n个,分别为{l1,l2,..,ln},对应的库位性能评分为{slp1,slp2,...,slpn},则:仓库性能评分(swarehouse)计算方法为:定义跨区域惩罚代价(ccrossregion)为:在该仓库下的区域组合中,从上一个区域跨越到该区域下的惩罚代价,范围为[0,1]。区域组合中第一个被选取的区域的跨区域惩罚代价为0,因为它是起点,其他区域的惩罚代价由业务人员在值域范围内自己定义,原则上跨越越多的区域到达该区域,惩罚代价应该越大。设筛选出来的区域组合中属于该仓库下的区域有m个,分别为{re1,re2,…,rem},对应的区域性能评分为{sregion1,sregion2,…,sregionm},跨区域惩罚代价为{ccrossregion1,ccrossregion2,…,ccrossregionm},跨区域惩罚代价权重为wcostcr,则:出库结果性能评分(sresult):定义跨仓库惩罚代价(ccrossware)为:在仓库组合中,从上一个仓库跨越到该仓库下的惩罚代价,范围为[0,1]。仓库组合中第一个被选取的仓库的跨仓库惩罚代价为0,因为它是起点,其他仓库的惩罚代价由业务人员在值域范围内自己定义,原则上跨越的距离越远,惩罚代价应该越大。设筛选出来的区域组合中属于该仓库下的区域有n个,分别为{wh1,wh2,…,whn},对应的区域性能评分为{swarehouse1,swarehouse2,…,swarehousen},跨区域惩罚代价为{ccrosswh1,ccrosswh2,…,ccrosswhn},跨区域惩罚代价权重为wcostcw,则:本发明的数据来源并不直接来源于企业的生产库,而是通过中间数据库也就是所谓的计算数据库。该计算数据库只储存算法需要的数据,这样做的好处有以下几点:a、使出库算法更容易适配。如果采用中间计算数据库,只需要修改数据同步程序,不需要修改出库推荐算法,就可以适配任何需要服务的企业。b、加速算法。一般生产库中往往具有很多算法并不需要关心的数据,如果直接从生产库中取数据,势必会消耗额外的时间,从而影响算法速度。如果采用中间计算数据库,没有无用的数据,从数据库中取数据的时间会大大减少。c、优化算法结构,减少算法复杂性。在生产库中,有很多直接的结果并没有存放在数据库中,比如库位是否存放货物和是否存满货物,某批货物是否可以直接从库位中出库(在穿梭式货架中,如果前面存放其他货物,则无法直接出库),这些指标如果都交于算法程序去统计,不仅会拖慢算法运算速度,而且增加算法程序结构复杂性。因此,如果采用中间计算数据库,让数据同步程序统计好算法所需要的指标,则大大减轻了算法程序负担。本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1