毕业论文基于遗传算法的tsp问题研究.docx

上传人:b****2 文档编号:24369222 上传时间:2023-05-26 格式:DOCX 页数:41 大小:118.90KB
下载 相关 举报
毕业论文基于遗传算法的tsp问题研究.docx_第1页
第1页 / 共41页
毕业论文基于遗传算法的tsp问题研究.docx_第2页
第2页 / 共41页
毕业论文基于遗传算法的tsp问题研究.docx_第3页
第3页 / 共41页
毕业论文基于遗传算法的tsp问题研究.docx_第4页
第4页 / 共41页
毕业论文基于遗传算法的tsp问题研究.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

毕业论文基于遗传算法的tsp问题研究.docx

《毕业论文基于遗传算法的tsp问题研究.docx》由会员分享,可在线阅读,更多相关《毕业论文基于遗传算法的tsp问题研究.docx(41页珍藏版)》请在冰豆网上搜索。

毕业论文基于遗传算法的tsp问题研究.docx

毕业论文基于遗传算法的tsp问题研究

摘要I

AbstractII

第1章绪论-1-

1.1旅行商问题-1-

1.2研究意义-1-

1.3论文的组织结构-1-

第2章遗传算法理论概述-2-

2.1遗传算法的起源和发展-2-

2.2遗传算法基本原理-3-

2.3遗传算法的基本步骤-4-

2.4遗传算法的流程图-4-

2.5遗传算法的特点-5-

2.6遗传算法的应用-6-

第3章TSP问题及研究的基本方法-8-

3.1TSP问题概述-8-

3.2TSP的应用与价值-8-

3.3TSP问题的数学模型-9-

3.4TSP问题的分类-9-

3.5现有的求解TSP问题的几种算法-10-

第4章遗传算法在TSP的应用-12-

4.1遗传算法在TSP上的应用-12-

4.2算法的实现-12-

4.3编码-12-

4.4初始化种群-13-

4.5适应度函数-13-

4.6选择操作-13-

4.7交叉操作-15-

4.8变异操作-17-

4.9实验结果-18-

结论-20-

展望-20-

参考文献-21-

致谢-22-

附录程序-23-

摘要

TSP问题(TravelingSalesmanProblem)是已知有n个城市,现有一推销员必须遍访这n个城市,且每个城市只能访问一次,最后又必须返回出发城市。

要安排其访问次序,使其旅行路线的总长度最短。

TSP是经典的NP-hard组合优化问题之一,也是一个测试算法优劣性的标准问题,且现实中有很多应用问题都可归结或转化为TSP问题。

故对此问题的求解具有理论与实用两方面的意义。

传统的求解方法在面对较大规模的问题时,很不容易得到最优解。

遗传算法(GeneticAlgorithms,简称GA)是借鉴生物选择和进化机制发展起来的一种高度并行、随机和自适应搜索算法。

特别适合于处理传统搜索算法解决不好的复杂和非线形问题。

它的两个最大的显著特点是隐含并行性和全局搜索。

对遗传算法及其应用的研究是目前智能计算的研究热点之一。

 

关键词:

遗传算法;TSP问题;交叉算子

 

Abstract

TheTSPquestionisoneofmostclassicalNP—hardcombinationoptimizationquestions,anditisalsoastandardquestiontotestalgorithmperformance.Inthereality,therealemanyapplicationquestionscanbesummeduporconvertedintoTSP.Thereforesolvethisproblemissignificancewithboththetheoryandpractical.Tolarge-scaleproblems,thetraditionalsolutionmethodistooinadequate.

GeneticAlgorithm(GA)isallalgorithmwhichishighlyparallel,stochasticandauto—adaptedsearching.Itisprofitsfromonekindwhichthebiologicalchoiceandtheevolutionmechanism.Especially,itqualifiesinthequestionsthatcomplexandnon-linearfortraditionsearchingalgorithm.Itstwomostmajoroutstandingfeaturesareconcealparallelismandtheglobalsearch.Tothegeneticalgorithmandtheapplicationresearchofitisonehotspotoftheintelligentcomputationstratosphere.

 

Keywords:

geneticalgorithm;TSP;crossoveropera

第1章绪论

1.1旅行商问题

旅行商问题(TravelingSalesmanProblem,TSP),也称货郎担问题,是指对于给定的甩个城市,旅行商从某一个城市出发,不重复地访问其余每一个城市,最后又返回到原出发城市,要求找出一条旅行路线,使其的旅行所付出的代价最小。

旅行商问题是一个比较古老的问题,最早可追溯到Euler提出的骑士旅行问题,同时它也是个“新问题",因为计算的复杂性较高,人们一直在尝试用新的方法来改进求解该问题的复杂度。

TSP问题是一个具有广泛的应用背景和重要理论价值的组合优化问题,它是一个典型的NP问题。

G=(V,E)为赋权图,V=1,2,…,N为顶点集,E为边集,Cij表示旅行商经过对应弧段(i,j)所花的费用,如时间、距离、花费等。

TSP问题就是要决定一条经过图中所有顶点,当且仅当一次且代价最小的回路,即代价最小的Hamilton回路,为简化问题。

1.2研究意义

旅行商问题是一个理想化的问题,大多数对于此问题的研究都不是为了直接的实际应用,但这些研究可以经转化后用于许多现实的组合优化问题。

在现实生活中,有许多问题都可以归结为TSP问题,如电路板钻孔路线选择、车辆路线问题、计划任务、连锁店货物配送路线、管道铺设、火炬接力等问题,这些问题的求解策略均可依据TSP问题的求解算法来加以实施。

所以TSP问题在计算理论上和实际应用上都有很高的价值,将直接带动整个组合优化领域新的发展。

而遗传算法是一种的元启发式优化算法,基于遗传算法在许多方面有重要的应用空间。

基于此原因,本文的主要是用遗传算法的基本算子解决TSP这个有意义的NP难问题。

1.3论文的组织结构

第1章绪论。

本章论述旅行商问题的基本概念,以及本课题的主要研究内容及其研究意义,并对本文的章节结构加以概述。

第2章,概要介绍了遗传算法的起源和发展、思想及应用等问题,并重点介绍了基本遗传算法。

第3章概要介绍了TSP问题的定义和数学模型、研究现状及评价标准,现有的求解TSP问题的几种算法。

第4章本章论述如何用基于遗传算法求解TSP问题。

详细论述了用遗传算法在TSP的实现方法和主要参数设置、程序实现。

第5章总结

 

第2章遗传算法理论概述

2.1遗传算法的起源和发展

20世纪40年代以来,科学家努力从生物学中寻找用于计算机科学和人工系统的新思维、新方法和新途径,生命科学与工程科学相互交叉、相互渗透、相互促进成为近代科学发展的显著特点之一。

遗传算法正是从大自然的杰作——生物进化论中得到的灵感和启迪,其基本思想是Darwin进化论和Mendel的遗传学说。

Darwin进化论最核心的是自然选择学说。

他认为,生物进化是一个缓慢的变化过程,物种不是被创造出来的,而是自然选择的必然结果。

“物竞天择,适者生存”。

生物要想生存下来,就必须进行生存斗争。

斗争是多方面的,有种内斗争、种间斗争以及生物与无机环境间的斗争。

只有适应性强的个体才能在斗争中存活下来,并且有更多的机会将有利变异传给后代;而不适应斗争环境、具有不利变异的个体将面临淘汰。

Darwin把这种在生存斗争中适者生存、不适者淘汰的过程称为自然选择。

Mendel遗传学说最重要的是基因遗传原理。

他认为遗传以密码方式存在于细胞中,并以基因形式包含在染色体内。

每个基因有特殊的位置并控制某种特殊性质。

所以,每个基因产生的个体对环境具有某种适应性。

基因突变和基因杂交可产生更适应于环境的后代。

经过存优去劣的自然淘汰,适应性高的基因结构得以保存下来。

现代遗传学和细胞学的研究表明,生物的遗传物质主要保存在染色体中,染色体由DNA(脱氧核糖核酸)和蛋白质组成;基因则是指携带有遗传信息的DNA序列,是控制性状的基本遗传单位。

基因可以精确的复制,也可以发生突变,并可以通过控制蛋白质的合成而控制生物的性状。

生物体自身通过对基因的复制和交叉即基因分离、基因自由组合和基因连锁互换的操作使其性状的遗传得到选择和控制。

同时,通过基因重组、基因变异和染色体在结构和数目上的变异产生丰富多彩的变异现象。

能否将生物进化论应用于科学研究和工程实践中的各种搜索和优化问题中?

遗传算法正是从这一疑问开始的。

上个世纪60年代,Michigan大学的J.H.Holland教授开始认识到生物的遗传和自然进化现象与人工自适应系统的相似关系,并将生物遗传机制引入人工自适应系统的研究。

1967年,他的学生BagleyJ.D.首次提出“遗传算法”一词,并发展了复制、交叉、变异、显性、倒位等遗传算子。

70年代,Holland教授出版了专著{(AdaptationinNatureandArtificialSystems)),系统阐述了遗传算法的基本理论和方法,提出了遗传算法的基本定理——模式定理,为遗传算法的发展奠定了理论基础。

美国De.Jong博士基于遗传算法的思想在计算机上进行了大量的纯数值函数优化计算实验,建立了著名的De.Jong五函数测试平台。

80年代,遗传算法开始在各个领域得到广泛应用。

1980年,Smith将遗传算法应用于机器学习领域;Bethke对函数优化的遗传算法进行了系统的研究。

1989年,DavidGoldberg出版了((GeneticAlgorithminSearch,OptimizationandMachineLeaming》一书,成为论述遗传算法的第一本专著。

进入90年代,遗传算法进入了兴盛期,无论是理论研究还是应用研究都成了十分热门的课题。

尤其是遗传算法的应用研究显得格外活跃,被广泛地应用于组合优化、生产调度、机器学习、图像处理、人工生命等领域,不仅如此,利用遗传算法进行优化和规则学习的能力也显著提高。

1985年,美国召开了第一届遗传算法国际会议(ICGA),在遗传算法发展史上具有里程碑式的意义。

此后ICGA每隔一年举行一次,1999年期,ICGA与GP的系列会议合并为一年一次的遗传与进化国际会议(GECCO)。

1994年1月,IEEE神经网络委员会出版了第一本《进化计算》专集,同年6月组织召开第一届“进化计算”国际会议,以后每年举行一次。

2.2遗传算法基本原理

遗传算法是从代表问题可能潜在解集的一个种群(Population)开始的,而一个种群则由经过基因(Gene)编码(Coding)的一定数目的个体(Individual)组成。

每个个体实际上是染色体(Chromosome)带有特征的实体。

作为多个基因的集合,单个染色体是遗传物质的主要载体,其在种群中的命运由其基因组合决定。

初始种群产生以后按照优胜劣汰、适者生存的原理,逐代演化产生出越来越好的近似解。

在每一代,根据问题域中个体的适应度(fitness)大小挑选个体,并借助代表于自然遗传学的遗传算子(GeneticOperators)进行交叉(Grossover)和变异(Mutation),产生出代表新的解集的种群。

这个过程导致种群象自然进化一样,后代种群比前代更加适应于环境,末代种群中最优个体经过解码(Decoding),可以作为问题的近似最优解。

遗传算法采纳了自然进化模型,如选择、交叉、变异、迁移、局域与邻域等。

与传统搜索算法不同,遗传算法是从一组随机产生的初始解开始搜索过程。

种群中的每个个体是问题的一个解,称为“染色体",染色体是一串符号,比如二进制01串。

这些染色体在后续迭代中不断进化,称为遗传。

在每一代中用适应度(fitness)来测量染色体的好坏。

生成的下一代染色体称为后代(offspring)。

后代是由前一代染色体通过交叉(crossover)或者变异(mutation)运算形成的。

新一代形成中,根据适应度的大小选择部分后代,淘汰部分后代,从而保持种群大小的稳定性。

适应度高的染色体被选中的概率高,这样,经过若干代之后,算法收敛于最好的染色体,它很可能就是问题的最优解或次优解。

列出了表2-1生物遗传与遗传算法部分概念的对照

 

表2-1生物遗传与遗传算法的概念对照

生物遗传

遗传算法

基因

解中每一分量的特征

染色体

解的编码

个体

种群

一组解

交配

交叉操作

变异

编码的某一个分量发生变化的过程

适应性

编码解码后得到的适应度函数值

适者生存

选择操作

 

2.3遗传算法的基本步骤

步骤一:

确定参变量及其各种约束条件.即确定个体的表现形式和问题的解空间.

步骤二:

建立优化模型.即确定出求解问题的目标函数和数学描述形式及量化方法.

步骤三:

确定染色体的编码方法.即确定个体的基因形式.

步骤四:

确定解码方法.即确定出个体的基因形式到个体的表现形式的对应关系和转化方式.

步骤五:

确定个体适应度的量化评价方法.即确定出目标函数值同个体适应度的转化规则.

步骤六:

设计遗传算子.即确定出选择算子,交叉算子和变异算子等遗传算子的具体操作方法.

步骤七:

确定遗传算法的有关运行参数.即确定出遗传算法

 

2.4遗传算法的流程图

 

图2-1遗传算法流程图

2.5遗传算法的特点

传统的优化方法主要有三种:

枚举法、启发式算法和搜索算法。

随着问题种类的不同以及问题规模的扩大,需要寻求一种能以有限的代价来解决搜索和优化的通用方法,遗传算法正是为我们提供了一个有效途径,它不同于传统的搜索和优化方法。

主要区别在于

(1)自组织、自适应和自学习性。

应用遗传算法求解问题时,在编码方案、适应度函数及遗传算子确定后,算法将利用进化过程中获得的信息自行组织搜索。

由于自然选择策略为“适者生存,不适应淘汰",因而适应度大的个体具有较高的生存概率。

通常,适应度大的个体具有更适应环境的基因结构,在通过基因重组和基因突变等遗传操作,就可能产生更适应环境的后代。

进化算法的这种自组织、自适应特征,使它同时具有能根据环境变化来自动发现环境的特性和规律的能力。

自然选择消除了算法设计过程中的一个最大障碍,即需要事先描述问题的全部特点,并要说明针对问题的不同特点算法应采取的措施。

因此,利用遗传算法的方法,我们可以解决那些复杂的非结构化的问题。

(2)遗传算法的本质并行性。

遗传算法按并行方式搜索一个种群数目的点,而不是单点。

它的并行性表现在两个方面,一是遗传算法的内在并行性(inherentparallelisml,即遗传算法本身非常适合大规模并行。

最简单的并行方式是让几百甚至上千台计算机各自进行独立种群的演化计算,运行过程中甚至不进行任何通信(独立的种群之间若有少量的通信一般会带来更好的结果),等到运算结束才通信比较,选取最佳个体。

这种并行处理方式对并行系统结构没有什么限制和要求,可以说,遗传算法适合在目前所有的并行机或分布式系统上进行并行处理,而且对运行效率没有太大的影响。

二是遗传算法的内含并行性(implicitparallelism)。

由于遗传算法采用种群的方式组织搜索,因而可同时搜索解空间内的多个区域,并相互交流信息。

使用这种搜索方式,虽然每次只执行与种群规模n成比例的计算,但实质上已经进行了大约O(n3)次有效搜索,这就使遗传算法能以较少的计算获得较大的收益。

(3)遗传算法不需要求导或其他辅助知识,而只需要影响搜索方向的目标函数和相应的适应度函数。

(4)遗传算法强调概率转换规则,而不是确定的转化规则。

(5)遗传算法可以更加直接的应用。

(6)遗传算法对给定的问题,可以产生许多的潜在解,最终选择可以由使用者确定。

2.6遗传算法的应用

遗传算法提供了一种求解复杂系统问题的通用框架,它不依赖于问题的具体领域,对问题的种类有很强的鲁棒性,所以广泛应用于许多科学。

(1)函数优化

  函数优化是遗传算法的经典应用领域,也是遗传算法进行性能评价的常用算例,许多人构造出了各种各样复杂形式的测试函数:

连续函数和离散函数、凸函数和凹函数、低维函数和高维函数、单峰函数和多峰函数等。

对于一些非线性、多模型、多目标的函数优化问题,用其它优化方法较难求解,而遗传算法可以方便的得到较好的结果。

(2)组合优化

随着问题规模的增大,组合优化问题的搜索空间也急剧增大,有时在目前的计算上用枚举法很难求出最优解。

对这类复杂的问题,人们已经意识到应把主要精力放在寻求满意解上,而遗传算法是寻求这种满意解的最佳工具之一。

实践证明,遗传算法对于组合优化中的NP问题非常有效。

例如遗传算法已经在求解旅行商问题、背包问题、装箱问题、图形划分问题等方面得到成功的应用

(3)自动控制

在自动控制领域中有很多与优化相关的问题需要求解,遗传算法已在其中得到了初步的应用,并显示了良好的效果。

基于遗传算法的参数辨识,基于遗传算法的模糊控制规则的学习,利用遗传算法进行人工神经网络的结构优化设计和权值学习等,都显示出了遗传算法在这些领域中应用的可能性。

(4)人工生命

人工生命是用计算机,机械等人工媒体模拟或构造出的具有自然生物系统特有行为的人造系统,自组织能力和自学能力是人工生命的两大主要特征。

人工生命与遗传算法有着密切的关系,基于遗传算法的进化模型是研究人工生命现象的重要基础理论。

 

第3章TSP问题及研究的基本方法

3.1TSP问题概述

旅行商问题(TravellingSalesmanProblem,简记TSP)经典说法为:

有一名旅行商要从一个城市去若干个城市推销货物,从城市A出发,经其余各城市且每个城市只能访问一次,然后回到城市A,问选择怎样的旅行路线,才能使旅行的总长度最短(各城市间距离为已知)。

旅行商问题是组合数学中一个古老而又困难的问题,它易于描述但至今尚未彻底解决,现己归入经典的NP-hard组合优化问题之一,。

该问题在图论的意义下就是所谓的最小Hamilton圈问题,由于可以广泛应用在许多领域,所以寻找出实际而有效的算法就显得比较重要了。

但是遗憾的是,计算复杂性理论给予我们的结论却是,这种可能性尚属未知。

3.2TSP的应用与价值

TSP在现实生活中有很多应用。

直观上,最普通的TSP的运用莫过于找出旅行商为遍历每个地理位置上的点的顺序,使他所经历的路径最短。

了解了对每个城市访问一次的最优旅行路径能够为旅行节约很多潜在的时间。

对提到的实例,图中的节点将通过地理位置顺序连接,而且连接两节点的路径的长度是公制的。

在当前,很多的现实事物,包括城市,建筑和地标都已经有了平面电子地图。

为解决以上提及的实例,仅需要把期望访问的地理位置具体化,然后用旅行商问题的算法进行求解就行了。

TSP在其他领域还有很多重要的实际应用。

例如在组装线上的机器。

一些机器的目标就是为了在某种材料片上钻削不同的孔。

材料可能是电路板、汽车底盘甚至是用来做书架的木板。

钻头通过定位装置在材料片上重定位。

在某个局部的区域,钻头可以沿着轨迹移动到任何位置。

钻头的重定位所消耗的时间依赖于钻头需要移动的距离。

旅行商问题的解可以用来找出孔被加工的最优顺序。

在装配线的实例中,对每个工件为完成装配过程节约的少许时间意味着一天的产量的相应增加。

为了通过TSP解决这个时间的节约问题,对每个节点做了简化,用需要钻孔的位置来代替,而边用节点之间的距离来代替。

 

3.3TSP问题的数学模型

TSP问题的数学模型如下:

设有n个城市,寻找一条巡回路径

T=(t1,t2,...,tn),使得下列目标函数最小:

f(T)=

(ti,ti+1)+d(tn,t1)

其中ti为城市号,取值为1到n之间的自然数,d(i,j)为城市i和城市j之间的距离,对于对称式TSP,有d(i,j)=d(j,i)。

除此之外,模型还有其它一些等价的书写形式,这就不一一列举。

TSP问题是组合优化领域中的一个典型问题,涉及求多个变量的函数的最小值。

虽然陈述起来很简单,但求解却很困难,它一直是运筹学中最富挑战性的问题之一,且已经被证明是NP完全问题。

对于具有一个城市的TSP问题,其可能的路径数目为(n-1)!

/2,5个城市的情形对应120/10=12条路线,10个城市的情景对应3628800/20=181440条路线。

所以对于输入规模为n个城市TSP找到最优解的时间复杂性函数的数量级是O(n!

),当n比较大时,耗费的时间己经是个天文数字,至今尚未找到有效的求解方法。

在理论上虽然枚举法可以解这一问题,但是当n较大时,解题的时间消耗会使枚举法显得没有任何实际价值。

因此寻求一种求解时间短,能满足实际问题精度要求的解,成为解决该问题的主要途径。

快速、有效地解决TSP问题有着极高的实际应用价值,也就吸引了众多领域的学者对它进行研究。

尽管TSP仍未找到最优解,但是求解它的算法逐渐在改进。

1954年Dantzig,Fulkerson和Johnson解决了49个城市数目的TSP问题,经过半个世纪的研究,目前,最大的已成功求解的旅行商问题有24798个城市。

3.4TSP问题的分类

从TSP问题映射到图的类型,可以分为两类:

(1)城市间的距离都是对称的,它对应的是图论中的无向图;

(2)两个城市间的距离是非对称的,它所对应的是图论中的有向图.从问题本身的限制条件的强弱,可分为三类:

1.不做任何限制(但是一般都要求城市间的费用不为负数),只是给出距离矩阵,求最小回路;

2.要求距离间要满足三角不等式;

3.定义在欧式平面上的TSP问题,即EuclidTSP,它给出每个点在欧式平面上的坐标,而城市间的距离就是以他们的欧式距离来定义.

3.5现有的求解TSP问题的几种算法

在求解TSP的算法的过程中,人们一直在寻找切实有效的方法,按招时间出现的顺序大致可分为:

传统算法和智能演化算法。

传统算法有精确算法和近似优化算法,精确算法又有线性规划方法、动态规划方法、分支定界方法等,而近似算法有插入法、最近邻算法、r-opt算法、混合算法、概率算法等。

虽然传统算法能够找TSP问题的最优解,但随着问题规模的不断增长,算法所需要的时间非常巨大,因此只适用于求解规模较小的TSP问题。

20世纪80年代以来,一些新颖的智能优化算法,如模拟退火、遗传算法、禁忌搜索、人工神经网络、蚁群算法、粒子群算法、郭涛算法、免疫算法等,通过模拟或揭示某些自然现象(或过程)而得到发展,其思想和内容涉及数学、物理学、生物进化、人工智能、神经科学和统计力学等方面,为解决复杂问题提供了新的思路和手段.由于这些算法构造的直观性和自然机理,通常称作智能演化算法,或称为现代启发式算法。

引入智能演化算法的原因在于避免陷人局部最优解,希望得到更好的解上界。

(1)禁忌搜索算法

禁忌搜索算法是局部领域搜索算法的推广,主要思想是标记已经得到的局部最优解,并在进一步的迭代中避开这些局部最优解。

此方法需较强技术性,禁忌长度较难取。

若禁忌长度过长,则所需内存较大,否则,易陷入局部最优解。

(2)模拟退火算法

这是一种源于五十年代、基于MonteCarlo迭代求解思想的随机搜索算法,八十年代才开始应用于组合优化领域,其出发点是将组合优化问题与统计力学的热平衡作类比,把优化的目标函数视作能量函数,模仿物理学中固体物质的退火处理,先加温使之具有足够高的能量,然后再逐渐降温,其内部能量也相应下降,在热平衡条件下,物体内部处于不同状态的概率服从Boltzmann分布,若退火步骤恰当,则最

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 专升本

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1