粒子群优化算法研究
粒子群优化(PSO)算法是一种新颖的演化算法,它属于一类随机全局优化技术,通过粒子间的相互作用在复杂搜索空间中发现最优区域。本文介绍了PSO算法的基本原理、应用领域,并用matlab实现了该算法。
福
建电
脑
2 1年第 1期 0 1 l
粒子群优化算法研究 宁辉华,曹步文 (阳职业技术学院湖南益阳 43 0 益 10 1)
【摘要】粒子群- q P O)法是一种新颖的演化算法,: f G(S算 ̄,它属于一类随机全局优化技术,过粒子通 间的相互作用在复杂搜索空间中发现最优区域。本文介绍了 P O算法的基本原理、用领域 .用 ma a S应并 db实现了该算法。
【关键词】:粒子群优化算法; tb演化算法: maa; l 1引言、
粒子群优化算法 ( at l w r pi i t nP O) P r ce am O t z i .S i S m ao
是计算智能领域,了蚁群算法,除鱼群算法之外的一种群体智能的优化算法。该算法最早由 K ney和 E end . b ra eh ̄在 1 9 9 5年提出的。算法源于对鸟类捕食行为该的研究。在算法中,每个优化问题的潜在解都是搜索空
间中一个“ z(atl”粒 j Prce的状态, ̄ i )每个粒子都对应一个由目标函数决定的适应度值 (i esV le,子的速 Ft s au 1粒 n 度决定了它们飞翔的方向和距离。粒子根据自身及同伴的飞行经验进行动态调整,即粒子自身所找到的最优解和整个种群当前找到的最优解。如此在解空间中
不断搜索,至满足要求为止。本案例就是用 P O算直 S法来寻找标准测试函数的极值。表明该算法在系统极 值寻优中的作用。 2原理、
随机初始化粒子的位置和速度构成初始种群 .初
始种群在解空间中为均匀分布。其中第 i粒子在 n个 维解空间的位置和速度可分别表示为 X= x1 i,…, i (i, 2 x xd和 V= vl i, vd, i) i (i, 2…, )然后通过迭代找到最优解。 v i 在每一次迭代中,粒子通过跟踪两个极值来更新自己的速度和位置。一个极值是粒子本身到目前为止所找到的最优解,这个极值称为个体极值 P i ( bl b2 b= P i, i, P P i )另一个极值是该粒子的邻域到目前为止找到 bd。的最优解,个极值称为整个邻域的最优粒子 N et 这 bs= i …
一 [
J
,
j
(bs l bs2…,bsd。 N et, et, N et)粒子根
据以下公式来更新 iN i i其速度和位置: V= i r d bs— ic n0(bs— i iV+1 a 0( ei ) 2r d eiX) c n P tX+ a N t X=X+V i i i (.) 11 (.) 1 2
—
f
式中 c和 c l 2是加速常量,别调节向全局最好粒分
l方—固置 l匮 2子—一l—程对的优根——— I————化 ——粒位—据(r———1———.———)———————
子和个体最好粒子方向飞行的最大步长,太小,粒若则 子可能远离目标区域,若太大则会导致突然向目标区
域飞去,或飞过目标区域。合适的 c,2可以加快收敛 lc且不易陷入局部最优。rn 0 0到 1之间的随机数。 ad是 粒子在每一维飞行的速度不能超过算法设定的最大速 度V x ma。设置较大的 V a可以保证粒子种群的全局 mx
[二立



