最新!2024顶级SCI优化!TTAO-CNN-BiGRU-MSA三角拓扑聚合优化、双向GRU融合注意力的多变量回归预测程序!
适用平台:Matlab 2023版及以上
TTOA三角聚合优化算法,将在2024年3月正式发表在中科院1区顶级SCI期刊《Expert Systems with Applications》上。
该算法提出时间极短,目前以及近期内不会有套用这个算法的文献。新年伊始,尽快拿下!
我们利用该创新性极高的优化算法对我们的CNN-BiGRU-Attention时序和空间特征结合-融合注意力机制的回归预测程序代码中的超参数进行优化,构成TTAO-CNN-BiGRU-MSA多变量回归预测模型.
文献解读:这个算法的启发来源是类似三角形的拓扑学性质。名为Triangulation Topology Aggregation Optimizer,TTAO)的新型数学元启发算法中,每个三角形拓扑单元表示一个搜索个体。TTAO算法通过聚合形成不同大小的类似三角形拓扑单元,以作为基本的进化单元。与其他元启发算法不同,TTAO算法提出了一种新的进化指导模式,主要依靠每个三角形单元中的最佳个体指导单元内个体的进化。因此,这种进化种群不仅依赖于全局引导的优秀个体,还吸收了每个单元中最佳个体的有效正向信息,有助于解决复杂优化问题,克服传统方法在全局搜索时进入局部极值的缺点。接下来,文章通过与其它对比算法:HHO ;SCSO;SAO;BWO;AOA等测试,验证了TTAO算法具有更强的收敛性能。在CEC2017函数和8个工程问题上评估了其优化性能。实验结果表明,TTAO算法在30维CEC2017函数上具有优越的收敛性和稳定性。
原理:许多领域通常将研究对象划分为三角形拓扑单元,并建立相关模型进行识别和分析:如金字塔,三角尺等。
在有限或无限维空间中,三角形拓扑可以被视为二维子空间的子图。与其他拓扑相比,三角形在某些封闭系统中更简单、更稳定。
TTAO算法主要通过以下两个阶段进行优化过程:
-
①不同单元之间的聚合
-
②相似三角形单元内的聚合
在这个过程中,不断在搜索空间中生成新的顶点,并用它们构建不同大小的相似三角形。TTAO算法将每个三角形视为具有四个个体的基本进化单元,即三角形的三个顶点和一个内部随机顶点。聚合的核心是将具有优良特性的顶点分组在一起。具体来说,TTAO算法通过聚合在不同拓扑单元之间或内部收集具有正向信息的顶点,不断构建相似三角形。
优化步骤:
-
算法通过迭代进化,在搜索空间中不断生成新的顶点,以构建不同大小的相似三角形。
-
每个三角形都被视为一个基本进化单元,包含四个搜索个体,即三角形的三个顶点和一个内部随机顶点。
-
TTAO算法的核心是聚集具有优越特性的顶点。具体而言,TTAO算法通过聚集来自不同拓扑单元的优秀个体信息,以创建新的可行解。
-
算法通过三个阶段的更新过程来实现全局搜索和局部挖掘:生成三角拓扑单元、通用聚集和局部聚集。
构成的TTAO-CNN-BiGRU-MSA多变量回归预测模型的创新性在于以下几点:
TTAO算法区别于传统智能算法的创新性:
①细胞聚类策略:TTAO 算法采用三角形拓扑单元展开优化过程,每个三角形拓扑单元具有一个顶点,这些顶点分别代表了搜索个体。这种细胞聚类策略使得 TTAO 算法能够更好地挖掘局部和全局信息。
②两级聚合策略:TTAO 算法采用了两级聚合策略:广义聚合和局部聚合。广义聚合主要关注全局探索,通过不同三角形拓扑单元间的信息交换来找到更有希望的位置;局部聚合则使得每个单元内的信息得到有效开发,确保准确地探索局部区域。
③自适应策略:TTAO 算法将上一代的有效信息自适应地继承下来,从而保持种群的多样性。这种自适应策略使得 TTAO 算法能够快速收敛到全局最优解。
④个体引导进化策略:TTAO算法提出了一种新的关键个体引导进化策略,使得该算法不仅依赖于精英个体的全局引导进化,还吸收了每个单元中最佳个体的积极正向信息。
优化套用—基于三角拓扑聚合优化算法(TTAO)、卷积神经网络(CNN)和双向门控循环单元网络(BiGRU)融合注意力机制(Multi-Head Self Attention,MSA)的超前24步多变量时间序列回归预测算法TTOA-CNN-BiGRU-MSA:
功能:
1、多变量特征输入,单序列变量输出,输入前一天的特征,实现后一天的预测,超前24步预测。
2、通过TTAO优化算法优化学习率、卷积核大小、神经元个数,这3个关键参数,以最小MAPE为目标函数。
3、提供损失、RMSE迭代变化极坐标图;网络的特征可视化图;测试对比图;适应度曲线(若首轮精度最高,则适应度曲线为水平直线)。
4、提供MAPE、RMSE、MAE等计算结果展示。
适用领域:风速预测、光伏功率预测、发电功率预测、碳价预测等多种应用。
数据集格式:
前一天18个气象特征,采样时间为24小时,输出为第二天的24小时的功率出力,也就是18×24输入,1×24输出,一共有75个这样的样本。
预测值与实际值对比;训练特征可视化:
训练误差曲线的极坐标形式(误差由内到外越来越接近0);适应度曲线(误差逐渐下降)
误差评估:
TTAO部分核心代码:
完整代码:https://mbd.pub/o/bread/ZZqZlZ1y
% 三角拓扑聚合优化器
function [fbest,Xbest,Convergence_curve,BestPred,bestNet,bestInfo]=TTAOtest(PopSize,T,Low,Up,Dim,fobj)N=floor(PopSize/3); % 初始化N/3个个体。
X1=rand(N,Dim).*(Up-Low)+Low;
t=1;
while t<T+1%% 形成三角拓扑单元l=9*exp(-t/T);% 三角拓扑单元的大小。for i=1:Ntheta=rand(1,Dim)*pi;h1=cos(theta);h2=cos(theta+pi/3);X2(i,:)=X1(i,:)+l*h1;X3(i,:)=X1(i,:)+l*h2;endX2 = max(X2,Low);X2 = min(X2,Up);X3 = max(X3,Low);X3 = min(X3,Up);r1=rand;r2=rand;X4=r1*X1+r2.*X2+(1-r1-r2)*X3;X4 = max(X4,Low);X4 = min(X4,Up);for i=1:N[X1_fit(i), value1{i},Net1{i},Info1{i}] =fobj(X1(i,:));[X2_fit(i), value2{i},Net2{i},Info2{i}] =fobj(X2(i,:));[X3_fit(i), value3{i},Net3{i},Info3{i}] =fobj(X3(i,:));[X4_fit(i), value4{i},Net4{i},Info4{i}] =fobj(X4(i,:));endX=[X1 X2 X3 X4];fit=[X1_fit;X2_fit;X3_fit;X4_fit];value = [value1; value2; value3; value4];Net = [Net1; Net2; Net3; Net4];Info = [Info1; Info2; Info3; Info4];[X_sort,index]=sort(fit);%% 在每个三角拓扑单元中找到最优点和次优点。for i=1:NX_best_1(i,:)=X(i,(index(1,i)-1)*Dim+1:index(1,i)*Dim);X_best_2(i,:)=X(i,(index(2,i)-1)*Dim+1:index(2,i)*Dim);endbest_fit_1=X_sort(1,:);best_fit_2=X_sort(2,:);sorted_value(:, 1) = value(index(:, 1), 1);sorted_value(:, 2) = value(index(:, 2), 2);best_value_1 = sorted_value(1,:);best_value_2 = sorted_value(2,:);sorted_Net(:, 1) = Net(index(:, 1), 1);sorted_Net(:, 2) = Net(index(:, 2), 2);best_Net_1 = sorted_Net(1,:);best_Net_2 = sorted_Net(2,:);sorted_Info(:, 1) = Info(index(:, 1), 1);sorted_Info(:, 2) = Info(index(:, 2), 2);best_Info_1 = sorted_Info(1,:);best_Info_2 = sorted_Info(2,:);%% 通用聚合for i=1:Nr=rand(1,Dim);X_new=X_best_1;X_new(i,:)=[];l1=randi(N-1);X_G(i,:)=(r.*X_best_1(i,:)+(ones(1,Dim)-r).*X_new(l1,:));X_G(i,:) = max(X_G(i,:),Low);X_G(i,:) = min(X_G(i,:),Up);[X_fit_G(i), valueG{i},NetG{i},InfoG{i}]=fobj(X_G(i,:));if X_fit_G(i)<best_fit_1(i)X_best_1(i,:)=X_G(i,:);best_fit_1(i)=X_fit_G(i);best_value_1{i}=valueG{i};best_Net_1{i}=NetG{i};best_Info_1{i}=InfoG{i};elseif X_fit_G(i)<best_fit_2(i)X_best_2(i,:)=X_G(i,:);best_value_2{i}=valueG{i};best_Net_2{i}=NetG{i};best_Info_2{i}=InfoG{i};endend%% 局部聚合for i=1:Na=(exp(1)-(exp(1))^3)/(T-1);b=(exp(1))^3-a;alpha=log(a*t+b);X_C(i,1:Dim)=X_best_1(i,1:Dim)+alpha*(X_best_1(i,1:Dim)-X_best_2(i,1:Dim));X_C(i,:) = max(X_C(i,:),Low);X_C(i,:) = min(X_C(i,:),Up);[X_fit_C(i), valueC{i},NetC{i},InfoC{i}]=fobj(X_C(i,:));if X_fit_C(i)<best_fit_1(i)X_best_1(i,:)=X_C(i,:);best_fit_1(i)=X_fit_C(i);best_value_1{i}=valueC{i};best_Net_1{i}=NetC{i};best_Info_1{i}=InfoC{i};endend%% N00=PopSize-N*3;if N00~=0X00=rand(PopSize-N*3,Dim).*(Up-Low)+Low;for i=1:N00[X00_fit,value00{i},Net00{i},Info00{i}]=fobj(X00(i,:));endX_1_0=[X_best_1;X00];X_1_0_fit=[best_fit_1,X00_fit];value_1_0=[best_value_1;value00];Net_1_0=[best_Net_1;Net00];Info_1_0=[best_Info_1;Info00];[~,index01]=sort(X_1_0_fit);X_best_1=X_1_0(index01(1:N),:);best_value_1=value_1_0(index01(1:N),:);best_Net_1=Net_1_0(index01(1:N),:);best_Info_1=Info_1_0(index01(1:N),:);best_fit_1=X_1_0_fit(index01(1:N));endX1=X_best_1;%% 前N/3个个体作为下一次迭代的初始种群。
部分图片来源于网络,侵权联系删除!
欢迎感兴趣的小伙伴“复制代码上方链接”或“联系小编”获得完整版代码哦~,关注小编会继续推送更有质量的学习资料、文章程序代码~
相关文章:

最新!2024顶级SCI优化!TTAO-CNN-BiGRU-MSA三角拓扑聚合优化、双向GRU融合注意力的多变量回归预测程序!
适用平台:Matlab 2023版及以上 TTOA三角聚合优化算法,将在2024年3月正式发表在中科院1区顶级SCI期刊《Expert Systems with Applications》上。 该算法提出时间极短,目前以及近期内不会有套用这个算法的文献。新年伊始,尽快拿下…...
Flink SQL Client 安装各类 Connector、组件的方法汇总(持续更新中....)
一般来说,在 Flink SQL Client 中使用各种 Connector 只需要该 Connector 及其依赖 Jar 包部署到 ${FLINK_HOME}/lib 下即可。但是对于某些特定的平台,如果 AWS EMR、Cloudera CDP 等产品会有所不同,主要是它们中的某些 Jar 包可能被改写过&a…...

React18-模拟列表数据实现基础表格功能
文章目录 分页功能分页组件有两种接口参数分页类型用户列表参数类型 模拟列表数据分页触发方式实现目录 分页功能 分页组件有两种 table组件自带分页 <TableborderedrowKey"userId"rowSelection{{ type: checkbox }}pagination{{position: [bottomRight],pageSi…...

MySQL查询数据(十)
MySQL查询数据(十) 一、SELECT基本查询 1.1 SELECT语句的功能 SELECT 语句从数据库中返回信息。使用一个 SELECT 语句,可以做下面的事: **列选择:**能够使用 SELECT 语句的列选择功能选择表中的列,这些…...

AJAX-常用请求方法和数据提交
常用请求方法 请求方法:对服务器资源,要执行的操作 axios请求配置 url:请求的URL网址 method:请求的方法,如果是GET可以省略;不用区分大小写 data:提交数据 axios({url:目标资源地址,method…...

2024美国大学生数学建模竞赛美赛B题matlab代码解析
2024美赛B题Searching for Submersibles搜索潜水器 因为一些不可抗力,下面仅展示部分代码(很少部分部分)和部分分析过程,其余代码看文末 Dthxlsread(C:\Users\Lenovo\Desktop\Ionian.xlsx); DpDth(:,3:5); dy0.0042; dx0.0042; …...
【DouYing Desktop】
I) JD 全日制大专及以上学历; 2. 3年以上的IT服务支持相关工作经验 3. 有较强的桌面相关trouble shooting与故障解决能力,能够独立应对各类型桌面问题; 4. 具备基础的网络、系统知识,能够独立解决常见的网络、系统等问题…...

正则表达式与文本处理工具
目录 引言 一、正则表达式基础 (一)字符匹配 1.基本字符 2.特殊字符 3.量词 4.边界匹配 (二)进阶用法 1.组与引用 2.选择 二、命令之-----grep (一)基础用法 (二)高级用…...

IDEA中的Run Dashboard
Run Dashboard是IntelliJ IDEA中的工具【也就是View中的Services】,提供一个可视化界面,用于管理控制应用程序的运行和调试过程。 在Run DashBoard中,可以看到所有的运行配置,以及每个配置的运行状态(正在运行…...

【力扣白嫖日记】SQL
前言 练习sql语句,所有题目来自于力扣(https://leetcode.cn/problemset/database/)的免费数据库练习题。 今日题目: 1407.排名靠前的旅行者 表:Users 列名类型idintnamevarchar id 是该表中具有唯一值的列。name …...
自动化报告pptx-python|高效通过PPT模版制造报告(三)
这是自动化报告学习的第三篇了,前面两篇分别是: 自动化报告的前奏|使用python-pptx操作PPT(一)自动化报告pptx-python|如何将pandas的表格写入PPTX(二)本篇是逼着笔者看到JoStudio 大佬自己写的一个jojo-office 库,基于pptx-python开发成一套试用office软件的依赖,非…...
Linux升级openssh的解决方案
大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…...

YOLOv5白皮书-第Y3周:yolov5s.yaml文件解读
YOLOv5白皮书-第Y3周:yolov5s.yaml文件解读 YOLOv5白皮书-第Y3周:yolov5s.yaml文件解读一、前言二、我的环境三、yolov5s.yaml源文件内容四、Parameters五、anchors配置六、backbone七、head八、总结 OLOv5-第Y2周:训练自己的数据集) YOLOv5白皮书-第Y3周:yolov5s.…...

C++ pair+map+set+multimap+multiset+AVL树+红黑树(深度剖析)
文章目录 1. 前言2. 关联式容器3. pair——键值对4. 树形结构的关联式容器4.1 set4.1.1 set 的介绍4.1.2 set 的使用 4.2 map4.2.1 map 的介绍4.2.2 map 的使用 4.3 multiset4.3.1 multiset 的介绍4.3.2 multiset 的使用 4.4 multimap4.4.1 multimap 的介绍4.4.2 multimap 的使…...

指针的学习1
目录 什么是指针? 野指针 造成野指针的原因: 如何避免野指针? 内存和指针 如何理解编址? 指针变量和地址 取地址操作符& 指针变量和解引用操作符 指针变量 如何拆解指针类型? 指针变量的大小 指针变量…...

c++:敲桌子
先输出1-100数字,从100个数字中找到这些特殊数字改为敲桌子。 特殊数字:1.7的倍数 2.十位数上有7 3.个位数上有7 #include<iostream> using namespace std; int main() {for (int i 1; i < 100; i) {if (i / 10 7 || i % 10 7|| i % 7 0)…...

Linux中判断文件系统的方法
文章目录 Linux中判断文件系统的方法1.使用mount命令2.使用blkid命令3.使用file命令4.使用fstab文件5.使用df命令(这个用的比较多)6.使用fsck命令7.使用lsblk命令(推荐-简单好用) Linux中判断文件系统的方法 1.使用mount命令 # 这样查看的只有已经挂载…...

聊聊ClickHouse MergeTree引擎的固定/自适应索引粒度
前言 我们在刚开始学习ClickHouse的MergeTree引擎时,就会发现建表语句的末尾总会有SETTINGS index_granularity 8192这句话(其实不写也可以),表示索引粒度为8192。在每个data part中,索引粒度参数的含义有二…...

20240202在WIN10下使用whisper.cpp
20240202在WIN10下使用whisper.cpp 2024/2/2 14:15 【结论:在Windows10下,确认large模式识别7分钟中文视频,需要83.7284 seconds,需要大概1.5分钟!效率太差!】 83.7284/4200.1993533333333333333333333333…...

【Linux】基本指令(上)
🦄个人主页:修修修也 🎏所属专栏:Linux ⚙️操作环境:Xshell (操作系统:CentOS 7.9 64位) 目录 Xshell快捷键 Linux基本指令 ls指令 pwd指令 cd指令 touch指令 mkdir指令 rmdir指令/rm指令 结语 Xshell快捷键 AltEnter 全屏/取消全屏 Tab 进…...

从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
逻辑回归:给不确定性划界的分类大师
想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)
上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...

Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...

R 语言科研绘图第 55 期 --- 网络图-聚类
在发表科研论文的过程中,科研绘图是必不可少的,一张好看的图形会是文章很大的加分项。 为了便于使用,本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中,获取方式: R 语言科研绘图模板 --- sciRplothttps://mp.…...

破解路内监管盲区:免布线低位视频桩重塑停车管理新标准
城市路内停车管理常因行道树遮挡、高位设备盲区等问题,导致车牌识别率低、逃费率高,传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法,正成为破局关键。该设备安装于车位侧方0.5-0.7米高度,直接规避树枝遮…...