论文学习——基于注意力预测策略的动态多目标优化合作差分进化论

news2024/9/27 12:17:42

论文题目:Cooperative Differential Evolution With an Attention-Based Prediction Strategy for Dynamic Multiobjective Optimization

基于注意力预测策略的动态多目标优化合作差分进化论(Xiao-Fang Liu , Member, IEEE, Jun Zhang, Fellow, IEEE, and Jun Wang , Life Fellow, IEEE)IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS: SYSTEMS, VOL. 53, NO. 12, DECEMBER 2023

刚开始学习多目标优化算法,不作商业用途,如果有不正确的地方请指正!

个人总结:

背景及相关工作

差分进化算法回顾

DE算法使用一个种群通过多代来寻找最优解。记种群规模为S,优化函数为f ( X )。种群中的每个个体i都有一个位置Xi = [ Xi , 1 , ... , Xi , d , ... , Xi , D],其中d为维度指标,D为决策空间的维度。每一代每个个体执行变异和交叉算子来更新自己

提出的算法

提出的CDE - AP算法使用多个种群来近似动态PF。CDE - AP由3部分组成:

1 )用于优化的协同DE算法;

2 )环境变化检测流程;

3 )一种应对环境变化的AP策略。

A. Cooperative Differential Evolution(合作差分进化)

为了近似PF的各个部分,采用多个种群来优化多个目标。每个种群只优化一个称为种群目标的目标函数。例如,第j个种群Pj只优化第j个目标函数fj ( X )。

外部存档A收集来自所有种群的非支配解用于信息共享。存档中的解在不同的目标上表现良好,可以协助所有种群向PF收敛。

在每一代中,每个种群都使用新的基于融合的变异策略来更新个体。

Fusion-Based Mutation Strategy(基于融合的变异策略)

传统的变异策略选择同一种群中的个体构建差分向量进行更新.在这种情况下,个体的其他目标不能得到充分的优化导致整体向PF的收敛效果较差.所以提出了基于融合的变异算子:

其中j是种群指数,i是个体指数,Ajmbest是根据种群目标Fj(x)从档案A中排名前1/M位的个体中随机选择的解.Ar1和Ar2是从档案中随机选择的两个不同的解. 具体突变策略如图所示

所提出的突变策略使用一个在第 j 个目标函数上表现良好的非支配解决方案和另外两个非主导解决方案来扰乱个体。这样,其他种群的优化信息就可以整合到当前种群中。个体能够向目标PF区域移动,并在fj(X)上具有良好的值。  变异的概率是根据差分进化的参数机制生成的.

Expanding Procedure(扩展程序

由于每个种群都旨在找到具有自身种群目标的最佳解决方案,因此种群倾向于聚集在 PF 极端。为了将种群覆盖的区域扩展到整个PF,将不同种群的搜索信息结合起来以产生良好的解决方案是有用的。因此,对存档的解决方案执行使用 DE 算法的扩展过程以产生 |A|/2 个解,其中| A|表示存档中的解决方案数。

首先从存档中随机选择一个解 Ak = [Ak,1,...,Ak,D],然后根据公式产生新解

在每一代结束时,扩展过程生成的解决方案将与所有种群以及存档解决方案相结合一起更新存档A.

如果数量超出就采用NSGA-III中基于参考点的选择出高多样性的解决方案进行存储.

B.Environmental Change Detection Procedure(环境变化检测程序) 

为了检测环境变化,每一代都会重新评估预定义的解决方案.由于一次迭代中包括M个种群更新程序和一个扩展过程,因此会产生M+1个解决方案,并针对每个种群更新和扩展过程重新评估其中一个解决方案.

就是将预定义的解表示为B1-BM+1,更新种群之前重新评估Bj,在扩展过程之前重新评估BM+1,

B1、B2 和 B3 被设置为决策空间中的典型位置,即在边界和中心 B1 = [LB1,...,LBD]、B2 = [UB1,...,UBD] 和 B3 = [(LB1 + UB1)/2,...,(LBD + UBD)/2],其中 LBd 和 UBd 是维度 d 的下限和上限

其余的 (M − 2) 解是从决策空间中随机抽样的。如果一个重新评估的解决方案的适应度值发生变化,则认为环境发生了变化。因此,在一次迭代中,M + 1 解决方案被重新评估以检测环境变化

C.Prediction Strategy(预测策略)

由于种群中的个体通常是PF上不同的最优解,因此PF中心的变化被用作适应不同个体的扰动。在这里,我们将每个目标的最优解称为“注意力点”将PF中心称为“扰动点”

假设当前环境为 t,在最后两个环境中找到的解集表示为 At−2 和 At−1。对于每个目标 j,分别从 At−2 和 At−1 中选择 fj(X) 上的最佳解,并表示为 Ct−2 j 和 Ct−1 j。

如果有多个解决方案在第 j 个目标上表现最佳,则以这些解决方案的中心为关注点。同样,At−2 和 At−1 的中心分别表示为 Ct−2 M+1 和 Ct−1 M+1。然后,这些注意点和扰动点用于估计目标函数的变化以进行预测。

用公式13计算前两个环境中每个目标的变化和扰动点.

如上所述,个体在种群中Pj的变化可以指其注意力目标Ij扰动点IM+1的变化。Ij 和 IM+1 的权重可以根据它们在第 j 个目标的子空间中与个体的距离来设置,因为个体的变化与其相邻解的变化更密切相关。 

我们首先对每个单独的 Xj,i、注意力点和扰动点的适应度值 (Ct−1 j ∀1 ≤ j ≤ M + 1) 进行归一化。总体j中Xj,i的适应度值归一化为: 

其中 f max j 和 f min j 分别表示在环境 t −1 中设置的解的第 j 个目标的最大和最小适应度值。Ct−1 j (1 ≤ j ≤ M) 的适应度值最小,归一化为 0。Ct−1 M+1的适应度值未知,但可能位于目标空间的中心,因此归一化为0.5。 

后来,每个单独的 Xj,进行预测.其中w1,w2为权重值

预测策略更新每个种群中的个体以适应环境变化,下图显示了双目标的DMOP预测策略示例.

 

该预测策略旨在为多个群体提供高质量的解决方案来适应变化,但不能准确预测新的PF。

一旦检测到环境变化,就要重新评估所有种群和存档的解决方案,即种群的每个个体X都适用上面的预测策略生成一个新的解X‘,如果X'有更好的适应度值则个体被更新,否则就不变.

整体算法伪代码如图所示

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1507177.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

多模太与交叉注意力应用

要解决的问题 对同一特征点1从不同角度去拍,在我们拿到这些不同视觉的特征后,就可以知道如何从第一个位置到第二个位置,再到第三个位置 对于传统算法 下面很多点检测都是错 loftr当今解决办法 整体流程 具体步骤 卷积提取特征,…

DevOps本地搭建笔记(个人开发适用)

需求和背景 win11 wsl2 armbian(玩客云矿渣),构建个人cicd流水线,提高迭代效率。 具体步骤 基础设施准备 硬件准备:一台笔记本,用于开发和构建部署,一台服务器,用于日常服务运行。 笔记本…

ArcGIS学习(十四)OD分析

ArcGIS学习(十四)OD分析 1.上海市KFC与麦当劳的空间聚集度分析 本任务给大家带来的内容是网络节点关系分析。网络节点关系分析一般也叫OD分析。“O”指的是起点(ORIGIN),"D”指的是终点(DESTINATION),0D分析即为基于起点到终点的分析。 网络节点关系分析我们经常…

【机器学习300问】31、不平衡数据集如何进行机器学习?

一、什么是不平衡的数据集? (1)认识不平衡数据 假如你正在管理一个果园,这个果园里主要有两种水果——苹果和樱桃。如果苹果树有1000棵,而樱桃树只有10棵,那么在收集果园的果实时,你会得到大量…

缓存雪崩,穿透,击穿

为什么要设置缓存: 有海量并发的业务场景需要,大量的请求涌入关系型数据库,基于磁盘的IO读取效率低下,常用的mysql数据库不易进行扩展维护,容易造成数据库崩溃,从而相关业务崩溃,系统崩溃。 因此…

【测试】构建质量保证之路:编写测试用例的艺术

🍎个人博客:个人主页 🏆个人专栏:Linux ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 1. 确定测试目标: 2. 理解需求和规格: 3. 确定测试条件: 4. 编写测试用例: 结…

Linux常用命令之top监测

(/≧▽≦)/~┴┴ 嗨~我叫小奥 ✨✨✨ 👀👀👀 个人博客:小奥的博客 👍👍👍:个人CSDN ⭐️⭐️⭐️:传送门 🍹 本人24应届生一枚,技术和水平有限&am…

CSS 居中对齐 (水平居中 )

水平居中 1.文本居中对齐 内联元素&#xff08;给容器添加样式&#xff09; 限制条件&#xff1a;仅用于内联元素 display:inline 和 display: inline-block; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><…

Canal的入门操作记录

文章目录 1.主从数据库同步原理2.canal使用步骤2.1 开启binlog2.2 配置canalcanal.propertiesinstance.properties区别 3.创建Canal用户4.取信息5.SpringBoot整合 canal其实就是假装自己是从数据库&#xff0c;来监听主数据库的binlog得到数据的变化信息 canal 模拟 MySQL slav…

数字化运营在教育行业的技术架构实践总结

随着科技的不断进步和数字化时代的到来&#xff0c;教育行业也正面临着数字化转型的挑战和机遇。教育行业的数字化运营需要依靠合理的技术架构来支撑&#xff0c;本文将探讨教育行业数字化运营的技术架构设计。 ## 第一步&#xff1a;需求分析和架构设计 在构建教育行业数字化…

VScode的列选

可以用来优化代码排布&#xff0c;让变量整齐成为一排 一、批量复制&#xff1a; 在1处左键单击&#xff0c;然后摁住SHIFTALT键的同时&#xff0c;左键单击2处&#xff0c;即可复制一整块的内容 如果所示 就可以复制了 二、批量输入 在1处左键单击&#xff0c;然后摁住SHI…

STM32单片机基本原理与应用(十一)

语音识别实验 此实验采用STM32核心板 LD3320模块&#xff0c;通过初始化LD3320并写入待识别关键词&#xff0c;对麦克风说出相应关键词&#xff0c;实现实训平台上的流水灯相应变化的效果。 LD3320 是一颗基于非特定人语音识别 &#xff08;SI-ASR&#xff1a;Speaker-Indepen…

新版ui周易测算网站H5源码/在线起名网站源码/运势测算网站系统源码,附带系统搭建教程

支持对接第三方支付 安装方法以linux为例 1、建议在服务器上面安装宝塔面板&#xff0c;以便操作&#xff0c;高逼格技术员可以忽略这步操作。 2、把安装包文件解压到根目录&#xff0c;同时建立数据库&#xff0c;把数据文件导入数据库 3、修改核心文件config/inc_config.…

【LeetCode每日一题】299. 猜数字游戏

文章目录 [299. 猜数字游戏](https://leetcode.cn/problems/bulls-and-cows/)思路&#xff1a;代码&#xff1a; 299. 猜数字游戏 思路&#xff1a; 遍历两个字符串 secret 和 guess&#xff0c;若字符既在相同位置上又相等&#xff0c;则位置和数字都正确&#xff0c;对应的 …

uniapp隐藏状态栏并强制横屏

uniapp隐藏状态栏并强制横屏 1.manifest.json中&#xff1a; "screenOrientation": ["landscape-primary", //可选&#xff0c;字符串类型&#xff0c;支持横屏"landscape-secondary" //可选&#xff0c;字符串类型&#xff0c;支持反向横屏]…

力扣--76. 最小覆盖子串

给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串&#xff0c;则返回空字符串 "" 。 注意&#xff1a; 对于 t 中重复字符&#xff0c;我们寻找的子字符串中该字符数量必须不少于 t 中该字符数量。如…

vscode插件-TONGYILingma

通义灵码&#xff0c;是一款基于通义大模型的智能编码辅助工具&#xff0c;提供行级/函数级实时续写、自然语言生成代码、单元测试生成、代码注释生成、代码解释、研发智能问答、异常报错排查等能力&#xff0c;并针对阿里云 SDK/API 的使用场景调优&#xff0c;为开发者带来高…

深度学习:推动可持续发展与社会责任的创新引擎!

随着科技的飞速发展和全球化的推进&#xff0c;可持续发展和社会责任逐渐成为各个领域关注的焦点。深度学习作为人工智能的重要分支&#xff0c;在可持续发展和社会责任方面发挥着越来越重要的作用。本文旨在探讨深度学习在环境保护、资源利用、犯罪预防和残障人士辅助等领域的…

鸿蒙视频播放的实现

文章目录 前言播放效果视频播放的实现总结 一、前言 现在市面上很多应用都跟视频有关&#xff0c;那么在鸿蒙系统上怎么来播放视频呢&#xff0c;今天就讲解视频播放控件&#xff0c;让你也能快速地进行视频播放功能开发。 最后呢&#xff0c;我会提供一个鸿蒙中涉及的主要…

16. 获取社区详情

文章目录 一、建表、插入测试数据、并生成对应的model二、添加路由&#xff0c;以及controller、logic、dao三层分别实现对应代码三、编译运行 登录之后&#xff0c;我们可以发表帖子&#xff0c;但是发表帖子之前&#xff0c;需要先选择一个频道&#xff0c;可以理解是社区分类…