大数跨境
0
0

完整改进RIME算法,基于修正多项式微分学习算子Rime-ice增长优化器,完整MATLAB代码获取

完整改进RIME算法,基于修正多项式微分学习算子Rime-ice增长优化器,完整MATLAB代码获取 算法小狂人
2025-09-26
0
导读:1 简介为了有效地利用雾状冰生长的物理现象,最近开发了一种优化算法——雾状优化算法(RIME)。

1 简介

为了有效地利用雾状冰生长的物理现象,最近开发了一种优化算法——雾状优化算法(RIME)。它模拟硬雾状和软雾状过程,构建硬雾状穿刺和软雾状搜索机制。在本研究中,引入了一种增强版本,称为修改的RIME(MRIME),集成了多项式微分学习算子(PDLO)。与传统的RIME方法相比,PDLO的加入给RIME算法引入了非线性,提高了其适应性、收敛速度和全局搜索能力。

1 MRIME算法

RIME算法从自然过程,特别是软冰晶和硬冰晶的生长中汲取灵感,设计了其优化策略。冰晶粒子的位置代表搜索空间中的解向量。它通过两个阶段模拟相关的环境条件:软冰晶搜索(SRS)和硬冰晶穿刺(HRP)。它需要几个关键步骤来执行优化,如下所示。

2.1 冰晶初始化阶段

种群由 个冰晶代理初始化,每个代理表示为 维的冰晶粒子。在初始化过程中采用随机搜索来确定搜索空间中冰晶粒子的位置。因此,冰晶代理种群,表示为 ,由单个冰晶粒子的位置表示为 ,如公式(10)所示。

其中 是种群矩阵,由冰晶代理的向量组成( ),每个冰晶代理向量由几个设计参数( )组成。

这些位置受到限制,具有上限( )和下限( )边界,定义了每个维度的允许范围。采用许多基于种群的算法中观察到的传统方法,冰晶种群在初始阶段通过随机搜索过程进行初始化。初始化期间位置 的结果表达式如下:

其中 是范围[0, 1]内随机选择的数字。

2.2 SRS阶段

算法模拟冰晶粒子在物体表面冻结的过程,模拟软冰晶的生长过程。冰晶代理在风和自身随机性的驱动下在搜索空间中移动,确保在早期迭代中广泛覆盖。冰晶代理的位置更新由以下公式确定,该公式包括最佳冰晶代理的位置、环境因素和随机性:

其中粘附度( )表征最佳冰晶代理与随机选择的冰晶代理之间的接近程度, 限制在范围[0, 1]内。修改后的第 个冰晶代理在SRS阶段后的维度 的位置,表示为 ,基于最佳冰晶代理的位置 确定。方向控制由 的插值控制,其中 是范围[-1, 2]内的随机数。此外, 是范围[0, 1]内的随机数, 在公式(13)中定义。

在这种情况下,符号“ ”表示迭代计数索引,而“ ”表示总迭代次数。

环境因子,表示为“ ”,模拟外部条件并确保冰晶种群的收敛,如公式(14)所示。

函数“round”用于四舍五入数值,参数“ ”用于调节步进函数的分割,默认值为5,如文献[29]所述。此外,变量“ ”是范围[0, 1]内的随机数,“ ”表示粘附系数,影响冰晶代理的凝聚概率。粘附系数随着整个搜索过程的迭代次数逐渐增加,如下所示:


在强风条件下,算法模拟硬冰晶粒子的更简单和更规则的生长。HRP机制促进了代理之间的信息交换,以提高收敛性和跳出局部最优的能力,如下所示:

其中 表示第 个冰晶代理在维度 中的新创建位置,而“ ”是范围[0, 1]内的随机数。如所示,冰晶代理的位置根据适应度值和归一化适应度值( )进行更新,促进了代理之间的交叉。

其中 是关于冰晶代理 的当前位置的适应度函数值。

2.4 提出的PLDO整合

在本文中,PLDO被整合以增强RIME算法的搜索能力和多样性。PLDO通常用于优化中的差分进化(DE)算法[44]。该算子通过合并两个随机选择的个体的信息来增强种群多样性,以更新当前冰晶代理的位置。PLDO是DE的扩展,通过适应突变策略来放大搜索空间内的探索和开发。PLDO中的突变公式结合了多项式函数,将非线性特性注入突变操作中。为了执行整合的PLDO,从种群中抽取两个随机整数( )。随后,新派生的冰晶代理 的位置可以公式化为:

其中 是范围[0, 1]内生成的随机数。因此,更新涉及两个随机选择的元素( )之间的加权差异,而权重 控制这种差异对更新的贡献。

2.5 正向贪婪选择(PGS)阶段

在生成HRP-SRS阶段(公式(12)和(16))或PLDO(公式(18))中的冰晶粒子的新位置后,PGS机制用于比较更新前后的适应度值。如果更新后的适应度更好,则用次优解替换最优解,从而增强全局解的质量。该机制在更新过程中积极替换代理,以确保更优的种群进化。

2.6 迭代过程

图3a,b展示了标准RIME与所提出的MMIME优化器的主要步骤,其中整个过程在预定的迭代次数( )内交替执行。在每次迭代中,所提出的MMIME利用SRS和HRP阶段或PLDO机制更新冰晶代理的位置,评估适应度值,并执行PGS。在所提出的MMIME中,引入PLDO,包含多项式函数,使每个突变向量组件的影响得到精细控制,为探索过程提供灵活性。通过排列引入的随机性增加了搜索空间探索的有效性。种群中的最佳冰晶代理由最佳适应度值确定,并作为优化问题的解决方案输出。

function [Best_rime_rate,Best_rime,Convergence_curve]=MRIME(N,Max_iter,lb,ub,dim)
% disp('RIME is now tackling your problem')
% initialize position

Best_rime=zeros(1,dim);
Best_rime_rate=inf;%change this to -inf for maximization problems

Rimepop=initialization(N,dim,ub,lb);%Initialize the set of random solutions
Lb=lb.*ones(1,dim);% lower boundary
Ub=ub.*ones(1,dim);% upper boundary
it=1;%Number of iterations
Convergence_curve=zeros(1,Max_iter);
Rime_rates=zeros(1,N);%Initialize the fitness value
newRime_rates=zeros(1,N);
W = 5;%Soft-rime parameters, discussed in subsection 4.3.1 of the paper

%Calculate the fitness value of the initial position
fori=1:N
    %     Rime_rates(1,i)=fobj(Rimepop(i,:));%Calculate the fitness value for each search agent

    x=Rimepop(i,:);
    [Im,Vm]=IVload;
    Iph=x(1);
    I0=x(2);
    Rs=x(3);
    Rsh=x(4);
    n=x(5);
    I02=x(6);
    n2=x(7);
    k = 1.380649e-23;
    T = 306.15;
    q = 1.602176634e-19;
    Vth= k*T/q;
    Ns=1;
    a=n*Vth*Ns;
    a2=n2*Vth*Ns;
    I = -Vm./(Rs + Rsh) - lambertw(Rs.*I0.*Rsh.*exp(Rsh.*(Rs.*Iph + Rs.*I0 + Vm)./(a.*(Rs + Rsh)))./(a.*(Rs + Rsh))).*a./Rs...
        - lambertw(Rs.*I02.*Rsh.*exp(Rsh.*(Rs.*Iph + Rs.*I02 + Vm)./(a2.*(Rs + Rsh)))./(a2.*(Rs + Rsh))).*a2./Rs + (Rsh.*(I0 + Iph + I02))./(Rs + Rsh);


    fit_I=sqrt(sum((Im-I).^2)/length(Im));

    Rime_rates(1,i)=fit_I;

    %Make greedy selections
    if Rime_rates(1,i)<Best_rime_rate
        Best_rime_rate=Rime_rates(1,i);
        Best_rime=Rimepop(i,:);
    end
end
% Main loop

while it <= Max_iter
    %     it
    RimeFactor = (rand-0.5)*2*cos((pi*it/(Max_iter*10)))*(1-round(it*W/Max_iter)/W);%Parameters of Eq.(3),(4),(5)
    E =sqrt(it/Max_iter);%Eq.(6)
    newRimepop = Rimepop;%Recording new populations
    normalized_rime_rates=normr(Rime_rates);%Parameters of Eq.(7)
    ifrand>0.5
        fori=1:N
            forj=1:dim
                %Soft-rime search strategy

                r1=rand();
                if r1< E
                    newRimepop(i,j)=Best_rime(1,j)+RimeFactor*((Ub(j)-Lb(j))*rand+Lb(j));%Eq.(3)
                end
            end
        end
    else
        fori=1:N
            newRimepop(i,:)=newRimepop(i,:)+rand*(newRimepop(randperm(N,1),:)-newRimepop(randperm(N,1),:));
        end
    end
    fori=1:N
        forj=1:dim
            %Hard-rime puncture mechanism
            r2=rand();
            if r2<normalized_rime_rates(i)
                newRimepop(i,j)=Best_rime(1,j);%Eq.(7)
            end
        end
    end
    fori=1:N
        %Boundary absorption
        Flag4ub=newRimepop(i,:)>ub;
        Flag4lb=newRimepop(i,:)<lb;
        newRimepop(i,:)=(newRimepop(i,:).*(~(Flag4ub+Flag4lb)))+ub.*Flag4ub+lb.*Flag4lb;

        x=newRimepop(i,:);
        [Im,Vm]=IVload;
        Iph=x(1);
        I0=x(2);
        Rs=x(3);
        Rsh=x(4);
        n=x(5);
        I02=x(6);
        n2=x(7);
        k = 1.380649e-23;
        T = 306.15;
        q = 1.602176634e-19;
        Vth= k*T/q;
        Ns=1;
        a=n*Vth*Ns;
        a2=n2*Vth*Ns;
        I = -Vm./(Rs + Rsh) - lambertw(Rs.*I0.*Rsh.*exp(Rsh.*(Rs.*Iph + Rs.*I0 + Vm)./(a.*(Rs + Rsh)))./(a.*(Rs + Rsh))).*a./Rs...
            - lambertw(Rs.*I02.*Rsh.*exp(Rsh.*(Rs.*Iph + Rs.*I02 + Vm)./(a2.*(Rs + Rsh)))./(a2.*(Rs + Rsh))).*a2./Rs + (Rsh.*(I0 + Iph + I02))./(Rs + Rsh);


        fit_I=sqrt(sum((Im-I).^2)/length(Im));
        newRime_rates(1,i)=fit_I;
        %Positive greedy selection mechanism

        if newRime_rates(1,i)<Rime_rates(1,i)
            Rime_rates(1,i) = newRime_rates(1,i);
            Rimepop(i,:) = newRimepop(i,:);
            if newRime_rates(1,i)< Best_rime_rate
                Best_rime_rate=Rime_rates(1,i);
                Best_rime=Rimepop(i,:);
            end
        end
    end
    Convergence_curve(it)=Best_rime_rate;
    it=it+1;
end

Ref: Hakmi S.H., Alnami H., Moustafa G., et al. Modified Rime-Ice Growth Optimizer with Polynomial Differential Learning Operator for Single-and Double-Diode PV Parameter Estimation Problem. Electronics. 2024, 13(9): 1611.




完整资源免费获取

群智能算法小狂人

完整资源获取方式(200多种算法)

https://github.com/suthels/-/blob/main/README.md


---RECOMMEND---

·独家推荐~欢迎选购·



合作洽谈:群智能算法小狂人(ID:Suthel)


©算法改进与开发定制|数学建模|AVL cruise建模与仿真

戳“阅读原文”,下载完整代码

【声明】内容源于网络
0
0
算法小狂人
(群智能)算法开发与改进、算法类相关应用、机器学习、数学建模,命名实体识别,项目计划书撰写,AVL cruise建模仿真。
内容 228
粉丝 0
算法小狂人 (群智能)算法开发与改进、算法类相关应用、机器学习、数学建模,命名实体识别,项目计划书撰写,AVL cruise建模仿真。
总阅读94
粉丝0
内容228