当前位置:
文档之家› 智能控制理论和方法(第二版)李人厚1-5章 (4)
智能控制理论和方法(第二版)李人厚1-5章 (4)
能力,合适的学习因子可以加快算法的收敛且不易陷入局部最
优;xid∈[-xmaxd, xmaxd], 根据实际问题将解空间限制在一定 的范围;vid∈[-vmaxd, vmaxd], 根据实际问题将粒子的飞行速 度设定在一定的范围。
第9章 粒子群算法及其在智能控制中的应用 图9.2 基本粒子群算法流程
第9章 粒子群算法及其在智能控制中的应用 9.2 基本粒子群算法
9.2.1 基本粒子群算法的原理 设想有这样一个场景: 一群鸟在某一个区域里随机搜寻食
物。在这个区域里,只存在一处食物源,而所有的鸟都不知道 食物的具体位置,但是每只鸟知道自己当前的位置离食物源有 多远,也知道哪一只鸟距离食物源最近。在这样的情况下,鸟 群找到食物的最优策略是什么呢? 最简单有效的方法就是搜寻 目前离食物源最近的那只鸟的周围区域。PSO就是从这种搜寻食 物的场景中得到启示,并用于解决优化问题。PSO的形象图示见 图9.1。
第9章 粒子群算法及其在智能控制中的应用 在PSO算法中,每个优化问题的潜在解都类似搜索空间中的 一只鸟,称其为“粒子”。粒子们追随当前群体中的最优粒子, 在解空间中不断进行搜索以寻找最优解。PSO算法首先初始化一 群随机粒子(随机解集),通过不断迭代,且在每一次迭代中, 粒子通过跟踪两个极值来更新自己;第一个极值是粒子本身截 至目前所找到的最优解,这个解称为个体极值pb(pbest);另一 个极值是整个粒子群迄今为止所找到的最优解,称为全局极值 gb(gbest),最终找到图9.1 PSO的形象图示
第9章 粒子群算法及其在智能控制中的应用
9.2.2 基本粒子群算法 在基本PSO算法中,首先初始化一群粒子。设有N个粒子,
每个粒子定义为D维空间中的一个点,第i个粒子pi在D维空间 中的位置记为Xi=(xi1, xi2, …, xiD), i=1, 2, …, N,粒子 pi的飞翔速度记为Vi,Vi=(vi1, vi2, …, viD), i=1, 2, …, N。粒子pi从诞生到目前为止(第k次迭代后),搜索到最好位置 称其为粒子pi的个体极值,表示为pbki=(pbki1, pbki2, …, pbkiD)。在整个粒子群中,某粒子是迄今为止(第k次迭代后)所 有粒子搜索到的最好位置,称其为全局极值,表示为gbk=(gbk1, gbk2, …, gbkD),则PSO算法进行优化迭代中,第i个粒子pi按 照下面公式来更新自己的速度和位置:
第9章 粒子群算法及其在智能控制中的应用
基本粒子群算法流程描述如下: (1) 初始化一群共N个粒子,给每个粒子随机赋予初始位置 (从初始位置开始,不断迭代最终可以寻找到全体粒子中最好的 位置)和初始速度,并将i初始化为1,将k初始化为0; (2) 计算粒子pi的适应度; (3) 当粒子pi在第k(k≥1)次迭代时发现了一个好于它以前 所经历的最好位置时,将此坐标记入PBki,如果这个位置也是群 体中迄今为止搜索到的最优位置,则将此坐标记入GBk; (4) 将PBki与粒子pi当前位置向量之差随机加入到下一代速 度向量中,同时,将GBk与粒子pi当前位置向量之差随机加入到 下一代速度向量中,并根据式(9.1)和式(9.2)更新粒子pi的速 度和位置;
第9章 粒子群算法及其在智能控制中的应用 进一步的研究发现,鸟在搜寻食物的过程中,群体中每个 鸟个体能得益于群体中所有其他成员的发现和先前的经历。当 食物地点不可预测,且零星分布时,这种协作带来优势是非常 明显的,远远大于鸟个体间对食物竞争带来的劣势。这种协作 的本质是生物群体中存在着一种社会信息共享机制,它为群体 的某种目标(如鸟的觅食)提供了一种优势。 在以上研究的基础上,1995年,Kennedy和Eberhart模拟鸟 群觅食行为,提出了一种新颖而有效的群体智能优化算法,称 为粒子群优化算法(PSO,Particle Swarm Optimization) [2, 3]。
(9.1)
(9.2)
第9章 粒子群算法及其在智能控制中的应用
其中,i=1, 2, …, N, 是粒子群体中第i个粒子pi的序号;k=1, 2, …, m, 为PSO算法的第k次迭代;d=1, 2, …, D, 为解空间
的第d维;vkid表示第k次迭代后粒子pi速度的第d维分量值;xkid 表示第k次迭代后粒子pi在D维空间中位置的第d维分量值;pbkid 表示截至第k次迭代后,粒子pi历史上最好位置的第d维分量值; gbkd表示截至第k次迭代后,全体粒子历史上处于最好位置的粒 子的第d维分量值;r1, r2是介于[0, 1]之间的随机数;c1, c2 是学习因子,是非负常数,分别调节向PBki和GBk方向飞行的步 长,学习因子使粒子具有自我总结和向群体中优秀粒子学习的
(1) 碰撞的避免,即个体应避免和附近的同伴碰撞; (2) 速度的匹配,即个体必须同附近个体的速度保持一致; (3) 向中心聚集,即个体必须飞向邻域的中心。
第9章 粒子群算法及其在智能控制中的应用 该模型较成功地模拟了真实鸟群聚集飞行的行为。之后, Heppner在Boid模型的基础上,又加入了栖息地的仿真条件,即 鸟群的活动范围不会越出栖息地。这两个鸟群飞行模型都只使 用一些较为基本的规则(比如个体之间的速度匹配)来指导鸟个 体的飞行,并没有谁对群体进行集中的控制,即整个群体组织 起来(鸟群一起飞行),却没有一个组织者;整个群体中的个体 被协调起来(鸟群集体在蓝天整齐划一、任意翱翔),却没有一 个协调者。实际上,这就是一种群体智能模型。
第9章 粒子群算法及其在智能控制中的应用
第9章 粒子群算法及其在智能控制中的应用
9.1 引言 9.2 基本粒子群算法 9.3 粒子群算法的分析 9.4 几种改进的粒子群算法 9.5 粒子群算法在智能控制中的应用
第9章 粒子群算法及其在智能控制中的应用 9.1 引 言
Craig Reynolds在1986年提出一个仿真鸟群体飞行行为的 模型Boid(bird-oid) [1],并设定鸟群的飞行行为遵循以下规 则: