当前位置:   article > 正文

粒子群优化算法及其应用_粒子群算法的应用

粒子群算法的应用

产生背景

粒子群优化(Particle Swarm Optimization, PSO)算法是由美国普渡大学的Kennedy和Eberhart于1995年提出,它的基本概念源于对鸟群觅食行为的研究。

设想这样一个场景:

一群鸟在随机搜寻食物,在这个区域里只有一块食物,所有的鸟都不知道食物在哪里,但是它们知道当前的位置离食物还有多远。那么找到食物的最优策略是什么呢?
最简单有效的就是搜寻目前离食物最近的鸟的周围区域。

粒子群优化算法的基本原理

基本思想

将每个个体看作n维搜索空间中一个没有体积质量的粒子,在搜索空间中以一定的速度飞行,该速度决定粒子飞行的方向和距离。所有粒子有一个由优化函数决定的适应值。

基本原理

PSO初始化为一群随机粒子,然后通过迭代找到最优解。在每一次迭代中,粒子通过跟踪两个“极值”来更新自己。第一个就是粒子本身所找到的最优解,这个解称为个体极值。另个一是整个种群目前找到的最优解,这个解称为全局极值。

算法定义

在n 维连续搜索空间中,对粒子群中的第i (i=1, 2, , m)个粒子进行定义:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
第1部分是粒子在前一时刻的速度;
第2部分为个体“认知”分量,表示粒子本身的思考,将现有的位置和曾经经历过的最优位置相比。
第3部分是群体“社会(social)”分量,表示粒子间的信息共享与相互合作。
在这里插入图片描述
分别控制个体认知分量和群体社会分量相对贡献的学习率。
随机系数增加搜索方向的随机性和算法多样性。
基于学习率
Kennedy给出以下4种类型的PSO模型:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

粒子群优化算法的流程:

(1)初始化每个粒子。在允许范围内随机设置每个粒子的初始位置和速度。
(2)评价每个粒子的适应度。计算每个粒子的目标函数。
(3)设置每个粒子的Pi。对每个粒子,将其适应度与其经 历过的最好位置Pi进行比较,如果优于Pi,则将其作为该粒子的最好位置Pi。
(4)设置全局最优值Pg。对每个粒子,将其适应度与群体经历过的最好位置Pg进行比较,如果优于Pg,则将其作为当前群体的最好位置Pg。
(5)更新粒子的速度和位置。根据式(6.20)更新粒子的速度和位置。
(6)检查终止条件。如果未达到设定条件(预设误差或者迭代的次数),则返回第(2)步。

粒子群优化算法流程图

在这里插入图片描述

粒子群优化算法的参数分析

PSO算法的参数

在这里插入图片描述
最大速度Vmax
在这里插入图片描述
权重因子
在这里插入图片描述

位置更新方程中各部分的影响

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

参数设置在这里插入图片描述

粒子群优化算法应用领域

粒子群优化算法已在诸多领域得到应用,归纳如下:

(1)神经网络训练 (7)经济领域
(2)化工系统领域 (8)图像处理领域
(3)电力系统领域 (9)生物信息领域
(4)机械设计领域 (10)医学领域
(5)通讯领域 (11)运筹学领域
(6)机器人领域 ………….

粒子群优化算法求解车辆路径问题

车辆路径问题(VRP)的模型

在这里插入图片描述
在这里插入图片描述

编码与初始种群在这里插入图片描述

实验结果

粒子群优化算法的各个参数设置如下:
种群规模:50
迭代次数:1000
c1的初始值为1,随迭代的进行,线性减小到0
C2=c3=1.4
Vmax<1000
优化结果及其与遗传算法的比较如表所示。
欢迎大家加我微信交流讨论(请备注csdn上添加)
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/692324
推荐阅读
相关标签
  

闽ICP备14008679号