站间操作者不同的并行拆卸线平衡问题优化
Optimization of parallel disassembly line balancing problem with different operators between workstations
收稿日期: 2021-04-20
基金资助: |
|
Received: 2021-04-20
Fund supported: | 国家自然科学基金资助项目(51205328,51675450);教育部人文社会科学研究青年基金资助项目(18YJC630255);四川省科技计划资助项目(2019YFG0285) |
作者简介 About authors
张则强(1978—),男,教授,博导,从事制造系统与智能优化的研究.orcid.org/0000-0001-8781-3618.E-mail:
针对现有并行拆卸线对各拆卸线任务定义不明确且数学模型均为概念模型,考虑站间操作者不同,构建以最小化工作站数目、机器人数量、拆卸成本和空闲时间均衡指标为优化目标的并行拆卸线平衡问题的混合整数规划模型. 提出适应该问题的改进头脑风暴优化算法,该算法通过双层编码构造可行拆卸序列,离散化原始操作,设计单个个体和2个个体产生机制的变异交叉方式. 为了增加种群个体的多样性,设计四点交叉的操作策略. 针对优化目标的多重性,引入Pareto解集思想和拥挤距离筛选多目标非劣解. 应用CPLEX和LINGO求解小规模算例精确解,与算法求解结果对比,验证了该模型的正确性与算法的有效性. 应用该算法求解P25经典算例,与现有的多篇文献结果对比,验证了该算法求解性能的优越性. 将所建模型和所提算法应用于电视机与电冰箱的并行拆卸线实例中,通过不同的对比实验验证了所提算法的优越性.
关键词:
A mixed integer programming model was constructed for parallel disassembly line balancing problem aiming at the problem that the task definition of each disassembly line is unclear and the mathematical models are conceptual models in the existing parallel disassembly line. The difference of operators between workstations was considered. The number of workstations, the number of robots, disassembly cost and idle time balancing index were minimized. An improved brain storm optimization algorithm was proposed. A feasible disassembly sequence was constructed through double-layer coding, and the original operation was discretized. A mutation and crossover mode was designed corresponding to the generation mechanism of a single individual and two individuals. The operation strategy of four-point crossover was designed in order to increase the diversity of population individuals. Pareto solution set and crowding distance were introduced to screen non-inferior solutions of multi-objectives aiming at the multiplicity of optimization objectives. CPLEX and LINGO were used to solve the exact solution of small-scale examples. The correctness of the model and the effectiveness of the algorithm were verified compared with the results of the algorithm. The algorithm was applied to solve P25 classic examples and compared with the results of many existing literatures. The superiority of the algorithm was verified. The proposed model and algorithm were applied to the parallel disassembly line of TV and refrigerator, and the advantages of the proposed algorithm were verified by different comparative experiments.
Keywords:
本文引用格式
张则强, 许培玉, 蒋晋, 张裕.
ZHANG Ze-qiang, XU Pei-yu, JIANG Jin, ZHANG Yu.
时代的快速发展和人民生活的水平不断提高,使得电器电子产品的更新换代速率加快. 大量废旧的电器电子产品中含有许多可再利用的资源和危害材料,若大量闲置或随意丢弃,会对环境造成污染和带来资源的浪费. 为了有效地解决废旧电器电子产品的拆卸问题,Gungor等[1]提出拆卸线平衡问题(disassembly line balancing problem, DLBP).
拆卸线布局的研究主要集中于直线型[1-5, 12-14]. 与直线型拆卸线相比,并行拆卸线是将2条及以上的拆卸线平行放置,可同步拆卸多种不同的产品,有效地提高拆卸效率和生产线柔性. Hezer等[15]提出并行拆线平衡问题(parallel disassembly line balancing problem, PDLBP),采用基于最短路径的网络模型求解. Guo等[16]设计可同时拆卸和装配的并行生产线,构建以拆卸成本和平滑度指标为优化目标的数学模型,应用变邻域和非支配排序遗传算法的混合算法求解. Zhu等[17]构建并行不完全拆卸线平衡问题的数学模型,设计混合群邻域算法求解. Hezer等[15-17]分别构建不同问题的PDLBP数学模型,但存在一定的不足,所建模型均属于概念模型,无法精确求解,即无法验证所有约束对于优化目标的正确性. 存在对2条拆卸线任务定义不明确的情况,例如提到并行线上具有相同编号任务时无法确定是哪条线上的任务. 本文考虑当前劳动力短缺的国情,拆卸线属于劳动密集型工作,需要大量的劳动. 替换部分工作站操作者由机器人拆卸,即在站间操作者不同的基础上与PDLBP结合,构建以工作站数目、机器人数、拆卸成本和空闲时间均衡指标为优化目标的PDLBP数学模型,应用CPLEX和LINGO对模型进行精确求解,验证该模型的正确性.
头脑风暴优化算法(brain strom optimization, BSO)[18]是受头脑风暴会议中思维碰撞过程的启发而提出的群智能优化算法,现已成功应用于电动车路径优化[19]和离散调度问题[20]等离散型组合优化问题中,表现出优越的求解性能. DLBP属于离散型组合优化问题,为了解决本文的多目标PDLBP,提出改进头脑风暴优化算法(improved brain storm optimization, IBSO). 在算法中,将原始连续操作进行离散化处理,分别设计变异交叉操作,分别对应算法中的单个个体产生机制和2个个体产生机制,设计四点交叉操作策略. 引入Pareto解集思想和NSGA-Ⅱ拥挤距离[21]的双精英策略,筛选非劣解.
1. PDLBP数学模型
1.1. 问题描述
图 1
采用零件的优先关系图,以直观地表示零件之间的拆卸约束关系. 如图2所示为分别包含5个拆卸任务和4个拆卸任务的2个产品任务优先关系图. 图中,圆圈和正方形内数字表示各产品的拆卸任务,各任务间由箭头相连,箭尾与紧前任务相连,箭头与紧后任务相连;Pl为拆卸线l上任务的优先关系矩阵,
图 2
若拆卸线l中任务i是任务j的紧前任务,则表示
将拆卸优先关系图转换为拆卸优先关系矩阵,用于问题求解,例如产品1中任务5的紧前任务有任务3和任务4,所以任务5须等所有紧前任务拆卸完成才可拆卸,即在P1中P1(3,5)和P1(4,5)均等于1,如两任务即任务i和任务j间无优先关系约束,则P(i,j)=0. 为了更好地描述问题与模型,给出如下假设.
1)每个工作站只分配一个机器人或一名工人工作.
2)机器人和工人拆卸每种产品各项任务的时间已知.
3)忽略共享工作站时操作者的移动时间.
4)待拆卸产品完整,开展完全拆卸.
1.2. 数学模型
目标函数如下.
式中:CT为节拍时间;i为拆卸任务编号;Il为拆卸线l上任务编号集合,拆卸线Ⅰ任务集为
式(1)表示优化目标f1为开启工作站数目. 式(2)表示优化目标f2为机器人使用数量. 式(3)表示优化目标f3为拆卸过程所需成本,综合考虑成本,包括工作站工作成本、工作站待机成本、机器人数量成本、工人拆卸成本和机器人拆卸成本. 式(4)表示优化目标f4为空闲时间均衡指标. 式(5)表示4个优化目标尽可能最小.
约束条件如下.
式中:i、j为拆卸任务;M为一个大的正数. 式(6)为任务分配约束,完全拆卸且每个拆卸任务仅能分配一个工作站. 式(7)为工作站开启数目约束,所开启工作站在1~(n1+n2). 式(8)、(9)为拆卸任务被分配时必有工位开启. 式(10)为工位约束,工作站须按顺序拆卸. 式(11)为工位分配操作者约束,每开启一个工作站须分配一种类型的操作者工作. 式(12)为节拍约束,每个开启工作站的工作时间不得超过节拍时间. 式(13)为优先关系约束,拆卸线l上任务拆卸须满足各自产品的优先关系. 式(14)表示若任务i分配至工作站w且分配给第k类型的操作者,则该类型的操作者须分配至工作站w.
2. 改进头脑风暴优化算法
BSO算法是以聚类中心为导向来产生新个体,对应于头脑风暴会议中以一个讨论得到的方案为参考生成新的方案过程. 结合PDLBP的特点,提出改进头脑风暴优化算法. 具体的改进措施如下. 离散化单个个体和2个个体产生机制的原始操作,应用L2范数方法在聚类前对目标矩阵进行归一化处理,设计基于交叉算子和变异算子的产生机制. 为了增加种群个体的多样性,设计四点交叉的操作策略.
2.1. 生成初始种群
1)分别从拆卸线Ⅰ和Ⅱ中的优先关系矩阵Pl中搜索无紧前工作的任务,将所有的无紧前工作的任务构成可分配任务集A.
2)从可分配任务集A中随机挑选一个任务分配到当前的拆卸序列中. 若该任务为拆卸线Ⅱ上的任务,则将该任务在P2的位置索引+n1后分配至当前的拆卸序列中.
3)若该任务为拆卸线Ⅰ中的任务,则解除拆卸线Ⅰ与该任务相关任务的紧前约束;若该任务为拆卸线Ⅱ中的任务,则解除拆卸线Ⅱ与该任务相关任务的紧前约束.
4)重复1)~3),直到拆卸线Ⅰ和拆卸线Ⅱ中所有的任务分配完成.
5)随机生成一组长度为n1+n2、只有0和1的随机数组,其中0表示工人,1表示机器人.
2.2. 解码
并行拆卸线的解码过程是按照拆卸序列的顺序,将各项拆卸任务合理地分配到工作站中. 由于本文是在节拍时间给定的情况下优化工作站数目,开启工作站数目未知. 为了将所有拆卸任务分配至工作站中,并为每个开启的工作站分配工人或机器人,在编码时随机生成一组长度为(n1+n2)的0-1随机数组作为工作站属性用于解码. 如图3所示为解码示意图. 图中,圆形为拆卸线Ⅰ任务,正方形为拆卸线Ⅱ任务. 具体的解码步骤如下.
1)输入带有双层编码的可行拆卸序列,开启工作站w=1. 令工作站剩余时间等于节拍时间,即RT = CT,拆卸序列指针dn = 1.
2)提取拆卸序列第dn位置的任务i,确定第2层0-1随机数组中第w位置对应的工作站属性. 若第w位置对应的0-1码为0,则该工作站为工人拆卸;若对应的0-1码为1,则该工作站为机器人拆卸,提取任务i对应拆卸操作者类型的拆卸时间tik.
3)判断tik是否大于RT. 若不大于RT,则转至4);若大于RT,则转至5).
4)将任务i分配至第w个工作站,计算该工作站剩余时间RT = RT − tik.
5)开启新的工作站w=w+1,重新提取0-1随机数组中第w位置对应的工作站属性和任务i对应操作者类型的拆卸时间tik,RT = CT − tik.
6)判断dn是否小于n1+n2. 若小于n1+n2,则dn = dn+1并返回2);否则输出任务分配结果.
图 3
2.3. 聚类
针对DLBP问题的特点,目标函数的各维特征尺度存在不同,采用K-mean聚类方法会造成各维特征对形成的距离的影响存在一定差异. 在聚类之前,需要对目标矩阵进行预处理. 形成聚类中心的步骤如下.
1)对适应度的目标矩阵,应用L2范数方法进行归一化预处理.
2)计算归一化得到的目标矩阵中每个个体间的欧氏距离,形成距离矩阵.
3)选取平均欧氏距离最大的个体作为第一个聚类中心,将距离聚类中心最近的(Cn/(m−1))个个体聚为一类.
4)计算每个个体到各聚类中心的欧氏距离,选取平均距离最大的个体作为下一个聚类中心,根据上述方法形成所有聚类中心并完成聚类操作.
2.4. 基于单个个体的产生机制
基于单个个体的产生机制是一种无规则局部搜索操作,该过程相似于进化算法中的变异操作. 通过不同的选择概率选择聚类中心和非聚类中心,添加扰动,产生新个体. 离散化的扰动公式如下:
式中:
图 4
2.5. 基于2个个体的产生机制
基于2个个体的产生机制是头脑风暴过程中不同小组之间思维碰撞的过程,在多轮小组头脑风暴后,当前小组的思路通常会变窄,新个体的产生会变得越来越难,所以需要跳出当前的小组讨论,进行随机的小组间思想碰撞来产生新方案. 结合该过程与DLBP,引入进化算法中的两点交叉操作.
1)随机选取2个聚类中心或非聚类中心X1和X2,随机生成2个1~(n1+n2)的随机整数a和b,a < b.
2)对于拆卸序列,提取X1序列位置中a~b的序列片段C,寻找X2中与片段C相同的任务;根据X2序列中任务的拆卸顺序,将片段C中的任务重新排序形成Cnew. 在重新排序过程中,片段C之间的任务在X2中满足产品各自的优先关系,所以重新排序后片段Cnew任务序列均未破坏2个拆卸产品的优先关系约束.
3)在X1中将片段Cnew替换片段C.
4)对于0-1码,将X2中与片段C中相同任务下的0-1码进行替换,将操作后的新的拆卸序列和0-1码重新组合,形成新个体Xnew1.
2.6. 四点交叉策略
为了增加种群个体的多样性,扩大个体可操作性片段和随机性,引入四点交叉操作策略. 具体如图5所示,对于第1层拆卸序列,随机生成4个1~n1+n2交叉点c1<c2<c3<c4. 将Xold1的拆卸序列分成5段,选择c1~c2和c3~c4 2段序列作为信息片段,保持Xold1 2个信息片段外的序列顺序不变,找到Xold2中对应2个信息片段的任务顺序,将其序列重新排序后替换原始信息片段,重新排序时因各任务在Xold2即满足任务间优先关系. 结合图2的两产品优先关系图可知,重新排序后的新片段未违反零件间的优先关系. 第2层0-1码,将Xold2中与信息片段相同任务下的0-1码替换原始信用片段下的0-1码,将新的拆卸序列和0-1码组成新个体Xnew.
图 5
2.7. 精英保留策略及Pareto解集评价
DLBP是典型的多目标组合优化问题,这与单目标优化不同,由于优化目标有多个,不能同时求解出最优解,只能提供一组数量合适的非劣解. 引用Pareto解集思想处理所涉及的4个优化目标并筛选非劣解,即算法运行一次可以求得多个互不占优的非劣解. 假设决策空间的x1和x2是满足约束条件式(6)~(14)的2个可行解,当含有M个目标函数的解x1优于解x2时,则称解x1支配于解x2,表示为x1
该算法经过多次迭代,将Pareto筛选出的非劣解更新并储存到外部档案Q中,当外部档案Q中的非劣解达到一定的数量后,算法的效率会下降. 为了避免该情况的产生,引入NSGA-Ⅱ拥挤距离机制为非劣解排序,有效地减少非劣解的个数,实现精英保留策略. 拥挤距离定义为
式中:d为非劣解的个数,
图 6
式中:
2.8. IBSO算法流程
IBSO具体算法流程如下.
1)输入算法相应的初始参数:生成的种群规模为Cn,拆卸线Ⅰ和Ⅱ的优先关系矩阵为Pl,带有机器人拆卸时间、工人拆卸时间等的信息矩阵KB,最大的迭代次数为Mgen,聚类个数为m,聚类参数为p1,分组参数为p2,单个体扰动参数为p3,两个体扰动参数p4和节拍时间CT等.
2)生成初始种群,建立外部档案
3)计算Cn个个体的目标函数值,应用Pareto筛选并更新外部档案Q.
4)设置初始迭代次数g=1,开始迭代.
5)对初始种群进行聚类操作,将其聚类为m类.
6)生成一个随机数Ra,若Ra < p1,则随机生成一个个体替换该聚类中心;否则执行7).
7)随机生成Cn个随机数Rb. 对于Rb < p2的个体转至8),进行单个体操作;其余个体转至9),进行2个个体操作.
8)依次选择个体,生成随机数Rc. 若Rc < p3,则对该个体的聚类中心进行2.4节操作产生新个体,否则对选中个体操作产生新个体,并与原个体比较择优保留.
9)生成随机数Rd. 若Rd<p4,则随机选取一个聚类中心与该个体聚类中心进行2.5节的操作,产生新个体;否则随机选一个非聚类中心与该个体操作产生新个体,并与原个体比较,择优保留.
10)将8)、9)产生的新个体进行随机匹配,进行四点交叉操作(见2.6节).
11)应用Pareto和拥挤距离对8)~10)获得的结果进行筛选和排序,更新种群和外部档案Q,计算该迭代次数下外部档案中Pareto解集的HV指标并储存.
12)判断g是否大于Mgen. 若小于Mgen,则返回5)并令g=g+1;否则程序终止,输出最优拆卸方案与目标函数值.
3. 算法性能验证
3.1. 小规模模型验证
为了验证所建的PDLBP模型的正确性,采用CPLEX和LINGO精确解求解器,对1.3节所建模型开发相关程序,求解P10和P8算例. 算例中,基础拆卸时间和各零件优先关系等信息均来自文献[1, 23],具体的拆卸信息如表1所示. 表中,tip为工人拆卸时间,tir为机器人拆卸时间,cost为成本. 应用数学规划的方法对所提各优化目标求解时,各目标类型均不同,例如f1为混合整数线性规划(mixed integer linear programming, MILP)问题,f2和f3为混合整数二次规划(mixed integer quadratic programming, MIQP)问题,上述目标均可用CPLEX求解,但是f4为混合整数非线性规划(mixed integer nonlinear programming, MINLP)问题,无法应用CPLEX求解,应用LINGO对f4进行精确求解. 为了验证IBSO算法的有效性,应用MATLAB运行IBSO算法求解该算例,与精确解对比. IBSO参数为:Cn=120,Mgen=200,p1=0.2,p2=0.5,p3=0.5,p4=0.6,精确解与IBSO算法的对比结果如表2所示. 表中,ts为求解时间. 各目标最优值的任务分配图如图7所示. 图中,tw为工作站工作时间;任务前为“−”的是拆卸线Ⅱ任务;工作站中为点划线,表示该工作站由机器人拆卸,拆卸线Ⅰ拆卸P10产品即n1=10,拆卸线Ⅱ拆卸P8产品即n2=8.
表 1 P10和P8算例的拆卸信息
Tab.1
任务编号 | P10 | 任务编号 | P8 | |||||
tip /s | tir /s | cost /元 | tip /s | tir /s | cost /元 | |||
1 | 14 | 10 | 5.6/3 | 1 | 14 | 10 | 5.6/3 | |
2 | 10 | 12 | 4/3.6 | 2 | 10 | 7 | 4/2.1 | |
3 | 12 | 8 | 4.8/2.4 | 3 | 12 | 15 | 4.8/4.5 | |
4 | 17 | 12 | 6.8/3.6 | 4 | 18 | 13 | 7.2/3.6 | |
5 | 23 | 16 | 9.2/4.8 | 5 | 23 | 16 | 9.2/4.8 | |
6 | 14 | 15 | 5.6/4.5 | 6 | 16 | 20 | 6.4/6 | |
7 | 19 | 13 | 7.6/3.9 | 7 | 20 | 14 | 8/4.2 | |
8 | 36 | 22 | 14.4/6.6 | 8 | 36 | 25 | 14.4/7.5 | |
9 | 14 | 10 | 5.6/3 | − | − | − | − | |
10 | 10 | 12 | 4/3.6 | − | − | − | − |
表 2 精确解与IBSO算法求解结果的对比
Tab.2
精确解 | 目标类型 | 求解器 | ts /s | IBSO算法 | |||||||
f1 | f2 | f3 | f4 | f1 | f2 | f3 | f4 | ||||
7 | − | − | − | MILP | CPLEX | 0.34 | 7 | 3 | 141.56 | 13 | |
− | 0 | − | − | MIQP | CPLEX | 0.28 | 9 | 0 | 144.36 | 228 | |
− | − | 136.12 | − | MIQP | CPLEX | 11.4 | 7 | 4 | 136.12 | 362 | |
− | − | − | 9 | MINLP | LINGO | 183342.7 | 7 | 3 | 142.20 | 9 |
图 7
图 7 各目标最优值的任务分配图
Fig.7 Task allocation diagram of optimal value of each target
由表2对比可知,CPLEX与LINGO求得精确解与IBSO算法求得各目标的最优值均相同,由于各目标求解难度不同,求解时间具有较大差距. 求解目标函数f2仅需要0.28 s,求解目标函数f4需要183 342.7 s,求解时间大大增加. 应用IBSO算法求解该算例,算法运行一次就可以求解出包含全部精确解的目标函数,求解时间比较适中,为11.1 s,验证了所建PDLBP模型的正确性与IBSO算法的有效性.
3.2. 中规模经典算例对比
如表3所示为IBSO算法与文献[23, 25~28]的求解结果对比. 多目标角度如下:将所有算法结果进行一次Pareto筛选,筛选共得到12个Pareto前沿解,其中包含IBSO算法求解结果的有10个,可见IBSO所得的非劣解集更逼近真实Pareto前沿. 单目标角度如下:虽然所有对比算法的前2个目标值均求解为9,但对于目标f3和f4的最优值分别为73和811,均劣于IBSO算法所求的最优值70和802. 根据式(18)分别计算各算法所求结果的HV. 从表3可以看出,利用IBSO算法所求结果的HV最大为5.033×108. 求解经典算例的HV指标参考点为[25,4 291,106,1 015]. 综上所述,以上对比有效验证了IBSO算法的求解性能.
表 3 各算法求解P25问题的结果
Tab.3
算法 | f1 | f2 | f3 | f4 | HV/108 | 算法 | f1 | f2 | f3 | f4 | HV/108 | |
ABC[23] | 9 | 9 | 81 | 853 | 2.774 | IBSO | 9 | 9 | 76 | 825 | 5.033 | |
PSO[25] | 9 | 9 | 80 | 857 | 2.814 | 9 | 9 | 77 | 823 | |||
VNS[26] | 9 | 9 | 76 | 825 | 3.905 | 9 | 11 | 75 | 821 | |||
RL[27] | 9 | 9 | 97 | 862 | 0.943 | 9 | 15 | 74 | 817 | |||
9 | 9 | 76 | 825 | 4.276 | 9 | 15 | 75 | 815 | ||||
9 | 11 | 75 | 821 | 10 | 157 | 71 | 876 | |||||
GASA[28] | 9 | 15 | 75 | 815 | 11 | 395 | 70 | 870 | ||||
10 | 141 | 73 | 814 | 12 | 559 | 71 | 804 | |||||
10 | 195 | 74 | 811 | 12 | 523 | 73 | 802 | |||||
− | − | − | − | − | − | 12 | 559 | 72 | 802 |
4. 大规模实例对比
表 4 电视机和电冰箱拆卸信息
Tab.4
任务编号 | 电视机 | 任务编号 | 电冰箱 | |||||
tip /s | tir /s | cost /元 | tip /s | tir /s | cost /元 | |||
1 | 50 | 35 | 20/10.5 | 1 | 47 | 33 | 18.8/9.9 | |
2 | 10 | 7 | 4/2.1 | 2 | 24 | 17 | 9.6/5.1 | |
3 | 3 | 5 | 1.2/1.5 | 3 | 10 | 7 | 4/2.1 | |
4 | 7 | 5 | 2.8/1.5 | 4 | 20 | 14 | 8/4.2 | |
5 | 24 | 30 | 9.6/9 | 5 | 16 | 20 | 6.4/6 | |
6 | 2 | 4 | 0.8/1.2 | 6 | 20 | 24 | 8/7.2 | |
7 | 10 | 13 | 4/3.9 | 7 | 20 | 14 | 8/4.2 | |
8 | 18 | 13 | 7.2/3.9 | 8 | 75 | 53 | 30/15.9 | |
9 | 4 | 3 | 1.6/0.9 | 9 | 30 | 21 | 12/6.3 | |
10 | 4 | 3 | 1.6/0.9 | 10 | 7 | 10 | 2.8/3 | |
11 | 4 | 3 | 1.6/0.9 | 11 | 15 | 18 | 65.4 | |
12 | 4 | 6 | 1.6/1.8 | 12 | 10 | 7 | 4/2.1 | |
13 | 4 | 3 | 1.6/0.9 | 13 | 28 | 20 | 11.2/6 | |
14 | 4 | 3 | 1.6/0.9 | 14 | 20 | 22 | 8/6.6 | |
15 | 4 | 6 | 1.6/1.8 | 15 | 25 | 18 | 10/5.4 | |
16 | 4 | 3 | 1.6/0.9 | 16 | 18 | 13 | 7.2/3.9 | |
17 | 4 | 3 | 1.6/0.9 | 17 | 18 | 13 | 7.2/3.9 | |
18 | 4 | 3 | 1.6/0.9 | 18 | 7 | 10 | 2.8/3 | |
19 | 17 | 12 | 6.8/2.6 | 19 | 15 | 17 | 6/5.1 | |
20 | 16 | 11 | 6.4/3.3 | 20 | 10 | 7 | 4/2.1 | |
21 | 7 | 5 | 2.8/1.5 | 21 | 5 | 4 | 2/1.2 | |
22 | 3 | 2 | 1.2/0.6 | 22 | 25 | 18 | 10/5.4 | |
23 | 3 | 2 | 1.2/0.6 | 23 | 40 | 28 | 16/8.4 | |
24 | 4 | 3 | 1.6/0.9 | 24 | 60 | 42 | 24/12.6 | |
25 | 2 | 4 | 0.8/1.2 | 25 | 28 | 20 | 11.2/6 | |
26 | 2 | 4 | 0.8/1.2 | − | − | − | − | |
27 | 2 | 4 | 0.8/1.2 | − | − | − | − |
图 8
图 9
如图10所示为利用IBSO、GA、NSGA-Ⅱ和BSO 4种算法迭代600代的HV指标迭代图. 可以看出,IBSO算法在119代时HV指标为1.061 9×1012,之后经过较长的一段平稳期;当达到305代时HV指标上升为1.062 4×1012,上升幅度仅为0.04%,之后直到算法终止达到收敛. NSGA-Ⅱ、GA和BSO分别于432代、349代和504代后算法达到收敛,IBSO算法的收敛速度均快于上述3种算法,且IBSO算法的HV指标均在3种对比算法上方. IBSO、GA、NSGA-Ⅱ和BSO算法运行10次的平均时间分别为117.8、2 926.25、3 133.21和93.82 s. 综上所述,以上对比验证了IBSO算法的求解性能. HV指标的参考点为[52,52,1000,622858],图10中IBSO算法迭代600代时所求的非劣解集如表5所示. IBSO和BSO参数为:Cn =300,Mgen=600,p1=0.2,p2=0.4,p3=0.4,p4=0.6;GA和NSGA-Ⅱ参数为:交叉概率=0.9,变异概率=0.3.
图 10
表 5 IBSO算法求解实例的结果
Tab.5
序号 | f1 | f2 | f3 | f4 | 拆卸方案 |
1 | 7 | 1 | 359.16 | 376 | [1,−2,−14,−18,−20]→[Wr: −3,−15,−4,−16,2,5,4,3,7]→[19,20,−17,−19,6,−1]→[−8,−21,15,10,−10,14,13,−5]→[−6,−9,−11,−22,−12,11,12,9,18,17]→[−13,8,16,21,−7,22,−25,24,25]→[−23,26,23,−24,27] |
2 | 7 | 2 | 327.96 | 4174 | [Wr: −1,1,−2,−16,2,−3,−21]→[−18,3,4,19,20,−20]→[−8,5,7,10,6]→[−4,−9,−5,−19,−10,−11]→[−17,15,9,8,12,−14,18,16,13,17,11,−6]→[−7,14,−15,−12,−13,−22]→[Wr: −23,−25,−24,21,22,23,25,26,27,24] |
3 | 6 | 3 | 309.14 | 195 | [−2,−3,−14,−4,−18,−16,−20]→[Wr: 1,−21,−5,−17,2,−1]→[−19,−8,−10,−6]→[4,7,5,−7,3,−9,15,6,−11,10]→[Wr: −12,−13,13,9,8,12,16,17,14,19,−23,18,20,21]→[Wr: 22,26,11,23,25,27,24,−24,−15,−22,−25] |
4 | 7 | 2 | 333.30 | 2299 | [Wr: −1,−8]→[1,−9,−2]→[−14,−10,−20,2,7,19,−21,4,3,−11,−12]→[−3,20,−16,−18,−15,−17,−13,−23]→[Wr: −19,−4,−5,−6,5,15]→[−22,9,8,−24,6]→[−7,−25,10,11,14,13,18,16,21,22,23,24,12,25,26,27,17] |
5 | 7 | 2 | 330.16 | 3708 | [1,−1]→[Wr: −2,−8,−21,−20,−9,−16]→[−10,2,−18,19,5,4,−11,3,−17,−3]→[7,−19,6,−4,−14,10,11,12,14,−15,13,17]→[Wr: −12,−22,−13,−25,−23]→[−24,15,−5,9,20,8]→[18,16,21,−6,22,23,26,25,−7,27,24] |
6 | 6 | 6 | 294.40 | 507 | [Wr: 1,−2,2,19,−1,−3]→[Wr: 7,−18,−8,4,−9,−10]→[Wr: −14,−11,3,−21,−20,−15,5,−12]→[Wr: −4,−19,−5,10,13,−13,−23,11,14]→[Wr: −6,−7,12,15,9,8,17,−16,−17,6,20]→[Wr: −22,18,16,21,−25,22,24,25,−24,23,27,26] |
7 | 6 | 4 | 314.40 | 7 | [Wr: −2,−20,−18,1,−21,−16,−1]→[Wr: −3,2,5,−17,−19,−14,19,3,10,11]→[Wr: 7,6,13,−8,−15,−10,−11]→[20,17,−9,−22,−12,4,15,9,−4]→[Wr: 8,14,−25,−5,12,−13,16,21,−23]→[−24,−6,22,−7,24,18,26,25,23,27] |
8 | 6 | 4 | 281.88 | 3774 | [Wr: 1,2,19,−2,−1,−3]→[7,5,15,−18,−19]→[Wr: −8,4,9,18,−4,−9,20,10]→[−5,−10,−14,−11,3,8,12,−6,6,−21,14]→[Wr: −16,−17,−12,11,−20,−15,13,17,−22,−7,16,21,22,24,23,26]→[Wr: 25,−25,−13,−23,−24,27] |
9 | 7 | 2 | 322.22 | 5040 | [−2,−1]→[Wr: 1,−21,−20,−8,−9]→[−16,−10,2,−18,19,5,4,−11,3]→[−17,−3,7,−19,6,−4,−14,10,11,12,14]→[Wr: −15,−12,13,−13,−22,17,−25,−23]→[−24,15,−5,9,20,8]→[18,16,21,−6,22,23,26,25,−7,27,24] |
10 | 7 | 0 | 366.66 | 111 | [−2,1,−20,2,5]→[−14,−1,−21,−15,−18,10,11,14]→[19,−3,4,20,3,15,9,−4,−5,−16]→[−19,−6,−8,−10]→[7,13,12,−17,17,8,16,6,−7,21,−22]→[−11,18,−9,−25,−12,−13]→[−23,−24,22,23,27,26,24,25] |
如表5所示为利用IBSO算法求解实例的结果,共求得10个Pareto非劣解. f1求解结果为6和7,f2求解范围为0~6,f3求解范围为281.88~366.66,f4求解范围为7~5 040. f4变化幅度较大的原因为f4是用于衡量各工作站作业时间偏离节拍时间的程度,如式(4)所示,在计算时需要计算空闲时间的平方,因而目标值差异较大. 分析表5中4个优化目标的结果可知,随着某个指标的上升,存在其他指标的下降,各优化目标间存在一定冲突,因此无法同时求出4个优化目标的最优值. 若决策者更注重拆卸成本,则可选择方案8;若更注重空闲时间均衡指标,则可选择方案7. 若更注重各指标的均衡,则可选择其他方案. 表5中,拆卸任务前为“−”表示为拆卸线Ⅱ上任务,工作站中Wr表示该工作站分配机器人工作,拆卸线Ⅰ拆卸电视机即n1=27,拆卸线Ⅱ拆卸电冰箱即n2=25.
5. 结 论
(1)设计站间采用不同操作者的可同步拆卸不同种废旧产品的并行拆卸线,2条并行放置的拆卸线可以分别拆卸不用类型废旧产品进行回收利用. 构建多目标PDLBP混合整数规划模型,应用CPLEX和LINGO对模型的小规模算例进行精确求解,验证了模型的正确性.
(2)提出IBSO算法,用于求解本文问题. 算法采用双层编码方式构造可行拆卸序列,设计基于单个个体产生机制和基于2个个体产生机制的变异交叉操作和四点交叉操作,引入Pareto解集思想和拥挤距离机制筛选多目标非劣解.
参考文献
Two exact formulations for disassembly line balancing problems with task precedence diagram construction using an AND/OR graph
[J].DOI:10.1080/07408170802510390 [本文引用: 1]
An improved gravitational search algorithm for profit-oriented partial disassembly line balancing problem
[J].DOI:10.1080/00207543.2017.1341066 [本文引用: 1]
基于Pareto蚁群算法的拆卸线平衡多目标优化
[J].
Multi-objective optimization for disassembly line balancing based on Pareto ant colony algorithm
[J].
多重故障驱动的再制造并行拆卸序列规划方法
[J].
Remanufacturing parallel disassembly sequence planning method driven by multiple failures
[J].
基于自适应粒子群的产品再制造拆卸规划
[J].DOI:10.3785/j.issn.1008-973X.2011.10.008
Product remanufacture disassembly planning based on adaptive particle swarm optimization algorithm
[J].DOI:10.3785/j.issn.1008-973X.2011.10.008
基于遗传蝙蝠算法的选择性拆卸序列规划
[J].DOI:10.3785/j.issn.1008-973X.2018.11.010 [本文引用: 1]
Selective-disassembly sequence planning based on genetic-bat algorithm
[J].DOI:10.3785/j.issn.1008-973X.2018.11.010 [本文引用: 1]
基于改进混合蛙跳算法的多约束车辆路径优化
[J].
Multi-constrained vehicle routing optimization based on improved hybrid shuffled frog leaping algorithm
[J].
柔性作业车间分批调度多目标优化方法
[J].DOI:10.3785/j.issn.1008-973X.2011.04.022 [本文引用: 1]
Multi-objective optimization method of flexible job-shop lot-splitting scheduling
[J].DOI:10.3785/j.issn.1008-973X.2011.04.022 [本文引用: 1]
基于改进候鸟优化算法的混合流水车间调度问题
[J].
Hybrid flow-shop scheduling problems based on improved migrating birds optimization algorithm
[J].
Disassembly line balancing problem a review of the state of the art and future directions
[J].DOI:10.1080/00207543.2018.1428775 [本文引用: 1]
A survey on meta-heuristics for solving disassembly line balancing, planning and scheduling problems in remanufacturing
[J].DOI:10.1016/j.swevo.2020.100719
Model review and algorithm comparison on multi-objective disassembly line balancing
[J].DOI:10.1016/j.jmsy.2020.07.015 [本文引用: 1]
A network-based shortest route model for parallel disassembly line balancing problem
[J].DOI:10.1080/00207543.2014.965348 [本文引用: 2]
Multi-objective partial parallel disassembly line balancing problem using hybrid group neighbourhood search algorithm
[J].DOI:10.1016/j.jmsy.2020.06.013 [本文引用: 3]
Brain storm optimization algorithm
[J].
基于头脑风暴算法的电动货车路径优化问题
[J].DOI:10.3969/j.issn.1673-629X.2020.04.014 [本文引用: 1]
Path optimization problem of electric freight car based on brainstorming algorithm
[J].DOI:10.3969/j.issn.1673-629X.2020.04.014 [本文引用: 1]
求解离散调度问题的双机制头脑风暴优化算法
[J].
A brain storm optimization algorithm integrating diversity and discussion mechanism for solving discrete production scheduling problem
[J].
A fast and elitist multiobjective genetic algorithm: NSGA-II
[J].DOI:10.1109/4235.996017 [本文引用: 2]
HypE: an algorithm for fast hypervolume-based many-objective optimization
[J].DOI:10.1162/EVCO_a_00009 [本文引用: 1]
Artificial bee colony algorithm for solving sequence-dependent disassembly line balancing problem
[J].DOI:10.1016/j.eswa.2013.06.067 [本文引用: 5]
A variable neighbourhood search algorithm for disassembly lines
[J].DOI:10.1108/JMTM-11-2013-0168 [本文引用: 1]
Solving large scale disassembly line balancing problem with uncertainty using reinforcement learning
[J].DOI:10.1007/s10845-012-0711-0 [本文引用: 1]
多目标拆卸线平衡问题的Pareto遗传模拟退火算法
[J].
Pareto genetic simulated annealing algorithm for multi-objective disassembly line balancing problem
[J].
On the end-of-life state oriented multi-objective disassembly line balancing problem
[J].DOI:10.1007/s10845-019-01519-3 [本文引用: 1]
A hybrid genetic algorithm for sequence-dependent disassembly line balancing problem
[J].DOI:10.1007/s10479-014-1641-3 [本文引用: 1]
/
〈 |
|
〉 |
