ImageVerifierCode 换一换
格式:DOC , 页数:10 ,大小:636.50KB ,
资源ID:5852638      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

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

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(计算智能课程设计-粒子群优化算法求解旅行商问题-Matlab实现.doc)为本站上传会员【xrp****65】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

计算智能课程设计-粒子群优化算法求解旅行商问题-Matlab实现.doc

1、摘要:TSP是一个典型的NPC问题。本文首先介绍旅行商问题和粒子群优化算法的基本概念。然后构造一种基于交换子和交换序[1]概念的粒子群优化算法,通过控制学习因子和、最大速度,尝试求解旅行商问题。本文以中国31个省会城市为例,通过MATLAB编程实施对旅行商问题的求解,得到了一定优化程度的路径,是粒子群优化算法在TSP问题中运用的一次大胆尝试。 关键字:TSP问题;粒子群优化算法;MATLAB;中国31个城市TSP。 粒子群优化算法求解旅行商问题 1. 引言 1. 旅行商问题的概述 旅行商问题,即TSP问题(Traveling Salesman Problem)又译为旅行推销员问题

2、货郎担问题,是数学领域中著名问题之一。假设有一个旅行商人要拜访n个城市,他必须选择所要走的路径,路径的限制是每个城市只能拜访一次,而且最后要回到原来出发的城市。路径的选择目标是要求得的路径路程为所有路径之中的最小值。 TSP问题是一个组合优化问题,其描述非常简单,但最优化求解非常困难,若用穷举法搜索,对N个城市需要考虑N!种情况并两两对比,找出最优,其算法复杂性呈指数增长,即所谓“指数爆炸”。所以,寻求和研究TSP问题的有效启发式算法,是问题的关键。 2. 粒子群优化算法的概述 粒子群优化算法(Particle Swarm optimization,PSO)又翻译为粒子群算法、微粒群算法

3、或微粒群优化算法。是通过模拟鸟群觅食行为而发展起来的一种基于群体协作的随机搜索算法。通常认为它是群集智能 (Swarm intelligence, SI) 的一种。它可以被纳入多主体优化系统 (Multiagent Optimization System, MAOS). 粒子群优化算法是由Eberhart博士和Kennedy博士发明。 PSO模拟鸟群的捕食行为。一群鸟在随机搜索食物,在这个区域里只有一块食物。所有的鸟都不知道食物在那里。但是他们知道当前的位置离食物还有多远。那么找到食物的最优策略是什么呢。最简单有效的就是搜寻目前离食物最近的鸟的周围区域。 PSO从这种模型中得到启示并用于

4、解决优化问题。PSO中,每个优化问题的解都是搜索空间中的一只鸟。我们称之为“粒子”。所有的粒子都有一个由被优化的函数决定的适应值(fitnessvalue),每个粒子还有一个速度决定他们飞翔的方向和距离。然后粒子们就追随当前的最优粒子在解空间中搜索。 PSO初始化为一群随机粒子(随机解),然后通过迭代找到最优解,在每一次叠代中,粒子通过跟踪两个“极值”来更新自己。第一个就是粒子本身所找到的最优解,这个解叫做个体极值pBest,另一个极值是整个种群目前找到的最优解,这个极值是全局极值gBest。另外也可以不用整个种群而只是用其中一部分最优粒子的邻居,那么在所有邻居中的极值就是局部极值。 3.

5、 粒子群优化算法求解旅行商问题 旅行商问题是一个典型的、易于描述却难于处理的组合优化问题,并且是一个NP完全难题,其可能的路径数目与城市数目n是成指数型增长的,对n个城市而言,可能的路径总(n-1)!。随着n的增加,路径数将按数率急剧增长,即所谓的“指数爆炸”,所以一般很难精确地求出其最优解,因而寻找出其有效的近似求解算法就具有重要的理论意义。而粒子群优化算法是解决复杂问题的有效方法,自然也能应用于解决旅行商问题。 PSO模拟鸟群的捕食行为。一群鸟在随机搜索食物,在这个区域里只有一块食物。所有的鸟都不知道食物在那里。但是他们知道当前的位置离食物还有多远。那么找到食物的最优策略是什么呢。最简

6、单有效的就是搜寻目前离食物最近的鸟的周围区域。 2. 粒子群算法的基本思想[2] 1. 粒子群优化算法的基本原理 一个由个粒子(Particle)组成的群体(Swarm)在维搜索空间中以一定的速度飞行,每个粒子在搜索时,考虑到了自己搜索到的的历史最好点和群体内(或领域内)其它粒子的最好点,在此基础上进行位置(状态、也就是解)的变化。 第个粒子的位置表示为: 第个粒子的速度表示为:, 第个粒子所经历的历史最好点表示为: 群体内(或领域内)所有粒子所经历过的最好的点表示为:。 一般来说,粒子的位置和速度都是在连续的实数空间内进行取值,粒子的位置和速度根据如下方程进行变化

7、 其中,为惯性权重。和称为学习因子(Learning Factor)或加速系数(Acceleration Coefficient),一般为正常数。学习因子使粒子具有自我总结和向群体中优秀个体学习的能力,从而向自己的历史最优点以及群体内或领域内的历史最优点靠近。和通常等于2。,,是在区间内均匀分布的伪随机数。粒子的速度被限制在一个最大的范围内。 当把群体内所有粒子都作为领域成员时,得到粒子群优化算法的全局版本;当群体内部分成员组成领域时得到粒子群优化算法的局部版本。局部版本中,一般有两种方式组成领域,一种是索引号相邻的粒子组成领域,另一种是位置相邻的粒子组成领域。粒子群优化算法的

8、领域定义策略又可以称为粒子群的领域拓扑结构。[1] 2. 粒子群优化算法的流程 3. 粒子群优化算法的主要构成要素 1. 群体大小 是个整型参数。当很小的时候,陷入局优的可能性很大。然而,群体过大将导致计算时间大幅增加。并且当群体树木增长至一定水平时,再增长将不再有显著的作用。当=1时,PSO算法变成基于个体搜索的技术,一旦陷入局优,将不可能跳出。当m很大时,PSO的优化能力很好,可是收敛速度将非常慢。 2. 学习因子和 学习因子使粒子具有自我总结和向群体中优秀个体学习的能力,从而向群体内或领域内最优点靠近。和通常都等于2,不过也可能有其他取值。但是一般等于,并且范围在0和4之

9、间。 3. 最大速度: 最大速度决定粒子在一次迭代中最大的移动距离。较大,探索能力增强,但是粒子容易飞过最好的解。较小时,开发能力增强,但是容易陷入局优。有分析和实验表明,设定的作用可以通过惯性权重的调整来实现。所以现在的实验基本上使用进行初始化,将设定为每维变量的变化范围,而不必进行细致的选择与调节。 4. 惯性权重 智能优化方法的运行是否成功,探索能力和开发能力的平衡是非常关键的。对于粒子群优化算法来说,这两种能力的平衡就是靠惯性权重来实现的。较大的惯性权重使粒子在自己原来的方向上具有更大的速度,从而在原方向上飞行更远,具有更好的搜索能力;较小的惯性权重使粒子继承了较少的原方向上的

10、速度,从而飞行较近,具有更好的开发能力。通过调节惯性权重能够调节粒子群的搜索能力。 5. 领域拓扑结构 全局版本粒子群优化算法将整个群体作为粒子的领域,速度快,不过有时会陷入局优;局部版本粒子群优化算法将索引号相近或者位置相近的个体作为粒子的领域,收敛速度慢一点,不过很难陷入局部最优。显然,全局版本的粒子群优化算法可以看作局部版本粒子群优化算法的一个特例,即将整个群体都作为领域。 6. 停止准则 一般使用最大迭代次数或可以接受的满意解作为停止准则。 7. 粒子空间的初始化 较好地选择粒子的初始化空间,将大大缩短收敛时间。这是问题依赖的。 3. 粒子群算法求解旅行商问题的流程 粒

11、子群优化算法虽然成功地应用于连续优化的问题中,而在离散上的研究和应用还很少,尤其是用PSO解决TSP问题是一个新的研究方向[2]。 最初的PSO是用来解决连续空间的问题的,为了适合求解TSP问题,人们对算法进行了各种改进。本文采用王岚[3]重新定义PSO的运算符号和规则,引入交换子和交换序的概念,构造一种特殊的PSO用于求解TSP的方法。先对这种改进的PSO进行简略介绍: 定义1 设n个城市的TSP问题的解序列为S=(ai),i=1,2,…,n.定义交换子SO(i1,i2)为交换解S中的点ai1和ai2,则S’=S+ SO(i1,i2)为解S经算子SO(i1,i2)操作后的新

12、解,这里为符号“+”赋予了新的含义. 例1 有一个有5个城市的TSP问题,其解为S=(1,3,5,2,4),交换算子为SO(1,2),则S’=S+SO(1,2)=(1,3,5,2,4)+SO(1,2)=(3,1,5,2,4). 定义2 一个或多个交换子的有序队列就是交换序,记作SS。其中,SS=(SO1,SO2,…,SOn),SO1,SO2,…,SOn是交换子,它们之间的顺序是有意义的。 交换序作用于一个TSP解上意味着这个交换序中的所有交换子依次作用于该解上,即S’=S+SS=S+(SO1,SO2,…,SOn)=[(S+SO1)+SO2]+…+SOn. 定义3 不同的交换序作用

13、于同一解上可能产生相同的新解,所有有相同效果的交换序的集合称为交换序的等价集。 定义4 若干个交换序可以合并成一个新的交换序,定义为两个交换序的合并算子。 例2 设两个交换序SS1和SS2按先后顺序作用于解S上,得到新解S’。假设另外有一个交换序SS’作用于同一解上,能够得到相同的解S’,可定义SS’=SS1+SS2。SS’和SS1+SS2属于同一等价集。一般来说,SS’不唯一。 定义5 在交换序等价集中,拥有最少交换子的序称为该等价集的基本交换序。可按如下方法构造一个基本交换序。 设给定两个解路径A和B,需要构造一个基本交换序SS,使得B+SS=A。 A:(1,2,3,4,5

14、 B:(2,3,1,5,4) 可以看出,A(1)=B(3)=1,所以第一个交换子是SO(1,3),B1=B+SO(1,3),得到B1(1,3,2,5,4);A(2)=B1(3)=2,所以第二个交换子是SO(2,3),B2=B1+SO(2,3),得到B2=(1,2,3,5,4);同理,第三个交换子是SO(4,5),得到B3=B2+SO(4,5)=A。这样就得到一个基本交换序: SS=A-B=(SO(1,3),SO(2,3),SO(4,5))。 基本PSO算法中的速度算式在基于以上交换子和交换序的概念下各符号有了新的定义。其中、仍为学习因子,、仍为 [0,1]内 的随机数;表

15、示基本交换序以的概率保留,表示基本交换序以的概率保留。由此可以看出的值越大,保留的交换子就越多,的影响就越大;同理,的值越大, 的影响也就越大。这也正是学习因子的含义所在。 求解TSP的PSO算法步骤描述如下: (1). 初始化粒子群,即给群体中每一个粒子赋一个随机的初始解和交换序; (2). 如果满足条件,转步骤(5); (3). 根据粒子的当前位置,计算下一个位置,即新解: i. 计算与之间的差A,A=,其中A是一个基本交换序表示A作用于得到; ii. 计算B=,其中B也是一个基本交换序; iii. 由计算出速度,并将交换序转换为一个基本交换序; iv. 如果找到一个更好的

16、解,则更新 (4). 如果群体找到一个更好的解,则更新,转步骤(2); (5). 输出结果。 4. 实例验证 表一:中国31个省会城市的坐标 城市序号 1 2 3 4 5 6 7 8 横坐标 1304 3639 4177 3712 3488 3326 3238 4196 纵坐标 2312 1315 2244 1399 1535 1556 1229 1044 城市序号 9 10 11 12 13 14 15 16 横坐标 4312 4386 3007 2562 2788 2381 1332 3715

17、 纵坐标 790 570 1970 1756 1491 1676 695 1678 城市序号 17 18 19 20 21 22 23 24 横坐标 3918 4061 3780 3676 4029 4263 3429 3507 纵坐标 2179 2370 2212 2578 2838 2931 1908 2376 城市序号 25 26 27 28 29 30 31 横坐标 3394 3439 2935 3140 2545 2778 2370 纵坐标 2643 3201 32

18、40 3550 2357 2826 2975 (表中数据来自网站 本文以中国31个省会城市的旅行商问题作为验证标准,验证以上改进的粒子群算法的实用效果。 编写基于以上思想的求解中国31个城市旅行商问题的matlab程序(代码见附件),当主要参数为 编号 snn vmax c1 c2 gnmax 1 100 30 2 2 100 (其中snn为最初粒子数,vmax为最大速度, c1为粒子基于自己当前位置与自己历史最优位置的自我学习因子, c2 为粒子基于自己当前位置与群体最优位置的群体学习因子,gnmax为最大迭代次数。) 时,进行十次实验,得到

19、次数 1 2 3 4 5 路径长度 31997 31653 31804 31946 31056 次数 6 7 8 9 10 路径长度 32298 33198 31335 32416 32964 可知第二次得到的结果最好,其对应的遍历路径为L: [ 6 4 11 13 29 21 5 16 14 30 15 28 26 27 25 17 24 20 19 3 22 18 10 2 7 12

20、 1 31 23 8 9 ]、相应最佳粒子变化趋势及最好路径图为: 此结果与其他算法得到的最优值相差较大,但是可以看出,粒子确实在往好的方面变化。因此可以尝试改变参数,多次试验,看能否得到更优值。 5. 算法的改进 多次实验结果如下: 编号 snn vmax c1 c2 gnmax 最优值 1 100 30 1 3 100 31556 2 100 25 1 3 100 32211 3 100 20 1 3 100 31648 4 100 15 1 3 100 32649 5 100

21、10 1 3 100 31787 6 100 5 1 3 100 30590 7 100 5 1 2 100 32491 8 100 5 1 1 100 33169 9 100 5 2 3 100 32863 10 100 5 3 3 100 32109 11 150 5 1 3 100 31178 12 200 5 1 3 100 32106 13 250 5 1 3 100 31940 14 300 5 1 3 100 30050 15 350 5

22、1 3 100 30148 16 400 5 1 3 100 31069 17 300 5 1 3 50 32222 18 300 5 1 3 150 29746 19 300 5 1 3 200 29803 20 300 5 1 3 250 30598 21 300 5 1 3 300 29042 由以上实验结果可知,当初始化粒子总数snn为300,最大速度vmax为5,学习因子c1为1,c2为3,最大迭代次数为300时(即编号为21的实验),得到最短遍历长度为29042,其对应的遍历路径为L: [

23、 21 22 16 29 11 5 13 4 1 15 24 17 18 12 14 7 6 23 8 9 10 2 3 27 25 28 20 ]、相应最佳粒子变化趋势及最好路径图为: 6. 结论 改变各个参数值后求得的最优值差别不大,并且所得的最优值与其他算法求得的最优值相比更劣(遗传算法求解同样的问题得到的最优值为15404[3]),但是路径确实优化了,这种基于交换子和交换序的改进的粒子群优化算

24、法求解TSP问题是有一定成效的。 由最佳粒子变化趋势图可知最优值的变化依赖于突变,并且这种突变发生效率很低,然而通过修改学习因子c1、c2、以及最大速度vmax并不能明显改变这种突变率。我想是因为这种基于交换子和交换序的改进的粒子群优化算法的性质所决定的。当然也有可能由于编码不恰当造成的,但是目前我尚未找到更好的编码方法。 这种源于大自然群体智能的粒子群优化算法一定具有一定的通用性的,我相信通过恰当的改进一定能够用于现实生活中的绝大多数优化问题。本文所用的交换子和交换序的概念以及对应的编码方法也一定能够改进的。 7. 参考文献 [1] 黄岚,王康平,周春光,庞魏,董龙江,彭利.粒子群优化算法求解旅行商问题.吉林大学学报(理学版),2003,4:477-480. [2] 汪定伟,王俊伟,王洪峰等.智能优化方法.高等教育出版社.2007 [3] 丛爽,贾亚军.进化策略与蚁群算法融合的求解旅行商问题.控制工程.2011,v.8,no.1. 10

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服