三角拓扑聚合优化算法(TTAO)-2024年新算法-公式原理详解与性能测评 Matlab代码免费获取

       声明:文章是从本人公众号中复制而来,因此,想最新最快了解各类智能优化算法及其改进的朋友,可关注我的公众号:强盛机器学习,不定期会有很多免费代码分享~

目录

原理简介

一、种群初始化

二、三角形拓扑单元形成阶段

三、通用(全局)聚合阶段

四、局部聚合

算法流程和伪代码

性能测评

参考文献

完整代码


三角拓扑聚合优化器(Triangulation Topology Aggregation Optimizer, TTAO)是一种新型的元启发式算法(智能优化算法),灵感来自相似三角形。该成果由Shijie Zhao等人于2024年3月发表在SCI一区顶刊Expert Systems With Applications 上。

由于发表时间较短,谷歌学术上仅被引用1次!你先用,你就是创新!

原理简介

TTAO算法是基于相似三角形的。随着迭代,新的顶点在搜索空间中不断生成,并用于构成不同大小的相似三角形。在所提出的TTAO算法中,每个三角形被视为具有四个主体的基本进化单元,即三角形的三个顶点和一个内部随机顶点。更重要的是,聚合的核心是对具有优越特性的顶点进行分组。具体而言,TTAO算法采用聚合来收集不同拓扑单元之间或内部具有良好信息的顶点。需要注意的是,构造的三角形都是等边三角形,并从第二定理导出构造相似三角形。

一、种群初始化

首先,TTAO算法初始化种群以开始优化过程。给出了种群大小N和变量维数D。三角形拓扑单元中的每个顶点表示一个搜索代理。在TTAO算法中,个体的数量N可以划分为N/3个三角形拓扑单元,其中[∙]表示向下取整。额外的个体是在搜索空间中随机生成的。在初始化阶段,在可行区域中随机产生N/3个代理,每个个体生成的数学表达式为:

Xi1表示第i个三角形拓扑单元中的第一个搜索个体,并且i是1到N/3之间的正整数。r0表示[0,1]之间的随机数;LB→和UB是变量的下界和上界。

二、三角形拓扑单元形成阶段

一个长度为l*f的新方向矢量使用第一顶点作为球面坐标系中的起始顶点进行定位,并通过三角函数转换为普通坐标系以形成第二顶点。接着,生成的长度为l*f的方向矢量并逆时针旋转π/3,然后通过坐标系变换得到第三个顶点。这些顶点的表达式可以写成:

其中l表示三角形拓扑单元的大小,数学上表示为:

t表示当前迭代次数。T表示迭代的最大次数。l随着迭代次数的增加而减小。

f(θ)和f(θ+π3)表示由第一点引导的其他两条边的方向矢量:

其中θ=[θ1,…,θD]和θj(j=1,…,D)是[0,π]之间的随机数。

每组三角形拓扑单元在内部聚合为第四个顶点。该点以线性加权的方式形成以使用个体信息,定义为:

其中r1、r2和r3是[0,1]和r1+r2+r3=1之间的随机数。因此,第四个搜索代理位于每个三角形拓扑单元内。

该部分原理解释图如下:

上图解释了二维空间中相同周期和不同周期的相似单元的状态。由于θ的随机性,每个三角形拓扑单元在t时间表现出相同的大小和方向,即同余。对于不同的时间,三角形拓扑单元旋转后的方向是一致的。如果将三角形时间单位t转移到三角形时间单位t+1中的顶点,则两者在旋转上相似。

三、通用(全局)聚合阶段

在这个阶段,收集不同三角形单元中优秀个体的信息,并创建新的可行解决方案。信息交互发生在每个三角形拓扑单元中的最佳个体和任意随机选择单元集中的最佳个体之间。两个正个体的每个维度变量之间存在不同权重的线性组合。新的个体是在更好的两个顶点连接中产生的,数学上表示为:

其中r4是[0,1]之间的随机数。Xtibest和Xtrandbest表示单元i的最佳个体和第t次迭代时随机选择的单元。此外,采用贪婪策略更新最优代理,数学表达式为:

式中,Xtisbest表示第i次迭代时的次优个体。

该部分原理解释图如下:

上图描述了最优代理和次优代理的更新细节。单位中每个顶点的数量表示其适应度值的排序。包括三种不同的移动方式。

第一种是交叉的个体比原始位置更好的地方,例如,左上单元和左下单元、右上单元和右下单元。第二个是交叉的个体比次优位置更好,例如,具有右上单元的第二上单元、具有右下单元的左上单元。上面的第二个单元和左下单元代表交叉后的较差个体。群体之间的信息交流有助于增加种群多样性,使个体能够充分探索。

四、局部聚合

在这个阶段,三角形拓扑单元进行局部聚合。在前一阶段之后,在更新的最优或次优个体与具有良好适应度值的组中的两个顶点之间临时形成三角形拓扑。在这种情况下,拓扑不一定是等边三角形。基于由最优和次优个体构成的运动矢量差,最优个体的位置受到局部区域的扰动(在方向和步长方面)。因此,在一定的局部区域内重新搜索每个组,以实现对每个拓扑三角形单元的利用。新顶点计算为:

α可以计算为:

使用次优个体信息的目的是防止最优个体陷入局部极值。聚合后,应保证临时三角形单元的引导点在单元内是最优的。为了使收敛朝着有希望的方向发展,比较局部挖掘前后两个顶点的适应度值,以确定位置的更新。如果新的个体优于原始个体,则更新位置,否则不执行更新。相应的数学表达式如下:

该部分原理解释图如下:

上图显示了三角形拓扑单元的局部聚合图。局部聚合的目的是聚合每个拓扑三角形单元内的正信息。虚线三角形拓扑单元表示一般聚合后的最优顶点、次优顶点和第三个顶点的组合的临时拓扑。在参数α(灰圈的面积)的控制下,将每个单元中的最优个体聚合并更新到一定范围内的其他更好的位置。在对每个临时单元进行局部聚合后,根据它们的最佳位置构建新的相似拓扑单元,由紫色点形成。局部聚合过程使每个拓扑三角形单元尽可能精确地被挖掘。此外,对于后面的迭代,变化范围逐渐变小。

算法流程和伪代码

为了使大家更好的理解,这边给出算法流程和伪代码,非常清晰!

首先,三角形拓扑单元的数量由N/3决定。应该注意的是,在每次迭代时,剩余的1或2个个体在可行区域中随机生成新的位置。将随机生成的位置与当前个体进行适合度值比较,旨在确保每次迭代中三角形单元的数量相同。因此,选择更好的前⌊N/3⌋个个体作为下一次迭代更新的引导。他们本质上是每个单元的最优个体。在TTAO算法中,每个三角形拓扑单元的最优个体每次迭代实现三阶段更新,即生成的三角形拓扑单元、一般聚合和局部聚合。

如果实在看不懂,不用担心,可以看下代码,再结合上文公式理解就一目了然了!

性能测评

原文作者采用CEC2017函数和8个工程问题对算法进行评价

这边为了方便大家对比与理解,采用23个标准测试函数,并与非常经典的粒子群算法进行比较,这边展示5个测试函数的图~

可以看到,TTAO的效果还是非常不错的!性能优越,收敛速度也非常快,可以较好的应用到各类实际问题应用中~

参考文献

[1]Zhao S, Zhang T, Cai L, et al. Triangulation topology aggregation optimizer: A novel mathematics-based meta-heuristic algorithm for continuous optimization and engineering applications[J]. Expert Systems with Applications, 2024, 238: 121744.

完整代码

如果需要免费获得图中的完整测试代码,只需点击下方小卡片,后台回复关键字,不区分大小写:

TTAO

也可点击小卡片,后台回复个人需求定制PO优化模型(看到秒回):

1.回归/时序/分类预测类:SVM、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、CEEMDAN、ICEEMDAN、SVMD等分解模型均可~

4.其他:机器人路径规划、无人机三维路径规划、DBSCAN聚类、VRPTW路径优化、微电网优化、无线传感器覆盖优化、故障诊断等等均可~

5.原创改进优化算法(适合需要创新的同学):2024年的TTAO、NRBO、CPO、WOA等任意优化算法均可,保证测试函数效果!

  • 33
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值