粒子群优化算法-模拟鸟类觅食

知识脉络

粒子群优化算法的知识脉络如下,隶属于最优化问题的全局随机优化搜索算法。
在这里插入图片描述

基本概念

自然界中有许多显现令人惊奇,鸟类优美而协调的运动便是其中之一。每个个体按照特定的规则运动,形成鸟群整体的复杂行为。粒子群优化算法是一种基于群体智能的优化技巧,它用无质量无体积的粒子作为个体,并为每个粒子规定简单的行为规则,从而使整个粒子群表现出复杂的特效,可以用来求解复杂的优化问题。

与基于达尔文“适者生存,优胜劣汰”进化思想不同的是,PSO算法是通过个体之间的协作来寻找最优解的。生物学家关于生物体曾经说过这样一段话“至少在理论上:一个生物群体中的一员可以从这个群体中所有其它成员以往在找寻食物过程中积累的经验和发现中获得好处。只要食物源不可预知地分布于不同地方,这种协作带来的优势可能变成决定性的,超过群体中个体之间对食物竞争带来的劣势”。这段话的意思是说生物群体中信息共享会产生进化优势,这也正是粒子群优化算法的基本思想。

数学描述

pso算法采用速度-位置搜索模型,每个优化问题的潜在解都是搜索空间的一只鸟。称之为“粒子”。所有的粒子都有一个由被优化的函数决定的适应值,每个粒子还有一个速度决定他们飞行的方向和距离。粒子们就追随当前的最优粒子在解空间中搜索。
在每一次的迭代中,粒子通过跟踪两个“极值”来更新自己。第一个极值是:粒子自身所找到的最优解Pbest,这个解称为“个体极值”。另一个极值是整个种群目前找到的最优解Gbest,这个极值是“全局极值”。
数学描述:
v i d k + 1 = v i d k + c 1 × r 1 × ( p i d − x i d k ) + c 2 × r 2 × ( p g d − x i d k ) x i d k + 1 = x i d k + v i d k + 1 v_{id}^{k+1}=v_{id}^{k}+c_1\times r_1\times \left( p_{id}-x_{id}^{k} \right) +c_2\times r_2\times \left( p_{gd}-x_{id}^{k} \right) \\ x_{id}^{k+1}=x_{id}^{k}+v_{id}^{k+1} vidk+1=vidk+c1×r1×(pidxidk)+c2×r2×(pgdxidk)xidk+1=xidk+vidk+1
其中:
xid—表示粒子的位置;
vid—表示粒子的速度;
pid–表示粒子的飞行经验;
pgd–表示全局极值,代表群体经验;
c1,c2–分别调节向Pbest和Gbest方向飞行的最大步长;
r1,r2?
数学模型理解:
速度更新由三部分构成:

  1. 粒子先前的速度;表示惯性环节;
  2. 认知部分;表示粒子自身的思考;鼓励粒子飞向自身曾经发现的最优位置;
  3. 社会部分;表示粒子间的信息共享和合作,它引导粒子飞向粒子群中的最优位置;
    三个部分共同觉得粒子的空间搜索能力;
    **一些改进:**线性递减惯性权重:
    v i d k + 1 = w ∗ v i d k + c 1 × r 1 × ( p i d − x i d k ) + c 2 × r 2 × ( p g d − x i d k ) x i d k + 1 = x i d k + v i d k + 1 v_{id}^{k+1}=w*v_{id}^{k}+c_1\times r_1\times \left( p_{id}-x_{id}^{k} \right) +c_2\times r_2\times \left( p_{gd}-x_{id}^{k} \right) \\ x_{id}^{k+1}=x_{id}^{k}+v_{id}^{k+1} vidk+1=wvidk+c1×r1×(pidxidk)+c2×r2×(pgdxidk)xidk+1=xidk+vidk+1

应用方法

基本实现流程:

  1. 在初始化范围内,对粒子群进行随机初始化,包含随机初始化位置和速度;
  2. 计算每个粒子的适应值;
  3. 对每个粒子,将其适应值与所经历过得最好位置的适应值进行比较,如果更好,则将其作为粒子的个体历史最优值,用当前位置更新个体历史最优位置;
  4. 对每个粒子,将其历史最优适应值与群体内所经历的最好位置的适应值进行比较,若更好,则将其作为当前的全局最优位置;
  5. 根据公式对粒子的速度和位置进行更新;
  6. 当终止条件满足时,停止计算,否则返回步骤2,继续迭代;
    (一般将终止条件设定为一个足够好的适应值,或达到一个预设的最大迭代数。)
    流程图如下所示:
    在这里插入图片描述

PSO在电力系统优化、TSP问题、神经网络训练、数字电路优化、函数优化、交通事故探测、参数辨识等领域应用广泛;
粒子群优化算法的参数设置:
7. 群体规模过少,容易陷入局部最优,群体规模过大,将导致计算时间的大幅增加。并且当群体数目增长至一定水平,最增大将不再有显著的作用。
8. 惯性权重可选择0.9—0.2线性减少;
9. 最大速度,决定粒子在一次迭代中最大的移动距离,最大速度较大,探索能力提升,单粒子容易飞过最好解,最大速度较小是,开发能力增加,但是容易陷入局部最优。
10.学习因子:使粒子具有自我总结和向群体中优秀个体学习的能力,从而向群体内或邻域内最优点靠近,c1,c2通常等于2

总结

暂无。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值