大数据驱动下移动货架的货位优化研究
来源:用户上传
作者:
[摘 要] 随着商品经济的发展,海量的商品种类和订单数量使得传统的仓储设施无法满足发展的需要。通过利用Apriori算法挖掘以往销售订单中的频繁项集,并根据频繁项集的结果对商品进行分组,之后排除已经在商品组中的商品,通过不断地降低支持度阈值对剩下订单中的商品进行挖掘,直到大部分的商品均分配到商品组中,将剩余的商品根据销量来分配商品组,这样大部分商品组中的商品都是经常在同一订单中出现的。再将这些商品组分配到货架上,从而在拣选的过程中减少货架搬运数量,提高拣选效率,降低拣选成本。
[关键词] Apriori算法;频繁项集;货位优化
[中图分类号] F740 [文献标识码] A [文章编号] 1009-6043(2019)08-0118-02
一、引言
近年来,国内外学者加大了对仓储活动的研究,但是很多研究都集中在自动化立体库方面,自动化立体库虽然能大大的提高仓储作业效率,但是基础设施成本高,对操作人员的技术要求也较高,不能满足我国中小仓储企业的发展需要。目前,移动货架与自动导引运输车(AGV)结合应用既实现了存取自动化,操作简便,又对技术的要求相对较低,资金投入少,系统柔性好,能随时的增减移动货架和AGV小车的数量,因此,移动货架是未来货架发展应用的一个方向。仓库管理除了对基础设备的改造升级以外,还要对基础的仓储活动进行优化,以往的研究表明,对于仓储的管理订单拣选作业的成本占仓库总运营成本的50%-75%[1],提高拣选作业的方法包括优化拣选路径,订单的批处理,分区仓库,存储位置优化,其中,存储位置优化对提高订单拣选效率的影响性较大。
二、货位优化问题描述及分析
在传统的货架货位优化中,其拣选活动是基于“人到货”的拣选活动,货架的位置是固定的,人在仓库中行走,从而完成拣选活动。因此,传统的货架位置优化就是希望所拣选的商品存储在距离拣选台近的地方或者在拣选人员到达某一货架位置时,能拣选完订单中的多种商品,从而减少行走路程,节约拣选时间。移动货架是基于“货到人”的拣选模式,在拣选的过程中机器人搬运货架到达拣选台,拣选人员在拣选台等着货架到来,并完成拣选活动。为了提高拣选效率,我们往往希望搬运一个货架而完成多种商品的拣选,这样,就能在完成一批订单的拣选时,机器人可以搬运的货架数量更少,从而提高拣选效率,降低企业成本。为了满足这样的拣选需求,对货位进行优化时,我们将考虑商品分组策略,并根据以往的销售订单,利用Apriori算法对订单进行挖掘,找到经常在同一订单中出现的商品,并将这些商品分配到商品组中,最后将每个商品组安排到一个货架上。对于那些没有被挖掘出的商品,我们将不断的降低支持度阈值,对其进行多次挖掘。对于那些在支持度阈值较低的情况下也没有被挖掘出的商品,我们将根据其销量进行商品分组,这样的商品分组就尽可能的将出现在同一订单的商品分配到同一商品组中,最终分配到同一个货架上。
三、频繁项集与Apriori算法
项集指的是若干个项的集合,频繁项集是指支持度大于等于最小支持度的集合。其中支持度指的是某个集合在所有事务中出现的频率。频繁项集挖掘是数据挖掘中的一个很重要的研究基础,它可以告诉我们数据集中经常出现的量,并为我们的决策提供支持[2]。本研究将采用Apriori算法,挖掘历史订单中频繁项集的方法,对历史订单的数据进行分析。
1994年IBM Almaden Research Center的Agrawal[3]提出Apriori算法。Apriori算法在发现频繁项集与关联规则中具有显著的历史地位。Apriori算法通过逐层搜索迭的方式来寻找频繁项集,即由频繁k项集产生频繁k+1项集,该过程也被称为连接与剪枝。Apriori算法中的先验性质即频繁项集的所有非空子集也一定是频繁的,该性质能大大的压缩搜索空间,提高搜索效率。产生频繁项集的步骤如下:
(1)给定支持度阈值。
(2)扫描数据库,产生满足最小支持度的频繁一项集。
(3)由频繁一项集经过连接产生候选项集,根据支持度阈值进行剪枝,再根据先验性质产生频繁二项集。
(4)重复(2)、(3)过程,直至产生所有的频繁项集。
四、商品分类与货位指派
以往的研究表明,人们对不同的商品需求程度是不同的,像生活必需品,我们是需要定期购买的,而像红酒,对于那些不喜欢喝酒的人来讲,他们可能永远不会购买红酒。因此,除了刚刚已经分配到商品组中的商品以外,仍有大部分的商品在商品组之外,我们还需要将这部分商品很好的分配到商品组中,为了使在同一商品组中的商品是经常在一起出现的,因此,我们将不断地降低支持度,对订单进行挖掘,直到支持度已经非常非常小时则停止挖掘,之后,将不在商品组中的商品根据销量进行分组,直到所有的商品已经都分配到商品组中。具体的实施步骤如下:
(1)设置最大的支持度阈值,对订单中的商品进行挖掘。
(2)根据支持度对频繁项集进行排序,之后考虑最高維度的项集数和货架货位数对商品进行分组。
(3)排除已经分组的商品,更新数据库。降低支持度阈值,对剩下的商品进行挖掘。
(4)根据支持度对频繁项集进行排序。如果此时最高维度项集内的商品种类与已有商品组中商品的种类之和小于等于货架货位数,则将该频繁项集中的商品分配到已有商品组中,否则,该频繁项集中的商品为一个商品组。
(5)重复(3)、(4)过程,直到所有的商品都获得分组。
通过挖掘订单中的频繁项集,先将一部商品根据频繁项集的结果形成商品组,之后不断地降低支持度阈值将剩余的商品也形成商品组。该方法能最大程度的将同时出现在一个订单中的商品分配到同一个商品组里。我们将商品组指派到空货架上,每个商品组将对应一个货架编号。 五、实证与分析
我们选取了某电商三月份的销售订单数据,原始数据包含了拣选订单号、发货订单号、订单产生时间、商品编码、商品数量等,我们对原始数据进行处理并选取发货单号、商品编码、商品数量三类信息,统计发现该电商三月份数据中一共有82147个订单,包含了160种商品。
在利用Apriori算法对数据进行挖掘之前,我们要对货位优化过程进行一定的假设:
(1)布局已经确立,空货架已经摆放在仓库中。
(2)忽略货物的规格、尺寸。
(3)存在一种商品存储在多个货架的情况。
(4)只考虑项集维度小于等于货架货位数的频繁项集。
(5)假设每个货架最多存放六种商品。
为了能更好的挖掘频繁项集,我们先设置不同的支持度阈值进行挖掘探索。开始时我们将支持度阈值设置为0.35,由于此时的支持度閾值较高,只能挖掘到频繁二项集,所以,应降低支持度阈值。我们将支持度阈值分别设置为0.3、0.25,发现当支持度阈值分别为0.3、0.25时,他们的挖掘结果与第一次挖掘结果一致。接下来,我们分别将支持度阈值设置为0.2、0.15、0.10、0.05、0.01,我们发现当支持度阈值为0.2时,最多挖掘到频繁四项集;当支持度阈值设置为0.15、0.10时,可以挖掘到频繁五项集,二者的挖掘结果一致;当支持度阈值设置为0.05时,可以挖掘到频繁六项集;当支持度阈值设置为0.01时,可以挖掘到频繁八项集。由于货架最多可以存储6种商品,因此,我们寻找频繁六项集对应的支持度阈值。从以上的探索挖掘过程就可以发现,当支持度阈值为0.05、0.01时,都可以挖掘到频繁六项集,但当支持度阈值为0.01时,频繁六项集出现的数量较多,所以,我们从支持度阈值为0.01开始进行挖掘,并将每个频繁项集形成一个商品组,并从系统数据中剔除已经在商品组的商品数据。
接下来,将支持度阈值设置为0.05,可以挖掘到两个频繁三项集,由于第一次挖掘中,项集维度都是六,因此,已经存在商品的商品组无法加入新的商品。将两个频繁三项集合并成一个商品组,当两个频繁项集中存在相同种类的商品时,这就说明这种商品需求量较大,因此,将该种商品视为两种。将支持度阈值设置为0.001进行第三次挖掘,最多可以挖掘到频繁五项集,频繁项集的数量为一个。由于前面的商品组的已经没有空位,因此,将频繁五项集形成一个新的商品组。由于剔除掉一些商品,有的订单可能不存在了,当支持度阈值设置为0.001时,依次可以挖掘到频繁三项集。从第四次挖掘开始,我们分别将支持度阈值设置为0.001、0.001、0.001、0.0005、0.0001,一共进行了八次挖掘,此时的支持度阈值设置已经非常低,但仍有49种商品未被挖掘出来,根据支持度、订单数量,我们便可以知道这些商品在订单中出现的次数小于9,属于不经常在订单中出现的商品,因此,我们根据他们的销量,将他们分配到商品组中,但观察他们的具体销售量时,发现每个订单的购买量非常大,所以,我们考虑一个商品组只存在一种商品,但放置的数量非常多。
根据挖掘的结果,我们将160种商品分配到了62个商品组里,并依次将该商品组分配到货架上。
六、结论
通过对历史订单进行挖掘分析,我们将经常购买的商品分到一个商品组里,最后放置到一个货架上,这样就能在拣选的过程中通过搬运一个货架而完成多种商品的拣选,从而大大提高拣选效率,降低拣选成本,这对于企业的长久发展具有十分重要的意义。
[参考文献]
[1]梁博.仓储作业动态货位优化技术研究与应用[D].东华大学,2017.
[2]陈少总.基于Spark的分布式频繁项集挖掘算法研究[D].东华大学,2017.
[3]Nils Boysen, Konrad Stephan.The deterministic product location problem under a pick-by-order policy[J]. Discrete Applied Mathematics,2013,78161(18):2862-2875.
[责任编辑:潘洪志]
转载注明来源:https://www.xzbu.com/1/view-15005671.htm