2. 山东大学 机械工程学院,山东 济南 250061
2. School of Mechanical Engineering, Shandong University, Jinan 250061, China
由于社会各界对环境的日益关注,绿色设计方法正成为设计过程的重要组成部分. 绿色设计是期望减少产品在整个生命周期内对环境的污染和对资源的浪费[1],涵盖了产品的整个生命周期(end-of-life,EOL)过程,包括面向装配的设计、供应链管理、生命周期评估、面向拆卸的设计、面向再制造的设计以及产品拆卸序列规划(disassembly sequence planning,DSP)等. 其中拆卸是产品回收和维护阶段最基本和最重要的操作. 面向维修的产品拆卸是维修性研究领域的一个重要组成部分. DSP的优劣直接影响了产品回收和再利用的质量及成本,所以对DSP的研究具有重要意义. 现在大部分的绿色设计方法研究都集中在全生命周期产品的完全拆卸上,但如果只有少数的零部件需要回收与再利用,考虑到产品的可拆卸性、可维护性以及退役后有价值的材料回收等[2],完全拆卸将耗费很多不必要的时间与成本. 所以需要研究对目标零件进行选择性拆卸序列规划(selective disassembly sequence planning,SDSP)的求解,从而达到提高资源利用率与保护环境的目的.
DSP问题的求解属于典型的NP-hard问题,即随着产品复杂程度的增加会出现组合爆炸的情况[3]. 启发式智能优化方法具有求解速度快、参数调整方便等优点[4],随着研究的不断深入,现已成为获取最优或近似最优拆卸序列的重要方法[5]. 启发式算法通常采用拆卸成本和拆卸总时间等作为选择近似最优拆卸序列的标准[6],可以大幅度减少求解约束矩阵时的搜索工作量. 目前已有许多启发式优化算法成功应用于DSP问题,如遗传算法(genetic algorithm,GA)[7]、蚁群算法(ant colony optimization, ACO)[8]、粒子群优化算法(particle swarm optimization, PSO)[9]、蟑螂算法(cockroach algorithm, CA)[10]、贪婪算法(greedy algorithm, GA)[11]和花朵授粉算法(flower pollination algorithm, FPA)[5]等. 由Yang[12-14]提出的蝙蝠算法(bat algorithm,BA)是一种通过模仿生物界中蝙蝠利用超声波来搜寻、定位和捕捉猎物等生物学特性所构造出的智能随机搜索算法[15]. BA具有分布式、并行性、模型简单、收敛速度快等特点,作为一种新颖的群智能搜索算法已经得到广大学者的关注,被广泛应用于自然科学与工程实践领域,如多目标优化问题[16]、0-1 背包问题[17]、工程优化问题[18]、离散生产调度问题[19]和大规模优化问题[20]等方面. 研究成果表明,与其他群智能算法相比,BA具有更大的发挥潜能,具有局部搜索与全局搜索的优先级动态调整特性. SDSP问题是一个典型的离散的组合优化难题,已有文献中鲜有学者将BA应用在SDSP问题上.
借鉴将BA运用于非对称旅行商(asymmetry travelling salesman problem,ATSP)问题的研究,对基本的BA进行改进. 针对其缺乏变异机制以及多样性较差等问题,引入GA的种群交叉突变机制,提出一个遗传更新的概念,即算法初始将产生一个随机数,当此随机数小于该遗传更新概率时,运用GA进行DSP求解;而当此随机数大于该遗传更新概率时,运用BA进行DSP求解. 由此提出遗传蝙蝠算法(genetic-bat algorithm,GBA)用来解决SDSP问题,构建适应度函数模型,通过实例对GBA求解SDSP问题的有效性以及优越性进行验证.
1 选择性拆卸序列规划 1.1 拆卸混合图模型的建立拆卸图模型主要考虑零部件间的接触连接关系,所需拆卸工具和零件拆卸的方向,其中拆卸方向包括
$G = \left\{ {{V_{\rm C}},{V_{\rm F}},E,D} \right\}.$ | (1) |
式中:
设产品的拆卸混合图模型
${{{G}}_1} = \left[ {\begin{array}{*{20}{c}} {{c_{1,1}}}&{{c_{1,2}}}& \cdots &{{c_{1,j}}} \\ {{c_{2,1}}}&{{c_{2,2}}}& \cdots &{{c_{2,j}}} \\ \vdots & \vdots &{}& \vdots \\ {{c_{i,1}}}&{{c_{i,2}}}& \cdots &{{c_{i,j}}} \end{array}} \right] ;\;i,j = 1,2,3, \cdots ,a.$ | (2) |
式中:
$\begin{array}{l}{c_{i,j}} = \left\{ {\begin{array}{*{20}{l}}{0, \;\;{\text{零件}}i {\text{与零件}}j {\text{之间没有接触连接关系}};}\\{1, \;\;{\text{零件}}i {\text{与零件}}j {\text{之间存在接触连接关系}};}\\{2, \;\;{\text{零件}}i {\text{与零件}}j {\text{之间存在稳定连接关系}};}\\0,\;\;i=j.\end{array}} \right.\end{array}$ |
相应的在拆卸混合图中,无向虚线表示接触连接关系,无向实线表示紧固件连接. 如图1所示,顶点7和8为无向实线连接,即两零件通过紧固件12相连,而顶点2和8为无向虚线连接,即仅存在接触连接关系.
在DSP当中,若零件
${{{G}}_2} = \left[ {\begin{array}{*{20}{c}} {{p_{1,1}}}&{{p_{1,2}}}& \cdots &{{p_{1,n}}} \\ {{p_{2,1}}}&{{p_{2,2}}}& \cdots &{{p_{2,n}}} \\ \vdots & \vdots &{}& \vdots \\ {{p_{m,1}}}&{{p_{m,2}}}& \cdots &{{p_{m,n}}} \end{array}} \right];\;m,n=1,2,3 ,\cdots, a + b.$ | (3) |
式中:
$\begin{array}{l}{p_{m,n}} = \left\{ \begin{array}{l}0,\;\; {\text{零件}}i {\text{与零件}}j {\text{之间无优先拆卸关系}};\\1, \;\;{\text{零件}}j {\text{必须要在零件}}i {\text{之前拆卸}};\\0,\;\;\;m=n.\end{array} \right.\\ \end{array}$ |
拆卸混合图的顶点和边不仅表示零部件之间的接触和优先关系,还可以表示拆卸所需时间以及紧固件约束的个数以及类型等. 这些信息在DSP中都有着重要的作用.
1.2 适应度函数模型的建立最优或近似最优拆卸序列为拆卸时间最短以及拆卸经济效益最好的的可行性序列. 采用拆卸工具的更换次数、拆卸方向的改变次数、拆卸零件所需时间以及拆卸零件的回收效益的综合评价来衡量其拆卸质量. 其中,拆卸方向改变的衡量标准即为拆卸重新定位时间的长短,在更换拆卸工具之前,应优选一个拆卸方向使其尽可能拆卸较多的部件. 大多数DSP方法都没有使用生命周期影响评估工具来衡量拆卸的质量,即无法准确地判断拆卸零部件对于环境的影响以及对其成本进行相关分析,所以利用LCA软件Simapro Eco-indicator 99进行产品零部件的成本效益分析,并运用相关公式得出零部件的回收收益[23]. 适应度函数模型为
$F(s) = \sum\limits_{i = 1}^a {{s_{1i}}{w_1}} + \sum\limits_{i = 1}^a {{s_{2i}}{w_2}} + \sum\limits_{i = 1}^a {{s_{3i}}{w_3}} + \sum\limits_{i = 1}^a {{s_{4i}}{w_4}} .$ | (4) |
式中:
${s_{1i}} = \left\{ \begin{array}{l}0, \;\;{\text{拆卸工具从}}{x_{i - 1}} {\text{到}}{x_i} {\text{无变化}},\\1, \;\;{\text{拆卸工具从}}{x_{i - 1}} {\text{到}}{x_i} {\text{有变化}}.\end{array} \right.$ |
${s_{2i}} = \left\{ \begin{array}{l}0, \;\;{\text{拆卸方向从}}{x_{i - 1}} {\text{到}}{x_i} {\text{无变化}},\\1, \;\;{\text{拆卸方向从}}{x_{i - 1}} {\text{到}}{x_i} {\text{有变化}}.\end{array} \right.$ |
基本BA的主要思想是模拟蝙蝠的回声定位搜索机制. 为了方便起见,对蝙蝠回声的相关定位特性设定了理想化的规则[13]:1)所有蝙蝠使用回声定位来检测距离,并可区分食物与障碍物的不同;2)所有蝙蝠以固定频率
${f_i} = {f_{\min }} + ({f_{\max }} - {f_{\min }})\beta {\text{,}}$ | (5) |
$v_{i}^{t + 1} = v_{i}^t + ({\rm{ }}x_{i}^t - {\rm{ }}x_i^*){f_i} {\text{,}}$ | (6) |
$x_{i}^{t + 1} = {\rm{ }}x_{i}^t + v_{i}^{t + 1}.$ | (7) |
式中:
当满足一定条件,需进行局部搜索时,位置更新公式如下:
${x_{{\rm new}}} = {x_{{\rm old}}} + \varepsilon {A^t}.$ | (8) |
式中:
蝙蝠脉冲发射响度
$A_i^{t + 1} = \alpha A_i^t {\text{,}}$ | (9) |
$r_i^{t + 1} = {\rm{ }}r_i^0\left[ {1 - \exp \;\left( {{\rm{ - }}\gamma t} \right)} \right].$ | (10) |
式中:
基本BA主要运用于连续域优化问题的求解,而SDSP问题是一个典型的离散优化问题,所以需要对蝙蝠位置与速度更新的编码方式及算法中相关操作进行重新定义,使其离散化. 对于经典的BA基本参数中,蝙蝠脉冲发射响度
定义1 速度更新公式 为了尽可能准确地调整算法,将第
$v_i^t = {\rm Random}\;[1,{\text{H}}{\rm D}\;(x_i^t,x_i^*)].$ | (11) |
式(11)表示
定义2 位置更新公式 由式(8)可知,蝙蝠
$x_i^{t + 1} = 2 \text{-} {\rm opt}\;\left( {{\text{ }}x_i^t,{\text{ }}v_i^{t + 1}} \right).$ | (12) |
式(12)中2-opt即2-optimization,是最初用于解决旅行商问题(traveling salesman problem,TSP)的两元素优化算法. 2-opt方法属于局部搜索算法(local search algorithm, LSA)的一种,LSA是求解组合优化问题的常用工具. 设现有一个产品需要拆卸的零件个数为9,其目标函数是总费用
$\mathop x\nolimits_i^{t + 1} = 3 \text{-} {\rm opt}\;\left( {\mathop x\nolimits_i^t ,\mathop v\nolimits_i^{t + 1} } \right).$ | (13) |
离散BA的基本流程图如图2所示.
虽然BA具有诸多优点[15],但由于其个体缺乏多样性,与其他启发式算法一样极易陷入局部极值,出现早熟收敛等问题. GA的解具有良好的多样性,所以除了对基本的BA进行改进之外,还将GA的种群交叉变异机制引入到BA中,从而保证种群迭代过程中多样性的增强,提高算法的搜索效率与收敛性能. GBA算法的主要步骤如下.
1)初始化种群,构建产品拆卸混合图模型,设置蝙蝠种群数量
2)计算种群的适应度值,找出当前最好的适应度值并储存;
3)系统随机产生随机数
4)通过式(11)、(12)更新种群个体的位置
5)生成0到1.0之间的随机数
6)生成[0,1.0]的随机数rand2,如果 rand2
7)按适应度函数值对蝙蝠排序并更新当前最优解
8)如未满足终止条件,则返回步骤2),否则进行步骤12);
9)在适应度函数值前十的个体中随机选取2个个体作为母本,交叉形成2个后代,如果后代的适应度值之和小于母本适应度值之和,则从种群中移除母本保留后代,否则保留母本移除后代;
10)对个体进行变异操作,如果变异后的适应度值小于原始个体的适应度值,则个体接受变异结果,否则不接受;
11)如未满足终止条件,则返回步骤2),否则进行步骤12);
12)算法结束,输出最优个体解与适应度函数值.
GBA算法伪代码如下所示.
伪代码:遗传蝙蝠算法
输入:拆卸相关约束矩阵,零件/紧固件属性
1 定义目标函数
2 初始化蝙蝠种群数量为
3 系统随机产生随机数
4 产生合适的种群遗传更新概率
5 for 设置种群中的每一只蝙蝠;
6 初始化常数
脉冲响度
交叉概率
7 计算种群的适应度,找出当前最好的适应度并储存;
8 for设置循环次数;
9 if
10 for 对于种群中的每一只蝙蝠,
11 if
12 在适应度函数值前十的个体中随机选取2个个体作为母本,交叉形成2个后代;
13 if 后代的适应度之和小于母本适应度值之和,则从种群中移除母本保留后代;
14 if
15 if 变异后的适应度值小于原始个体的适应度值, 则个体接受变异结果;
16 else:执行蝙蝠算法进行序列规划
17 for 对于种群中的每一只蝙蝠,通过公式更新种群个体的位置
18 if
19 则对当前最优解进行扰动,产生新的解;
20 if 新解的适应度值之和小于当前最优解适应度值之和,新的解
21 if
22 接受新的解,同时增大
23 按适应度函数值对蝙蝠排序并更新当前最优解
24 if 满足终止条件,
25 算法结束.
输出:最优个体解与适应度函数值.
3 实例应用以文献[24]中的E16工业机械臂为例进行验证,基于Python语言编写了拆卸序列规划求解算法程序,运行程序的计算机系统为Windows 7 64位操作系统. 该模型由12个组件和11个紧固件组成,其三维造型图以及零部件编号如图3所示,在本案例研究中,选择组件11作为目标组件回收. 产品拆卸混合图如图4所示. 由工业机械臂的拆卸混合图可以通过人机交互的方式生成其稳定连接矩阵与优先关系矩阵. 机械臂零部件信息表如表1所示. 各个零件的拆卸方向以基座7为基准. 运用适应度函数模型式(4),利用专家打分法设置权重系数均为0.25. 为证明所提算法的优越性,将GBA与传统BA、基本GA进行比较,以相同的参数求解本文实例.
在优化求解的过程中,通过多次反复试算,将传统BA的参数设置如下,脉冲响度
由表2可知,在种群规模相同的情况下,随着迭代次数的增加,GBA算法表现出了更好的收敛性能. 虽然GBA与GA均能得到最优解,但GBA需要的迭代次数较少,算法运行时间较短,结果表现较好. 3种算法在上述参数设置下的收敛特性曲线如图6所示. 可以看出随着迭代次数的增加,GBA表现出了良好的收敛性能. 而原始的BA由于个体缺乏多样性容易陷入局部最小值,GA的解多样性较好,但种群搜索较为盲目. GBA通过为BA引入交叉变异机制,增强了解的多样性,所以在不易陷入局部最小值的同时也能够较快收敛.
设定种群数目
将遗传算法的种群交叉与变异引入到离散蝙蝠算法中,提出了一种应用于SDSP问题的遗传蝙蝠算法. 构建了产品拆卸混合图模型,以拆卸工具的变化次数与重新定位的次数作为评价指标,并在目标函数中加入了零部件的回收收益,使之更加完善. 运用遗传蝙蝠算法进行实例验证后,将其结果与基本蝙蝠算法与遗传算法的结果进行了比较,从而验证了遗传蝙蝠算法的搜索优越性. 如何通过与CAD更好的集成来获取待拆卸产品的相关信息,对于产品拆卸序列规划问题有着重要的工程意义,下一步工作将围绕此方面展开.
[1] |
KANNAN D. Evaluation of green manufacturing practices using a hybrid MCDM model combining DANP with PROMETHEE[J]. International Journal of Production Research, 2015, 53(21): 6344-6371. DOI:10.1080/00207543.2014.898865 |
[2] |
王峻峰, 李世其, 刘继红. 面向绿色制造的产品选择拆卸技术研究[J]. 计算机集成制造系统, 2007, 13(6): 1097-1102. WANG Jun-feng, LI Shi-qi, LIU Ji-hong. Selective disassembly planning for product green manufacturing[J]. Computer Integrated Manufacturing Systems, 2007, 13(6): 1097-1102. DOI:10.3969/j.issn.1006-5911.2007.06.010 |
[3] |
张秀芬, 张树有. 基于粒子群算法的产品拆卸序列规划方法[J]. 计算机集成制造系统, 2009, 15(3): 508-514. ZHANG Xiu-fen, ZHANG Shu-you. Product disassembly sequence planning based on particle swarm optimization algorithm[J]. Computer Integrated Manufacturing Systems, 2009, 15(3): 508-514. |
[4] |
张秀芬, 蔚刚, 王磊, 等. 支持复杂产品并行拆卸序列规划的遗传算法[J]. 计算机辅助设计与图形学学报, 2015, 27(7): 1327-1333. ZHANG Xiu-fen, WEI Gang , WANG Lei, et al. Parallel disassembly sequence planning for complex productsbased on genetic algorithm[J]. Journal of Computer-Aided Design and Computer Graphics, 2015, 27(7): 1327-1333. DOI:10.3969/j.issn.1003-9775.2015.07.024 |
[5] |
焦庆龙, 徐达, 李闯. 基于花朵授粉算法的产品拆卸序列规划[J]. 计算机集成制造系统, 2016, 22(12): 2791-2799. JIAO Qing-long, XU Da, LI Chuang. Product disassembly sequence planning based on flower pollination algorithm[J]. Computer Integrated Manufacturing Systems, 2016, 22(12): 2791-2799. |
[6] |
FABIO G. Disassembly depth distribution for ease of service: a rule-based approach[J]. Journal of Engineering Design, 2008, 21(4): 375-411. |
[7] |
韩建升. 基于遗传算法的拆卸序列规划研究[D]. 武汉: 华中科技大学, 2007: 41-49. HAN Jian-sheng. Research on disassembly sequence planning based on genetic algorithms [D]. Wuhan: Huazhong University of Science and Technology, 2007: 41-49. http://cdmd.cnki.com.cn/Article/CDMD-10295-1016273786.htm |
[8] |
章小红, 李世其, 王峻峰, 等. 基于蚁群算法的单目标选择性拆卸序列规划研究[J]. 计算机集成制造系统, 2007, 13(6): 1109-1114. ZHANG Xiao-hong, LI Shi-qi, WANG Jun-feng, et al. Single object selective disassembly sequence planning based on ant colony algorithm[J]. Computer Integrated Manufacturing Systems, 2007, 13(6): 1109-1114. DOI:10.3969/j.issn.1006-5911.2007.06.012 |
[9] |
张秀芬, 张树有, 伊国栋, 等. 面向复杂机械产品的目标选择性拆卸序列规划方法[J]. 机械工程学报, 2010, 46(11): 172-178. ZHANG Xiu-fen, ZHANG Shu-you, YI Guo-dong, et al. Object selective disassembly sequence planning for complex mechanical products[J]. Journal of Mechanical Engineering, 2010, 46(11): 172-178. |
[10] |
施英莹, 刘志峰, 张洪潮, 等. 基于蟑螂算法的产品拆卸序列规划[J]. 合肥工业大学学报自然科学版, 2011, 34(11): 1601-1605. Shi Ying-ying, Liu Zhi-feng, Zhang Hong-chao, et al. Product disassembly sequence planning based on cockroach swarm optimization[J]. Journal of Hefei University of Technology: Natural Science Edition, 2011, 34(11): 1601-1605. |
[11] |
刘志峰, 胡迪, 高洋, 等. 基于贪婪算法的产品拆卸序列规划[J]. 中国机械工程, 2011, 22(18): 2162-2166. LIU Zhi-feng, HU Di, GAO Yang, et al. Product disassembly sequence planning based on greedy algorithm[J]. China Mechanical Engineering, 2011, 22(18): 2162-2166. |
[12] |
Yang X. A new metaheuristic bat-inspired algorithm[J]. Computer Knowledge and Technology, 2010, 284: 65-74. |
[13] |
Yang X. Bat algorithm for multi-objective optimization[J]. International Journal of Bio-Inspired Computation, 2012, 3(5): 267-274. |
[14] |
Yang X, Gandomi A. Bat algorithm: a novel approach for global engineering optimization[J]. Engineering Computations, 2012, 29(5): 464-483. DOI:10.1108/02644401211235834 |
[15] |
彭敏. 基于差分变异蝙蝠算法的装配序列规划方法研究[D]. 湘潭: 湘潭大学, 2014: 4-5. Peng Min. Research on assembly sequence planning based on differential mutation bat algorithm [D]. Xiangtan: Xiangtan University, 2014: 4-5. http://cdmd.cnki.com.cn/Article/CDMD-10530-1014412588.htm |
[16] |
李枝勇, 马良, 张惠珍. 蝙蝠算法在多目标多选择背包问题中的应用[J]. 计算机仿真, 2013, 30(10): 350-353. LI Zhi-yong, MA Liang, ZHANG Hui-zhen. Application of bat algorithm in multi-objective and multi-choice knapsack problem[J]. Computer Simulation, 2013, 30(10): 350-353. DOI:10.3969/j.issn.1006-9348.2013.10.080 |
[17] |
李枝勇, 马良, 张惠珍. 遗传变异蝙蝠算法在0-1背包问题上的应用[J]. 计算机工程与应用, 2014, 50(11): 49-52. LI Zhi-yong, MA Liang, ZHANG Hui-zhen. Genetic mutation bat algorithm for 0-1 knapsack problem[J]. Computer Engineering and Applications, 2014, 50(11): 49-52. DOI:10.3778/j.issn.1002-8331.1207-0406 |
[18] |
韩福霞, 刘宏志. 基于蝙蝠算法的信息工程监理多目标优化研究[J]. 现代计算机, 2013(13): 3-6. HAN Fu-xia, LIU Hong-zhi. Research on multi-objective optimization problems in information engineering surveillance based on bat algorithm[J]. Modern Computer, 2013(13): 3-6. DOI:10.3969/j.issn.1007-1423(z).2013.13.001 |
[19] |
盛晓华, 叶春明. 蝙蝠算法在PFSP调度问题中的应用研究[J]. 工业工程, 2013, 16(1): 119-124. SHENG Xiao-hua, YE Chun-ming. Application of bat algorithm to permutation flow-shop scheduling problem[J]. Industrial Engineering Journal, 2013, 16(1): 119-124. DOI:10.3969/j.issn.1007-7375.2013.01.021 |
[20] |
黄光球, 赵魏娟, 陆秋琴. 求解大规模优化问题的可全局收敛蝙蝠算法[J]. 计算机应用研究, 2013, 30(5): 1323-1328. HUANG Guang-qiu, ZHAO Wei-juan, LU Qiu-qin. Bat algorithm with global convergence for solving large-scale optimization problem[J]. Application Research of Computers, 2013, 30(5): 1323-1328. DOI:10.3969/j.issn.1001-3695.2013.05.011 |
[21] |
吴昊, 左洪福. 基于改进遗传算法的选择性拆卸序列规划[J]. 航空学报, 2009, 30(5): 952-958. WU Hao, ZUO Hong-fu. Selective disassembly sequence planning based on improved genetic algorithm[J]. Acta Aeronautica Et Astronautica Sinica, 2009, 30(5): 952-958. DOI:10.3321/j.issn:1000-6893.2009.05.029 |
[22] |
黄保群. 基于图论的拆卸模型及拆卸序列规划的研究[D]. 桂林: 桂林电子科技大学, 2006: 6–20. HUANG Bao-qun. Research on demolition model and disassembly sequence planning based on graph theory [D]. Guilin: Guilin University of Electronic Science and Technology, 2006: 6-20. |
[23] |
SMITH S, HSU L, SMITH G. Partial disassmbly sequence planning based on cost-benefit analysis[J]. Journal of Cleaner Production, 2016, 139: 729-739. DOI:10.1016/j.jclepro.2016.08.095 |
[24] |
WANG Heng-yu. Disassembly sequence planning for end-of-life products [D]. Winnipeg: University of Manitoba, 2016: 72–75. http://www.sciencedirect.com/science/article/pii/S2212827117300677
|