NGSA算法在不规则零件优化排样中的应用研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第32卷第1期Vol 132 No 11
锻 压 技 术
FORGING &S TAMPING TECHNOLOGY
2007年2月
Feb.2007
板料成形
N GSA 算法在不规则零件优化排样中的应用研究
冯美贵3,史俊友
(青岛科技大学机电工程学院,山东青岛 266061)
摘要:对于二维不规则图形零件在排样区域上的最优排列,也就是对二维不规则图形的计算机自动排样算法进行优化问题。采用矩形包络算法、遗传模拟退火算法及小生境技术相结合,寻找排样件在排样时的最优次序及各自的旋转角度,然后采用基于“最低水平线”策略的启发式排样算法实现二维不规则图形零件自动排样,得到满意的优化排样结果。
关键词:小生境;遗传模拟退火算法;不规则件;优化排样
中图分类号:TP 39117 文献标识码:A 文章编号:100023940(2007)0120013204
Application of niching genetic simulated annealing algorithm in optimal layout for irregular part
FENG Mei 2gui ,SHI Jun 2you
(College of Mechanical and Electrical Engineering ,Qingdao University of Science and T echnology ,Qingdao Shandong 266061,China )
Abstract :The irregular shape nesting problem in the given nest region of two 2dimensional irregular graphics is to opti 2mize the computer automated nest algorithm of irregular graphics.Rectangle enclosure algorithm ,genetic simulated an 2nealing algorithm and Niche are integrated to search the best sequence of the shaped parts and each part ’s optimum rota 2tion ,and “the lowest horizontal algorithm ”is used to complete the automatic layout of two dimensional irregular graph 2ical parts in this paper ,and the satisfactory results of optimal layout are obtained.K eyw ords :niche ;genetic simulated annealing algorithm ;irregular part ;optimal layout
3女,25岁,硕士研究生收稿日期:2006203228
1 引言
二维不规则零件的排样问题就是将一系列形状
各异的零件排放在给定的板材上,按最优方式找出零件的最优排布,要求零件排放在板材内,各个零件互不重叠,并满足一定的工艺要求,使得给定板材的利用率最高,以达到节约材料,提高效益的目的。该类排样问题广泛应用于钣金加工、轻工、服装和印刷业排版等行业中。由于材料费用在产品成本中占很大比例,特别是在大批量生产中,材料利用率的提高可带来显著的经济效益,具有重要的现实意义。从理论上看,该类问题属于N P (即非确定型的多项式算法)完全问题,计算复杂性很高,至今还没有找到合适的多项式算法。针对这个问题,国内外一些学者提出利用遗传算法、模拟退火算法[1~4]及用启发算法和神经网络法解决二维不规则零件排样问题[4]来解决排样优化问题,获得了一些近似解,取得了较好的结果。本文从遗传算法和模拟退火算法混合优化策略的构造出发点,融合小生境技术的思想,提出一种以遗传算法和模拟退火算
法为子算法的基于小生境技术的遗传退火算法———N GSA 算法(Niching Genetic Simulated Annealing Algorit hm 简称N GSA 算法)解决二维不规则形状零件的排样优化问题,其具有较强的全局和局部搜索能力,使得给定板材的利用率最高。
2 问题模型分析
211 数学模型
由于零件都是刚体,一个零件在板材上的定位实际上只需3个参数就可完全确定了。这3个参数是该零件的一个给定点在板材上的坐标(X ,Y )和该零件的排放角度α。当这3个参数确定后,该零件的其他各顶点坐标都可由这3个参数计算出来。设G j (j ∈J ,J 为零件集合)为零件j 的图形,(x j ,y j )为该零件的给定点的坐标,则该零件在板材上的定位可以表示为下述过程:先将该零件以该定点为轴作角度为(x j ,y j )的旋转,然后再将定点(x j ,y j )在板材作位移(Δx j ,Δy j )。这时零件j 在板材上的方位可表示为G j (Δx j ,Δy j ,αj )。设S i 为零件j 的面积,这里L 为板材的长,W 为板材的宽,定义排样布局的原材料的利用率E max ,
E max 越大板材的利用率越高,板材余料为MinZi 。
则零件优化排样的模型为[5]:
E max =
∑
n
i =1
S j
L ×W
(1)
MinZ 1=L ×W -
∑n
i =1
S
i
(2)S 1t 1G j (Δx j ,Δy j ,αj )∩G k (Δx k ,Δy k ,αk )=Φ,j ≠k
0≤x j i (Δx j ,Δy j ,α
j )≤L j i =0,1,…n j 0≤y j i (Δx j ,Δy j ,αj )≤W j i =0,1,…
n j (3)(4)(5)
式(3)表示零件j 与零件k 互不重叠;x j i 和
y j i 为零件j 的第i 个顶点的坐标,L 为板材的长,W 为板材的宽;式(4)、(5)表示零件不能排在板
材之外。式(1)、(2)表示该问题为多目标问题,而式(3)、(4)、(5)表明该问题为多约束问题,因此可以采用小生境技术求解该N P 类完全问题。212 零件预处理
由于材料利用率受不规则零件形状的影响,直接将二维不规则零件作为排样对象,问题将变得十分复杂。采用求取零件最小包络矩形的方法简化预处理,并且对一些形状互补的零件进行组合,确定零件间的最佳组合,使零件区域在最小包络矩形中所占的比例尽可能大,对组合后的图形再求取最小包络矩形,同时记录各个不规则零件在相应的最佳包络矩形中的具体位置和各自排放的角度。这样,二维不规则零件排样问题就转化为矩形件排样问题。213 编码机制
采用十进制编码方法,遗传算法的群体中模式的数目仅与群体大小和染色体长度有关,它具有短的定义矩、低阶的优点。应用在排样问题中,具有编码、解码操作简单遗传操作便于实现等优点。将所有参加排样不同类型的零件按面积大小排列并加以编号,染色体的长度与排样件的类型数相同。此编码方式是基于一种排列顺序的基因编码方式,即所有排样类型的一个排列顺序作为一个染色体。编码设计的关键是在染色体中如何产生不同编号的遗传算子,相应的解码方法则根据所采用的解码方法把具体的板材定位在不同的板材及其在板材上的具体位置。214 解码方法
由遗传算法产生一个个体的编码后,能否快速求出其对应的排样图,得到所需板材的尺寸是一个关键,同时只有求出该个体所对应的排样图后,才能计算其对应的适应度值,并对该个体进行评价。但用BL 算法,即使穷举出所有的个体编码,也不能得到此最优排样图,还容易发生板材左侧排放偏
高的情况。在对BL 算法做改进后,提出了“下台阶”算法,而“下台阶”算法则易发生右侧偏高的情况。综合考虑,本文采用一种基于零件最高轮廓
线的“最低水平线”[3]
的解码方法。
3 基于N GSA 算法的优化排样策略
311 小生境遗传模拟退火算法(NG SA 算法)
模拟退火算法和遗传算法是当今优化技术领域研究的热门,也是应用最广泛的智能优化算法[6]。基于广义邻域搜索算法的统一结构,将这两种算法集成到一起,有可能产生出求解性能很好的方法。基于遗传算法GA 和模拟退火SA 算法混合优化策略的构造出发点,构造一类GASA 算法;再融入小生境的思想和技术,对于存在多极小的复杂数学和工程优化问题,其优化性能将体现出更明显的优越性。故本文根据板材布局优化的工程要求,在对智能优化算法的优化流程和统一结构进行深入分析的基础上,提出了一种以遗传算法和模拟退火算法为子算法且基于小生境技术的混合智能优化算法—小生境遗传模拟退火算法(Niching G enetic Simulated Annea 2ling Algorithm —N GSA 算法),来解决NP 问题。
N GSA 算法充分发挥遗传算法和模拟退火算法在各自搜索邻域的优势,并通过它们的有机结合弥补各自的不足;适时地加入小生境技术,这种混合不仅是算法结构上的,而且是搜索机制和进化思想上的相互补充,可以有效地保留问题的多个局部最优解,为较好解决复杂优化问题提供了有利的途径。312 NG SA 算法求解过程
N GSA 算法应用于不规则零件的求解过程可描述为:
Step 1:设置进化代数计数器t =1,随机产生M 个初始个体P 0(t ),同时求出各个个体的适应度F i (i =1,2…,M );
Step 2:对种群P 0(t )中的各个体按适应度对其进行降序排序,并记录适应度较大的前N 个个体(N Step 3:采用遗传算法进行选择、交叉、变异等操作,生成群体P 2(t ); ①对种群P 0进行预选择操作,得种群Pop1(t );选择操作时,先进行赌盘选择法,再采用精英选择。 ②采用单点交叉算子对种群Pop1(t )进行交叉操作,得种群Pop2(t ); 4 1锻 压 技 术 第32卷