优化算法笔记(二十二)蚁狮算法

您所在的位置:网站首页 我想看蚁狮 优化算法笔记(二十二)蚁狮算法

优化算法笔记(二十二)蚁狮算法

2024-06-17 12:55| 来源: 网络整理| 查看: 265

1. 蚁狮算法简介

(以下描述,均不是学术用语,仅供大家快乐的阅读)   蚁狮是一种昆虫,城里长大的我没有见过这玩意儿,请教了农村长大小的伙伴,依然没见过,这玩意儿可能在我们生活的地方分布较少。

(图片及介绍来自百度百科)   蚁狮算法(Ant Lion Optimization)是根据蚁狮挖制漏斗状陷阱进行捕食蚂蚁的过程提出的优化算法。算法提出于2015年(2014年末),也是一个比较新的算法,不过好像相关的论文也比较多了。算法的过程和操作步骤比较简单,算法的效果却出乎意料的好,不过算法的实现与蚁狮的行为不是很匹配,但这也不会影响我们的理解。   蚁狮算法中,每个蚁狮以及蚂蚁的位置表示解空间中的一个可行解。蚂蚁在选择一个蚁狮,在其陷阱范围内进行随机游走(random walk)。蚁狮会吃掉陷阱范围内位置最优的个体(取代其位置)。   可以看出算法的主要步骤很简单,不过其具体实现与捕食过程还是有些许不同,当然蚂蚁也不可能会自愿的围绕蚁狮的陷阱为中心进行随机游走。具体的算法将在下一节中详细描述。

2. 算法流程

蚁狮算法中有两种角色,蚁狮和蚂蚁,其数量均为N, 其位置为X=(x^1,x^2,...,x^D) ,其适应度值为F(x) 。为了方便描述,下面使用X_AL表示蚁狮的位置,X_A表示蚂蚁的位置。 初始化时,会在解空间内随机初始化N个蚁狮以及N个蚂蚁,下面是其迭代步骤。 整个算法的流程大致可以分为四步:   1. 蚂蚁选择目标蚁狮陷阱。(自投罗网,说吧,你是选择清蒸还是红烧)   2. 计算陷阱的放缩比例。   3. 蚂蚁随机游走。   4. 蚁狮移动到指定蚂蚁的位置。

2.1蚂蚁选择目标蚁狮

每一只蚂蚁都要选择一个目标蚁狮来进行后续的随机游走,选择过程可以随机选择也可以使用轮盘赌的方式进行选择,具体的实现比较简单,不在赘述。(轮盘赌参见遗传算法)。

2.2计算陷阱的比例

该步骤计算陷阱(相对搜索空间)的大小,用于下一步中确定蚂蚁随机游走后的位置。 论文中,陷阱的大小与个体无关,只与当前迭代次数有关,其计算公式如下:

  其中t为当前迭代次数,T为最大迭代次数。可以看出这是一个分段函数,我们看看它的图像。

   从图像可以看出,在迭代的末期,比例会变得很大,但是该值是用作分母,所以随着迭代次数增加,陷阱范围越来越小。

2.3蚂蚁随机游走

蚂蚁的随机游走是蚁狮算法的核心,在介绍之前先看看random walk的定义及图像。

2.3.1随机游走

定义函数rw如下:

  其中r为0-1内的均匀随机数。   随机游走函数RW定义如下:

  即t个rw随机数之和。明显可知-t



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3