6.3.1 蚁狮优化算法

更新于 2026年10月10日 版权声明
6.3.1 蚁狮优化算法

1.蚁狮优化算法描述

蚁狮优化(Ant Lion Optimizer,ALO)算法简称蚁狮算法,模拟了蚁狮和陷阱中的蚂蚁之间的交互,为了模拟这种交互作用,蚂蚁需要在搜索空间中移动,而蚁狮则可以捕猎它们。由于蚂蚁在自然界中寻找食物时是随机移动的,因此选择一个随机行走来模拟蚂蚁的运动:

图示

式中:cumsum计算了累积和;n为最大迭代次数;t表示随机游走的步数(即迭代),r(t)的定义为

图示

式中,rand为[0,1]内服从均匀分布的随机数。

蚂蚁在每一步的优化中都通过随机游走来更新它们的位置。但是,由于每个搜索空间都有一个边界(变量范围),式(6-19)不能直接用于蚂蚁位置的更新。为了使随机游走保持在搜索空间内,使用式(6-19)对其进行归一化:

图示

式中,ai为第i个变量随机游走的最小值,bi是第i个变量随机游走的最大值,图示是第t次迭代中第i个变量的最小值,图示是第t次迭代中第i个变量的最大值。每次迭代都需要式(6-21),以保证搜索空间内出现随机游走。

蚂蚁的随机游走会受到蚁狮陷阱的影响,如式(6-22)、式(6-23)所示:

图示

式中,ct为第t次迭代中所有变量的最小值,d t为第t次迭代中所有变量的最小值,Antlio图示为被选定的第j只蚁狮在第t次迭代中的位置。

通过轮盘赌策略选择某只蚂蚁具体被哪只蚁狮捕食,每只蚂蚁只能被一只蚁狮捕食,而适应度越高的蚁狮捕获蚂蚁的概率越大。通过式(6-24)、式(6-25)模拟这种现象:(https://www.daowen.com)

图示

式中,I为比率。

当蚂蚁的适应度值比蚁狮小时,则认为蚁狮将其捕获,此时蚁狮会根据蚂蚁的位置来更新位置,如式(6-26)所示:

图示

式中,Ant图示为第i只蚂蚁在第t次迭代的位置,f为适应度函数。

每次迭代后,选择适应度最好的蚁狮作为精英蚁狮。第t只蚂蚁在第t+1次迭代的位置由式(6-27)确定。

图示

式中,图示(l)为蚂蚁在一只由轮盘赌在第t次迭代选择到的蚁狮周围随机游走第l步产生的值,图示(l)为蚂蚁在第t代的精英蚁狮周围随机游走第l步产生的值,l为蚂蚁随机游走步数内的任何值。

2.基于ALO算法的测试用例约简算法描述

本书提出的基于ALO算法的测试用例集约简算法如下所示。

图示

在上述算法中,第1~4行为输入;第5、6行为蚁狮算法的基本参数和蚁狮及蚂蚁的初始化位置;第7行为计算蚁狮种群中每一只蚁狮所对应的适应度;第8行为根据适应度对蚁狮种群进行排序;第9行为获取到精英蚁狮及其对应的适应度;第10~20行为对蚁狮种群和蚂蚁种群进行遍历,分别更新蚂蚁种群和蚁狮种群,并进行不断迭代,直到达到最大迭代次数;第21行为对算法后结果进行处理和可视化。

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)