用于物流的订单排序优化方法与流程

文档序号:12735225阅读:来源:国知局

技术特征:

1.用于物流的订单排序优化方法,其特征在于具体包括:对仓库存储系统与物品存放进行布局;获取当前仓库库存信息及需进行处理的订单内容;对订单进行排序优化,排序优化过程包括:(1)由于同一类商品可能存放在多个不同的货柜中,在进行订单排序优化之前,根据订单中的商品保质期、订单中商品所在货柜的商品剩余数量或货柜的远近距离去确定订单中相应商品应从哪个货柜中取出;(2)对于确定了商品的取货货柜后的订单进行优化排序,运用进化计算的优化方法对订单进行优化排序,使具有相同商品的订单尽量排在相邻位置,从而可以重复利用已取出商品,避免来回运输商品而造成排单效率的低下。

2.如权利要求1所述的用于物流的订单排序优化方法,其特征在于所述对仓库存储系统与物品存放进行布局具体是:

仓库中存放有mxn个货柜,n为行数,m为列数;每个货柜有自己的ID号;以仓库的一个位置为坐标原点建立坐标系,在该坐标系统中每个货柜的位置定义为(Pxi,Pyi),Pxi和Pyi为该货柜与坐标轴的距离,i为货柜的ID编号;所述距离以米为单位;在每个货柜上有一个或多个SKU(stock keeping unit的简称,为库存进出计量的基本单元,以件、盒、托盘等为单位),每个SKU中存放同一种类的商品;

仓库中存在SP个分拣口,每个分拣口同时能分拣OrderNum个订单,只有当某一分拣订单被完成时,才能往分拣口加入下一个被分拣的订单;第i个分拣口在坐标系中对应坐标定义为(POxi,POyi);物流自动化采用机器人将货柜从仓储区送到每个分拣口,分拣人员从中取出所需的商品后,机器人即马上将货柜运走,给每个分拣口配一个s1xs2的缓存架,即该缓存架包含s1层,每层具有s2个格子,用于缓存货柜,机器人将货柜从仓储区送到每个分拣台并分拣;仓库存储系统的后台服务器判断该货柜中的商品在随后k个订单内是否被再次需要分拣,若不需要,则机器人将其运回货架;否则,则放入缓存架中,以备之后的需要该货柜中商品的订单在分拣时直接取用;若放入缓存架后缓存架不满,则直接放入;若放入后缓存架满了,则对缓存柜s1xs2个格中的货柜判断哪一个货柜中的商品会被随后的订单序列最晚被需要,则机器人将该货柜送回仓储区;从而保证在整个分拣过程中,缓存柜至少有一个格是空着的。

3.如权利要求1所述的用于物流的订单排序优化方法,其特征在于所述获取当前仓库库存信息及需进行处理的订单内容具体包括:

获取物流初始信息,该初始信息包括当前仓库商品库存信息、分拣口当前仍未分拣完的订单信息、需优化的订单和订单信息;所述当前仓库商品库存信息具体包括获取仓库中所有的货柜ID及其坐标、每个货柜包括的SKU数量及每个SKU内存放商品的商品ID、商品数量与商品保质日期;所述的获取分拣口当前仍未分拣完的订单信息具体包括获取每个分拣口未完成的订单数量、这些订单所包含的商品ID及商品所需数量、此时缓存架中的货柜ID;所述的获取需优化的订单和订单信息具体如下:

需优化的订单的获取过程为:一批次处理N张订单的排序优化,订单的优化按照先下单先排序的准则进行;首先从N个订单中获取分拣商品ID和商品数量,判断需分拣的每种商品的库存量是否满足需求,若满足,此N个订单进行入待排序状态;若任意一种或多种商品库存量不够,则提醒仓储管理人员进行补货,并将此N个订单顺延到下一次再进行排序优化;同时重新提取随后N个订单对其信息商品库存的上述判断,否则重复上面的步骤直至N个订单的所需商品数量库存均能满足为止;

需优化订单的信息包括N个订单中每个订单所包含的商品ID及商品所需数量;订单在读取时按读取顺序对其进行1,…,N编号;在N个订单中被需要的所有商品各自被存放的货柜的ID。

4.如权利要求1所述的用于物流的订单排序优化方法,其特征在于,所述步骤(1)具体是:

在优化排序前需确定订单中各商品所用货柜ID,对于N个待排序订单序列,在保持分配后每个分拣口数量相当的条件下先将订单分配给每个分拣口,订单的分配分为两种模式,分别为启动模式和连续工作模式;再按照订单顺序根据订单中不同的商品为其采取保质期优先、商品剩余数量优先、距离优先三种策略中的一种为其选取所需的货柜;按照某种策略进行货柜选取后,若最优货柜商品数量不够订单需求,则需要同时再取次优货柜以满足不足部分,若次优货柜内包含的商品数量依旧不够,则同时需再取次次优,若再不满足则同理,直到满足该商品所需的数量;重复以上步骤直到给所有订单中所有的商品都确定好其所需货柜;

所述的订单分配的启动模式为:启动模式通常在每个新工作日的开始时;每个分拣口均在前一工作日完成了分配的任务,每个分拣口无未分拣完的订单,而每个分拣口的缓存架还维持着前一工作日工作完成时的状态;

所述的订单分配的连续工作模式为:启动模式之后的均为连续工作模式;在连续工作模式中,当某个分拣口剩余未分拣的订单数量不大于Ordernum个时后台给各分拣口分配订单并加在每个分拣口未分拣完的订单之后;

所述的货柜确定的三种策略的具体内容为:对于有保质期限制的商品采取保质期优先策略,保质期优先策略为优先分配距过期时间最短的存放该商品的货柜;对于数量多的商品采取商品剩余数量优先策略,商品剩余数量优先策略为优先分配库存该商品数量最少的货柜,以防止过多的货柜剩余商品数量同时降到货柜的补货临界点所导致的没及时补货而产生的商品总数量不足问题;对于大型商品采取距离优先策略,距离优先策略为优先分配离所需该商品的分拣口最近的货柜,该距离利用货柜和分拣口的欧式距离来求取。

5.如权利要求1所述的用于物流的订单排序优化方法,其特征在于,所述步骤(2)具体是:

5.1:订单的排序优化的问题描述:同一商品可能存放在多个货柜中或不同商品存放在同一货柜的不同SKU中,因此优化算法要求在订单排序前应先确定分拣商品时所用到的货柜ID号,将每个订单中的每个商品确定好其所用的货柜ID后,再对订单序列进行优化排序,使需要相同ID货柜的商品订单尽量排在同一分拣口,而不同分拣口的订单尽量不使用相同ID货柜,即同一分拣口的订单之间的相似程度高尽量高,而不同分拣口的订单之间的相似度尽量低;

5.2:所述的订单的优化排序问题的模型可描述为:优化算法对确定好使用货柜ID的订单序列进行优化排序,以得到效率最高的的订单序列,即优化目标函数f的值最高;模型的中的变量定义如下:

Ordernum:每一个分拣口同时可分拣的订单数量;

SP:分拣口的数量;

li:N个订单分配到第i个分拣口的数量;

rei:第i个分拣口未完成订单数量,启动模式下为0;

Q1、Q2、P:加权系数,为正常数;

pij:第i个分拣口的第j个订单,j=1,...,rei,...,rei+li

habc1,habc2:分别表示与pab交叉的第c个出口的下限与上限的订单编号;

SNabcd:表示pab和pcd中包含所需相同ID货柜的商品数量;

SSab:表示pab所需第a个分拣口的缓存架上货柜的商品数量;

决策变量为:

优化模型如下:

目标函数:

约束条件:

min(rei,Ordernum)≤(1-z)·Ordernum 公式(4)

上述约束中公式(2)、公式(3)表示N个订单在在保持分配后每个分拣口数量相当的条件下将订单分配给每个分拣口;公式(4)表示在启动模式时,每个分拣口未分拣完订单数量均为0;在连续工作模式时,只有在某个分拣口待处理订单数量小于Ordernum时才会加入新的订单;

5.3:所述的问题的模型的优化目标函数f是由两部分组成,即同一分拣口的订单之间的相似性和不同分拣口之间的订单的相似性组成,f所表示的即为优化目标的适应度值;

所述的同一分拣口的订单之间的相似性定义如下:分配到同一个分拣口的订单之间相似性越高则适应值越高,同一分拣口的相似性具体如目标函数中的部分描述,此时决策变量xabcd=1,即a=c,b≠d;其中Q1,Q2为权重系数,而表示越相近的订单间的相似性对适应值的影响增大,同时,相距较远的订单间的相似性也仍具有一定的影响力,表示在启动模式下,还需将每个分拣口的前Ordernum个订单与该分拣口的缓存架进行比较;

所述的适应值的计算中不同分拣口之间的订单的相似性求取过程如下:分配到不同分拣口的订单之间相似性越低则适应值越高,这样可以保证同一货柜尽量不要被不同分拣口使用;假定每个商品处理的时间相当,则可将一个订单的被分拣时间段转化为其在订单序列中的位置,以商品为单位,某订单起始位置为订单中第一个商品所在该分拣口所有订单商品序列中的顺序号,而订单终止位置为该订单中最后一个商品所在该分拣口所有订单序列中的顺序号;获取其他分拣口的相同起点与终点位置间的所对应的订单,这些订单被称为与其交叉的订单;将与第a个分拣口的第b个订单交叉的第c个分拣口的订单编号下限与上限定义为(habc1,habc2);每个订单与其有交叉的订单进行比较,又因要考虑到机器人的搬运时间,因此将对比的范围扩大Δ个订单,即habc1=habc1-Δ,habc2=habc2+Δ,且habc1≥0,habc2≤lc;不同分拣口的相似性具体如中目标函数中的部分描述,此时a≠c;当不同分拣口间的订单所需货柜起冲突时,也即两个在不同分拣口的订单会使用相同ID的货柜时,则采用一个惩罚函数,P取一个很大的正数,使其适应值减低;

5.4采用进化算法用于解决所述的订单的排序优化问题,具体采用的进化算法为基于学习小组的改进教学算法,算法具体如下:

在整个群体中,每一代的最优个体为Teacher,每个个体通过学习更新自己;针对传统教学算法容易早熟收敛陷入局部最优的问题,引入学习小组的概念;将学生分为多个学习小组,每个小组分别有个Leader,充当教学算法中Teacher的角色;算法的流程为:

1)算法初始化;利用随机和启发式信息产生Np个学习小组,即子种群;每个小组即子种群含有Popsize个成员,即种群大小为Np*Popsize;初始化迭代次数Gen,小组交换成员个数Iv=1;

2)对每个学习小组成员进行适应值评估,选出每个学习小组的Leader;

3)每个学习小组独立进化,依次进行教师教学阶段、学生相互学习阶段、学生自学习阶段的学习;

4)若每个学习小组连续五次迭代都没得到更优个体,则进行学习小组间成员交换;

5)若达到算法终止条件,则算法结束;否则转至5.1.2;

5.4.1所述的基于学习小组的改进教学算法中种群中成员的编码方式为:在进化算法中,每一个成员都对应于该问题的一个解;进化的过程即为由初始解逐步迭代产生新的优秀成员的过程;对于处理的N个订单,每个解即学习小组成员由染色体的基因表示,每个基因即为订单的编号,染色体长度为N,染色体基因的顺序决定了订单所分配的分拣口与被处理的顺序;根据公式(2)、公式(3),可得到l1,l2,...,lSP,将订单序列中前l1个订单分配给分拣口1,接下来的l2个订单分配给分拣口2,以此类推;

5.4.2所述的基于学习小组的改进教学算法中种群初始化的过程为:确定初始条件时,先通过对各商品所需频次进行统计,利用频次高到低的启发式信息对种群中的某个成员进行初始化,其他个体仍利用随机产生方式产生;

5.4.3:所述的基于学习小组的改进教学算法中学习小组成员交换的策略为:当进化连续迭代五次所有小组都没有进化得到更优的成员的时候,进行学习小组成员交换,每次交换Iv个成员,成员的选择方式为轮盘赌选择法,交换完成后Iv=Iv+1,且Iv大小不能超过Popsize/2;该改进方式能很好的保证各种群的多样性,避免早熟收敛;

5.4.4:所述的基于学习小组的改进教学算法中教师教学阶段为:每一代中最优的个体作为教师,负责引领种群进行进化;用下式描述子种群和教师之间的差距:

Difference_Meani=ri(Mnew-TFMi) 公式(5)

其中,TF表示教学因子,TF=[1+round(0,1)],ri为[0,1]间的随机数;Mi为第i代的平均水平,Mnew表示期望的下一代的平均水平,一般取当前种群的最优个体;

在教师阶段,每个学生根据Difference_Meansi按照下式进行学习:

Xnew,j=Xold,j+Difference_Meansi 公式(6)

其中Xnew,i,Xold,i表示更新前后的第i代的第j个个体;只有当学生的水平有所提高的时候,即适应值更优时,当前的学习过程才会被接受;

5.4.5:所述的基于学习小组的改进教学算法中学生相互学习阶段为:学生相互学习阶段的过程即是随机选择两个学生进行交叉操作,这个过程同样只有当学生水平有提高时才被接受;

5.4.6:所述的基于学习小组的改进教学算法中学生自学习阶段为:将学习次数定义在一个范围[Smin,Smax],根据公式(7)计算获得每个个体的学习次数:

其中LA(i)=f(i)/max(f(i))表示第i个个体的学习能力,f(i)为第i个个体的适应值;考虑到运行的效率,取Smin=1,Smax=15,Smean=(Smin+Smax)/2;每个个体根据自学习算子进行各自学习次数的学习,从多次的学习中选择最优的那个方向进行进化,即用某个个体邻域中的最优个体替换当前个体;

5.4.7:所述的基于学习小组的改进教学算法中教师教学阶段和学生相互学习阶段采用的交叉算子为:为保证后代中的染色体不会产生基因的重叠与缺失,交叉算子采取基于位置的交叉算子;即在parent1中随机选择若干个位置的基因并按照其在parent1中的位置继承给子代,并将parent2中未被parent1选中的基因按顺序添加到子代的欠缺的基因中;

5.4.8:所述的基于学习小组的改进教学算法中学生自学习阶段采用的自学习算子为:自学习算子采用单点交叉算子、倒位算子与移位算子;所述的自学习算子中单点交叉算子为:随机选取两个基因位,交换其位置,单点交叉对于个体的改变较小;所述的自学习算子中倒位算子为:随机选取两个基因位,对两个位置间的基因进行字符串反转操作;所述的自学习算子中移位算子为:随机选取两个基因位,对两个位置间的基因进行循环左移一位的操作。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1