青蒿素优化算法(AO)-2024年新算法-公式原理详解与性能测评 Matlab代码免费获取

       声明:文章是从本人公众号中复制而来,因此,想最新最快了解各类智能优化算法及其改进的朋友,可关注我的公众号:强盛机器学习,不定期会有很多免费代码分享~ 

目录

原理简介

一、初始化阶段

二、综合淘汰阶段

三、局部清除阶段

四、后巩固阶段

算法流程图和伪代码

性能测评

参考文献

完整代码


        青蒿素优化算法(AlgorithmArtemisinin optimization, AO)是一种新型的元启发式算法(智能优化算法),灵感来源于疟疾的青蒿素药物治疗过程。这个算法的灵感还是比较独特的,脱离了动物园的范畴~作者在经典的IEEE CEC 2014和最新的IEEE CEC 2022基准函数集上对AO进行了测试,并将AO应用于乳腺癌病理图像分割取得了不错的效果。该成果由Chong Yuan等人于2024年5月发表在SCI二区期刊Displays上!

        由于发表时间较短,谷歌学术上还没人引用!你先用,你就是创新!

原理简介

        灵感:在初始治疗阶段,采用高剂量的青蒿素药物来控制疟疾症状并迅速减少寄生虫数量。大量的药物通过血液迅速扩散,渗透到整个空间(人体),寻找最终的解决方案(寄生虫)。随后,治疗逐渐进入维持阶段。在此阶段,减少药物剂量,旨在坚持清除体内残留的疟疾寄生虫,直到达到最隐蔽的“解决方案”。最终目标是彻底根除和治愈疟疾。通过对整个过程的分析,并利用其复杂的细节,本研究提出了青蒿素优化(AO)。

一、初始化阶段

        患者通过口服或注射将青蒿素药物引入体内。受此启发,本文将药物微粒概念化为算法的搜索代理,这些搜索代理的整体集合构成算法的解集。最初,初始化整个种群,记为A。如式(1)所示,完整总体由N个搜索代理组成,其中D表示搜索代理内的多维组件。这种抽象反映了药物在人体内的分解和吸收,通过血液分散到全身的各个部位。

        式中,T和B表示解空间的边界,R表示一组随机数序列,其取值范围为[0,1]。AO采用元启发式算法中的常用方法,利用随机数序列生成初始解。

二、综合淘汰阶段

        在疟疾治疗的初始阶段,给病人更大剂量的药物,以迅速控制疾病的进展。青蒿素一旦被吸收,就会随着血液被输送到人体的各个部位而扩散到全身。药物在体内的分布受血流、血管通透性和药物与蛋白质的结合亲和力等因素的影响。此外,人体复杂的结构给青蒿素类药物带来了复杂的挑战。考虑到这些因素,本节引入一种独特的搜索模型来模拟药物扩散过程,如式(2)所示:

        在该策略中,搜索代理表现出大规模分散的特征,作为探索复杂解空间的向导。其中,a_(i,j)^(t+1)和a_(i,j)^t分别表示更新前后的搜索代理,best为当前最优。同时,青蒿素类药物在人体内的扩散遵循药代动力学原理。该策略考虑到药物浓度会随着时间的推移而降低这一事实。式(2)中,c表示药物在人体内浓度的衰减指数。青蒿素药物浓度的衰减可以用单室模型描述,如下所示:

        在式(3)中,变量C表示药物浓度,k表示速率常数。求解该微分方程得到式(4):C(t)表示t时刻的药物浓度。在该模型中,随着时间的推移,药物浓度C(t)呈指数衰减。因此,青蒿素药物浓度的指数c可由式(5)计算:

        在该策略中,假设初始药物浓度为1,药物衰减率为4,利用算法的评价过程来模拟模型中的时间进程。其中,f和Maxf表示算法的当前和最大迭代次数。考虑到患者病情严重程度的差异和生理因素的差异,导致不同的用药剂量和持续时间,患者在这一阶段可能花费不同的持续时间。为了概括这种内在的可变性,我们引入了一个概率系数K,如式(6)所示:

        式中,K作为概率系数,结合算法的评估进度,模拟客观场景,即患者在此阶段根据个体情况表现出不同的反应和持续时间。本节简要模拟了每个粒子的运动过程,如下图所示。最终,综合淘汰阶段策略可由式(7)表示:

        式中r_1是一个范围为[0,1]的随机数。在最初的治疗阶段之后,随着疾病得到控制,治疗过渡到维持阶段,以确保彻底治愈疟疾。

三、局部清除阶段

        维持阶段的目标是消除体内任何残留的疟疾寄生虫,防止其繁殖和疟疾症状的复发。虽然早期治疗通常会迅速缓解症状,但少量疟疾寄生虫可能在体内持续存在,特别是在严重感染的情况下。在这一阶段,患者继续接受低剂量青蒿素及其衍生物的治疗,以确保完全根除疟疾寄生虫,尽量减少在人体内发生不良反应的风险。受此启发,本文设计了一种局部清除阶段策略。在该策略中,粒子的运动过程如下图所示,通过Eq.(8)计算得出粒子的位置:

        式中,Fit_norm (i)表示归一化的适应度值,将适应度值转化为概率分布,作为个体间的相对权重。这就保证了适应度越高的个体对应的概率越大。这有助于在一定程度上保留优秀的个体,同时为表现较差的个体提供机会,调整算法对不同个体的关注。d表示系数,取[0.1,0.6]之间的随机值。这一策略模拟了少量青蒿素清除人体内潜在疟疾寄生虫的过程。维护阶段策略允许算法利用和交换本地信息。在MAs中,个体之间的信息交换发生在迭代过程中。如果一个算法的信息交换是彻底的,它的性能可能会得到显著的提高。

四、后巩固阶段

        对疾病的严重程度漠不关心和治疗期间的松懈是危险的有害因素。由于病情的改善,患者可能会逐渐降低对疟疾的警惕,减少用药频率和剂量,甚至停止治疗,这可能导致疾病复发。尽管已经过了攻击和维持阶段,即体内大多数疟疾寄生虫已被根除,但仍有一小部分寄生虫可能逐渐产生对青蒿素的耐药性。它们甚至可能进入一个休眠阶段,被称为“休眠形式”,这大大降低了它们的生物活性,使药物难以发挥有效的杀伤作用。如果停止治疗,疟疾寄生虫在通过休眠形式后,可能导致疾病复发。患者应严格遵守计划,以免有机会感染疟疾。

        本部分代表了后巩固阶段遇到意外情况的可能性,并模拟这一特定情况。在这种策略中,假设不活跃的寄生虫形式仍然存在于人体内。不幸的是,尽管这些休眠寄生虫持续存在,一些患者仍可能再次出现疟疾。该策略的模型用Eq.(11)表示:

        在这个方程中,best_(i,j)表示第j维当前最优解的子向量。式(11)表示由于进入休眠阶段而未被消灭的疟原虫。如上图所示,该策略增强了搜索代理逃避局部最优的能力。

算法流程图和伪代码

        用青蒿素治疗疟疾患者的整个过程是AO的灵感。本文通过对疟疾治疗过程的考察,结合元启发式算法原理,分析了不同阶段的疟疾治疗策略,从中得到启发,提出了不同的疟疾治疗策略。这些策略包括全面消除阶段策略,鼓励算法进行全局探索;局部清除阶段策略,促进局部利用,后巩固阶段策略,增强算法逃避局部最优的能力。

        总的来说,AO背后的灵感和算法的操作流程可以概括如下:

        (1)最初,从人体内疟疾寄生虫的寄生特性中获得灵感,将人体比喻为一个具有约束的“空间”。入侵的疟疾寄生虫被视为有待探索的“解决方案”,而青蒿素药物被视为算法中的搜索代理。

        (2)受在治疗初期以高剂量药物控制疾病过程的启发,引入了综合消除阶段策略。在此策略下,AO获得全局搜索能力,快速探索整个空间并发现最优解的潜在区域。

        (3)从治疗后期逐步控制病情和减少用药剂量的启示,提出局部清除期策略。该策略允许算法探索潜在的局部最优解。

        (4)最后,考虑到治疗过程中潜伏疟原虫唤醒可能导致症状复发,引入了后巩固阶段策略,增强了算法逃避局部最优的能力。

        为了使大家更好地理解,这边给出算法流程图和伪代码,非常清晰!

        如果实在看不懂,不用担心,可以看下源代码,再结合上文公式理解就一目了然了!

性能测评

        原文作者在经典的IEEE CEC 2014和最新的IEEE CEC 2022基准函数集上对AO进行了测试,对8种成熟算法和8种高性能改进算法进行了对比分析,最后将AO应用于乳腺癌病理图像分割中。使用6个阈值水平的15幅真实医学图像,比较了AO与8种不同算法的分割性能。实验结果表明,AO在图像分割精度、特征相似度指数(FSIM)、峰值信噪比(PSNR)和结构相似度指数(SSIM)等方面优于对比算法。

        这边为了方便大家对比与理解,采用23个标准测试函数,即CEC2005,并与2023年新出的霜冰优化算法RIME进行对比!这边展示其中5个测试函数的图,其余十几个测试函数大家可以自行切换尝试!

        可以看到,AO在大部分函数上都超过了2023年新出的RIME算法,表明该算法性能还是较为优越的,大家应用到各类预测、优化问题中是一个不错的选择~

参考文献

        [1]Yuan C, Zhao D, Heidari A A, et al. Artemisinin optimization based on malaria therapy: Algorithm and applications to medical image segmentation[J]. Displays, 2024: 102740.

完整代码

        如果需要免费获得图中的完整测试代码,只需后台回复关键字:

AO

        也可后台回复个人需求(比如AO-SVM)定制以下青蒿素算法优化模型(看到秒回):

        1.回归/时序/分类预测类:SVM、RVM、LSSVM、ELM、KELM、HKELM、DELM、RELM、DHKELM、RF、LSTM、BiLSTM、GRU、BiGRU、PNN、CNN、BP、XGBoost、TCN、BiTCN、ESN等等均可~

        2.组合预测类:CNN/TCN/BiTCN/DBN/Adaboost结合SVM/RVM/ELM/LSTM/BiLSTM/GRU/BiGRU/Attention机制类等均可(可任意搭配非常新颖)~

        3.分解类:EMD、EEMD、VMD、REMD、FEEMD、TVFEMD、CEEMDAN、ICEEMDAN、SVMD等分解模型均可~

        4.其他:机器人路径规划、无人机三维路径规划、DBSCAN聚类、VRPTW路径优化、微电网优化、无线传感器覆盖优化、故障诊断等等均可~

        5.原创改进优化算法(适合需要创新的同学):2024年的青蒿素优化算法AO以及麻雀SSA、蜣螂DBO等任意优化算法均可,保证测试函数效果!

        更多免费代码链接:更多代码链接

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

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

相关文章

2024创业热门选择:短视频带货,轻资产模式引领你飞翔

在当今这个信息爆炸的时代,短视频带货已经成为了一种全新的商业模式,为创业者提供了前所未有的机遇。特别是在2024年,短视频带货的潜力愈发显现,成为众多创业者的热门选择。本文将深入探讨 keJ0277 短视频带货的魅力所在&#xff…

element ui的确认提示框按钮样式修改

修改确认提示框的默认按钮样式,使用css强制修改 例: js代码: this.$confirm("您确定要删除吗?此操作无法撤销并且将永久删除所有数据。", "提示", { type: "warning", cancelButtonClass: "…

日本率先研发成功6G设备,刺痛了谁?为何日本能率先突破?

日本率先研发成功6G设备,无线数据速率是5G的百倍,这让日本方面兴奋莫名,毕竟日本在科技方面从1990年代以来太缺少突破的创新了,那么日本为何如今在6G技术上能率先突破呢? 日本在1980年代末期达到顶峰,它的科…

【算法】dfs

快乐的流畅:个人主页 个人专栏:《算法神殿》《数据结构世界》《进击的C》 远方有一堆篝火,在为久候之人燃烧! 文章目录 引言一、全排列1. 决策树2. 设计代码1. 全局变量2. dfs函数3. 细节问题 二、子集解法一1. 决策树2. 设计代码…

PCB的盘中孔

目录 一、什么时候可以在焊盘上打孔? 二、什么时候可以在焊盘上打孔? 绘制PCB时经常会遇到空间不够无法走线,这时我们会放置过孔使信号线穿过电路板一侧到达另一侧进行走线,这样既方便走线,也能够节省板子空间。有时…

Linux提权--第三方软件MYSQL数据库提权(WEB+本地)

免责声明:本文仅做技术交流与学习,非法搞事后果自负... 目录 靶场镜像: 过程: 手工: 下载mysql udf poc 进行编译. 进入数据库进行UDF导出 下载(上传) 创建do_system函数调用 探针(./LinEnum.sh),查找suid权限. 配合使用find调用执行 工具: 过程: 外连不上? 隧道出…

气膜建筑电源配置是怎样的—轻空间

在气膜建筑中,电源配置是确保建筑控制系统连续运行的重要组成部分。以下是该建筑的电源配置方案: 1. 市电供电与备用发电机: 为了应对市电中断等突发情况,系统采用市电供电与备用柴油发电机双重供电方式。这种配置保证了即使在市电…

UV胶的应用场景有哪些?

UV胶是一种特殊的胶水,其固化过程需要紫外光照射。它具有快速固化、高强度、无溶剂挥发等优点,因此在许多应用场景中被广泛使用。UV胶的应用场景非常广泛,包括但不限于以下几个方面: 1.电子产品组装: UV胶在电子产品的组装中扮演…

高校课程评价|基于SSM+vue的高校课程评价系统的设计与实现(源码+数据库+文档)

高校课程评价系统 目录 基于SSM+vue的高校课程评价系统的设计与实现 一、前言 二、系统设计 三、系统功能设计 1管理员功能模块 2学生功能 3教师功能 4专家功能 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&…

企业微信hook接口协议,ipad协议http,格式化发送@消息

格式化发送消息 参数名必选类型说明uuid是String每个实例的唯一标识,根据uuid操作具体企业微信send_userid是long要发送的人或群idisRoom是bool是否是群消息 请求示例 {"uuid":"1688853790599424","send_userid":1069605295501613…

实验0.0 Visual Studio 2022安装指南

Visual Studio 2022 是一个功能强大的开发工具,对于计算机专业的学生来说,它不仅可以帮助你完成学业项目,还能为你将来的职业生涯打下坚实的基础。通过学习和使用 Visual Studio,你将能够更高效地开发软件,并在编程领域…

Alibaba SpringCloud集成Nacos、openFeign实现负载均衡-15

Spring cloud alibaba Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。 主要功能 服务限流降级:默认支持 WebS…

Unity生命周期函数详解

Unity生命周期函数详解 Unity生命周期函数是Unity引擎中用于控制游戏对象行为的一系列方法。它们在游戏的不同阶段被自动调用,允许开发者在适当的时机执行特定的代码。了解和正确使用生命周期函数对于创建流畅和高效的游戏至关重要。 生命周期函数概述 Unity生命…

leetcode经典例题之使用栈实现队列

P. S.:以下代码均在VS2019环境下测试,不代表所有编译器均可通过。 P. S.:测试代码均未展示头文件stdio.h的声明,使用时请自行添加。 目录 1、题目展示2、题目分析3、完整代码演示4、结语 1、题目展示 前面我们了解过如何实现栈相…

搭建nacos集群

1.修改nacos/conf/application.properties 2.在数据库中执行nacos/conf/nacos-mysql.sql脚本 3.修改nacos/conf/cluster.conf文件 4.修改startup.sh文件模式为集群 5.启动服务 附:安装nginx 修改/usr/local/openresty/nginx/conf/nginx.confi文件 http{}中增加如下…

电机控制系列模块解析(20)—— MTPA

一、MTPA MTPA 是 "Maximum Torque Per Ampere" 的缩写,意为“最大转矩电流比”。在电机控制系统中,特别是永磁同步电机(PMSM)或其它永磁电机的控制策略中,MTPA 控制旨在实现电机在给定负载条件下&#xff…

uniapp 生成安卓证书没有md5指纹怎么办?

由于最新的jdk版本对应的keystore工具无法查看到md5指纹信息 但是不代表它没有md5指纹信息,只是看不到而已 解决方案: 登录uniapp开发者后台生成安卓云端证书

获取Linux上的Redis的用户名、密码、端口、host等信息

目录 进入redis-cli的目录 启动./redis-cli服务 查询密码 查询用户名 查询端口 查询host 参考文章:解决redis-cli连接时出现Could not connect to Redis at 127.0.0.1:6379: Connection refused-阿里云开发者社区 (aliyun.com) linux查看redis用户和密码_mo…

ChatGPT付费创作系统软件开发

uni-app框架:使用Vue.js开发跨平台应用的前端框架,编写一套代码,可编译到Android、小程序等平台。 框架支持:springboot/Ssm/thinkphp/django/flask/express均支持 前端开发:vue.js 可选语言:pythonjavanode.jsphp均支持 运行软件…

【Spring Boot】Spring Boot 中的 Starter

Spring Boot 中的 Starter 1.常用 Starter2.为什么要用 Starter3.Starter 有哪些要素 我们都知道,Spring 的功能非常强大,但也有些弊端。比如:我们需要手动去配置大量的参数,没有默认值,需要我们管理大量的 jar 包和它…