第6章 粒子群算法基本理论

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

6.2 粒子群算法的基本原理
v in t 1 v in t c1 rand pbestin t x in t c 2 rand gbestin t x in t
v in t v in t 1
6.2 粒子群算法的基本原理
6.2 粒子群算法的基本原理
6.2 粒子群算法的基本原理
6.2 粒子群算法的基本原理
6.2 粒子群算法的基本原理
粒子群算法PSO中,每个优化问题的解都是搜索空间中 的一只鸟,称之为“粒子”。所有的粒子都有一个由被优化 函数决定的适应度值(fitness value),每个粒子还有一个速 度决定它们飞翔的方向和距离。然后粒子们就追随当前的最 优粒子在解空间中进行搜索。 PSO初始化为一群随机粒子(随机解),然后通过叠代 找到最优解。在每一次叠代中,粒子通过跟踪两个“极值” 来更新自己。第一个是粒子本身所找到的最优解,称为个体 极值pbest,另一个是整个种群目前找到的最优解,称为全局 极值gbest。另外也可以不用整个种群而只用其中一部分相邻 的粒子,则这些所有相邻粒子中的极值就是局部极值。
6.2 粒子ຫໍສະໝຸດ Baidu算法的基本原理
v in t 1 v in t c1 rand pbestin t x in t c 2 rand gbestin t x in t
在速度更新公式中,第一项称为记忆项,表示上次速度 大小和方向的影响;第二项称为自身认知项,是从当前点指 向粒子自身最好点的一个项,表示粒子的动作来源于自身的 经验;第三项称为群体认知项,是一个从当前点指向种群最 好点的项,反映了粒子间的协同合作和知识共享。 总之,粒子的速度更新公式由认知和社会两部分组成, 粒子就是通过自身的经验和同伴间最好的经验来决定下一步 的运动轨迹。
一般分为全局最优粒子群算法和局部最优粒子群算法, 目前主要有两种分类方法。
6.2 粒子群算法的基本原理
6.2 粒子群算法的基本原理
6.2.1 生物学机理
一群鸟在一个区域里随机搜索食物,所有的鸟都不知道 食物在那里。但是他们知道当前位置离食物还有多远,那么 找到食物的最优策略就是搜寻目前离食物最近的鸟的周围区 域。
第6章 粒子群算法基本理论
6.1 粒子群算法的概述 6.1.1 粒子群算法的概念 6.1.2 粒子群算法的发展 6.1.3 粒子群算法的特点 6.1.4 粒子群算法的分类 6.2 粒子群算法的基本原理 6.2.1 生物学机理 6.2.2 传统PSO算法原理 6.2.3 标准PSO算法原理 6.2.4 PSO算法流程 6.2.5 全局和局部最优PSO算法 6.2.6 PSO算法参数分析 6.3 粒子群算法与其他算法的比较 6.3.1 与遗传算法的比较 6.3.2 与蚁群算法的比较 6.4 粒子群算法的应用 6.5 粒子群算法的研究方向
6.2 粒子群算法的基本原理
6.2.4 PSO算法流程
Step1:初始化一群微粒(一般设种群规模为m),包括 随机位置和速度。
Step2:评价每个微粒的适应度值。
Step3:将每个微粒的适应度值与其经过的最好位置 pbest进行比较,如果较好则将其作为当前的最好位置pbest。 Step4:将每个微粒的适应度值与种群的最好位置gbest 进行比较,如果较好则将其作为种群的最好位置gbest。 Step5:根据速度和位置公式调整粒子的飞行速度和所 处位置。 Step6:判断是否达到结束条件,若未达到转到Step2。
社会心理学家 James Kennedy博士
电气工程师 Russell Eberhart博士
6.1 粒子群算法的概述
1998年,Yuhui Shi和Russell Eberhart在IEEE Congress on Evolution-ary Computation(69~73)上发表了题为A modified particle swarm optimizer的学术论文,首次对基本 粒子群算法引入惯性权重修正了速度更新公式,修正后的公 式已经为大多数研究者所使用。 从1998年开始,进化计算领域的著名会议IEEE CEC (Congress on Evolutionary Computation,国际进化计算会 议)开始设置PSO算法的专题讨论,与计算智能相关的重要 国际会议PPSN(Parallel Problem Solving from Neture)和 GECCO(Gen-etic and Evolutionary Computation Conference)都将PSO算法作为会议主题之一。
c 2 rand gbestin t x in t
惯性权重因子的值较大,全局寻优能力强,但局部寻优 能力弱;否则则反之。一般认为,惯性权重因子用于平衡全 局和局部搜索能力,较大的倾向于全局搜索,较小的适用于 局部搜索,因此惯性权重因子的取值应随时间逐渐减小。 初始时,Shi将惯性权重因子取为常数,但后来实验发 现,动态值能够获得比固定值更好的寻优效果。既可以在搜 索过程中线性变化,也可根据某个测度函数动态改变。但目 前采用较多的是Shi建议的线性递减权值。
Craig Reynolds 生于1953年3月15日
6.1 粒子群算法的概述
避免碰撞:飞离最近的个体,以避免碰撞; 速度一致:和邻近的个体的平均速度保持一致; 向中心聚集:飞向群体的中心,向邻近个体的平均位 置移动。 1990年,生物学家Frank Heppner建立了鸟类模型。一 群小鸟为找到合适的栖息地在空中飞行 ,当群体中的一只发现较为合适的栖 息地时,它会毫不犹豫地飞向这个栖 息地,同时也将信息传给周围的小鸟 ,使周围的小鸟快速来到这里,最终 把整个群体吸引到合适的栖息地。
① 粒子群算法依靠粒子速度完成搜索,在迭代进化中只 有最优的粒子将信息传递给其他粒子,搜索速度快。 ② 粒子群算法具有记忆性,粒子群体的历史最好位置可 以记忆,并传递给其他粒子。
③ 需调整的参数较少,结构简单,易于工程实现。
④ 采用实数编码,直接由问题的解决定,问题解的变量 数直接作为粒子的维数。
6.1 粒子群算法的概述
6.1 粒子群算法的概述
2001年,由J.Kennedy、 R.C.Eberhart、Yuhui Shi合著 的第一本关于PSO的专著《Swarm Intelligence》在美国旧 金山(San Francisco)Morgan Kaufmann Publishers出版。
2003年,第一届群智能研讨会IEEE Swarm Intelligence Symposium在美国的Indianapolis(印第安纳波利斯)召开, 此后每年召开一次。
6.1 粒子群算法的概述
6.1.2 粒子群算法的发展
萌芽阶段 1986年,人工生命、计算机图形 学专家 Craig Reynolds提出了简单的 人工生命系统——boid模型(解释为 bird like object),模拟了鸟类在飞行 过程中分离、列队和聚集三种聚群飞 行行为,并能感知到周围一定范围内 其他boid的飞行信息。boid根据该信 息,结合当前自身的飞行状态,在三 条简单行为规则的指导下,做出下一 步的飞行决策。
每个粒子都有一个由目标函数决定的适应度值,并且知 道自己迄今为止发现的最好位置(pbest)和现在的位置,可 以看做是粒子自己的飞行经验。 每个粒子还知道到目前为止整个群体中所有粒子发现的 最好位置(gbest),可以看做是粒子同伴的经验。 粒子通过自己和同伴的经验决定下一步的运动轨迹。
6.2 粒子群算法的基本原理
6.2 粒子群算法的基本原理
6.2 粒子群算法的基本原理
6.2.5 全局和局部最优PSO算法
目前关于全局和局部最优PSO算法的概念主要有两种。 概念一 全局最优PSO算法 在速度更新公式
v in t 1 v in t c1 rand pbestin t x in t c 2 rand gbestin t x in t
6.2 粒子群算法的基本原理
6.2.2 传统PSO算法原理
鸟被抽象为没有质量和体积的微粒,并延伸到N维空间 中。粒子i(i=1,2,„,M)在N维空间的一些参数设置为
位置表示为:X i x i1 , x i 2 , , x in , , x iN
飞行速度表示为:Vi v i1 , v i 2 , , v in , , v iN
PSO初始化为一群随机粒子,然后通过迭代找到最优解。 在每一次迭代中,粒子通过跟踪两个极值(pbest、gbest) 来更新自己。在找到这两个最优值后,粒子通过下面的公式 更新自己的速度和位置
v in t 1 v in t c1 rand pbestin t x in t c 2 rand gbestin t x in t
2004年,IEEE Transactions on Evolutionary Computation出版了PSO算法专刊。 PSO算法作为一种新兴智能仿生算法,目前还没有完备 的数学理论基础,但作为新兴优化算法已在诸多领域得到广 泛应用。
6.1 粒子群算法的概述
6.1.3 粒子群算法的特点
粒子群算法的优点
x in t 1 x in t v in t 1
式中, i 1 ,2 , , M、n 1,2, , N 分别表示粒子的数量及其维 c1、c2 为加速因子或学习因子,一般取正数;rand 为 数; 0 ,1 之间的随机数。 在迭代中,速度和位置均设定最大值,超过边界值时取 边界值。
6.1 粒子群算法概述
6.1 粒子群算法概述
6.1.1 粒子群算法的概念
粒子群优化算法(Particle Swarm Optimization,简称 PSO)又称为粒子群算法、微粒算法,是通过模拟鸟类群体 觅食行为而发展起来的一种基于群体协作的随机搜索算法, 属于启发式全局优化算法。 粒子群算法的基本思想是通过群体中个体之间的协作和 信息共享来寻找最优解。
粒子群算法的缺点
① 容易陷入局部最优,导致收敛精度低和不易收敛。
② 不能有效解决离散及组合优化问题。
6.1 粒子群算法的概述
6.1.4 粒子群算法的分类
按照发展历程分类
一般分为传统粒子群算法和标准粒子群算法。前者于 1995年提出,后者于1998年改进,两者之差仅为有无惯性权 重因子。 根据粒子邻域分类
6.1 粒子群算法的概述
发展阶段
1995年,美国社会心理学家James Kennedy博士和电气 工程师Russell Eberhart博士根据对鸟群捕食行为的研究, 提出了粒子群算法。分别在日本和澳大利亚召开的两个国际 会议上发表了两篇文章,标志着粒子群算法的诞生。
[1] Kennedy J,Eberhart R,Particle swarm optimization, Proceeding of the IEEE International Conference on Neural Networks,1995,1942~1948 [2] Eberhart R,Kennedy J,A new optimizer using particle swarm theory,Proceeding of the 6th International Symposium on Micro-Machine and Human Science, 1995,39~43
c1
c2
6.2 粒子群算法的基本原理
6.2.3 标准PSO算法原理
1998年,Shi对传统PSO算法进行了修正,引入了惯性权 重因子(也称为动量因子),得到 v in t 1 v in t c1 rand pbestin t x in t
相关文档
最新文档