前言:
当前小伙伴们对“遗传算法tspjava”可能比较看重,小伙伴们都想要了解一些“遗传算法tspjava”的相关文章。那么小编也在网上汇集了一些关于“遗传算法tspjava””的相关资讯,希望咱们能喜欢,各位老铁们一起来学习一下吧!在钣金行业,有许多中小型加工车间。这些中小型制造企业一直面临着激烈的市场竞争压力。这种压力迫使他们竭尽全力缩短产品开发周期、提高生产效率、接近高质量标准,但同时又要降低成本。复合机或冲床和激光切割机组合的开发是为了提高金属板材加工的功能和效率。通过使用这种复合方法,切割工序和冲压工序可以在同一台数控金属板材复合机上依次或同时进行,而无需改变夹具。
这种复合制造方法利用了数控冲孔的高效率和低成本优势,并利用数控切割的高柔性进行复杂轮廓切割。通常,钣金产品的设计、工艺规划和制造都是通过使用不同的计算机辅助软件工具来实现的。
这些工具通常包括:负责产品设计的计算机辅助设计(CAD)系统;将设计信息转化为工艺步骤和指令以高效生产产品的计算机辅助工艺规划(CAPP)系统,包括负责生成最佳刀具路径的计算机辅助路径规划(CAPP)系统和用于对具有规则和复杂形状的二维零件进行最佳排版以有效提高钣金材料利用率的计算机辅助排版(CAN)系统;以及为不同钣金加工机床生成G代码和M代码的计算机辅助制造(CAM)系统。
加工路径规划和套料问题都是组合优化问题,已被证明具有很高的计算复杂性。二维板材路径规划问题与传统的TSP问题类似。它可以描述为给定一组在钣金路径规划优化中,目标是找到切割或冲压等加工操作的所有点的最短路径。在钣金路径规划优化中,每一对点之间的距离是对称的。
套料问题的定义是,在一个包含区域内找到一个有效的产品切割布局,且不发生重叠的问题。其主要目标是最大限度地利用材料。套料问题的特点是难以处理几何形状、难以满足无重叠和包含约束以及计算复杂。目前,工业界还缺乏对复杂和多工位零件进行排版的实用算法,这阻碍了有效自动排版的实现。虽然工艺规划工具已被用于一般的金属板材切割或冲压机床以及复合机床,但根据我们的检索结果,专门针对复合机床的工艺规划优化还很有限。
这项工作通过使用遗传算法(GA)来解决复合冲床-激光机的工艺规划问题。遗传算法是为优化切割或冲压工具路径以及具有规则和复杂形状的二维零件的排版而开发的。这使我们能够在未来的工作中有效整合这两种算法,为套料和路径规划找到全局最优解。
复合机加工的产品通常尺寸较小。它们的形状和尺寸也各不相同。通常,一种产品可能需要同时进行切割和冲孔操作。根据我们的经验,对于既需要切割又需要冲孔的产品,会先进行冲孔作业。这是因为如果先切割产品,就需要额外的夹具。这是工艺规划中需要考虑的限制因素之一。
在讨论拟议的用于路径规划的GA之前,首先需要做一个假设,即每个产品都由一个切割操作的起点来表示,如上图所示。对于冲孔操作,待冲孔特征的中心点被用作参考点。在计算机中排版产品轮廓时,轮廓由一个参考点表示,该轮廓的另一个顶点根据参考点进行计算。
在制造钣金产品时,加工工具首先到达该产品的参考点。然后进行不同的加工过程,如辅助切削路径设计。用于路径规划的拟议遗传算法的主要结构如上图所示。遗传整数编码方案为遗传算法创建初始种群,以便找到最优路径。一代循环记录每一代中发现的最佳结果,而子代循环则在每一代中复制,以产生下一代。该过程有两种不同的终止方式。
拟议GA的演化过程包含两个循环,即生成循环和子代循环。生成环包括子代环,其功能是记录每一代发现的最优路径,并在出现理想解时终止GA。另一方面,子代循环通过使用选择、交叉、突变和替换等运算符,以改进的方式演化每一代的求解路径。此外,精英方案将每一代中找到的最优解复制到下一代种群中,从而确保GA向最优方向演化。
每个产品都用一个整数表示。所有数字组合成一个基因串。基因串包含产品加工过程的顺序。即哪个产品先加工,哪个产品后加工,依此类推。
上图显示了表示一连串六种产品的示例。在生产这五种产品时,产品编号"4、1、6、3、5、2"的顺序是相同的。复制的主要目的是保留种群中的优秀字符串,并尝试在种群中产生更好的字符串。为了完成遗传复制过程中的第一项任务,我们在所提出的遗传算法中采用了精英机制。精英方案将最合适的字符串不做任何改动地传给下一代。
然而,第二项任务是通过使用不同的遗传算子来实现的。两种选择方案都是从上一代中产生交配池,但机制不同。另一方面,锦标赛法比轮盘法更客观;它先选择一个小群体,然后在小群体中挑选体能最高的。在轮盘赌法中,实值区间"Sum"被确定为个体的预期选择概率之和或当前种群中所有个体的原始适应度值之和。
然后将个体一对一地映射到[0,Sum]范围内的连续区间中。每个个体区间的大小与相关个体的适应度值相对应。例如,在上图中,轮盘的周长是所有六个个体适应度值的总和。个体5是最适合的个体,占据了最大的区间,而个体1和个体4是最不适合的个体,在轮盘中的区间也相应较小。
要选择一个个体,需要在区间[0,Sum]内生成一个随机数,然后选择随机数所跨区间的个体。另一方面,锦标赛法比轮盘赌法更客观;它先选择一个小群体,然后在小群体中挑选最合适的字符串。组。它的工作分为三个步骤:步骤1:设置一个随机数t作为比赛规模。步骤2:从人群中选择t个个体。步骤3:返回这些t中最合适的个体。
有两类交叉算子可供选择:统一顺序交叉算子(UOX)和部分匹配交叉算子(PMX)。每种交叉算子都要考虑交叉概率。基于统一顺序的交叉(UOX):根据交叉概率选择两条父路径进行交叉。UOX运算符会创建一个与父路径等长的掩码,其位置值为随机生成的"1"或"0"。
从掩码上的第一个位置开始,如果值为"1",则两个子代分别从两个父代那里继承相同位置的相同基因;如果值为"0",则第一个子代从第二个父代那里获得相应的基因,第二个子代从第一个父代那里获得相应的基因。例如,如表1所示,两条路径的中间部分通过UOX交叉,在产生新的1号和2号染色体的同时,第一、第三和第六个基因分别从亲本、1号和2号染色体继承,没有改变;而第二、第四和第五个基因则被调换。
根据掩码中的位置值,掩码的第一个值为1,因此新路径1的第10个基因值复制了路径1的第10个基因值,而新路径2的第10个基因获得了路径2的第10个基因值;掩码的第二个值为0,则新路径1的第11个基因值与路径2的第11个基因值相同。PMX不使用掩码,而是随机生成两个交叉点。首先,PMX在两个点之间进行位置交换。然后,它保留交叉部分,并将每个染色体中与交叉部分基因具有相同值的其余部分转移到交叉操作过程中丢失的基因中。
基因位置选定后进行交叉,如第11、13和14个基因。首先,PMX运算符会改变它们之间的值,然后是消除步骤,即检查一条染色体上的相同基因,并在交叉过程中用缺失基因替换它们。如表2所示,第12和第14个位置被选为交叉点。PMX算子分两步处理。第一步,交换1号和2号染色体第12和14个位置之间的整数。第二步,由于第10和第11个基因的整数分别与第13和第12个基因的整数相同,因此第10和第11个基因的位置将改为与交叉点整数值不同的值。
本案例研究的目的是将所提出的遗传路径规划算法应用于工业案例,并展示所提出的算法在钣金路径规划过程中的性能。对此提出了一种蚂蚁算法,用于解决组合钣金机床的路径规划问题。结果表明,蚂蚁算法比通常使用的直观方法取得了更好的性能。
在本研究中,蚂蚁算法被用来与所提出的遗传路径规划算法进行比较。它包括用于案例研究的一批工件。有四种不同类型的部件需要切割或打孔:104个直径为Φ50的小孔、31个Φ60的孔、31个Φ100的轮廓、22个矩形块轮廓和30个夹子轮廓。案例研究中使用了两种加工方法:冲孔和切割。根据定义的切割和冲孔规则,22个矩形块和30个夹子将被切割,而其余特征将被冲孔。由于孔的尺寸有三种:Φ50、Φ60和Φ100,因此使用了三种类型的冲孔工具。案例研究的目的是调查这两种算法中哪种算法的切割/打孔路径最短。将对优化结果和得出解决方案所需的时间进行比较。
上图展示了根据特定情况进行的遗传路径规划编码。每个孔的名称在图中用1到32之间的整数表示,作为部分标识整数。图中的染色体列出了优化前可能的加工顺序。染色体中的每个特征都表示为一个基因。基因由32个整数表示。
此外,整数在染色体串中的位置表示加工操作的顺序。例如,该染色体的一部分被定义为解释、16、7、22、31、10和25的中间路径。整数16位于第10个基因的位置,这意味着特征16是该路径染色体中要加工的第10个特征。同样,特征7是第11个要加工的特征,然后是特征22、31和10。因此,特征25是最后一个要加工的特征。
上图显示了GA算法找到的最优路径(实线),而蚂蚁算法则给出了另一条不同的路径,如虚线所示。遗传算法使用一个个体的精英,交配池中初始有81个个体,交叉概率为0.8,突变率为0.1。
上图显示了遗传算法生成的路径。与使用蚁群(AC)算法相比,该算法能够找到一条短169毫米的加工路径。计算时间也比AC算法短。在实验中,遗传算法以500个循环运行了10次。虽然两种算法都是进化算法,但在路径规划的时间方面,GA算法优于AC算法。这一点非常重要,尤其是当优化问题变得更加复杂时。
理想的遗传参数选择可以保证更好地探索解空间,更快地趋近最优解。需要在交叉和突变之间取得良好的平衡。交叉可以探索更广阔的解邻域,而突变则可以使群体多样化。同样,要保证在短时间内获得高质量的解决方案,就必须在种群规模和代数之间进行良好的权衡。
在本案例研究中,总共有32个零件需要打孔。冲压工具移动路径的优化涉及大量组合。结果表明,交叉概率为0.9的PMX、突变概率为0.1的翻转突变和初始种群数量为61的组合在第20000代左右产生了最佳路径。
案例研究表明,所提出的遗传算法能够为钣金加工问题提供良好的解决方案。结果表明,与我们研究小组最初开发的交流算法相比,遗传算法能够产生相当的结果。所提出的遗传算法的实验结果表明,该算法能够找到有效的加工路径。
这是通过设计有效的遗传算子实现的,这些算子可以提高算法性能,使其达到最佳状态。此外,还提出了一种遗传套料算法来解决矩形套料问题。然而,这一领域还需要进一步的工作,以适应不规则形状零件的嵌套,这在钣金制造过程中更为常见。随着零件形状的复杂化,问题也会变得更加复杂。
今后将开展研究,探索如何针对这一嵌套问题开发GA。AC算法也将成为不规则零件排版的一种替代方法。此外,众所周知,钣金路径规划流程是在计算机辅助排版流程之后进行的,该流程在最大限度减少钣金材料浪费的基础上生成紧凑的布局。然而,这并没有考虑到制造过程的效率。从操作效率的角度来看,最好把操作类型相同的产品放在一起。未来对路径规划和套料整合的全局优化研究是一个有价值的研究课题。
标签: #遗传算法tspjava #蚁群算法tsp计算过程详解 #优化切割算法 #优化切割理论 #优化切割算法实验报告