用遗传算法求解TSP问题.doc

用遗传算法求解TSP问题.doc

ID:57427290

大小:151.00 KB

页数:21页

时间:2020-08-17

用遗传算法求解TSP问题.doc_第1页
用遗传算法求解TSP问题.doc_第2页
用遗传算法求解TSP问题.doc_第3页
用遗传算法求解TSP问题.doc_第4页
用遗传算法求解TSP问题.doc_第5页
资源描述:

《用遗传算法求解TSP问题.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、用遗传算法求解TSP问题遗传算法(GeneticAlgorithm——GA),是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,它是由美国Michigan大学的J.Holland教授于1975年首先提出的。J.Holland教授和它的研究小组围绕遗传算法进行研究的宗旨有两个:抽取和解释自然系统的自适应过程以及设计具有自然系统机理的人工系统。遗传算法的大致过程是这样的:将每个可能的解看作是群体中的一个个体或染色体,并将每个个体编码成字符串的形式,根据预定的目标函数对每个个体进行评价,即给出一个适应度值。开始时,总是随机

2、的产生一些个体,根据这些个体的适应度,利用遗传算子——选择(Selection)、交叉(Crossover)、变异(Mutation)对它们重新组合,得到一群新的个体。这一群新的个体由于继承了上一代的一些优良特性,明显优于上一代,以逐步向着更优解的方向进化。遗传算法主要的特点在于:简单、通用、鲁棒性强。经过二十多年的发展,遗传算法已经在旅行商问题、生产调度、函数优化、机器学习等领域得到成功的应用。遗传算法是一类可用于复杂系统优化的具有鲁棒性的搜索算法,与传统的优化算法相比,主要有以下特点:1、遗传算法以决策变量的编码作为运算

3、对象。传统的优化算法往往直接决策变量的实际植本身,而遗传算法处理决策变量的某种编码形式,使得我们可以借鉴生物学中的染色体和基因的概念,可以模仿自然界生物的遗传和进化机理,也使得我们能够方便的应用遗传操作算子。2、遗传算法直接以适应度作为搜索信息,无需导数等其它辅助信息。3、遗传算法使用多个点的搜索信息,具有隐含并行性。4、遗传算法使用概率搜索技术,而非确定性规则。遗传算法是基于生物学的,理解或编程都不太难。下面是遗传算法的一般算法步骤:1、创建一个随机的初始状态初始种群是从解中随机选择出来的,将这些解比喻为染色体或基因,该种

4、群被称为第一代,这和符号人工智能系统的情况不一样;在那里,问题的初始状态已经给定了。2、评估适应度对每一个解(染色体)指定一个适应度的值,根据问题求解的实际接近程度来指定(以便逼近求解问题的答案)。不要把这些“解”与问题的“答案”混为一谈,可以把它理解成为要得到答案,系统可能需要利用的那些特性。3、繁殖(包括子代突变)带有较高适应度值的那些染色体更可能产生后代(后代产生后也将发生突变)。后代是父母的产物,他们由来自父母的基因结合而成,这个过程被称为“杂交”。4、下一代如果新的一代包含一个解,能产生一个充分接近或等于期望答案的

5、输出,那么问题就已经解决了。如果情况并非如此,新的一代将重复他们父母所进行的繁衍过程,一代一代地演化下去,直到达到期望的解为止。5、并行计算非常容易将遗传算法用到并行计算和群集环境中。一种方法是直接把每个节点当成一个并行的种群看待。然后有机体根据不同的繁殖方法从一个节点迁移到另一个节点。另一种方法是“农场主/劳工”体系结构,指定一个节点为“农场主”节点,负责选择有机体和分派适应度的值,另外的节点作为“劳工”节点,负责重新组合、变异和适应度函数的评估。6、术语说明由于遗传算法是由进化论和遗传学机理而产生的搜索算法,所以在这个算

6、法中会用到很多生物遗传学知识,以下是我们将会涉及到的一些术语:①染色体(Chromosome)染色体又可以叫做基因型个体(individuals),一定数量的个体组成了群体(population),群体中个体的数量叫做群体大小。②基因(Gene)基因是串中的元素,基因用于表示个体的特征。例如有一个串S=01234,则其中的1,0,2,3这4个元素分别称为基因。它们的值称为等位基因(Alletes)。①基因地点(Locus)基因地点在算法中表示一个基因在串中的位置称为基因位置(GenePosition),有时也简称基因位。基因

7、位置由串的左向右计算,例如在串S=12043中,0的基因位置是3。②基因特征值(GeneFeature)在用串表示整数时,基因的特征值与二进制数的权一致;例如在串S=1011中,基因位置3中的1,它的基因特征值为2;基因位置1中的1,它的基因特征值为8。——不过本程序的基因无特征值;③适应度(Fitness)各个个体对环境的适应程度叫做适应度(fitness)。为了体现染色体的适应能力,引入了对问题中的每一个染色体都能进行度量的函数,叫适应度函数.这个函数是计算个体在群体中被使用的概率。遗传算法中,针对三种遗传算子可进行如下

8、的遗传操作。一、选择算子从群体中选择优胜的个体,淘汰劣质个体的操作叫做选择。选择算子又叫再生算子(ReproductionOperator)。选择的目的是把优化的解直接遗传到下一代或者通过配对交叉产生新的个体再遗传到下一代。选择操作是建立在群体中个体的适应度评估基础上的,目前常用的选择算子

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。