源于一区| 改善性能的5种高效而小众的变异策略,一键调用 (Matlab)

本文主要是介绍源于一区| 改善性能的5种高效而小众的变异策略,一键调用 (Matlab),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

图片

基于群体的优化算法在达到迭代后期时种群多样性往往会速降,进化将陷入停滞,而许多算法本身并没有突变机制,一旦受到局部最优值的约束,就很难摆脱这些约束。它还将减少种群多样性,减缓收敛速度。

变异策略可以增加种群的多样性,防止算法陷入局部最优。因此为克服算法易陷入局部最优的局限性,本文复现了一区期刊Knowledge-Based Systems中的五篇文章的变异策略,并将其分别应用于蜣螂优化算法中,结果表明,引入了这些变异策略后,算法能够有效避免陷入局部最优的困境,算法性能得到了提升。

00 目录

1 各“变异”策略简介

2 代码目录

3 算法性能

4 源码获取

01 各“变异”策略简介

1.1 多尺度协同变异

变异尺度对算法的搜索与收敛性能都有影响,若变异尺度过大,则可能越过极值点,若变异尺度过小,则需要大量迭代以实现空间的遍历,因此引入不同尺度的高斯变异算子能够有利于搜索全局最优,加快收敛。

多尺度协同变异即是本文的第一个变异策略。

1.2 正态云模型

在众多的不确定性中,随机性和模糊性无疑是最常见的属性。为了克服处理不确定性的不足,文献[1]提出了云模型来实现定量描述与定性概念之间的不确定性转换。云模型的特征在于3个数学参数:期望(Ex)、熵(En)和超熵(He)。由云模型的理论可知,数字特征中的期望Ex表示搜索范围的中心位置,熵En表示搜索范围,En越大,云滴的水平覆盖范围越大,超熵He表示云滴的离散程度,其示意图如下:

图片

因此,引入正态云模型作为本文的第二个变异策略,通过对正态云模型的期望值、熵、超熵的设置对其解所在位置进行开发。

1.3 融合高斯突变与布谷鸟的变异

高斯变异使用服从正态分布的随机数作用于原始位置向量,从而生成新的位置,能够对当前位置进行小范围的邻域搜索,同时两个随机个体的引入融合为新的高斯算子,使其包含一定的种群信息,将布谷鸟搜索机制引入与高斯算子结合,也增加了搜索效率。

融合高斯突变与布谷鸟的变异是本文的第三个变异策略。

1.4 镜面反射学习变异

镜面反射是一种非常常见的物理现象:光从具有光泽表面的物体上反射。如下:

在这里插入图片描述

该策略和反向学习有一点相似性,实际上,反向学习就是镜面反向学习的一种特殊情况,通过这种策略能够有效丰富种群的多样性。

镜面反射学习变异是本文的第四个变异策略。

1.5 平滑开发变异

包含无序维数采样、随机交叉与顺序变异,这三种机制能够相互补充,提高算法的搜索能力。

平滑开发变异是本文的第五个变异策略。

02 代码目录

在这里插入图片描述

文件说明:

在这里插入图片描述

代码为MATLAB,。考虑到很多同学获取代码后,MATLAB代码部分有乱码(MATLAB版本问题),有几个方法:

①可以将MATLAB版本改为2020及以上;

②将m文件用记事本打开,再将记事本中的代码复制到Matlab即可

代码都经过作者注释,代码清爽,可读性强。

改进策略只需一行代码即可实现调用

在这里插入图片描述

03 算法性能

采用标准测试函数检验其引入变异策略后算法的性能 (部分)

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

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

04 源码获取

在公众号(KAU的云实验台)后台回复 BY1

参考文献

[1]Li D Y, Meng H J, Shi X M. Membership clouds and membership cloud generators[J]. Journal of Computer Research and Development, 1995,32( 6) : 15-20.

这篇关于源于一区| 改善性能的5种高效而小众的变异策略,一键调用 (Matlab)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Python调用Orator ORM进行数据库操作

《Python调用OratorORM进行数据库操作》OratorORM是一个功能丰富且灵活的PythonORM库,旨在简化数据库操作,它支持多种数据库并提供了简洁且直观的API,下面我们就... 目录Orator ORM 主要特点安装使用示例总结Orator ORM 是一个功能丰富且灵活的 python O

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.

Springboot中分析SQL性能的两种方式详解

《Springboot中分析SQL性能的两种方式详解》文章介绍了SQL性能分析的两种方式:MyBatis-Plus性能分析插件和p6spy框架,MyBatis-Plus插件配置简单,适用于开发和测试环... 目录SQL性能分析的两种方式:功能介绍实现方式:实现步骤:SQL性能分析的两种方式:功能介绍记录

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

Deepseek使用指南与提问优化策略方式

《Deepseek使用指南与提问优化策略方式》本文介绍了DeepSeek语义搜索引擎的核心功能、集成方法及优化提问策略,通过自然语言处理和机器学习提供精准搜索结果,适用于智能客服、知识库检索等领域... 目录序言1. DeepSeek 概述2. DeepSeek 的集成与使用2.1 DeepSeek API

一分钟带你上手Python调用DeepSeek的API

《一分钟带你上手Python调用DeepSeek的API》最近DeepSeek非常火,作为一枚对前言技术非常关注的程序员来说,自然都想对接DeepSeek的API来体验一把,下面小编就来为大家介绍一下... 目录前言免费体验API-Key申请首次调用API基本概念最小单元推理模型智能体自定义界面总结前言最

Redis的数据过期策略和数据淘汰策略

《Redis的数据过期策略和数据淘汰策略》本文主要介绍了Redis的数据过期策略和数据淘汰策略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录一、数据过期策略1、惰性删除2、定期删除二、数据淘汰策略1、数据淘汰策略概念2、8种数据淘汰策略

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

JAVA调用Deepseek的api完成基本对话简单代码示例

《JAVA调用Deepseek的api完成基本对话简单代码示例》:本文主要介绍JAVA调用Deepseek的api完成基本对话的相关资料,文中详细讲解了如何获取DeepSeekAPI密钥、添加H... 获取API密钥首先,从DeepSeek平台获取API密钥,用于身份验证。添加HTTP客户端依赖使用Jav

Tomcat高效部署与性能优化方式

《Tomcat高效部署与性能优化方式》本文介绍了如何高效部署Tomcat并进行性能优化,以确保Web应用的稳定运行和高效响应,高效部署包括环境准备、安装Tomcat、配置Tomcat、部署应用和启动T... 目录Tomcat高效部署与性能优化一、引言二、Tomcat高效部署三、Tomcat性能优化总结Tom