首页 > 编程语言 >速度暂停粒子群算法:一种新的全局优化方法

速度暂停粒子群算法:一种新的全局优化方法

时间:2024-09-29 22:54:16浏览次数:10  
标签:粒子 PSO gbest VPPSO 算法 速度 全局

目录


在这里插入图片描述

1.摘要

粒子群优化算法(PSO)是一种高效的元启发式算法,特别适合解决多样的优化问题。然而,PSO面临着收敛速度慢和易陷入局部最优的问题,这在处理高维问题时尤为明显。为了解决这些问题,本文引入了一种名为速度暂停(velocity pausing)的改进策略,创建了VPPSO变体。VPPSO通过在迭代过程中让粒子保持与前一迭代相同的速度,有效增强了算法在探索与利用之间的平衡。

2.算法原理

【智能算法】粒子群算法(PSO)原理及实现

3.速度暂停粒子群算法

速度暂停粒子群算法(VPPSO)中,粒子不必在每次迭代时更新其速度,而是可以选择保持前一迭代的速度,从而实现三种速度模式:更快、更慢和恒定。这一机制的引入,不仅增加了运动的多样性,而且有助于更好地平衡探索与利用的关系,避免了传统PSO中常见的过早收敛问题。速度更新:
V i ( t + 1 ) = { V i ( t ) if r a n d < α w V i ( t ) Otherwise + c 1 r 3 ( P b e s t i ( t ) − X i ( t ) ) + c 2 r 4 ( g b e s t ( t ) − X i ( t ) ) \left.V_i(t+1)=\left\{\begin{array}{ll}V_i(t)&\text{if}rand<\alpha\\wV_i(t)&\text{Otherwise}\\+c_1r_3(Pbest_i(t)-X_i(t))\\+c_2r_4(gbest(t)-X_i(t))\end{array}\right.\right. Vi​(t+1)=⎩ ⎧​Vi​(t)wVi​(t)+c1​r3​(Pbesti​(t)−Xi​(t))+c2​r4​(gbest(t)−Xi​(t))​ifrand<αOtherwise

VPPSO通过引入速度暂停参数 a 来控制粒子的速度更新。当 a 的值大于 1 时,粒子将按照传PSO 算法的方式更新速度。如果 a 值过低,粒子将被迫以恒定速度移动,限制了速度的变化范围:
V i ( t + 1 ) = V i ( t ) r 5 a ( t ) + c 1 r 6 ( P b e s t i ( t ) − X i ( t ) ) + c 2 r 7 ( g b e s t ( t ) − X i ( t ) ) V_{i}(t+1)=V_{i}(t)^{r_{5}a(t)}+c_{1}r_{6}(Pbest_{i}(t)-X_{i}(t))\\+c_{2}r_{7}(gbest(t)-X_{i}(t)) Vi​(t+1)=Vi​(t)r5​a(t)+c1​r6​(Pbesti​(t)−Xi​(t))+c2​r7​(gbest(t)−Xi​(t))
其中,参数表述为:
a ( t ) = exp ⁡ − ( b t T ) b a(t)=\exp^{-\left(\frac{bt}{T}\right)^b} a(t)=exp−(Tbt​)b

为了提升算法性能,避免过早收敛并保持种群多样性,VPPSO将种群分为两个不同的群体。第一群体包括 N1 个粒子,这些粒子在粒子群算法(PSO)框架下更新其速度和位置,但引入了两个关键的修改:一是调整速度方程的第一项,二是采用了速度暂停概念,以增强粒子在探索和开发之间的平衡。第二群体则包括 N2 个粒子,这些粒子完全依赖全局最优解(gbest)来更新位置,不涉及速度的更新。通过这种双群体策略,算法能够在保持探索多样性的同时,有效地减少因粒子过早聚集而导致的局部最优陷阱:
X i ( t + 1 ) = { g b e s t + a ( t ) r 8 ∣ g b e s t ∣ a ( t ) if r 9 < 0.5 g b e s t − a ( t ) r 10 ∣ g b e s t ∣ a ( t ) Otherwise X_i(t+1)=\begin{cases} gbest+a(t)r_8|gbest|^{a(t)}&\text{if} r_9<0.5\\ gbest-a(t)r_{10}|gbest|^{a(t)}&\text{Otherwise}\end{cases} Xi​(t+1)={gbest+a(t)r8​∣gbest∣a(t)gbest−a(t)r10​∣gbest∣a(t)​ifr9​<0.5Otherwise​

流程图

在这里插入图片描述

伪代码

在这里插入图片描述

3.结果展示

CEC2005

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

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

4.参考文献

[1] Shami T M, Mirjalili S, Al-Eryani Y, et al. Velocity pausing particle swarm optimization: A novel variant for global optimization[J]. Neural Computing and Applications, 2023, 35(12): 9193-9223.

5.代码获取

标签:粒子,PSO,gbest,VPPSO,算法,速度,全局
From: https://blog.csdn.net/Logic_9527/article/details/142644165

相关文章

  • 什么是计算机视觉算法?一文读懂!
    计算机视觉(ComputerVision)是一门让机器具备“看见”与“理解”世界的能力的学科。通过计算机视觉,计算机可以从图像或视频数据中提取有用信息,进而执行分类、检测、分割等任务。计算机视觉算法则是这一过程的核心。本文将介绍计算机视觉算法的基本概念、常见算法、以及其在各个......
  • 基于Python+flask+MySQL+HTML的全国范围水质分析预测系统,可视化用echarts,预测算法随机
    1绪论近年来,水质监测系统的进步显著,这在全球环保意识不断提升的背景下尤为明显。大量资源被投入到水质监测技术的研发和应用中,以不断优化监测效能。水资源的保护及健康环境的维护,这种趋势旨在提升人们生活质量,确保优质的生活条件。通过持续不懈的努力,我们得以实现对水质的及......
  • Python和C++及MATLAB距离相关性生物医学样本统计量算法及数据科学
    ......
  • 算法笔试题面试题
    算法笔试面试十大排序算法:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序、希尔排序、计数排序,基数排序,桶排序。ps:重点在理解原理,写代码的时候要由里往外写。冒泡排序:思想:两个相邻的元素比较并交换。publicstaticvoidbubbleSort(int[]arr){if(arr.length......
  • 算法备案未通过三个常见原因
    进行算法备案,是企业遵循国家监管要求的必要合规举措。下文将为各位AI创业者和企业分享算法备案不通过的三个常见原因:1. 忽视数据安全与合规随着《数据安全法》与《个人信息保护法》的颁布,企业肩负起前所未有的重任——确保数据从采集到使用的每一步都合乎法律规范。算法的......
  • 哨兵节点:思想简单,效果很棒的编程算法
    以下文章来源于IOT物联网小镇,作者道哥别人的经验,我们的阶梯!今天和同事一起调代码,定位到一处很耗时的地方。在某个线程中,同步周期需要保证在2毫秒(如果耗时不到2毫秒,那么就让剩下的时间进行sleep)。但是在调用一个模块的内部函数时,时不时的就飘到了3~5毫秒,时间抖动毫无保证。......
  • 代码随想录算法训练营第四天|24. 两两交换链表中的节点,19.删除链表的倒数第N个节点,面
    24.两两交换链表中的节点文章链接:https://programmercarl.com/0024.两两交换链表中的节点.html#思路视频讲解:https://www.bilibili.com/video/BV1YT411g7br代码链接:https://leetcode.cn/problems/swap-nodes-in-pairs/此题注意点:注意由于交换节点,head已经变换了位置,故最终......
  • 代码随想录算法训练营Day16 | 513.找树左下角的值、112.路径总和、113.路径总和Ⅱ、10
    目录513.找树左下角的值112.路径总和113.路径总和Ⅱ106.从中序与后序遍历序列构造二叉树105.从前序与中序遍历序列构造二叉树513.找树左下角的值题目513.找树左下角的值-力扣(LeetCode)给定一个二叉树的根节点root,请找出该二叉树的最底层最左边节点的值。假......
  • 经典强化学习算法:分层强化学习算法—options算法2(理解篇)
    论文地址:https://people.cs.umass.edu/~barto/courses/cs687/Sutton-Precup-Singh-AIJ99.pdf例子:这是一个寻路问题,该问题使用强化学习算法解决,准确的来说是使用“表格表示的强化学习算法中的规划算法”来进行解决的;之所以没有说是使用规划算法来说是因为这里使用了学习型......
  • 深度DFS 和 广度BFS搜索算法学习
    深度DFS和广度BFS搜索算法学习 目录广度优先的动态图深度优先的动态图广度和深度的具体步骤深度和广度的应用场景 图的两种遍历方式:深度优先遍历(DFS——DepthFirstSearch)广度优先遍历(BFS——BreathFirstSearch)图的遍历算法里,处理临时数据,依赖两个抽象......