ACGRIME:用于全局優化和特征選擇的自適應混沌高斯RIME優化器,附完整版免費代碼

自然現象中,軟冰的形成過程由 Set al. [42] 提出,軟冰是空氣中的過冷水滴在接觸固體物體并凍結時形成的。這種現象發生在特定的氣候條件下,當水蒸氣尚未凝結時,導致冰覆蓋的表面呈現出獨特的樹枝狀和葉子狀景觀。它在軟冰的生長和優化過程中,類似于冰的生長過程。它旨在模擬軟冰的隨機性和結構發展,將其轉化為解決復雜問題的搜索策略。該算法主要由三種主要策略組成:軟冰搜索策略、硬冰穿刺機制和正向貪婪選擇機制。

(1) 軟冰搜索策略

軟冰搜索策略是RIME算法的探索階段。它旨在模擬軟冰在微風條件下的隨機和擴展性增長。類似于這些冰粒子附著在表面上的方式,軟冰搜索策略允許RIME算法中的個體代理在搜索空間內附著于潛在解。該策略通過動態更新機制實現,引導代理朝向最優解。

公式(1)在搜索空間中代理的位置更新機制中起著關鍵作用。該公式如下:

X i j n e w = X ( b e s t , j ) + r 1 × cos ? ( θ ) × β (1) X_{ij}^{new} = X_{(best,j)} + r_1 \times \cos(\theta) \times \beta \tag{1} Xijnew?=X(best,j)?+r1?×cos(θ)×β(1)

× [ h × ( U b j ? L b j ) + L b j ] , r 2 < E \times [h \times (U_{bj} - L_{bj}) + L_{bj}], \quad r_2 < E ×[h×(Ubj??Lbj?)+Lbj?],r2?<E

其中隨機分量 r 1 r_1 r1? h h h 通過引入代理運動的不確定性來促進探索,而對齊系數 E = ( t / T ) E = \sqrt{(t/T)} E=(t/T) ? 調節整個迭代過程中探索與開發之間的平衡。 cos ? ( θ ) \cos(\theta) cos(θ) 與縮放因子 β \beta β 一起添加了定向變異性,有助于微調搜索過程中識別的有前景區域 X ( b e s t , j ) X_{(best,j)} X(best,j)?。該方程體現了軟冰搜索策略的本質,通過平衡隨機游走特征的探索與向已知良好適應度區域的定向運動,類似于軟冰在微風中積累的方式。

(2) 硬冰穿刺機制

硬冰穿刺機制是RIME算法中設計的一種方法,旨在加強當前已知最佳解附近的搜索。它類似于自然環境中硬冰通過快速凍結的過冷水滴在高風環境中形成固體表面沉積物的過程。公式(2)描述了這種穿刺機制:

X i j n e w = X ( b e s t , j ) , r 3 < F n o r m ( S i ) (2) X_{ij}^{new} = X_{(best,j)}, \quad r_3 < F^{norm}(S_i) \tag{2} Xijnew?=X(best,j)?,r3?<Fnorm(Si?)(2)

在這種機制中,如果滿足隨機條件 r 3 = F n o r m ( S i ) r_3 = F^{norm}(S_i) r3?=Fnorm(Si?),則代理 i i i 的位置被積極更新為當前最佳解的位置。這代表了搜索空間中的穿刺,允許算法突破當前探索區域并匯聚到具有更高潛力的區域。硬冰穿刺類似于解的合并,更強的生長覆蓋較弱的結構,從而通過促進算法向已知最佳解的收斂來增強算法的探索能力。

(3) 正向貪婪選擇機制

正向貪婪選擇機制是RIME算法中幫助選擇最優秀代理的關鍵組成部分。受貪婪選擇最佳可用選項概念的啟發,該機制直接比較潛在解的適應度并采用更優者。它確保只有那些導致更好適應度值的更新被接受,因此術語為正向。這種正向貪婪方法確保代理種群不斷朝著更好的適應度值移動,促進算法的總體收斂。與隨機或概率選擇方法不同,這種確定性策略通過在搜索過程中始終偏愛改進,確保朝著優化目標的穩步進展。

RIME算法的偽代碼在算法1中呈現。算法的流程圖如圖1所示。
在這里插入圖片描述

3.1 動機

根據NFL,沒有優化算法對所有問題都表現最佳。該定理強調了開發適應性算法以解決特定問題特征的重要性。RIME算法,受冰的形成啟發,在收斂性和搜索能力方面表現出色。然而,像許多其他MA一樣,它在復雜場景中,如高維數據集中的FS,難以保持多樣性并避免局部最優。為了解決這些挑戰,我們提出了ACGRIME算法,它結合了三種策略:混沌理論、自適應權重和高斯突變。這些增強功能提高了算法在探索解空間時的能力,同時保持有效開發有前景區域的能力。混沌理論集成到ACGRIME中以引入不可預測性并防止過早收斂。混沌系統的基本原理,如邏輯映射產生的,避免了局部最優并確保了解空間的廣泛探索。

另一方面,自適應權重動態調整探索和開發階段在整個優化過程中的影響。它確保算法在初始階段廣泛探索搜索空間,并隨著搜索進程的進行逐漸專注于開發找到的最佳解。進行動態調整的能力對于保持靈活性和響應性至關重要,使算法能夠不斷適應并提高性能。最后,高斯突變以其精確性而聞名,能夠產生小的、受控的變化。通過利用高斯分布的特性,該策略引入了對當前解的微小、漸進的更改。這些小步驟對于解空間的詳細搜索至關重要,使算法能夠逐步細化和增強解決方案。高斯分布的窄而長尾特性有助于維持多樣化的解池,解決全局優化任務中保持多樣性的常見挑戰。

此外,為了擴展ACGRIME在離散優化問題中的適用性,我們開發了其二進制形式(bACGRIME)。這種變體專門針對FS,提供了一種有效的方法來識別相關特征,同時保持或提高分類準確性。總體而言,ACGRIME算法旨在創建一個更強大的優化算法,能夠解決更復雜的問題,提高收斂速度和平衡探索-開發動態。通過進行廣泛的實驗和與其他先進算法的比較,我們證明了ACGRIME和bACGRIME在這些領域中的有效性。

3.2 混沌理論

當應用于元啟發式優化時,混沌理論作為一種機制來增強搜索過程,通過避免過早收斂并鼓勵探索[69]。混沌系統的內在不可預測性使其適合于全面探索解空間。在ACGRIME中,混沌通過邏輯映射引入,這是一種迭代的、非線性動態系統,表現出混沌行為,對于某些參數值。

邏輯映射由公式(4)表示:

X n + 1 = μ X n ( 1 ? X n ) (4) X_{n+1} = \mu X_n(1 - X_n) \tag{4} Xn+1?=μXn?(1?Xn?)(4)

其中 X n + 1 X_{n+1} Xn+1? 是第 n + 1 n+1 n+1 次迭代的值, μ \mu μ 是控制參數。通過用隨機起始值初始化混沌序列并將參數 τ \tau τ 設置為 4,算法利用邏輯映射的內在混沌動態來增強搜索過程。這種混沌序列被ACGRIME利用,以動態調整優化過程中的行為,確保在探索和開發之間保持平衡。

3.3 自適應權重

ACGRIME中的自適應權重策略是一種方法,用于隨時間調制不同算法組件的影響。它旨在動態控制探索和開發階段的影響,權重通常隨著算法的進展而減少。這確保算法在初始階段廣泛探索搜索空間,并隨著搜索進程的進行逐漸專注于開發找到的最佳解。類似的策略已成功應用于其他優化技術,如PSO中混沌慣性權重的使用來提高收斂速度和解決方案精度[70]。在ACGRIME的自適應權重策略中,混沌動態的應用模仿了這些成功策略。該策略用于修改和增強軟冰搜索策略的性能。

權重通過依賴于優化過程階段的自適應函數進行調整。

3.4 高斯突變

高斯突變在MA中被用作關鍵操作,以微調搜索最優解。起源于Back和Schwefel[71]的工作。高斯突變的本質在于其能夠產生接近父實體的后代。這種接近性通過高斯分布的窄而長尾特性實現,允許進行增量、精確的變化。這些小步驟對于解空間內的詳細搜索至關重要,它們有助于維持多樣化的解池,這是全局優化任務中的常見挑戰。

在ACGRIME算法中,高斯突變通過高斯密度函數實現,如公式(6)所示:

M g a u s s = X × ( 1 + r a n d ( 1 ) × k ) (6) M_{gauss} = X \times (1 + rand(1) \times k) \tag{6} Mgauss?=X×(1+rand(1)×k)(6)

其中 X X X 是從邏輯映射派生的原始候選解向量,并為突變提供動態縮放因子,以確保突變強度在整個優化過程中變化。這種混沌動態的使用有助于通過提供非線性和不可預測的突變尺度,以及 rand ( 1 ) \text{rand}(1) rand(1) 生成均值為0、標準差為1的正態分布隨機數,從而在突變步驟中添加更多隨機性,從而在探索和開發之間實現更健康的平衡。

3.5 ACGRIME框架

本研究提出了RIME算法的改進版本,稱為ACGRIME,通過整合混沌理論、自適應權重和高斯突變三種主要策略來增強RIME的收斂能力及其避免局部最優的能力。混沌理論的引入通過動態平衡優化過程中的探索和開發進一步增強了RIME,并使其能夠適應搜索景觀的變化。此外,高斯突變策略為種群引入了變異性和多樣性。這種突變策略,受混沌動態影響,有助于防止停滯并維持解池的健康多樣性。這在導航復雜、多模態景觀時尤其關鍵,這些景觀具有高風險收斂到次優解。

這些策略通過增強RIME算法的全局搜索能力和防止過早收斂的魯棒性來改進原始RIME算法。ACGRIME算法通過邏輯映射和自適應權重策略結合混沌,使其能夠適應搜索景觀的變化。此外,高斯突變不斷多樣化搜索空間并增強解質量,幫助在探索和開發階段之間保持平衡。因此,ACGRIME是一個更強大且適應性強的工具,用于解決復雜優化問題,如FS,并在速度和解決方案質量方面優于其前身。提供的偽代碼在算法1中概述了ACGRIME算法的實現步驟。此外,圖2展示了ACGRIME算法的清晰流程圖。
在這里插入圖片描述

function [Best_rime, Convergence_curve] = ACGRIME_v1(N, MaxFEs, lb, ub, dim, fobj)Best_rime = zeros(1, dim);Best_rime_rate = inf; % change this to -inf for maximization problemsRimepop = initialization(N, dim, ub, lb);Lb = lb .* ones(1, dim);Ub = ub .* ones(1, dim);FEs = 0; % Number of function evaluationsConvergence_curve = [];Rime_rates = zeros(1, N);newRime_rates = zeros(1, N);Time =1;ChaosValue = rand(); % Initial value for Logistic mapa = 4; % Parameter for Logistic mapfor i = 1:NRime_rates(1, i) = fobj(Rimepop(i, :));FEs = FEs + 1;if Rime_rates(1, i) < Best_rime_rateBest_rime_rate = Rime_rates(1, i);Best_rime = Rimepop(i, :);endendwhile FEs < MaxFEs% Apply Logistic map for chaosChaosValue = a * ChaosValue * (1 - ChaosValue);E = sqrt(ChaosValue * FEs/MaxFEs);newRimepop = Rimepop;normalized_rime_rates = normr(Rime_rates);w1 = (1-FEs/MaxFEs)^(1-tan(pi*(ChaosValue * rand-0.5))*FEs/MaxFEs); % Adaptive weightingfor i = 1:Nfor j = 1:dimr1 = rand();r2 = rand();r3 = rand();c1 = 2*exp(-(4*FEs/MaxFEs)^2);c2 = rand();if r2 < Eif c2 < 0.5newRimepop(i, j) = Best_rime(1, j) + w1 * c1 * ((Ub(j) - Lb(j)) * r1 + Lb(j));elsenewRimepop(i, j) = Best_rime(1, j) - w1 * c1 * ((Ub(j) - Lb(j)) * r1 + Lb(j));endendif r3 < normalized_rime_rates(i)newRimepop(i, j) = Best_rime(1, j);endend% Gaussian Mutationx = newRimepop(i, :);m_gaus = x * (1 + ChaosValue * randn(1));Flag4ub = m_gaus > ub;Flag4lb = m_gaus < lb;m_gaus = (m_gaus .* (~(Flag4ub + Flag4lb))) + ub .* Flag4ub + lb .* Flag4lb;m_gaus_fitness = fobj(m_gaus);fitness_s = fobj(x);m_gaus_fitness_comb = [m_gaus_fitness, fitness_s];[~, m] = min(m_gaus_fitness_comb);if m == 1newRimepop(i, :) = m_gaus;endendfor i = 1:NFlag4ub = newRimepop(i, :) > ub;Flag4lb = newRimepop(i, :) < lb;newRimepop(i, :) = (newRimepop(i, :) .* (~(Flag4ub + Flag4lb))) + ub .* Flag4ub + lb .* Flag4lb;newRime_rates(1, i) = fobj(newRimepop(i, :));FEs = FEs + 1;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_rateBest_rime_rate = Rime_rates(1, i);Best_rime = Rimepop(i, :);endendendConvergence_curve(Time)=Best_rime_rate;Time=Time+1;end
end

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

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

相關文章

大模型開發學習筆記

文章目錄 大模型基礎大模型的使用大模型訓練的階段大模型的特點及分類大模型的工作流程分詞化(tokenization)與詞表映射 大模型的應用 進階agent的組成和概念planning規劃子任務分解ReAct框架 memory記憶Tools工具\工具集的使用langchain認知框架ReAct框架plan-and-Execute計劃…

4.27-5.4學習周報

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 摘要Abstract一、方法介紹2.Rainbow Memory(RM)2.1多樣性感知內存更新2.2通過數據增強增強樣本多樣性(DA) 二、使用步驟1.實驗概況2.RM核心代碼 總結 摘要 本博客概…

AI Rack架構高速互連的挑戰:損耗設計與信號完整性的設計框架

在AI驅動的時代&#xff0c;系統設計已經從單一PCB的視角&#xff0c;逐步轉向以整個rack為單位來考量。 對于信號完整性而言&#xff0c;焦點以不再局限于單一PCB上的損耗&#xff0c;而是擴展到芯片與芯片之間的端到端互連損耗&#xff08;end-to-end interconnect loss&…

杭電oj(1180、1181)題解

目錄 1180 題目 思路 問題概述 代碼思路分析 1. 數據結構與全局變量 2. BFS 函數 bfs 3. 主函數 main 總結 代碼 1181 題目 思路 1. 全局變量的定義 2. 深度優先搜索函數 dfs 3. 主函數 main 總結 代碼 1180 題目 思路 注&#xff1a;當走的方向和樓梯方向一…

軟件測試概念

這里寫目錄標題 需求開發模型軟件生命周期瀑布模型螺旋模型增量模型、迭代模型敏捷模型Scrum 測試模型V模型W模型&#xff08;雙V模型&#xff09; 需求 用戶需求&#xff1a;沒有經過合理的評估&#xff0c;通常就是一句話 軟件需求&#xff1a;是開發人員和測試人員執行工作…

數字基帶信號和頻帶信號的區別解析

數字基帶信號和數字頻帶信號是通信系統中兩種不同的信號形式&#xff0c;它們的核心區別在于是否經過調制以及適用的傳輸場景。以下是兩者的主要區別和分析&#xff1a; 1. 定義與核心區別 數字基帶信號&#xff08;Digital Baseband Signal&#xff09; 未經調制的原始數字信號…

Linux52 運行百度網盤 解決故障無法訪問repo nosandbox 未解決:疑似libstdc++版本低導致無法運行baidu網盤

昨日參考 哦 我是root Cannot find a valid baseurl for repo: centos-sclo-rh/x86_64 沒了 計劃去手動下一個 還是不行 放棄 猜測是 centos7 過期了 一些依賴組件也沒地方下載了 通過阿里云鏡像站下載 之前安裝的好像不是這個版本 還是計劃用yum去下載依賴&#xff0c;先處…

2000-2022年上市公司數字經濟專利申請數據

2000-2022年上市公司數字經濟專利申請數據 1、時間&#xff1a;2000-2022年 2、來源&#xff1a;國家知識產權局 3、指標&#xff1a;年份、股票代碼、股票簡稱、行業名稱、行業代碼、省份、城市、區縣、行政區劃代碼、城市代碼、區縣代碼、首次上市年份、上市狀態、數字經濟…

機器學習之五:基于解釋的學習

正如人們有各種各樣的學習方法一樣&#xff0c;機器學習也有多種學習方法。若按學習時所用的方法進行分類&#xff0c;則機器學習可分為機械式學習、指導式學習、示例學習、類比學習、解釋學習等。這是溫斯頓在1977年提出的一種分類方法。 有關機器學習的基本概念&#xff0c;…

Chromium 134 編譯指南 - Android 篇:安裝構建依賴項(七)

1. 引言 歡迎來到《Chromium 134 編譯指南》系列的第七篇文章&#xff01;在前面的章節中&#xff0c;我們已經成功獲取了Chromium源代碼&#xff0c;并將其配置為支持Android平臺。這些步驟為我們的編譯之旅奠定了堅實的基礎&#xff0c;但在開始實際編譯之前&#xff0c;我們…

java 進階 1.0

靜態方法 static 就是能直接用&#xff0c;不用再new一個對象了 一般java中Math等靜態類就是可以直接使用其方法 main函數里面不能包含太多的邏輯性語句&#xff0c;全部寫成模塊 寫好程序之后如何測試呢&#xff1f; 使用junit&#xff0c;不能在main函數里測試 測試本身就…

中小企業MES系統詳細設計

版本&#xff1a;V1.1 日期&#xff1a;2025年5月2日 一、設備協議兼容性設計 1.1 設備接入框架 #mermaid-svg-PkwqEMRIIlIBPP58 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-PkwqEMRIIlIBPP58 .error-icon{fill…

Spring Security會話管理

用戶認證通過后&#xff0c;為了避免用戶的每次操作都進行認證&#xff0c;可以將用戶的信息保存在會話中。會話就是系統為了保持當前用戶的登錄狀態所提供的機制&#xff0c;常見的有基于Session方式、基于Token方式等。Spring Security提供會話管理功能&#xff0c;只需要配置…

PostgreSQL數據庫操作基本命令

常用操作sql &#x1f510; 用戶管理 -- 創建用戶 CREATE USER username WITH PASSWORD password;-- 修改用戶密碼 ALTER USER username WITH PASSWORD newpassword;-- 刪除用戶 DROP USER username;&#x1f4e6; 數據庫操作 -- 創建數據庫 CREATE DATABASE dbname;-- 刪除…

[吾愛出品] 網文提取精靈_4.0

網文提取精靈 鏈接&#xff1a;https://pan.xunlei.com/s/VOPDvKljcT3EWLjpt5LeDZvfA1?pwdw8kq# 易語言寫的&#xff0c;介意的不要下載 相對網文提取工具_2.10.02版&#xff0c;因為是重寫界面&#xff0c;目前版本限制最高5線程&#xff0c;暫時不支持批處理。 雖然不支…

每日算法-250502

每日算法 - 2025.05.02 記錄一下今天刷的幾道 LeetCode 算法題。 3191. 使二進制數組全部等于 1 的最少操作次數 I 題目 思路 貪心 解題過程 遍歷數組 nums。當我們遇到 nums[i] 時&#xff1a; 如果 nums[i] 是 1&#xff0c;我們不需要進行操作&#xff0c;因為目標是全 …

移動端開發中設備、分辨率、瀏覽器兼容性問題

以下是針對移動端開發中設備、分辨率、瀏覽器兼容性問題的 系統化解決方案&#xff0c;按開發流程和技術維度拆解&#xff0c;形成可落地的執行步驟&#xff1a; 一、基礎環境適配&#xff1a;從「起點」杜絕兼容性隱患 1. Viewport 元標簽標準化 <meta name"viewpor…

2025最新AI繪畫系統源碼 - 畫圖大模型/GPT-4全支持/AI換臉/自定義智能體

在AI繪畫技術日新月異的2025年&#xff0c;比象AI繪畫系統源碼以其突破性的技術創新重新定義了數字藝術創作的邊界。作為第四代AI繪畫引擎&#xff0c;我們不僅集成了最先進的GPT-4o多模態畫圖模型&#xff0c;實現了從基礎文生圖到專業級藝術創作的全面進化。本系統源碼經過多…

構造函數詳解

構造函數的作用 構造函數的主要任務是初始化對象&#xff0c;而不是創建對象&#xff08;對象的內存空間在構造函數被調用前已經分配好&#xff09;。 構造函數特性 命名規則&#xff1a;函數名必須與類名完全相同。 返回值&#xff1a;構造函數沒有返回值類型&#xff08;連…

jaffree 封裝ffmpeg 轉換視頻格式,獲取大小,時間,封面

下載 參考網址 【收藏級教程】FFmpeg音視頻處理寶典&#xff1a;從入門到精通的50個實用技巧_ffmpeg教程-CSDN博客 配置環境變量 驗證 重啟idea開發工具 springboot maven集成 <dependency><groupId>com.github.kokorin.jaffree</groupId><artifactId&…