全球旧事资料 分类
进行搜索的趋势这可以用人在认知事物时总是用过去的经验来解释。第3部分是c2ra
dNbestiXi表示粒子在解空间有朝着整个邻域过去曾碰到的最优解进行搜索的趋势这可以用人在认知事物时总可以通过学习其他人的知识也就是分享别人的经验来解释。因此粒子群优化算法实际上是借用了人或动物认知事物时的习惯经验及学习过程来进行寻优的。粒子在优化过程中的运动轨迹见图1。
图1粒子群算法优化搜索示意图
33粒子群优化算法的优点
粒子群优化算法具有以下主要优点1易于描述2便于实现3要调整的参数很少
4使用规模相对较少的群体5收敛需要评估函数的次数少6收敛速度快粒子群优化算法很容易实现计算代价低由于其内存和CPU速度要求都很低。而且它不需要目标函数的梯度信息只依靠函数值。粒子群优化算法已被证明是解决许多全局优化问题的有效方法。
f三、粒子群优化算法的实现
粒子群优化算法具有编程简单易实现的特点粒子群优化算法的流程如图2所示。下面给出其实现的具体步骤
步骤1初始化。初始搜索点的位置X0i及其速度V0i通常是在允许的范围内随机产生的每个粒子的Pbest坐标设置为其当前位置且计算出其相应的个体极值即个体极值点的适应度值而整个邻域的最优粒子就是该粒子邻域中个体极值中最好的记录该最好值的粒子序号并将Nbesti设置为该最好粒子的当前位置。
步骤2评价每一个粒子。计算粒子的适应度值如果好于该粒子当前的个体极值则将Pbest设置为该粒子的位置且更新个体极值。如果在该粒子的邻域内所有粒子的个体极值中最好的好于当前的Nbesti则将Nbesti设置为该粒子的位置记录该粒子的序号且更新Nbesti的函数值。
步骤3粒子的更新。用式21和式22对每一个粒子的速度和位置进行更新。
步骤4检验是否符合结束条件。如果当前的迭代次数达到了预先设定的最大次数或达到最小错误要求则停止迭代输出最优解否则转到步骤2。
图2粒子群算法优化算法流程图
三、程序和结果
31基本粒子群优化函数PSOm
fu
ctio
xmfvPSOfit
essNc1c2wMD
fformatlo
g
初始化种群的个体
fori1N
forj1D
xijra
d
随机初始化位置
vijra
d
随机初始化速度
e
d
e
d
先计算各个粒子的适应度并初始化Pi和Pg
fori1N
pifit
essxi
yixi
e
d
pgxNPg为全局最优
fori1N1
iffit
essxifit
esspg
pgxi
e
d
e
d
进入主要循环按照公式依次迭代
fort1M
fori1N
viwvic1ra
dyixic2ra
dpgxi
xixivi
iffit
essr
好听全球资料 返回顶部