基于级联的改进差分进化算法的仓储多订单分批优化
东华大学 机械学院, 上海 201620
Multi-Order Batch Optimization of Warehouse Based on Cascaded Improved Differential Evolution Algorithm
School of Mechanical Engineering, Donghua University, Shanghai 201620, China
通讯作者: 余立潮,男,硕士生;E-mail:15216879773@163.com.
责任编辑: 陈晓燕
收稿日期: 2019-06-23
基金资助: |
|
Received: 2019-06-23
作者简介 About authors
陈广锋(1976-),男,上海市人,副教授,主要研究方向为智能检测与控制.
为了提高仓储车间货物调度的柔性和响应效率,提出一种级联的改进差分进化算法,构建以拣货小车运行时间、货架稳定性及货位的存货能力为资源条件的货位分配和以每批订单中每一货物分配到对应分区的最优货位的最大完工时间为条件的订单重新分批分配的两级目标模型.将拉格朗日插值算法融进标准差分进化算法得到改进算法,分别求解两级目标模型,并将两级求解过程级联,完成级联关系的差分进化算法求解多订单分批分配问题.改进的差分进化算法在自适应地调整差分进化参数基础上,结合拉格朗日插值优化差分进化算法的局部搜索能力,运用局部和全局切换因子动态调整进化方向,提高算法的收敛性能.将改进的差分进化算法应用于求解多订单分批分配问题,实验结果证明,改进的算法优化结果明显优于粒子群优化算法、遗传算法及标准差分进化算法,减少了每一批订单的最大完工时间,有效地均衡工作负载.
关键词:
In order to improve the flexibility and response efficiency of warehouse dispatching, a cascaded improved differential evolution algorithm is proposed to construct the allocation of goods with the picking trolley running time, shelf stability, and inventory capacity as resource conditions. The maximum completion time for each item in the batch order assigned to the optimal location of the corresponding partition is the two-level target model that is re-batch-allocated for the conditional order. The Lagrangian interpolation algorithm is integrated into the improved algorithm of the standard differential evolution algorithm to solve the two-level target model, and the two-level solution process is cascaded to complete the cascaded differential evolution algorithm to solve the multi-order batch allocation problem. Based on the adaptive adjustment of differential evolution parameters, the improved differential evolution algorithm combines the local search ability of Lagrangian interpolation to optimize the differential evolution algorithm, and uses local and global switching factors to dynamically adjust the evolution direction and improve the convergence performance of the algorithm. The improved differential evolution algorithm is applied to solve the problem of multi-order batch allocation. The experimental results show that the improved algorithm optimization results are better than the particle swarm optimization algorithm, the genetic algorithm, and the standard differential evolution algorithm, which reduces the maximum completion time of each batch of orders and effectively balance the workload.
Keywords:
本文引用格式
陈广锋, 余立潮.
CHEN Guangfeng, YU Lichao.
已有文献研究各种情况下的订单拣选问题[4].Çelk等[5]运用精确方法,以总距离和时间最短为目标函数,结合鱼形过道的仓库布局解决订单拣选问题.Matusiak等[6]以总距离与时间的比值最小为目标函数提出的模拟退火(SA)算法用于批处理.Chen等[7]为订单批处理提出了非线性混合的整数规划模型(MIP).在模型的基础上,以最小化订单的总延迟时间为目标函数,提出了混合遗传(GA)和蚁群优化(ACO)算法.后来Chen等[8]使用混合粒子群优化(PSO)和ACO方法解决订单批处理问题.Henn[9]借助最大限度地减少总延迟时间模型研究可变邻域下降(VND)和变邻域搜索(VNS)算法在批量处理的应用.Öncan[10]也引入MIP并在每个迭代中运用禁忌搜索作为局部搜索算法.Pan等[11]引入订单的分批和工作均衡问题,运用分组GA研究订单的分批效果.Chen等[12]制定出一个创新的订单批处理方法解决仓库中的拥堵问题,他们使用ACO获取每个小车的初始路线,然后使用一组方法规则试图修改路线以缓解拥堵.Cortés等[13]将库存约束考虑在内,采用禁忌搜索(TS)算法来解决拣选小车路径寻优问题,他们将TS分别与GA和SA的结果进行了对比,发现TS比其他方法具有更好的效果.Henn等[14]采用几种元启发式算法建立总延迟最小化数学模型解决批量处理问题,与标准的启发式算法相比,他们的方法可以改进解决方案.Menéndez等[15]提出了基于VNS改进算法解决订单批处理问题,并通过广泛的测试显示了该方法的性能.Žulj等[16]提出基于自适应邻域搜索算法和禁忌搜索算法,建立最小化总的行程和时间数学模型解决订单分配问题.陆汉东等[17]提出基于禁忌搜索算法分批调度柔性作业车间的模型.
上述研究从仓库的布局、使用的方法、考虑的特殊约束以及所使用的优化目标等方面考虑订单拣选相关问题,大多数研究都集中在建立行程的总距离或者时间最小化数学模型解决订单拣选问题,只有少数学者将完工时间作为优化目标融进订单分批问题.Scholz等[18]的研究将订单分配、订单批处理及拣选小车路径寻优同时考虑在内,使完工时间尽量减少,达到总拖期较少的目标.然而,每批订单拣选的批次序列不会改变总体完工时间,不同的批次序列可能导致不同的拖期级别,并不能保证拣货小车之间的工作量均衡.
订单分配、订单批次、拣选小车路线及可用拣选小车数量会影响总拣货完工时间.虽然最小化行驶的总距离可以降低拣选成本,但并不能保证拣货小车之间的工作量均衡.
针对上述问题,考虑最小化完工时间有利于拣选小车之间的负载均衡,因此,考虑拣选仓库中的最小完工时间是必不可少的.近年来,众多研究人员对使用差分进化(DE)解决优化问题越来越感兴趣.由Storn等[19]提出的DE算法是一种有效的局部搜索算法,各国学者将其用于各种优化问题.本文提出基于拉格朗日插值混合差分进化算法,建立每批订单最小化最大完工时间的数学模型,用拉格朗日插值提高DE算法的局部搜索能力,通过自适应控制DE算法的进化参数,使算法避免早熟收敛.此外,设计出DE算法局部和全局搜索自动切换因子,可以显著改善算法在收敛性和准确性方面的表现.
1 问题模型
图1
拣货操作从拣选小车挑选分配给它们的订单开始,每批包含1个或多个订单.图2所示为多个订单和多辆拣选小车的分配优化问题,其中每个格子代表完成某个订单若干个物料对应分区拣选小车所消耗的最大完工时间,图中,q为不同的物料分区;t为某一分区完成拣选的最大完工时间.假设每个订单对应的物料分区最优仓储货位已经求得,订单一起做批处理,每批都分配给第r辆拣选小车,tmax是所有批次中最大的完工时间.假设拣选小车的行进速度恒定,不受过道拥挤的影响.当前研究的问题可以表述如下:通过一定数量的拣选小车完成一组非空的客户订单的目标货位分配,批次
图2
为了最小化最大完工时间,建立对应数学模型如下:
式中:
如式(1)所示,模型是以最小化最大完工时间为目标函数,目标函数的解决是以式(10)的惩罚条件为前提;约束(2)和(3)保证在可行的解集中所有订单和所有物料都能被拣选小车选中;约束(4)表示批次中拣选小车r所能承载的最大订单o的数量;约束(5)为仓储货物拣选库货位容量约束并确保批次b中拣选小车r承载合理的b物料重量;约束(6)~(8)为货架稳定性和货位的存货能力;约束(9)为拣货小车r在满足物料周转率条件下将物料运送到目标货位的等价运行时间;式(10)表示保证在满足约束(6)~(9)条件下物料的最优货位分配最优模型;约束(11)为权重因子;约束(12)和(13)为每辆拣选小车的完工时间以及其最大完工时间.
2 融合拉格朗日插值算法的改进差分
进化(LGDE)算法 差分进化算法主要包括4个步骤:种群初始化、变异、交叉及选择.
2.1 标准差分进化
在所求解空间内,
式中:
差分进化算法通过随机选取种群中的两个个体进行向量缩放与变异个体进行合成:
式中:
对
式中:CR为交叉概率;
采用贪婪算法选择进入下一代种群个体:
式中:f为目标评价函数.为了能提高算法的收敛速度,保持较高的种群多样性,选择从种群中随机选择4个不同个体修正式(15):
式中:xgbest(g)为最优个体染色体;r4为第r个个体的第4个随机基因位.
2.2 时变交叉概率
由式(16)可知,如果CR越大,则选中个体
式中: l为概率系数;
2.3 拉格朗日插值
拉格朗日插值是一种在已知多个坐标点的情况下得到通过坐标点的近似函数的建模方法[20].采用拉格朗日插值构造近似函数加强差分进化算法的局部搜索能力.已知坐标点
式中:m'为索引参数.本文取l∈{0,1,2},代入式(21)得到抛物插值,将其简化成二次函数模型:
式中:
为了利用拉格朗日插值优化差分进化算法搜索局部最优值,取出最优个体染色体的一个基因位和变异最优个体染色体的一个基因位作为插值点,得到两个插值点:
算法1 拉格朗日插值算法流程
步骤1 输入当前迭代阶段的
步骤2 计算新的染色体
步骤3 将步骤1和2计算得到的染色体
步骤4 判断染色体基因位遍历是否结束,如果没有结束,转步骤1,否则,结束算法.
2.4 自适应调整差分进化算法搜索方向
为了保持种群的多样性与算法局部搜索能力的平衡,采用全局收敛算子λg和局部收敛算子λL评估算法的进化方向:
提出的自适应调整差分进化算法搜索方向是通过一个动态调整的阈值因子(DF)控制:
式中:DFmax,DFmin∈(0,1).为避免所提算法在进化过程全局无法收敛,采用式(27)控制算法进入局部搜索区域,式(28)则避免算法进入早熟阶段.当λg较大时,算法进入全局搜索,反之进入局部搜索.
2.5 算法流程
2.5.1 LGDE算法 LGDE算法流程如图3所示,具体步骤如下.
图3
步骤1 设置算法的种群大小NP,最大进化代数为max G以及其他进化参数.初始化DF和收缩算子.初始化种群,将要优化的货位或者时间存入数组,并初步统计种群的最优个体
步骤2 进入算法主循环,判断结果是否达到 max G,如果是则退出主循环,否则进入步骤3;
步骤3 生成一个0~1之间的随机数rand(0,1)与DF初值比较,如果rand(0,1)<DF则进入步骤4,否则进入步骤5;
步骤4 根据算法1计算出的
步骤5 根据式(16)、(18)及(19)进行变异和时变交叉操作,按照式(17)进行选择操作;
步骤6 统计当前代数种群的最优值与最优个体,并与步骤4所得结果进行比较,更新全局最优解和最优个体.按照式(25)、(28)更新DF和λg,迭代代数加1,转至步骤2;
步骤7 得到最优值和最优个体.
2.5.2 多订单分批分配优化 多订单分批分配优化过程如图4所示,具体步骤如下.
图4
图5
图6
步骤2 将基于订单编号的染色体输入到LGDE算法模型中,算法模型将进行每批次每个分区的最大完工时间最优分配,求解出每个订单的批次分配情况;
步骤3 判断是否满足终止条件,如果满足则完成订单分批分配,结束分配,否则转到步骤2.
3 算法实例验证
表1 改进差分进化算法参数设置
Tab.1
算法参数 | 种群规模 | 迭代代数 | 缩放因子 | 交叉概率 | DFmax | DFmin | CRinit |
---|---|---|---|---|---|---|---|
货位分配 | 30 | 500 | 0.5 | 式(19) | 0.20 | 0.05 | 0.18 |
订单分配 | 35 | 200 | 0.5 | 式(19),(20) | 0.20 | 0.05 | 0.20 |
在差分进化算法参数中,交叉概率和缩放因子两个参数对算法的性能影响较大,经过多次仿真实验,分析不同的参数组合对算法性能的影响,改进的算法采用式(19)和(20)的变交叉概率因子有利于提高算法的性能.经过大量实验,将缩放因子取值在0.5左右取得较好实验效果,局部和全局调整因子在0.04~0.3时,算法具有较好的收敛性能.对于对比实验的算法中,本文将采用多次实验确定算法的参数.遗传算法中的变异因子和交叉因子会对算法产生重要影响,在粒子群算法的惯性权重表明粒子对当前的粒子速度的继承情况,其对算法的性能和效率会产生影响,自适应差分进化算法中的交叉概率因子将采用式(19)进行时变操作.参考文献[11]设定的遗传算法参数,经过多次实验将遗传算法的交叉因子设为
3.1 货位分配实验分析
最小化每批订单的拣选小车的最大完工时间可以分解为最优各个分区的货位分配时间和最小化每批订单各分区的拣选小车的最大完工时间两个子问题,解决因多订单路径不同导致的订单完成顺序不同的问题.
表2 某一订单批次货物种类编号和数量
Tab.2
货物种类编号 | 数量 |
---|---|
1 | 35 |
15 | 34 |
18 | 33 |
20 | 41 |
21 | 39 |
24 | 34 |
25 | 47 |
26 | 45 |
30 | 30 |
图7
图7
各个算法目标函数值和各代平均值迭代情况
Fig.7
Objective function value of each algorithm and the iterative case of each generation
表3是在拣货小车运行时间较短、 货架稳定性较优及货位满足最大存货的能力等约束条件下各种算法目标函数值的计算结果.表中,Nt为迭代代数;tCPU为CPU消耗时间.
表3 各个算法优化结果对比
Tab.3
算法 | 最优值 | Nt | tCPU/s |
---|---|---|---|
GA | 8.66 | 93 | 95.72 |
PSO | 6.70 | 15 | 113.59 |
ADE | 6.58 | 300 | 118.74 |
DE | 4.58 | 350 | 110.68 |
LGDE | 4.47 | 118 | 68.35 |
表4 各个算法运行50次目标函数值平均值
Tab.4
算法 | |
---|---|
LGDE | 4.02 |
PSO | 6.43 |
DE | 4.03 |
ADE | 5.23 |
表5 各个算法运行50次CPU消耗时间的平均值
Tab.5
算法 | |
---|---|
HLIDE | 89.42 |
PSO | 130.76 |
DE | 131.71 |
ADE | 138.15 |
图8
图8
各个算法运行50次目标函数值和CPU消耗时间
Fig.8
Objective function value and CPU consumption time of each algorithm running 50 times
3.2 多批次多订单分配实验分析
为验证多批次多订单分配的实验效果,采用LGDE算法对模型进行求解,模型以每一批次各个分区的最大完工时间为目标,最后保证所有批次各个分区工作负载均衡.分别采用遗传算法、粒子群优化算法、标准差分进化算法、自适应差分进化算法对模型进行对比实验分析,实验中采用数量为100,150,200及250 的4组订单,每组订单分别进行多批分批实验,5种算法求得的实验结果如图9和10所示.图中:C'为订单数量;Nr为小车数量.
图9
图10
图10
LGDE算法实验结果拟合曲面
Fig.10
Fitting curves of experimental results of LGDE algorithm
图9(a)的fbest为目标函数最优值,图9(b)的
为了更加清晰地分析LGDE算法对多批次多订单分配情况,将LGDE算法的实验结果以三维曲面的形式表示,三维曲面的形式可以更加直观的看到不同订单不同拣选小车数量对实验模型的影响,如图10所示.
图11所示为在不同订单不同拣选小车对应的每批次最大和最小完工时间的差值的三维和二维图,图中
图11
图11
不同订单不同拣选小车对应的每批次最大和最小完工时间的差值
Fig.11
Difference between maximum and minimum completion time for each batch of different picking carts for different orders
4 结语
提出一种融合拉格朗日插值算法的改进差分进化算法求解仓储多订单分批优化,构建了以拣货小车运行时间、货架稳定性及货位的存货能力为资源条件的货位分配和以每批订单中每一货物分配到对应分区的最优货位的最大完工时间为条件的订单重新分批分配的两级目标模型.通过实验验证了改进的差分进化算法比传统的启发式算法在解决订单分批问题上具有较佳的效果,相对于传统的启发式算法,可以得到更可靠的最大完工时间,有利于拣选小车更好地均衡工作量,为企业分配订单提供有效的参考模型.同时,改进的差分进化算法的局部寻优表现出更佳的全局搜索和局部搜索能力,避免算法早熟和无法收敛.在实际数据量较大的情况下,改进的差分进化算法求解出的仓储分批优化消耗计算机的运行时间也在合理的范围内.为了更好地改善算法的性能,分布式计算结构的设计以及加速算法是下一步的研究方向.
参考文献
Retail supply chain management: Key priorities and practices
[J].DOI:10.1108/09574091111181381 URL [本文引用: 1]
A multi-objective model for order cartonization and fulfillment center assignment in the e-tail/retail industry
[J].DOI:10.1016/j.tre.2018.04.005 URL [本文引用: 1]
Minimizing order picking makespan with multiple pickers in a wave picking warehouse
[J].DOI:10.1016/j.ijpe.2018.10.001 URL [本文引用: 1]
Order batching operations: An overview of classification, solution techniques, and future research
[J].DOI:10.1007/s10845-016-1248-4 URL [本文引用: 1]
Order picking under random and turnover-based storage policies in fishbone aisle warehouses
[J].DOI:10.1080/0740817X.2013.768871 URL [本文引用: 1]
A fast simulated annealing method for batching precedence-constrained customer orders in a warehouse
[J].DOI:10.1016/j.ejor.2013.06.001 URL [本文引用: 1]
An efficient hybrid algorithm for integrated order batching, sequencing and routing problem
[J].DOI:10.1016/j.ijpe.2014.09.029 URL [本文引用: 1]
Using a hybrid approach based on the particle swarm optimization and ant colony optimization to solve a joint order batching and picker routing problem
[J].DOI:10.1016/j.ijpe.2015.03.021 URL [本文引用: 2]
Order batching and sequencing for the minimization of the total tardiness in picker-to-part warehouses
[J].DOI:10.1007/s10696-012-9164-1 URL [本文引用: 1]
MILP formulations and an iterated local search algorithm with tabu thresholding for the order batching problem
[J].DOI:10.1016/j.ejor.2014.11.025 URL [本文引用: 1]
Order batching in a pick-and-pass warehousing system with group genetic algorithm
[J].DOI:10.1016/j.omega.2015.05.004 URL [本文引用: 2]
An ACO-based online routing method for multiple order pickers with congestion consideration in warehouse
[J].DOI:10.1007/s10845-014-0871-1 URL [本文引用: 1]
A tabu search approach to solving the picking routing problem for large- and medium-size distribution centres considering the availability of inventory and K heterogeneous material handling equipment
[J].DOI:10.1016/j.asoc.2016.12.026 URL [本文引用: 1]
Metaheuristics for order batching and sequencing in manual order picking systems
[J].DOI:10.1016/j.cie.2013.07.003 URL [本文引用: 1]
Variable neighborhood search strategies for the order batching problem
[J].DOI:10.1016/j.cor.2016.01.020 URL [本文引用: 1]
A hybrid of adaptive large neighborhood search and tabu search for the order-batching problem
[J].DOI:10.1016/j.ejor.2017.06.056 URL [本文引用: 1]
基于禁忌搜索的柔性作业车间分批调度
[J].
An integrated tabu search algorithm for the lot streaming problem in flexible job shops
[J].
Order picking with multiple pickers and due dates-simultaneous solution of order batching, batch assignment and sequencing, and picker routing problems
[J].DOI:10.1016/j.ejor.2017.04.038 URL [本文引用: 1]
Differential evolution-A simple and efficient heuristic for global optimization over continuous spaces
[J].DOI:10.1023/A:1008202821328 URL [本文引用: 1]
基于改进粒子群优化算法的取件机械手轨迹综合优化设计
[J].
Path synjournal optimal design of pick-up manipulator based on modified particle swarm optimization
[J].
/
〈 |
|
〉 |
