【优化算法】鲸鱼优化算法(WOA)【含Matlab源码 1243期】

一、鲸鱼算法及LSTM简介

1 鲸鱼优化算法(Whale Optimization Algorithm,WOA)简介
鲸鱼优化算法(WOA),该算法模拟了座头鲸的社会行为,并引入了气泡网打猎战略。

1.1 创意
鲸鱼被认为是世界上最大的哺乳动物。一头成年鲸能够长达 30 米,重 180 吨。这种巨型哺乳动物有 7 种不同的首要物种,如虎鲸,小须鲸,鳁鲸,座头鲸,露脊鲸,长须鲸和蓝鲸等。鲸通常被认为是食肉动物,它们从不睡觉,由于它们必须到海洋外表进行呼吸,但事实上,鲸鱼有一半的大脑都处于睡觉状Go况。
鲸鱼在大脑的某些区域有与人类类似的细胞,公积金这些细胞被算法与数据结构称为纺锤形细胞(spindle cells)。这些细公积金胞担任人类的判别、情感和运动会社会行为。换句话说,纺锤形细胞使咱们人类有别于其他生物。鲸鱼的这些细胞数量是成年人的两倍,这是它们具有高运动度智慧和更富情感的首要原因。已经证明,鲸鱼宫颈癌前期症状能够像人类相同思考、学习、判别、交流,甚至变得情绪化,但显然,这都只是在一个很低的智能水平上。据调查,鲸鱼(首要是虎鲸)也能发展自己的方言。
另一个风趣的点是关于鲸鱼的社会行为,它们可独居也可群居,但咱们调查到的大多数仍然是群居。它们中的一些物种(例如虎鲸)能够在整个生命周期中生活在一个家族中。最大的须鲸之一是座头鲸,一头成年座头鲸简直和一辆校车相同大。它们最喜爱的猎物是磷虾和小鱼群。图1闪现的便是这种算法的有穷性是指哺乳动算法的五个特性物。
【优化算法】鲸鱼优化算法(WOA)【含Matlab源码 1243期】
图1 座头鲸的气泡网进食行为
关于座头鲸最风趣的作业运动鞋是它们特别的捕猎办法了。这种寻食行为交流的重要性心得体会被称为气泡网寻食法(bu运动会bble-net fee运动完多久能够洗澡ding method)。座头鲸喜爱在挨近海面的当地捕食磷虾或小鱼。据调查,这种寻食是经过在圆形或类似数字“9”形途径上制造共同的气泡来完结的,如图 1 所示。在 2011 年之前,这一行为仅仅是根据海面观测的。但是,有研讨者运用标签传感器研讨交流了这种行为。他们捕获了9头座头鲸身上300个由标签得到的气泡网进食作业。他们发现了两种与气泡有关的战交流的重要性略,并将它们命名为上升螺旋(upward-spirals)和双螺旋(double宫颈癌前期症状loops)。在前一种战略中,座头鲸会潜到大学水下 12 米左右,然后初步在猎物周围制造一个螺旋形的泡泡,并游向水大学英语四级考试面;后一种战略包含三个交流的重要性的名言不同的阶段:珊瑚循环,用尾叶击打水面以及捕获循环。这儿不翻开具体描绘。
但是气泡网捕食是只需座头鲸独有的一种特别行为,而鲸鱼算法剖析的意图是优化算法便是模拟了螺旋气交流作文泡网进食战略抵达优化的意图。

1.2 数学建模和优化算法
1.2.1 围住捕食(E算法是什么ncircling prey)

座头鲸能够大学英语四六级辨认猎物的方位并将其围住。由于最优规大学英语四六级成果查询时刻划在查找空间中的方位不是先验已知的,WOA 算法假定当时的最佳候宫颈癌前期症状选解是方针猎物或挨近最优解。在界说了最佳查找署理之后,其他查找署理将因而测验向最佳查找署理更新它们的方位。这种行为由下列算法导论方程标明:
【优化算法】鲸鱼优化算法(WOA)【含Matlab源码 1243期】【优化算法】鲸鱼优化算法(WOA)【含Matlab源码 1243期】【优化算法】鲸鱼优化算法(WOA)【含Matlab源码 1243期】【优化算法】鲸鱼优化算法(WOA)【含Matlab源码 1243期】
  图 2a 描绘大学排名2021最新排名了等式(运动鞋品牌排行榜2)针对2D问题大学英语四级考试的底子原理,查找署理的方位( X , Y )能够根据当时最优解的大学英语四六级报名方位( X ∗ , Y ∗ )进行更新,经过调整向量 A ⃗ 和C的值,运动品牌能够找到相对于当时方位下一时刻最优署理附近的不同当地。在 3D 空间中查找交流的重要性心得体会署理或许的更新方位如图 2b。经过界说随机向量 r ,能够抵达图 2 中所示要害点之间的查交流的重要性找空间内任何方位,因而等式(2)答应任何查找署理在当时最优解运动员的邻域内更新其方位,然后模拟了鲸鱼的围住捕食。类似的概念也能够扩展到 n 维查找空间。留神图2中的两幅图均是在a=1和C=1情况下的。
【优化算法】鲸鱼优化算法(WOA)【含Matlab源码 1243期】【优化算法】鲸鱼优化算法(WOA)【含Matlab源码 1243期】
图2 2D和3D方算法规划与剖析位向量及其或许的下一个方位
1.2.2 气泡网攻击方式(运动完多久能够洗澡Bubble-net attacking method)(运用阶段)
共规划了两种办法来对座头鲸的气泡网行为进行建模:
缩短围住机制:经过下降式(3)中 a 的值完结。留神 A的动摇范围也经过 a下算法与数据结构降,交流的重要性心得体会换句话说,A 是一个区间[-a,a]内的随机值,a 跟着迭代进行从 2 降为 0。设置 A中的随机值在[-1,1]之间,查找署理的新方位能够界说为署理原始方位与当时最优署理方位之间的恣意方位。图 3a 闪现了 2D 空间中当 0 ≤ A ≤ 1 0 时从 ( X , Y )挨近 ( X ∗ , Y ∗ ) 悉数或许的方位。这种机制本质上便是围住捕食。
螺旋更新方位。如图 3b,该办法首要核算鲸鱼方位 ( X , Y ) 与猎物方交流的重要性的名言位 (公积金 X ∗ , Y ∗ ) 之间的间隔,然后在鲸鱼与运动鞋猎物方位之间创建一个螺旋等式,来仿照座头鲸的螺旋状移动:
【优化算法】鲸鱼优化算法(WOA)【含Matlab源码 1243期】【优化算法】鲸鱼优化算法(WOA)【含Matlab源码 1243期】【优化算法】鲸鱼优化算法(WOA)【含Matlab源码 1243期】
(a)缩短围住机制
【优化算法】鲸鱼优化算法(WOA)【含Matlab源码 1243期】
(b)螺旋更新方位
图3 W运动品牌OA中完结的气泡网查找机制
值得留神的是,座头鲸在一个不断缩小的圆圈内绕着猎物游动,一同沿着螺旋形途径游动。为了对这种一同发生的行为进行建模,假定有 50%的或许性在缩短围住机制和螺旋模型之间进行挑选,以便在优化过程中更新鲸鱼的方位,数学模龚俊型如下:
【优化算法】鲸鱼优化算法(WOA)【含Matlab源码 1243期】
其中 p pp 为[0,1]之间的随机数。
1.2.3查找猎物(Searc运动的优点h for prey)(exploration phase)
除了泡泡网办法,座头鲸还会随机寻大学英语四六级找猎物,相同根据可变 A向量,事实上,座头鲸会依运动会加油稿据相互的公积金方位进行随机查找,因而运用随机值大于1或小于-1的 A ⃗ 来迫使查找署理远离参看鲸运动员鱼。与运用阶段相反,这儿将根据随机挑选的查找署理来更新查找署理在探求阶段的方位,而不是根据算法规划与剖析目前为止最优的查找署理。该机制和 ∣ A ⃗ ∣ > 1 强调了探求,并答运动完多久能够洗澡应WOA巩立姣算法履行全局查找。数学模型如下:
【优化算法】鲸鱼优化算法(WOA)【含Matlab源码 1243期】【优化算法】鲸鱼优化算法(WOA)【含Matlab源码 1243期】
其中 X → r a n d 为从当时种群中挑选的随机方位向量(标明一头随机鲸鱼)。
特定解附近满意 A ⃗ > 1的一些或许解如图 4 所示。
【优化算法】鲸鱼优化算法(WOA)【含Matlab源码 1243期】
图4 WOA中的探求机制(X*是一个随机挑选的查找署理)
WOA算法首要随机初始化一组解,在每次迭代中,查找署理根据随机挑选的查找署理或到目前为止取得的最优解更新它们的方位。将 a aa狗狗币 参数由 2 随迭代次数降为 0,然后由探求逐渐到运用宫颈癌前期症状。当 ∣ A ⃗运动健康 ∣ > 1 时挑选随机查找署理,∣ A ⃗ ∣ &l交流t; 1大学英语四六级报名 时挑选最优解更新查找署理方位。根据 p交流技巧许医师攻略版电视剧 pp 的值,WOA能够在螺旋运动和圆环运动之间进行切换。最终,经过满意中止原则来中止WOA算法。WOA算法的伪代码如图5所示。
【优化算法】鲸鱼优化算法(WOA)【含Matlab源码 1243期】
图5 WOA算法伪代码
1.3 代码剖析
只需理解了原理的大学生助学借款底子流程,其实代码就没有说明困难了,咱们首要介绍一下如何完结上述剖析的几个重要原理,所要优化的问题的是大学专业三十个数的平方和最小【优化算法】鲸鱼优化算法(WOA)【含Matlab源码 1243期】(1)参数初始化。初始时首要设置署理数量和最大迭代次数即可,其他算法相关的参数由于和当时迭代次数相关,需求在迭代中设置。

SearchAgents_no=30; % 查找署理数量
Max_iteration=500; % 最大迭代次数
``
**(2) 种群初始化**。随机初始化悉数署理各个维度上的方位值,需求确保在取值范围内。
```c
Positions=rand(SearchAgents_no,dim).*(ub-lb)+lb;

(3工商银行客服电话)种群点评。点评种大学专业群中每个署理的政大学排名2021最新排名策值,如有某个署理由于当时最优解,则将其设为最优解。

for i=1:size(Positions,1)
% 核算每个署理的方针值
fitness=fobj(Positions(i,:));
% 更新最优解
if fitness<Leader_公积金score % 如果是运动鞋品牌排行榜最大化问题,这儿便是">"
L大学英语四级考试eader_score=fitness枸杞;
Leader_pos=Positions(i,:);
end
end

(4)设置和迭代次数相关的算法参数。

a=2大学-t*((2)/Max_iter); % 等式(3)中a随迭代次数从2线性下降至0
%a2从-1线性下降至-2,核算l时会用到运动品牌
a2=-1+t*((运动鞋品牌排行榜-1)/Max_iter);

(5)对每个署大学生助学借款理的每一维度进行方位更新。

% Update the Position of search agents
for i=1:size(Po算法的空间复杂度是指sitio宫颈癌前期症状ns,1)
r1=rand(); % r1为枸杞[0,1]之间的随机数
r2=rand(); % r2为[0,1]之间的随机数
A=2*a*r1-a;  % 等式(3)
C=2*r2;      %大学排名2021最新排名 等式(4)
b=1;               %  等式(5)中的常数b
l=(a2-1)*rand+狗狗币1;   %  等式(5)中的随机数l
p = ran大学英语四级考试d();        %  等式(6)中的概率p
for j=1:s运动鞋品牌排行榜ize算法的五个特性(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)); % 等式(7)
Positions(i,j)=X_rand(j)-A*D_X_rand;      % 等式(8elseif abs(A)Go<大学英语四六级报名1
D_Leader=abs(C*Leader_po运动s(j)-Positions(i,j));交流能力 % 等式(1)
Positions(i,j)=Leader_pos(j)-A*D_Leader;      % 等式(2)
end
elseif p>=0.5
distance2Leader=abs(Leader_pos(j)-Positions(i,j));
% 等式(5)
Posit算法剖析的意图是ions(i,j)=distance2Leader大学生助学借款*exp(b.*l).*cos(l.*2*pi)+Leader_pos(j);
end
end
end

二、部分源代码交流作文

clear all
clc
SearchAgents_no=30; % Number of search算法的五个特性 agents
Function运动鞋_name='F1'; % Name of the test function tha算法工程师t can be from F1 to F23 (Table 1,2,大学生助学借款3 in the paper)
M运动完多久能够洗澡ax_iteration=500; % Maximum numbef of iterations
% Load details of the sel算法规划与剖析ected benchmark function
[lb,ub,dim,fobj]=Get_Functions_deta大学四六级ils(Function_na算法me);
[Best_score,Best_pos,WOA_cg_curve]=WOA(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);
figure('Position',[269   240   660   290])
%Dr大学生助学借款aw search space
subplot(1,2,1);
func_p交流技巧和办法lot(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_p交流的重要性os)]);
display(运动会['The best optimal value of the objective funciton found by WOA is :算法的空间复杂度是指 '龚俊, num2str(Best_score)]);
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 maximizat交流技巧许医师攻略版电视剧ion problems
%Initialize the po大学sitions of search agents
Positions=initializatio运动鞋n(SearchAgent大学英语四级考试s_no,dim,ub,lb);
Co运动会加油稿nvergence_curve=zeros(1,Max_iter);
t=0;% Loop counter
% Ma狗狗币in 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 functi大学英语四六级on for e运动品牌logo大全ach search ag运动的优点ent
fitn大学英语四级考试ess=fobj(Positions(i,:));
% Update the leader
if fitness<Leader_score % Change t宫颈癌前期症状his to &g大学英语四六级报名t; for maximization prgoogleoblem
Leader_score=fitness; % Upda算法与数据结构te alpha
Leader_po算法的时刻复杂度取决于s=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(Positio工商银行客服电话ns,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 pape宫颈癌前期症状r
% Eq. (2.4) in the paper
%  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;      % E交流的重要性的名言q. (2.8)
elseif ab龚俊s(A)<1
D交流技巧_Leader=abs(C*Leader_pos(j)-Positions大学四六级(i,j)); % Eq. (2.1)
Positions(i,j)=Le枸杞ader_pos(j)-A*D_Leader;      % E算法规划与剖析q. (2.2)
end
elseif p>=0.5
% Eq. (2.5)
Positions(i,j)=distance2Leader*exp(b.*l).*cos(l.*2*pi)+Leader_pos(j);
end
end
end

三、工作结果

【优化算法】鲸鱼优化算法(WOA)【含Matlab源码 1243期】

四、matlab版别及参看文献

1 matlab版别
2014a

2 参看文献
[1] 包子阳,余继周,杨杉.智能优化算法及其M运动ATLAB实例(第2版)[M].电子工业出版社,2016.
[2]张岩,吴水根.MATLAB优化算法源代码[M].清华大学出版社,2017大学.
[3]周品.MATLAB 神经网算法剖析的意图是络规划与运用[M].清华大学出版社,2013.
[4]陈明.MATLAB神经网络原理与实例精解[M].清华大学出版社,2013.
[5]方清城.MATLAB R2016a神经网络规划与运用28个案例剖析[M].清华大学出版社,2018.

发表评论

提供最优质的资源集合

立即查看 了解详情