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

本文主要是介绍青蒿素优化算法(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等任意优化算法均可,保证测试函数效果!

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

这篇关于青蒿素优化算法(AO)-2024年新算法-公式原理详解与性能测评 Matlab代码免费获取的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/985498

相关文章

Vue3 的 shallowRef 和 shallowReactive:优化性能

大家对 Vue3 的 ref 和 reactive 都很熟悉,那么对 shallowRef 和 shallowReactive 是否了解呢? 在编程和数据结构中,“shallow”(浅层)通常指对数据结构的最外层进行操作,而不递归地处理其内部或嵌套的数据。这种处理方式关注的是数据结构的第一层属性或元素,而忽略更深层次的嵌套内容。 1. 浅层与深层的对比 1.1 浅层(Shallow) 定义

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

HDFS—存储优化(纠删码)

纠删码原理 HDFS 默认情况下,一个文件有3个副本,这样提高了数据的可靠性,但也带来了2倍的冗余开销。 Hadoop3.x 引入了纠删码,采用计算的方式,可以节省约50%左右的存储空间。 此种方式节约了空间,但是会增加 cpu 的计算。 纠删码策略是给具体一个路径设置。所有往此路径下存储的文件,都会执行此策略。 默认只开启对 RS-6-3-1024k

康拓展开(hash算法中会用到)

康拓展开是一个全排列到一个自然数的双射(也就是某个全排列与某个自然数一一对应) 公式: X=a[n]*(n-1)!+a[n-1]*(n-2)!+...+a[i]*(i-1)!+...+a[1]*0! 其中,a[i]为整数,并且0<=a[i]<i,1<=i<=n。(a[i]在不同应用中的含义不同); 典型应用: 计算当前排列在所有由小到大全排列中的顺序,也就是说求当前排列是第

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

使用opencv优化图片(画面变清晰)

文章目录 需求影响照片清晰度的因素 实现降噪测试代码 锐化空间锐化Unsharp Masking频率域锐化对比测试 对比度增强常用算法对比测试 需求 对图像进行优化,使其看起来更清晰,同时保持尺寸不变,通常涉及到图像处理技术如锐化、降噪、对比度增强等 影响照片清晰度的因素 影响照片清晰度的因素有很多,主要可以从以下几个方面来分析 1. 拍摄设备 相机传感器:相机传

csu 1446 Problem J Modified LCS (扩展欧几里得算法的简单应用)

这是一道扩展欧几里得算法的简单应用题,这题是在湖南多校训练赛中队友ac的一道题,在比赛之后请教了队友,然后自己把它a掉 这也是自己独自做扩展欧几里得算法的题目 题意:把题意转变下就变成了:求d1*x - d2*y = f2 - f1的解,很明显用exgcd来解 下面介绍一下exgcd的一些知识点:求ax + by = c的解 一、首先求ax + by = gcd(a,b)的解 这个