多目标优化算法:多目标青蒿素优化算法MOAOA求解WFG1-WFG9,含六种评价指标,提供完整MATLAB代码

一、青蒿素优化算法介绍

青蒿素优化算法(Artemisinin Optimization Algorithm, AOA)是2024年提出的一种受青蒿素抗疟疾特性启发的元启发式优化算法。青蒿素是一种从中草药青蒿中提取的化合物,因其在治疗疟疾方面的显著效果而闻名。AOA算法的设计者将青蒿素的这一特性抽象为优化策略,用于解决工程和科学中的优化问题。

1.算法原理

青蒿素优化算法的核心思想是模拟青蒿素在体内的分布和作用机制,通过模仿其在对抗疟疾时的搜索和攻击策略来寻找问题的最优解。算法中的每个解被视为一个“青蒿素分子”,而搜索空间则相当于疟疾病原体所在的环境。

2.算法描述:

  • 搜索代理(Search Agents):在AO算法中,每个搜索代理代表了一个潜在的解决方案,它们在解空间中搜索最优解。
  • 适应度评估(Fitness Evaluation):根据问题的具体目标,评估每个搜索代理的性能。
  • 全面消除策略(Comprehensive Elimination Strategy):通过模拟药物扩散,引导搜索代理进行全局探索,以快速识别解空间中的潜在区域。
    在这里插入图片描述

在这里插入图片描述

  • 局部清除策略(Local Clearance Strategy):在全面消除后,算法转向局部搜索,以精细化搜索过程并提高解的质量。
    在这里插入图片描述

  • 后期巩固策略(Post-Consolidation Strategy):为了应对可能的复发,通过特定的机制增强算法的多样性,避免过早收敛。
    在这里插入图片描述

  • 概率系数(Probabilistic Coefficient):引入概率系数来模拟患者对药物的不同反应,增加算法的适应性和灵活性。

  • 信息交叉(Information Crossover):在后期巩固阶段,通过信息交叉机制,增强搜索代理的探索能力,以逃离局部最优。

3.算法流程:

在这里插入图片描述

在这里插入图片描述

  1. 初始化阶段(Initialization Phase)

    • 随机初始化一组搜索代理(agents),这些代理构成了算法的解空间。
    • 评估每个代理的适应度(fitness),并找出当前最优解。
  2. 全面消除阶段(Comprehensive Elimination Phase)

    • 模拟青蒿素在治疗初期的高剂量给药,以快速减少疟原虫数量。
    • 更新搜索代理的位置,模拟药物在人体内的扩散,调整搜索步长。
  3. 局部清除阶段(Local Clearance Phase)

    • 模拟治疗中后期降低药物剂量,以清除剩余的疟原虫。
    • 通过更新策略,使算法在已知区域内进行精确解的搜索,增强局部开发能力。
  4. 后期巩固阶段(Post-Consolidation Phase)

    • 考虑到疾病复发的可能性,引入策略以增强算法逃离局部最优的能力。
    • 通过信息交叉(information crossover)等机制,防止算法陷入局部最优。
  5. 迭代更新(Iteration Update)

    • 在每次迭代中,根据上述三个阶段的策略更新搜索代理的位置。
    • 评估新的适应度值,并更新最优解。
  6. 终止条件(Termination Condition)

    • 当达到最大迭代次数或其他预设的终止条件时,算法停止。
    • 返回找到的最优解。

4.算法特点

  • 自适应性:AOA算法能够根据搜索进程动态调整搜索策略,以适应不同阶段的优化需求。
  • 鲁棒性:由于其模仿的青蒿素作用机制,AOA算法在面对复杂和多变的优化问题时表现出较好的鲁棒性。
  • 简单性:算法的实现相对简单,易于编码和调整,适用于各种优化问题。

5.参考文献

[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, 84.DOI:10.1016/j.displa.2024.102740.

二、多目标青蒿素优化算法MOAOA

由于青蒿素优化算法(AOA)仅能求解单目标优化问题,为了求解多目标优化问题,本文提出多目标青蒿素优化算法(Multi-objective Artemisinin Optimization Algorithm, MOAOA)。MOAOA是AOA的多目标变体,能够有效求解多目标优化问题,为了检验本文所提算法的性能,将其应用于基准函数WFG1-WFG9的求解,并采用六种性能评价指标(GD、IGD、HV、Spacing、Spread、Coverage)对所提算法的收敛性和多样性进行有效评估。
在这里插入图片描述
MOAOA首先对种群进行初始化,采取随机初始化方式。其次,算法对初始化的种群进行筛选并利用筛选的后代交配产生子代个体。接着,利用环境选择算子对子代进行筛选以便进行下一轮迭代。直到满足算法的终止条件,最后一次环境选择出来的所有个体即为最终的近似 Pareto 解集。环境选择算子的作用主要用于子代个体的选择,被选择的个体能够支配种群中的其他个体或者互相不支配,称其为精英个体。通过算法的迭代运算,每次均选出精英个体,反复如此即可求得问题的解。

2.1、六种性能评价指标介绍

  1. Generational Distance (GD)

    • GD指标衡量算法生成的非支配解集与真实Pareto前沿之间的平均距离。它通过计算真实Pareto前沿上每个点到最近非支配解的欧氏距离,然后取这些距离的平均值来实现。GD值越小,表示算法生成的解集越接近真实Pareto前沿,反映了算法的收敛性。
  2. Inverted Generational Distance (IGD)

    • IGD指标衡量算法生成的非支配解集与真实Pareto前沿之间的距离,但与GD不同的是,IGD是从真实Pareto前沿向算法生成的解集计算距离。它计算每个真实Pareto前沿上的点到最近非支配解的欧氏距离的平均值。IGD值越小,表示算法生成的解集越接近真实Pareto前沿。
  3. Hypervolume (HV)

    • HV指标衡量算法生成的非支配解集在目标空间中覆盖的体积。通常,这个体积是在目标函数的最小值和最大值之间定义的。HV值越大,表示算法生成的解集在目标函数空间中覆盖的范围越广,反映了算法的收敛性和多样性。
  4. Spacing

    • Spacing指标衡量算法生成的非支配解集中各个解之间的平均距离。它通过计算解集中每个解到其他解的最小距离的标准差来实现。Spacing值越小,表示解集内部的解越密集,多样性越高。
  5. Spread

    • Spread指标衡量算法生成的非支配解集在Pareto前沿上的分散程度。高的Spread值意味着解集在前沿上分布得更均匀,没有聚集在某个区域,反映了算法的多样性。
  6. Coverage

    • Coverage指标衡量一个算法生成的Pareto前沿覆盖另一个算法生成的Pareto前沿的比例。如果算法A的Coverage指标高于算法B,那么意味着算法A生成的Pareto前沿在某种程度上包含了算法B生成的Pareto前沿,反映了算法的广泛性。

2.2、部分MATLAB代码

%% 参数说明
%testProblem 测试问题序号
%Name 测试问题名称
%dim 测试问题维度
%numObj测试问题目标函数个数
%lb测试问题下界
%ub测试问题上界
%SearchAgents_no 种群大小
%Max_iter最大迭代次数
%Fbest 算法求得的POF
%Xbest 算法求得的POS
%TurePF 测试问题的真实pareto前沿
%Result 评价指标随迭代次数的变化值
testProblem=5;
[Name,dim,numObj,lb,ub]=GetProblemInfoZDT(testProblem);%获取测试问题的相关信息
SearchAgents_no=200;%种群大小 
Max_iter=200;%最大迭代次数
[Fbest,Xbest,TurePF,Result] = MOAHA(Max_iter,SearchAgents_no,Name,dim,numObj,lb,ub);%算法求解

2.3、部分结果

WFG4:
在这里插入图片描述
在这里插入图片描述

WFG5:
在这里插入图片描述
在这里插入图片描述

三、完整MATLAB代码

见下方名片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值