付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于遗传算法的TSP问题研究摘要:旅行商问题是一个经典的优化组合问题,本文采用遗传算法来求解旅行商问题,深入讨论了遗传算法解决TSP问题的求解过程,并通过MATLAB对算法进行了实现,最后对实验结果进行分析。关键字:旅行商问题;遗传算法Abstract:Thetravelingsalesmanproblemisaclassicoptimalcombinationproblem.Inthispaper,weusegeneticalgorithmtosolvetheTSPproblem.Wediscussethesolvingprocess,andthealgorithmisrealizedbyM
2、ATLAB.Finally,theexperimentalresultsareanalyzed.Keywords:TravelingSalesmanProblem;GeneticAlgorithm1引言旅行商问题(TravelingSalesmanProblem,TSP的原始问题为:一个商人欲到n个城市推销商品,每两个城市i和j之间的距离为dj,如何选择一条道路使得商人每个城市正好走一遍后回到起点且所走路线最短。这是一个经典的优化组合问题,它可以扩展到很多问题,如电路布线、输油管路铺设等,但是,由于TSP问题的可行解数目与城市数目N是成指数型增长的,是一个NP-hard问题,即不存在多项式时间
3、算法。因而一般只能近似求解,遗传算法(GeneticAlgorithm,GA)是求解该问题的较有效的方法之一,当然还有如粒子群算法,蚁群算法,神经网络算法等优化算法也可以进行求解。遗传算法是美国学者Holland根据自然界“物竞天择,适者生存”现象而提出的一种随机搜索算法,本文采用MATLAB来实现遗传算法解决TSP问题。2旅行商问题旅行商问题可以具体描述为:已知n个城市之间的相互距离,现有一个推销员从某一个城市出发,必须遍访这n个城市,并且每个城市只能访问一次,最后又必须返回到出发城市,如何安排他对这些城市的访问次序,可使其旅行路线的总长度最短。图论模型如图1所示,构造一个图G=(V,e),
4、顶点V表示城市,边e表示连接两城市的路,边上的权W(e)表示距离(或时间或费用)。于是旅行推销员问题就成为在加权图中寻找一条经过每个顶点正好一次的最短圈的问题,即求最佳Hamilton圈的问题。图1TSP问题的图论模型TSP问题是NP-hard问题,。也就是说,对于大型网络(赋权图),目前还没有一个精确求解TSP问题的有效算法,因此只能找能求出相当好(不一定最优)的解的算法。TSP问题的数学规划模型:设dij是i与j之间的距离,Xij=0或1,其中1表示连线,0表示不连线,那么整个TSP问题的数学模型表小如下:minZ八dj*xji=j'Xj=1,iVst«i*ijwvNx,
5、<|k|-1,kcv,j3j式中,k为v的全部非空子集;|k|为集合k中包含图G的全部顶点个数。3遗传算法遗传算法(geneticalgorithm,GA)起源于对生物系统所进行的计算机模拟研究,是一种借鉴生物界自然选择(NatureSelection)和自然遗传机制的随机搜索算法(RandomSearchingAlgorithms)0其基本流程图如图2所示。该算法适宜于多峰值空间中的优化求解,能从任一初始化的群体出发,通过随机选择、交叉和变异等遗传操作,使群体逐渐进化到搜索空间越来越好的区域。遗传算法的应用已从最初的组合优化领域扩展到生产调度、自动控制、机器人学、图像处理、机器学习、数
6、据挖掘等多个领域。遗传算法应用的关键在于如何结合应用模型构造出染色体以及交叉、变异操作。3.1遗传算法的运行过程遗传算法的运算流程如图2所示。图2遗传算法的运算流程由图2可以看出,使用上述三种遗传算子的遗传算法的主要运算过程如下:(1)编码:解空间中的解数据X,作为遗传算法的表现型形式。从表现型到基因型的映射成为编码。遗传算法在进行搜索之前先将解空间数据表示成遗传空间的基因型用结构数据,这些用结构数据的不同组合就构成了不同的点。(2)初始群体的生成:随机产生N个初始用结构数据,每个审结构数据成为一个个体,N个个体构成了一个群体。遗传算法以这N个用结构作为初始点开始迭代。设置进化代数器t-0;设
7、置最大进化代数T;随机生成M个个体作为初始群体P(0)。(3)适应度值评价检测:适应度函数表明个体或解得优劣性。对于不同的问题,适应度函数的定义方法不同。根据具体问题,计算群体P(t)中个体的适应度。(4)进行遗传操作:群体P(t)通过选择、交叉、变异运算后得到下一代群体P(t+1>(5)终止条件判断:若tMT,则t.t+1,转到步骤(2);若t>T,贝U以进化过程中所得到的最大适应度的个体作为最有解输出,终止运算。3.2遗传算法的基本操作遗传算法有三个基本操作:选择(Selection)>交叉(Crossover,)和变异(Mutation)。从群体中选择优胜的个体,淘汰劣
8、质的个体的操作叫做选择。选择算子有时又称为再生算子(reproductionoperator)选择操作是建立在群体中个体的适应度评估基础上的,目前常用的选择算子有以下集中:适应度比例方法、随机遍历抽样法、局部选择法。其中,轮盘赌选择法(roulettewheelselection)是最简单也是最常用的选择方法。在该方法中,各个个体的选择概率和其适应值成比例。设群体大小为n,其中个体i的适应值为,则i被选择的概率为nPi=fi/'fij1显然,概率反映了个体i的适应值在整个群体的个体适应值总和中所占的比例。个体适应度越大,具被选择的概率就越高,反之亦然。交叉是把两个父代个体的部分结构加以
9、替换重组而生成新个体的操作。通过交叉,遗传算法的搜索能力得以飞跃提高。交叉算子根据交叉概率将群体中的两个个体随机的交换某些基因,能够产生新的基因组合,期望将有益基因组合在一起。根据编码表示的方法不同,可以有以下算法:(1)实值重组(realvaluedrecombination):离散重组(discreterecombination)>中间重组(intermediaterecombination)、线性重组(linearrecombination)、扩展线性重组(extendedlinearrecombination。(2)二进制交叉(binaryvaluedcrossover):单点交
10、叉(single-pointcrossover)、多点交叉(multiple-pointcrossover)、均匀交叉(uniformcrossover)、洗牌交叉(shufflecrossover)。最常用的交叉算子为单点交叉。具体操作是:在个体用中随机设定一个交叉点,实现交叉时,该点前或后的两个个体的部分结构进行互换,并产生两个新个体。下面给出了单点交叉的一个例子:个体A:1001111100100面个体个体B:00110000011111新个体变异算子的基本内容是对群体中的个体用的某些基因座上的基因值做变动。依据个体编码表示方法的不同,可以有以下的算法:实值变异、二进制变异。一般来说,变
11、异算子操作的基本步骤如下:(1)对群体中所有个体以实事先设定的变异概率判断是否进行变异。(2)对进行变异的个体随机选择变异位进行变异。3.3基本遗传算法的数学模型基本遗传算法(simplegeneticalgorithm,SGA)是一种群体型操作,该操作以群体中的所有个体为对象,只使用基本遗传算子(geneticoperator):选择算子、交叉算子和变异算子,其遗传进化操作过程简单,容易理解,是其他一些遗传算法的基础,它不仅给各种遗传算法提供了一个基本框架,同时也具有一定的应用价值。基本遗传算法可表示为:SGA=(C,E,B,M,:,P,T)式中,C:个体的编码方法;E:个体适应度评价函数;
12、P。:初始种群;M:种群大小;中:选择算子;:交叉算子;中:变异算子;T:遗传运算终止条件。图3为基本遗传算法的流程图。图3基本遗传算法的流程图4遗传算法求解TSP问题实例遗传算法求解TSP的基本步骤如下:(1)种群初始化。在解决TSP问题过程中个体编码方法为实数编码,实数编码为1n的实数的随机排列,初始化的参数有种群个数M、染色体基因个数(即城市的个数)、迭代次数C、交叉概率PC、变异概率R。(2)适应度函数。在TSP问题中,对于任意两个城市之间的距离D(i,j)已知,每个染色体(即n个城市的随机排列)可计算出总距离,因此可将一个随机全排列的总距离的倒数作为适应度函数,即距离越短,适应度函数
13、越好,满足TSP要求。(3)选择操作。本文采用轮盘赌法。(4)交叉操作。对于个体,随机的选择两个个体,在对应位置交换若干个基因片段,同时保证每个个体依然是1n的随机排列,防止进入局部收敛。(5)变异操作。对于变异操作,随机选取个体,同时随机选取个体的两个基因进行交换以实现变异操作。图4搜索过程图3tlM市T5P图5优化后的城市路径如图4所示是用遗彳算法进行TSP问题求解的搜索过程图,由图可以看出经过110次左右的搜索,种群已经接近最优解了,在第419代获得最优解。图5是一个动态显示每次搜索的路径及其所需要的时间,最后输出最优解。5结论本文采用MATLAB实现遗传算法求解TSP问题,并根据实验结
14、果进行了分析,遗传算法是一种智能优化算法,它的实现有些关键点,一是用的编码方式,本质就是问题编码,用长度及编码形式对算法收敛影响极大;二是适应函数的确定,这是选择的基础;三是自身参数的设定,其中重要的是群体大小,最大迭代次数,交叉概率和变异概率,通过实验我们可以看到最大迭代次数对问题求解的精度有影响,交叉概率和变异概率的设定对问题的收敛速度和求解精度都有极大的影响,目前很多研究都是根据具体的领域问题,改进交叉算子,变异算子,寻找最优的参数设定来提高算法收敛速度和保证最优解的得到,对算子的改进和参数值的设定这是将来的研究工作。参考文献:1傅颖勋.遗传算法的研究与改进D.北京:北京邮电大学,201
15、0:5-72武斌.遗传算法求解TSP问题的研究J.中国石油大学胜利学院学报,2014:23-253周敏.遗传算法求解TSP的研究J.无线互联科技,2015(3):128-1294张雁翔,祁育仙.改进遗传算法求解TSPJ.山西电子技术,2016(1):28-305高玮.现代智能仿生算法及其应用M,科学出版社,20116Coomi,Dorigo,Maniezzo.Distributedoptimizationbyantcolonies.InProcoftheFirstEuropeanCon#OnArtificialLifeR.ParisFranee:ElsevierPublishing,2011:
16、134-1427DorigoM.,ManiezzoD.,Colormi.AntSystem:OptimizationbyaColonyofCooperationAgentsJ.IEEETrans.OnsystemsMan,andCybernetics,2010(1):29-418HollandJ.AdaptationinNaturalandArtificialSystemsJ.Cambridge,MA:MITpress,20129HollandH.J.ConcerningEfficientAdaptiveSystemsJ.InYovits,M.C,EdSelf-OrganizingSystems,2008:215-23010Bremermann.O
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年盐池县中医院医护人员招聘考试题库及答案详解
- 2025年凤阳县中医院医护人员招聘考试题库及答案详解
- 2025年阳泉荫营煤矿医院医护人员招聘考试试题及答案详解
- 2025年嘉禾县人民医院医护人员招聘考试试题及答案详解
- 2023年婚前房产约定协议书
- 二年级数学计算题专项练习1000题汇编
- 2026年面试做心里测试题及答案
- 2025年湖北公务员考试申论试题(县乡卷)及答案
- 2026年临聘教师普法考试试题及答案
- 2026年房建总监理工程师考试试题及答案
- 精益生产3.VSM (价值流图及价值流分析)
- 各国打招呼方式简介课件
- 2024年中工国际工程股份有限公司招聘笔试参考题库含答案解析
- 人工智能对人类生活的影响与改变
- 基于机器视觉的表面缺陷检测方法研究进展
- 煤矿智能供电系统技术导则
- 2022年重庆市巴南区辅警考试试卷真题
- 《民航危险品运输》教学课件 第一章 民航危险品运输概述
- 少儿美术教案课件-《中班美术-小小雨伞》
- 真空测量技术基础培训系列课件
- 七年级数学平移练习题
评论
0/150
提交评论