遗传算法——TSPTravelingSalesmanProblem旅行商问题.doc
《遗传算法——TSPTravelingSalesmanProblem旅行商问题.doc》由会员分享,可在线阅读,更多相关《遗传算法——TSPTravelingSalesmanProblem旅行商问题.doc(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流遗传算法TSPTravelingSalesmanProblem旅行商问题.精品文档.摘要IAbstractII引 言1第一章 基本遗传算法21.1 遗传算法的产生及发展31.2 基本原理31.3 遗传算法的特点31.4 基本遗传算法描述51.5 遗传算法构造流程6第二章 遗传算法的实现技术62.1 编码方法72.1.1 二进制编码72.1.2 格雷码编码72.1.3 符点数编码82.1.4 参数编码82.2 适应度函数102.3 选择算子102.4 交叉算子102.4.1 单点交叉算子102.4.2 双点交叉算子112.4.3 均匀交叉算子1
2、12.4.4 部分映射交叉112.4.5 顺序交叉122.5 变异算子122.6 运行参数122.7 约束条件的处理方法132.8 遗传算法流程图14第三章 遗传算法在TSP上的应用153.1TSP问题的建模与描述153.2 对TSP的遗传基因编码方法163.3 针对TSP的遗传操作算子173.3.1 选择算子173.3.1.1轮盘赌选择173.3.1.2最优保存策略选择173.3.2 交叉算子203.3.2.1 单点交叉203.3.2.2 部分映射交叉213.3.3 变异算子233.4 TSP的混和遗传算法26第四章 实例分析274.1 测试数据274.2 测试结果274.3 结果分析27毕
3、业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版
4、,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论
5、文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日摘 要TSP (Traveling Salesman Problem)旅行商问题是一类典型的NP完全问题,遗传算法是解决NP问题的一种较理想的方法。文章首先介绍了基本遗传算法的基本原理、特点及其基本实现技术;接着针对TSP 问题,论述了遗传算法在编码表示和遗传算子(包括选择算子、交叉算子变异算子这三种算子)等方面的应用情况,分别指出几种常用的编码方
6、法的优点和缺点,并且结合TSP的运行实例详细分析了基本遗传算法的4个运行参数群体大小、遗传算法的终止进化代数、交叉概率、变异概率,对遗传算法的求解结果和求解效率的影响,经过多次的测试设定出了它们一组比较合理的取值。最后,简单说明了混合遗传算法在求解TSP问题中的应用并对遗传算法解决TSP问题的前景提出了展望。关键词:TSP 遗传算法 遗传算子 编码AbstractTSP (Traveling Salesman Problem) is a typical NP - complete problem and genetic algorithm (GA) is the perfect method
7、for solving NP - complete problem. The basic theories, characteristics and the basic techniques of GA are first introduced. Then the encoding model and genetic operators (including selection operation, crossover operation and mutation operation) about GA in solving TSP are discussed. The advantages
8、and disadvantages of various encoding method are respectively indicated, and the application of the three basic genetic operators is elaborated. According to the given data, the results and efficiencies are influenced by four parameters in the basic genetic algorithm: the size of population, termina
9、te generation, crosser probability and mutation probability. Adjust the parameters, run and try for better ones. At last, the application of hybrid genetic algorithm is briefly presented. It is pointed out that a better crossover or mutation routine can be found out which retains the structure from
10、the parent chromosomes and still ends up with a legal tour in the child chromosomes, which leads to a better solution than ever before. And the prospect for the future of genetic algorithm in solving TSP is made.Keywords: TSP genetic algorithm genetic operators encoding引 言 现代科学理论研究与实践中存在着大量与优化、自适应相关
11、的问题,但除了一些简单的情况之外,人们对于大型复杂系统的优化和自适应问题仍然无能为力。然而,自然界中的生物却在这方面表现出了其优异的能力,它们能够以优胜劣汰、适者生存的自然进化规则生存和繁衍,并逐步产生出对其生存环境适应性很高的优良物种。遗传算法正是借鉴生物的自然选择和遗传进化机制而开发出的一种全局优化自适应概率搜索算法。遗传算法使用群体搜索技术,它通过对当前群体施加选择、交叉、变异等一系列遗传操作,从而产生出新一代的群体,并逐步使群体进化到包含或接近最优解的状态。由于其具有思想简单、易于实现、应用效果明显等优点而被众多应用领域所接受,并在自适应控制、组合优化、模式识别、机器学习、人工生命、管
12、理策略等领域得到了广泛应用。遗传算法给我们呈现出的是一类通用的算法框架,该框架不依赖于问题的种类。遗传算法是一类具有较强鲁棒性的优化算法,特别是对于一些大型、复杂非线性系统,它更表现出了比其他传统优化方法更加独特和优越的性能。隐含并行性和全局搜索特性是遗传算法的两大显著特征。遗传算法是新发展起来的一门学科,各种理论、方法尚未成熟,有待于进一步地发展和完善,但它却为我们解决许多复杂问题提供了希望。尽管在遗传算法的研究和应用过程中出现许多难题,同时也会产生许多不同的算法设计观点,然而,目前遗传算法的各种应用实践已经展现出了其优异的性能和巨大的发展潜力,它的发展前景激励着各类专业技术人员把遗传算法的
13、理论和方法运用于自己的工作实践中。我们相信,随着研究工作的进一步深入和发展,遗传算法必将在智能计算领域中起到关键作用。货郎担问题(Traveling Salesman Problem ,TSP),也称为巡回旅行商问题,是一个较古的问题。最早可以追溯到1759年Euler提出的骑士旅行问题。TSP问题是一个典型的、容易描述但是难以处理的NP完全问题,同时TSP问题也是诸多领域内出现的多种复杂问题的集中概括和简化形式。目前求解TSP问题的主要方法有启发式搜索法、模拟退火算法、遗传算法、Hopfield神经网络算法、二叉树描述算法。所以,有效解决TSP问题在计算理论上和实际应用上都有很高的价值,而且
14、TSP问题由于其典型性已经成为各种启发式的搜索、优化算法的间接比较标准(如遗传算法、神经网络优化、列表寻优(TABU)法、模拟退火法等)。遗传算法就其本质来说,主要是解决复杂问题的一种鲁棒性强的启发式随机搜索算法。因此遗传算法在TSP问题求解方面的应用研究,对于构造合适的遗传算法框架、建立有效的遗传操作以及有效地解决TSP问题等有着多方面的重要意义。第一章 基本遗传算法1.1 遗传算法的产生及发展最早美国ichigan(密执安大学)的Holland教授提出,起源于60年代对自然和人工自适应系统的研究。70年代De Jong基于遗传算法的思想在计算机上进行了大量纯数值函数优化计算实验。在一系列研
15、究工作的基础上80年代Goldberg进行总结归纳,形成了遗传算的基本框架。主要以一些关键人物所做出的主要贡献见证了遗传算法的发展进程: 1 J.H.Holland 60年代提出在研究和设计人工自适应系统时,可以借鉴生物遗传的机制; 70年代初提出了遗传算法的基本定理模式定理(Schema Theorem),从而奠定了遗传算法的理论基础;80年代实现了第一个基于遗传算法的机器学系统分类器系统(Classifier Systems),开创了基于遗传算法的机器学习的新概念。2 J.D.Bagley1967年在其博士论文中首次提出了:“遗传算法”一词,发展了复制、交叉、变异、显性、倒位等遗传算子,创
16、立了自适应遗传算法的概念。3 K.A.De Jong1975年在其博士论文中结合模式定理进行了大量的纯数值函数优化计算实验,树立了遗传算法的工作框架,定义了评价遗传算法性能的在线指标和离线指标。4 D.J.Golgberg 1989年出版了专著搜索、优化和机器学习中的遗传算法(Genetic Algorithms in Search,Optimization and Machine Learning),系统总结了遗传算法的主要研究成果,全面而完整的论述了遗传算法的基本原理及其应用。5 L.Davis 1991年编辑出版了遗传算法手册 (Handbook of Genetic Algorithm
17、s)书中包括遗传算法在科学计算、工程技术和社会经济中的大量应用实例。6 J.R.Koza 1992年将遗传算法应用于计算机程序的优化设计及自动生成,提出了遗传编程 (Genetic Programming) 的概念,并成功的将其提出的遗传编程应用于人工智能、机器学习符号处理等方面。1.2 基本原理遗传算法是一种借鉴生物界自然选择和自然遗传机制的随机化搜索算法,由美国J.Holland教授提出,其主要特点是群体搜索策略和群体中个体之间的信息交换,搜索不依赖于梯度信息。它是一种全局化搜索算法,尤其适用于传统搜索算法难于解决的复杂和非线性问题。选择(selection)算子、交叉(crossover
18、)算子和变异(mutation)算子是遗传算法的3个主要操作算子。遗传算法中包含了如下5个基本要素: (1) 对参数进行编码; (2) 设定初始种群大小;(3) 适应度函数的设计;(4) 遗传操作设计;(5) 控制参数设定(包括种群大小、最大进化代数、交叉率、变异率等)。1.3 遗传算法的特点(1) 遗传算法对优化问题没有太多的数学要求,而且只要知道目标函数的信息即可;(2) 遗传算法采用的是启发性的知识智能搜索算法,在搜索高度空间复杂问题上比以往有更好的效果;(3) 遗传算法是对问题参数或者变量编码群进行优化,而不是参数或变量本身;(4) 遗传算法使用的选择、交叉、变异算子都是随机的;1.4
19、 基本遗传算法描述基于对自然界中生物遗传与进化机理的模仿,针对不同的问题,很多学者设计了许多不同的编码方法来表示问题的可行解,开发出了许多种不同的遗传算子来模仿不同环境下生物遗传特性。这样,由不同的编码方法和不同的遗传算子就构成了各种不同的遗传算法。但这些遗传算法都有共同的特点,即通过对生物遗传和进化过程中选择、交叉、变异机理的模仿,来完成对问题最优解的自适应搜索过程。基于这个特点,Goldberg总结出了一种统一的最基本的遗传算法基本遗传算法(Simple Genetic Algorithms,简称SGA)。基本遗传算法只使用选择算子、交叉算子和变异算子这三种基本遗传算子,其遗传进化操作过程
20、简单,容易理解,是其他一些遗传算法的雏形和基础,它不仅给各种遗传算法提供了一个基本框架,同时也具有一定的应用价值。基本遗传算法描述:基本遗传算法只使用选择算子 ( Selection Operator)、交叉算子(Crossover Operator)、变异算子(Mutation Operator)这三种算子。基本遗传算法可以形式化定义为一个八元组:SGA=(C,E,Po,M,T) C 个体的编码方法; E 个体适应度评价函数; Po初始群体; M 群体大小; 选择算子; 交叉算子; 变异算子; T 遗传运算终止条件。遗传算法的应用步骤: 第一步: 确定决策变量及其各种约束条件,即确定出个体的
21、表现型X和问题的解空间。第二步: 建立优化模型,即确定出目标函数的类型(是求目标函数的最大值还是求目标函数的最小值?)及其数学描述形式或量化方法。第三步:确定表示可行解的染色体编码方法,也即确定出个体的基因型X及遗传算法的搜索空间。第四步:确定解码方法,即确定出个体基因型X到个体表现型X的对应关系转换方法。 第五步:确定个体适应度的量化评价方法,即确定出由目标函数值f(X)到个体适应度F(X)的转换规则。第六步:设计遗传算子,即确定出选择运算、交叉运算、变异运算等遗传算子的具体操作方法。第七步:确定遗传算法的有关运行参数,即确定出遗传算法的M、T、Pc、Pm等参数。1.5 遗传算法构造流程遗传
22、算法的构造过程可以用下图进行描述:图11 遗传算法的主要构造过程示意图第二章 遗传算法的实现技术2.1 编码方法在遗传算法中如何描述问题的可行解,即把一个问题的可行解从其解空间转换到遗传算法所能处理的搜索空间的转换方法称为编码。编码是应用遗传算法时要解决的主要问题,也是设计遗传算法的一个关键步骤。编码方法除了决定个体染色体排列形式之外,还决定了个体从搜索空间的基因型变换到解空间的表现型时的解码方法,编码方法也影响到交叉算子、变异算子等遗传算子的运算方法。针对一个具体问题,如何设计一个完美的编码方案一直是遗传算法的应用难点之一,也是遗传算法的一个重要研究方向。目前还没有一套既严密有完整的指导理论
23、及评价准则能够指导我们设计编码方案。De Jong曾提出了两条操作性较强的实用编码原则:编码原则一(有意义积木块编码原则):应使用能易于产生与所求问题相关的且具有低阶,短定义长度的编码方案。编码原则二(最小字符集编码原则):应使用能使问题得到自然表示或描述的具有最小字符集的编码方案。迄今为止人们已经提出了许多的编码方法,总的来说,可以分为三类:二进制编码方法,浮点数编码方法,符号编码方法。2.1.1 二进制编码二进制编码方法是遗传算法中最常用的一种编码方法,它使用的编码符号集是由二进制符号0和0组成的二值符号集0,1,它所构成的个体基因型是一个二进制编码符号串。它有如下几个优点:(1)编码,解
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 遗传 算法 TSPTravelingSalesmanProblem 旅行 问题
限制150内