



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、关于一种基于基因库和多重搜索策略求解TSP的遗传算法 论文关键词:旅行商问题 遗传算法 基因库 多重搜索策略 论文摘要:TSP是组合优化问题的典型代表,该文在分析了遗传算法的特点后,提出了一种新的遗传算法(GB?MGA),该算法将基因库和多重搜索策略结合起来,利用基因库指导单亲遗传演化的进化方向,在多重搜索策略的基础上利用改进的交叉算子又增强了遗传算法的全局搜索能力。通过对国际TSP库中多个实例的测试,结果表明:算法(GB?MGA)加快了遗传算法的收敛速度,也加强了算法的寻优能力。 TSP(traveling s
2、alesman problem)可以简述为:有n个城市1,2,n,一旅行商从某一城市出发,环游所有城市后回到原出发地,且各城市只能经过一次,要求找出一条最短路线。TSP的搜索空间是有限的,如果时间不受限制的话,在理论上这种问题终会找到最优解,但对于稍大规模的TSP,时间上的代价往往是无法接受的。这是一个典型的组合最优化问题,已被证明是NP难问题,即很可能不存在确定的算法能在多项式时间内求到问题的解1。由于TSP在工程领域有着广泛的应用,如货物运输、加工调度、网络通讯、电气布线、管道铺设等,因而吸引了众多领域的学者对它进行研究。TSP的求解方法种类繁多,主要有贪婪法、穷举法、免疫算法2、蚂蚁算法
3、3、模拟退火算法、遗传算法等。 遗传算法是一种借鉴生物界自然选择和遗传机制的随机化搜索算法,其主要特点是群体搜索策略和群体中个体之间的信息交换,搜索不依赖于梯度信息4。遗传算法主要包括选择、交叉和变异3个操作算子,它是一种全局化搜索算法,尤其适用于传统搜索算法难于解决的复杂和非线性问题。遗传算法虽然不能保证在有限的时间内获得最优解,但随机地选择充分多个解验证后,错误的概率会降到可以接受的程度。 用遗传算法求解TSP能得到令人满意的结果,但是其收敛速度较慢,而且种群在交叉算子作用下,会陷入局部解。采用局部启发式搜索算法等,虽然能在很短的时间内计算出小规模城市的高质量解,一旦城市规模稍大就容易陷入
4、局部最优解。因此,为了能够加快遗传算法的收敛速度,又能得到更好的近似最优解,该文采纳了文5中杨辉提出的基因库的想法,并结合文6中Cheng-Fa Tsai提出的多重搜索策略思想,使用单亲演化与群体演化相结合的方式来求解TSP问题。该文根据文7中最小生成树MST(minimum cost spanning tree)的应用,由MST建立TSP的基因库,保存有希望成为最优解的边,利用基因库提高初始群体的质量进行单亲演化,然后利用改进后的交叉算子和的多重搜索策略进行群体演化。 1单亲演化过程 现有的大多数演化算法在整个演化过程当中所涉及的基因,大多来源于
5、个体本身,个体质量的高低决定了算法的全局性能,如果群体中初始个体的适应度都较差,肯定要影响算法的收敛速度,对于规模稍大的TSP尤其明显8。该文为了克服上述弱点,首先利用普里姆算法求出TSP中最小生成树,并将各个MST中的每一条边都保存在一个n*(n-1)方阵里面,就构成了一个基因库,在生成初始群体的时候尽量使用基因库中的基因片段,来提高整个初始群体的适应度,从而提高算法的效率。 1.1TSP编码表示 设n个城市编号为1,2,n,为一条可行路径,Pk=Vk1Vk2Vkn为一条可行路径,它是1,2,n的一个随机排列,其含意是第k条路径起点城市是Vk1,最后一个城市是Vkn,则第k条环路的总长度可以
6、表示为: 其中,d(Vki,Vkj)表示城市Vki与城市Vkj之间的距离。在算法中环路Pk的总长d(Pk)用来评价个体的好坏9。适应度函数取路径长度d(Pk)的倒数,f(Pk)=1/ d(Pk)。 1.2构建TSP基因库 对n个编号为1,2,n的城市,根据它们的坐标计算各城市之间的欧氏距离d(i,j),i,j=1,2,n,得到一个n*n的方阵D= d(i,j)。然后利用普里姆算法求得该TSP的一棵MST,并将这棵MST中的每一条边e(i,j)对应地存储在一个n*(n-1)的方阵M= e(i,j),即该文的基因库。由于一个TSP可能有多棵MST,操作可以重复多次,这样生成的基因库中的基因就更多,
7、增强了初始群体的全局性。具体算法如下: Void MiniSpanTree?PRIM(MGraph G,VertexTypeu) Struct VertexType adjvex; VRType lowcost; closedgeMAX?VERTEX?NUM; k=LocateVex(G,u); for(j=0;j<G.vexnum;+j) if(j!=k)closedgej=u,G.arcskj.adj; closedgek.lowcost=0; for(i=0;i<G.vexnum;+i) k=minimum(closedge); printf(closedgek.adjvex
8、,G.vexsk); closedgek.lowcost=0; for(j=0;j<G.vexnum;+j) if(G.arcs kj.adj<closedgej.lowcost) closedgej=G.vexsk,G.arcskj.adj; 1.3单亲演化算法 单亲演化算法是利用遗传算法的优胜劣汰的遗传特性,在单个染色体内以基因重组的方式,使子代在满足TSP问题的限定条件下进行繁衍,然后保留适应度高的染色体种群,达到优化的目的。单亲演化算法的基因重组操作包括基因换位、基因段错位和基因段倒转三种操作来实现。基因换位操作是将亲代的染色体基因进行对换后,形成子代,其换位又分为单基因换
9、位和基因段换位两种方式。基因段错位操作是随机确定基因段,也随机选定错位位置,整段错移。基因段倒转操作则是随机地确定倒转基因段的起止位置,倒转操作是对该段内基因按中垂线作镜面反射,若段内基因数为奇数时,则中位基因不变。单亲演化时可以是单个操作用于单个父代,也可以是几种操作同时采用。为了编程方便,文中采用基因段倒转操作。 2群体演化过程 在单亲演化算法求得的初始群体基础上,再利用多重搜索策略并行地进行群体演化,这样在保证算法的快速收敛的同时也注重了搜索空间的全局性。 2.1交叉算子 该文算子采用一种与顺序交叉OX(order crossover)法类
10、似的交叉方法11,即随机在串中选择一个交配区域,例如以下两个父串及交配区域选定为: P1=(12|3456|789)P2=(98|7654|321) 将P2的交配区域加到P1的前面或后面,P1的交配区域加到P2的前面或后面,得 M1=(7654|123456789) M2=(3456|987654321) 在M1中自交配区域后依次删除与交配区域相同的城市码,得到最终的两个子串: S1=(765412389)S2=(345698721) 同时为了能更好地增强算子的全局搜索能力,对该算子作了如下的改进。子代个体的新边来自:随机生成和群体中其他个体,其选择比例由随机数p和阈值P来决定。如果随机数p小
11、于阈值P,则子代个体的新边来自随机生成,否则就来自群体中的其他个体。 这种改进后的交叉算子在父串相同的情况下仍能产生一定程度的变异效果,这对维持群体的多样化特性有一定的作用。实验结果也证实了这种改进算子对于种群的全局搜索能力有一定的提高,避免搜索陷入局部解。 2.2局部启发式算子 为了增强遗传算法的局部搜索性能,在算法中引入2-Opt局部搜索算子12。该算子通过比较两条边并交换路径以提升算法的局部搜索性能,示例见图2。 比较子路径ab+cd和ac+bd,如果ab+cd>ac+bd则交换,否则就不交换。考虑到程序的运行效率,不可能对每对边都做检查,所以选取染色体中的一定数量的边进行比较。2
12、-Opt搜索算子实际上进行的相当于变异操作,同时又不仅仅是简单的变异,而是提高算法的局部搜索性能的变异操作。 2.3选择机制和收敛准则 为了限制种群的规模13,该文采用了联赛选择法的淘汰规则。联赛选择法就是以各染色体的适应度作为评定标准,从群体中任意选择一定数目的个体,称为联赛规模,其中适应度最高的个体保存到下一代。这个过程反复执行,直到保存到下一代的个体数达到预先设定的数目为止。这样做可能导致种群过早收敛,因此在收敛准则上要采取苛刻的要求来保证搜索的全局性。 遗传算法求TSP问题如果不设定终止条件,其演化过程将会无限制地进行下去。终止条件也称收敛准则,因为多数最优化问题事先并不了解最优的目标
13、函数值,故无法判断寻优的精度。该文采用如下两条收敛准则:在连续K1代不再出现更优的染色体;优化解的染色体占种群的个数达K2的比例以上。当两准则均满足时,则终止运算,输出优化结果和对应的目标函数值。由数值实验表明,添加第2条准则之后,全局最优解的出现频率将大为提高。 2.4基于多重搜索策略的群体演化算法 由于基因库的引入,可能降低初始种群的多样性,为避免算法陷入局部最优解,因此在群体演化中采取多重搜索策略。由Cheng-Fa Tsai提出的多重搜索策略6,就是把染色体集中的染色体分成保守型和探索型两种不同类型的集合,然后针对不同类型的染色体集合根据不
14、同的交叉、变异概率分别进行交叉变异操作,对保守型染色体集合就采用比较低的交叉变异概率,而对探索型染色体集合就采用比较高的交叉变异概率。这种策略对保守型染色体集合的操作最大限度地保留了父代的优秀基因片段,另一方面对探索型染色体集合的操作又尽可能地提高了算法的全局搜索能力。为了提高算法的收敛速度,初始染色体集合该文采用了前面单亲演化的结果中的染色体集合,交叉算子则利用的是前面介绍的改进后的算子,改进后的多重搜索策略见下。 3实验结果与分析 该文的GB?MGA算法由C#编程实现,所有的结果都是在P42.0G微机上完成,并进行通用的TSP库实验,选用了具有一定代表性的TSP实例,并把该算法和其他算法做
15、了一个对比。为了减少计算量,程序中的数据经过四舍五入整数化处理,与实数解有一定的偏差,下面给出图Kroa100的示例。 为了证明该文提出的GB?MGA算法的有效性,将该文算法与典型的遗传算法GA、单亲遗传算法PGA以及文5中杨辉提出的Ge?GA(gene pool genetic algorithm)算法和文12中提出的MMGA(modified multiple-searching genetic algorithm)算法都进行了一个对比。 实验结果证明,该文算法的求解质量要优于GA、PGA、MMGA算法,而求解速度方面则优于Ge?GA算法,特别是对于大规模城市的TSP问题求解效果尤其明显,
16、具有快速收敛的特性。Ge?GA算法对于中等城市规模的TSP实例求解,其运算时间就大幅度增加,如果把该算法用于求解大规模和超大规模TSP问题,那么时间上的代价就让人无法忍受。而该文的GB?MGA算法在单亲遗传演化中就使用了基因库中的优质基因,使得单个个体的进化速度大大提高,从而为进一步的演化提供了条件,群体演化过程的选择机制和收敛准则的恰当选取使得算法在注重了求解质量的同时兼顾了算法的效率。 结束语该文在对TSP问题进行分析的基础上,通过对全局最优解和局部最优解中的边关系的分析发现,通过最小生成树的求解保存最有希望成为全局最优解的边,可以提高算法的效率,同时并不降低搜索的性能。在实验中发现,通过
17、生成基因库快速提高种群质量,虽然可以快速收敛,但是TSP问题的求解质量并没有达到一个可以接受的程度,因此在群体演化阶段中又加入了2-Opt局部搜索算子和多重搜索策略,对不同类型的染色体以不同几率进行选择交叉操作。 用该算法测试TSP库中的典型实例,结果显示,对初始种群运用单亲遗传算法,并引入基因库方法是可行的,有效地提高了算法的效率和收敛速度,在群体演化过程中引入多重搜索策略的方法,提高了算法的并行性和全局寻优性能,即使在较少的寻优步数也能得到适应度不错的局部优化解。GB-MGA算法在提高算法求解质量的同时兼顾了算法的效率, 但是其中还有许多有待解
18、决的问题,比如如何构建高质量的基因库,如何对现有基因库进行优化和扩充,以及算法中一些参数的选取问题等,这些方面,还需要进一步的研究。 参考文献 1 Bck T B,Hammel U,Schwefel H P.Evolutionary computation:Comments on the history and current state J. lEEE Transactions On Evolutionary Computation,1997,2(6):317 2王磊,潘进,焦李成.免疫算法J.电子学报,2000,28(7):7478 3 Dorigo M,Gambardella L M.A
19、nt Colony System:A CooperativeLearning Approach to the Traveling Salesman Problem J. IEEETransactions on Evolutionary Computation,1997,2(8):5366 4 Holland J H. Adaptation in Natural and Artificial Systems M.Ann Arbor:The University of Michigan,1975.1015 5杨辉,康立山,陈毓屏.一种基于构建基因库求解TSP问题的遗传算法J.计算机学报,2003,
20、26(12):17531758 6 Tsai Cheng-Fa, Tsai Chun-Wei, Yang Tzer. A Modified Multiple-Searching Method to Genetic Algorithms for Solving TravelingSalesman Problem J.IEEE Transactions on Systems,Man andCybernetics,2002,3(10):612 7 Baraglia R,Hidalgo J I, Perego R. A Hybrid Heuristic for theTraveling Salesman Problem J. IEEE Transactions on Evolutionary Computation,2001,5(12):613622 8 Tsai Cheng-Fa, Tsai Chun-Wei. A New Approach for SolvingLarge Traveling Salesman Problem Using Evolutionary Ant RulesC.In:Proc.of the 2002 Internation
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东省示范中学2025届高三3月份第一次模拟考试英语试卷含解析
- 2025届湖北省省实验中学高考英语考前最后一卷预测卷含答案
- 海底隧道工程中的隧道通风策略考核试卷
- 磨制谷物在农业与食品安全监管协同中的作用考核试卷
- 绿色能源利用与环保意识考核试卷
- 液体乳品加工过程中的质量检验方法考核试卷
- 羽绒被绗缝工艺培训考核试卷
- 玩具行业的国际标准与全球市场准入考核试卷
- 江苏省泰兴市振宇外国语校2025届初三下学期考前冲刺(三)生物试题试卷含解析
- 辽宁工程技术大学《体育舞蹈专项理论与实践A》2023-2024学年第二学期期末试卷
- 餐饮业供应链管理与采购策略
- 防爆电气工程施工方案
- 2023年高考真题-生物(辽宁卷) 含答案
- 《胸腔积液》课件
- 教师资格考试小学美术面试试题与参考答案(2024年)
- 智研咨询-中国骆驼奶制造行业市场全景调查、投资策略研究报告
- 2024年职业病防治考试题库附答案(版)
- ICD-10疾病编码完整版
- 肩关节超声检查
- 2023年山东青岛局属高中自主招生物理试卷真题(含答案详解)
- 毕业论文-中小企业防火墙的应用
评论
0/150
提交评论