当前位置: 首页 > news >正文

MRSO算法(JCR2区)

 原论文摘要:智能技术的快速发展促使利用自然行为来解决复杂问题的优化算法得以发展。其中,鼠群优化算法(Rat Swarm Optimizer,RSO)受老鼠的社会和行为特征启发,在各个领域已展现出潜力,但其收敛精度和探索能力有限。为解决这些缺点,本研究引入改进的鼠群优化算法(Modified Rat Swarm Optimizer,MRSO),旨在增强探索与开发之间的平衡。MRSO 进行了独特的改进以提高搜索效率和鲁棒性,使其适用于诸如焊接梁、压力容器和齿轮传动设计等具有挑战性的工程问题。通过经典基准函数的广泛测试表明,MRSO 显著提高了性能,在九种多模态函数中的六种以及所有七种固定维度多模态函数中避免了局部最优并实现了更高的精度。在 CEC 2019 基准测试中,MRSO 在十项函数中的六项中优于标准 RSO,展示出卓越的全局搜索能力。当应用于工程设计问题时,MRSO 始终比 RSO 提供更好的平均结果,证明了其有效性。此外,我们使用经典和 CEC-2019 基准将我们的方法与八种近期知名算法进行了比较。MRSO 在 23 个经典基准函数中的六种以及 CEC-2019 基准函数中的四种中优于这些算法中的每一种,这些结果进一步证明了 MRSO 作为工程应用中可靠且高效的优化工具的重大贡献。

function [output] = MRSO(itt,F)for n=1:ittFunction_name=F;                         % Name of the test function from beanchmark test functions[lb,ub,dim,fobj]=CEC2019(Function_name);ShowIterInfo = true;                     % Flag for Showing Iteration Information                              MaxIt = 500;                             % max Iteration numbersnPop = 30;                               % Population sizePosition=zeros(1,dim);Score=inf; Positions=init(nPop,dim,ub,lb);          %initializationConvergence=zeros(1,MaxIt);l=0;                                      %% Parameters of MRSOx = 1;y = 5;R = floor((y-x).*rand(1,1) + x);            % equation No. (3)for it=1:MaxIt
%                         for i=1:size(Positions,1)  Flag4Upper_bound=Positions(i,:)>ub;Flag4Lower_bound=Positions(i,:)<lb;
Positions(i,:)=(Positions(i,:).*(~(Flag4Upper_bound+Flag4Lower_bound)))+ub.*Flag4Upper_bound+lb.*Flag4Lower_bound;               fitness=fobj(Positions(i,:));if fitness<Score Score=fitness; Position=Positions(i,:);endendF1=R-l*((R)/MaxIt);               % equation No. (6)F2=(1-it*((1)/MaxIt));            % equation No. (7)F3=(2*rand-1*rand);               % equation No. (8)  Ar=F1*F2*F3;                      % equation No. (9)              for i=1:nPopfor j=1:dim     C=2*rand();                     % equation No. (4)           Positions(i,j)=Position(j)-(Ar*Positions(i,j)+abs(C*((Position(j)-Positions(i,j))))); % equation No. (1)endendl=l+1;    Convergence(it)=Score;% Display Iteration Informationif ShowIterInfodisp(['Iteration ' num2str(it) ': Best Cost = ' num2str(Convergence(it))]);endendout.pop = Positions;out.BestSol = Score;out.BestCosts = Convergence;semilogy(Convergence, 'LineWidth', 2);xlabel('Iteration');ylabel('Best Cost');grid on;output = zeros(itt, 1);output1 (n) = Score; % added!output = output1;end
end

http://www.lryc.cn/news/460392.html

相关文章:

  • 最新Spring Boot3框架入门教程,基础知识讲解(参考官方文档),同时基于MybatisPlus+MYSQL搭建后台管理系统基础流程(附源码)
  • 导数的概念及在模型算法中的应用
  • 获取首日涨停封盘后第二次交易日上涨/下跌的概率
  • shell $ 用法
  • 如何用支付宝实现靠脸吃饭
  • Visual Studio的实用调试技巧总结
  • graphrag学习总结
  • 专题:贪心算法(已完结)
  • Hadoop的三种运行模式:单机模式、伪分布式模式和完全分布式模式
  • JavaScript将array数据下载到Excel中
  • 【前端】Bootstrap:快速开始
  • 文献阅读(222) VVQ协议死锁
  • Node.js管理工具NVM
  • 云原生后端
  • 充电宝哪个品牌值得买?2024年五款靠谱充电宝推荐
  • YOLOv11对比YOLOV8网络结构变化分析,帮助你真正的理解和学习yolo框架
  • 弃用RestTemplate,RestClient真香!
  • electron-vite_10electron-updater软件更新
  • React native之全局变量存储AsyncStorage
  • 获取vue实例
  • 基于Python实现电影推荐系统
  • 【linux】进程理解
  • 文件IO练习1
  • c++ std::future 和 std::promise 的实现工作原理简介
  • MATLAB(Octave)混电动力能耗评估
  • opencv学习:人脸识别器特征提取BPHFaceRecognizer_create算法的使用
  • HTML+CSS总结【量大管饱】
  • Android开发之Broadcast Receive(广播机制)其实开发如此简单
  • Chromium 中chrome.cookies扩展接口c++实现分析
  • excel筛选多个单元格内容