篇首语:本文由编程笔记#自由互联小编为大家整理,主要介绍了基于蒲公英优化算法的函数寻优算法相关的知识,希望对你有一定的参考价值。
文章目录
- 一、理论基础
- 1、蒲公英优化算法
- 1初始化
- 2上升阶段
- 3下降阶段
- 4着陆阶段
- 2、DO算法的执行流程
- 二、仿真实验与结果分析
- 三、参考文献
1、蒲公英优化算法
文献[1]模拟蒲公英种子依靠风的长距离飞行过程提出了一种新的群体智能仿生优化算法称为蒲公英优化(Dandelion Optimizer, DO)算法用于解决连续优化问题。
1初始化
与其他自然启发元启发式算法相似DO在种群初始化的基础上进行种群进化和迭代优化。在提出的DO算法中假设每个蒲公英种子代表一个候选解其种群表示为 p o p u l a t i o n [ x 1 1 ⋯ x 1 D i m ⋮ ⋱ ⋮ x p o p 1 ⋯ x p o p D i m ] (1) population\\beginbmatrix x_1^1 ⎣
⎡x11⋮xpop1⋯⋱⋯x1Dim⋮xpopDim⎦
⎤(1)其中 p o p pop pop表示种群数量 D i m Dim Dim表示问题变量的维数。每个候选解在给定问题的上界( U B UB UB)和下界( L B LB LB)之间随机生成第 i i i个个体 X i X_i Xi的表达式为 X i r a n d × ( U B − L B ) L B (2) X_irand\\times(UB-LB)LB\\tag2 Xirand×(UB−LB)LB(2)其中 r a n d rand rand表示0和1之间的随机数 L B LB LB和 U B UB UB如下所示 L B [ l b 1 , ⋯ , l b D i m ] U B [ u b 1 , ⋯ , u b D i m ] (3) \\beginarraycLB[lb_1,\\cdots,lb_Dim]\\\\[2ex]UB[ub_1,\\cdots,ub_Dim]\\endarray\\tag3 LB[lb1,⋯,lbDim]UB[ub1,⋯,ubDim](3)在初始化过程中DO将适应度值最优的个体作为初始精英认为这是蒲公英种子最适合生长的位置。以最小值为例初始精英个体 X e l i t e X_elite Xelite的数学表达式为 f b e s t min ( f ( X i ) ) X e l i t e X ( f i n d ( f b e s t f ( X i ) ) ) (4) \\beginarraycf_best\\min(f(X_i))\\\\[2ex]X_eliteX(find(f_bestf(X_i)))\\endarray\\tag4 fbestmin(f(Xi))XeliteX(find(fbestf(Xi)))(4)其中 f i n d ( ) find() find()表示具有相等值的两个索引。
2上升阶段
在上升阶段蒲公英的种子需要达到一定的高度才能离开父母。在风速、空气湿度等影响下蒲公英种子会上升到不同高度。在这里天气分为以下两种情况 第一种情况在晴天风速可被视为具有对数正态分布 ln Y ∼ N ( μ , σ 2 ) \\ln Y\\sim N(\\mu,\\sigma^2) lnY∼N(μ,σ2)。在这种分布下随机数沿 Y Y Y轴分布更为均匀这增加了蒲公英种子传播到遥远地区的机会。因此DO在该情况下中强调探索。在搜索空间中蒲公英种子被风随机吹到各个位置。蒲公英种子的上升高度由风速决定。风越大蒲公英飞得越高种子撒得越远。受风速的影响蒲公英种子上方的漩涡不断被调整使其呈螺旋状上升。在这种情况下对应的数学表达式为 X t 1 X t α ∗ v x ∗ v y ∗ ln Y ∗ ( X s − X t ) (5) X_t1X_t\\alpha*v_x*v_y*\\ln Y*(X_s-X_t)\\tag5 Xt1Xtα∗vx∗vy∗lnY∗(Xs−Xt)(5)其中 X t X_t Xt表示第 t t t次迭代时蒲公英种子的位置 X s X_s Xs表示第 t t t次迭代时搜索空间中随机选择的位置式(6)给出了随机生成位置的表达式。 X s r a n d ( 1 , D i m ) ∗ ( U B − L B ) L B (6) X_srand(1,Dim)*(UB-LB)LB\\tag6 Xsrand(1,Dim)∗(UB−LB)LB(6) ln Y \\ln Y lnY表示服从 μ 0 \\mu0 μ0和 σ 2 1 \\sigma^21 σ21的对数正态分布其数学表达式为 ln Y 1 y 2 π exp [ − 1 2 σ 2 ( ln y ) 2 ] y ≥ 0 0 y < 0 (7) \\ln Y\\begindcases\\frac1y\\sqrt2\\pi\\exp\\left[-\\frac12\\sigma^2(\\ln y)^2\\right]\\quad y\\geq0\\\\[2ex]0\\quad\\quad\\quad\\quad\\quad\\quad\\quad\\quad\\quad\\quad\\quad\\,\\,\\, y<0\\enddcases\\tag7 lnY