色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

鯨魚優化算法MATLAB實戰

冬至子 ? 來源:matlab學習之家 ? 作者:matlab學習之家 ? 2023-06-02 16:17 ? 次閱讀

一、鯨魚優化算法

鯨魚優化算法(Whale Optimization Algorithm,WOA)是模仿自然界中鯨魚捕食行為的新型群體智能優化算法。它通過對自然界中座頭鯨群體狩獵行為的模擬,通過鯨魚群體搜索、包圍、追捕和攻擊獵物等過程實現優時化搜索的目的。鯨魚優化算法的工作原理如下:

1、初始化:首先,在算法開始時,需要為每個鯨魚設定一個初始位置,并生成初始種群。

2、搜索:每個鯨魚都會按照一定的規則探索空間。這個過程可以模擬鯨魚包圍、追捕和攻擊獵物等過程。

3、評估:每當鯨魚移動的時候,都會對當前的鯨魚種群計算適應度值。如果當前的適應度值優于之前的適應度值,則將當前適應度值設為最優解。

4、更新:當所有的鯨魚都完成了移動和評估后,算法會更新所有鯨魚的位置,并重復以上步驟。

5、迭代:鯨魚優化算法可以進行多次迭代,直到找到最優解為止。

鯨魚優化算法的優勢在于操作簡單,調整的參數少以及跳出局部最優的能力強,它能夠快速找到最優解,并且對于各種類型的優化問題都能有效地工作。對于基礎的問題,它還具有很好的收斂性和穩定性。

鯨魚優化算法主要包括三個過程:1)包圍獵物;2)發泡網攻擊;3)搜索捕食。

圖片

圖片

圖片

鯨魚優化算法的流程圖如下圖所示:

圖片

二、代碼實戰

%_________________________________________________________________________%
%  Whale Optimization Algorithm (WOA) source codes demo 1.0               %
%                                                                         %
%  Developed in MATLAB R2011b(7.13)                                       %
%                                                                         %
%  Author and programmer: Seyedali Mirjalili                              %
%                                                                         %
%         e-Mail: ali.mirjalili@gmail.com                                 %
%                 seyedali.mirjalili@griffithuni.edu.au                   %
%                                                                         %
%       Homepage: http://www.alimirjalili.com                             %
%                                                                         %
%   Main paper: S. Mirjalili, A. Lewis                                    %
%               The Whale Optimization Algorithm,                         %
%               Advances in Engineering Software , in press,              %
%               DOI: http://dx.doi.org/10.1016/j.advengsoft.2016.01.008   %
%                                                                         %
%_________________________________________________________________________%


% You can simply define your cost in a seperate file and load its handle to fobj 
% The initial parameters that you need are:
%__________________________________________
% fobj = @YourCostFunction
% dim = number of your variables
% Max_iteration = maximum number of generations
% SearchAgents_no = number of search agents
% lb=[lb1,lb2,...,lbn] where lbn is the lower bound of variable n
% ub=[ub1,ub2,...,ubn] where ubn is the upper bound of variable n
% If all the variables have equal lower bound you can just
% define lb and ub as two single number numbers


% To run WOA: [Best_score,Best_pos,WOA_cg_curve]=WOA(SearchAgents_no,Max_iteration,lb,ub,dim,fobj)
%__________________________________________


clear all 
clc


SearchAgents_no=30; % Number of search agents


Function_name='F1'; % Name of the test function that can be from F1 to F23 (Table 1,2,3 in the paper)


Max_iteration=500; % Maximum numbef of iterations


% Load details of the selected benchmark function
[lb,ub,dim,fobj]=Get_Functions_details(Function_name);


[Best_score,Best_pos,WOA_cg_curve]=WOA(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);


figure('Position',[269   240   660   290])
%Draw search space
subplot(1,2,1);
func_plot(Function_name);
title('Parameter space')
xlabel('x_1');
ylabel('x_2');
zlabel([Function_name,'( x_1 , x_2 )'])


%Draw objective space
subplot(1,2,2);
semilogy(WOA_cg_curve,'Color','r')
title('Objective space')
xlabel('Iteration');
ylabel('Best score obtained so far');


axis tight
grid on
box on
legend('WOA')


display(['The best solution obtained by WOA is : ', num2str(Best_pos)]);
display(['The best optimal value of the objective funciton found by WOA is : ', num2str(Best_score)]);
%_________________________________________________________________________%
%  Whale Optimization Algorithm (WOA) source codes demo 1.0               %
%                                                                         %
%  Developed in MATLAB R2011b(7.13)                                       %
%                                                                         %
%  Author and programmer: Seyedali Mirjalili                              %
%                                                                         %
%         e-Mail: ali.mirjalili@gmail.com                                 %
%                 seyedali.mirjalili@griffithuni.edu.au                   %
%                                                                         %
%       Homepage: http://www.alimirjalili.com                             %
%                                                                         %
%   Main paper: S. Mirjalili, A. Lewis                                    %
%               The Whale Optimization Algorithm,                         %
%               Advances in Engineering Software , in press,              %
%               DOI: http://dx.doi.org/10.1016/j.advengsoft.2016.01.008   %
%                                                                         
%                                                                         %
%_________________________________________________________________________%




% The Whale Optimization Algorithm
function [Leader_score,Leader_pos,Convergence_curve]=WOA(SearchAgents_no,Max_iter,lb,ub,dim,fobj)


% initialize position vector and score for the leader
Leader_pos=zeros(1,dim);
Leader_score=inf; %change this to -inf for maximization problems




%Initialize the positions of search agents
Positions=initialization(SearchAgents_no,dim,ub,lb);


Convergence_curve=zeros(1,Max_iter);


t=0;% Loop counter


% Main loop
while t< Max_iter
    for i=1:size(Positions,1)


        % Return back the search agents that go beyond the boundaries of the search space
        Flag4ub=Positions(i,:) >ub;
        Flag4lb=Positions(i,:)< lb;
        Positions(i,:)=(Positions(i,:).*(~(Flag4ub+Flag4lb)))+ub.*Flag4ub+lb.*Flag4lb;


        % Calculate objective function for each search agent
        fitness=fobj(Positions(i,:));


        % Update the leader
        if fitness< Leader_score % Change this to > for maximization problem
            Leader_score=fitness; % Update alpha
            Leader_pos=Positions(i,:);
        end


    end


    a=2-t*((2)/Max_iter); % a decreases linearly fron 2 to 0 in Eq. (2.3)


    % a2 linearly dicreases from -1 to -2 to calculate t in Eq. (3.12)
    a2=-1+t*((-1)/Max_iter);


    % Update the Position of search agents 
    for i=1:size(Positions,1)
        r1=rand(); % r1 is a random number in [0,1]
        r2=rand(); % r2 is a random number in [0,1]


        A=2*a*r1-a;  % Eq. (2.3) in the paper
        C=2*r2;      % Eq. (2.4) in the paper




        b=1;               %  parameters in Eq. (2.5)
        l=(a2-1)*rand+1;   %  parameters in Eq. (2.5)


        p = rand();        % p in Eq. (2.6)


        for j=1:size(Positions,2)


            if p< 0.5   
                if abs(A) >=1
                    rand_leader_index = floor(SearchAgents_no*rand()+1);
                    X_rand = Positions(rand_leader_index, :);
                    D_X_rand=abs(C*X_rand(j)-Positions(i,j)); % Eq. (2.7)
                    Positions(i,j)=X_rand(j)-A*D_X_rand;      % Eq. (2.8)


                elseif abs(A)< 1
                    D_Leader=abs(C*Leader_pos(j)-Positions(i,j)); % Eq. (2.1)
                    Positions(i,j)=Leader_pos(j)-A*D_Leader;      % Eq. (2.2)
                end


            elseif p >=0.5


                distance2Leader=abs(Leader_pos(j)-Positions(i,j));
                % Eq. (2.5)
                Positions(i,j)=distance2Leader*exp(b.*l).*cos(l.*2*pi)+Leader_pos(j);


            end


        end
    end
    t=t+1;
    Convergence_curve(t)=Leader_score;
    [t Leader_score]
end

實驗結果:

圖片

圖片

圖片

圖片

圖片

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • MATLAB仿真
    +關注

    關注

    4

    文章

    176

    瀏覽量

    19922
  • WOA
    WOA
    +關注

    關注

    0

    文章

    3

    瀏覽量

    9783
收藏 人收藏

    評論

    相關推薦

    MATLAB的各種優化算法介紹

    ,并介紹了最優化問題輔助計算軟件MATLAB6.5產生的背景、優化工具篇及其工程應用 [hide] [/hide]
    發表于 03-06 14:53

    MATLAB優化算法案例分析與應用》

    MATLAB優化算法案例分析與應用》清華大學出版社《MATLAB優化算法案例分析與應用》這本書
    發表于 10-10 12:34

    【下載】MATLAB R2014a完全自學一本通+MATLAB智能算法30個案例分析

    環境的基礎上,對MATLAB 使用中常用的知識和工具進行了詳細的介紹,書中各章均提供了大量有針對性的算例,供讀者實戰練習。根據內容的側重點不同,全書分為4 部分共20 章:第1~5 章為基礎部分,講解
    發表于 06-01 18:01

    果蠅優化算法MATLAB實現

    果蠅優化算法MATLAB實現發布時間:2018-10-12 23:28,瀏覽次數:1183, 標簽:MATLAB果蠅優化
    發表于 08-17 07:28

    果蠅優化算法MATLAB實現過程是怎樣的?

    果蠅優化算法MATLAB實現過程是怎樣的?
    發表于 11-22 07:48

    基于遺傳算法的PID 控制及其MATLAB 仿真

    本 文介紹了遺傳算法和基于遺傳算法的PID 控制設計, 并對設計MATLAB/SIMULINK 下進行了仿真,取得了良好的控制效果。關鍵詞:遺傳算法;最
    發表于 06-11 09:06 ?101次下載

    MATLAB車輛工程應用實戰程序包括軟件免費下載

    本文檔的主要內容詳細介紹的是MATLAB車輛工程應用實戰程序包括軟件免費下載
    發表于 08-07 08:00 ?25次下載
    <b class='flag-5'>MATLAB</b>車輛工程應用<b class='flag-5'>實戰</b>程序包括軟件免費下載

    MATLAB的簡單函數優化的遺傳算法程序免費下載

    本文檔的主要內容詳細介紹的是MATLAB的簡單函數優化的遺傳算法程序免費下載。
    發表于 10-24 08:00 ?2次下載
    <b class='flag-5'>MATLAB</b>的簡單函數<b class='flag-5'>優化</b>的遺傳<b class='flag-5'>算法</b>程序免費下載

    用于MATLAB遺傳優化算法謝菲爾德大學遺傳算法工具箱免費下載

    本文檔的主要內容詳細介紹的是用于MATLAB遺傳優化算法謝菲爾德大學遺傳算法工具箱免費下載
    發表于 05-27 08:00 ?11次下載
    用于<b class='flag-5'>MATLAB</b>遺傳<b class='flag-5'>優化</b><b class='flag-5'>算法</b>謝菲爾德大學遺傳<b class='flag-5'>算法</b>工具箱免費下載

    使用MATLAB遺傳算法工具

    ,GADS)。使用遺傳算法與直接搜索工具箱,可以擴展 MATLAB 及其優化工具箱在處理優化問題方面的能力,可以處理傳統的優化技術難以解決的
    發表于 04-19 15:22 ?11次下載

    改進鯨魚優化算法在路徑規劃的應用綜述

    改進鯨魚優化算法在路徑規劃的應用綜述
    發表于 06-23 17:02 ?15次下載

    MATLAB優化算法匯總01

    MATLAB優化算法匯總01
    發表于 10-08 10:57 ?0次下載

    MATLAB優化算法匯總02

    MATLAB優化算法匯總02
    發表于 10-08 10:59 ?0次下載

    MATLAB優化算法匯總03

    MATLAB優化算法匯總03
    發表于 10-08 11:01 ?0次下載

    基于MATLAB的遺傳算法

    基于MATLAB的遺傳算法程序分享
    發表于 09-30 14:28 ?26次下載
    主站蜘蛛池模板: AV色蜜桃一区二区三区| 国产精品一区二区三区免费| 黑色丝袜在线观看| 欧美精品一区二区蜜臀亚洲| 亚洲欧美综合中文| 国产传媒18精品免费观看| 嗯啊快拔出来我是你老师视频| 亚洲精品久久久WWW游戏好玩| 成年黄网站免费大全毛片| 久久久久久久久久综合情日本| 午夜福利体验试看120秒| 啊…嗯啊好深男男高h文总受| 嫩草影院在线观看精品视频| 性888xxxx入欧美| yellow高清免费观看日本| 高H高肉强J短篇NP| 精品性影院一区二区三区内射| 嫩草国产福利视频一区二区| 亚洲欧美一级久久精品| 厨房玩朋友娇妻中文字幕| 男女床上黄色| 天美传媒色情原创精品| 中文字幕亚洲无线码高清不卡| 国产GV无码A片在线观看| 欧美重口绿帽video| jijzzizz中国版| 欧美四虎精品二区免费| 99热.com| 日本特黄网站| 国产精品一区二区三区免费| 小s现场抛胸挤奶| 国产午夜免费不卡精品理论片| 小柔的性放荡羞辱日记| 国产系列视频二区| 亚洲女初尝黑人巨磁链接| 极品少妇高潮啪啪AV无码| 尤物国产在线精品三区| 暖暖 免费 日本 高清 在线1| 99re热视频这里只有精品| 日本xxxx96| 国产麻豆剧果冻传媒免费网站|