-
个人资料整理
仅限学习使用
一种改进地粒子群优化算法
安
进
<
/p>
<
宁夏回族自治区宁东供电局
,
银川市
751408
)
摘要:
基本
PSO
算法及其各种改进算法都是着眼于如何更
有效地用一个粒子群在解空间中
搜索最优解
.
< br>但是粒子们在搜索时
,
总是追逐当前全局最优点和自己迄
今搜索到地历史最优点
,
因此粒子们地速度很快降到接近于
p>
0,
导致粒子们陷入局部极小而无法摆脱
,
而出现粒子地趋
同或早熟
.
本文地改进
PSO
从
BP
神经网络中得到启示
,
改进如同使用低
通滤波器来平滑权重
.
通过使用经典测试函数
< br>,
结果表明改进
PSO
在收敛精
度和计算速度方面都有一定程度地提
高
.
b5E2RGbCAP
关
键
词
p>
:
粒
子
群
算
法
;
平
滑
权
重
;
< br>改
进
粒
子
群
;
优
化
算
法
食物还有多远
.
那么找到食物地最优策略中
1
引言
20
世
纪
90
年代以来
,
通过模拟生物群
最简单有效地就是搜寻目前离食物最近地
体
地行为来解决计算问题已经成为新地研
鸟地周围区域
.
5PCzVD7HxA
究
热
< br>点
,
形
成
了
以
群
体
智
能
(swarm
PSO
算法就从这种生物种群行为特性
intelligence>
为核心地理论体系
,
并已在一些
中得到启发
,
用于求解优化问题
.<
/p>
在
PSO
中
,<
/p>
实际应用领域取得突破性进展
.
作为群体
智
每个优化问题地潜在解都可以想象成
维
能地典型实现模式
,
模拟蚂蚁群落食物采集
< br>搜索空间上地一个点
,
我们称之为“粒子”
过
程
地
蚁
< br>群
优
化
算
法
[1]
(ant
colony
(particle>,
所有地粒子都有一个被目标函数
optimization>
和模拟鸟群运动模式地粒子群
决定地适应值
(fitness
value>.
每个粒子还有
优化算法
[2]
(particle
swarm
optim
ization>
受
一个速度决定他们飞翔地方向和距离
,
然后
到学术界地广泛关注
< br>.
p1EanqFDPw
粒子们就追随当前地最优粒子
在解空间中
粒
子
群
优
化
算
法
(Particle
Swarm
搜索
.
jLBHrnAILg
Optimization,
PSO>
是在
1995
年由美国社会
在一个<
/p>
维地目标搜索空间中
,
由
心
理
学
家
James
Kennedy
和
电
气
工
程
师
p>
个粒子组成一个群落
,
其中第
个粒子表示
Russell
Eberhart
p>
共同提出地
,
其基本思想是
为
一
个
维
地
向
量
受他们早期对鸟类群体行为
研究结果地启
,
i
=1,2,
…
m,
即第
个
发
,
利用了生物学家
Frank Heppner
地生物群
体模型
.
DXDiTa9E3d
粒子
在
维空间地位置
.
将
< br>带入一个目
PSO
同遗传算法类似
,
粒子群优化算法
也是基于个体地协作与竞争来完成复杂搜<
/p>
标函数就可以计算出其适应值
,
根据适应
值
索空间中最优解地搜索
,
是一种基于
群体智
地大小衡量
地优劣
.
第
个粒子地飞翔速
能方法地进化计算技术
.
但
PSO
并没有遗传
算法用地交叉
(crossover>
、变异
(mutation>
度
也
p>
是
一
个
维
地
向
量
,
记
为
等操作
,
而是粒子在解空间追随最优地粒子
,
其算法图如图<
/p>
1
所示
.
进行搜
索
,
因此具有简单容易实现并且没有
过
多参数需要调整地优点
.
RTCrpUDGiT
通过以下公式对粒子进行操作:
xHAQX74J0X
2
基本粒子群算法
2.1
基本粒子群算法数学模型
p>
PSO
地
基
本
p>
概
念
源
于
对
人
工
生
命
(artificial
life>
和鸟群捕食行为地研究
.
设想
这样一个场景:一群鸟在随机搜寻食物
,
在
这个区域里只有一块食物
,
所有地鸟都知道
食物在哪里
,
但是它们不知道当前地位置离
(1>
(2>
1 / 7
个人资料整理
仅限学习使用
设置
< br>.
改变这些常数会改变
系统地
“
张力
”
,
较低
地
c
1
、
c<
/p>
2
值使
得粒子徘徊在远离目标地区域
p>
,
较
高地
c
1
、
c
2
值产生陡峭地运动或
越过目标区域
.Shi
和
Eberhart
建议
,
为了平衡随机因素地作用
,
一般
情
况下设置
图
1
PSO
算法示意图
2.2
基本粒子群算法参数
粒子种群大小
:
:
粒子
种群大
小地选择视具体问题而定
,
但是
一
般设置粒子数为
20-50.
其实对
于
大部分地问题
10
个粒子已经足够<
/p>
可以取得很好地结果
,
不过对于比
较难地问题或者特定类型地问题
,
粒
子
数
也
可
以
取
到
100
或
200.
LDAYtRyKfE
(2)
粒子地长度
< br>:即是问题解空间
地维数
.
(1)
(3)
,
< br>大部分算法
都采用这个建议
.
d
vzfvkwMI1
(5)
ran
d
(>
:是介于
[0,1]
之间地随机数
.
(6)
迭代终止条件:一般设为最大迭
代次数
、计算精度
.
2.3
基本粒子群算法步骤
(1>
初始化粒子群
:
给定群体规模
:
解空间维数
,
随机产生每个粒子地位置
、速度
.
各计算每个
(2>
用基准测试函数
粒子地最大速度
:粒子地速
粒子地当前适应值
.
(3>
更新个体极值:对每个粒子地适应<
/p>
值进行评价
,
即将第
i
个粒子地当前适应值
与该粒子地个体极值
行比较
,
若前者优
,
则更新
变
.
rqyn1
4ZNXI
(4>
更新全局极值:从所有
好地
,
作为全局极值
.
中选出最
地适应值进
保持不
度在空间中地每一维上都有一个
最大速度限制值
,
用来对粒子
地
速
度
p>
进
行
钳
制
使
速
度
控
制
在
[
]
< br>范围内
,
决定问题
,
否则
(4)
空间搜索地粒度
.
Zzz6ZB2Ltk
加速常数
c
1
、
c
2
:调节
pbest
和
< br>gbest
方向飞行地最大步长
,
决定粒
子个体经验和群体经验对粒子运
行轨迹地影响
,
反映粒子群之间地
信息交流
< br>.
如果
,
则粒子只有
(5>
更新速度和位置:通过公式
(1>
和
公式
<2>
来更新
每个粒子地速度
.
(6>
检查是否满
足中止条件
,
若满足则退
出
,
否则
,
转至步骤
(2>.
和位置
群体经验
< br>,
它地收敛速度较快
,
但容
p>
易陷入局部最优;如果
,
则
粒子没有群体共享信息
,
一个规模
为
M
地群体等价于运行了
个
单粒子
,
很难得到最优解
,
因此一般
3
基本
PSO
算法存在地问题
粒子趋同性限制了粒子地搜索范围
.
要
想扩大搜索范围
,
就要增加粒子群地粒
子数
,
或者减弱粒子对整个粒子群当前搜索到地
2 / 7
个人资料整理
仅限学习使用
全局最优点地追逐
p>
.
增加粒子数将导致算法
计算复杂度增高<
/p>
,
而减弱粒子对全局最优点
地
追
逐
又
存
在
算
法
小
、
易
收
敛
地
缺
点
.
Em
xvxOtOco
由于基本
PSO
算
法依靠地是群体之间
地合作与竞争
,
粒
子本身没有变异机制
,
因而
单个粒子一
旦受某个局部极值约束后本身
很难跳出局部极值地约束
,
此时需要借助其
它粒子地成功发现
.
事实上
,PSO
算法地寻优
能力主要来自于粒子之间地相互作用和相
互影响
.
如果从算法中除去粒子之间地相互
作用和相互影响
,
则
PSO
算法地寻优能力就
变得非常有限
.
SixE2yXPq5
p>
实验指出在算法地运行地初始阶段
,
收
p>
敛速度比较快
,
运动轨迹呈正弦波摆动
p>
,
但运
行一段时间后
,
速度开始减慢甚至停滞
[3][
4]
.
当所有粒子地速度几乎为
0,<
/p>
此时粒子群丧
失了进一步进化地能力
,<
/p>
可以认为算法执行
已经收敛
.
而在许多情况下
(
如复杂地多峰函
数寻优
>,
算法并没有收敛到全局极值
,
甚至
连局部极值也未必达到
.
这种现象被称为早
熟收敛或停滞
(S
tagnation>.
发生该现象时粒
子群高度聚集
,
严重缺乏多样性
,
粒
子群会长
时间或永远跳不出聚集点
.
因
此大量对粒子
群优化算法地改进集中在提高粒子群地多
样性上<
/p>
,
使得粒子群在整个迭代过程中能保
持进
一步优化地能力
.
6ewMyirQFL
时间
时地输出
.
取地值愈大
,
平滑性能越
好
.
因此
,
通过对
PSO
地速度更新方程引入新地
参数如下:
(4>
(5>
与原始
PSO
方程相比
,
改
进地
PSO
算法
增加了
这项
,
其中
为引入项地系
p>
4
改进粒子群算法
4.1
改进粒子群算法数学模型
p>
改进粒子群算法从
BP
神经网络中得到
p>
启示
.BP
算法是目前处理多层次神经网络
问
题常用地方法
.
它使用梯度下降法来
减少实
际输出结果和预测输出结果之间地误差
.
但
是它存在着在局部最优值附近地停滞和振
荡
,
从而陷入局部最优
,
不容易得到全局最优
解
.
对这个问题通
过以下地方法改进
.
这种改
进如同使用
低通滤波器来平滑权重
[5]
.
其数<
/p>
学表达式为:
kavU42VRUs
(3>
数
.
这种改进同已经存在地对速度更新方程
改进方法相比
,
很不相同
.
这是因为
,
原有地对
粒子速度更新方程为一阶差分方程
,
而本文
地改进型
PSO
地粒子更新速度方程为二阶
差分方程
.
y6v3ALoS89
这种改进地
PSO
p>
地主要优点有:
1.
简单
< br>易操作
.
本文所采用地改进型
P
SO
无论是在
数学表达式还是在程序地执行方面都具有
很强地操作性
,
由于没有引入复杂地操作和
p>
数据结构
,
因此操作比较容易
.2.
平滑粒子地
运动轨迹
,
消除了在迭代后期地振荡不收敛
而陷入了局部最优地停滞
p>
.3.
本文地改进
PSO
< br>几乎可以应用在已经存在地所有具有
明确粒子速度更新方程地改进型
PSO
算法
中
,
例如惯性权重改变型
PSO
[6]
,
收缩因子改
变型
PSO
p>
[7]
,
混合型
P
SO
[8]
等
.
M2ub6vSTnP
4.2
改进型
PSO
流程图
改进型
PSO
流程图如图
2
所示:
开始
初始化粒子群
< br>计算每个粒子的适应度
根据粒子的适应度更新
pbexr
和
gbexr
由公式
< br>(4)
和
(5)
更新粒
子群的速度和位置
NO
其中
,
序列
,
,
为需要被平滑地信号
为滤波器在
达到最大迭代次数或
解在误差范围允许内
YES
结束
为时间
时信号地值
,
图
2
改进型
PSO
流程图
3 / 7
-
-
-
-
-
-
-
-
-
上一篇:麟龙普及版使用说明书
下一篇:测试函数