基于GASA算法加工时间优化问题研究.docVIP

  • 17
  • 0
  • 约2.78千字
  • 约 7页
  • 2018-08-28 发布于福建
  • 举报
基于GASA算法加工时间优化问题研究

基于GASA算法加工时间优化问题研究   摘 要 针对数控转塔冲床加工时间优化问题的研究引入TSP问题,通过对TSP问题常用智能算法分析,在路径优化基础上提出一种遗传模拟退火混合算法,通过仿真结果看出,GASA的路径优化算法与单一算法相比,具有很强的收敛性,大大缩短加工路径和减少加工时间。   关键词 TSP;算法;GASA   中图分类号:TG3 文献标识码:A 文章编号:1671-7597(2013)21-0048-01   刀具路径的优化模型可以等效为数学中的旅行商问题(TSP,Traveling Salesman Problem),TSP问题是具有广泛性的难题。随着问题的复杂程度和规模的不断升级,单一算法在求解速度和收敛性等方面已经很受制约。因此,将多种算法结合使用而形成的混合优化策略逐渐替代单一算法而成为新的研究热点。   1 GASA算法的基本思想   GASA算法是计算数学中用于解决最佳化的搜索算法,是进化算法的一种。进化算法最初是借鉴了进化生物学中的一些现象而发展起来的,这些现象包括遗传、突变、自然选择以及杂交等。遗传算法通常实现方式为一种计算机模拟,对于一个最优化问题,一定数量的候选解(称为个体)的抽象表示(称为染色体)的种群向更好的解进化。进化从完全随机个体的种群开始,之后一代一代发生。在每一代中,整个种群的适应度被评价,从当前种群中随机地选择多个个体(基于它们的适应度),通过自然选择和突变产生新的生命种群,该种群在算法的下一次迭代中成为当前种群,反复迭代直到满足某个终止条件结束。   2 GASA的求解过程   第一步:给定种群规模pop(i),初始温度T0,退温系数β,交叉概率Pα,变异概率Pδ,终止规则q,迭代计数器n=0;   第二步:随机产生pop(i)个染色体为初始种群pop(0),计算其目标函数值并确定初始温度,令初始最优解S=fmin(p=0);   第三步:计算适应度函数值,保留最优解;   第四步:重新计算目标函数值,执行遗传算法的交叉操作,分别保留最优解策略;   第五步:执行基于Metropolis的复制策略,产生下一代群体pop(n+1);   第六步:退温操作,T(n+1)= βT(n),(n=n+l);   第七步:令S;=fmin,计算出新目标函数值;   第八步:如果SS,令S= S,p=0,否则p=p+1;   第九步:如果p=q,停止计算以S作为最终解输出,否则返回第三步。   3 基于GASA算法的加工路径优化   刀具路径优化的实质是对零件特征加工顺序的排列,目的是找出一种合理的排列,缩短加工时间。应用于加工路径优化的GASA算法的具体描述如下:   第一步:产生初始种群。随机产生N个长度为Z的染色体作为初始种群。   第二步:确定初温及退温操作。初温选择T0=kδ的形式,试验值k=10,20,100,……等充分大的数;δ= fmax-fmin fmax、fmin分别为初始种群中最大和最小的目标函数值。退温函数为T(n+1)=βT(n)形式0β1。   第三步:适应度函数。它的构造是GA的关键,其取为路径长度的倒数。   第四步:选择算子。采用比例选择算子。   第五步:交叉、变异算子。交叉算子因其全局搜索能力而作为主要算子,变异算子因其局部搜索能力而作为辅助算子。遗传算法通过交叉和变异这对相互配合又相互竞争的操作而使其具备兼顾全局和局部的均衡搜索能力。所谓相互配合是指当群体在进化中陷于搜索空间中某个超平面而仅靠交叉不能摆脱时,通过变异操作可有助于这种摆脱。所谓相互竞争,是指当通过交叉已形成所期望的积木块时,变异操作有可能破坏这些积木块。如何有效地配合使用交叉和变异操作,是目前遗传算法的一个重要研究内容。经过遗传交叉构造的个体不能保证已收敛于局部最优解,因此引入贪心变异操作,目的有两个:一是使遗传算法具有局部的随机搜索能力。当遗传算法通过交叉算子已接近最优解邻域时,利用变异算子的这种局部随机搜索能力可以加速向最优解收敛。显然,此种情况下的变异概率应取较小值,否则接近最优解的积木块会因变异而遭到破坏;二是使遗传算法可维持群体多样性,以防止出现未成熟收敛现象,此时收敛概率应取较大值,所以贪心变异算子反映了一个局部调整和改进。   第六步:复制新个体策略。以经过遗传算法操作的群体作为初始群体,运用基于Metropolis的复制策略,产生新的群体。   第七步:终止规则。通过监控各个群体中最小目标函数值dmin的变化情况来判断算法是否终止。当连续q代没有发生变化时,终止算法。   4 GASA算法在MATLAB的实现   假设待加工孔数目为50个,随机产生初始状态,然后按照上述的GASA算法在MATLAB进行计算仿真。

文档评论(0)

1亿VIP精品文档

相关文档