毕业设计(论文)遗传算法求解TSP问题的计算机仿真.doc
《毕业设计(论文)遗传算法求解TSP问题的计算机仿真.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)遗传算法求解TSP问题的计算机仿真.doc(58页珍藏版)》请在三一办公上搜索。
1、题目:遗传算法求解旅行商问题的计算机仿真遗传算法求解TSP问题的计算机仿真摘要由于遗传算法在整体搜索策略和优化搜索方法上不依赖梯度信息或其他辅助知识,只需要影响搜索方向的目标函数和相应的适应度函数,所以提供了一种求解复杂系统问题的通用框架,因此遗传算法广泛应用于数学问题、组合优化、机械设计、人工智能等领域。遗传算法(Genetic Algorithms,简称GA)是模拟自然界生物自然选择和进化的机制而发展起来的一种高度并行、自适应的随机搜索算法。特别适合于求解传统的搜索算法不好处理的复杂的最优解问题。旅行商问题(Traveling Salesman Problem)就是要决定一条经过路线中所有
2、城市当且仅当一次且距离最短的路线,即距离最短的Hamilton回路。旅行商问题是一个具有十分广泛的实用背景和重要理论价值的组合优化问题。目前求解TSP问题的主要方法有模拟退火算法、遗传算法、Hopfield神经网络算法、启发式搜索法、二叉树描述算法。本文选用遗传算法求解45个城市的TSP问题,基于Microsoft Visual C+环境,采用Grefenstette等提出的一种新的巡回路线编码方法,变异算子采用了常规的基本位变异法,通过多组实验和数据近似的求解出了45个城市的最优解,实现了计算机仿真求解TSP问题。关键字:旅行商问题;遗传算法;变异算法;编码方式The computer si
3、mulation of genetic algorithm to solve TSP problemAbstractDue to genetic algorithm on the overall search strategy and optimization search method does not depend on the gradient information or other auxiliary knowledge, only need to influence the search direction of the objective function and the cor
4、responding fitness function, and so provides a generic framework for solving complicated system problem, so the genetic algorithm is widely used in mathematical problem, combinatorial optimization, mechanical design, artificial intelligence, etc Genetic algorithm (based Algorithms, the GA) is mimic
5、natural biological natural selection and evolution mechanism and developed a kind of highly parallel, adaptive random search algorithm. Particularly suitable for solving the traditional search algorithm is not good to deal with complex optimal solution of problem. Traveling Salesman Problem (ll Sale
6、sman Problem) is to determine a through route if and only if all cities in time and distance is the shortest route, the shortest distance of Hamilton loop. Traveling salesman problem is a very wide range of practical background and important theoretical value of the combinatorial optimization proble
7、m. At present the main method of solving TSP problem with simulated annealing algorithm, genetic algorithm and Hopfield neural network algorithm, the heuristic search method, the binary tree described algorithm. This article chooses 45 cities genetic algorithm to solve the TSP problem, based on Micr
8、osoft Visual c + + environment, use the proposed a new tour routes such as Grefenstette coding method, mutation operator adopted conventional basic variation method, through multiple sets of experimental data and the approximate solution of the 45 cities the optimal solution, has realized the comput
9、er simulation to solve the TSP problem.KEY WORDS: TRAVELING SALESMAN PROBLEM. GENETIC ALGORITHM; MUTATION ALGORITHM; 目录遗传算法求解TSP问题的计算机仿真IAbstractII1 绪论11.1 研究背景11.2 研究意义21.3 研究内容21.4 本文的结构32 遗传算法理论概述42.1 遗传算法的产生及发展42.2 遗传算法基本原理52.3 遗传算法基本步骤62.4 遗传算法算法流程图62.5 遗传算法的特点72.6 遗传算法的应用83 基于遗传算法求解TSP问题103.1旅
10、行商问题的描述与建模103.2编码方式103.3遗传算子的设计(交叉、选择、变异)123.3.1 交叉算子123.3.2 选择算子133.3.3 变异算子143.4 适应度函数153.5 遗传算法求解TSP问题的具体流程图164 45个城市旅行商问题的仿真软件的设计174.1 系统设计模块174.2 系统详细设计174.2.1演示模块设计184.2.2帮助模块设计214.3 测试结果及分析224.3.1 测试一224.3.2 测试二244.3.3 测试三264.3.4 测试四284.3.5 测试五295 结论31参考文献32谢辞33附录一程序34附录二外文翻译551绪论自20世纪60年代以来,
11、一种模拟生物自然遗传与进化过程并将生物进化原理、最优化技术和计算机技术结合起来的优化方法遗传算法(Genetic Algorithm,简称GA)被提出并得到广泛研究,该算法特别适用于处理传统搜索方法难以解决的复杂和非线性问题,可以广泛应用于人工智能、机械设计、自适应控制等领域。遗传算法固有的并行性和并行计算的能力,使在搜索过程中不容易陷入局部最优。即使在所定义的适应度函数中是不连续的、不规则的情况下,也可以很大概率找到全局最优解。采用自然进化机制来表现复杂的现象,能够快速可靠地解决求解非常困难的问题,非常适用于本课题涉及的TSP问题的求解与研究。旅行商问题(Traveling Salesman
12、 Problem ,TSP)是一个非常经典的组合优化问题的NP难题,长期以来都没有一个十分有效的算法来解决它,但TSP本身在许多领域有着重要的应用,如连锁店的货物配送路线、计算机网络路由器遍历、印刷电路板的钻孔路线等问题都可以建模为旅行商问题。TSP问题其实是“哈密顿回路问题”中的“哈密顿最短回路问题”。在本系统就是要应用遗传算法求解45个城市的TSP问题。因为遗传算法本身是模拟生物自然选择和遗传的过程的,所以用遗传算法求解TSP最先要确定的是问题的建模,即如何用遗传学的算子来表示旅行商问题中的变量。必需要非常的了解,并熟悉每一个遗传学中的术语在遗传学中的具体作用,然后应用到求解具体问题当中来
13、。应用遗传算法求解旅行商问题最关键的是编码方式、交叉、选择、变异算子的设计,直接关系到算法能否求出最优解或近似最优解。所以要在编码方式的确定上做好足够的功夫,以确定程序求解的精确度。本章主要论述本文所研究的主要内容,并对论文的章节结构进行规划。1.1 研究背景旅行商问题(Traveling Salesman Problem, TSP),也称旅行推销员问题,具体的数学模型可以这样理解:现在给定以下几个城市的位置,旅行商从其中的某一个城市出发,不重复地访问其余的每一个城市,最后又返回到原出发点城市,要求找出这样一条路线,使旅行所付出的代价最小。虽然它是一个比较古老的问题,最早可以追溯到Euler提
14、出的骑士旅行问题,但同时它也是一个新的问题,因为它的计算复杂度较高,虽然人们一直在尝试用新的方法来改进求解该问题的复杂度,但是这一类问题距今都没有能找到一个有效的算法来解决。TSP问题可以形式化描述为:设G=(V,A,D)是一个图,其中V是n个顶点的集合,A是弧线或边集,D=()是与A关联的距离或费用矩阵。旅行商问题就是要解决一个最小回路问题,回路中所有顶点有且仅经过一次。对于具有一个城市的旅行商问题,其可能的路径数目为(n-1)!/2,5个城市的问题模型就对应120/10=12条路线,10个城市的问题模型对应3628800/20=181440条路线。所以当输入越大,则耗费的时间就是个天文数字
15、了,因此旅行商问题至今都没有能找到一种有效的求解方法。寻求一种能短时间求解出高精度解的算法,已成为此问题研究的热门。尽管旅行商问题至今仍然没有找到最优解,但求解它的算法已经在不断的改进。目前,求解TSP问题常用的算法主要有遗传算法和蚁群算法,另外还有爬山法、模拟退火算法、神经网络方法、贪婪算法、禁忌搜索算法等。1980Crowder和Padberg求解了318个城市的TSP问题;1987年Padberg和Rinaldi成功将城市数量增加到了2392个;最大的成功求解的旅行商问题已经增加到24798个城市。1.2研究意义首先旅行商问题是用于求解N个城市存在(N-1)条闭合路径的排列方案,对于这一
16、类问题很难用全局搜索法精确地求出最优解,这一问题已经困扰众多学者许多年,因此研究相应的算法寻找其最优或近似最优解是非常必要的。其次,随着旅游业的快速发展,大量的旅客在旅途中浪费了不必要的时间和金钱,而这些不必要的浪费完全可以通过对旅行路线的合理规划来避免。而在互联网继续扩大普及的时代,电子商务也迎来了期待已久的春天,同时物流产业也随之水涨船高。毫无疑问,高效、低成本、低能耗成了各个物流企业追求的目标,更加合理的配送路线能明显地为物流公司增大利润。再比如在装配线的流程中,对每个工件为完成装配过程节约的少许时间意味着一天的产量的相应增加。由于旅行商问题在计算机网络、物流、旅游业、交通运输等许多领域
17、都有着十分广泛的应用,因此寻找一个求解这类问题的求解方法有很高的应用价值因此,对旅行商问题有效算法的研究不仅具有重要的理论意义,而且具有重大的实际应用价值。1.3研究内容本文采用遗传算法求解45个城市的旅行商问题,并对其实现计算机仿真。遗传算法(Genetic Algorithms,GA)又叫基因进化算法或进化算法,是一种通过模拟自然界生物适者生存、优胜劣汰的进化过程而形成的一种自适应、具有全局优化能力的随机搜索算法。应用遗传算法求解旅行商问题,最难得地方在于问题建模,如城市编码方式以及交叉、变异、选择算子的确定等。本文采用的是Grefenstette等提出的一种新的巡回路线编码方法,其可以在
18、一定程度上克服常规巡回路线编码方法在交异操作时易产生不满足问题约束条件或无实际意义的巡回路线的缺点。交叉算法采用的是常规的单点交叉,之所以可以用这一常规的交叉法,是因为在编码方式上使用的是Grefenstette等提出的一种新的巡回路线编码方法,它可以最大化交叉后后代与其父代的性状差异,有利于算法的全局性。变异算法采用的是基本位变异法,即只是根据变异概率随机改变染色体中的某一段染色体,具体会在后文中做详细说明。在遗传算法中,以个体适应度的大小来确定该个体被遗传到下一代群体中的概率。本课题中以每条路径长度的倒数作为适应度函数值。在求出之后将其按照从大到小的顺序排列,以便于后面找出路径之和最小的城
19、市序列。1.4 本文的结构本文一共分为5章,结构如下:第一章绪论。这一章主要论述旅行商问题的基本概念,以及本课题主要的研究方法及其研究意义,并对论文的章节结构加以论述。第二章遗传算法理论概述。这一章主要论述遗传算法的起源发展及其实际应用,重点介绍了遗传算法的算法原理及步骤。第三章基于遗传算法求解TSP问题。本章主要介绍了本系统具体使用什么方式实现求解过程,包括编码方式、选择、交叉、变异算子的具体选取。第四章45个城市旅行商问题的仿真软件的设计。本章主要对系统模块进行了介绍,而且对应用系统进行了多组试算,最后得出结论。第五章结论。对本文的内容进行总结。2 遗传算法理论概述2.1 遗传算法的产生及
20、发展最早由美国Michigan(密执安大学)的Hollang教授提出,起源于60年代对自然和人工自适应系统的研究。1967年,他的学生Bagley J.D.首次提出“遗传算法”一词,并发展了复制、交叉、变异、显性、倒位等遗传算子。70年代De Jong基于遗传算法的思想在计算机上进行了大量纯数值函数优化计算实验,建立了著名的De.Jong五函数测试平台。在一系列研究工作的基础上80年代Goldberg进行总结归纳,形成了遗传算法的基本框架;Smith将遗传算法应用于机械学习领域;Bethke对函数优化的遗传算法进行了系统的研究。进入90年代,遗传算法进入了兴盛期,无论是理论研究还是实际应用都成
21、了十分热门的课题。如今遗传算法已经被广泛的应用于计算机科学、人工智能、机械设计、图像处理等各个领域,不仅如此,利用遗传算法进行理论研究的优化和最优解问题的解决能力也显著提高。下面是一些在遗传算法发展进程中做出杰出贡献的人物:1 J.H.Holland60年代提出在研究和设计人工自适应系统时,可以借鉴生物遗传的机制;70年代初提出了遗传算法的基本定理模式定理(Schema Theorem),从而奠定了遗传算法的理论基础;80年代实现了第一个基于遗传算法的机器学系统分类器系统(Classifier Systems),开创了基于遗传算法的机器学习的新概念。2 J.D.Bagley1967年在其博士论
22、文中首次提出了:“遗传算法”一词,发展了复制、交叉、变异、显性、倒位等遗传算子,创立了自适应遗传算法的概念。3 K.A.De Jong1975年在其博士论文中结合模式定理进行了大量的纯数值函数优化计算实验,树立了遗传算法的工作框架,定义了评价遗传算法性能的在线指标和离线指标。4 D.J.Golgberg1989年出版了专著搜索、优化和机器学习中的遗传算法(Genetic Algorithms in Search,Optimization and Machine Learning),系统总结了遗传算法的主要研究成果,全面而完整的论述了遗传算法的基本原理及其应用。5 L.Davis1991年编辑出
23、版了遗传算法手册 (Handbook of Genetic Algorithms)书中包括遗传算法在科学计算、工程技术和社会经济中的大量应用实例。6J.R.Koza 1992年将遗传算法应用于计算机程序的优化设计及自动生成,提出了遗传编程 (Genetic Programming) 的概念,并成功的将其提出的遗传编程应用于人工智能、机器学习符号处理等方面。2.2 遗传算法基本原理遗传算法是受大自然的启发,模拟生物在自然环境中的遗传和进化过程而形成的一种自适应、具有全局优化能力的随机搜索算法。遗传算法的思路是通过从给定一个初始群体出发,利用选择算子、交叉算子以及变异算子来模拟自然进化的三种原则,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 遗传 算法 求解 TSP 问题 计算机仿真
链接地址:https://www.31ppt.com/p-3985147.html