官术网_书友最值得收藏!

1.3.3 主函數設計

設置蜉蝣優化算法的參數如下。

蜉蝣雌性雄性種群數量pop為50,最大迭代次數maxIter為100,蜉蝣個體的維度dim為2,蜉蝣個體上邊界ub =[10,10],蜉蝣個體下邊界lb=[-10,-10]。使用蜉蝣優化算法求解待求解函數極值問題的主函數main.m如下:

%% 蜉蝣優化算法求解x1^2 + x2^2的最小值
clc;clear all;close all;
%參數設定
pop = 50;%種群數量
dim = 2;%變量維度
ub = [10,10];%個體上邊界信息
lb = [-10,-10];%個體下邊界信息
maxIter = 100;%最大迭代次數
fobj = @(x) fun(x);%設置適應度函數為fun(x)
%蜉蝣優化算法求解問題
[Best_Pos,Best_fitness,IterCurve] = MOA(pop,dim,ub,lb,fobj,maxIter);
%繪制迭代曲線
figure
plot(IterCurve,'r-','linewidth',1.5);
grid on;%網格開
title('蜉蝣優化算法迭代曲線')
xlabel('迭代次數')
ylabel('適應度')

disp(['求解得到的x1,x2為',num2str(Best_Pos(1)),'   ',num2str(Best_Pos(2))]);
disp(['最優解對應的函數值為:',num2str(Best_fitness)]);

程序運行得到的蜉蝣優化算法迭代曲線如圖1.5所示。

運行結果如下:

求解得到的x1,x2為-3.2187e-05   -0.00030331
最優解對應的函數值為:9.3033e-08

圖1.5 程序運行結果

從蜉蝣優化算法尋優的結果來看,最終的求解值為(-3.2187e-05, -0.00030331),十分接近理論最優值(0,0),表明蜉蝣優化算法具有較好的尋優能力。

主站蜘蛛池模板: 成武县| 盱眙县| 桂东县| 桃源县| 梨树县| 雷波县| 秀山| 平舆县| 伊川县| 东台市| 潞西市| 呈贡县| 临夏县| 台北市| 五华县| 凤凰县| 敦煌市| 科技| 宿松县| 得荣县| 新宾| 安达市| 尚志市| 广灵县| 志丹县| 绍兴县| 馆陶县| 廉江市| 漾濞| 乌审旗| 沾化县| 曲麻莱县| 静安区| 同仁县| 清水县| 贡嘎县| 德庆县| 武邑县| 苍梧县| 玉屏| 西华县|