【智能优化算法】蜻蜓算法 (Dragonfly algorithm, DA),2016

14 篇文章 15 订阅
订阅专栏

前言

蜻蜓优化算法( Dragonfly algorithm,DA) 是 Seyedali Mirjalili 等于 2016 年提出的一种新型智能优化算法[1]。其主要灵感源于自然界中蜻蜓的静态和动态群集行为,具有寻优能力强等特点。

截止到 2023 年,算法引用趋势

1. 蜻蜓的生物行为

  • 蜻蜓是节肢动物门,昆虫纲,蜻蜓目的统称
  • 该算法源于自然中蜻蜓动态和静态的智能群行为,对蜻蜓的飞行线路、躲避天敌及寻找食物等生活习性进行数学建模。
    • 在动态群中,为获得更好的生存环境,大量的蜻蜓集群朝着共同的方向进行远距离迁徙
    • 在静态群中,为寻找其他飞行猎物,由小部分蜻蜓组成的各个小组,在较小的范围内来回飞行
  • 在自然界中,蜻蜓的生活习性可以归纳为5类行为方式:分离、结队、结盟、寻找猎物和躲避天敌

2. 算法优化原理

2.1 分离

分离是每个蜻蜓个体与同类分开的行为。分离行为的数学表达式为:
s i = − ∑ j = 1 N ′ ( X j − X ) (2-1) s_i = -\sum_{j=1}^{N{'}} (X_j - X)\tag{2-1} si=j=1N(XjX)(2-1)

式中 N ′ N{'} N 为邻近个体的个数; S i S_i Si 为第 i i i 个蜻蜓同类之间分离行为的位置向量; X X X 为当前个体所在位置; X j X_j Xj 相邻个体蜻蜓 j j j 所处的位置

2.2 结队

结队是指每个蜻蜓个体在飞行时与相邻个体之间的速度匹配。结队行为的数学表达式为:
A i = ∑ j = 1 N ′ V j N ′ (2-2) A_i = \frac{\sum_{j=1}^{N{'}}V_j}{N{'}}\tag{2-2} Ai=Nj=1NVj(2-2)

式中 A i A_i Ai 为第 i i i 个蜻蜓个体结队行为的位置向量; V j V_j Vj 为第 j j j 个相邻个体的飞行速度

2.3 结盟

结盟指蜻蜓与相邻同类之间彼此聚在一起的集群行为。结盟行为的数学表达式为:
C i = ∑ j = 1 N ′ X j N ′ − X (2-3) C_i = \frac{\sum^{N{'}}_{j=1}X_j}{N{'}} - X \tag{2-3} Ci=Nj=1NXjX(2-3)

式中 C i C_i Ci 为第 i i i 个蜻蜓个体结盟行为的位置向量, X X X 为当前个体的位置信息, X j X_j Xj 为第 j j j 个相邻个体的位置

2.4 寻找猎物

寻找猎物指个体为生存搜寻猎物的行为。寻找猎物行为的数学表达式为:
F i = X + − X (2-4) F_i = X^+ - X\tag{2-4} Fi=X+X(2-4)
式中 F i F_i Fi 为第 i i i 个蜻蜓个体猎食行为的位置向量; X + X^+ X+ 待捕食的猎物所处的位置,即已记录的目标最优解

2.5 躲避天敌

个体出于生存的本能,需时刻警惕天敌的行为。躲避天敌行为的数学表达式为:
E i = X − + X (2-5) E_i = X^{-} +X \tag{2-5} Ei=X+X(2-5)
式中 E i E_i Ei 为第 i i i 个蜻蜓个体逃避天敌行为的位置向量; X − X^- X 为天敌所处的位置。

2.6 位置更新

步向量表示为蜻蜓的飞行方向以及步长,其数学式为:

Δ X t + 1 = ( s S i + a A i + c C i + f F i + e E i ) + ω Δ X t (2-6) \Delta X_{t+1} = (sS_i + aA_i + cC_i + fF_i + eE_i) + \omega\Delta X_t \tag{2-6} ΔXt+1=(sSi+aAi+cCi+fFi+eEi)+ωΔXt(2-6)

式中: a a a 为结队对齐权重; c c c 为结盟凝聚权重; e e e 为天敌权重因子; f f f 为猎物权重因子; s s s 为分离权重; t t t 为当前迭代次数; ω \omega ω 为惯性权重

在自然界中,出于生存需要,大部分时间蜻蜓都是运动的,因此所处位置也需实时更新。 更新蜻蜓个体所处位置的向量,数学表达式如下:
X t + 1 = X t + Δ X t + 1 (2-7) X_{t+1} = X_t + \Delta X_{t+1} \tag{2-7} Xt+1=Xt+ΔXt+1(2-7)

要达到使算法性能进一步得到强化的目的,在同类个体附近无临近解时,通过使用 Lévy 飞行的方法绕搜索空间飞行,进行蜻蜓位置的更新:
X t + 1 = X t + L e ˊ vy ( d ) X t (2-8) X_{t+1} = X_t + \text{Lévy}{(d)}X_t\tag{2-8} Xt+1=Xt+Leˊvy(d)Xt(2-8)

其中 d d d 表示维度。Lévy 函数计算如下:
L e ˊ vy ( x ) = 0.01 ∗ r 1 ∗ δ ∣ r 2 ∣ 1 β \text{Lévy}(x) = 0.01 * \frac{r_1 * \delta}{|r_2|^{\frac{1}{\beta}}} Leˊvy(x)=0.01r2β1r1δ
δ = ( Γ ( 1 + β ) ∗ s i n ( π β 2 ) Γ ( 1 + β 2 ) ∗ β ∗ 2 β − 1 2 ) 1 β , Γ ( x ) = ( x − 1 ) ! \delta = \left(\frac{\Gamma(1 + \beta) * sin(\frac{\pi \beta}{2})}{\Gamma(\frac{1 + \beta}{2})*\beta * 2^{\frac{\beta - 1}{2}}} \right)^{\frac{1}{\beta}}, \Gamma(x) = (x - 1)! δ=(Γ(21+β)β22β1Γ(1+β)sin(2πβ))β1,Γ(x)=(x1)!

式子中: r 1 r_1 r1, r 2 r_2 r2 为 [0, 1] 范围内的随机数; β \beta β 为常数

为调节 DA 算法的搜索性能,参数值 ( a a a 结队对齐权重; c c c 结盟凝聚权重; e e e 天敌权重因子; f f f 猎物权重因子; s s s 分离权重) 将在寻优过程中自适应调整。

3. 算法流程

注: while 循环下第一句 objective values 就是 fitness values

  • a.初始化蜻蜓算法参数,包括最大迭代次数、种群数量。
  • b.初始化蜻蜓在搜索空间中的位置向量 X X X 和在搜索空间中的方向向量 Δ X ΔX ΔX。各只蜻蜓优化参数的组合设为 (C,g) \text{(C,g)} (C,g),其中 X X 矩阵的第 1、2 行分别存放 C、g \text{C、g} Cg 的值。
  • c.更新各权重值。根据上述步骤的数据,对相关权重值进行初始化。变量包括邻域半径 r r r、惯性权重 ω ω ω、猎物权重因子 f f f、对齐权重 a a a、凝聚权重 c c c、分离权重 s s s、天敌权重因子 e e e
  • d.适应度值的计算,蜻蜓的最大适应度值随着蜻蜓不断地进行操作而实时更新,如果蜻蜓当前的适应度值大于已保存的适应度值,则更新原适应度值,否则原适应度值不变。因此保存的适应度值为最优值,并且保存当前最优值对应的参数组合 (C,g) \text{(C,g)} (C,g)
  • e.搜寻邻域中有无蜻蜓个体存在,以欧氏距离作为邻域中有无蜻蜓存在的根据。若存在,用式 (2-6)、(2-7) 更新位置与步长;若不存在,用式 (2-8) 更新位置。
  • f.用式(2-1)~(2-5)计算蜻蜓的行为度,包括 f , a , c , s , e f , a , c , s , e f,a,c,s,e
  • g.更新 X X X Δ X ΔX ΔX
  • h.终止条件的判断。如果满足终止条件,则直接跳出,同时输出最优参数组合 (C,g) \text{(C,g)} (C,g);如果不满足则迭代次数加1,跳转执行步骤 c。

4. 代码讲解

假设种群中有25只蜻蜓,即 TotalPopulation = 25;UpperBound、LowerBound、dim、fobj 由具体问题给出;设定 Max_iteration=500;

(1) 随机初始化蜻蜓种群 Initialize the dragonflies population X i ( i = 1 , 2 , 3... , n ) X_i ( i = 1 , 2 , 3... , n ) Xi(i=1,2,3...,n) 代码如下:

initialization.m

Positions(:,i)=rand(TotalPopulation, 1).*(UpperBound - LowerBound) + LowerBound;

(2) 初始化 Δ X ΔX ΔX 和 (1) 一样 Initialize step vectors Δ X i ( i = 1 , 2 , 3... , n ) ΔX_i ( i = 1 , 2 , 3... , n) ΔXi(i=1,2,3...,n)

DeltaX(:,i)=rand(TotalPopulation, 1).*(UpperBound - LowerBound) + LowerBound;

(3) While the condition is not satisfied

for iter=1:Max_iteration

(4) 计算每只蜻蜓的适应度 Calculate the objetive values of all dragonflies

DA.m

Fitness(1,i)=fobj(X(:,i)');

(5) 更新猎物 (F) 和天敌 (E) Update the food source and enemy
F o o d i = F o o d S o u r c e P o s i t i o n − I n d i v i d u a l C u r r e n t P o s i t i o n Food_i = FoodSourcePosition - IndividualCurrentPosition Foodi=FoodSourcePositionIndividualCurrentPosition
F i = X + − X (2-4) F_i = X^+ - X\tag{2-4} Fi=X+X(2-4)
E n e m y i = E n e m y P o s i t i o n − I n d i v i d u a l C u r r e n t P o s i t i o n Enemy_i = EnemyPosition - IndividualCurrentPosition Enemyi=EnemyPositionIndividualCurrentPosition
E i = X − + X (2-5) E_i = X^{-} +X \tag{2-5} Ei=X+X(2-5)

% 蜻蜓的策略应该是 远离天敌,趋向猎物
% Enemy Position就是迭代中适应度最大值坐标
% Food Source Position就是迭代中适应度最小值坐标

% 初始化
Food_fitness=inf;%正无穷
Food_pos=zeros(dim,1);%10*1  0

Enemy_fitness=-inf;%负无穷
Enemy_pos=zeros(dim,1);%10*1  0


% 在迭代中更新猎物和天敌坐标
for i=1:SearchAgents_no %首先计算所有目标值
	Fitness(1,i)=fobj(X(:,i)');
	if Fitness(1,i)<Food_fitness %寻找每次迭代的最小值
		Food_fitness=Fitness(1,i);
		Food_pos=X(:,i);
	end

	if Fitness(1,i)>Enemy_fitness %寻找每次迭代的最大值
		if all(X(:,i)<ub') && all( X(:,i)>lb')
			Enemy_fitness=Fitness(1,i);
			Enemy_pos=X(:,i);
		end
	end
end

(6) 更新参数 Update w, s, a, c, f and e

% w 惯性权重 Inertia weight
w=0.9-iter*((0.9-0.4)/Max_iteration); %不断减小
% s 分离权重 Separation weight
% a 对齐权重 Alignment weight
% c 内聚权重 Cohesion weight
% f 猎物吸引权重 Food attraction weight
% e 天敌规避权重 Enemy distraction weight

my_c=0.1-iter*((0.1-0)/(Max_iteration/2));% 不断减小 初始 0.0996
s=2*rand*my_c; % 分离权重 0.0013
a=2*rand*my_c; % 对齐权重 0.1884
c=2*rand*my_c; % 内聚权重 0.1791
f=2*rand;      % 猎物吸引权重 0.8826
e=my_c;        % 天敌规避权重 0.0996


% Swarm Behavior follows three Important Principles:
% 1. Separation : Individual avoid static collision with neighbor.
% 2. Alignment : Individuals velocity matched with neighbor individuals.
% 3. Cohesion : Individual tendency toward center of the herd.
% 群体行为遵循三个重要原则:
% 1. 分离:个体避免与邻居发生静态碰撞。
% 2. 结盟:个体速度与邻近个体相匹配。
% 3. 成队:个体趋向于群体中心。

(7) 计算参数 Calculate S, C, A, F (3.1)~(3.5)

% Si Separation of the i-th individual
% Eq. (3.1)
        S=zeros(dim,1);
        if neighbours_no>1
            for k=1:neighbours_no
                S=S+(Neighbours_X(:,k)-X(:,i));
            end
            S=-S;
        else
            S=zeros(dim,1);
        end
% Ai Alignment of the i-th individual
% Eq. (3.2)
        if neighbours_no>1
            A=(sum(Neighbours_DeltaX')')/neighbours_no;
        else
            A=DeltaX(:,i);
        end
% Ci Cohesion of the i-th individual
% Eq. (3.3)
        if neighbours_no>1
            C_temp=(sum(Neighbours_X')')/neighbours_no;
        else
            C_temp=X(:,i);
        end
        
        C=C_temp-X(:,i);
% Fi Food source of the i-th individual
% Eq. (3.4)
        Dist2Food=distance(X(:,i),Food_pos(:,1));
        if all(Dist2Food<=r)
            F=Food_pos-X(:,i);
        else
            F=0;
        end
% Ei Enemy position of the i-th individual
% Eq. (3.5)
        Dist2Enemy=distance(X(:,i),Enemy_pos(:,1));
        if all(Dist2Enemy<=r)
            Enemy=Enemy_pos+X(:,i);
        else
            Enemy=zeros(dim,1);
        end

(8) 更新邻居半径 Update neighboring radius

% 迭代次数越大,半径越大,这里代表欧氏距离
r=(ub-lb)/4+((ub-lb)*(iter/Max_iteration)*2);

(9) if 结构 如果蜻蜓有同伴 if a dragonfly has at least one neighbouring dragonfly

使用如下两个方程更新 t+1 时刻蜻蜓的 速度(velocity) 和 位置(position):
Δ X t + 1 = ( s S i + a A i + c C i + f F i + e E i ) + ω Δ X t (2-6) \Delta X_{t+1} = (sS_i + aA_i + cC_i + fF_i + eE_i) + \omega\Delta X_t \tag{2-6} ΔXt+1=(sSi+aAi+cCi+fFi+eEi)+ωΔXt(2-6)
X t + 1 = X t + Δ X t + 1 (2-7) X_{t+1} = X_t + \Delta X_{t+1} \tag{2-7} Xt+1=Xt+ΔXt+1(2-7)

if any(Dist2Food>r) %如果食物位置不是相邻蜻蜓位置
	%当有个体与个体 i 相邻时
	if neighbours_no>1
		for j=1:dim
			DeltaX(j,i)=w*DeltaX(j,i)+rand*A(j,1)+rand*C(j,1)+rand*S(j,1);
			if DeltaX(j,i)>Delta_max(j)
				DeltaX(j,i)=Delta_max(j);
			end
			if DeltaX(j,i)<-Delta_max(j)
				DeltaX(j,i)=-Delta_max(j);
			end
			X(j,i)=X(j,i)+DeltaX(j,i);
		end
	else
		% Eq. (3.8)
		%当没有任何个体与个体 i 相邻时
		X(:,i)=X(:,i)+Levy(dim)'.*X(:,i);
		DeltaX(:,i)=0;
	end
else
	for j=1:dim
		% Eq. (3.6)
		DeltaX(j,i)=(a*A(j,1)+c*C(j,1)+s*S(j,1)+f*F(j,1)+e*Enemy(j,1)) + w*DeltaX(j,i);
		if DeltaX(j,i)>Delta_max(j)
			DeltaX(j,i)=Delta_max(j);
		end
		if DeltaX(j,i)<-Delta_max(j)
			DeltaX(j,i)=-Delta_max(j);
		end
		% Eq. (3.7)
		X(j,i)=X(j,i)+DeltaX(j,i);
	end 
end

(9) else 结构 如果蜻蜓没有同伴

只需要更新 t+1 时刻的蜻蜓的位置(position):
X t + 1 = X t + L e ˊ vy ( d ) X t (2-8) X_{t+1} = X_t + \text{Lévy}{(d)}X_t\tag{2-8} Xt+1=Xt+Leˊvy(d)Xt(2-8)

function o=Levy(d)

	beta=3/2;
	%Eq. (3.10)
	sigma=(gamma(1+beta)*sin(pi*beta/2)/(gamma((1+beta)/2)*beta*2^((beta-1)/2)))^(1/beta);
	u=randn(1,d)*sigma;
	v=randn(1,d);
	step=u./abs(v).^(1/beta);

	% Eq. (3.9)
	o=0.01*step;
end

(10) 进行边界检查

Flag4ub=X(:,i)>ub';
Flag4lb=X(:,i)<lb';
%范围大于上限则取上限
%范围小于下限则取下限,
%否则不变
X(:,i)=(X(:,i).*(~(Flag4ub+Flag4lb)))+ub'.*Flag4ub+lb'.*Flag4lb;

5. 代码以及结果

Github 地址: https://github.com/99Young99/Intelligent-optimization-algorithm

Gitee 地址: https://gitee.com/futurelqh/Intelligent-optimization-algorithm

F6:

F20:

Reference

[1] Mirjalili S. Dragonfly algorithm: a new meta-heuristic optimization technique for solving single-objective, discrete, and multi-objective problems[J]. Neural Computing and Applications, 2016, 27(4): 1053-1073.

[2] https://blog.csdn.net/qq_45555061/article/details/125942253

[3] 智能优化算法:蜻蜓优化算法-附代码

优化算法】多目标蜻蜓优化算法(MODA)【含Matlab源码 1350期】
订阅付费专栏(初级版),可赠送该付费专栏任意代码1份;
10-03 1990
1蜻蜓仿生寻优算法蜻蜓算法寻优计算主要思路通过模拟蜻蜓的捕食行为来实现(图1),该飞行(进化)寻优机制可以表示为蜻蜓群体分离、对齐、聚集、食物吸引与天敌驱散五个步骤。图1 蜻蜓算法寻优计算主要思路(1)分离。表示避免蜻蜓个体距离太近降低寻优效率:式中Ek为蜻蜓k的分离度;D表示当前蜻蜓的位置;Dj代表第j个邻近蜻蜓的位置;J代表群体中第k个蜻蜓的邻近蜻蜓的数量。(2)对齐。表示某个蜻蜓与其邻近蜻蜓个体速度的相同程度:式中Uk为蜻蜓k的对齐度;Vj代表第j个邻近蜻蜓的飞行速度;
蜻蜓优化算法:并行计算与分布式优化
AI天才研究院
01-16 1011
1.背景介绍 蜻蜓优化算法(Firefly Algorithm, FA)是一种基于生物学现象的优化算法,由西班牙科学家Xin-She Yang于2008年提出。这种算法灵感来自于夜间活动的蜻蜓,它们在夜间通过光信号来寻找更好的食物来源和偶遇的伙伴。蜻蜓优化算法在近年来得到了广泛的关注和应用,尤其是在并行计算和分布式优化领域。 蜻蜓优化算法的核心思想是通过模拟蜻蜓在夜间活动过程中的行为规律,来解...
Dragonfly algorithm
01-16
Citation: S. Mirjalili, Dragonfly algorithm: a new meta-heuristic optimization technique for solving single-objective, discrete, and multi-objective problems. Neural Computing and Applications, DOI: http://dx.doi.org/10.1007/s00521-015-1920-1.
基于蜻蜓优化算法的配电网重构求解(Python代码实现)【IEEE123节点算例】
weixin_46039719的博客
10-11 942
电力系统 (SEP) 不断扩展,以满足消费者对电能的需求。在这种情况下,配电系统扩展规划 (PESD) 的作用是确定配电网络扩展的指导方针。为此,有必要对馈线元件进行更改,例如在既定的规划范围内更换超过负载限制的导体,通过更改开关状态来更改馈线配置,以及其他确保连续性和质量的基本要素交付给客户的能量。
智能优化算法蜻蜓优化算法-附代码
热门推荐
Jack旭的博客
08-04 1万+
智能优化算法蜻蜓优化算法-附代码 文章目录智能优化算法蜻蜓优化算法-附代码1.算法原理1.1分离2.2 排队2.3 结盟2.4 寻找猎物2.5 躲避天敌2.算法流程3.算法结果4.参考文献5.MATALAB代码 摘要:蜻蜓优化算法( Dragonfly algorithmDA)是Seyedali Mirjalili等于2016年提出的一种新型智能优化算法[1]。其主要灵感源于自然界中蜻蜓的静态和动态群集行为,具有寻优能力强等特点。 1.算法原理 蜓算法是一种新型智能优化算法,其原理是模拟大自然中蜻蜓
蜻蜓算法_解决单目标、离散和多目标问题的一种新的元启发式优化技术.pdf
06-12
这是英文文献,蜻蜓算法_解决单目标、离散和多目标问题的一种新的元启发式优化技术,算法主要是受蜻蜓觅食行为和迁徙行为所启发,在静态的觅食行为中,蜻蜓所觅食寻找的猎物看作是整个优化域的最优解,在动态的迁徙行为中,蜻蜓所要迁徙的目的地看作是整个优化域的最优解。
蜻蜓算法DA
01-21
亲测可用的群智能算法,非常好用,包含测试函数和绘图函数。
蜻蜓算法(DA)
打呼噜的星
06-09 2436
蜻蜓群的目的:捕食(静态群)和迁移(动态群) 五种行为: 1.Separation:个体之间避免碰撞 Si=−∑j=1NX−XjS_i=-\sum_{j=1}^NX-X_jSi​=−∑j=1N​X−Xj​ X表示当前个体,Xj是第j个邻近个体的位置。N为邻近个体数量X表示当前个体,X_j是第j个邻近个体的位置。 N为邻近个体数量X表示当前个体,Xj​是第j个邻近个体的位置。N为邻近个体数量 2.Alignment:与邻近个体速度保持一致 Ai=∑j=1NVjNA_i=\frac{\sum_{j=1}^NV_
优化算法蜻蜓算法DA)【含Matlab源码 1306期】.zip
10-11
完整代码,可直接运行
蜻蜓优化算法及对应原文
09-02
分享了蜻蜓优化算法的源代码及原文,亲测有效,欲求更多算法可进入空间查看
蜻蜓算法,蜻蜓算法原理,matlab
09-10
鸽群优化(pigeon-inspired optimization
蜻蜓算法;二进制蜻蜓算法;多目标蜻蜓算法
11-27
蜻蜓算法;二进制蜻蜓算法;多目标蜻蜓算法DA算法的主要灵感源于自然界中蜻蜓的静态和动态蜂群行为。通过对蜻蜓在导航,寻找食物和动态或统计蜂群中避开敌人的社交互动进行建模,从而设计出优化,探索和开发的两个基本阶段。
基于蜻蜓算法的改进研究
03-02
基于蜻蜓算法的改进研究
Dragonfly algorithm.zip
09-20
元启发式算法&mdash;&mdash;蜻蜓算法Dragonfly algorithmDA》的MATLAB版本
MATLAB群智能开源第二十六期-蜻蜓优化算法(无偿)
移步公众号获取
04-10 665
1 写在前面 该系列为基础群智能优化算法,欢迎私信一起交流问题,更多的改进算法可查看往期的推文。有问题或者需要其他建议的话,非常欢迎后台私信交流,共同进步,如若出现违反学术道德的情况与本博客以及作者无关,所有资料仅做参考。推文仅做参考作用,具体原理以及数学模型自行学习改进或后台咨询!!! 推文相关代码后台回复关键词获取,代码本身不钱,钱的是思想,欢迎大家后台私信留言。 2.算法基本原理 蜻蜓算法是在2015年Mirjalili提出的一种群智能优化算法,灵感来源于大自然中蜻蜓的静态群体行为和动态群
机器学习实战应用案例100篇(十三)-蜻蜓算法从原理到实战应用案例
wenyusuran的专栏
04-27 1387
蜻蜓算法(原理) 1 算法简介 蜻蜓(蜻蜓属)是奇特的昆虫。世界上有近3000种不同的昆虫。如下图所示,蜻蜓的生命周期包括两个阶段:若虫和成虫。它们一生中大部分的时间都是若虫期,经过变形变成成虫。 蜻蜓被认为是一种小型捕食者,它捕食自然界中几乎所有的小昆虫。若虫也捕食其他海洋昆虫,甚至是小鱼。有趣的是蜻蜓独特而罕见的群集行为。蜻蜓聚集的目的只有两个:狩猎和迁徙。前者称为静态(摄食)群,后者称为动态(迁徙)群。 在静态群体中,蜻蜓组成小群,在一小块区域内来回飞行,以捕食其他飞行猎物,如蝴蝶和蚊子。
智能算法蜻蜓算法DA)原理及实现
最新发布
Logic_9527的博客
03-11 1480
静态集群中,蜻蜓分成小群捕猎,局部移动和突然飞行路径变化是其特征。动态集群则是大量蜻蜓在单一方向上长距离迁徙。这两种行为类似于元启发式优化中的探索和开发利用阶段,静态集群探索不同区域,而动态集群利用大群体沿着一个方向飞行。2016年,Mirjalili受到蜻蜓静态和动态集群行为启发,提出了蜻蜓算法(Dragonfly algorithm, DA)。
DAO】蜻蜓优化算法(Dragonfly Algorithm Optimization,DAO)理论分析与matlab性能仿真
平时工作较为繁忙,私信消息一般晚上回复,谢谢大家~~
09-29 137
蜻蜓优化算法Dragonfly Optimization Algorithm,DOA)是一种基于蜻蜓群体行为启发的优化算法。该算法通过模拟蜻蜓的群体搜索、捕食和繁殖行为,采用群体智能策略来寻找问题的最优解。下面详细介绍蜻蜓优化算法的原理、数学公式及实际应用。蜻蜓是一种具有独特行为的昆虫,它们在寻找食物和繁殖时,会形成复杂的群体搜索和捕食策略。蜻蜓优化算法借鉴了蜻蜓的这些行为特点,通过模拟蜻蜓的群体搜索、捕食和繁殖行为来设计搜索策略。
Matlab免费蜻蜓优化算法代码分享
蜻蜓优化算法Dragonfly Algorithm, DA)是模仿蜻蜓捕食行为和群体行为的一种新型优化算法。它由Seyedali Mirjalili于2015年提出,该算法通过模拟蜻蜓捕食、群聚、迁徙等行为,形成了一套有效的解决优化问题的策略...
写文章

热门文章

  • 【Python系列】eval 函数 29695
  • Pandas 中的 read_excel() 读取 excel 数据详细参数用法 27964
  • Kaggle 新手入门必看,手把手教学 22912
  • 【考研英语语法】限定词详细总结 21727
  • 安装了 Anaconda 却找不到 Anaconda prompt ? 20475

分类专栏

  • 实验室知识分享 付费 7篇
  • 前后端技术 2篇
  • Java面试指北 1篇
  • Maven 11篇
  • JAVA进阶补充 2篇
  • JAVA进阶片段
  • JAVA进阶之路 3篇
  • 研究生课程 21篇
  • 论文相关工具及介绍 7篇
  • 主动学习 4篇
  • 专利相关 2篇
  • 保研分享 6篇
  • 多目标进化优化 24篇
  • 机器学习指南
  • Pyhon 机器学习 2篇
  • 统计学习方法 3篇
  • 周志华机器学习 10篇
  • Git 相关 9篇
  • 符号回归 42篇
  • Word技巧 4篇
  • 系统英语 1篇
  • 英语口语 5篇
  • 英语词汇 1篇
  • 考研英语语法 184篇
  • 英语长难句技巧精讲 19篇
  • 新概念英语第二册 96篇
  • 新概念英语第三册 10篇
  • 编程语言
  • MATLAB 5篇
  • Python 29篇
  • C 语言 1篇
  • 数理知识 1篇
  • 算法程序设计 41篇
  • 智能优化算法 14篇
  • 深度学习 10篇
  • 算法工程师面经 1篇
  • 其他内容 11篇
  • 个人资料
  • 数学建模 5篇
  • 短视频 4篇

最新评论

  • 2022,Expert Systems With Applications,An improved competitive particle swarm optimization for MOP

    m0_73884579: 请问作者有这个算法的matlab代码吗?

  • 安装了 Anaconda 却找不到 Anaconda prompt ?

    zezhen216: 好用,感谢

  • JAVA 动态代理

    CSDN-Ada助手: 不知道 Java 技能树是否可以帮到你:https://edu.csdn.net/skill/java?utm_source=AI_act_java

  • 遗传编程(Genetic Programming, GP)

    若~明末: 你好,这个有参考书籍吗?麻烦您啦,想看一下书

  • 安装了 Anaconda 却找不到 Anaconda prompt ?

    放学后咋没堵我: 感谢感谢,非常有用

大家在看

  • AcWing 3188:Manacher 算法 → 最长回文子串 898
  • 基于ESP32的灌溉系统
  • 基于springboot的仓库管理系统源码+文档
  • 深度学习:LSTM循环神经网络实现评论情感分析
  • 我悟了!原来Java要这么学... 542

最新文章

  • JAVA 动态代理
  • Web 服务器介绍 | 通过 Tomcat 说明其作用
  • Intellij Idea + Git 完美实战!
2024
09月 2篇
08月 1篇
07月 4篇
06月 7篇
05月 24篇
04月 9篇
03月 34篇
02月 12篇
01月 32篇
2023年123篇
2022年350篇
2021年8篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳坪山网站建设公司陆川优化网站深圳电影网站优化公司网站标题优化属于搜索引擎化网站优化 流量吉水seo网站优化重庆诚信服务企业网站优化常州网站建设优化公司坂田门户网站优化沂南临沂网站优化网站优化网站汕头网站竞价优化外包seo兼职优化网站澜沧网站搜索优化方法网站优化快速推广国内网站优化系统加盟代理项目大庆网站seo优化方案优化网站页面表述恩施外包网站优化要多少钱宿松手机网站优化美容医疗网站优化策划网站加关键词优化大线程优化网站原理藁城区互联网网站优化商家外贸网站优化河南专业网站优化公司推荐鞍山网站优化排名哪家好网站建设优化文档网站优化怎么样西安百度网站优化排名价格河北网站快照优化费用香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

深圳坪山网站建设公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化