两种蚁狮群优化(Ant Lion Optimizer, ALO)实现及仿真实验——附代码

news2024/11/20 23:36:37

目录

蚁狮群优化算法介绍:

总结概括:

ALO算法设计:

1.觅食的蚂蚁随机行走

2.设置陷阱

3.设置陷阱诱捕蚂蚁

4.捕获猎物重建洞穴

多目标MOALO算法

两种蚁狮算法求解效果

(1) ALO

(2) MOALO

Matlab代码分享:


蚁狮群优化算法介绍:

蚁狮群优化算法主要模拟了蚁狮捕猎蚂蚁的狩猎机制进而实现最优值的获取。这种虫子之所以叫作蚁狮,是源于它们独特的狩猎行为和捕食对象。

本文实现了两种蚁狮群优化算法,分别为:

  1. 传统蚁狮群优化(ALO)
  2. 多目标蚁狮群优化(MOALO)

在自然界中,蚁狮于捕猎前会在土中利用其巨大的下颚挖出一个漏斗状的陷阱,并藏在陷阱底部等待蚂蚁的到来。挖好陷阱后,蚁狮就会苟在底部静静等待猎物的到来:

从图中可以看出圆锥状陷阱的边缘坡度非常大,蚂蚁很容易不慎落入陷阱的底部。当蚁狮意识到这是猎物时就会发起攻击,但是猎物会疯狂逃跑,此时蚁狮会向斜坡上喷吐沙子以使猎物再次滑落至底部。完成捕食后蚁狮会修整陷阱以等待下一个猎物的到来。

值得一提的是,蚁狮的行为还与陷阱大小、猎物大小、月亮形状三者的相关性有关。原文中提到,当蚁狮非常饥饿或当晚月亮是满月时,它就会把陷阱挖的更大。因此,作者在ALO中引入蚂蚁的随机游走实现全局搜索,利用蚁狮的陷阱对蚂蚁进行干扰,通过自适应机制对蚂蚁的位置进行修正,最后基于轮盘赌策略和精英策略来保证种群多样性及算法整体寻优性能。

总结概括:

蚁狮群优化(antlionoptimizeralgorithm,ALO)算法是由澳大利亚学者SeyedaliMirjalili在2015年提出的一种新型优化算法。ALO算法是受蚁狮捕捉蚂蚁的过程的启发:蚁狮事先在地下做好陷阱等待蚂蚁,蚂蚁被蚁狮捉到后,蚁狮会继续挖陷阱等待下一只蚂蚁。

ALO算法是通过仿照蚁狮捕捉蚂蚁的过程来解决未知空间搜索实际问题:蚂蚁通过随意行为对解进行搜索,通过学习优秀蚁狮以确保取得全局最优值。蚂蚁和蚁狮的位置表示优化问题的解,蚁狮通过不断捕食蚂蚁寻找问题的最优解。因其良好的自适应边界收缩机制和精英主义优势,所以具有收敛速度快、全局搜索能力良好、需要调节的参数少的特点,与遗传算法和粒子群算法相比,ALO算法具有更好的优化效果。

ALO算法设计:

1.觅食的蚂蚁随机行走

2.设置陷阱

为了模拟蚁狮的捕猎能力,采用了轮盘赌的方法。如图所示,假设蚂蚁只被困在一只选定的蚁狮中。蚁群算法在优化过程中需要利用轮盘赌轮操作器根据蚁群的适应度选择蚁群。这一机制为更适合的蚁狮捕食蚂蚁提供了更高的机会。

3.设置陷阱诱捕蚂蚁

蚁狮能够根据自身的适应性建造陷阱,而蚂蚁则需要随机移动。然而,当蚁狮发现陷阱里有一只蚂蚁时,它们会向坑中央喷射沙子。这种行为会从试图逃跑的被困蚂蚁身上滑下来。为了对这种行为进行数学建模,蚂蚁的随机行走超球半径自适应地减小。在这方面提出了以下公式:

4.捕获猎物重建洞穴

最后阶段是当一只蚂蚁到达坑底,被蚁狮的下巴夹住时。在这一阶段之后,蚁狮把蚂蚁拉到沙子里吃掉。为了模仿这一过程,假设当蚂蚁变得比相应的蚁狮更适合捕食时(进入沙地).然后,蚁狮需要更新自己的位置到被捕食蚂蚁的最新位置,以增加捕捉新猎物的机会。为此,提出如下公式:

多目标MOALO算法

多目标蚁狮算法(Multi-objectiveantlionoptimizer,MOALO)是用基本蚁狮算法求解多目标问题。在单目标优化问题中,只需选择适应度函数最优的个体。而在多目标优化中,需要计算多个适应度函数的值,并通过Pareto支配关系选择最优解,放入外部存档中。用MOALO求解多目标优化模型的伪代码如下:

初始化种群(蚂蚁和蚁狮)

根据式(1)和式(2)计算个体适应度值根据支配关系,选择当前非支配解作为精英蚁狮

while不满足终止条件

for每只蚂蚁个体

从外部存档中随机选择一个蚁狮

从外部存档中用轮盘赌法选择精英

根据式(12)计算c和d

根据式(9)确定蚂蚁个体的随机位置,并根据式(10)对其进行正则化处理

根据式(14)更新蚂蚁的位置

Endfor

计算每个蚂蚁的适应度函数值

更新外部存档

If外部存档饱和

根据式(16)用轮盘赌法删除最密集的解,并更新存档

End

Endwhile

精英蚁狮的位置和对应适应度值,作为最优解(集)

两种蚁狮算法求解效果

(1) ALO

(2) MOALO

Matlab代码分享:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/562210.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CleanMyMac X4.13.5中文版Mac电脑优化软件

CleanMyMac X4.13.5是一款Mac电脑优化软件,旨在提高Mac电脑的性能、稳定性和安全性。它可扫描您的Mac电脑,并删除不需要的文件、清理缓存、卸载不必要的应用程序、优化启动项、检测并删除恶意软件等。此外,它还可以帮助您管理您的文件&#x…

Python库 pdf2docx 轻松将PDF转换成docx

前言: 可将 PDF 转换成 docx 文件的 Python 库。该项目通过 PyMuPDF 库提取 PDF 文件中的数据,然后采用 python-docx 库解析内容的布局、段落、图片、表格等,最后自动生成 docx 文件。 pdf2docx功能 解析和创建页面布局 页边距章节和分栏 (目…

腾讯云-服务违规封禁提醒解决

腾讯云-服务违规封禁提醒解决 背景解决方案Step1: 查看目标主机上有哪些TCP链接在使用22端口以及该进程的详细信息Step2:删除异常进程,及其可执行文件Step3:处理已经挂起的链接Step4:查看是否存在相关的定时任务Step5:…

vue - 大文件分片上传之simple-uploader.js的使用

vue - 大文件分片上传之simple-uploader.js的使用 分片上传的思路前端文件切片常见的写法后端常见的写法 关于大文件上传 关于单个文件上传:其实就是前端中的文件通过http传到后端,后端再写入服务器的过程 那单个大文件分片上传:其实就是前…

SpringBoot中操作Redis解析JsonArray数据为对象List(ruoyi字典值sys_dict为例)

场景 若依前后端分离版手把手教你本地搭建环境并运行项目: 若依前后端分离版手把手教你本地搭建环境并运行项目_前后端分离的项目怎么跑起来_霸道流氓气质的博客-CSDN博客 在上面搭建系统的基础上,会将系统的字典值缓存进redis中。 看数据格式存储的是…

大数据数据湖技术Hudi0.12.0版本源码编译

0 介绍 Apache Hudi(Hadoop Upserts Delete and Incremental)是下一代流数据湖平台。Apache Hudi将核心仓库和数据库功能直接引入数据湖。Hudi提供了表、事务、高效的upserts/delete、高级索引、流摄取服务、数据集群/压缩优化和并发,同时保…

WorkPlus AI助理 | 将企业业务场景与ChatGPT结合

近年来,人工智能成为了企业数字化转型的热门话题,作为被训练的语言模型,ChatGPT具备模拟对话、回答问题、写代码、写小说、进行线上内容创作的能力,还能根据聊天的上下文进行互动。作为一款新兴的人工智能应用程序,对于…

jdk14至16——record关键字

record类型是从14开始预览到16成为正式版的,record类型是一种受限制的类,一般用来封装不可变对象,record类型会自动生成一个全部属性的构造方法,以及属性的get方法,但没有set方法,会自动生成hashCode()、eq…

JS中深拷贝浅拷贝的区别

深浅拷贝在MDN官方中的表述是这样的: 对象的深拷贝是指其属性与其拷贝的源对象的属性不共享相同的引用(指向相同的底层值)的副本。因此,当你更改源或副本时,可以确保不会导致其他对象也发生更改;也就是说&a…

vue下拉框vue字典映射转换失败 字符转数字parseInt :value vue下拉框无法选择 选什么都是最后一个 el-select默认选中 el-select设为只读 input输入框设为只读

现象&#xff1a; 解决后&#xff1a; 关键点&#xff1a; 1、value"0" 与 :value"0" 不同&#xff0c;加冒号:试试 2、:value"parseInt(dict.dictValue)" 字符串转int试试 parseInt() 写死下拉框 <el-form-item label"类型" pro…

COBOL 程序结构

COBOL 程序结构 COBOL程序结构由部&#xff08;division&#xff09;组成&#xff0c;如下图所示&#xff1a; 这些部简介如下&#xff1a; **Sections&#xff08;节&#xff09;**是程序逻辑的逻辑细分。节是段落的集合。**Paragraphs&#xff08;段&#xff09;**是一个节…

路面积水监测-路面积水监测系统

在城市化进程不断加快的背景下&#xff0c;城市道路面临着日益严重的积水问题。持续的降雨和不良的排水系统导致路面积水&#xff0c;给交通运输和城市生活带来了诸多不便和安全隐患。路面积水监测系统旨在易涝点布设内涝积水监测仪&#xff0c;实时了解路面积水情况&#xff0…

矿井水除氟,污水除氟的工艺分析

高矿化度的废水是指含有高浓度溶解性矿物质的废水&#xff0c;通常指的是含有高浓度钠、钙、镁、铁、铝、钾等离子的废水。这些离子通常来自于废水所处的环境、工业或生产过程中使用的原材料和化学品。高矿化度的废水通常具有高盐度、高电导率、高硬度等特征&#xff0c;对环境…

【Nginx】缓存集成

文章目录 缓存的概念Nginx的web缓存服务Nginx缓存设置的相关指令Nginx缓存设置案例Nginx缓存的清除方式一:删除对应的缓存目录方式二:使用第三方扩展模块 Nginx设置资源不缓存 缓存的概念 缓存就是数据交换的缓冲区(称作:Cache),当用户要获取数据的时候&#xff0c;会先从缓存…

DOUBLETROUBLE 1

文章目录 DOUBLETROUBLE: 1实战演练一、前期准备1、相关信息 二、信息收集1、nmap探测目标靶机端口2、扫描目标网址目录3、访问网站&#xff0c;发现secret下有个图片4、将图片下载5、查看图片所含内容6、破解密码并查看7、登陆邮箱8、创建反弹shell9、上传反弹shell10、监听11…

【云计算架构】通过新的优化视角查看云架构

仅仅让云部署工作不再是目标。关注构建和部署最佳解决方案的新指标和方法。 随着云计算架构的成熟&#xff0c;我们定义成功的方式也应该成熟。在2021&#xff0c;我指出&#xff0c;优化云计算更多的是二进制过程&#xff0c;而不是模拟过程。 我当时所说的仍然是正确的&#…

【医学图像】图像分割系列.1

医学图像分割是一个比较有应用意义的方向&#xff0c;本文简单介绍三篇关于医学图像分割的论文&#xff1a; UNeXt&#xff08;MICCAI2022&#xff09;&#xff0c;PHTrans&#xff08;MICCAI2022&#xff09;&#xff0c;DA-Net&#xff08;MICCAI2022&#xff09;。 目录 …

目标追踪---deepsort原理讲解

目录 一、多目标追踪的主要步骤 二、sort流程 三、Deepsort算法流程 一、多目标追踪的主要步骤 获取原始视频帧利用目标检测器对视频帧中的目标进行检测将检测到的目标的框中的特征提取出来&#xff0c;该特征包括表观特征&#xff08;方便特征对比避免ID switch&#xff0…

SQL语句练习附带答案

首先创建数据库filmclub DROP DATABASE IF EXISTS filmclub;CREATE DATABASE filmclub;USE filmclub;CREATE TABLE category (cid INT PRIMARY KEY AUTO_INCREMENT,cname VARCHAR(20) )CHARSETutf8; CREATE TABLE film (fid INT PRIMARY KEY AUTO_INCREMENT,fname VARCHAR(20)…

ChatGPT和 dalle2 配合生成故事绘本

和 dalle2 配合生成故事绘本 在之前章节中&#xff0c;我们已经尝试过让 ChatGPT 来生成一些故事情节&#xff0c;不管是影视剧还是小说还是游戏都可以。这时候&#xff0c;自然而然的可以联想到&#xff1a;那我们可不可以一步到位&#xff0c;把 ChatGPT 编出来的故事情节&a…