毕业论文

打赏
当前位置: 毕业论文 > 电子通信 >

Matlab的粒子群算法的仿真研究 (5)

时间:2017-06-26 19:52来源:毕业论文
2.3 基本粒子群算法流程 算法的流程如下: 1)初始化粒子群,包括群体规模 ,每个粒子的位置 和速度 2)计算每个粒子的适应度值 ; 3)对每个粒子,用它的


2.3 基本粒子群算法流程
算法的流程如下:
1)初始化粒子群,包括群体规模 ,每个粒子的位置 和速度
2)计算每个粒子的适应度值 ;
3)对每个粒子,用它的适应度值 和个体极值 比较,如果  ,则用 替换掉 ;
4)对每个粒子,用它的适应度值 和全局极值 比较,如果 则用 替 ;
5)根据公式(2.1),(2.2)更新粒子的速度 和位置  ;
6)如果满足结束条件(误差足够好或到达最大循环次数)退出,否则返回2)。
 
图2.1. PSO算法流程图
2.4 算法特点
1、式(2.1)中第1部分可理解为粒子先前的速度或惯性;第2部份可理解为粒子的“认知”行为,表示粒子本身的思考能力;第3部分可理解为粒子的“社会”行为,表示粒子之间的信息共享与相互合作。公式(2.2) 表示了粒子在求解空间中,由于相互影响导致的运动位置调整。整个求解过程中,惯性权重 、加速因子 和 和最大速度 共同文护粒子对全局和局部搜索能力的平衡。
2、粒子群优化算法初期,其解群随进化代数表现了更强的随机性,正是由于其产生了下一代解群的较大的随机性,以及每代所有解的“信息”的共享性和各个解的“自我素质”的提高。
3、PSO 的一个优势就是采用实数编码,不需要像遗传算法一样采用二进制编码(或者采用针对实数的遗传操作) 。例如对于问题 求解, 粒子可以直接编码为  ,而适应度函数就是  。
4、粒子具有“记 忆”的特性,它们通过“自我”学习和向“他人”学习,使其下一代解有针对性的从“先辈”那里继承更多的信息,从而能在较短的时间内找到最优解。
5、与遗传算法相比,粒子群优化算法的信息共享机制是很不同的:在遗传算法中,染色体互相共享信息,所以整个种群的移动是比较均匀的向最优区域移动;在粒子群优化算法中,信息流动是单向的,即只有 将信息给其他的粒子,这使得整个搜索更新过程跟随当前解。
3.粒子群优化算法及改进策略
由于PSO中粒子向自身历史最佳位置和邻域或群体历史最佳位置聚集,形成粒子种群的快速趋同效应,容易出现陷入局部极值、早熟收敛或停滞现象。同时,PSO的性能也依赖于算法参数。为了克服上述不足,各国研究人员相继提出了各种改进措施。本文将这些改进分为4类:粒子群初始化、邻域拓扑、参数选择和混合策略。
3.1 粒子群初始化设置
研究表明,粒子群初始化对算法性能产生一定影响。为了初始种群尽可能均匀覆盖整个搜索空间,提高全局搜索能力,Richard 和Ventura 提出了基于centroidal voronoi tessellations (CVTs)的种群初始化方法;薛明志等人采用正交设计方法对种群进行初始化;Campana 等人将标准PSO迭代公式改写成线性动态系统,并基于此研究粒子群的初始位置,使它们具有正交的运动轨迹;认为均匀分布随机数进行初始化实现容易但尤其对高文空间效果差,并另外比较了3种初始化分布方法。
3.2 粒子群算法原理及实现
3.2.1基本粒子群算法
基本粒子群算法采用常数学习因子c1和c2及惯性权重w,粒子根据如下的公式在更新自己的速度和新的位置。
 
基本粒子群的算法PSO的的基本步骤如下:
1)    随机初始化种群中个体微粒的位置和速度;
2) 评价每个微粒的适应度,将当前各微粒的位置和适应值存储在个体微粒的pbest中,将所有的pbest中适应值最优个体的位置和适应值存储于gbest中;
3) 用下式更新粒子的速度和位移: Matlab的粒子群算法的仿真研究 (5):http://www.751com.cn/tongxin/lunwen_9916.html
------分隔线----------------------------
推荐内容