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 作为工程应用中可靠且高效的优化工具的重大贡献。

Matlab 复制代码
function [output] = MRSO(itt,F)
        for n=1:itt
            Function_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 numbers
            nPop = 30;                               % Population size
            
            Position=zeros(1,dim);
            Score=inf; 
            Positions=init(nPop,dim,ub,lb);          %initialization
            Convergence=zeros(1,MaxIt);
            l=0;                                      %% Parameters of MRSO
            x = 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,:);
                    end
                    end
                     F1=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:nPop
                    for 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)
                    end
                end
                l=l+1;    
                Convergence(it)=Score;
                % Display Iteration Information
                if ShowIterInfo
                    disp(['Iteration ' num2str(it) ': Best Cost = ' num2str(Convergence(it))]);
                end
            end
            out.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
相关推荐
神仙别闹6 小时前
基于 MATLAB SVM 方法对数字进行分类训练和预测
支持向量机·matlab·分类
蚂蚁数据AntData6 小时前
从ChatBI到业务记忆:重新定义数据智能的生产力边界
大数据·网络·数据库·人工智能·算法
_日拱一卒6 小时前
LeetCode:22括号生成
算法·leetcode·职场和发展
cfm_29146 小时前
JVM垃圾收集算法与收集器深度解析
jvm·测试工具·算法·性能优化
郝学胜_神的一滴6 小时前
干货版《算法导论》09:让哈希表稳如泰山的终极解法
数据结构·算法
CC数学建模6 小时前
2026年第十六届APMCM 亚太地区大学生数学建模竞赛(中文赛项)赛题C题:创业社区规划与资源配置优化问题完整思路、代码、模型、文章,全网首发高质量分享!
python·算法·数学建模
徐小夕6 小时前
我们放弃了单Agent方案:HiCAD 3.0 用 Harness 做多Agent编排,把3D建模的准确率提升了30%
前端·算法·github
洛水水6 小时前
【力扣100题】88.多数元素
数据结构·算法·leetcode
Shan12056 小时前
无向图的Hierholzer算法流程(一)
算法
一切皆是因缘际会6 小时前
频域特征解构底层机理与双域融合鉴伪算法优化
人工智能·算法·ai·架构