改进克里金模型辅助的双档案在线数据驱动进化算法
高娜
河北地质大学信息工程学院,河北石家庄
收稿日期:2022年8月19日;录用日期:2022年9月16日;发布日期:2022年9月26日
摘要
在现实世界中,许多进化优化问题难以找到合适的评估函数或评估代价十分昂贵,这在进化优化算法求解现实中的优化问题时提出诸多挑战。近年来,为了解决进化优化算法评估代价昂贵的问题,数据驱动的进化优化应运而生。数据驱动的进化优化的基本思想,就是通过充分利用数据的作用,训练代理模型辅助进化优化过程。一般是将代理模型用于近似真实昂贵函数评估,实现廉价的评估过程,提升算法性能。根据KTA2算法,本文提出了一种改进克里金模型辅助的双档案在线数据驱动进化算法KTA2_addModel4。在KTA2算法中,由训练的三种克里金模型作为代理模型:全部数据集训练的敏感模型、无较大影响点训练的不敏感模型1和无较小影响点训练的不敏感模型2。在改进的算法KTA2_addModel4中,增加了一种同时去掉较小影响点和较大影响点训练的不敏感模型3。通过在测试函数上与KTA2算法和其他代理辅助的数据驱动进化算法对比,证明提出的KTA2_addModel4算法改进了代理模型的质量,提升了算法的性能。
关键词
在线数据驱动,进化算法,克里金模型,双档案
ImprovedKrigingModel-AssistedTwo-ArchiveOnlineData-DrivenEvolutionaryAlgorithm
NaGao
CollegeofInformationEngineering,HebeiGEOUniversity,ShijiazhuangHebei
Received:Aug.19th,2022;accepted:Sep.16th,2022;published:Sep.26th,2022
ABSTRACT
Keywords:OnlineData-Driven,EvolutionaryAlgorithm,KrigingModel,Two-Archive
ThisworkislicensedundertheCreativeCommonsAttributionInternationalLicense(CCBY4.0).
1.引言
2.KTA2算法
KTA2算法[12]是根据数据驱动进化算法的一般框架,选择克里金模型[3]训练代理模型,并结合双档案算法设计的在线数据驱动进化算法。
2.1.代理模型的训练
Figure1.KTA2algorithmmodel
2.2.代理模型的使用
2.3.代理模型的更新
在KTA2算法中,代理模型的更新是根据收敛性、多样性指标完成采样的。通过判断此时是收敛性需要阶段、多样性需要阶段或不确定性需要阶段,分别采用收敛性采样策略选择收敛性好的解提升种群的质量,采用多样性采样策略选择多样性好的解使种群更均匀地分布在Pareto前沿面上,采用不确定性采样策略选择不确定性解提升代理模型的全局精确度,详见[12]。
Figure2.ModelusageofKTA2algorithm
3.改进的KTA2算法——KTA2_addModel4算法
本文基于Song[12]等人提出的KTA2算法,对代理模型的训练作出改进,针对每个目标,由原来的三种模型近似真实函数评估改进为四种模型近似真实函数评估,提出了改进的KTA2算法——KTA2_addModel4算法,KTA2算法与KTA2_addModel4算法都是求解评估代价昂贵的多目标优化问题的在线数据驱动进化算法。
3.1.改进的代理模型
在原来KTA2算法中,代理模型包括由全部数据训练得到的敏感模型、去掉部分较大目标值的数据集训练得到的不敏感模型1和去掉部分较小目标值的数据集训练得到的不敏感模型2。在本文中,所有去掉的个体都称为影响点。将除去的目标值较大的个体称为较大影响点,将除去的目标值较小的个体称为较小影响点。在KTA2算法中,之所以训练去掉这些影响点后的模型,是考虑到这些影响点对代理模型质量的影响。因为在KTA2算法中,代理模型的作用是近似真实昂贵函数评估,所以在使用代理模型预测适应度值时,通常会有一定的近似误差。而这些影响点的存在,可能会降低代理模型的质量,产生较大的近似误差。
在改进的KTA2算法——KTA2_addModel4算法中,对代理模型作出改进,增加了第四种模型——同时去掉部分较大目标值和部分较小目标值的数据集训练得到的不敏感模型3。即在KTA2_addModel4算法中,增加训练了一种同时考虑较大影响点和较小影响点的模型。考虑影响点对代理模型的影响,可能降低训练得到的代理模型的质量,从而可能产生较大的近似误差。与传统只使用一个代理模型的数据驱动的进化算法对比,使用多个代理模型的数据驱动的进化算法的好处在于:
1)由多个代理模型共同完成近似真实昂贵函数评估任务,可以综合各个代理模型的作用,提升预测准确率;
2)等同于将一个代理模型细分、精确化,可以兼顾不同候选解适应度值的预测准确率。
Figure3.FlowchartofKTA2_addModel4algorithm
设种群规模为N,种群中的个体有m个目标,对每个目标的所有目标值进行升序排序,则根据每个目标,得到种群的升序排列。设置控制影响点数量的参数τ,τ表示取种群中训练数据的比例。针对每个目标,训练敏感模型时,取N个训练数据作为训练集;训练不敏感模型1时,取前τ*N个训练数据作为训练集;训练不敏感模型2时,取后τ*N个训练数据作为训练集;训练不敏感模型3时,取中间(1(1τ)*2)*N即去掉前(1τ)*N和后(1τ)*N个训练数据作为训练集。
Figure4.AgentmodelofKTA2_addModel4algorithm
3.2.改进代理模型的使用
在KTA2算法中,通过某种决策机制,使用敏感模型、不敏感模型1、不敏感模型2得到候选解的适应度值。在KTA2_addModel4算法中,由于增加了不敏感模型3,因此代理模型的使用也要发生改变。但是,代理模型的使用原理,即决策机制未作出改变。KTA2_addModel4中代理模型的使用如下:
Figure5.UseofKTA2_addModel4algorithmagentmodel
3.3.改进代理模型的更新
4.实验结果及分析
为了验证改进的KTA2算法——KTA2_addModel4算法的性能,本节首先将KTA2_addModel4算法与KTA2算法在11个测试函数CDTLZ2、DTLZ1、IDTLZ1、IDTLZ2、SDTLZ1、SDTLZ2、WFG1、WFG3、WFG5、WFG7、WFG9上作对比,然后再将KTA2_addModel4算法与4个代理模型辅助的昂贵多目标进化算法ABSAEA算法、CSEA算法、KRVEA算法、MOEADEGO算法在这11个测试函数上作对比。本文所有测试函数及对比算法参数均设置为默认值,KTA2_addModel4算法参数设置与KTA2算法默认值一致。CDTLZ2、DTLZ1、IDTLZ1、IDTLZ2、SDTLZ1、SDTLZ2、WFG1、WFG3、WFG5、WFG7、WFG9均为3目标测试函数。种群规模均设置为100,最大函数评估次数maxFE均设置为300。
本文实验选取反转世代距离IGD[13](InvertedGenerationalDistance,IGD)作为评价指标,IGD由真实Pareto前沿[13]中的个体到实验所求得的Pareto解集的平均距离表示,反映算法求得的Pareto解集逼近真实Pareto前沿的情况。算法求得的Pareto解集越逼近真实Pareto前沿说明算法的性能越好,即IGD值越小算法的性能越好。
4.1.与KTA2算法对比
Table1.ComparisonbetweenKTA2_addModel4algorithmandKTA2algorithm
4.2.与其他算法对比
Table2.ComparisonbetweenKTA2_addModel4algorithmandotheralgorithms
5.总结与展望
数据驱动的进化优化算法是近年来研究者针对昂贵进化优化问题提出的一种有效的解决方法。本文对在线数据驱动的进化优化算法KTA2进行改进,通过研究提升代理模型的质量以提升算法的性能。本文对代理模型作出的改进在一些测试问题上取得较好的效果,但是在其他测试问题上的性能仍有待提升。由于增加了不敏感模型3,降低敏感点对模型质量影响的同时,也增加了模型预测的不准确性,关于如何进一步解决这一问题,使其在更多测试问题上取得优良效果,仍有待研究。