智能优化算法之粒子群算法
创始人
2024-06-01 22:42:04
0次

1、粒子群优化算法概述

        粒子群优化算法(PSO:Particle swarm optimization) 是一种进化计算技术(evolutionary computation)。源于对鸟群捕食的行为研究。粒子群优化算法的基本思想:是通过群体中个体之间的协作和信息共享来寻找最优解.

  PSO的优势:在于简单容易实现并且没有许多参数的调节。目前已被广泛应用于函数优化、神经网络训练、模糊系统控制以及其他遗传算法的应用领域。

2、粒子群优化算法基本思想

         粒子群算法通过设计一种无质量的粒子来模拟鸟群中的鸟,粒子仅具有两个属性:速度和位置,速度代表移动的快慢,位置代表移动的方向。每个粒子在搜索空间中单独的搜寻最优解,并将其记为当前个体极值,并将个体极值与整个粒子群里的其他粒子共享,找到最优的那个个体极值作为整个粒子群的当前全局最优解,粒子群中的所有粒子根据自己找到的当前个体极值和整个粒子群共享的当前全局最优解来调整自己的速度和位置。

1)PSO算法首先在可行解空间中初始化一群粒子, 每个粒子都代表极值优化问题的一个潜在最优解, 用位置、 速度和适应度值三项指标表示该粒子特征。
2)粒子在解空间中运动, 通过跟踪个体极值Pbest和群体极值Gbest更新个体位置, 个体极值Pbest是指个体所经历位置中计算得到的适应度值最优位置, 群体极值Gbest是指种群中的所有粒子搜索到的适应度最优位置。
3)粒子每更新一次位置, 就计算一次适应度值, 并且通过比较新粒子的适应度值和个体极值、 群体极值的适应度值更新个体极值Pbest和群体极值Gbest位置。

        在每一次迭代过程中, 粒子通过个体极值和群体极值更新自身的速度和位置, 更新公式 如下:

 或者为:

 关键参数说明:

i:i=1,2,...n

\omega:惯性权重。其体现的是粒子继承先前的速度的能力,其值为非负,一个较大的惯性权值有利于全局搜索,而一个较小的惯性权值则更利于局部搜索。常规的有静态(惯性权重一直保持不变)和动态两种选择。动态\omega能获得比固定值更好的寻优结果。

目前采用较多的是线性递减权值(Linearly Decreasing Weight,LDW)策略。

\omega (k)=\omega_{start}-(\omega_{start}-\omega_{end})(T_{max}-k)/T_{max}

         其中,\omega _{start}为初始惯性权重,\omega _{end}为迭代至最大次数时的惯性权重,k为当前迭代代数,T_{max}为最大迭代代数。

一般来说,惯性权值取值为\omega _{start}=0.9、\omega _{end}=0.4时算法性能最好。这样,随着迭代的进行,惯性权重由0.9线性递减至0.4,迭代初期较大的惯性权重使算法保持了较强的全局搜索能力,而迭代后期较小的惯性权重有利于算法进行更精确的局部搜索。

x_{i}:当前位置。

v_{i}:粒子的速度,是一个矢量。要注意vi有最大值的限定,当v_{i}大于v_{max}时,则v_{i}=v_{max}

 c_{1},c_{2}:学习因子,通常取值为2.

PSO算法的流程和伪代码

 

3、粒子群优化算法不遗传算法对比

相同点:

  • 种群随机初始化
  •  适应度函数值与目标最优解之间的映射

不同点:

  • PSO算法没有选择、 交叉、 变异等操作算子
  • PSO有记忆的功能
  • 信息共享机制不同, 遗传算法是互相共享信息, 整个种群的移动是比较均匀地向最优区域移动, 而在PSO中, 只有gBest或lBest给出信息给其他粒子, 属于单向的信息流动, 整个搜索更新过程是跟随当前最优解的过程。 因此,在一般情况下,PSO的收敛速度更快

 

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...