完整改進RIME算法,基于修正多項式微分學習算子Rime-ice增長優化器,完整MATLAB代碼獲取

1 簡介

為了有效地利用霧狀冰生長的物理現象,最近開發了一種優化算法——霧狀優化算法(RIME)。它模擬硬霧狀和軟霧狀過程,構建硬霧狀穿刺和軟霧狀搜索機制。在本研究中,引入了一種增強版本,稱為修改的RIME(MRIME),集成了多項式微分學習算子(PDLO)。與傳統的RIME方法相比,PDLO的加入給RIME算法引入了非線性,提高了其適應性、收斂速度和全局搜索能力。

2. MRIME算法

RIME算法從自然過程,特別是軟冰晶和硬冰晶的生長中汲取靈感,設計了其優化策略。冰晶粒子的位置代表搜索空間中的解向量。它通過兩個階段模擬相關的環境條件:軟冰晶搜索(SRS)和硬冰晶穿刺(HRP)。它需要幾個關鍵步驟來執行優化,如下所示。
在這里插入圖片描述

2.1 冰晶初始化階段

種群由 N m N_m Nm?個冰晶代理初始化,每個代理表示為 D D D維的冰晶粒子。在初始化過程中采用隨機搜索來確定搜索空間中冰晶粒子的位置。因此,冰晶代理種群,表示為 R P O P R_{POP} RPOP?,由單個冰晶粒子的位置表示為 R M i j R_{Mij} RMij?,如公式(10)所示。

R P O P = [ R M i j ] N m × D = [ R M 1 , 1 R M 1 , 2 ? R M 1 , D R M 2 , 1 R M 2 , 2 ? R M 2 , D ? ? ? ? R M N m , 1 R M N m , 2 ? R M N m , D ] R_{POP} = [R_{Mij}]_{N_m \times D} = \begin{bmatrix} R_{M1,1} & R_{M1,2} & \cdots & R_{M1,D} \\ R_{M2,1} & R_{M2,2} & \cdots & R_{M2,D} \\ \vdots & \vdots & \ddots & \vdots \\ R_{MN_m,1} & R_{MN_m,2} & \cdots & R_{MN_m,D} \end{bmatrix} RPOP?=[RMij?]Nm?×D?= ?RM1,1?RM2,1??RMNm?,1??RM1,2?RM2,2??RMNm?,2???????RM1,D?RM2,D??RMNm?,D?? ?

其中 R P O P R_{POP} RPOP?是種群矩陣,由冰晶代理的向量組成( N m × 1 N_m \times 1 Nm?×1),每個冰晶代理向量由幾個設計參數( 1 × D 1 \times D 1×D)組成。

這些位置受到限制,具有上限( U p j Up_j Upj?)和下限( L o j Lo_j Loj?)邊界,定義了每個維度的允許范圍。采用許多基于種群的算法中觀察到的傳統方法,冰晶種群在初始階段通過隨機搜索過程進行初始化。初始化期間位置 R M i j R_{Mij} RMij?的結果表達式如下:

R M i j = L o j + r d j ? ( U p j ? L o j ) , i = 1 : N m , j = 1 : D , R_{Mij} = Lo_j + r_{d_j} \cdot (Up_j - Lo_j), \quad i = 1 : N_m, j = 1 : D, RMij?=Loj?+rdj???(Upj??Loj?),i=1:Nm?,j=1:D,

其中 r d j r_{d_j} rdj??是范圍[0, 1]內隨機選擇的數字。

2.2 SRS階段

算法模擬冰晶粒子在物體表面凍結的過程,模擬軟冰晶的生長過程。冰晶代理在風和自身隨機性的驅動下在搜索空間中移動,確保在早期迭代中廣泛覆蓋。冰晶代理的位置更新由以下公式確定,該公式包括最佳冰晶代理的位置、環境因素和隨機性:

R m j = R m b e s t , j + r d 2 ? β ? cos ? ( θ ) ? ( A D ? ( U p j ? L o j ) + L o j ) , if? r d 2 < E , R_{mj} = R_{mbest,j} + r_{d_2} \cdot \beta \cdot \cos(\theta) \cdot (AD \cdot (Up_j - Lo_j) + Lo_j), \quad \text{if } r_{d_2} < E, Rmj?=Rmbest,j?+rd2???β?cos(θ)?(AD?(Upj??Loj?)+Loj?),if?rd2??<E,

其中粘附度( A D AD AD)表征最佳冰晶代理與隨機選擇的冰晶代理之間的接近程度, A D AD AD限制在范圍[0, 1]內。修改后的第 i i i個冰晶代理在SRS階段后的維度 j j j的位置,表示為 R m j R_{mj} Rmj?,基于最佳冰晶代理的位置 R m b e s t , j R_{mbest,j} Rmbest,j?確定。方向控制由 r d 2 r_{d_2} rd2?? cos ? ( θ ) \cos(\theta) cos(θ)的插值控制,其中 r d 2 r_{d_2} rd2??是范圍[-1, 2]內的隨機數。此外, r d 2 r_{d_2} rd2??是范圍[0, 1]內的隨機數, θ \theta θ在公式(13)中定義。

θ = π ( t 10 ? T m a x ) , \theta = \pi \left( \frac{t}{10 \cdot T_{max}} \right), θ=π(10?Tmax?t?),

在這種情況下,符號“ t t t”表示迭代計數索引,而“ T m a x T_{max} Tmax?”表示總迭代次數。

環境因子,表示為“ β \beta β”,模擬外部條件并確保冰晶種群的收斂,如公式(14)所示。

β = 1 ? 1 ω ? ( 1 round ( ω ? t T m a x ) ) , \beta = 1 - \frac{1}{\omega} \cdot \left( \frac{1}{\text{round} \left( \frac{\omega \cdot t}{T_{max}} \right)} \right), β=1?ω1?? ?round(Tmax?ω?t?)1? ?,

函數“round”用于四舍五入數值,參數“ ω \omega ω”用于調節步進函數的分割,默認值為5,如文獻[29]所述。此外,變量“ r d 3 r_{d_3} rd3??”是范圍[0, 1]內的隨機數,“ E E E”表示粘附系數,影響冰晶代理的凝聚概率。粘附系數隨著整個搜索過程的迭代次數逐漸增加,如下所示:

E = ( t T m a x ) 1 / 2 , E = \left( \frac{t}{T_{max}} \right)^{1/2}, E=(Tmax?t?)1/2,$

在強風條件下,算法模擬硬冰晶粒子的更簡單和更規則的生長。HRP機制促進了代理之間的信息交換,以提高收斂性和跳出局部最優的能力,如下所示:

R m _ n e w , i j = { R m b e s t , j r d 4 < F i t μ ( R m i ) R m j Else , i = 1 : N m , j = 1 : D , R_{m\_new,ij} = \begin{cases} R_{mbest,j} & r_{d_4} < Fit^{\mu}(R_{m_i}) \\ R_{mj} & \text{Else} \end{cases}, \quad i = 1 : N_m, j = 1 : D, Rm_new,ij?={Rmbest,j?Rmj??rd4??<Fitμ(Rmi??)Else?,i=1:Nm?,j=1:D,

其中 R m _ n e w , i j R_{m\_new,ij} Rm_new,ij?表示第 i i i個冰晶代理在維度 j j j中的新創建位置,而“ r d 4 r_{d_4} rd4??”是范圍[0, 1]內的隨機數。如所示,冰晶代理的位置根據適應度值和歸一化適應度值( F i t μ ( R m i ) Fit^{\mu}(R_{m_i}) Fitμ(Rmi??))進行更新,促進了代理之間的交叉。

F i t μ ( R m i ) = F i t ( R m i ) ∑ i = 1 N m ( F i t ( R m i ) ) 2 , Fit^{\mu}(R_{m_i}) = \frac{Fit(R_{m_i})}{\sqrt{\sum_{i=1}^{N_m} (Fit(R_{m_i}))^2}}, Fitμ(Rmi??)=i=1Nm??(Fit(Rmi??))2 ?Fit(Rmi??)?,

其中 F i t μ ( R m i ) Fit^{\mu}(R_{m_i}) Fitμ(Rmi??)是關于冰晶代理 i i i的當前位置的適應度函數值。

2.4 提出的PLDO整合

在本文中,PLDO被整合以增強RIME算法的搜索能力和多樣性。PLDO通常用于優化中的差分進化(DE)算法[44]。該算子通過合并兩個隨機選擇的個體的信息來增強種群多樣性,以更新當前冰晶代理的位置。PLDO是DE的擴展,通過適應突變策略來放大搜索空間內的探索和開發。PLDO中的突變公式結合了多項式函數,將非線性特性注入突變操作中。為了執行整合的PLDO,從種群中抽取兩個隨機整數( i n d e x 1 index1 index1 i n d e x 2 index2 index2)。隨后,新派生的冰晶代理 i i i的位置可以公式化為:

R m _ n e w = R m i + ? ? ( R m i n d e x 1 ? R m i n d e x 2 ) , i = 1 : N m , R_{m\_new} = R_{m_i} + \phi \cdot (R_{m_{index1}} - R_{m_{index2}}), \quad i = 1 : N_m, Rm_new?=Rmi??+??(Rmindex1???Rmindex2??),i=1:Nm?,

其中 ? \phi ?是范圍[0, 1]內生成的隨機數。因此,更新涉及兩個隨機選擇的元素( R m i n d e x 1 R_{m_{index1}} Rmindex1?? R m i n d e x 2 R_{m_{index2}} Rmindex2??)之間的加權差異,而權重 ? \phi ?控制這種差異對更新的貢獻。

2.5 正向貪婪選擇(PGS)階段

在生成HRP-SRS階段(公式(12)和(16))或PLDO(公式(18))中的冰晶粒子的新位置后,PGS機制用于比較更新前后的適應度值。如果更新后的適應度更好,則用次優解替換最優解,從而增強全局解的質量。該機制在更新過程中積極替換代理,以確保更優的種群進化。

2.6 迭代過程

圖3a,b展示了標準RIME與所提出的MMIME優化器的主要步驟,其中整個過程在預定的迭代次數( I m a x I_{max} Imax?)內交替執行。在每次迭代中,所提出的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 positionBest_rime=zeros(1,dim);
Best_rime_rate=inf;%change this to -inf for maximization problemsRimepop=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
for i=1:N%     Rime_rates(1,i)=fobj(Rimepop(i,:));%Calculate the fitness value for each search agentx=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 selectionsif Rime_rates(1,i)<Best_rime_rateBest_rime_rate=Rime_rates(1,i);Best_rime=Rimepop(i,:);end
end
% Main loopwhile it <= Max_iter%     itRimeFactor = (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 populationsnormalized_rime_rates=normr(Rime_rates);%Parameters of Eq.(7)if rand>0.5for i=1:Nfor j=1:dim%Soft-rime search strategyr1=rand();if r1< EnewRimepop(i,j)=Best_rime(1,j)+RimeFactor*((Ub(j)-Lb(j))*rand+Lb(j));%Eq.(3)endendendelsefor i=1:NnewRimepop(i,:)=newRimepop(i,:)+rand*(newRimepop(randperm(N,1),:)-newRimepop(randperm(N,1),:));endendfor i=1:Nfor j=1:dim%Hard-rime puncture mechanismr2=rand();if r2<normalized_rime_rates(i)newRimepop(i,j)=Best_rime(1,j);%Eq.(7)endendendfor i=1:N%Boundary absorptionFlag4ub=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 mechanismif 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_rateBest_rime_rate=Rime_rates(1,i);Best_rime=Rimepop(i,:);endendendConvergence_curve(it)=Best_rime_rate;it=it+1;
end

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.

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/81869.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/81869.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/81869.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

PyTorch可視化工具——使用Visdom進行深度學習可視化

文章目錄 前置環境Visdom安裝并啟動VisdomVisdom圖形APIVisdom靜態更新API詳解通用參數說明使用示例Visdom動態更新API詳解1. 使用updateappend參數2. ~~使用vis.updateTrace方法~~3. 完整訓練監控示例 Visdom可視化操作散點圖plot.scatter()散點圖案例線性圖vis.line()vis.lin…

Java使用Collections集合工具類

1、Collections 集合工具類 Java 中的 Collections 是一個非常有用的工具類&#xff0c;它提供了許多靜態方法來操作或返回集合。這個類位于 java.util 包中&#xff0c;主要包含對集合進行操作的方法&#xff0c;比如排序、搜索、線程安全化等。 Java集合工具類的使用&#x…

Unity基礎學習(五)Mono中的重要內容(1)延時函數

目錄 一、Mono中的延時函數Invoke 1. Invoke作用&#xff1a;延遲指定時間后執行一次函數。API&#xff1a; 2. InvokeRepeating作用&#xff1a;延遲后開始重復執行函數。API&#xff1a; 3. CancelInvoke作用&#xff1a;停止所有延時函數&#xff0c;或停止指定函數的延時…

180KHz 60V 5A開關電流升壓/升降壓型DC-DC轉換器XL4019升降壓芯片

介紹 XL6019是一款專為升壓、升降壓設計的 單片集成電路&#xff08;升壓和降壓是由外圍電路拓撲確定的&#xff09;&#xff0c;可工作在DC5V到40V輸入電 壓范圍&#xff0c;低紋波&#xff0c;內置功率MOS。XL6019內 置固定頻率振蕩器與頻率補償電路&#xff0c;簡化了電 路…

如何暢通需求收集渠道,獲取用戶反饋?

要暢通需求收集渠道、有效獲取用戶反饋&#xff0c;核心在于多樣化反饋入口、閉環反饋機制、用戶分層管理、反饋數據結構化分析等四個方面。其中&#xff0c;多樣化反饋入口至關重要&#xff0c;不同用戶有不同的溝通偏好&#xff0c;只有覆蓋多個反饋路徑&#xff0c;才能捕捉…

Python結合ollama和stramlit開發聊天機器人

Python結合ollama和stramlit開發聊天機器人 一、環境準備1、streamlit安裝2、langchain安裝3、ollama的安裝 二、Ollama平臺聊天機器人實現1、需求2、模型調用3、前端實現頁面呈現代碼實現 三、詳細代碼地址四、參考資源 一、環境準備 1、streamlit安裝 # 通過 pip 安裝 pip …

java jdbc執行Oracle sql文件

執行代碼 import java.io.FileInputStream; import java.io.InputStreamReader; import java.nio.charset.StandardCharsets; import java.sql.Connection; import java.sql.DriverManager;import org.apache.ibatis.jdbc.ScriptRunner;public class ExecSqlFileController {pu…

[Java實戰]Spring Boot整合MinIO:分布式文件存儲與管理實戰(三十)

[Java實戰]Spring Boot整合MinIO&#xff1a;分布式文件存儲與管理實戰&#xff08;三十&#xff09; 一、MinIO簡介與核心原理 MinIO 是一款高性能、開源的分布式對象存儲系統&#xff0c;兼容 Amazon S3 API&#xff0c;適用于存儲圖片、視頻、日志等非結構化數據。其核心特…

開發指南115-CSS中選擇器關系

1、選擇后代 可以用選擇器1 選擇器2&#xff08;中間用空格分隔&#xff09;來表達&#xff0c;也可以在大括號里通過包含關系來表達 舉例 .a .b 舉例.a { .b{} } 注意css本身并不支持嵌套的寫法&#xff0c;是scss等提供的擴展能力。 2、選擇直系后代 選擇器1 > 選擇器2&a…

創建型:抽象工廠模式

目錄 1、核心思想 2、實現方式 2.1 模式結構 2.2 實現案例 3、優缺點分析 4、適用場景 1、核心思想 目的&#xff1a;統一管理相關對象的創建&#xff0c;確保產品兼容性。優先用于需要強約束產品兼容性的場景&#xff08;如UI主題、跨平臺適配&#xff09; 概念&#…

乘最多水的容器 | 算法 | 給定一個整數數組。有n條垂線。找出其中的兩條線,使得它們與 x 軸共同構成的容器可以容納最多的水。

在我們日常生活中&#xff0c;蓄水似乎是一個極為樸素的物理行為&#xff1a;兩堵墻之間&#xff0c;注入水&#xff0c;看誰能裝得更多。可如果換個角度&#xff0c;從算法的視角去看這個問題&#xff0c;它會變得怎樣&#xff1f;你是否意識到&#xff0c;這樣一個簡單的問題…

無人機避障——深藍學院浙大Ego-Planner規劃部分

ESDF-free&#xff1a; 被這種類型的障礙物死死卡住的情況&#xff1a; 在一定范圍內建立ESDF&#xff1a; Ego-Planner框架&#xff1a; 找到{p,v} pair&#xff1a; 【注意】&#xff1a;首先根據在障礙物內航跡上的點Q&#xff0c;以及與它相鄰但不在障礙物內的兩個點&#…

零基礎設計模式——大綱匯總

零基礎學設計模式 - 大綱 前言 本教程旨在幫助零基礎的同學快速入門設計模式&#xff0c;理解其核心思想和應用場景。我們將通過清晰的講解和簡單的示例&#xff0c;逐步引導你掌握常用的設計模式。 第一部分&#xff1a;設計模式入門 什么是設計模式&#xff1f; 設計模式…

leetcode 92. Reverse Linked List II

題目描述 92. Reverse Linked List II 是第206題的進階版206. Reverse Linked List 思路很簡單&#xff0c;但一次性通過還是有點難度的。 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(n…

CUDA的設備,流處理器(Streams),核,線程塊(threadblock),線程,網格(?gridDim),塊(block)和多gpu設備同步數據概念

CUDA的設備,流處理器&#xff0c;核&#xff0c;線程塊&#xff08;threadblock&#xff09;&#xff0c;線程&#xff0c;網格&#xff08;?gridDim&#xff09;&#xff0c;塊&#xff08;block&#xff09;和多gpu設備同步數據概念 CUDA的設備,流處理器&#xff0c;核&…

spring5-配外部文件-spEL-工廠bean-FactoryBean-注解配bean

spring配外部文件 我們先在Spring里配置一個數據源 1.導c3p0包,這里我們先學一下hibernate持久化框架&#xff0c;以后用mybites. <dependency><groupId>org.hibernate</groupId><artifactId>hibernate-core</artifactId><version>5.2.…

Feature Toggle 不再亂:如何設計一個干凈、安全、可控的特性開關系統?

網羅開發 &#xff08;小紅書、快手、視頻號同名&#xff09; 大家好&#xff0c;我是 展菲&#xff0c;目前在上市企業從事人工智能項目研發管理工作&#xff0c;平時熱衷于分享各種編程領域的軟硬技能知識以及前沿技術&#xff0c;包括iOS、前端、Harmony OS、Java、Python等…

技術分享:大數據挖掘平臺架構設計與行業應用實踐

在數字化轉型浪潮下&#xff0c;企業數據規模呈指數級增長。如何構建高效的數據挖掘體系&#xff0c;實現數據價值變現&#xff0c;成為技術團隊面臨的重要課題。本文將深入探討大數據挖掘平臺的核心架構、關鍵技術及行業應用實踐。 一、平臺架構設計 1. 數據采集層 支持多源異…

計算機視覺與深度學習 | EMD-KPCA-LSTM、EMD-LSTM、LSTM回歸預測對比,多輸入單輸出(Matlab完整程序和數據)

以下是針對EMD-KPCA-LSTM、EMD-LSTM和LSTM回歸預測對比的完整可運行MATLAB實現。包含數據生成、特征處理、模型構建和性能評估全流程,并提供關鍵代碼注釋和注意事項。 完整代碼實現(含數據生成) %% 清理環境 clear; clc; close all; warning off;%% 生成模擬數據(正弦波+噪…

Axure應用交互設計:動態面板嵌套實現超強體驗感菜單表頭

親愛的小伙伴,在您瀏覽之前,煩請關注一下,在此深表感謝!如有幫助請訂閱專欄! Axure產品經理精品視頻課已登錄CSDN可點擊學習https://edu.csdn.net/course/detail/40420 課程主題:動態面板嵌套 主要內容:利用動態面板多層嵌套實現菜單表頭 應用場景:廣泛應用于表單表…