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

技术编号:14992594 阅读:92 留言:0更新日期:2017-04-03 23:15
一种基于改进的K-Means算法的订单分批方法。本发明专利技术公开了一种基于数据挖掘的订单分批方法,包括如下步骤:1对数据集进行向量化处理,获得订单集X;2通过交叉检验法获得距离阈值T1和T2;3利用Canopy算法得到簇个数K及中心点;4利用上一步得到的K值以及中心点,使用改进的K-Means算法进行聚类;5得到最终的聚类结果之后,按照每个聚类的订单的平均到达时间进行排序,得到订单分批的结果。本发明专利技术能准确地对大批量的物流订单进行分批,从而提高分拣作业的效率,减少分拣环节所占用的时间。

【技术实现步骤摘要】

本专利技术属于数据挖掘领域,具体说是一种基于改进的K-Means算法的订单分批方法
技术介绍
网购时代的来临,电商企业会产生大量的物流订单,这些订单数量呈现海量性,订单中物品品项呈现小批量、多品种、多批次的特点,给第三方物流企业的分拣作业带来很大的难度。分拣环节在整个订单履行环节中是除了运输之外最耗费时间的环节,平均分拣时间要占仓库内订单履行时间的40%以上,如果按照订单到达时间顺序分拣不仅费时费力,而且易出差错,效率低下。订单分批是一个NP难问题,使用传统的精确算法,无法有效地解决这个问题,因而普遍采用启发式算法来解决。在订单分批问题的解决方法中,主要分为优先规则算法、种子算法、节约算法以及数据挖掘算法。Ruben&Jacobs提出了一种优先规则算法,定义了“订单信封”:一对数字,代表一个订单在通道左右两边所必需的分拣的品项数,对比各订单的“订单信封”的数字大小,选择优先级更高的订单进行分拣;HwangandLee和PanandLiu等文献考虑了单货架MOBAS/RS分拣系统的种子算法,按照相应规则进行种子选择,然后选择其他订单与种子进行匹配;谭俊华、李诗珍构建的数学模型仅考虑工人的行走距离,采用节约启发式算法求解分批问题;李诗珍先进行聚类,然后通过启发式算法求解。Chen&Wu描述了一种基于关联规则挖掘和整数规划的订单分批方法,考虑每一对订单的支持度,将关联性较大的订单归为一批;Ling-FengHsieh,FanChia-Yun应用自组织映射的思想,考虑订单之间的相似性,对订单进行分批;XuShaoyun,LiTieke,WangLei和WangBailin提出了考虑处理时间和投递目的地的改进K-Means聚类算法。这些算法中,优先规则算法比较简单,但是没有考虑订单之间的相关性,导致分拣路径的重复;种子算法的初始值的选择比较难以确定;而节约算法也是只考虑了目标分拣距离的最短,没有深入考虑订单的本身属性以及订单之间的关系。传统的启发式算法只能针对小数据集进行计算,而K-Means算法可以处理大数据集,算法可伸缩并且效率很高,可以对目前的海量订单的数据进行高效处理,但是,目前所使用K-Means聚类方法的文献仅仅考虑了运输、处理时间等属性,没有考虑订单品项中的重复的通道数量,也缺乏对初始聚类中心合理选择,并且容易陷入局部最优。
技术实现思路
本专利技术为了克服现有技术的不足之处,提出了一种基于改进的K-Means算法的订单分批方法,以期能有效地利用订单的实时信息,以及利用订单之间的相似性计算订单之间的距离,准确地对大批量的物流订单进行分批,从而提高分拣作业的效率,减少分拣环节所占用的时间。为了达到上述目的,本专利技术所采用的技术方案为:本专利技术一种基于改进的K-Means算法的订单分批方法的特点是按如下步骤进行:步骤1、对数据集进行向量化处理,获得订单集X,记为X={x1,x2,…,xi,…,xn本文档来自技高网
...

【技术保护点】
一种基于改进的K‑Means算法的订单分批方法,其特征是按如下步骤进行:步骤1、对数据集进行向量化处理,获得订单集X,记为X={x1,x2,…,xi,…,xn};xi表示第i个订单;记第i个订单xi的到达时间为ti;记第i个订单xi的商品品项为mi;记第i个订单xi的品项体积为vi;1≤i≤n;记分拣车的容量为V;步骤2、通过交叉检验法获得距离阈值T1和T2,且T1>T2;步骤3、利用Canopy算法得到中心点集合:步骤3.1、初始化j=1;并以第i个订单xi作为第j个中心点cj;以第p个订单xp作为第j+1个中心点cj+1;p≠i;1≤p≤n;步骤3.2、获得n个订单分别与第j个中心点cj之间的距离集合,记为表示第i个订单xi与第j个中心点cj之间的距离;再获得n个订单分别与第j+1个中心点cj+1之间的距离,记为表示第i个订单xi与第j+1个中心点cj+1距离,并有:di,j+1表示分拣第i订单和第j+1个订单中所有商品品项在仓库中所走的路程,dj+1表示分拣第j+1个订单中所有商品品项在仓库中所走的路程;步骤3.3、初始化i=1;步骤3.4、若或则将第i个订单xi加入到第j个中心点cj的Canopy集合Kj中或第i个订单xi加入到第j+1个中心点cj+1的Canopy集合Kj+1中;若或则将第i个订单xi从订单集X中删除,将距离从距离集合Dj中删除或将从距离集合Dj+1中删除;步骤3.5、将i+1赋值给i,并判断i>n是否成立,若成立,则表示获得更新的距离集合D′j、D′j+1和订单集X′;并执行步骤3.6;否则,返回步骤3.4执行;步骤3.6、从所述更新的距离集合D′j和D′j+1中分别选出最大距离记为和若则以所对应的订单作为第j+2个中心点cj+2,若则以所对应的订单作为第j+2个中心点cj+2;步骤3.7、判断更新的订单集X′是否为空,若为空,则表示获得中心点集合,记为c={c1,c2,…,cj,…cq};1≤j≤q;q表示中心点的个数;否则,将j+1赋值给j,并返回步骤3.2执行;步骤4、使用改进的K‑Means算法进行聚类:步骤4.1、初始化i=1;步骤4.2、利用式(1)计算第i个订单xi的商品品项mi与第j个中心点cj的相似度从而获得第i个订单xi与q个中心点的相似度Sj(i)=mi(cj)Tcj(cj)T+mi(mi)T-mi(cj)T---(1)]]>步骤4.3、从第i个订单的相似度Si中选出一个最大值并计算最大值所对应的中心点所在的第max个簇Kmax中所有订单的总品项体积与最大值所对应的订单品项体积之和是否超出分拣车的容量V,若超出,则将最大值所对应的订单划分到次最大值所对应的中心点所在的簇中;否则,将最大值所对应的订单划分到第max个簇Kmax中;步骤4.4、将i+1赋值给i,并判断i>n是否成立,若成立,则表示由所述中心点集合c形成q个簇,记为K={K1,K2,…,Kj,…,Kq};Kj表示第j个簇;并有表示第j个簇Kj中第r个订单;Rj表示第j个簇Kj中的订单总数;并输出q个簇K后,执行步骤5;否则,返回步骤4.2执行;步骤5、计算第j个簇Kj中Tj个订单的平均到达时间Tj,从而获得q个簇的平均到达时间{T1,T2,…,Tj,…,Tq}并按照升序进行排序,从而获得最优簇K′={K′1,K′2,…,K′j,…,K′q}。...

【技术特征摘要】
1.一种基于改进的K-Means算法的订单分批方法,其特征是按如下步骤进行:
...

【专利技术属性】
技术研发人员:胡小建韦超豪张美艳
申请(专利权)人:合肥工业大学
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1