ImageVerifierCode 换一换
格式:DOC , 页数:9 ,大小:73.50KB ,
资源ID:13884639      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/13884639.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(最短路径TSP遗传算法_精品文档Word格式.doc)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

最短路径TSP遗传算法_精品文档Word格式.doc

1、4.1.2 遗传编码采用下标子集T的二进制编码方案是常用的遗传编码方法。串T的长度等于n(问题规模),Ti(1in)1表示该物件装入背包,Ti0表示不装入背包。基于背包问题有近似求解知识,以及考虑到遗传算法的特点(适合短定义距的、低阶的、高适应度的模式构成的积木块结构类问题),通常将Pi,Si按Pi/Si值的大小依次排列,即P1/S1P2/S2Pn/Sn。4.1.3 适应度函数在上述编码情况下,背包问题的目标函数和约束条件可表示如下。目标函数:约束条件:按照利用惩罚函数处理约束条件的方法,我们可构造背包问题的适应度函数f(T)如下式:f(T) = J(T) + g(T)式中g(T)为对T超越约

2、束条件的惩罚函数,惩罚函数可构造如下:式中Em为Pi/S(1in)i的最大值,为合适的惩罚系数。4.2 货郎担问题(Traveling Salesman ProblemTSP)在遗传其法研究中,TSP问题已被广泛地用于评价不同的遗传操作及选择机制的性能。之所以如此,主要有以下几个方面的原因:(1) TSP问题是一个典型的、易于描述却难以处理的NP完全(NP-complete)问题。有效地解决TSP问题在可计算理论上有着重要的理论价值。(2) TSP问题是诸多领域内出现的多种复杂问题的集中概括和简化形式。因此,快速、有效地解决TSP问题有着极高的实际应用价值。(3) TSP问题因其典型性已成为各

3、种启发式的搜索、优化算法的间接比较标准,而遗传算法就其本质来说,主要是处理复杂问题的一种鲁棒性强的启发式随机搜索算法。因此遗传算法在TSP问题求解方面的应用研究,对于构造合适的遗传算法框架、建立有效的遗传操作以及有效地解决TSP问题等有着多方面的重要意义。问题描述:寻找一条最短的遍历n个城市的路径,或者说搜索整数子集X1,2,n(X的元素表示对n个城市的编号)的一个排列(X) = v1,v2,vn,使取最小值。式中的d(vi, vi+1)表示城市vi到城市vi+1的距离。4.2.1 编码与适应度函数编码1 以遍历城市的次序排列进行编码。如码串1 2 3 4 5 6 7 8表示自城市l开始,依次

4、经城市2,3,4,5,6,7,8,最后返回城市1的遍历路径。显然,这是一种针对TSP问题的最自然的编码方式。这一编码方案的主要缺陷在于引起了交叉操作的困难。2 采用“边”的组合方式进行编码。例如码串2 4 5 3 6 8 7 1的第1个码2表示城市1到城市2的路径在TSP圈中,第2个码4表示城市2到城市4的路径在TSP圈中,以此类推,第8个码1表示城市7到城市1的路径在TSP圈中。3 间接“节点”编码方式。以消除“一点交叉”策略(或多点交叉策略)引起的非法路径问题。码串长度仍为n,定义各等位基因的取值范围为(n i + 1),i为基因序号,解码时,根据相应基因位的取值,从城市号集合中不回放地取

5、一个城市号,直至所有城市号被取完。由于这种编码方式特征遗传性较差,因此现行的研究中很少采用。适应度函数适应度函数常取路径长度Td的倒数,即f1/Td若结合TSP的约束条件(每个城市经过且只经过一次),则适应度函数可表示为:f1/(Td +*Nt),其中Nt是对TSP路径不合法的度量(如取付Nt为未遍历的城市的个数),为惩罚系数,常取城市间最长距离的两倍多一点(如2.05*dmax)。4.2.2 交叉策略问题:基于TSP问题的顺序编码(其它编码如以边的组合状态进行编码也呈现相似特性),若采取简单的一点交叉或多点交叉策略,必然以极大的概率导致未能完全遍历所有城市的非法路径。如8城市的TSP问题的两

6、个父路径为 1 2 3 4 | 5 6 7 8 8 7 6 5 | 4 3 2 1若采取一点交叉,且交叉点随机选为4,则交叉后产生的两个后代为 8 7 6 5 5 6 7 8 1 2 3 4 4 3 2 1显然,这两个子路径均未能遍历所有8个城市,都违反TSP问题的约束条件。可以采取上述构造惩罚函数的方法,但试验效果不佳。可能的解释:这一方法将本已十分复杂的TSP问题更加复杂化了。因为满足TSP问题约束条件的可行解空间规模为n!;而按构造惩罚函数的方法,其搜索空间规模变为nn;随着n的增大n!与nn之间的差距是极其惊人的。解决这一约束问题的另一种处理方法是对交叉、变异等遗传操作做适当的修正,使

7、其自动满足TSP的约束条件。常用的几种交叉方法:1部分匹配交叉(PMX,Partially Matched Crossover)法PMX操作是由Goldberg和Lingle于1985年提出的。在PMX操作中,先依据均匀随机分布产生两个位串交叉点,定义这两点之间的区域为一匹配区域,并使用位置交换操作交换两个父串的匹配区域。实例:如两父串及匹配区域为 A9 8 4 | 5 6 7 | 1 3 2 0 B8 7 1 | 2 3 0 | 9 5 4 6首先交换A和B的两个匹配区域,得到 A9 8 4 | 2 3 0 | l 3 2 0 B8 7 1 | 5 6 7 | 9 5 4 6对于A、B两子串

8、中匹配区域以外出现的遍历重复,依据匹配区域内的位置映射关系,逐一进行交换。对于A有2到5,3到6,0到7的位置符号映射,对A的匹配区以外的2,3,0分别以5,6,7替换,则得 A”9 8 4 | 2 3 0 | 1 6 5 7 同理可得: B”8 0 1 | 5 6 7 | 9 2 4 3这样,每个子串的次序部分地由其父串确定。2顺序交叉法(OX,Order Crossover)法与PMX法相似,Davis(1985)等人提出了一种OX法,此方法开始也是选择一个匹配区域:并根据匹配区域的映射关系,在其区域外的相应位置标记H,得到 A9 8 4 | 5 6 7 | 1 H H H B8 H 1

9、| 2 3 0 | 9 H 4 H再移动匹配区至起点位置,且在其后预留相等于匹配区域的空间(H数目),然后将其余的码按其相对次序排列在预留区后面,得到 A”5 6 7 H H H 1 9 8 4 B”2 3 0 H H H 9 4 8 1最后将父串A,B的匹配区域相互交换,并放置到A”,B”的预留区内,即可得到两个子代: A”5 6 7 | 2 3 0 | 1 9 8 4 B”2 3 0 | 5 6 7 | 9 4 8 1虽然,PMX法与OX法非常相似,但它们处理相似特性的手段却不同。PMX法趋向于所期望的绝对城市位置,而OX法却趋向于期望的相对城市位置。3循环交叉(CX,cycle cros

10、sover)法Smith等人提出的CX方法与PMX方法和OX方法有不同之处。循环交叉的执行是以父串的特征作为参考,使每个城市在约束条件下进行重组。假设两个个体:A1 2 3 4 5 6 7 8 9B4 1 2 8 7 6 9 3 5进行交叉。以后代A为例说明生成后代的过程:(1) 从A中取第一个元素填人A的第一个位置:A1 # # # # # # # #(2) B的第一个元素为“4”,则在A中查找“4”的位置,并将它填入A相应的位置中:A1 # # 4 # # # # #(3) B的第四个元素为“8”,则在A中查找“8”的位置,并将它填入A相应的位置中:A1 # # 4 # # # 8 #(4

11、) B的第八个元素为“3”,则在A中查找“3”的位置,并将它填入A相应的位置中:A1 # 3 4 # # # 8 #(5) B的第三个元素为“2”,则在A中查找“2”的位置,并将它填人A相应的位置中:A1 2 3 4 # # # 8 #(6) B的第二个元素为“1”,而“1”在A中已经出现,这样就构成了一个循环。此时将剩下的位置填入B中对应位置的值:A1 2 3 4 7 6 9 8 5同理,若以A为参照,可以得到B。最后交叉所得的后代为:B4 1 2 8 5 6 7 3 9循环交叉算子的特点是保留了父代个体中序列的绝对位置。4基于知识的交叉方法这种方法是一种启发式的交叉方法,按以下规划构造后代

12、: (1) 随机地选取一个城市作为子代圈的开始城市。 (2) 比较父串中与开始城市邻接的边,选取最小的边添加到圈的路径中。 (3) 重复第(2)步,如果发现按最小边选取的规划产生非法路径(重复经过同一城市),则按随机法产生一合法的边,如此反复,直至形成一完整的TSP圈。使用这一方法,可获得较好的结果。不过,这一方法使用了基于问题的一些知识,损失了遗传算法的通用性和鲁棒性。关于TSP问题的遗传交叉方法还有各种各样的变形方法,一般来说,交叉方法应能使父串的待征遗传给子串,子串应能部分或全部地继承父串的结构特征和有效基因。4.2.3 变异技术从遗传算法的观点来看,解的进化主要靠选择机制和交叉策略来完

13、成,变异只是为选择、交叉过程中可能丢失的某些遗传基因进行修复和补充,变异在遗传算法的全局意义上只是一个背景操作。针对TSP问题,主要的变异技术如下:1位点变异变异仅以一定的概率(通常较小)对串的某些位作值的变异。2逆转变异在串中随机选择两点,再将这两点内的子串按反序插入到原位置中,如串A的逆转点为3,6,则经逆转后,变为AA 1 2 3 | 4 5 6 | 7 8 9 0A1 2 3 | 6 5 4 | 7 8 9 03对换变异随机选择串中的两点,交换其值(码)。对于串A若对换点为4,7,则经对换后,A为A1 2 3 7 5 6 4 8 94插人变异从串中随机选择1个码,将此码插入随机选择的插入点中间,对于上述A而言若取插入码为5,选取插入点为23之间则

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

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