购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.1 基本原理

蜉蝣优化算法(mayfly optimization algorithm,MOA)是由Konstantinos Zervoudakis等于2020年提出的一种新型群体智能优化算法,其灵感源于蜉蝣的社会行为,特别是它们的交配过程。

如图1.1所示为蜉蝣。蜉蝣是一种体量很小的昆虫,生长于水泽地带。幼虫期稍长,个别种类有存活两三年的。成虫有两对翅,常在水面飞行,在空中飞舞交配,完成其物种的繁衍后便死亡。成虫寿命很短,只有几小时至一星期左右。

图1.1 蜉蝣

MOA包含雌性蜉蝣群体和雄性蜉蝣群体,在蜉蝣交配行为中,雄性蜉蝣的最优个体和雌性蜉蝣的最优个体进行交配,得到一个最优子代;同理,雄性蜉蝣次优个体和雌性蜉蝣次优个体进行交配得到次优子代,依此类推。这一过程符合优胜劣汰规律,逐步淘汰适应度较差的个体。

假设每个蜉蝣在 d 维搜索空间中的位置为 x =( x 1 , x 2 ,…, x d ),并根据预先确定的目标函数或适应度函数对其进行搜索性能评价。同样,假设每个蜉蝣在 d 维的搜索空间中的速度为 v =( v 1 , v 2 ,…, v d ),每个蜉蝣的飞行方向是个体和社会飞行经验的动态交互,蜉蝣都会朝向目前为止个体历史最优位置( pbest ),以及当前蜉蝣群体的全局历史最优位置( gbest )调整自己的轨迹。

1.1.1 雄性蜉蝣的运动

当雄性蜉蝣投放在一个固定的区域内时容易发生聚集行为,向着群体中心位置靠近。蜉蝣个体的位置是按照自身经验或邻近个体的行为进行调节的。

假设 是在第 t 次迭代时雄性蜉蝣 i 在搜索空间中的当前位置,雄性蜉蝣 i 的位置更新是第 t +1次的迭代速度 加上第 t 次迭代的位置之和,其位置表达式如下:

雄性蜉蝣向中心不断地聚集和移动,并在水面上的一定距离内表演舞蹈,其速度更新如下:

式中, 为雄性蜉蝣 i j 维度第 t 次迭代的速度; 为雄性蜉蝣 i j 维度第 t 次迭代的位置; a 1 a 2 为雄性蜉蝣移动行为的吸引系数; pbest ij 为迄今为止雄性蜉蝣 i 的个体历史最优位置; gbest j 为迄今为止雄性蜉蝣群体的全局历史最优位置; 为雄性蜉蝣的能见度系数,用于控制雄性蜉蝣的能见范围; 为当前位置与 pbest ij 的距离; 为当前位置与 gbest j 的距离。其距离的计算公式如下:

式中, X i pbest 或者 gbest 的位置; X ij pbest 或者 gbest j 维度的位置; x i 为雄性蜉蝣个体 i x ij 为雄性蜉蝣个体 i j 维度的位置; n 为雄性蜉蝣的维度上限。

为了得到最优雄性蜉蝣个体的位置,雄性蜉蝣须不断更新速度,其速度更新如下:

式中, d 为舞蹈系数,用于不断吸引异性; r 为[−1,1]之间的随机数。

1.1.2 雌性蜉蝣的运动

雌性蜉蝣不会像雄性蜉蝣一样成群结队地聚集,但当雌性蜉蝣被雄性蜉蝣吸引时,雌性蜉蝣会向雄性蜉蝣飞行靠近并交配繁殖,否则雌性蜉蝣会随机飞行。假设 为在第 t 次迭代时雌性蜉蝣 i 在搜索空间中的当前位置,雌性蜉蝣 i 的位置更新是第 t +1次的迭代速度 加上第 t 次迭代的位置之和,其位置更新如下:

雌性蜉蝣被雄性蜉蝣吸引的过程是随机的,但是在MOA中将这一吸引过程简化为一个确定性过程,即根据蜉蝣的适应度规定,最优的雌性蜉蝣应该被最优的雄性蜉蝣吸引,次优的雌性蜉蝣应该被次优的雄性蜉蝣吸引,以此类推。因此,雌性蜉蝣的速度更新如下:

式中, 为雌性蜉蝣 i j 维度第 t 次迭代的速度; 为雌性蜉蝣 i j 维度第 t 次迭代的位置; a 2 为雌雄蜉蝣吸引系数; 为一个固定的能见度系数; r mf 代表雌性蜉蝣 i 距离雄性蜉蝣 i 的距离; fl 是一个随机游走系数,只有雌性蜉蝣没有被雄性蜉蝣吸引时起作用; r 为[−1,1]之间的随机数; f (·)为适应度函数。

1.1.3 雌雄蜉蝣的交配过程

雌雄个体交配是生物自身的特点,蜉蝣亦是如此。蜉蝣的交配过程可用交叉算子表示,其交配过程为,从雄性蜉蝣群体中选择一个父本,从雌性蜉蝣群体中选择一个母本,选择父本的方式与雌雄蜉蝣吸引的方式一致。雌雄蜉蝣按照适应度的大小选择交配个体并进行交配,雄性蜉蝣的最优个体与雌性蜉蝣的最优个体进行交配,雄性蜉蝣的次优个体与雌性蜉蝣的次优个体进行交配,交配后得到最优和次优的两个子代,其子代如下:

式中, male 为父本; female 为母本; L 为[−1,1]之间的随机数。

1.1.4 蜉蝣优化算法流程

蜉蝣优化算法的流程图如图1.2所示,具体步骤如下。

步骤1:设定参数,初始化雌性蜉蝣和雄性蜉蝣种群位置以及速度。

步骤2:计算适应度并排序,获取个体历史最优位置 pbest 和全局历史最优位置 gbest

步骤3:更新雄性蜉蝣和雌性蜉蝣速度及位置。

步骤4:计算适应度。

步骤5:根据适应度对雄性蜉蝣和雌性蜉蝣进行排序。

步骤6:雌雄性蜉蝣交配产生子代蜉蝣。

步骤7:计算子代蜉蝣适应度。

步骤8:随机将子代分配给雄性和雌性。

步骤9:用较优的子代替换较差的雄性和雌性。

步骤10:计算适应度,更新个体历史最优位置 pbest 和全局历史最优位置 gbest

步骤11:判断是否满足停止条件,如果满足则输出全局最优解和适应度,否则重复步骤3~步骤11。

图1.2 蜉蝣算法流程图 JBVVhVZWCxVPJdkn8jAQgUn/REnX3MbtoA3hHKqpyOkaZU4ZTHotf8yldex0BCsJ

点击中间区域
呼出菜单
上一章
目录
下一章
×