一种基于改进的K-Means算法的订单分批方法

文档序号:9911970阅读:1316来源:国知局
一种基于改进的K-Means算法的订单分批方法
【技术领域】
[0001] 本发明属于数据挖掘领域,具体说是一种基于改进的K-Means算法的订单分批方 法。
【背景技术】
[0002] 网购时代的来临,电商企业会产生大量的物流订单,这些订单数量呈现海量性,订 单中物品品项呈现小批量、多品种、多批次的特点,给第三方物流企业的分拣作业带来很大 的难度。分拣环节在整个订单履行环节中是除了运输之外最耗费时间的环节,平均分拣时 间要占仓库内订单履行时间的40%以上,如果按照订单到达时间顺序分拣不仅费时费力, 而且易出差错,效率低下。
[0003] 订单分批是一个NP难问题,使用传统的精确算法,无法有效地解决这个问题,因而 普遍采用启发式算法来解决。在订单分批问题的解决方法中,主要分为优先规则算法、种子 算法、节约算法以及数据挖掘算法。Ruben&Jacobs提出了一种优先规则算法,定义了 "订单 信封":一对数字,代表一个订单在通道左右两边所必需的分拣的品项数,对比各订单的"订 单信封"的数字大小,选择优先级更高的订单进行分拣;Hwang and Lee和Pan and Liu等文 献考虑了单货架MOB AS/RS分拣系统的种子算法,按照相应规则进行种子选择,然后选择其 他订单与种子进行匹配;谭俊华、李诗珍构建的数学模型仅考虑工人的行走距离,采用节约 启发式算法求解分批问题;李诗珍先进行聚类,然后通过启发式算法求解。Chen&Wu描述了 一种基于关联规则挖掘和整数规划的订单分批方法,考虑每一对订单的支持度,将关联性 较大的订单归为一批;Ling-Feng Hs i eh,Fan Chia-Yun应用自组织映射的思想,考虑订单 之间的相似性,对订单进行分批;Xu Shaoyun,Li Tieke,Wang Lei和Wang Bailin提出了考 虑处理时间和投递目的地的改进K-Means聚类算法。
[0004]这些算法中,优先规则算法比较简单,但是没有考虑订单之间的相关性,导致分拣 路径的重复;种子算法的初始值的选择比较难以确定;而节约算法也是只考虑了目标分拣 距离的最短,没有深入考虑订单的本身属性以及订单之间的关系。传统的启发式算法只能 针对小数据集进行计算,而K-Means算法可以处理大数据集,算法可伸缩并且效率很高,可 以对目前的海量订单的数据进行高效处理,但是,目前所使用K-Means聚类方法的文献仅仅 考虑了运输、处理时间等属性,没有考虑订单品项中的重复的通道数量,也缺乏对初始聚类 中心合理选择,并且容易陷入局部最优。

【发明内容】

[0005] 本发明为了克服现有技术的不足之处,提出了一种基于改进的K-Means算法的订 单分批方法,以期能有效地利用订单的实时信息,以及利用订单之间的相似性计算订单之 间的距离,准确地对大批量的物流订单进行分批,从而提高分拣作业的效率,减少分拣环节 所占用的时间。
[0006] 为了达到上述目的,本发明所采用的技术方案为:
[0007]本发明一种基于改进的K-Means算法的订单分批方法的特点是按如下步骤进行: [0008]步骤1、对数据集进行向量化处理,获得订单集X,记为X= {X1,X2,···,Xi,…,Xn} ;Xi 表示第i个订单;记第i个订单xi的到达时间为t i;记第i个订单xi的商品品项为mi;记第i个 订单xi的品项体积为vi; 1 < i < η;记分拣车的容量为V;
[0009] 步骤2、通过交叉检验法获得距离阈值^和!^,且
[0010 ]步骤3、利用Canopy算法得到中心点集合:
[0011]步骤3.1、初始化j = 1;并以第i个订单Xi作为第j个中心点Cj;以第p个订单xP作为 第j+Ι个中心点Cj+I;p关i;l《p《n;
[0012]步骤3. 2、获得η个订单分别与第j个中心点q之间的距离集合,记为
表示第i个订单Xl与第j个中心点q之间的距离;再获得η 个订单分别与第j +1个中心点Cj+1之间的距离,记为
#+11表示第i个订单Xl与第j+Ι个中心点距离,并有4/+11 = <,+1-^,也扣表示分拣第 i订单和第j+Ι个订单中所有商品品项在仓库中所走的路程,山+1表示分拣第j+Ι个订单中所 有商品品项在仓库中所走的路程;
[0013] 步骤3.3、初始化i = l;
[0014] 步骤3.4、若<.2^_或<+" <2^,则将第i个订单Xi加入到第j个中心点Cj的Canopy 集合Kj中或第i个订单Xi加入到第j + 1个中心点Cj + i的Canopy集合Kj + i中;若<乃或 < Γ2,则将第i个订单XlW订单集X中删除,将距离#^从距离集合D冲删除或将< +11从 距离集合Dj+1中删除;
[0015] 步骤3.5、将i+Ι赋值给i,并判断i>n是否成立,若成立,则表示获得更新的距离集 合0/、0、+1和订单集^;并执行步骤3.6;否则,返回步骤3.4执行;
[0016] 步骤3.6、从所述更新的距离集合D/和D、+ 1中分别选出最大距离记为 和 若,则以€所对应的订单作为第j+2个中心点邮,若€ ><=,则以 所对应的订单作为第j+2个中心点cj+2;
[0017] 步骤3.7、判断更新的订单集X'是否为空,若为空,则表示获得中心点集合,记为c ={(31,〇2,"_,(^^"(:(1};1<」^;9表示中心点的个数 ;否则,将」+1赋值给」,并返回步骤3.2 执行;
[0018] 步骤4、使用改进的K-Means算法进行聚类:
[0019] 步骤4.1、初始化i = l;
[0020] 步骤4.2、利用式(1)计算第i个订单Xl的商品品项nu与第j个中心点q的相似度 $,从而获得第i个订单Xi与q个中心点的相似违
[0021:
[0022] 步骤4.3、从第i个订单的相似度51中选出一个最大值并计算最大值所对 应的中心点所在的第max个簇K max中所有订单的总品项体积与最大值<1所对应的订单品 项体积之和是否超出分拣车的容量V,若超出,则将最大值所对应的订单划分到次最大 值所对应的中心点所在的簇中;否则,将最大值所对应的订单划分到第max个簇Kmax中;
[0023] 步骤4.4、将i+1赋值给i,并判断i >η是否成立,若成立,贝lj表示由所述中心点集合 c形成q个簇,记为Κ = {Κι,K2,…,Kj,…,Kq} ;Kj表示第j个簇;并有
;表示第j个簇Kj中第r个订单;Rj表示第j个簇Kj中的订单 总数;并输出q个簇K后,执行步骤5;否则,返回步骤4.2执行;
[0024]步骤5、计算第j个簇Kj中Tj个订单的平均到达时间Tj,从而获得q个簇的平均到达 时间{Ti,T2,…,Tj,…,Tq}并按照升序进行排序,从而获得最优簇f = {K/,K/,…,K/,…, KqMo
[0025] 与已有技术相比,本发明的有益效果体现在:
[0026] 1、本发明在进行订单分批时对订单分批的过程进行了建模,通过Canopy算法得到 初始中心点,避免了 K-Means聚类时选择聚类数目的盲目性,然后利用订单之间的相似性进 行K-Means聚类,提升了订单分批的效果,减少了分拣距离和分批次数,提高了设施的使用 效率。
[0027] 2、本发明在生成初始解(订单中心点)时,采用了Canopy算法按照一定的计算规则 自动生成了初始中心点和K值,避免了以往K-Means聚类时随机选择初始点的弊端;同时在 生成初始中心点的过程中,采用了最大最小原则筛选中心点,保证了初始解的有效性,提高 了聚类的效果。
[0028] 3、在计算订单之间的相似性时,采用了共同储位数和品项差值作为订单之间的距 离。既保证了聚类的有效性,也减少了运算时间,可以对大数量集的订单数据进行处理,提 高了订单分批的效率。
【附图说明】
[0029]图1为本发明算法流程图;
[0030] 图2为本发明与KMB算法在各指标下的比较图。
【具体实施方式】
[0031] 本实施例中的订单分批方法,使用了来自大量的来自于电商网站的真实数据,然 后对数据集进行预处理,把订单转化为向量,之后先对数据集进行交叉验证,确定距离阀值 Τι和T2的大小,利用Canopy方法将订单集划分为K个Canopy,得到各个Canopy的中心点和K 值,最终通过K-Means算法进行聚类,得到各个分批。最后通过采集的真实订单数据集与其 他基础算法进行比较。具体地说:
[0032] 如图1所示,一种基于改进的K-Means算法的订单分批方法,是应用于订单分批问 题中,订单分批中包含订单集X以及订单集X的划分;将订单集X的划分结果记为Τχ??Κ^ Κ2,...,心,...,Kk}表示第j个分批;1 < j < k,k为分批个数;并按如下步骤进行:
[0033]步骤1、对数据集进行向量化处理,获得订单集X,记为X = { XI,X2,…,Xi,…,Xn} ; Xi 表示第i个订单;记第i个订单Xi的到达时间为t i;记第i个订单Xi的商品品项为mi;记第i个 订单Xl的品项体积为v1;l < i 记分拣车的容量为V;订单数据来源于某电商网站订单,也 可以是物流企业的业务系统中的订单数据,本实施例中以电商订单数据作为初始数据。实 施中每个订单商品品项对应一个仓库货位,用数字表示相应位置;
[0034] 步骤2、通过交叉检验法获得距离阈值^和!^,且TiSTs;交叉检验柴永S折交叉证, 其过程是将随机抽取的2000个订单集分为10个大小相同的子集,其中9个自己作为训练集, 余下的1个作为测试集,这一过程对可能的10种选择重复进行。使用不同的阈值参数进行训 练,最后用测试集进行训练;
[0035]步骤3、利用Canopy算法得到中心点集合:
[003
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1