中科院一区优化算法:指数三角优化算法(Exponential-Trigonometric Optimization, ETO)

指数三角优化算法(Exponential-Trigonometric Optimization, ETO)是发表在中科院一区期刊“Computer Methods in Applied Mechanics and Engineering”的2024年智能优化算法

01.引言

指数三角优化算法(Exponential-Trigonometric Optimization,ETO) 算法是一种基于指数函数与三角函数融合的新型元启发式优化算法,专为复杂工程优化问题设计。该算法通过创新的数学机制平衡探索与开发阶段,引入约束搜索策略和动态转换机制,有效解决了传统算法易陷入局部最优、收敛速度慢等问题。ETO在CEC标准测试函数和压力容器设计、翼型优化等实际工程问题中展现出卓越性能,其核心创新点在于将指数衰减特性与三角函数周期性相结合,构建动态权重系数来指导搜索过程。

02.优化算法原理及流程

算法原理

1.算法核心思想

ETO通过以下机制实现高效优化:

(1)指数-三角混合机制:利用指数函数的衰减特性和三角函数的周期性振荡,构建动态权重系数α₁、α₂、α₃,控制搜索步长。

(2)阶段转换机制:通过阈值T和转换系数CM动态切换探索与开发阶段,前期侧重全局搜索,后期增强局部挖掘。

(3)约束搜索策略:动态调整搜索空间边界,逐步缩小范围以提高收敛精度。

2.数学基础

  • 权重系数计算:

alpha_1 = rand()*3*(t/Max_Iter-0.85)*exp(abs(d1/d2)-1);  % 探索阶段权重alpha_3 = rand()*3*(t/Max_Iter-0.85)*exp(abs(d1/d2)-1.3); % 开发阶段权重alpha_2 = rand()*exp(tanh(1.5*(-t/Max_Iter-0.75) - rand())); % 第二阶段权重
  • 阶段转换函数:

pCM = (sqrt(t/Max_Iter)^tan(d1/(d2)))*rand()*0.01;  % 控制阶段转换

3.阶段划分

  • 第一阶段(t ≤ T):全局探索为主,通过大范围随机扰动寻找潜在最优区域。
  • 第二阶段(t > T):局部开发为主,围绕当前最优解精细搜索。

算法流程与代码解析

1. 初始化阶段

 参数初始化b = 1.55; CE = floor(1+(Max_Iter/b)); % 约束搜索周期T = floor(1.2+Max_Iter/2.25); % 阶段切换阈值% 种群初始化X = initialization(N, Dim, UB, LB); % 生成初始种群Objective_values = Fobj(X); % 计算适应度[Destination_fitness, idx] = min(Objective_values);Destination_position = X(idx,:); % 全局最优解

2. 主循环流程

while t <= Max_Iter    for i = 1:N  % 遍历每个个体        for j = 1:Dim  % 遍历每个维度            % 计算动态参数d1/d2            d1 = 0.1*exp(-0.01*t)*cos(0.5*Max_Iter*(1 - t/Max_Iter));            d2 = -d1;  % 对称参数                        % 约束搜索策略激活            if t == CEi                UB_2 = ...; LB_2 = ...; % 动态调整边界                X = initialization(N,Dim,UB_2,LB_2); % 重新初始化种群            end                        % 阶段判断与位置更新            if t <= T                if CM > 1  % 探索阶段                    X(i,j) = ...;  % 公式(8)                else        % 开发阶段                     X(i,j) = ...;  % 公式(14)                end            else                if CM < 1  % 第二阶段开发                    X(i,j) = ...;  % 公式(16)                else        % 第二阶段探索                    X(i,j) = ...;  % 公式(12)                end            end        end    end        % 适应度更新与排序    Objective_values = Fobj(X);    [~, sorted_idx] = sort(Objective_values);    Destination_position_second = X(sorted_idx(2),:); % 次优解        t = t + 1;end

3.关键操作详解

动态边界调整:当迭代次数达到CEi时,根据当前最优解和次优解重新计算搜索边界,增强局部搜索能力。

UB_2 = Destination_position(j) + (1-t/Max_Iter)*abs(rand()*Destination_position(j)-...);LB_2 = Destination_position(j) - (1-t/Max_Iter)*abs(rand()*Destination_position(j)-...);
  • 位置更新策略:通过α系数控制移动幅度,tanh函数平滑过渡,exp函数调节衰减速度。

  • 种群排序机制:每轮迭代后对种群排序,保留次优解用于后续边界计算。

    03.优化算法测试函数效果图

    04.优化神经网络的数据时序、回归、分类预测

    (1)基于ETO优化BP神经网络的数据回归预测效果(多输入单输出)

    代码效果图

    (2)基于ETO优化BP神经网络的数据回归预测效果(多输入多输出)

    代码效果图

    (3)基于ETO优化BP神经网络的数据时序预测效果(1列时序数据)

    代码效果图

    (4)基于ETO优化BP神经网络的数据分类预测效果

    输入输出数据

    代码效果图

    ✅作者简介:信号处理方向在校博士研究生,目前专研于MATLAB算法及科学绘图等,熟知各种信号分解算法、神经网络时序、回归和分类预测算法、数据拟合算法以及滤波算法。提供一个可以相互学习相互进步的平台

    🚩技术信仰:知行合一,让每一行代码都成为解决问题的利器

    🔍后台私信备注个人需求(比如TOC-BP)定制以下TOC算法优化模型(看到秒回):

    1.回归/时序/分类预测类:BP、RF、XGBoost、RBF、LSSVM、SVM、ELM、DELM、ESN、RELM等等均可,优化算法优化BP为例,可达到以下效果:

    (1)优化BP神经网络的数据时序预测

    (2)优化BP神经网络的数据回归(多输入多输出)预测

    (3)优化BP神经网络的数据回归预测

    2.分解类:EEMD、VMD、REMD、CEEMDAN、ICEEMDAN、SVMD等分解模型均可,优化算法优化VMD/ICEEMDAN为例,可达到以下效果:

    (1)基于改进天鹰优化算法(IAO)优化的VMD参数

    (2)基于改进天鹰优化算法(IAO)优化ICEEMDAN参数

    3.去噪算法算法类:VMD/CEEMDAN/ICEEMDAN/SVMD+小波阈值/SVD去噪,可在去噪算法前加智能优化算法优化参数以VMD-WT/SVD为例,可达到以下效果:

    (1)基于VMD-SpEn(样本熵)联合小波阈值去噪

    (2)基于SVMD-SVD的信号去噪算法

    (3)基于ZOA优化VMD-IAWT岩石声发射信号降噪算法

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包

    打赏作者

    MATLAB科研小白

    你的鼓励将是我创作的最大动力

    ¥1 ¥2 ¥4 ¥6 ¥10 ¥20
    扫码支付:¥1
    获取中
    扫码支付

    您的余额不足,请更换扫码支付或充值

    打赏作者

    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

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

    余额充值