国产aaaa级全身裸体精油片_337p人体粉嫩久久久红粉影视_一区中文字幕在线观看_国产亚洲精品一区二区_欧美裸体男粗大1609_午夜亚洲激情电影av_黄色小说入口_日本精品久久久久中文字幕_少妇思春三a级_亚洲视频自拍偷拍

首頁 > 化工知識 > 【優(yōu)化求解】基于柯西變異和自適應(yīng)權(quán)重優(yōu)化的蝴蝶算法求解單目標優(yōu)化問題matlab代碼

【優(yōu)化求解】基于柯西變異和自適應(yīng)權(quán)重優(yōu)化的蝴蝶算法求解單目標優(yōu)化問題matlab代碼

時間:2021-12-04 來源: 瀏覽:

【優(yōu)化求解】基于柯西變異和自適應(yīng)權(quán)重優(yōu)化的蝴蝶算法求解單目標優(yōu)化問題matlab代碼

原創(chuàng) 天天Matlab 天天Matlab
天天Matlab

TT_Matlab

每天分享一點Matlab資料,一起成長進步。需要定制程序添加qq1575304183

收錄于話題 #智能優(yōu)化算法及應(yīng)用 212個 內(nèi)容

1 簡介

針對基本蝴蝶優(yōu)化算法( Butterfly Optimization Algorithm , BOA )存在的收斂精度較低、容易陷入局部最優(yōu) 解的問題,提出柯西變異和自適應(yīng)權(quán)重優(yōu)化的蝴蝶算法( Cauchy variation and adaptive Weight Butterfly Optimiza tion Algorithm , CWBOA )。通過在全局位置更新處引入柯西分布函數(shù)進行變異,在局部位置更新處引入自適應(yīng)權(quán) 重因子,改進了蝴蝶算法的局部搜索能力;并且引入動態(tài)切換概率 p 來權(quán)衡全局探索與局部開發(fā)過程的比重。改進 的算法通過對多個單峰、多峰和固定測試維度的函數(shù)進行求解,結(jié)果表明, CWBOA 對大多數(shù)測試函數(shù)有更好的求 解精度、速度和穩(wěn)定性。

Sankalap Arora Satvir Singh 兩位學者,通過觀察 蝴蝶覓食行為而受到啟發(fā),提出了一種新的群智能優(yōu)化 算法 —蝴蝶優(yōu)化算法( Butterfly Optimization Algo rithm [6] 。該算法的主要思想是模擬蝴蝶的覓食和求偶 行為實現(xiàn)對目標問題的求解。蝴蝶的行為可以描述為 它們向食物源位置的合作運動。蝴蝶接收、感知和分析 空氣中的氣味以確定食物源或配對伴侶的潛在方向。 BOA 算法模擬此行為在搜索空間中尋找最優(yōu)解。與現(xiàn) 有的一些元啟發(fā)式算法相比,基本 BOA 操作簡單、調(diào)整 的參數(shù)少、魯棒性好,并在工程實踐的初步應(yīng)用中取得 了良好的效果。

基本的蝴蝶優(yōu)化算法存在著依賴初始種群、收斂精 度低和易陷入局部最優(yōu)等問題,針對這些問題本文提出 了一種多策略改進的蝴蝶優(yōu)化算法。利用柯西分布函 數(shù)對蝴蝶的全局位置更新進行變異,提升算法的全局搜 索能力,在蝴蝶算法的局部位置更新處引入自適應(yīng)慣性 權(quán)重因子,改進了算法的局部開采能力,并且使用動態(tài) 切換概率來平衡局部搜索和全局搜索的比重,提高了尋 優(yōu)性能。通過 14 個基準測試函數(shù)測試,結(jié)果表明改進 算法具有更高的收斂精度和魯棒性。

在自然界之中,蝴蝶可以使用它們的各種感官如: 嗅覺、視覺、味覺、觸覺和聽覺去尋找食物和求偶,這些 感覺能夠幫助它們遷徙、躲避狩獵者以及幫助它們找到 合適的地方產(chǎn)卵。在所有的感覺中最重要的是嗅覺,嗅 覺能夠幫助蝴蝶尋找食物(花蜜),即使在很遠的地方也 不例外。為了能夠找到食物,蝴蝶使用感覺受體用于嗅 覺,這些受體分散在蝴蝶的身體部位,如觸角、腿和手掌 等。這些受體實際上是蝴蝶身體表面的神經(jīng)細胞,被稱 為化學感受器。這些化學感受器引導(dǎo)蝴蝶找到最佳的 交配伙伴,以便繼續(xù)強大的遺傳系統(tǒng)。雄性蝴蝶能夠通 過信息素來識別雌性,這是雌性蝴蝶發(fā)出的氣味分泌物 引起特異性反應(yīng)。 蝴蝶會產(chǎn)生一些強度與其適應(yīng)性相關(guān)的香味,即當 蝴蝶從一個位置移動到另一個位置時,它的適應(yīng)性會相 應(yīng)地變化,香味會在遠處傳播,其他蝴蝶個體能夠感知 它,這就是蝴蝶個體如何與其他蝴蝶共享個體信息,形 成一個群體的社會知識網(wǎng)絡(luò)。當一只蝴蝶能夠聞到來 自其他的蝴蝶分泌的香味的時候,它將會朝著香味最濃 的方向移動,該階段在算法中被稱為全局搜索。在另一 種情況下,當蝴蝶不能從周圍感知香味時它將隨機移 動,這一階段是局部搜索階段。 針對上述行為,提出如下假設(shè): 1 )所有的蝴蝶都應(yīng)該散發(fā)一些香味,使蝴蝶能夠 相互吸引。 2 )每只蝴蝶都會隨機移動或向發(fā)出最多香味的蝴 蝶移動。 3 )蝴蝶的刺激強度受目標函數(shù)的影響或決定。 4 )全局搜索和局部搜索使用切換概率 p 來控制, 受到物理接近度以及風、雨、雷、電等各種其他自然因素, 局部搜索和全局搜索中的切換概率 p 具有重要意義。

2 部分代碼

%% 清除環(huán)境變量 clear clc %% 參數(shù)設(shè)置 N = 30 ;             % 種群規(guī)模 Function_name = ’F23’ ;         % 從F1到F23的測試函數(shù)的名稱(本文中的表1、2、3) Max_iteration = 500 ;           % 最大迭代次數(shù) cnt_max = 30 ; % 加載所選基準函數(shù)的詳細信息 [ lb , ub , dim , fobj ] = Get_Functions_details ( Function_name ); Curve_BOA = zeros ( 1 , Max_iteration ); Curve_WOA = zeros ( 1 , Max_iteration ); Curve_FPA = zeros ( 1 , Max_iteration ); Curve_CWBOA = zeros ( 1 , Max_iteration ); for cnt = 1 : cnt_max     % 初始化種群位置     X = initialization ( N , dim , ub , lb );       [ BOA_Best_score ( cnt ), BOA_Best_pos ( cnt , :), BOA_Curve ] = BOA ( X , N , Max_iteration , lb , ub , dim , fobj );   [ WOA_Best_score ( cnt ), WOA_Best_pos ( cnt , :), WOA_Curve ] = WOA ( X , N , Max_iteration , lb , ub , dim , fobj );   [ FPA_Best_score ( cnt ), FPA_Best_pos ( cnt , :), FPA_Curve ] = FPA ( X , N , Max_iteration , lb , ub , dim , fobj );   [ CWBOA_Best_score ( cnt ), CWBOA_Best_pos ( cnt , :), CWBOA_Curve ] = CWBOA ( X , N , Max_iteration , lb , ub , dim , fobj );             Curve_BOA = Curve_BOA + BOA_Curve ;     Curve_WOA = Curve_WOA + WOA_Curve ;     Curve_FPA = Curve_FPA + FPA_Curve ;     Curve_CWBOA = Curve_CWBOA + CWBOA_Curve ; end Curve_BOA = Curve_BOA / cnt_max ; Curve_WOA = Curve_WOA / cnt_max ; Curve_FPA = Curve_FPA / cnt_max ; Curve_CWBOA = Curve_CWBOA / cnt_max ; std_BOA = std ( BOA_Best_score ); std_WOA = std ( WOA_Best_score ); std_FPA = std ( FPA_Best_score ); std_CWBOA = std ( CWBOA_Best_score ); best_BOA = max ( BOA_Best_score ); best_WOA = max ( WOA_Best_score ); best_FPA = max ( FPA_Best_score ); best_CWBOA = max ( CWBOA_Best_score ); worst_BOA = min ( BOA_Best_score ); worst_WOA = min ( WOA_Best_score ); worst_FPA = min ( FPA_Best_score ); worst_CWBOA = min ( CWBOA_Best_score ); mean_BOA = mean ( BOA_Best_score ); mean_WOA = mean ( WOA_Best_score ); mean_FPA = mean ( FPA_Best_score ); mean_CWBOA = mean ( CWBOA_Best_score ); %% 畫圖 % 1、畫出所選基準函數(shù)的三維立體圖形 % figure; % func_plot(Function_name); % title(Function_name) % xlabel(’x_1’); % ylabel(’x_2’); % zlabel([Function_name,’( x_1 , x_2 )’]) % 2、畫出目標函數(shù)值變化曲線圖 figure ; t = 1 : Max_iteration ; semilogy ( t , Curve_BOA , ’k^-’ , t , Curve_WOA , ’bo-’ , t , Curve_FPA , ’mv-’ , t , Curve_CWBOA , ’rd-’ , ...     ’linewidth’ , 1.5 , ’MarkerSize’ , 8 , ’MarkerIndices’ , 1 : 50 : Max_iteration ); title ( Function_name ) xlabel ( ’Iteration’ ); ylabel ( ’Fitness’ ); axis fill grid on box on legend ( ’BOA’ , ’WOA’ , ’FPA’ , ’CWBOA’ ); %% 顯示結(jié)果 disp ([ ’函數(shù):’ , num2str ( Function_name )]); disp ([ ’BOA:最大值: ’ , num2str ( best_BOA ), ’,最小值:’ , num2str ( worst_BOA ), ’,平均值:’ , num2str ( mean_BOA ), ’,標準差:’ , num2str ( std_BOA )]); disp ([ ’WOA:最大值: ’ , num2str ( best_WOA ), ’,最小值:’ , num2str ( worst_WOA ), ’,平均值:’ , num2str ( mean_WOA ), ’,標準差:’ , num2str ( std_WOA )]); disp ([ ’FPA:最大值: ’ , num2str ( best_FPA ), ’,最小值:’ , num2str ( worst_FPA ), ’,平均值:’ , num2str ( mean_FPA ), ’,標準差:’ , num2str ( std_FPA )]); disp ([ ’CWBOA:最大值: ’ , num2str ( best_CWBOA ), ’,最小值:’ , num2str ( worst_CWBOA ), ’,平均值:’ , num2str ( mean_CWBOA ), ’,標準差:’ , num2str ( std_CWBOA )]);

3 仿真結(jié)果

4 參考文獻

[1]高文欣等. "柯西變異和自適應(yīng)權(quán)重優(yōu)化的蝴蝶算法." 計算機工程與應(yīng)用 56.15(2020):8.

天天Matlab

贊賞二維碼 微信掃一掃贊賞作者 贊賞

已喜歡, 對作者說句悄悄話
最多40字,當前共

  人贊賞

1 / 3

長按二維碼向我轉(zhuǎn)賬

贊賞二維碼

受蘋果公司新規(guī)定影響,微信 iOS 版的贊賞功能被關(guān)閉,可通過二維碼轉(zhuǎn)賬支持公眾號。

版權(quán):如無特殊注明,文章轉(zhuǎn)載自網(wǎng)絡(luò),侵權(quán)請聯(lián)系cnmhg168#163.com刪除!文件均為網(wǎng)友上傳,僅供研究和學習使用,務(wù)必24小時內(nèi)刪除。
相關(guān)推薦