基于人工智能的路径查找优化算法精品毕业设计完整版文档格式.docx
《基于人工智能的路径查找优化算法精品毕业设计完整版文档格式.docx》由会员分享,可在线阅读,更多相关《基于人工智能的路径查找优化算法精品毕业设计完整版文档格式.docx(24页珍藏版)》请在冰豆网上搜索。
![基于人工智能的路径查找优化算法精品毕业设计完整版文档格式.docx](https://file1.bdocx.com/fileroot1/2022-10/9/77238704-8514-4045-a1ea-ab78ba18e455/77238704-8514-4045-a1ea-ab78ba18e4551.gif)
XXX职称或学位:
XX
2012年5月18日
目录
摘要II
AbstractIII
KeywordsIII
1.前言1
2.概述2
2.1遗传算法优缺点2
2.2遗传算法应用领域3
2.3遗传算法基本流程3
3.传统遗传算法解决旅行商问题5
3.1常用概念5
3.2基本过程5
3.3关键步骤5
3.4总结8
4.改进后的遗传算法9
4.1编码、设计遗传算子9
4.2种群初始化9
4.3评价10
4.4选择复制10
4.5交叉11
4.6变异12
4.7终结13
5.系统设计与实现14
5.1系统设计14
5.2系统实现17
5.3结果分析20
6.总结21
参考文献22
致谢23
摘要
旅行商是一个古老且有趣的问题它可以描述为:
给定n个城市以及它们之间的距离dij(城市i到城市j的距离),求解从其中一个城市出发对每个城市访问,且仅访问一次,最后回到出发的城市,应当选取怎样的路线才能使其访问完所有的城市后回到初始的城市且走过的路程最短。
旅行商问题已被证明是属优化组合领域的NP难题,而且在现实中的许多问题都可以转化为旅行商问题来加以解决。
解决旅行商问题最一般的方法就是枚举出所有可能的路线然后对每一条进行评估最后选取出路程最短的一条即为所求解。
解决旅行商问题的各种优化算法都是通过牺牲解的精确性来换取较少的耗时,其他一些启发式的搜索算法则依赖于特定的问题域,缺乏通用性,相比较而言遗传算法是一种通用性很好的全局搜索算法。
遗传算法GA(geneticalgorithm)最早由美国密歇根大学的JohnHolland提出。
具有自组织、自适应、自学习和群体进化功能有很强的解决问题的能,在许多领域都得到了应用。
遗传算法以其广泛的适应性渗透到研究与工程的各个领域,已有专门的遗传算法国际会议,每两年召开一次,如今已开了数次,发表了数千篇论文,对其基本的理论、方法和技巧做了充分的研究。
今天,遗传算法的研究已成为国际学术界跨学科的热门话题之一。
关键词:
人工智能;
遗传算法;
TSP;
旅行商问题
Pathsearchsystembasedonartificialintelligencealgorithms
Abstract
Travelingsalesmanisanancientandinterestingitcanbedescribedasgivenncitiesandthedistancebetweenthemdij(cityitocityj,thedistance),solvingtheaccessforeachcity,startingfromoneofthecityandonlyonevisitandfinallybacktothestartingcity,shouldselectwhatrouteitbacktotheinitialvisitallthecitiescityandtraveledtheshortest.
Variousoptimizationalgorithmstosolvethetravelingsalesmanproblemthroughtheexpenseoftheaccuracyofthesolutioninexchangeforlesstime-consuming,otherheuristicsearchalgorithmdependsonthespecificproblemdomainlackofuniversalsothegeneticalgorithmiscomparedtoacommongoodglobalsearchalgorithm.
GA(geneticalgorithm)WasfirstproposedbyJohnHollandoftheUniversityofMichigan.TheGAhasself-organizing,adaptive,self-learningandgroupevolutionfunctionsotheGAhasstrongabilitytosolveproblems,nowtheGAbeenappliedinmanyfields.
Today,thegeneticalgorithmresearchhasbecomeoneofthehottopicsoftheinternationalacademiccommunityinterdisciplinary.
Keywords:
ArtificialIntelligence;
GeneticAlgorithm;
TSP
1.前言
现代社会虽然交通发达,两地之间有时甚至可以转瞬既至,但路径问题仍是当今算法界中比较热门的话题,也是一门比较实用的话题,比如现在的导航设备中的导航路线,在现代繁华的大都市中,找寻到一条可行且路程较短的路线并不是一件容易的事,因此为了满足人们的需求,各种搜寻软件应运而生,如,google的map等。
路径问题中一个经典的问题是旅行商问题,也证实了旅行商问题是NP难题,虽然旅行商现在已经拥有了各种解法,结果也很好,但仍是业界追捧的一大话题。
本文也是基于旅行商问题来进行研究。
本论文先从传统的遗传算法基本原理开始,简单的介绍遗传算法的基本流程和运行机制,然后逐步转变到优化后的遗传算法。
本系统是利用人工智能算法中的遗传算法作为算法基础,在其基础上进行了改进,使得可行性更高,性能也提高了,在很大程度上简化了算法的操作,使得算法更稳定、高效。
经过改进后的遗传算法实现起来简单,没有复杂的数学运算,且应用灵活,适应用于大量的搜索处理事件。
2.
概述
近年,随着计算机软硬件的飞速发展,计算机在人类的日常、生活、学习工作中也成为了不可分割的部分。
在工作上,某些危险行业或是专业性较强的工作,计算机在慢慢的代替人们作业,而且也比人类做的更好、更有效率。
在学习上,国内不管是哪所大学,一进入大学,必学的一门课就是《大学计算机基础》,然后是一门编程语言。
计算机在日常的娱乐、生活也起着不可估量的作用。
随着计算机在生活、学习、工作中的分量越来越大,对于计算机的各项性能指标也是要求越来越高,硬件上,追求更快、更安全、更稳定;
软件上追求智能、安全、人性化、更美观。
随着对软件各项指标的增长,在上世纪发展缓慢的人工智能,现在也突飞猛进的发展了。
而本文研究的对象正是最近几年风头正劲的——遗传算法在路径选取上的应用。
遗传算法(GeneticAlgorithm,GA)是借鉴生物界自然选择复制和群体进化机制形成的一种全局寻优算法。
与传统的优化算法相比,具有的优缺点如下。
1.
2.1.遗传算法优缺点
任何一种算法都不可能十全十美,遗传算法依旧如此,它的优势是可以从多点出发,在解空间内搜寻最优解,而缺点同样较大,首先在编码上,传统的遗传算法是用二进制来编码的。
下面从不同角度来对传统的遗传算法的优劣进行分析。
2.1.
2.1.1.遗传算法优点
不是从单个点,而是从多个点构成的群体开始搜索。
之所以说是从多点而不是从单点出发,那是因为整个算法的开始是从一个初始种群开始搜索演练最优解,是从多个点开始搜索进化寻找,这样的做的一个好处是避免局部寻找最优解,从任一解出发,按照某种机制,以一定的概率在整个求解空间中探索最优解。
由于它们可以把搜索空间扩展到整个问题空间,因而具有全局优化性能。
同时也缩短了整个搜寻额时间,整体上效率更高、结果更接近最优解。
实现简单,没有复杂的数学计算,在算法中,一般都有大量且复杂的计算作为整个算法的支撑,同时数学计算也是一步比较耗资源和时间的操作,然后在遗传算法中,在搜索最优解过程中,只需要由目标函数值转换得来的适应度信息再加上简单的比较,而不需要导数等其它辅助信息,操作流程也比较简单,没有过多的转换控制操作,中间也没有多少中间变量,算法具有较强的自适应性。
搜索过程不易陷入局部最优点。
目前,该算法已渗透到许多领域,并成为解决各领域复杂问题的有力工具,因为是在整个求解空间中探索最优解,所以,基本上不会陷入局部最优解中去。
在遗传算法中,将问题空间中的决策变量通过一定编码方法表示成遗传空间的一个个体,它是一个基因型串结构数据;
同时,可以将目标函数值转换成适应值,它用来评价个体的优劣,并作为遗传操作的依据。
但是,传统的遗传算法同样拥有缺陷。
2.1.2.遗传算法缺点
首先,传统的遗传算法编码和解码比较复杂,因为传统的遗传算法的染色体是用二进制编制的,一个染色体就是一串0和1组成的位串或是字符串,在进化前需要做复杂的编码工作,而在得到最优解后还要做复杂的解码工作,比较繁琐和复杂,在遗传操作过程中也不易掌控,容易出错;
其次,算法对初始种群的选择有一定的依赖性。
2.2.遗传算法应用领域
遗传算法在人工智能的众多领域便得到了广泛应用[2]。
例如,机器学习、聚类、控制(如煤气管道控制)、规划(如生产任务规划)、设计(如通信网络设计、布局设计)、调度(如作业车间调度、机器调度、运输问题)、配置(机器配置、分配问题)、组合优化(如TSP、背包问题)、函数的最大值以及图像处理和信号处理等等。
另一方面,人们又将遗传算法与其他智能算法和技术相结合,使其问题求解能力得到进一步扩展和提高。
例如,将遗传算法与模糊技术、神经网络相结合,已取得了不少成果。
2.3.遗传算法基本流程
因为遗传算法是模拟生物的进化过程的一类人工智能算法,所以,在算法的初始阶段,应该给一个初始种群给算法来进化演练。
因此,第一步是初始化种群,在初始化种群时,种群的大小要设计科学,这样才能最大力度的发挥遗传算法的性能。
在初始化种群后,就要开始进入遗传演练阶段,遗传的第一步操作是对种群的每个个体计算适应度,然后进入遗传演练。
在演练过程中,模仿生物的进化过程,有双亲结合产生下一代个体,为了能够保证种群的多样化和过早的收敛于某一个局部最优解,有了变异操作。
在遗传操作过程中,如果某一代中有个体符合最优解的特征,那么整个演练过程就可以提前结束了,否则,遗传演练会一直进行下去,知道收敛于某一个最优解或是到达最大遗传代数。
图2-1遗传算法流程图
本论文的研究则是基于遗传算法的TSP路径问题。
3.
传统遗传算法解决旅行商问题
3.1.常用概念
3.1.
个体(chromosome)[3]:
遗传算法处理的基本对象,也是遗传基因的载体,是遗传操作中的对象,在遗传操作中,首先将问题的可能解通过编码表示成一定长度符号串。
每个位置上的符号称为基因(gene)。
一个个对应问题的一个可能解,也被称为染色体(individual)。
群体(population):
每一代的个体的集合,一个群体表示了问题在这一代中所有可能解的集合,又称作种群,也称作解空间,在遗传算法中,种群的大小在遗传繁衍过程中一般不会改变,改变的只是其中的个