版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.8/8摘要:TSP是一个典型的NPC问题。本文首先介绍旅行商问题和粒子群优化算法的基本概念。然后构造一种基于交换子和交换序[1]概念的粒子群优化算法,通过控制学习因子和、最大速度,尝试求解旅行商问题。本文以中国31个省会城市为例,通过MATLAB编程实施对旅行商问题的求解,得到了一定优化程度的路径,是粒子群优化算法在TSP问题中运用的一次大胆尝试。关键字:TSP问题;粒子群优化算法;MATLAB;中国31个城市TSP。粒子群优化算法求解旅行商问题引言旅行商问题的概述旅行商问题,即TSP问题〔TravelingSalesmanProblem又译为旅行推销员问题货郎担问题,是数学领域中著名问题之一。假设有一个旅行商人要拜访n个城市,他必须选择所要走的路径,路径的限制是每个城市只能拜访一次,而且最后要回到原来出发的城市。路径的选择目标是要求得的路径路程为所有路径之中的最小值。TSP问题是一个组合优化问题,其描述非常简单,但最优化求解非常困难,若用穷举法搜索,对N个城市需要考虑N!种情况并两两对比,找出最优,其算法复杂性呈指数增长,即所谓"指数爆炸"。所以,寻求和研究TSP问题的有效启发式算法,是问题的关键。粒子群优化算法的概述粒子群优化算法<ParticleSwarmoptimization,PSO>又翻译为粒子群算法、微粒群算法、或微粒群优化算法。是通过模拟鸟群觅食行为而发展起来的一种基于群体协作的随机搜索算法。通常认为它是群集智能<Swarmintelligence,SI>的一种。它可以被纳入多主体优化系统
<MultiagentOptimizationSystem,MAOS>.粒子群优化算法是由Eberhart博士和Kennedy博士发明。PSO模拟鸟群的捕食行为。一群鸟在随机搜索食物,在这个区域里只有一块食物。所有的鸟都不知道食物在那里。但是他们知道当前的位置离食物还有多远。那么找到食物的最优策略是什么呢。最简单有效的就是搜寻目前离食物最近的鸟的周围区域。PSO从这种模型中得到启示并用于解决优化问题。PSO中,每个优化问题的解都是搜索空间中的一只鸟。我们称之为"粒子"。所有的粒子都有一个由被优化的函数决定的适应值<fitnessvalue>,每个粒子还有一个速度决定他们飞翔的方向和距离。然后粒子们就追随当前的最优粒子在解空间中搜索。PSO初始化为一群随机粒子<随机解>,然后通过迭代找到最优解,在每一次叠代中,粒子通过跟踪两个"极值"来更新自己。第一个就是粒子本身所找到的最优解,这个解叫做个体极值pBest,另一个极值是整个种群目前找到的最优解,这个极值是全局极值gBest。另外也可以不用整个种群而只是用其中一部分最优粒子的邻居,那么在所有邻居中的极值就是局部极值。粒子群优化算法求解旅行商问题旅行商问题是一个典型的、易于描述却难于处理的组合优化问题,并且是一个NP完全难题,其可能的路径数目与城市数目n是成指数型增长的,对n个城市而言,可能的路径总<n-1>!。随着n的增加,路径数将按数率急剧增长,即所谓的"指数爆炸",所以一般很难精确地求出其最优解,因而寻找出其有效的近似求解算法就具有重要的理论意义。而粒子群优化算法是解决复杂问题的有效方法,自然也能应用于解决旅行商问题。PSO模拟鸟群的捕食行为。一群鸟在随机搜索食物,在这个区域里只有一块食物。所有的鸟都不知道食物在那里。但是他们知道当前的位置离食物还有多远。那么找到食物的最优策略是什么呢。最简单有效的就是搜寻目前离食物最近的鸟的周围区域。粒子群算法的基本思想[2]粒子群优化算法的基本原理一个由个粒子<Particle>组成的群体<Swarm>在维搜索空间中以一定的速度飞行,每个粒子在搜索时,考虑到了自己搜索到的的历史最好点和群体内<或领域内>其它粒子的最好点,在此基础上进行位置<状态、也就是解>的变化。第个粒子的位置表示为:第个粒子的速度表示为:,第个粒子所经历的历史最好点表示为:群体内<或领域内>所有粒子所经历过的最好的点表示为:。一般来说,粒子的位置和速度都是在连续的实数空间内进行取值,粒子的位置和速度根据如下方程进行变化其中,为惯性权重。和称为学习因子<LearningFactor>或加速系数<AccelerationCoefficient>,一般为正常数。学习因子使粒子具有自我总结和向群体中优秀个体学习的能力,从而向自己的历史最优点以及群体内或领域内的历史最优点靠近。和通常等于2。,,是在区间内均匀分布的伪随机数。粒子的速度被限制在一个最大的范围内。当把群体内所有粒子都作为领域成员时,得到粒子群优化算法的全局版本;当群体内部分成员组成领域时得到粒子群优化算法的局部版本。局部版本中,一般有两种方式组成领域,一种是索引号相邻的粒子组成领域,另一种是位置相邻的粒子组成领域。粒子群优化算法的领域定义策略又可以称为粒子群的领域拓扑结构。[1]粒子群优化算法的流程粒子群优化算法的主要构成要素群体大小是个整型参数。当很小的时候,陷入局优的可能性很大。然而,群体过大将导致计算时间大幅增加。并且当群体树木增长至一定水平时,再增长将不再有显著的作用。当=1时,PSO算法变成基于个体搜索的技术,一旦陷入局优,将不可能跳出。当m很大时,PSO的优化能力很好,可是收敛速度将非常慢。学习因子和学习因子使粒子具有自我总结和向群体中优秀个体学习的能力,从而向群体内或领域内最优点靠近。和通常都等于2,不过也可能有其他取值。但是一般等于,并且范围在0和4之间。最大速度:最大速度决定粒子在一次迭代中最大的移动距离。较大,探索能力增强,但是粒子容易飞过最好的解。较小时,开发能力增强,但是容易陷入局优。有分析和实验表明,设定的作用可以通过惯性权重的调整来实现。所以现在的实验基本上使用进行初始化,将设定为每维变量的变化范围,而不必进行细致的选择与调节。惯性权重智能优化方法的运行是否成功,探索能力和开发能力的平衡是非常关键的。对于粒子群优化算法来说,这两种能力的平衡就是靠惯性权重来实现的。较大的惯性权重使粒子在自己原来的方向上具有更大的速度,从而在原方向上飞行更远,具有更好的搜索能力;较小的惯性权重使粒子继承了较少的原方向上的速度,从而飞行较近,具有更好的开发能力。通过调节惯性权重能够调节粒子群的搜索能力。领域拓扑结构全局版本粒子群优化算法将整个群体作为粒子的领域,速度快,不过有时会陷入局优;局部版本粒子群优化算法将索引号相近或者位置相近的个体作为粒子的领域,收敛速度慢一点,不过很难陷入局部最优。显然,全局版本的粒子群优化算法可以看作局部版本粒子群优化算法的一个特例,即将整个群体都作为领域。停止准则一般使用最大迭代次数或可以接受的满意解作为停止准则。粒子空间的初始化较好地选择粒子的初始化空间,将大大缩短收敛时间。这是问题依赖的。粒子群算法求解旅行商问题的流程粒子群优化算法虽然成功地应用于连续优化的问题中,而在离散上的研究和应用还很少,尤其是用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操作后的新解,这里为符号"+"赋予了新的含义.有一个有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不同的交换序作用于同一解上可能产生相同的新解,所有有相同效果的交换序的集合称为交换序的等价集。定义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;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]内的随机数;表示基本交换序以的概率保留,表示基本交换序以的概率保留。由此可以看出的值越大,保留的交换子就越多,的影响就越大;同理,的值越大,的影响也就越大。这也正是学习因子的含义所在。求解TSP的PSO算法步骤描述如下:初始化粒子群,即给群体中每一个粒子赋一个随机的初始解和交换序;如果满足条件,转步骤〔5;根据粒子的当前位置,计算下一个位置,即新解:计算与之间的差A,A=,其中A是一个基本交换序表示A作用于得到;计算B=,其中B也是一个基本交换序;由计算出速度,并将交换序转换为一个基本交换序;如果找到一个更好的解,则更新如果群体找到一个更好的解,则更新,转步骤〔2;输出结果。实例验证表一:中国31个省会城市的坐标城市序号12345678横坐标13043639417737123488332632384196纵坐标23121315224413991535155612291044城市序号910111213141516横坐标43124386300725622788238113323715纵坐标79057019701756149116766951678城市序号1718192021222324横坐标39184061378036764029426334293507纵坐标21792370221225782838293119082376城市序号25262728293031横坐标3394343929353140254527782370纵坐标2643320132403550235728262975<表中数据来自网站>本文以中国31个省会城市的旅行商问题作为验证标准,验证以上改进的粒子群算法的实用效果。编写基于以上思想的求解中国31个城市旅行商问题的matlab程序〔代码见附件,当主要参数为编号snnvmaxc1c2gnmax11003022100〔其中snn为最初粒子数,vmax为最大速度,c1为粒子基于自己当前位置与自己历史最优位置的自我学习因子,c2为粒子基于自己当前位置与群体最优位置的群体学习因子,gnmax为最大迭代次数。时,进行十次实验,得到次数12345路径长度3199731653318043194631056次数678910路径长度3229833198313353241632964可知第二次得到的结果最好,其对应的遍历路径为L:[64111329215161430152826272517242019322181027121312389]、相应最佳粒子变化趋势及最好路径图为:此结果与其他算法得到的最优值相差较大,但是可以看出,粒子确实在往好的方面变化。因此可以尝试改变参数,多次试验,看能否得到更优值。算法的改进多次实验结果如下:编号snnvmaxc1c2gnmax最优值1100301310031556210025131003221131002013100316484100151310032649510010131003178761005131003059071005121003249181005111003316991005231003286310100533100321091115051310031178122005131003210613250513100319401430051310030050153505131003014816400513100310691730051350322221830051315029746193005132002980320300513250305982130051330029042由以上实验结果可知,当初始化粒子总数snn为300,最大速度vmax为5,学习因子c1为1,c2为3,最大迭代次数为300时〔即编号为21的实验,得到最短遍历长度为29042,其对应的遍历路径为L:[2122162911513
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2019湘美版 高中美术 选择性必修5 工艺《第二单元 印染工艺》大单元整体教学设计2020课标
- 2024届贵州省平坝县新启航教育高三第二次适应性(模拟)检测试题数学试题
- 2024届广东省重点名校高三下期1月月考数学试题
- 餐馆服务员劳务合同
- 材料供应合同协议
- 病情免责协议书
- 北京市劳动合同法实施细则全文
- 期末 试题 -2024-2025学年人教PEP版英语六年级上册 (含答案)
- 湖北省孝感市汉川市2024-2025学年九年级上学期期中历史试题
- 铝压延加工材相关行业投资规划报告范本
- 2024中小学生国防教育与爱国主义情操培养合同
- 电力工程施工售后保障方案
- 2024至2030年中国美式家具行业投资前景及策略咨询研究报告
- 俯卧位心肺复苏
- 氢气中卤化物、甲酸的测定 离子色谱法-编制说明
- 2024年经济师考试-中级经济师考试近5年真题集锦(频考类试题)带答案
- 艺术哲学:美是如何诞生的学习通超星期末考试答案章节答案2024年
- 关于体育健身的调查问卷
- 2024年重庆市高考地理真题(解析版)
- 2024年江苏省南通市中考英语试卷(含答案解析)
- 案例一动植物细胞模型制作课件人教版生物七年级上册
评论
0/150
提交评论