单亲遗传模拟退火及在组合优化问题中的应用

作者:曹恒智;余先川 刊名:北京邮电大学学报 上传者:刘钱倩

【摘要】基于模拟退火算法(SA)、遗传算法(GA)、单亲遗传算法(PGA)、遗传模拟退火算法(SAGA)理论的优缺点,比照SAGA,并根据SA和PGA的优势互补性,提出了一种融合SA和PGA的新算法,即单亲遗传模拟退火算法(SAPGA).结合SA、PGA的优点,对PGA中每一代操作内部的基因重组操作进行了改进,同时改变了传统的降温方式及在两代操作之间加入的染色体按适应度函数大小排列的过程.用3组城市数据的旅行商问题(TSP)对上述5种算法进行了仿真实验,结果表明,SAPGA的平均最优解始终最小,收敛所用时间始终最短.

全文阅读

组合优化问题是常见的工程应用问题,旅行商问题(TSP)是典型的组合优化难题,已被证明属于NPC问题.此问题难以找到复杂性为多项式的精确算法.以TSP作为优化算法的性能检验算例,是较为适合的选择.GA是模拟生物进化过程后形成的自适应全局优化搜索方法[1].PGA是在单个染色体内以基因重组的方式繁衍后代的一种算法,算法保留适应度值高的染色体种群,最终收敛到最优个体[2].SA是根据迭代改进思想提出的一种具有很强局部搜索能力的全局优化算法[3].GA和SA有很多优缺点,同时又具有很强的互补性.互补性直接体现在:GA的总体把握能力强,局部搜索能力差,而SA局部搜索能力较强[4].将GA和SA相结合的SAGA可以取长补短,发挥它们的优势互补.同样,PGA和SA2种优化算法有很强的互补性.虽然PGA有效抑制了GA的“早熟收敛”问题,但是SA强势的局部搜索能力对PGA是有效的补充.本文将SA和PGA结合起来,形成SAPGA,介绍了SAPGA的基本思想和实现过程,根据算例综合分析评价了上述5种算法在求解TSP问题上的性能差距.1TSP问题的数学描述给定1组N个城市和它们两两之间的直达距离,找出1个闭合旅程,使得每个城市刚好经过1次且总的旅行距离最短.记G=(V,E)为赋权图,V={1,2,…,n}为顶点集,E为边集,各顶点间消耗dij.TSP要求G的哈密尔顿回路上的消耗达到最小值,并设xij=1边(i,j)在哈密尔顿回路上0其他则TSP的数学模型可写成如下的整数规划形式minZ=i=jdijxij(1)s.t.jixij=1,iVijxij=1,jVi,jSxij|S|-1,对所有V的真子集Sxij{0,1},i,jV前2个条件意味着对每个顶点而言,仅1边进1边出.后2个条件则保证了没有任何子回路解的产生.满足上述约束的解构成1条哈密尔顿回路.2GA、PGA、SA及SAGA介绍21遗传算法GAGA由计算机随机产生染色体群,从该随机初始种群开始,根据种群的适应度函数和依照适者生存的原则选择适应度高的个体进行杂交、变异等基因操作,经过迭代进化后,最终收敛到适应度最高的个体上,此个体解码后得到问题的最优解.GA的基本操作包括初始化、选择、交叉、变异等.1)初始化.选择1个群体作为问题假设解集合.2)选择.选择群体中较适应环境的个体.常用的有:轮盘赌、随机抽样、锦标赛选择法[5].3)交叉.将在两染色体的某个或某几个相同位置切断,交叉组合各子串,形成2个新的染色体.常用的交叉方法有单点交叉、多点交叉、均匀交叉、路径表示交叉、循环交叉等[5].4)变异.基因发生某种改变,产生新染色体.22单亲遗传算法PGAPGA取消了传统GA中的交叉变异等算子,以操作于1条染色体上的基因重组算子取代之,简化了遗传操作,提高了计算效率.PGA不要求初始群体的多样性,对“早熟收敛”问题也有较好的解决[6].PGA中基本操作为基因重组,基因重组可以按基因换位、基因段错位、基因段倒转3种操作实现.1)基因换位操作.基因进行对换操作形成的子代操作,分为单基因换位、基因段换位2种[6].2)基因段错位操作.随机确定基因段、随机选定错位位置进行整段错位移动的操作.3)基因段倒序操作.随机确定倒转基因段起止位置,对段内基因按中垂线作镜面反射的操作.23模拟退火算法SA热学中系统缓慢冷却的过程称为“退火”,此过程中能量服从Boltzmann概率分布,处于能量为E状态的概率为:P(E)=exp(-E/(AT)).其中,T为热力学温度;A为Boltzmann常数[3].温度降低,系统处于高能状态的概率减小,进

参考文献

引证文献

问答

我要提问