多目标优化---粒子群算法(PSO)

多目标优化—粒子群算法(PSO)

1 背景
2 算法介绍
3 算法流程
4 例子说明

1 背景:

粒子群算法( Particle Swarm Optimization, PSO)最早是由Eberhart和Kennedy在1995年提出来的, 粒子群算法的特点是简单易行,收敛速度快,设置参数少, 已经成为现代优化领域的热点。

粒子群算法的概念源于对 鸟群觅食行为 的研究。设想这样一个场景:一群鸟在随机搜寻食物,在这个区域里只有一块食物,所有的鸟都不知道食物在哪里,但是它们知道当前的位置离食物还有多远。采用最简单有效的策略寻找鸟群中离食物最近的个体来进行搜索

2 算法介绍:

每个问题的解,想象成为一只鸟,称为“粒子”,所有粒子在N维空间中搜索, 每个粒子只有两个属性:位置和速度,速度代表移动的快慢,位置代表移动的方向。 粒子的当前位置为对应优化问题的一个候选解,粒子的飞行过程为该个体的搜索过程.粒子的飞行速度可根据粒子历史最优位置和种群历史最优位置进行动态调整.每个粒子单独搜寻的最优解叫做个体极值,粒子群中最优的个体极值作为当前全局最优解。不断迭代,更新速度和位置。最终得到满足终止条件的最优解。

下面的链接演示了PSO算法过程,非常的形象直观,我是在这个大佬的博客里看到的

粒子群算法大佬的博客
动态演示PSO算法过程

3 算法流程:

初始化

首先,初始化粒子的速度和位置

个体极值与全局最优解

定义适应度函数,确定每个粒子的个体最优解,并从这些个体最优解找到一个全局最优值

更新速度和位置的公式

粒子通过下面的公式来更新自己的速度和位置
在这里插入图片描述
Vi是粒子的速度
rand():是在(0,1)之间的随机数
Xi是粒子的当前位置
C1,C2是加速因子,一般情况下C1=C2=2
在这里插入图片描述
终止条件

(1)达到设定迭代次数;(2)代数之间的差值满足最小界限

在这里插入图片描述

4 例子说明:

在这里插入图片描述

在这里插入图片描述
我自己又推了一遍,对这个过程更加的清晰

在这里插入图片描述

©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页