林业科学  2016, Vol. 52 Issue (5): 150-159   PDF    
DOI: 10.11707/j.1001-7488.20160518
0

文章信息

张国梁, 蔡小娜, 侯晓鹏, 赵旦, 周玉成, 葛浙东
Zhang Guoliang, Cai Xiaona, Hou Xiaopeng, Zhao Dan, Zhou Yucheng, Ge Zhedong
面向零件的人造板材矩形件锯切排样数学建模及遗传算法求解
Part-Oriented Cutting Layout Mathematical Modeling and Solving by Genetic Algorithm for Rectangular Wood Based Panel Parts
林业科学, 2016, 52(5): 150-159
Scientia Silvae Sinicae, 2016, 52(5): 150-159.
DOI: 10.11707/j.1001-7488.20160518

文章历史

收稿日期:2015-10-21
修回日期:2015-12-09

作者相关文章

张国梁
蔡小娜
侯晓鹏
赵旦
周玉成
葛浙东

面向零件的人造板材矩形件锯切排样数学建模及遗传算法求解
张国梁1,2,3, 蔡小娜1,4, 侯晓鹏2,3 , 赵旦5, 周玉成2,3, 葛浙东2,3    
1. 河北农业大学木材科学与工程研究所 保定 071000;
2. 中国林业科学研究院林业新技术研究所 北京 100091;
3. 中国林业科学研究院木材工业研究所 北京 100091;
4. 河北农业大学基础课部 沧州 061100;
5. 中国科学院遥感与数字地球研究所 北京 100094
摘要【目的】 探讨人造板材矩形零件锯切排样的启发式规则,建立锯切排样的数学模型并研究求解方法,为解决由于整体套排导致国产排样系统使开料锯在工作过程中锯路变化繁琐、降低切割效率的问题提供科学依据。 【方法】 基于一套板式家具下料清单中往往有2种或2种以上零件存在相互配合尺寸的情况,提出基于配合尺寸的分组降维启发式规则,按配合尺寸由大到小排序并将所有矩形零件分组,使每组零件种类不大于4种; 以余料面积最小为评价指标,建立面向零件的锯切排样数学模型,通过设定冗余系数估算基材板需求量,以矩形零件数量及在基材板上的排样长度、宽度和面积不超限为约束条件,设立排样宽度系数并通过为矩形零件和基材板的长、宽尺寸增加一个单位的锯路宽度以抵消在基材板最下端和最右端的"虚拟锯路损失"; 采用遗传算法进行模型求解并利用惩罚函数法处理约束条件,经染色体整数编码、初始种群建立、具有一定自适应性的惩罚因子建立、基于外点惩罚函数的适应度函数建立和遗传操作,利用结合MATLAB遗传算法工具箱而建立的排样算法计算出描述排样方案的向量; 通过实例验证模型和算法的可行性。 【结果】 所有矩形零件的排样方案通过4个参数来描述,即某个排样零件的排放目标板材号、在基材板上的排放行号及横向或竖向的排放方式; 排样矩阵的行数为4,列数为矩形零件总数,每列表示1个零件的排样结果。应用实例表明,基于配合尺寸的启发式规则使多种矩形零件分组排样,每组排样方案的最优控制向量可明显划分为高低不同的4段,分别表示4个参数; 遗传运算在限定的迭代次数内都趋于收敛,体现出较好的全局寻优能力,排样方案的可视化图形满足"一刀切"的锯切工艺要求,且锯路规整,有利于提高锯切效率。 【结论】 基于配合尺寸的启发式规则和面向零件的锯切排样模型对于人造板材优化排样具有一定可行性,可为板式家具锯切排样提供新的解决方法,但要提高开料锯的锯切效率,还需将走刀次数、惩罚因子的优化选择等加以综合考虑。
关键词: 锯切排样     分组降维     配合尺寸     面向零件     遗传算法     惩罚函数    
Part-Oriented Cutting Layout Mathematical Modeling and Solving by Genetic Algorithm for Rectangular Wood Based Panel Parts
Zhang Guoliang1,2,3, Cai Xiaona1,4, Hou Xiaopeng2,3 , Zhao Dan5, Zhou Yucheng2,3, Ge Zhedong2,3    
1. Institute of Wood Science and Engineering, Agricultural University of Hebei Baoding 071000 ;
2. Research Institute of Forestry New Technology, CAF Beijing 100091 ;
3. Research Institute of Wood Industry, CAF Beijing 100091 ;
4. Department of Basic Courses, Agricultural University of Hebei Cangzhou 061100 ;
5. Institute of Remote Sensing and Digital Earth, Chinese Academy of Sciences Beijing 100094
Abstract: [Objective] In order to find gap of non-availability in most domestic literatures, which sawing velocity was dropped down due to the frequent change of saw line, this research investigated a heuristic rule for rectangular parts cutting layout of wood-based panel, built mathematical model and studied solving method. [Method] Based on the situation that in a suit of material list, coupled dimension existed among two or more kinds of parts, therefore, a grouping and dimension reducing heuristic rule was put forward. All rectangle parts were sorting by coupled dimension in descending order, each group consisting no more than four kinds parts. Taking the minimum remaining area as evaluation index, a part-oriented mathematical model was set up. In this model, the quantity demanded for base panel was estimated by setting redundancy factor, and four aspects including quantity, length, width and area of placed parts on base panel should be all wlthin the limitation value. Moreover, layout width ratio was set and single unit saw line width was added on length and width of both rectangular parts and base panel so as to offset fictitious saw line loss located at undermost and rightmost side of base panel. Genetic algorithm (GA) was adopted to find global optimal solution for layout and punishment function was used to deal with constrains. By integer coding of chromosome, establishing of initial population, punishment factors with certain adaptability and fitness function based on exterior point punishment function and genetic manipulation, vector on behalf of layout solution was calculated through the layout algorithm which was built in cooperation with GA toolbox of MATLAB. Instances were applied to test feasibility of the model and algorithm. [Result] Layout solution of all rectangular parts was described by four parameters, consisting of code, row and direction (vertical and transverse). Layout matrix has 4 rows, and the column was the total quantity of all parts. Each column represented layout solution of each part. The instances showed that multiple parts could be grouped based on coupled dimension-based heuristic rule, optimal controlled vector standing for layout solution for each group was divided into four sections with varied height, and these four sections meant the four parameters. It was also demonstrated that GA tended to convergence within limited iterations and gave relatively good capability of global optimization. In addition, visualization of layout solution displayed meet the demand of "guillotine cutting" and the regular saw line was good for increasing sawing efficiency. [Conclusion] The coupled dimension-based heuristic rule and part-oriented mathematical model were suitable for cutting layout of wood-based panel and therefore a new method was presented for cutting layout of panel-type furniture. However, in order to enhance cutting productivity, the elements such as feeding times of cutting saw, optimized selection of punishment factor should also be taken into account comprehensively.
Key words: cutting layout     grouping and dimension-reducing     coupled dimension     part-oriented     genetic algorithm (GA)     punishment function    

优化排样也称优化下料,对于提高工业化生产效率至关重要,也因此受到了越来越广泛的关注和研究(董德威等,2013Furini et al.,2013Rostom et al.,2014Aiello et al.,2012)。对优化排样的研究是随计算复杂性理论及若干相关学科如信息科学、管理科学、工程科学和运筹学等的发展而不断革新的。优化排样算法按求解类型不同主要可以分为数学规划算法、迭代算法和现代优化算法等。针对具体的应用问题,数学规划算法往往与各种启发式规则结合求解,如动态规划算法(孙英等,2008)、“同质块”两段矩形排样算法(季君等,2012)、混合整数线性规划模型及列生技术(Movasher et al.,2012)等。迭代算法应用于优化排样问题的求解更多是随不同启发式算法的设计而发展的,如基于递归的分支定界算法(Cui et al.,2008)、三阶段顺序启发式算法(Suliman,2006)等。作为现代优化算法的重要组成部分,遗传算法因具有同时处理多个个体的群体搜索特性而体现出良好的全局寻优性能(Patel et al.,2015de Magalhaes et al.,2014Sathya et al.,2013),从而在优化排样问题中得到了广泛应用(Bennell et al.,2013Hoseini et al.,2013)。笔者针对人造板材大规模矩形零件的优化排样,设计了基于面积的分组降维启发式规则,并应用遗传算法进行了求解(张国梁等,2014),但由于每行只排样1种零件,存在行末剩余面积较大的问题。基于此,本文研究基于配合尺寸的分组降维启发式规则,分析数学模型改进方法,建立面向零件的锯切排样数学模型并研究基于遗传算法的求解方法。

1 基于配合尺寸的分组降维启发式规则

设共有M种矩形零件参与排样,分组的组数为g,第j组零件的种类数为Mj,则

$ M=\sum\limits_{i=1}^{g}{{{M}_{j}}\left( 1\le j\le g \right)}。 $ (1)

1)组合尺寸配合的2种零件。由于厚度一致,仅考虑零件长度和宽度的尺寸。根据家具的结构特点,一套家具排样清单中一定会出现2种或2种以上零件在长度或宽度方向上尺寸能够相互配合。例如,第1种零件尺寸为680×400,第2种零件尺寸为900×400,则400为相互配合的尺寸。取具有相等某一维尺寸的2种零件组合排样并定义:Dim_P1为第1种零件组合的配合尺寸,Dim_P2为第2种零件组合的配合尺寸,Dim_Pn为第n种零件组合的配合尺寸; 且有Dim_P1≥Dim_P2≥…Dim_Pn

2)选出4种零件进行分组。根据所定原则,在一张基材板上最多排布3~4种不同规格的零件,因此需要对所有M种零件进行分组。

第1步,取出前2种零件组合共计4种零件; 第2步,依次取出第3至第n种零件组合中的2种组合,如果n为偶数,则分组数总计为n/2; 如果n为奇数,则第n种零件组合与剩余的M-2·n种零件中前2种零件组成一组,设至此共提取了s组; 第3步,对剩余的没有分组的零件进行分组,提取前4种面积最大的矩形零件为第s+1组,然后再次提取剩余矩形零件中面积最大的4种零件为第s+2组,依次类推,直到所有M种零件分组完毕。

2 面向零件的锯切排样数学建模

以排样矩形零件为出发点建立排样模型,如此,确定第j组内Mj种矩形零件的排样方案可转化为本组内任一矩形零件排样的排放位置和排放方式问题。通俗地表述如下: 第几种矩形零件的第几个零件排放在第几张基材板的第几行上,是横排还是竖排即排放方式。模型建立和算法求解过程详述如下:

1)设基材板尺寸为L×W

2)在第j组矩形零件中,称第k种矩形零件为Mjk,需求量为Njk,尺寸为ljk×wjk(1≤jg; 1≤kMj),且定义ljkwjk

3)根据第j组内所有矩形零件的总面积计算出第j组零件排样完毕最少需要基材板张数为Nj,设α为冗余系数(α≥1),则第j组矩形零件排样完毕基材板用量为:

$ N_{j}^{\alpha }=a\cdot {{N}_{j}}。 $ (2)

4)将本组内所有需要排样的矩形零件统一考虑,设变量Njt表示第j组矩形零件的总个数,则

$ {{N}_{jt}}=\sum\limits_{k=1}^{{{M}_{j}}}{{{N}_{jk}}}。 $ (3)

取出本组内4种零件的平均宽度尺寸,设

$ w_{jk}^{m}=mean\left( {{w}_{jk}} \right), $ (4)

则对任一个排样矩形零件而言,基材板上所能排样的最大行数为:

$ R_{j}^{m}=\frac{W}{w_{jk}^{m}} $ (5)

为使排样零件在基材板宽度和长度方向排样满足约束条件,设定排样宽度系数γ(0<γ<1),使

$ R_{j}^{m}=\gamma \cdot R_{j}^{m} $ (6)

5)设变量pjtsk表示任一个排样矩形零件在第t张基材板上第s行的排放方式,长度方向与基材板长度方向一致时,pjtsk=1; 长度方向与基材板长度方向垂直时,pjtsk=0;pjtsk∈[0,1]。

6)设数控板材开料锯的锯路宽度为ws,不失一般性,为每个矩形零件的长度和宽度都加上一个单位的ws,同时,原料板的长度和宽度方向也各加上一个单位的ws,以此抵消在原料板最下端和最右端的“虚拟锯路损失”。

7)取出排放在第t张基材板第s行上所有列的矩形零件的尺寸信息和数量njtsk,所有零件(同一行)长度之和应不大于基材板长度L,即

$ \begin{matrix} \left( L+{{w}_{s}} \right)-\sum\limits_{k=1}^{{{M}_{j}}}{\left[ \left( {{l}_{jk}}+{{w}_{s}} \right)\cdot {{n}_{jtsk}}\cdot {{p}_{jtsk}}+ \right.} \\ \left. \left( {{w}_{jk}}+{{w}_{s}} \right)\cdot {{n}_{jtsk}}\cdot \left( 1-{{p}_{jtsk}} \right) \right]\ge 0。 \\ \end{matrix} $ (7)

8)取出排放在第t张基材板的每一行上矩形零件的最大宽度尺寸,在基材板的宽度方向,每一行排样矩形零件的最大宽度之和应不大于基材板宽度W,即

$ \begin{matrix} \left( W+{{w}_{s}} \right)-\sum\limits_{s=1}^{R_{j}^{m}}{\max \left[ \left( {{w}_{jk}}+{{w}_{s}} \right)\cdot {{p}_{jtsk}}+ \right.} \\ \left. \left( {{l}_{jk}}+{{w}_{s}} \right)\cdot \left( 1-{{p}_{jtsk}} \right) \right]\ge 0。 \\ \end{matrix} $ (8)

9)矩形零件排样中数量的限制。每一种矩形零件在Njα张基材板上排样数量总和应等于所要求的排样总数,即

$ \sum\limits_{t=1}^{N_{j}^{\alpha }}{\sum\limits_{s=1}^{R_{j}^{m}}{{{n}_{jtsk}}-}{{N}_{jk}}}=0。 $ (9)

10)矩形零件在基材板上排样面积的限制。在每一张基材板上,所排样的矩形零件总面积应小于基材板面积,即

$ L\cdot W-\sum\limits_{k=1}^{{{M}_{j}}}{{{l}_{jk}}\cdot {{w}_{jk}}\cdot {{n}_{jtsk}}>0。} $ (10)

以余料最小为目标函数,根据上述约束条件,构建面向零件的数学模型如下:

$ \text{s}\text{.t}\text{.}\left\{ \begin{matrix} \begin{matrix} \left( L+{{w}_{s}} \right)-\sum\limits_{k=1}^{{{M}_{j}}}{\left[ \left( {{l}_{jk}}+{{w}_{s}} \right)\cdot {{n}_{jtsk}}\cdot {{p}_{jtsk}}+ \right.} \\ \left. \left( {{w}_{jk}}+{{w}_{s}} \right)\cdot {{n}_{jtsk}}\cdot \left( 1-{{p}_{jtsk}} \right) \right]\ge 0 \\ \left( W+{{w}_{s}} \right)-\sum\limits_{s=1}^{R_{j}^{m}}{\max \left[ \left( {{w}_{jk}}+{{w}_{s}} \right)\cdot {{p}_{jtsk}}+ \right.} \\ \left. \left( {{l}_{jk}}+{{w}_{s}} \right)\cdot \left( 1-{{p}_{jtsk}} \right) \right]\ge 0 \\ \end{matrix} \\ \sum\limits_{t=1}^{N_{j}^{\alpha }}{\sum\limits_{s=1}^{R_{j}^{m}}{{{n}_{jtsk}}-}{{N}_{jk}}}=0 \\ {{p}_{jtsk}}\in [0,1] \\ L\cdot W-\sum\limits_{k=1}^{{{M}_{j}}}{{{l}_{jk}}\cdot {{w}_{jk}}\cdot {{n}_{jtsk}}>0} \\ \end{matrix} \right. $
$ F=\min \sum\limits_{t=1}^{N_{j}^{\alpha }}{\left( L\cdot W-\sum\limits_{k=1}^{{{M}_{j}}}{{{l}_{jk}}\cdot {{w}_{jk}}\cdot {{n}_{jtsk}}} \right)}>0 $ (11)
3 面向零件的锯切排样模型遗传算法求解 3.1 染色体编码和初始种群的建立

采用整数编码的方法,定义一条染色体是当前组所有矩形零件排样结果。包括4方面内容: 第几个零件、排样在第几张基材板的第几行和排放方式,称之为4个变量。调用MATLAB遗传算法工具箱中的基向量创建函数,并且令BaseV=crtbase(rep(Njt,[1,4]),[MjNjaRjm,1]),从而得到锯切排样模型求解所需的基向量BaseV,向量中的元素代表染色体中基因位的基本字符。

其中: Mj,即零件种类基本字符,表示任一个零件必然是Mj种零件中的一种; Nja,即基材板张数基本字符,表示任一个零件排样在第几张基材板; Rjm,即行基本字符,表示任一个零件可能排在某一张基材板的第几行;1,即排样方式基本字符,表示任一个零件在某一张基材板的某一行上是横排还是竖排。

将由基向量创建函数得到的BaseV代入MATLAB遗传算法工具箱的初始种群创建函数,并令: Chrom=crtbp(Nind,BaseV)+ones(Nind,length(BaseV)),得到初始种群,用Chrom表示。其中:Nind表示初始种群规模; crtbp()表示随机种群创建函数; ones()表示保证矩阵处理中行、列序号不为零的函数。

3.2 基于惩罚函数的适应度函数建立

在遗传运算中,根据适应度函数值大小对种群中的个体进行取舍,因此必须建立适应度函数。

根据式(3),Njt表示第j组排样矩形零件的总个数。在初始种群Chrom中,令:P1=Chrom(:,1: Njt),为所有零件的种类; P2=Chrom(:,Njt +1:2*Njt),为所有零件所在基材板; P3=Chrom(:,2*Njt+1:3*Njt),为所有零件所在行; P4=Chrom(:,3*Njt +1:4*Njt),为所有零件的排样方式。

基于式(11)建立锯切排样模型的目标函数:

ObjV_0=Cutting_pattern(p1p2p3p4)。

其中: P1~P4为编码后的染色体针对4个变量的分解量; ObjV_0为所有基材板面积总和与所有已排样零件面积和的差值,即剩余面积。

基于式(7)~(10)分别建立4个惩罚函数与其对应:

Penalty_1=Punishment_1(P1P2P3P4);

Penalty_2=Punishment_2(P1P2P3P4);

[Penalty_3_Min,Penalty_3_Max]=Punishment_3(P1P2P3P4);

Penalty_4=Punishment_4(P1P2P3P4)。

其中: Penalty_1为基材板长度尺寸与其上每一行所排零件长度方向尺寸和的差值; Penalty_2为基材板宽度尺寸与其上每一行所排零件的最大宽度之和的差值; Penalty_3_Min为每一种矩形零件在所有基材板上排样数量总和与所要求排样总数差值的最小值; Penalty_3_Max为每一种矩形零件在所有基材板上排样数量总和与所要求排样总数的差值的最大值; Penalty_4为每张基材板排样零件面积之和与基材板面积的差值; Punishment_1()为惩罚函数1,约束类型为不等式; Punishment_2()为惩罚函数2,约束类型为不等式; Punishment_3()为惩罚函数3,约束类型为等式; Punishment_4()为惩罚函数4,约束类型为不等式;

本文使用外点惩罚函数法处理约束条件,这是因为在多次试验中发现,遗传算法初始种群中有部分个体并不满足约束条件,对惩罚函数法而言即初始点落于可行域外,外点法可以适用这种限制(骆志高等,2009),而内点法并不满足使用要求。因此采用外点惩罚函数法处理约束条件,构造具有惩罚项的目标函数:

$ \begin{matrix} \begin{matrix} \text{ObjV=ObjV }\!\!\_\!\!\text{ 0+}{{\alpha }_{1\cdot }}*\min \left( 0,\text{Penalty }\!\!\_\!\!\text{ 1} \right){{.}^{2}}+ \\ {{\alpha }_{2\cdot }}*\min \left( 0,\text{Penalty }\!\!\_\!\!\text{ 2} \right){{.}^{2}}+ \\ {{\alpha }_{31\cdot }}*\left( \text{Penalty }\!\!\_\!\!\text{ 3 }\!\!\_\!\!\text{ M}in{{.}^{2}} \right)+ \\ \end{matrix} \\ {{\alpha }_{32\cdot }}*\left( \text{Penalty }\!\!\_\!\!\text{ 3 }\!\!\_\!\!\text{ Max}{{.}^{2}} \right)+ \\ {{\alpha }_{4\cdot }}*\min \left( 0,\text{Penalty }\!\!\_\!\!\text{ 4} \right){{.}^{2}}.。 \\ \end{matrix} $ (12)

式中: ObjV为含惩罚项的目标函数值; a1a2a31a32a4为初始惩罚因子。

对应锯切排样数学模型的等式和不等式约束,惩罚项具有如下作用:

1)对3个不等式约束,当满足约束条件时,惩罚项为0,即

$ {{\alpha }_{i\cdot }}*\min \left( 0,\text{Penalty }\!\!\_\!\!\text{ }i \right){{.}^{2}}=0\left( i=1,2,4 \right); $ (13)

当违反某一约束条件时,

$ {{\alpha }_{i\cdot }}*\min \left( 0,\text{Penalty }\!\!\_\!\!\text{ }i \right){{.}^{2}}={{\alpha }_{i\cdot }}*\text{Penalty }\!\!\_\!\!\text{ }i{{.}^{2}}>0 $ (14)

这表示零件在基材板上的排样不满足长度、宽度或面积的约束条件,则惩罚项起作用,且距离约束边界越远,惩罚力度越大,从而迫使迭代点回到可行域内。

2)对等式约束所表示的零件数量限制,若满足约束条件,则

$ \begin{matrix} {{\alpha }_{31\cdot }}*\left( \text{Penalty }\!\!\_\!\!\text{ 3 }\!\!\_\!\!\text{ M}in{{.}^{2}} \right)+{{\alpha }_{32\cdot }}* \\ \left( \text{Penalty }\!\!\_\!\!\text{ 3 }\!\!\_\!\!\text{ Max}{{.}^{2}} \right)=0 \\ \end{matrix} $ (15)

惩罚项不起作用,若不能满足约束条件,则

$ \begin{matrix} {{\alpha }_{31\cdot }}*\left( \text{Penalty }\!\!\_\!\!\text{ 3 }\!\!\_\!\!\text{ M}in{{.}^{2}} \right)+{{\alpha }_{32\cdot }}* \\ \left( \text{Penalty }\!\!\_\!\!\text{ 3 }\!\!\_\!\!\text{ Max}{{.}^{2}} \right)>0 \\ \end{matrix} $ (16)

从而使遗传种群中对应个体的适应度值降低,减小遗传到下代的概率。

3.3 惩罚因子自适应算法

惩罚因子的大小适度是保证求解结果满足约束条件的关键。在遗传运算中,利用每次迭代过程中的约束项反馈信息调整惩罚因子,从而使惩罚因子具有一定的自适应性,有利于提高求解精度(张国英等,2010桑志祥等,2013甘敏等,2010)。

在程序运行中发现,对惩罚函数1,2和4,约束条件不满足程度越大,种群均值越小; 对惩罚函数3,约束条件不满足程度越大,种群均值的平方越大。由此,定义惩罚因子适应性规则为:

$ {{a}_{i}}=\left\{ \begin{matrix} {{a}_{i}}\cdot \beta \left( 1 \right),\text{case1} \\ {{a}_{i}}\cdot \beta \left( 2 \right),\text{case2} \\ {{a}_{i}}\cdot \beta \left( 3 \right),\text{case3} \\ \end{matrix} \right. $ (17)

式中:β(1)<1,β(2)=1,β(3)>1。对惩罚函数1,2和4,case1表示第g代种群均值大于第g-1代种群均值,case2表示第g代种群均值等于第g-1代种群均值,case3表示第g代种群均值小于第g-1代种群均值; 对惩罚函数3,case1表示第g代种群均值平方小于第g-1代种群均值平方,case2表示第g代种群均值平方等于第g-1代种群均值平方,case3表示第g代种群均值平方大于第g-1代种群均值平方。

3.4 遗传操作

适应度分配函数采用ranking.m,即基于秩的排序,选择压差为2,线性排序; 选择函数采用sus.m,即随机遍历抽样方式; 交叉函数采用xovdp.m,即两点交叉,交叉概率根据实际情况设定; 变异函数采用mutbga.m,即实值种群的变异,变异概率取缺省值; 重插入子代到新种群函数采用reins.m。实践证明,上述选择方式的应用效果是比较理想的,基本达到了人造板材锯切排样工艺的要求。

3.5 排样矩阵输出

经染色体编码、初始种群建立、基于惩罚函数的目标函数建立和遗传操作,利用结合MATLAB遗传算法工具箱而建立的排样算法计算出描述排样方案的向量,向量长度为4×Njt。设变量Variable_Last表示算法优化求解后的最优染色体,即排样方案向量,为清楚描述4个变量,对最优染色体即排样方案向量进行分解:

Ma=Variable_Last(1,1:Njt)—— 描述所有零件种类的数组;

Mb=Variable_Last(1,Njt +1:2*Njt)——描述所有零件所在基材板序号的数组;

Mc=Variable_Last(1,2*Njt+1:3*Njt)——描述所有零件所在行的数组;

Md=Variable_Last(1,4*Njt+1:5*Njt)——描述所有零件的排样方式的数组;

Matrix=[Ma;Mb;Mc;Md]—— 每一列表示一个零件的排样结果。

最终得到排样矩阵Matrix,矩阵维数为4行,Njt列。

4 应用实例 4.1 实例1

1)基本排样数据与遗传求解。本着由简到繁的原则,实例1共有4种零件参与排样,且存在尺寸的配合关系,试验数据如表 1所示。

表 1 面向零件排样模型的矩形件数据 Tab. 1 Data of rectangular parts for part-oriented model

基材板尺寸为1 220 mm×2 440 mm。经试验修正,初始惩罚因子取为:a1=1×1020a2=1×1020a31=1×1030a32=1×1030a4=1×1020;惩罚因子适应系数β1=β2=β31=β32=β4=[0.8,1,5],初始群体规模50,最大遗传代数300,代沟0.9,交叉概率0.7,基材板冗余系数α=1.1,排样宽度系数γ=0.6,锯路宽度ws=5 mm。运行遗传算法得到排样矩阵Matrix,将矩阵中数值单独列出如图 1所示。

图 1 实例排样矩阵 Fig. 1 Layout matrix of the instance

图 1可见,排样矩阵Matrix共4行53列,第1行表示所有排样零件的每一个个体; 第2行表示零件排样在第几张基材板; 第3行表示零件排样在基材板的第几行; 第4行表示零件的排样方式。每列表示1个零件的排样结果,例如第1列转置后为[4 1 1 0],表示第4种零件的1个零件排在了第1张基材板上的第1行上,且为竖排。排样结果显示共使用了4张基材板,每张基材板的排样信息矩阵如图 2所示。

图 2 每张基材板排样矩阵 Fig. 2 Layout matrix for each base panel

定义基材板利用率向量为Efficieny,第1~4张基材板利用率依次为向量Efficieny中的第1~4个值。基材板利用率向量为:Efficiency=[0.933 1 0.933 1 0.920 0 0.910 5]。

遗传算法求解过程中最优控制向量如图 3所示。图 3中,折线图中的各个实心点表示排样矩阵Matrix中的各个值,从左至右看,每4个实心点表示排样矩阵中的每一列,即1个零件的排样结果。例如,图中倒数4个实心点的数值依次为[4 4 3 1],表示第4种零件的1个零件排放在了第4张基材板的第3行上,方式为横排。

图 3 最优控制向量分布 Fig. 3 Distribution of optimal controlled vector

遗传运算中,含惩罚项的目标函数值ObjV迭代变化如图 4所示。从图 4可以看出,遗传搜索大约在25次迭代后趋于收敛,即图中的曲线迅速下降,然后迅速平稳,说明本文建立的遗传算法的全局寻优能力达到设计要求。图 5所示是将第2张基材板排样方案图形化的结果,图中每个零件排在了基材板的相应位置,并且锯切路径清晰,满足人造板材开料锯“一刀切”的锯切工艺要求。

图 4 目标函数均值和最优值迭代变化曲线 Fig. 4 Iterative changes of objective function mean value and optimal value
图 5 第2张基材板排样方案 Fig. 5 Layout solution figure of the second base panel

2)排样方案优化。由图 5可知,每一行排样零件中同种矩形零件并未排列在一起而影响开料锯的锯切速度,这与遗传算法的随机性不无关系,需进一步优化。优化的准则为: 将每行排样零件按基材板宽度方向尺寸降序排列。将这一准则应用到矩阵输出算法中,以达到规整锯路的目的。优化后的第2张基材板排样方案如图 6所示。

图 6 第2张基材板优化排样方案 Fig. 6 Optimized layout solution figure of the second base panel
4.2 实例2

实例2待排样的矩形零件数据为床头柜的部分零件,共7种,来自于河北省某家具公司的生产数据,规格和用量如表 2所示。零件均为12 mm厚,基材板统一使用2 440 mm×1 220 mm×12 mm的中密度纤维板。

表 2 实例2排样零件数据表 Tab. 2 Data sheet of layout parts for instance two

基材板尺寸为1 220 mm×2 440 mm,选取种群规模为80,遗传代数为200,代沟0.9,基材板冗余系数α=1.2,交叉概率0.8; 初始惩罚因子α1=1×1010α2=1×1010α31=1×1020α32=1×1020α4=1×1010;惩罚因子适应系数为β1=β2=β31=β32=β4=[0.8,1,1.2],排样宽度系数γ=0.6,锯路宽度ws=5 mm,运行遗传运算。按基于配合尺寸的分组降维启发式规则,所有16种零件分为2组,分组情况见表 3

表 3 实例2排样零件分组方式 Tab. 3 Grouping of layout parts for instance two

1)第1组零件排样方案。第1组零件的整体排样方案由10张个体基材板排样方案组成,如表 4所示,其中第2张基材板的利用率最高为92.10%,平均利用率为87.65%。

表 4 实例2第1组零件排样方案表 Tab. 4 Layout solution of group one instance two

2)第2组零件排样方案。第2组零件的整体排样方案由8张个体基材板排样方案组成,如表 5所示,其中第6张基材板的利用率最高为90.14%,平均利用率为86.81%。

表 5 实例2第2组零件排样方案表 Tab. 5 Layout solution of group two instance two

2组排样零件的遗传运算过程中,最优控制向量即排样矩阵的折线图描述如图 7所示。与实例1所示最优控制向量分布图的表示不同,本例以排样矩阵的“行”向量为顺序绘图。从图 7可以看出,由于每组的排样零件数量和尺寸不同,第1组和第2组的排样矩阵数值各不相同; 但2幅分图都可明显划分为高低不同的4段。以“第1组”为例,段1表示零件种类,段2表示所在基材板,段3表示所在行,段4表示排放方式,分别对应锯切排样的4个基本变量。

图 7 实例2最优控制向量分布 Fig. 7 Distribution of optimal controlled vector for instance two

遗传运算中,含惩罚项的目标函数值迭代变化如图 8所示。图 8表明,遗传运算在限定的迭代次数内都趋于收敛,即图中曲线由下降变为水平状态,表明算法搜索到较优值。之所以说是较优值,是因为遗传运算受本身的启发式随机搜索特性和排样参数的影响很大,参数不同,搜索结果亦会有所变化。

图 8 实例2目标函数均值和最优值迭代变化曲线 Fig. 8 Iterative changes of objective function mean value and optimal value for instance two

根据行内排样零件按基材板宽度方向尺寸降序排列的优化准则对输出矩阵进行优化。第1组第2张排样方案和第2组第6张排样方案可视化如图 9所示,可见,排样方案清晰且满足“一刀切”的锯切工艺要求。

图 9 实例2排样方案可视化示例 Fig. 9 Visualization example of layout solution of instance two
5 结论与讨论

本文针对人造板材矩形件锯切排样,提出了基于配合尺寸的分组降维启发式规则,建立了面向零件的锯切排样数学模型,使排样方案描述为4方面内容,即第几个零件排样在第几张基材板的第几行上及其排放方式。遗传编码采用整数编码方式,采用外点惩罚函数法处理约束条件,并且设计了具有一定自适应性的惩罚因子,应用实例表明了该模型和算法的可行性。

遗传算法群体搜索性使其具有较好的全局搜索能力,正确的编码是遗传算法能够成功运行的关键,对于不同问题应选择不同的编码策略。针对目标优化问题,已有研究表明整数编码能够提高运行效率(陈瑶等,2013覃柏英,2011),但遗传编码方式的选择还有待进一步研究,以期解决更为复杂的实际问题。

惩罚函数法是求解具有约束条件的数学模型时常用的策略,内点法适用于等式约束,外点法适用于不等式约束,问题关键在于惩罚因子的选择。根据具体的问题,惩罚因子多根据经验选择,但这需要大量的试验和先验知识,如何更为合理地确定惩罚因子依然是研究的热点问题。

本文以基材利用率作为评价指标研究人造板材锯切优化排样,并根据每行排样零件按基材板宽度方向尺寸降序排列的原则对排样方案进行优化,从而使尺寸相同或相近的零件连排在一起,有利于提高锯切效率。但仍会发现,排样图中存在零件纵横向排列的方向性问题,这与面向零件的锯切排样数学模型的约束条件以及遗传算法的随机性有一定关系。如何将走刀次数和排样方向纳入评价指标并建立对应的约束条件和数学模型是又一需要讨论的问题。

参考文献(References)
[1] 陈瑶, 霍佳震. 2013. 整数编码的组群遗传算法在分组优化中的设计和应用. 上海交通大学学报, 47 (3) :472–478.
( Chen Y, Huo J Z.2013. Number-coded grouping genetic algorithm for solving grouping problem: design and application. Journal of Shanghai Jiaotong University, 47 (3) :472–478 . [in Chinese] ) (0)
[2] 董德威, 颜云辉. 2013. 缺陷板材非规则件优化排样. 图学学报, 34 (2) :31–37.
( Dong D W, Yan Y H.2013. Optimal packing of irregular parts on plates with defects. Journal of Graphics, 34 (2) :31–37 . [in Chinese] ) (0)
[3] 甘敏, 彭辉, 王勇. 2010. 多目标优化与自适应惩罚的混合约束优化进化算法. 控制与决策, 25 (3) :378–382.
( Gan M, Peng H, Wang Y.2010. Multiobjective optimization and adaptive penalty function based constrained optimization evolutionary algorithm. Control and Decision, 25 (3) :378–382 . [in Chinese] ) (0)
[4] 季君, 陆一平, 查建中, 等. 2012. 生成矩形毛坯最优两段排样方式的确定型算法. 计算机学报, 35 (1) :183–191.
( Ji J, Lu Y P, Cha J Z, et al.2012. A deterministic algorithm for optimal two-segment cutting patterns of rectangular blanks. Chinese Journal of Computers, 35 (1) :183–191 . [in Chinese] ) (0)
[5] 骆志高, 王洋, 李举, 等. 2009. 遗传算法与惩罚函数法在辗轧成形工艺参数优化中的应用. 中国机械工程, 20 (14) :1704–1707.
( Luo Z G, Wang Y, Li J, et al.2009. Application of genetic algorithm and penalty function method in roll-forming process parameters optimization. Chinese Mechanical Engineering, 20 (14) :1704–1707 . [in Chinese] ) (0)
[6] 覃柏英, 林贤坤, 张令弥, 等. 2011. 基于整数编码遗传算法的传感器优化配置研究. 振动与冲击, 30 (2) :252–257.
( Qin B Y, Lin X K, Zhang L M, et al.2011. Optimal sensor placement based on integer-coded genetic algorithm. Journal of Variation and Shock, 30 (2) :252–257 . [in Chinese] ) (0)
[7] 桑志祥, 李绍军, 张杰. 2013. 基于 AEA算法的自适应惩罚函数求解约束优化及其在丁烯烷化过程的应用. 高校化学工程学报, 27 (1) :136–141.
( Sang Z X, Li S J, Zhang J.2013. A new adaptive penalty function based on AEA algorithm for solving constrained optimization problems and its application in process optimization of butane alkylation. Journal of Chemical Engineering of Chinese Universities, 27 (1) :136–141 . [in Chinese] ) (0)
[8] 孙英, 崔耀东. 2008. 简化同尺寸矩形毛坯排样方式的动态规划算法. 计算机应用与软件, 25 (12) :91–92.
( Sun Y, Cui Y D.2008. A dynamic programming algorithm for simplifying the cuting patterns of equal rectangular blanks. Computer Applications and Software, 25 (12) :91–92 . [in Chinese] ) (0)
[9] 张国梁, 侯晓鹏, 苗虎, 等. 2014. 基于分组降维规则和遗传算法的人造板材矩形件优化下料方法. 林业科学, 50 (6) :181–186.
( Zhang G L, Hou X P, Miao H, et al.2014. Layout method of rectangular wood based panel parts based on grouping and dimension reducing heuristic rule and genetic algorithm. Scientia Silvae Sinicae, 50 (6) :181–186 . [in Chinese] ) (0)
[10] 张国英, 刘冠洲, 徐宁, 等. 2010. 自适应约束惩罚的粒子群聚类算法. 郑州大学学报:理学版, 42 (2) :47–52.
( Zhang G Y, Liu G Z, Xu N, et al.2010. Particle swarm clustering algorithm based on adapative constrained penalty. Journal of Zhengzhou University: Natural Science Edition, 42 (2) :47–52 . [in Chinese] ) (0)
[11] Aiello G, La Scalia G, Enea M.2012. A multi objective genetic algorithm for the facility layout problem based upon slicing structure encoding. Expert Systems with Applications, 39 (12) :10352–10358 . (0)
[12] Bennell J A, Lee L S, Potts C N.2013. A genetic algorithm for two-dimensional bin packing with due dates. International Journal of Production Economics, 145 (2) :547–560 . (0)
[13] Cui Y, Yang Y, Cheng X, et al.2008. A recursive branch-and-bound algorithm for the rectangular guillotine strip packing problem. Computers & Operations Research, 35 (4) :1281–1291 . (0)
[14] de Magalhães C S, Almeida D M, Barbosa H J C, et al.2014. A dynamic niching genetic algorithm strategy for docking highly flexible ligands. Information Sciences, 289 (12) :206–224 . (0)
[15] Furini F, Malaguti E.2013. Models for the two-dimensional two-stage cutting stock problem with multiple stock size. Computers & Operations Research, 40 (8) :1953–1962 . (0)
[16] Hoseini P, Shayesteh M G.2013. Efficient contrast enhancement of images using hybrid ant colony optimisation, genetic algorithm, and simulated annealing. Digital Signal Processing, 23 (3) :879–893 . (0)
[17] Mobasher A, Ekici A.2013. Solution approaches for the cutting stock problem with setup cost. Computers & Operations Research, 40 (1) :225–235 . (0)
[18] Patel N, Padhiyar N.2015. Modified genetic algorithm using box complex method: application to optimal control problems. Journal of Process Control, 26 (2) :35–50 . (0)
[19] Rostom M R, Nassed A O, Metwalli S M.2014. 3D overlapped grouping Ga for optimum 2D guillotine cutting stock problem. Alexandria Engineering Journal, 53 (3) :491–503 . (0)
[20] Sathya S S, Radhika M V.2013. Convergence of nomadic genetic algorithm on benchmark mathematical functions. Applied Soft Computing, 13 (5) :2759–2766 . (0)
[21] Suliman S M A.2006. A sequential heuristic procedure for the two-dimensional cutting-stock problem. International Journal of Production Economics, 99 (1/2) :177–185 . (0)