粒子群算法
2016/6/5
粒子群算法的研究背景
粒子群算法( Particle Swarm Optimization,简称PSO,是一种基
于群体智能的进化计算方法。PSO由 Kennedy和 Eberhart博士于
1995年提出。
粒子群算法源于复杂适应系统( Complex Adaptive
System,CAS)。CAS理论于1994年正式提出,CAS中的成员
称为主体。比如研究鸟群系统,每个鸟在这个系统中就称为
主体。主体有适应性,它能够与环境及其他的主体进行交流,
并且根据交流的过程“学习”或“积累经验”改变自身结构
与行为。整个系统的演变或进化包括:新层次的产生(小鸟
的出生);分化和多样性的出现(鸟群中的鸟分成许多小的
群);新的主题的出现(鸟寻找食物过程中,不断发现新的
食物)。
2016/6/5
2
粒子群算法的基本原理
PSO的基本概念源于对鸟群捕食行为的研究:
群鸟在随机搜寻食物,在这个区域里只有一块食物,所有鸟
都不知道食物在哪里。但是他们知道当前的位置离食物还有多
远。
那么找到食物的最优策略是什么呢?最简单有效的就是搜寻目
前离食物最近的鸟的周围区域。
2016/6/5
3
PSO算法就从这种生物种群行为特性中得到启发并用于求解优化
问题。
在PSO中,把一个优化问题看作是在空中觅食的鸟群,那么“食
物”就是优化问题的最优解,而在空中飞行的每一只觅食的
“鸟”就是PSO算法中在解空间中进行搜索的一个“粒
子”( Particle)。
“群”( Swarm)的概念来自于人工生命,满足人工生命的五个基
本原则。因此PSO算法也可看作是对简化了的社会模型的模拟,
这其中最重要的是社会群体中的信息共享机制,这是推动算法
的主要机制
2016/6/5
粒子在搜索空间中以一定的速度飞行,这个速度根据它本身的
飞行经验和同伴的飞行经验来动态调整。所有的粒子都有一个
被目标函数决定的适应值( fitness value),这个适应值用于评价
粒子的“好坏”程度。
每个粒子知道自己到目前为止发现的最好位置( particle best
记为pbes和当前的位置, pbest就是粒子本身找到的最优解,
这个可以看作是粒子自己的飞行经验
除此之外,每个粒子还知道到目前为止整个群体中所有粒子发
现的最好位置( global best,记为 gbest), gbest是在pbs中的最
好值,即是全局最优解,这个可以看作是整个群体的经验。
2016/6/5
每个粒子使用下列信息改变自己的当前位置
(1)当前位置
(2)当前速度;
(3)当前位置与自己最好位置之间的距离;
(4)当前位置与群体最好位置之间的距离。
2016/6/5
粒子群算法的基本思想
用随杋解初始化一群随机粒子,然后通过迭代找到最优解。在
每一次迭代中,粒子通过跟踪两个“极值”来更新自己:
个是粒子本身所找到的最好解,即个体极值( pbest,另一个
极值是整个粒子群中所有粒子在历代搜索过程中所达到的最优
解(gbes即全局极值。
找到这两个最好解后,接下来是PSO中最重要的“加速”过程,
每个粒子不断地改变其在解空间中的速度,以尽可能地朝 pbest
和 gbest所指向的区域“飞”去。
2016/6/5
粒子群优化算法的一般数学模型
假设在一个N维空间进行搜索,粒子i信息可用两个N维向量
来表示:
第;个粒子的位置可表示为x=(x1,x2…x)
速度为v=(n1,V2,…)
在找到两个最优解后,粒子即可根据下式来更新自己的速度和
位置:
W=+C1×rznd×(Pbe
e5-x2)+c2×mnd×( Ghest-x)(1)
rid =rid t vid
v:是粒子在第k次迭代中第d维的速度
x4:是粒子在第k次迭代中第d维的当前位置;
2016/6/5
i=1,2,3..,M:种群大小
和c2:学习因子,或称加速系数,合适的c1和c2既可加快收
敛又不易陷入局部最优
rand1和rand2:是介于[0,1]之间的随机数
Pbest是粒子i在第d维的个体极值点的位置
G best是整个种群在第d维的全局极值点的位置。
最大速度vmx:决定了问题空间搜索的力度,粒子的每一维速
度v都会被限制在[一Vm,+Vmx]之间,偎设搜索空间的第d
维定义为区间[一xm,+xmx],则通常vdmx= kx,
0.1≤k≤1.0,每一维都用相同的设置方法。
2016/6/5
更新公式的意义
公式(1)主要通过三部分来计算粒子更新的速度:
粒子前一时刻的速度v;
粒子当前位置与自己历史最好位置之间的距离Pbes-x);
粒子当前位置与群体最好位置之间的距离(Gbes-x)。
粒子通过公式(2)计算新位置的坐标。
2016/6/5
原创力文档

文档评论(0)