一、阿尔法进化算法
阿尔法进化(Alpha Evolution,AE)算法是2024年提出的一种新型进化算法,其核心在于通过自适应基向量和随机步长的设计来更新解,从而提高算法的性能。以下是AE算法的主要步骤和特点:
主要步骤
初始化:在搜索空间中随机生成一组候选解,并评估其质量。
Alpha算子:通过采样候选解构建进化矩阵,并通过矩阵的对角线或加权操作估计种群状态。为了增强每一代估计的相关性,设计了两个进化路径来积累估计结果并实现基向量的自适应。
自适应步长:通过复合差分操作构建自适应步长,用于估计问题的梯度,从而加速AE的收敛。
随机步长:通过衰减因子α自适应调整基于搜索空间生成的随机步长,以平衡探索与开发。
边界约束与选择策略:使用“减半距离”方法确保解在搜索空间内,并通过贪婪选择策略将成功进化的解加入下一代。
特点
新颖的Alpha算子:AE算法仅使用一个Alpha算子来更新解,该算子实现了基向量的自适应,并集成了多种进化信息的提取和利用技术。
无特殊超参数:AE算法没有特殊的超参数,代码实现紧凑,易于理解和应用。
非隐喻算法:AE算法不依赖于隐喻,其数学模型直接呈现,避免了隐喻带来的复杂性。
快速收敛与高质量解:AE算法在多序列比对和工程设计问题中表现出快速收敛和高质量解的能力,具有广泛的应用前景。
AE算法通过其独特的Alpha算子和自适应机制,成功解决了传统进化算法中的诸多问题,在多个基准测试和实际应用中表现出色,证明了其在优化算法领域的重要价值。
参考文献:
[1]Gao H, Zhang Q. Alpha evolution: An efficient evolutionary algorithm with evolution path adaptation and matrix generation. Engineering Applications of Artificial Intelligence, 2024, 137: 109202.
二、23个函数介绍
参考文献:
[1] Yao X, Liu Y, Lin G M. Evolutionary programming made faster[J]. IEEE transactions on evolutionary computation, 1999, 3(2):82-102.
三、部分代码及结果
SearchAgents_no = 100;
Max_iter = 1000;
fn=12;
Function_name=strcat('F',num2str(fn));
[lb,ub,dim,fobj]=Get_Functions_details(Function_name);
[Best_score,Best_pos,PO_cg_curve]=(SearchAgents_no,Max_iter,lb,ub,dim,fobj);
semilogy(PO_cg_curve,'LineWidth',2)
title(Function_name)
xlabel('迭代次数');
ylabel('适应度值');