遗传算法和模拟退火法在解决tsp问题上的对比分析

合集下载

遗传算法和模拟退火法在解决tsp问题上的对比分析

遗传算法和模拟退火法在解决tsp问题上的对比分析

遗传算法和模拟退火法在解决TSP 问题上的对比研究邓朝丞摘要:TSP 问题是组合优化领域的经典问题之一,旨在求出遍历若干个城市的最短路径。

针对在用各种算法解决TSP 问题的不同点,本文分析比较了运用遗传算法,模拟退火法处理TSP 问题的优缺点,得出解决TSP 问题的最适宜算法。

关键词:TSP 问题,遗传算法,模拟退火法1 引言:TSP 问题也称为巡回旅行商问题,是一个相当古老的优化问题,最早可以追溯到1759年Euler 提出的骑士旅行问题【1】。

TSP 问题是一个典型的容易描述但是难以处理的NP 完全问题,是运筹学有代表性的组合优化问题,可简单描述为 有n 个城市.一位销售商从某个城市出发,不重复地走完其余n-1个城市并回到原出发点,在所有可能的路径中求出路径长度最短的一条。

其实际模型在印刷电路板的钻孔路线方案、连锁店的货物配送、网络布线等优化问题中有着广泛的应用【2】。

同时TSP 问题也是诸多领域内出现的多种复杂问题的集中概括和简化形式.所以,有效地解决TSP 问题在计算理论和实际应用上都有很高的价值。

目前求解TSP 问题的主要方法有遗传算法,模拟退火算法,本文将该两种算法在解决TSP 问题时所存在的不同,通过实验对比,分析这两种算法在求解组合优化上的优劣性 ,同时提出改进的建议。

2.遗传算法简介遗传算法(GA)是一种基于自然群体遗传演化机制的算法,它模拟自然界生物进化过程,采用人工进化的方式对目标空间进行随机化搜索。

它将问题域中的可能解看作是群体的个体,并将个体编码成符号串形式(即染色体),模拟生物进化过程,对群体反复进行交叉、变异、选择等操作,根据预定的适应度函数对每个个体进行评价,依据优胜劣汰的进化规则,不断得到更优的群体,同时搜索优化群体中的最优个体,求得满足要求的最优解。

GA 采用一定的编码技术构造染色体(个体),而基因是组成染色体的单元,可以表示为一个二进制位,一个整数或一个字符等。

模拟退火算法与遗传算法性能比较

模拟退火算法与遗传算法性能比较

模拟退火算法与遗传算法性能比较摘要:模拟退火算法与遗传算法是两种非常重要的多目标优化算法。

其原理简单,对优化目标函数解析性没有要求,因此在工程问题中被广泛应用。

本文介绍了这两种优化算法的原理,并分析了两种算法的性能并讨论了应用过程中的关键问题,对两种算法的合理选取及改进具有参考价值。

关键字:模拟退火,遗传算法,优化1.前言对于多目标优化问题,传统的做法是全局搜索,即“穷举法”。

这种通过搜索整个解空间的方法虽然能获得全局最优解,但运算量非常大,当优化空间的维度非常高时,该方法在计算上不可行。

通过利用目标函数的解析性质以及借助实际问题的约束条件能部分降低搜索空间,但任不能解决高维问题优化。

面对复杂问题,求得最优解是很困难的,在有限时间内求得满意解是可能的。

获取高维优化问题满意解的常用方法是迭代运算,但通常迭代运算容易陷入局部最优陷阱,造成“死循环”。

模拟退火算法及遗传算法是两种原理简单的启发式智能搜索算法,均具有逃离局部陷阱的能力,是工程应用中快速获取满意解的常用算法,对其性能比较对于正确使用这两种智能优化算法具有重要意义。

2.算法介绍2.1.模拟退火算法模拟退火算法是一种随机搜索算法,Kirkpatrick[1]于1983年首次将该算法应用于多目标优化。

该算法模拟冶金上的退火过程而得名,其基本思想是:对当前合理解增加扰动产生新解,评价新解对目标函数的改进情况,若小于零,则接受新解为新的当前解,否则以概率接受新解为新的当前解。

新的当前解将将继续优化,直到没有显著改进为止。

模拟退火算法使用过程中以下细节影响其全局搜索性能。

初始温度T选择越高,则搜索到全局最优解的可能性也越大,但计算复杂度也显著增大。

反之,能节省时间,但易于陷入局部最优。

依据解的质量变化概率选择温度下降策略能增强算法性能。

每次温度降低迭代次数及算法的终止可由给定迭代次数内获得更优解的概率而确定。

2.1.遗传算法遗传算法最早由Holland等[2]提出,该算法模拟遗传变异与自然选择机制,是一种通过交换机制,重组基因串的概率搜索算法,其基本思想是:分析解空间大小及精度要求,确定合理解唯一编码形式。

遗传算法与模拟退火算法的比较研究

遗传算法与模拟退火算法的比较研究

遗传算法与模拟退火算法的比较研究引言:遗传算法和模拟退火算法是两种常见的优化算法,它们在不同的问题领域有着广泛的应用。

本文将对这两种算法进行比较研究,探讨它们的优缺点及适用场景。

一、遗传算法1.1 定义与基本原理遗传算法是一种受自然界进化过程启发的优化算法,通过模拟生物遗传和进化的过程来搜索最优解。

其基本原理包括选择、交叉和变异三个操作。

1.2 优点1) 可以适应多维、多目标、多约束的优化问题;2) 具有全局搜索能力,不易陷入局部最优解;3) 可以通过设置适应度函数对问题进行建模和求解。

二、模拟退火算法2.1 定义与基本原理模拟退火算法是一种随机化搜索算法,模拟了金属退火过程中的原子热运动。

通过在状态空间中随机游走,以一定的概率接受劣解,逐渐降低温度,最终收敛到最优解。

2.2 优点1) 具有较强的全局搜索能力,可以跳出局部最优解;2) 对问题的解空间没有特殊要求,适用范围广;3) 可以通过控制温度参数来平衡全局搜索和局部搜索。

三、比较研究3.1 算法复杂度遗传算法的时间复杂度主要取决于种群规模、迭代次数和个体适应度计算的复杂度。

模拟退火算法的时间复杂度则与迭代次数和单次迭代的计算复杂度有关。

一般情况下,遗传算法的计算复杂度相对较高,而模拟退火算法则相对较低。

3.2 收敛性能遗传算法通过进化的过程逐渐趋于最优解,但其收敛速度相对较慢。

模拟退火算法在初始温度高时有较大的搜索幅度,随着温度的降低,搜索过程逐渐收敛到最优解。

因此,模拟退火算法的收敛速度一般较快。

3.3 精确性遗传算法可以在一定程度上保证找到近似最优解,但在某些复杂问题中可能无法找到全局最优解。

模拟退火算法具有较好的全局搜索能力,但对于精确求解有一定的局限性。

3.4 参数设置遗传算法的效果极大程度上依赖于参数的设置,如交叉概率、变异概率等。

模拟退火算法的参数设置相对简单,主要包括初始温度和退火参数等。

四、适用场景4.1 遗传算法的适用场景1) 多目标优化问题,如组合优化、旅行商问题等;2) 需要全局搜索的问题,如参数优化、函数逼近等;3) 对问题求解的过程进行建模的问题。

遗传算法与模拟退火算法的优劣对比研究

遗传算法与模拟退火算法的优劣对比研究

遗传算法与模拟退火算法的优劣对比研究引言:在现代科学技术的发展中,算法在问题求解和优化过程中扮演着重要的角色。

遗传算法和模拟退火算法作为两种常见的优化算法,具有广泛的应用领域。

本文将对遗传算法和模拟退火算法的优劣进行对比研究,并探讨其在不同问题领域中的适用性。

一、遗传算法的优势1. 广泛适用性遗传算法适用于多种问题的求解,例如优化问题、组合问题、约束问题等。

其基于生物进化的思想,通过模拟自然选择、交叉和变异等过程,能够对复杂问题进行全局搜索和优化。

2. 并行性强遗传算法的并行性使得其在大规模问题求解中具有优势。

通过同时处理多个个体的基因信息,可以加快算法的收敛速度,并提高求解效率。

3. 具有自适应性遗传算法通过不断的进化和自适应调整,能够根据问题的特性和需求进行优化。

通过选择合适的遗传操作和参数设置,可以提高算法的性能和收敛速度。

二、模拟退火算法的优势1. 局部搜索能力强模拟退火算法通过接受概率较低的劣解,能够跳出局部最优解,从而实现全局搜索。

这使得模拟退火算法在求解复杂问题时具有优势,能够找到更优的解。

2. 算法参数易于调整模拟退火算法的参数设置相对简单,调整起来相对容易。

通过调整初始温度、退火速度等参数,可以灵活地控制算法的搜索范围和收敛速度。

3. 适用于连续优化问题模拟退火算法在连续优化问题中表现出色。

通过随机扰动和接受概率的调整,能够在连续空间中进行搜索,找到最优解。

三、遗传算法与模拟退火算法的对比1. 算法思想差异遗传算法基于生物进化的思想,通过模拟自然选择和遗传操作,寻找最优解。

而模拟退火算法则通过模拟固体退火过程,跳出局部最优解,实现全局搜索。

2. 搜索策略不同遗传算法通过种群的进化和遗传操作,同时搜索多个个体的解空间。

而模拟退火算法则通过接受劣解的策略,有选择地搜索解空间。

3. 参数设置不同遗传算法的参数设置相对较复杂,需要调整交叉概率、变异概率等参数。

而模拟退火算法的参数设置相对简单,主要包括初始温度、退火速度等。

遗传算法与模拟退火算法的比较研究

遗传算法与模拟退火算法的比较研究

遗传算法与模拟退火算法的比较研究在计算机科学领域,遗传算法和模拟退火算法是两种常用的优化算法。

它们都可以用来解决复杂的问题,并在不同的领域中得到广泛应用。

然而,这两种算法在原理和应用方面存在一些不同之处。

本文将对遗传算法和模拟退火算法进行比较研究,探讨它们的优缺点以及适用范围。

首先,我们来看看遗传算法。

遗传算法是受到生物进化理论启发而发展起来的一种优化算法。

它模拟了自然界中的进化过程,通过选择、交叉和变异等操作来搜索最优解。

遗传算法具有全局搜索能力,能够在大规模的搜索空间中找到最优解。

它适用于复杂问题,特别是那些没有明确的数学模型或者难以求解的问题。

遗传算法的应用范围广泛,包括机器学习、图像处理、物流优化等领域。

然而,遗传算法也存在一些缺点。

首先,遗传算法的收敛速度较慢。

由于遗传算法是通过不断的迭代来搜索最优解,因此需要较长的时间才能达到最优解。

其次,遗传算法对问题的编码方式比较敏感。

不同的编码方式可能导致不同的搜索结果,因此需要仔细选择合适的编码方式。

此外,遗传算法对问题的参数设置较为敏感,需要经过一定的调试和优化才能发挥最佳效果。

接下来,我们来看看模拟退火算法。

模拟退火算法是受到物质的退火过程启发而发展起来的一种优化算法。

它通过模拟固体物质退火时的温度变化过程来搜索最优解。

模拟退火算法具有局部搜索和全局搜索的能力,能够在搜索空间中跳出局部最优解,找到全局最优解。

它适用于复杂问题,特别是那些具有多个局部最优解的问题。

模拟退火算法的应用范围广泛,包括旅行商问题、电路布线、物理模拟等领域。

然而,模拟退火算法也存在一些缺点。

首先,模拟退火算法对问题的初始解比较敏感。

不同的初始解可能导致不同的搜索结果,因此需要仔细选择合适的初始解。

其次,模拟退火算法的搜索过程可能陷入局部最优解。

虽然模拟退火算法具有跳出局部最优解的能力,但是在搜索过程中仍然存在一定的概率陷入局部最优解。

此外,模拟退火算法对问题的参数设置较为敏感,需要经过一定的调试和优化才能发挥最佳效果。

物流网络优化中的遗传算法与模拟退火算法性能比较分析

物流网络优化中的遗传算法与模拟退火算法性能比较分析

物流网络优化中的遗传算法与模拟退火算法性能比较分析物流网络优化是当今物流行业中关键的问题之一。

如何通过优化物流网络,提高货物的运输效率和降低成本,一直是物流行业从业者努力解决的难题。

而在物流网络优化中,遗传算法和模拟退火算法被广泛应用于解决复杂的物流网络优化问题。

本文将对这两种算法的性能进行比较分析,以评估它们在物流网络优化中的适用性和优劣。

首先,我们来了解一下遗传算法和模拟退火算法的基本原理。

遗传算法是受到自然进化原理启发的一种优化算法。

它通过模拟生物进化的过程,使用遗传操作(如选择、交叉和变异)来搜索最优解。

而模拟退火算法则是模拟金属热退火过程推导而来的全局优化算法,通过模拟随机的粒子运动来寻找全局最优解。

在物流网络优化中,遗传算法通常用于解决TSP(旅行商问题)和VRP(车辆路径问题)等NP-hard问题。

遗传算法通过建立一个基因编码方案,并运用适应度函数来评估解的质量。

接着,通过选择、交叉和变异操作,生成新的解,并用新解替换旧的解。

这个过程将不断迭代,直到满足停止条件。

相对而言,模拟退火算法适用于连续优化问题,比如最小化总运输时间、最小化总运输成本等。

模拟退火算法通过引入一个控制参数,控制粒子跳出局部最优解的概率,以便更好地搜索全局最优解。

在搜索过程中,模拟退火算法接受任何比当前解更好的解,并且还以一定的概率接受比当前解更差的解,以避免陷入局部最优解。

接下来,我们将对遗传算法和模拟退火算法在物流网络优化中的性能进行比较分析。

首先是算法的搜索能力。

遗传算法通过基因编码和遗传操作,能够搜索到较好的解,尤其是在解空间较大且多峰值的问题中。

而模拟退火算法作为一种全局搜索算法,能够在搜索过程中接受一定概率的劣解,从而有机会跳出局部最优解,但相对于遗传算法,其搜索能力稍弱一些。

其次是算法的收敛速度。

遗传算法需要进行多次迭代和大量的选择、交叉和变异操作,因此收敛速度相对较慢。

而模拟退火算法通过不断调整控制参数,根据一定的概率接受劣解,能够更快地朝着全局最优解方向收敛。

遗传算法与模拟退火算法比较

遗传算法与模拟退火算法比较

一、遗传算法与模拟退火算法比较分析模拟退火算法的基本原理可以看出,模拟退火算法是通过温度的不断下降渐进产生出最优解的过程,是一个列马尔科夫链序列,在一定温度下不断重复Metropolis过程,目标函数值满足Boltzmann概率分布。

在温度下降足够慢的条件下,Boltzmann分布收敛于全局最小状态的均匀分布,从而保证模拟退火算法以概率为1收敛到全局最优。

另外,不难看出,模拟退火算法还存在计算结构简单、通用性好以及鲁棒性强等优点。

但是,模拟退火算法存在如下缺陷:1. 尽管温度参数下降缓慢时理论上可以保证算法以概率为1地收敛到最优值,但是需要的时间过长加之误差积累与时间长度的限制,难以保证计算结果为最优;2.如果降温过程加快,很可能得不到全局最优解,因此,温度的控制是一个需要解决的问题;3.在每一种温度下什么时候系统达到平衡状态,即需要多少次Metropolis过程不易把握,从而影响模拟退火算法的最终结果。

与模拟退火算法相比较,遗传算法具有如下典型特征:这两种算法的相同点是都采用进化控制优化的过程。

主要不同点是模拟退火是采用单个个体进行进化,遗传算法是采用种群进行进化。

模拟退火一般新解优于当前解才接受新解,并且还需要通过温度参数进行选择,并通过变异操作产生新个体。

而遗传算法新解是通过选择操作进行选择个体,并通过交叉和变异产生新个体。

具体说来,遗传算法具有如下特点:(1)与自然界相似,遗传算法对求解问题的本身一无所知,对搜索空间没有任何要求(如函数可导、光滑性、连通性等),只以决策编码变量作为运算对象并对算法所产生的染色体进行评价,可用于求解无数值概念或很难有数值概念的优化问题,应用范围广泛;(2)搜索过程不直接作用到变量上,直接对参数集进行编码操作,操作对象可以是集合、序列、矩阵、树、图、链和表等;(3)搜索过程是一组解迭代到另一组解,采用同时处理群体中多个个体的方法,因此,算法具有并行特性;(4)遗传算法利用概率转移规则,可以在一个具有不确定性的空间寻优,与一般的随机性优化方法相比,它不是从一点出发按照一条固定路线寻优,而是在整个可行解空间同时搜索,可以有效避免陷入局部极值点,具有全局最优特性;(5)遗传算法有很强的容错能力.由于遗传算法初始解是一个种群,通过选择、交叉、变异等操作能够迅速排除与最优解相差较大的劣解.与模拟退火算法相比,遗传算法存在局部搜索能力差、容易陷入过早收敛等缺陷,因此,人们将模拟退火算法与遗传算法相结合得到的混合算法可以避免两种算法的缺陷,有利于丰富优化过程的搜索行为,增强全局和局部意义下的搜索能力和效率。

遗传算法和模拟退火算法求解TSP的性能分析

遗传算法和模拟退火算法求解TSP的性能分析

收稿日期:2009-03-02;修回日期:2009-06-06基金项目:教育部博士点基金(200403057002)作者简介:汪松泉(1984-),安徽怀宁人,硕士研究生,研究方向为机器学习、智能计算;程家兴,教授,博士生导师,研究方向为智能计算、算法分析及最优化方法。

遗传算法和模拟退火算法求解TSP 的性能分析汪松泉1,程家兴2(1.安徽大学计算机科学与技术学院,安徽合肥230039;2.安徽大学计算智能与信号处理教育部重点实验室,安徽合肥230039)摘 要:旅行商问题(Traveling Salesman Problem ,TSP )是一个典型的组合优化问题,并且是一个NP 难题,其可能的路径总数与城市数目是呈指数型增长的,所以一般很难精确地求出其最优解,因而寻找出有效的近似求解算法就具有重要的意义。

目前求解TSP 问题的主要方法有模拟退火算法(Simulated Annealing ,SA )、遗传算法(G enetic Algorithm ,G A )和神经网络算法等。

G A 是模拟生物在自然环境中的遗传和进化过程而形成的一种自适应的全局优化概率搜索算法。

SA 算法用于优化问题的出发点是基于物理中固体物质的退火过程与一般优化问题的相似性。

文中将提出遗传算法和模拟退火算法求解TSP 问题,通过试验比较两者求解TSP 问题的性能,结果表明G A 的性能要优于SA 的性能。

关键词:遗传算法;模拟退火算法;TSP中图分类号:TP301.6 文献标识码:A 文章编号:1673-629X (2009)11-0097-04Performance Analysis on Solving Problem of TSP by G eneticAlgorithm and Simulated AnnealingWAN G Song 2quan 1,CHEN G Jia 2xing 2(1.School of Computer Science and Technology in Anhui University ,Hefei 230039,China ;2.Ministry of Edu.K ey Lab.of Intelligent Computing &Signal Processing ,Anhui Univ.,Hefei 230039,China )Abstract :TSP is a typical combination optimization problem ,which is also an NP hard -problem.Its size is increased by exponential n.So ,it is hard to find a precision result ,and it is very important to search for the near result.Currently ,the main method of solving TSP has GA ,SA and the neural network algorithm.GA is a simulation of the natural environment in the biogenetic and evolutionary process of the formation of an adaptive search algorithm for global optimization probability.SA solves optimization problem ,which the starting point is based on the physics of the annealing process of solids with the general similarity of optimization problems.Proposed two effective meth 2ods :genetic algorithm and simulated annealing ,through the experiment ,compare the two performance analysis ,the resuls show that the GA ’s performance is superior to the performance of SA.K ey w ords :genetic algorithm ;simulated annealing ;traveling salesman problem0 引 言TSP (Traveling Salesman Problem )问题是一个典型的易于描述却难以大规模求解的NP -完全问题,对于这类问题很难用全局搜索法精确地求出其最优解,因此应用的有效算法寻找其最优或近似最优解具有重要的理论意义。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

遗传算法和模拟退火法在解决TSP 问题上的
对比研究
邓朝丞
摘要:TSP 问题是组合优化领域的经典问题之一,旨在求出遍历若干个城市的最短路径。

针对在用各种算法解决TSP 问题的不同点,本文分析比较了运用遗传算法,模拟退火法处理TSP 问题的优缺点,得出解决TSP 问题的最适宜算法。

关键词:TSP 问题,遗传算法,模拟退火法
1 引言:
TSP 问题也称为巡回旅行商问题,是一个相当古老的优化问题,最早可以追溯到1759年Euler 提出的骑士旅行问题【1】。

TSP 问题是一个典型的容易描述但是难以处理的NP 完全问题,是运筹学有代表性的组合优化问题,可简单描述为 有n 个城市.一位销售商从某个城市出发,不重复地走完其余n-1个城市并回到原出发点,在所有可能的路径中求出路径长度最短的一条。

其实际模型在印刷电路板的钻孔路线方案、连锁店的货物配送、网络布线等优化问题中有着广泛的应用【2】。

同时TSP 问题也是诸多领域内出现的多种复杂问题的集中概括和简化形式.所以,有效地解决TSP 问题在计算理论和实际应用上都有很高的价值。

目前求解TSP 问题的主要方法有遗传算法,模拟退火算法,本文将该两种算法在解决TSP 问题时所存在的不同,通过实验对比,分析这两种算法在求解组合优化上的优劣性 ,同时提出改进的建议。

2.遗传算法简介
遗传算法(GA)是一种基于自然群体遗传演化机制的算法,它模拟自然界生物进化过程,采用人工进化的方式对目标空间进行随机化搜索。

它将问题域中的可能解看作是群体的个体,并将个体编码成符号串形式(即染色体),模拟生物进化过程,对群体反复进行交叉、变异、选择等操作,根据预定的适应度函数对每个个体进行评价,依据优胜劣汰的进化规则,不断得到更优的群体,同时搜索优化群体中的最优个体,求得满足要求的最优解。

GA 采用一定的编码技术构造染色体(个体),而基因是组成染色体的单元,可以表示为一个二进制位,一个整数或一个字符等。

染色体表示待求解问题的一个可能解,由若干个基因组成,是GA 操作的基本对象。

而一定数量的个体组成了种群,表示GA 的搜索空间。

在GA 的执行过程中,每一代有许多不同的种群个体同时存在。

根据这些个体对环境的适应能力来决定下一代的个体,适应性强的有更多的机会被选择保留下来。

适应性强弱是通过适应度函数)(x f 的值来判别的,适应度函数)(x f 的构成与目标函数有密切关系,往往是目标函数的变种【3】。

3 用遗传算法求解TSP
用遗传算法解Tsp 问题,采用十进制编码,基因定义为一个城市,染色体定义为到各城市顺序的一种组合,适应度为一条旅行路径对应的距离,路径越短的染色体适应度越高。

例如,取N=10,城市代号为1,2,3,4,5,6,7,8,9,10,则种群中的染色体:2 8 4 10
5 1 7 3
6 9:表示一条旅行路径:2---8---4---1---5---1---7---3---6---9---2:其总路径长97693673175110541084281D D D D D D D D D D D +++++++++=∑,并把最小化优化目标函数变换为以最大值为目标的适应度函数,适应度函数定义如下:)(x f =∑1
1D 。

3.1选择算子:模仿自然选择作用,选择适应性强的个体组成新的种群,保留它们的部分基因到下一代,这里采用最简单的轮盘赌选择法【5】。

一开始用随机方法产生初始群体。

随着遗传算法的执行,则保留N 个较优的个体作为群体。

在每一代运算过程中,个体被选中的概率与其在群体中的相对适应度成正比。

3.2交叉算子:把两个父本的部分结构加以替换重组而生成新的个体,它是遗传算法取得新优良个体的最重要手段。

这里采用改进的顺序交叉方式(IOX ,improved order crossover)
【6】.即先用随机均匀分布方法在欲交换两父染色体串中各产生两个交换点,把这两点之间的区域定义为交配区域.将两个交配区域交换后分别放到两个父本的前面.为了保证基因的唯一性.再将父本中原有的重复个体删除。

举例如下:
A=1 2 (3 4 5 6) 7 8 9
B=9 8 (7 6 5 4 )3 2 1
将B 的交配区域加到A 的前面,A 的交配区域加到B 的前面,得到:
A’=7 6 5 4 1 2 3 4 5 6 7 8 9
B’=3 4 5 6I 9 8 7 6 54 3 2 1
然后在A ’中自交配区域依次删除与交配区相同的城市码,达到最终的子串如下 A”=7 6 541 2 3 8 9
B”=3 4 5 6 9 8 7 2 1
这样,在两个父代串相同的情况下仍能产生一定程度的变异效果,维持群体内一定的多样化特性,在一定程序上有效抵制了早熟现象【7】。

4.3变异算子:变异保持了种群的多样性,与选择、交叉算子结合在一起,保证了遗传算法的有效性,防止出现非成熟收敛。

这里采用交换变异,也称为对换变异,即随机选择串中的两点,交换码值。

如在下面的串中交换4和7,得到A ’:
A=1 2 3 4 5 6 7 8 9
A’=1 2 3 7 5 6 4 8 9
1 . 1 模拟退火算法简介
模拟退火算法(Simulated Annealing ,简称SA) 是基于Monte Carlo 迭代求解策略的一种随机寻优算 法【8】, 其出发点是基于物理退火过程与组合优化之问的相识性, SA 由某一较高温度开始, 利用具有概率突跳 特性的 Metropolis 抽样策略在解空间中进行随机搜索, 伴随温度的不断下降重复抽样过程,最终得到问题的全局最优解。

模拟退火算法能够有效地解决连续变量和离散变量的全局寻优问题, 相对于传统的优化方法, 模拟退火算法具有许多优点, 如高效性、 简化性、 健壮性、 稳定性、 通用性和灵活性等等。

但模拟退火算法也有不足, 如为了求得一个高质量的近似最优 解花费的时间较长,尤其是当问题规模不可避免地增 大时, 难以承受的执行时间将使算法丧失可行性。

2 用拟退火算法解决TSP 问题
下面针对 T S P 问题给出模拟退火算法的基本步骤:
( 1 ) 给定初始温度t = t 。

,确定降温准则,并随机产生初始状态s = s 0 ,令初始最优解为s = s ’= s 。

,令k= 0 ;
( 2 ) 判断是否满足优化结束的收敛条件,如果满足则输出优化的结果,不满足继续步骤( 3 ) ;
( 3 ) 由状态产生函数产生新状态s ,即S j =G e n . e r a t e ( s ) ,并计算路程目标的增量值,设路程目标函数为c ( ) ,则增量A E= C ( s t ) 一c ( .s ) ;
( 4 ) 判断A E的值。

如果A C , < 0 ,则接受s 为当前解,即s = S t ,并判断C( s )<C( s ’) 是否成立,如果正确令s ’= s t ;如果A E> 0 ,判断条件m i n { 1 ,e x p [一3 c /t 。

] } ≥r a n d o m[ 0 ,1 ] 是否满足,如果满足同样接受s 为当前解,即s =s t ,如果不满足则保持当前状态不变;
4 ) 判断是否满足Me t r o p ol i s 抽样稳定性准则,如果满足则转到步骤( 2 ) ,并令k=k+1 ,t …=u p d a t e ( t ) ;如果不满足则转到步骤(3)。

相关文档
最新文档