粒子群算法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
源自文库尋過程-最初狀態
搜尋過程-經過5代
搜尋過程-經過10代
搜尋過程-經過15代
搜尋過程-經過20代
搜尋過程-經過25代
搜尋過程-經過100代
搜尋過程-經過500代
搜寻结果
移动次数 0 5 10 15 20 100 5000 最佳解 搜寻结果 416.245599 515.748796 759.404006 793.732019 834.813763 837.911535 837.965771 837.9658
粒子群最佳化
2維簡例
區域
Note
合理解 目前最優解 區域最佳解
全域
Bionic Computing
Chung Yuan Christian University
Bionic Computing Lab, 2005
算法流程
1. Initial:
将族群初始化,以随机的方式求出每一Particle 的初始位置与速 度。
l i
g
−
X
l i
)
P
1
i
g
C *Rand()*(P
l
−
X )
l i
Pg − X i
目前 最佳解
X
l i
V
Pi − X i
l
l +1 i
X
l +1 i
X
l +1 i
=
X +V
l i
l +1 i
区域 最佳解
P
i
12/21/05
DM course
Particle Swarms Optimization
Bionic Computing
Bionic Computing Lab, 2005
基本PSO算法
粒子群优化算法源于1987年Reynolds对鸟群社会系 统boids的仿真研究,boids是一个CAS (Complex Adaptive System (CAS) ) 。在boids中,一群鸟在空中飞行,每个 鸟遵守以下三条规则: 1)避免与相邻的鸟发生碰撞冲突; 2)尽量与自己周围的鸟在速度上保持协调和一致; 3)尽量试图向自己所认为的群体中靠近。 仅通过使用这三条规则,boids系统就出现非常 逼真的群体聚集行为,鸟成群地在空中飞行,当遇 到障碍时它们会分开绕行而过,随后又会重新形成 群体。
复杂适应系统
CAS的四个基本特点: 的四个基本特点: 的四个基本特点 首先, 首先,主体(Adaptive Agent)是主动的、活的实体; 其次, 其次,个体与环境(包括个体之间)的相互影响,相 互作用,是系统演变和进化的主要动力; 再次, 再次,这种方法不象许多其他的方法那样,把宏观 和微观截然分开,而是把它们有机地联系起来; 最后, 最后,这种建模方法还引进了随机因素的作用,使 它具有更强的描述和表达能力。
程序分析
主要数据结构:
种群大小(PopSize) 空间维数(NDim) 矢量的边界(Bound) 最大迭代次数(MaxIter) C1、C2、W、R1、R2 各粒子当前适应度值(fvalue) 各粒子位置(population) 各粒子速度(velocity) 各粒子的最佳位置(pbest) 全局最佳粒子位置(gbest) 全局最佳粒子序号(index) 更新前各粒子适应度值(fpbest) 得到相近适应度值的迭代次数(samecounter) 临时适应度值 (oldbestval)
12/21/05
DM course
Particle Swarms Optimization
t Vit +1 =ω Vit +C1*ϕ *(Pit -X it )+C2 *ϕ *(Pg -Xti )
Xti +1 =X ti +Vit +1
craziness 區域 最佳解 運動向量 全域 最佳解
Vi = {Vi1 ,Vi 2 ,...,ViN }
DM course
Particle Swarms Optimization
鸟群(鱼群)行为
师法大自然 师法大自然
Bionic Computing
Bionic Computing Lab, 2005
12/21/05
DM course
Particle Swarms Optimization
鳥群(魚群)行為
起源
生物社会学家对鸟群。
原理
我们可以设想这样一个场景,一群鸟在某区域随机搜寻 食物。该区域只有一块食物。所有的鸟都不知道食物在 哪里,但它们知道目前距离食物还有多远,那么找到食 物的最佳策略是什么呢?最简单的方法就是找寻距离食 物最近的鸟周围区域及根据自己飞行的经验判断食物的 所在。
12/21/05
PSO产生背景之二:人工生命
人工生命“是来研究具有某些生命基本特征的人 工系统。人工生命包括两方面的内容: ① 研究如何利用计算技术研究生物现象; ② 研究如何利用生物技术研究计算问题(Nature Computation)。 我们现在关注的是第二部分的内容。现在已经有很 多源于生物现象的计算技巧,例如, 人工神经网络是 简化的大脑模型. 遗传算法是模拟基因进化过程的。 现在我们讨论另一种生物系统:社会系统,更确切地 说,是由简单个体组成的群落与环境以及个体之间的 互动行为,也可称做"群智能"。
no
达到最大迭代次数或 全局最优位置满足最小界限?
yes
结束
Schwefel's function
f ( x) = ∑ (− xi ) ⋅ sin( xi )
i =1 n
where − 500 ≤ xi ≤ 500 global minimum f ( x) = n ⋅ 418.9829; xi = −420.9687, i = 1 : n
粒子群特性
Bionic Computing
Chung Yuan Christian University
Bionic Computing Lab, 2005
近年PSO方面文献的数量
120 100 80 60 40 20 2 0 1995 1996 1997 1998 1999 2000 2001 2002 2003 2 4 12 16 18 49 106 100
粒子群优化算法
PSO算法简介
粒子群算法(particle swarm optimization,PSO) 由Kennedy和Eberhart在1995年提出,该算法模 拟鸟集群飞行觅食的行为,鸟之间通过集体的协 作使群体达到最优目的,是一种基于Swarm Intelligence的优化方法。同遗传算法类似,也是 一种基于群体叠代的,但并没有遗传算法用的交 叉以及变异,而是粒子在解空间追随最优的粒子 进行搜索。PSO的优势在于简单容易实现同时又 有深刻的智能背景,既适合科学研究,又特别适 合工程应用,并且没有许多参数需要调整。
850 800 750 700 650 600 550 500 450 400 1 4 16 64 256 1024 4096 "sample.dat"
4. 遗传算法和 PSO 的比较 大多数演化计算技术都是用同样的过程 1. 种群随机初始化 2. 对种群内的每一个个体计算适应值(fitness value).适应值与 最优解的距离直接有关 3. 种群根据适应值进行复制 4. 如果终止条件满足的话,就停止,否则转步骤2 从以上步骤,我们可以看到PSO和GA有很多共同之处。两者 都随机初始化种群,而且都使用适应值来评价系统,而且都根据 适应值来进行一定的随机搜索。两个系统都不是保证一定找到最 优解 但是,PSO 没有遗传操作如交叉(crossover)和变异 (mutation). 而是根据自己的速度来决定搜索。粒子还有一个重 要的特点,就是有记忆。 与遗传算法比较, PSO 的信息共享机制是很不同的. 在遗传 算法中,染色体(chromosomes) 互相共享信息,所以整个种群的 移动是比较均匀的向最优区域移动. 在PSO中, 只有gBest (or pBest) 给出信息给其他的粒子, 这是单向的信息流动. 整个搜 索更新过程是跟随当前最优解的过程. 与遗传算法比较, 在大多 数的情况下,所有的粒子可能更快的收敛于最优解
X i = {X i1 ,X i 2 ,...,X iN }
慣性向量
Bionic Computing
Chung Yuan Christian University
Bionic Computing Lab, 2005
PSO 向量示意图 向量示意图
V
l i
= + C 2 *Rand()*(P + W* V
PSO产生背景之一:复杂适应系统
CAS理论的最基本的思想可以概述如下 理论的最基本的思想可以概述如下: 理论的最基本的思想可以概述如下 我们把系统中的成员称为具有适应性的主体 (Adaptive Agent),简称为主体。所谓具有适应 性,就是指它能够与环境以及其它主体进行交流 交流, 交流 在这种交流的过程中“学习”或“积累经验”, 并且根据学到的经验改变自身的结构和行为方式。 整个系统的演变或进化,包括新层次的产生,分 化和多样性的出现,新的、聚合而成的、更大的 主体的出现等等,都是在这个基础上出现的。
粒子群优化算法求最优解
D维空间中,有N个粒子; 粒子i位置:xi=(xi1,xi2,…xid),将xi代入适应函数f(xi)求适应值; x 粒子i速度:vi=(vi1,vi2,…vid) v 粒子i个体极值点位置:pbesti=(pi1,pi2,…pid) pbest 种群的全局极值点位置:gbest 1,g2,…gd) gbest=(g gbest 粒子i的第n维速度和位置更新公式: vin+1=w*vin+c1*r1*(pbestin-xin)+c2*r2*(gbestn-xin) xin+1=xin+vin+1 c1,c2—学习因子,经验值取c1=c2=2,调节学习最大步长 r1,r2—两个随机数,取值范围(0,1),以增加搜索随机性 w —惯性因子,非负数,调节对解空间的搜索范围
Update the Velocity:
根据式(1) 与式(2) 更新每一Particle之速度与位置。
1. 回到步骤2. 继续执行,直到获得一个令人满意的结果或符合终 止条件。
基本粒子群优化算法流程图
开始 初始化粒子群 计算每个粒子的适应度 根据适应度更新pbest、gbest,更新粒子位置速度
12/21/05
DM course
Particle Swarms Optimization
粒子群最佳化
整合群体行为、人类决策与鸟群行为发展成为 整合群体行为、人类决策与鸟群行为发展成为 粒子群演算法。 粒子群演算法。 1995】 【Eberhart, Kennedy, 1995】
Russ Eberhart
Bound=[-100 100;-100 100;-100 100]; NDim = length(Bound); … for i=1:PopSize lowerbound(:,i)=Bound(:,1); upperbound(:,i)=Bound(:,2); end
初始化各主要数据(设三维的Sphere函数求最优)
flag=0; oldbestval=0; samecounter=0; iteration = 0; MaxIter =100; PopSize=20; c1 = .5; c2 = .5; w=0.8; %停止程序标志 %记录旧的适应度值 %记录得到相同适应度值的迭代次数 %迭代次数 %最大迭代次数 %种群大小 %学习因子 %学习因子 %惯性因子 %粒子的坐标范围 %空间维数 %定义粒子上下边界
2. Evaluation:
根据fitness function 计算出其fitness value 以作为判断每一 Particle的好坏。
Fine the Pbest:
找出每一Particle 到目前为止的搜寻过程中最佳解,这个最佳解 称为Pbest。
Fine the Gbest:
找出所有Particle 到目前为止所搜寻到的整体最佳解,此最佳解 称为Gbest。
鸟群觅食行为
Food
Global Best Solution
Past Best Solution
特点
分散式搜寻 具有记忆性 容易实现 适合在连续范围内搜索
算法介绍
每个寻优的问题解都被想像成一只鸟,称为 “Particle”。 所有的Particle 都有一个fitness function Particle fitness 以判断目前的位置好坏, 每一个Particle必须赋予记忆功能,能记住 所搜寻到的最佳位置。 每一个Particle 还有一个速度以决定飞行的 距离和方向。