改进粒子群优化算法||粒子群算法变体||Improved particle swarm optimization algorithm

本文主要是介绍改进粒子群优化算法||粒子群算法变体||Improved particle swarm optimization algorithm,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

粒子群算法(Particle Swarm Optimization,PSO)是一种基于群体智能的优化算法,其思想来源于鸟群寻食和鱼群捕食等自然现象。PSO算法通过模拟群体智能的行为,以一种启发式的方式寻找最优解,因此具有全局搜索能力强、收敛速度快等优点。本文将介绍标准粒子群算法的基本流程、算法实现和应用场景等方面。

完整代码下载方式

(1)改进粒子群优化算法||粒子群算法变体||Improved particle swarm optimization algorithm

一、算法实现

1.1 标准的粒子群算法

文献[1]在更新粒子的速度和位置时,需要考虑每个粒子自身的经验和整个群体的经验。具体的更新公式如下:

v i , j = w v i , j + c 1 r 1 ( p b e s t i , j − x i , j ) + c 2 r 2 ( g b e s t j − x i , j ) (1) v_{i,j}=wv_{i,j}+c_1r_1(pbest_{i,j}-x_{i,j})+c_2r_2(gbest_{j}-x_{i,j}) \tag{1} vi,j=wvi,j+c1r1(pbesti,jxi,j)+c2r2(gbestjxi,j)(1)

x i , j = x i , j + v i , j (2) x_{i,j}=x_{i,j}+v_{i,j} \tag{2} xi,j=xi,j+vi,j(2)

其中, v i , j v_{i,j} vi,j表示粒子 i i i在第 j j j维的速度, x i , j x_{i,j} xi,j表示粒子 i i i在第 j j j维的位置, p b e s t i , j pbest_{i,j} pbesti,j表示粒子 i i i在第 j j j维的个体最优解, g b e s t j gbest_{j} gbestj表示整个群体在第 j j j维的全局最优解, w w w表示惯性权重, c 1 c_1 c1 c 2 c_2 c2分别表示个体学习因子和社会学习因子, r 1 r_1 r1 r 2 r_2 r2分别表示0到1之间的随机数。

1.2、粒子速度更新公式的改进

粒子速度更新公式的改进
文献【2】提出一种均值粒子群优化(MeanPSO)算法,即利用个体最优和群体最优的线性组合 ( p h e s t i j + g b e s t j 2 ) ({\frac{{\mathrm{phest}}_{i j}+{\mathrm{gbest}}_{j}}{2}}) (2phestij+gbestj) ( p h e s t i j − g b e s t j 2 ) ({\frac{{\mathrm{phest}}_{i j}-{\mathrm{gbest}}_{j}}{2}}) (2phestijgbestj)分别替换
MeanPSO算法中粒子搜索区间更广,使得算法在进化前期有更大可能搜索到全局最优解。

具体对(1)式的更新公式如下:

v i j ( t + 1 ) = w v i j ( t ) + c 1 r 1 ( p h e s t i j − g b e s t j 2 − x i j ( t ) ) + c 2 r 2 ( p b e s t i − g b e s t d 2 − x i j ( t ) ) (3) v_{ij}(t+1)=w v_{i j}(t)+c_{1}r_{1}\left({\frac{{\mathrm{phest}}_{i j}-{\mathrm{gbest}}_{j}}{2}}\,-x_{i j}(t)\right)+c_{2}r_{2}\left({\frac{{\mathrm{pbest}}_{i }-{\mathrm{gbest}}_{d}}{2}}\,-x_{i j}(t)\right) \tag{3} vij(t+1)=wvij(t)+c1r1(2phestijgbestjxij(t))+c2r2(2pbestigbestdxij(t))(3)

MeanPSO算法中粒子搜索区间更广,使得算法在进化前期有更大可能搜索到全局最优解.

二、仿真实验及结果分析

为验证文献[3]所提算法MPSO有效性,将文献[3]MPSO算法与粒子群优化(PSO)算法【1】、均值粒子群优化(MeanPSO)算法【2】、一种基于自适应策略的改进粒子群优化(MPSO)算法【3】、改进粒子群算法(IPSO)【4】,一种多群自适应协同粒子群优化算法(MSCPSO)算法[5]、社会学习粒子群优化(SL-PSO)算法【6】、一种动态调整惯性权重的混合粒子群算法【7】,一种结合自适应惯性权重的混合粒子群算法【8】进行对比测试,使用Matlab软件进行仿真,不同PSO算法设置相同种群规模N = 30、最大迭代次数 T max ⁡ = 500 T_{\max}=500 Tmax=500和变量维数D=30。

三、完整代码下载方式

(1)改进粒子群优化算法||粒子群算法变体||Improved particle swarm optimization algorithm
在这里插入图片描述
在这里插入图片描述

三、完整代码下载方式

(1)改进粒子群优化算法||粒子群算法变体||Improved particle swarm optimization algorithm

【1】KENNEDY J,EBERHART R C.Particle swarm optimizationC//Proceedings of the lEEE International Conference on Neural Networks,1995:1942-1948
【2】 Deep K, Bansal J C. Mean particle swarm optimisation for function optimisation[J]. International Journal of Computational Intelligence Studies, 2009, 1(1): 72-92.
【3】Hao Liu, Xu-Wei Zhang , Liang-Ping Tu. A modified particle swarm optimization using adaptive strategy[J]. Expert Systems With Applications, 2020, 152: 113353.
【4】Y. Shi, R. Eberhart. A modified particle swarm optimizer[C]. 1998 IEEE International Conference on Evolutionary Computation Proceedings. IEEE World Congress on Computational Intelligence (Cat. No.98TH8360), 1998, 4: 69-73.
【5】Jiuzhong Zhang, Xueming Ding.A Multi-Swarm Self-Adaptive and Cooperative Particle Swarm Optimization[J].Engineering Applications of Artificial Intelligence,2021,24(6),958-967.
【6】Ran Cheng, Yaochu Jin. A social learning particle swarm optimization algorithm for scalable optimization[J].Information Sciences, 291,43-60.
【7】胡堂清,张旭秀,曹晓月.一种动态调整惯性权重的混合粒子群算法[J].电光与控制,2020,27(06):16-21.
【8】于桂芹,李刘东,袁永峰.一种结合自适应惯性权重的混合粒子群算法[J].哈尔滨理工大学学报,2016,21(03):49-53.

这篇关于改进粒子群优化算法||粒子群算法变体||Improved particle swarm optimization algorithm的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/831927

相关文章

Oracle查询优化之高效实现仅查询前10条记录的方法与实践

《Oracle查询优化之高效实现仅查询前10条记录的方法与实践》:本文主要介绍Oracle查询优化之高效实现仅查询前10条记录的相关资料,包括使用ROWNUM、ROW_NUMBER()函数、FET... 目录1. 使用 ROWNUM 查询2. 使用 ROW_NUMBER() 函数3. 使用 FETCH FI

C#使用HttpClient进行Post请求出现超时问题的解决及优化

《C#使用HttpClient进行Post请求出现超时问题的解决及优化》最近我的控制台程序发现有时候总是出现请求超时等问题,通常好几分钟最多只有3-4个请求,在使用apipost发现并发10个5分钟也... 目录优化结论单例HttpClient连接池耗尽和并发并发异步最终优化后优化结论我直接上优化结论吧,

Java内存泄漏问题的排查、优化与最佳实践

《Java内存泄漏问题的排查、优化与最佳实践》在Java开发中,内存泄漏是一个常见且令人头疼的问题,内存泄漏指的是程序在运行过程中,已经不再使用的对象没有被及时释放,从而导致内存占用不断增加,最终... 目录引言1. 什么是内存泄漏?常见的内存泄漏情况2. 如何排查 Java 中的内存泄漏?2.1 使用 J

Python中的随机森林算法与实战

《Python中的随机森林算法与实战》本文详细介绍了随机森林算法,包括其原理、实现步骤、分类和回归案例,并讨论了其优点和缺点,通过面向对象编程实现了一个简单的随机森林模型,并应用于鸢尾花分类和波士顿房... 目录1、随机森林算法概述2、随机森林的原理3、实现步骤4、分类案例:使用随机森林预测鸢尾花品种4.1

MySQL不使用子查询的原因及优化案例

《MySQL不使用子查询的原因及优化案例》对于mysql,不推荐使用子查询,效率太差,执行子查询时,MYSQL需要创建临时表,查询完毕后再删除这些临时表,所以,子查询的速度会受到一定的影响,本文给大家... 目录不推荐使用子查询和JOIN的原因解决方案优化案例案例1:查询所有有库存的商品信息案例2:使用EX

MySQL中my.ini文件的基础配置和优化配置方式

《MySQL中my.ini文件的基础配置和优化配置方式》文章讨论了数据库异步同步的优化思路,包括三个主要方面:幂等性、时序和延迟,作者还分享了MySQL配置文件的优化经验,并鼓励读者提供支持... 目录mysql my.ini文件的配置和优化配置优化思路MySQL配置文件优化总结MySQL my.ini文件

正则表达式高级应用与性能优化记录

《正则表达式高级应用与性能优化记录》本文介绍了正则表达式的高级应用和性能优化技巧,包括文本拆分、合并、XML/HTML解析、数据分析、以及性能优化方法,通过这些技巧,可以更高效地利用正则表达式进行复杂... 目录第6章:正则表达式的高级应用6.1 模式匹配与文本处理6.1.1 文本拆分6.1.2 文本合并6

Vue3 的 shallowRef 和 shallowReactive:优化性能

大家对 Vue3 的 ref 和 reactive 都很熟悉,那么对 shallowRef 和 shallowReactive 是否了解呢? 在编程和数据结构中,“shallow”(浅层)通常指对数据结构的最外层进行操作,而不递归地处理其内部或嵌套的数据。这种处理方式关注的是数据结构的第一层属性或元素,而忽略更深层次的嵌套内容。 1. 浅层与深层的对比 1.1 浅层(Shallow) 定义

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

HDFS—存储优化(纠删码)

纠删码原理 HDFS 默认情况下,一个文件有3个副本,这样提高了数据的可靠性,但也带来了2倍的冗余开销。 Hadoop3.x 引入了纠删码,采用计算的方式,可以节省约50%左右的存储空间。 此种方式节约了空间,但是会增加 cpu 的计算。 纠删码策略是给具体一个路径设置。所有往此路径下存储的文件,都会执行此策略。 默认只开启对 RS-6-3-1024k