首页> 中国专利> 一种基于遗传算法的二维不规则零件排样方法

一种基于遗传算法的二维不规则零件排样方法

摘要

本发明提供一种基于遗传算法的二维不规则零件排样方法,首先初始化,给每一个零件固定一个序号,根据零件面积降序排序,初始旋转角度设置为0°,得到每个零件的序列号、坐标点、面积,根据NFP和重心左下定位确定零件初始排样位置;之后根据遗传算法对放置顺序和旋转角度进行更新,判断孔洞内能否放入其他零件,如果能放入则将该零件先放入孔洞内再根据NFP和重心左下定位顺序排放零件;根据适应度函数重复迭代,直至达到终止条件,此时的排样结果为最优排样。本发明采用了改进的遗传算法,利用自适应变异概率跳出局部最优、重排定序策略避免同一零件重复排样。

著录项

  • 公开/公告号CN113435094B

    专利类型发明专利

  • 公开/公告日2022-07-05

    原文格式PDF

  • 申请/专利权人 中国地质大学(武汉);

    申请/专利号CN202110582348.6

  • 发明设计人 龚鑫;刘小波;肖肖;张超超;

    申请日2021-05-27

  • 分类号G06F30/25(2020.01);G06F30/27(2020.01);G06N3/12(2006.01);G06F111/06(2020.01);

  • 代理机构

  • 代理人

  • 地址 430000 湖北省武汉市洪山区鲁磨路388号

  • 入库时间 2022-08-23 13:58:48

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-07-05

    授权

    发明专利权授予

说明书

技术领域

本发明涉及加工件排样技术领域,尤其涉及一种基于遗传算法的二维不规则零件排样方法。

背景技术

二维不规则零件排样问题普遍存在于现代生产制造业中的多个领域,如机械制造业、服装制造业、微电子排版等。在排样方法上的改进,可节省大量的原材料、提高经济效益、缓解资源紧缺造成的环境压力。所以我们根据生产过程中的实际问题提出了一种新的基于遗传算法的二维不规则零件排样方法。

60年代初,Gilmore和Gomory用线性规划法求近似解,介绍了一种克服线性规划法解决下料困难的方法,该方法用一个行小于列的矩阵展开计算。80年代Martello通过分支限界算法来精确求矩形零件切割精确解的问题。上述的两种方法能够在小规模排样问题上取得较好效果,但由于其限定条件众多,不具备普遍性。

随着零件种类的增多,排样难度增加,研究越来越深入,目前主流的零件排样表示方法可以分为三大类:包络拟合法、点阵图表示法及临界多边形法(No-Fit Polygon,NFP)。包络拟合法简单易操作,大大降低了求解的难度,但是会浪费很大的空腔面积,减小利用率;点阵图表示法内存要求更高且碰撞检测的时间更长;而NFP求解速度快,并在排样利用率上有较好表现的方法。

现有的方法如张岩能够解决不规则板材内的零件排样问题,但是只能够排放矩形和圆形,不能排放其他的复杂图形,如刘胡瑶在不规则板材上无法排放带弧度的不规则图形。现有方法都无法同时实现规则零件、不规则零件、规则板材、不规则板材的混合排样。

因此本方法利用NFP确定可排放区域后,利用重心左下定位准则,确定零件排放的策略。重心左下定位从当前待排零件由原材料右上角开始,在保证零件不重叠的情况下,向下向左不停移动,直至不能再移动为止。这种方法运算快,但是利用率受零件选择影响较大,所以我们结合遗传算法对零件的排放顺序和旋转角度展开训练,以求找到最合适的零件进行排放。

上述发明中,基于多子群粒子群算法通过启发式底左搜索算法来避免重叠问题,利用改进的粒子群算法最优解影响粒子跳出局部极值,但是无法处理孔洞问题,且零件之间依靠平移来避免重叠,空间浪费较多。

基于实数编码量子进化算法的不规则排样方法,根据型心临界多边形增大了原材料的利用率,虽然可以处理两个零件间产生的间隙,但是无法处理零件本身自带的孔洞,如利用圆环内的空间。

基于单规格板材二维不规则排样方法,利用NFP避免了重叠问题,通过零件间的替换提高利用率,但是该方法复杂度高,且无法解决零件内的孔洞问题。

基于最优觅食算法的二维不规则零件排样方法,对于包含凹、凸多边形零件与孔洞的复杂零件等二维不规则零件的排样问题有一定的适用性,但是没有处理带孔洞零件的内部孔洞,将较小的零件优先放入孔洞中,没有充分利用板材。

基于扫描线法的二维不规则排样下料方法,通过扫描的方式进行处理,需要专门的设备进行扫描,耗费硬件资源。

基于二维不规则板材内规则零件的优化布局研究,尽管能够利用不规则板材,但是只能够排放矩形和圆形,也不能利用孔洞,不符合实际情况。

针对当前的二维不规则排样方法,结合实际情况中的凹、凸多边形,带孔洞多边形排样等特点,有必要对复杂带孔洞零件进行深入研究,能够保证零件不重叠的情况下,将零件优先放入孔洞中,增加排样的利用率。

本发明提出一种基于遗传算法的二维不规则零件排样方法,本发明将零件的放置顺序和旋转角度作为基因直接编码,减少了参数量。将凹、凸多边形利用NFP避免重叠,并且针对带孔洞的零件设计了特殊的处理方式,将内部孔洞能够优先利用,减少排样空间的浪费,将不规则板材预处理成规则板材排样问题。

发明内容

有鉴于此,本发明目的是提供一种基于遗传算法的二维不规则零件排样方法,包括以下步骤:

S1、初始化,读取零件端点坐标点集,分别处理零件的直线和弧线,选取规则板材或不规则板材,计算n个零件实际面积和

S2、根据遗传算法打乱步骤S1得到的零件排放顺序和旋转角度,针对零件切割时的损耗问题,根据坐标点信息将零件外轮廓进行放大,内轮廓根据切割损耗进行缩小,利用NFP计算零件可排放区域,依据重心左下定位准则在可排放区域中确定零件的放置位置;

S3、根据S2中确定的零件的放置位置放入零件,较小的零件优先放入孔洞,增加利用率,待所有零件排放结束后根据零件中最左,最右,最上,最下的点集,计算零件包络块面积S

S4、将当前的面积利用率L

进一步地,所述选取规则板材的时候,设置板材的宽度和高度,从而得到一个规则的矩形板材;

选取不规则板材的时候,和读取零件一样,找到零件的外轮廓和内轮廓,找到其最左,最右,最上,最下的点,将不规则板材扩充为一个矩形板材,把缺失的部分作为已排放区域,此时将不规则板材视为一个已经排放过零件的规则板材,后续排样时方法和规则板材一致。

进一步地,根据切割损耗设置切割间隔为m,求解NFP时零件外轮廓每个端点坐标分别加上m,从而将零件“放大”,内轮廓每个端点坐标分别减去m,将零件按顺序取出后,将其重心逐渐往左,往下移动,直至它的边接触到左边界和下边界,紧接着拿出第二个零件根据NFP进行可排放区域计算:

1)当滑动法参考点P位于NFP

2)当滑动法参考点P位于NFP

3)当滑动法参考点P位于NFP

根据NFP将两个零件的位置关系转换成了参考点P与NFP

进一步地,如果存在孔洞的情况下同时满足以下条件,则根据重心左下定位准则,将待排零件放入孔洞:

1)待排零件面积小于孔洞面积;

2)K*(x

3)K*(y

其中x

其中y

即孔洞的最大宽度和最大高度乘以K后仍大于待排放零件时才能放入该零件,所述K根据实际的零件情况确定。

本发明提供的技术方案带来的有益效果是:(1)复杂零件不仅仅可以在规则矩形板材排样,还可以在不规则板材上排样;(2)不仅仅可以处理零件间的孔洞,还可以处理零件自身的孔洞;(3)采用了改进的遗传算法,利用自适应变异概率跳出局部最优、重排定序策略避免同一零件重复排样。

附图说明

图1是本发明基于遗传算法的二维不规则零件排样方法的流程图;

图2是不规则板材图;

图3是处理后的不规则板材图;

图4是预留切割损耗图;

图5是临界多边形(NFP);

图6是矩形包络块ABCD;

图7是规则零件与规则板材排样图;

图8是不规则零件与规则板材图;

图9是规则零件与不规则板材,左下角和右下角为缺失部分;

图10是不规则零件与不规则板材(左下角和右下角为缺失部分)。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地描述。

请参考图1,本发明提出的一种基于遗传算法的二维不规则零件排样方法首先读取零件,将读取到的零件进行处理;之后利用遗传算法对放置顺序和角度进行编码,判断能否利用孔洞空间后,根据重心左下定位准则和NFP确定零件放置位置,继而利用遗传算法针对板材利用率进行迭代寻优。

首先初始化,给每一个零件固定一个序号,根据零件面积从大到小排序,初始旋转角度设置为0°,将旋转角度选项设置为90°、180°、270°、360°,得到每个零件的序列号、坐标点、面积,根据NFP和重心左下定位确定零件初始排样位置;之后根据遗传算法对放置顺序和旋转角度进行更新,判断孔洞内能否放入其他零件,如果能放入则将该零件先放入孔洞内再根据NFP和重心左下定位顺序排放零件;根据适应度函数重复迭代,直至达到终止条件,此时的排样结果为最优排样。要求为排样零件不重叠,不超出板材边界。

具体步骤如下:

S1、初始化,读取零件端点坐标点集,分别处理零件的直线和弧线,选取规则板材或不规则板材,计算n个零件实际面积和

选择规则板材的时候,只需设置板材的宽度和高度,从而得到一个规则的矩形板材。

选择不规则板材的时候,和读取零件一样,找到零件的外轮廓和内轮廓,找到其最左,最右,最上,最下的点,将不规则板材扩充为一个矩形板材,把缺失的部分作为已排放区域,此时不规则板材可以视为一个已经排放过零件的规则板材,后续排样时方法和规则板材一致。

请参考图2和图3,板材A缺失了左下角和右下角,属于不规则板材,我们将其根据最左,最右,最上,最下的点还原成一块矩形,将缺失的部分视为已排放两个不规则的零件B。

读取坐标点时,利用pyautocad库、dxfgrabber库从软件AutoCAD中顺时针读取零件的顶点坐标,圆心坐标等,将软件中的Line(直线),Arc(弧线),Circle(圆弧)分别读取。将坐标顶点连成线段,计算相邻边向量的叉积,若为复数表示两点在线段两侧,表示为凹多边形。

假设有三个点A(x1,y1),B(x2,y2),C(x3,y3),那么其面积为公式(1):

将多边形面积转换为多个三角形面积求解,因此多边形总面积为公式(2):

S(A

其中P为与线段组成三角形的第三个顶点,A

读取零件后根据点到向量的距离求取各个零件的面积,将零件按照面积降序排列。将遗传算法应用于二维不规则排样定序,需要先将排样序列进行编码,转换为遗传算法可执行搜索空间。以AutoCAD中原图角度为0°,对零件进行处理,每一个零件处理为包含序列号、点集、面积的键值对,所有零件进行相同处理,根据编码策略进行个体种群的初始化。

S2、根据遗传算法打乱步骤S1得到的零件排放顺序和旋转角度,使用自适应突变率,能够跳出局部最优,针对零件切割时的损耗问题,根据坐标点信息将零件外轮廓进行放大,内轮廓根据切割损耗进行缩小,利用NFP计算零件可排放区域,依据重心左下定位准则在可排放区域中确定零件的放置位置;

排样顺序采用十进制编码,所以不允许有重复的序号,因此加入了重排操作,每排一个零件就更新待排队列,删除已排放的零件编号。

遗传算法更新:进行随机排序之后得到包含所有零件的可操作形式,为方便后续进行角度旋转,再为每个零件随机加入旋转角度。所有零件和旋转角度以键值对形式编码,之后根据适应度函数进行种群的选择和交叉变异。

旋转只改变零件的相对位置,不会改变零件的几何形状,即零件上某一顶点坐标为A(x

其中d

突变率采用轮盘赌的方法,由于初始化是根据面积大小给零件排序,为了加快收敛,前期突变率设置大一些,后期突变率设置小一些,避免早期达到局部最优。

考虑到板材切割的时候有损耗,因此零件之间不能紧密相连,必须要有间隔。根据切割损耗设置切割间隔为m,求解NFP时零件外轮廓每个端点坐标分别加上m,从而将零件“放大”,内轮廓每个端点坐标分别减去m,请参考图4,红色区域为预留的切割损耗:

将零件按顺序取出后,将其重心逐渐往左,往下移动,直至它的边接触到左边界和下边界,紧接着拿出第二个零件根据图5所示的NFP进行可排放区域计算:

1)当滑动法参考点P位于NFP

2)当滑动法参考点P位于NFP

3)当滑动法参考点P位于NFP

根据NFP中将两个零件的位置关系转换成了参考点P与NFP

S3、根据S2中确定的零件的放置位置放入零件,较小的零件优先放入孔洞,增加利用率,待所有零件排放结束后根据零件中最左,最右,最上,最下的点集,计算零件包络块面积S

如果存在孔洞的情况下同时满足以下条件,则根据重心左下定位准则,将待排零件放入孔洞:

1)待排零件面积小于孔洞面积;

2)K*(x

3)K*(y

其中x

其中y

即孔洞的最大宽度和最大高度乘以K后仍大于待排放零件时才能放入该零件,本发明中K=0.6。

S4、将当前的面积利用率L

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号