超详细 | 遗传-粒子群自适应优化算法及其实现(Matlab)

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

作者在前面的文章中介绍了两种经典的优化算法——遗传算法(GA)和粒子群算法(PSO),这些智能优化算法解决问题的方式和角度各不相同,都有各自的适用域和局限性,对智能优化算法自身做的改进在算法性能方面得到了一定程度的提升,但算法缺点的解决并不彻底。

为了克服使用单一智能优化算法在求解复杂问题中表现出的精度不高、易陷入局部最值、不能在全局搜索等一系列不足,算法融合的思想开始被研究和应用。因此本文将GA与PSO这两种经典算法进行融合,并辅以改进,从而利用它们的互补性,取长补短,提高求解复杂问题的能力。

00 文章目录

1 研究背景
2 遗传-粒子群自适应优化算法模型
3 代码目录
4 算法性能分析
5 源码获取
6 总结

01 研究背景

1.1 GA与PSO混合意义

无免费午餐定理,对任何优化问题,任两种优化算法的平均性能是相等的,没有任何一种优化算法在计算效率、通用性、全局搜索能力等性能方面都能表现得很好。

算法的混合也就成了算法优化领域的一个研究热点和趋势,混合有着固有的内在需求,不是简单地将算法组合叠加,要按照一定的策略和模式进行。

GA算法过程简单,全局收敛性好,多用于进行函数优化、数据挖掘、生产调度、组合优化、图像处理、机器学习等问题。但个体没有记忆,遗传操作盲目无方向,所需要的收敛时间长;
PSO算法原理简单,用速度、位移公式迭代易于实现,具有记忆功能,需要调节的参数少,在寻优稳定性和全局性收敛性方面具有很大优势,但容易陷入局部最优值出现早熟,种群多样性差,搜索范围小,在高维复杂问题寻优时更为明显,多用于求解组合优化、模式分解、传感器网络、生物分子研究等领域。

因此,GA算法因其遗传操作,种群多样,全局性好但个体没有记忆性,且收敛慢,而粒子群有记忆性,收敛快但易早熟,多样性差,这就使得两种算法在性能上有克服局限实现优势互补的可能,同时,作者在前面的文章中提出的自适应混沌粒子群能够使得初始解更加均匀,自适应变化的权重和学习因子能在一定程度上增加算法在进化后期搜索多样解的概率,因此将此改进引入混合模型中以期能提高算法性能。

1.2 遗传算法

遗传算法原理

1.3 自适应粒子群算法

自适应混沌粒子群

02 遗传-粒子群自适应优化算法模型

混合优化算法的方法有很多,有并行混合、串行混合、嵌入式混合三种,本文采用嵌入式混合。嵌入式混合是将整个算法或者是算法思想加入到另一个算法中,本文是将遗传算法的交叉与变异算子嵌入自适应混沌粒子群中,交叉与变异能够提高种群多样性并扩大算法的搜索范围,对算法取得全局最优解能够起到重要作用。
GA-APSO算法计算流程如下:
在这里插入图片描述

03 代码目录

在这里插入图片描述

04 算法性能分析

4.1 测试函数

为了能够验证遗传-粒子群自适应算法对比本文提到的粒子群算法、遗传算法、遗传-粒子群算法有更好的效果,本文选用4个CEC的标准测试函数Sphere、Griewank、Rastrigin、Rosenbrock对算法的寻优精度、跳出局部能力、全局寻优能力进行检验。4个函数的表达式如下:
4.1.1 Sphere函数
在这里插入图片描述

Sphere 函数的自变量𝑥𝑖的取值的范围:-100<𝑥𝑖<100;该函数存在唯一的一个全局的最小值,且当𝑥=(0,0,…,0)时,函数取得全局最小值 f1(x) = 0。选择该函数是对算法寻优的精度进行测试。
在这里插入图片描述

4.1.2 Griewank函数
在这里插入图片描述

Griewank 函数的自变量𝑥𝑖的取值的范围:-600<𝑥𝑖<600;该函数在整个的数 据分布含有大量局部极值,但是存在全局最小值 f2(x) = 0,是一种比较复杂的多模的复杂性问题,因此选择该函数目的是对算法是否跳出局部,能够继续搜索的 能力进行测试。
在这里插入图片描述

4.1.3 Rastrigin函数
在这里插入图片描述

Rastrigin 函数的自变量𝑥𝑖的取值的范围:-5.12<𝑥𝑖<5.12;在 x = ( 0,0 ,…, 0 ) 处的时候存在全局极小点 0,该函数是一个非线性的多峰值函数,存在大量的局部最小值,寻找全局极小值时有一定的困难,因此用此函数可以,对算法的全局寻优能力检验测试。
在这里插入图片描述

4.1.4 Rosenbrock函数
在这里插入图片描述

Rosenbrock 函数的自变量𝑥𝑖的取值的范围:-30<𝑥𝑖<30;该函数是一单峰函数, 存在全局极小值,位于一个类似开口向上的抛物线的最低点处,虽然能够比较容易找到,但是很难收敛到最低处,因此可以测试全局寻优的能力。
在这里插入图片描述

4.2 测试结果

Sphere函数
在这里插入图片描述

Griewank函数
在这里插入图片描述

Rastrigin函数
在这里插入图片描述

Rosenbrock函数
在这里插入图片描述

可以看到经遗传算法和粒子群算法经混合后能够极大的提升其全局寻优的性能,而经过改进后的粒子群与遗传算法进行混合仍能够在其基础上提升性能,因此此改进有效。

05 源码获取

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%https://mbd.pub/o/bread/ZJuVlpps%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

06 总结

本文中将遗传算法与自适应混沌粒子群算法进行混合寻优,对比GA-PSO,GA,PSO,其性能得到提升,同时也可以利用作者前面提到过的关于粒子群与遗传算法的多种改进方法进行混合,相信一定也能取得相当好的效果,后续作者也会更新关于混合算法的程序
另:如果有伙伴有待解决的优化问题(各种领域都可),可以发我,我会选择性的更新利用优化算法解决这些问题的文章。

如果这篇文章对你有帮助或启发,可以点击右下角的赞 (ง •̀_•́)ง(不点也行),若有定制需求,可私信作者。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/15459.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI PPT 一句话搞定PPT讲演搞

相信大家在职场中,一定会接触过写PPT,经常会把你搞得焦头烂额。在大部分的公司里,写PPT汇报又是不可能逃避的事情。但随着AI时代的到来,有很多AI帮你写PPT的工具也逐渐崭露头角,可以自动帮助你制作出华丽的PPT&#xf…

【H5】文件下载(javascript)

系列文章 【移动设备】iData 50P 技术规格 本文链接:https://blog.csdn.net/youcheng_ge/article/details/130604517 【H5】avalon前端数据双向绑定 本文链接:https://blog.csdn.net/youcheng_ge/article/details/131067187 【H5】安卓自动更新方案&a…

c++查漏补缺

c语言的struct只能包含变量,而c中的class除了包含变量,还可以包含函数。 通过结构体定义出来的变量还是变量,而通过类定义出来有了新的名称,叫做对象。C语言中,会将重复使用或具有某项功能的代码封装成一个函数&#x…

IP数据云揭示高风险IP的来源地

在全球网络安全日临近之际,IP数据云揭示高风险IP的来源地。这些高风险IP以其潜在威胁和犯罪活动而闻名,已引起了全球范围内的关注。 根据IP数据云介绍,高风险IP的主要来源地是位于亚洲和东欧的国家其中包括俄罗斯、朝鲜和乌克兰等地。这些地区…

基于matlab使用深度学习进行图像类别分类(附源码)

一、前言 此示例演示如何使用预训练卷积神经网络 (CNN) 作为特征提取器来训练图像类别分类器。 卷积神经网络 (CNN) 是深度学习领域的一种强大的机器学习技术。CNN使用大量不同图像进行训练。从这些大型集合中,CNN可…

QT自定义工具条渐变背景颜色一例

使用样式定义: QWidget* toolbar new QWidget(this);toolbar->setObjectName("main_tool");toolbar->setStyleSheet("#main_tool{background: qlineargradient(x1:0 , y1:0 , x2:1 , y2:0,""stop:0 rgba(0,255,0, 0.2),"&q…

5道Mysql面试题

1.什么Mysql的事务?事务的四大特性? Mysql中事务的隔离级别分为四大等级:读未提交(READ UNCOMMITTED)、读提交 (READ COMMITTED)、可重复读 (REPEATABLE READ)、串行化 …

多元回归预测 | Matlab基于逻辑回归(Logistic Regression)的数据回归预测,多输入单输出模型

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 多元回归预测 | Matlab基于逻辑回归(Logistic Regression)的数据回归预测,多输入单输出模型 评价指标包括:MAE、RMSE和R2等,代码质量极高,方便学习和替换数据。要求2018版本及以上。 部分源码 %% 清空环境变量…

【开放麒麟】VMware + openKylin 尝鲜“开放麒麟1.0”

7月5日,我国首个开源桌面操作系统“开放麒麟1.0”正式发布,标志着我国拥有了操作系统组件自主选型、操作系统独立构建的能力,填补了我国在这一领域的空白。 本期分享通过虚拟机 Vmware 安装 openKylin 操作系统的方式,来尝鲜一下…

【码银送书第二期】《高并发架构实战:从需求分析到系统设计》

很多软件工程师的职业规划是成为架构师,但是要成为架构师很多时候要求先有架构设计经验,而不做架构师又怎么会有架构设计经验呢?那么要如何获得架构设计经验呢? 一方面可以通过工作来学习,观察所在团队的架构师是如何…

2023通感一体化系统架构与关键技术白皮书

1 通感一体化业务与性能指标 1.1 通感一体化业务分类 根据通信与感知的相互关系 通信辅助感知类业务:通信的参考信号作为感知信号,实现目标定位、测速、手势识别等业务——高速可靠的通信能力为感知数据的汇聚提供保障,能够进一步提高感知精…

python接口自动化(二十四)--unittest断言——中(详解)

简介 上一篇通过简单的案例给小伙伴们介绍了一下unittest断言,这篇我们将通过结合和围绕实际的工作来进行unittest的断言。这里以获取城市天气预报的接口为例,设计了 2 个用例,一个是查询北京的天气,一个是查询 南京为例&#xf…