论文学习——一种新的具有分层响应系统的动态多目标优化算法

论文题目:A Novel Dynamic Multiobjective Optimization Algorithm With Hierarchical Response System

一种新的具有分层响应系统的动态多目标优化算法(Han Li , Zidong Wang , Fellow, IEEE, Chengbo Lan, Peishu Wu , and Nianyin Zeng , Member, IEEE)IEEE TRANSACTIONS ON COMPUTATIONAL SOCIAL SYSTEMS,2024

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

个人总结:

Introduction 写的挺好的.

提出了一个CD参数代表环境变化程度,如果环境变化不低于最小值就简单的从之前的非支配解中进行优化为下一代.

如果环境变化在设置的阈值之间就使用TL模型对PT-1的种群进行知识迁移.

如果环境变化超过了阈值的最大值就保留一定的上一时刻的非支配借,并对种群进行初始化.

引言

目前存在的问题

在动态行为的情况下,如果不对反应做出进一步的分析,就很难找出有用的历史经验;

在一些微小变化的情况下,引入新个体似乎是不必要的,而且当环境中存在剧烈变化时,基于预测的响应可能会导致进化向不合适的方向发展。

本文提出的想法

设计一种能够定量测量环境变化的新型DMOA,以便采取相应的响应策略。

在环境变化较小的情况下,建议采用先前基于PS的精化策略,以节省不必要的计算,并跟踪几乎不变的PF

相反,在发生剧烈变化的情况下,由于在完全不同的环境中搜索Pareto解可以直接视为解决一个新问题,因此采用了一种直观的思想(把个体引入到新的环境中)

除了上述两种极端情况,还应用了TL响应策略来加速收敛,其主要思想是在新的环境中传递有用的历史知识以提供高质量的初始种群。

总体算法:将环境变化量化并分为三个层次。本文提出的算法(命名为HRS - DMOA)实质上是一个两阶段算法:

  1. 首先选取前一环境中非支配解的一半作为传感器来量化动态行为;并且相应地,基于两个预定义的阈值
  2. 后期可采用3种响应策略在新环境中生成初始种群,以加速收敛。特别地,在剧烈变化的情况下采用基于多样性的策略,当变化处于中等水平时,考虑TL响应方法的新颖前沿,该方法结合了记忆和预测在解决DMOPs中的流行思想。

背景及相关工作

略过一下

方法论

详细阐述了所提出的HRS-DMOA,其主要思想是通过一些量化程序对环境变化进行分级,以便可以相应地采用分层响应

A.Environmental Change Quantification(环境变化的量化)

之前看了很多的文章,对环境改变的检测基本就是10%的个体检测,比较的无脑.

这篇文章中选择前一环境中的一半非支配解来形成传感器集S,用于估计目标函数的变化程度用CD表示

m是目标函数的数量,fi,j(t)表示传感器j在环境t中的第i个适应度值,u=0.001是避免分母等于0.

然后将环境的整体变化程度定义为: 

其中 λ 是放大因子,设置为 m − 1

B.Hierarchical Response System(分层响应系统)

根据环境的变化度CD,使用两个预定义的阈值LT和HT将CD划分为三个级别,并相应地采用细化(如果CD<LT)、TL(如果LT≤CD≤HT)和重新初始化(如果CD>HT)的响应模式.

当 CD 小于下限阈值 LT 时,认为变化可以忽略不计,即新环境(表示为 t)与前一个环境(表示为 t − 1)相似。因此,鼓励 PSt−1 不断改进收敛性并寻找帕累托解,其中采用突变算子来进一步补充多样性。

如果 CD 大于较高阈值 HT,则该变化被认为非常显著,以至于以前的大多数搜索经验不再有用。因此,这种情况被视为新的优化问题并重新开始演化,其中 PSt−1 中只有少数解保留在重新初始化的种群中。 

如果CD在两个域值之间,则用基于TL的训练模型响应.

在本文中,(LT, HT) 设置为 (0.03, 0.78)

HBS算法伪代码

C.TL-Based Population Initialization(基于TL的种群初始化) 

TL 的本质是应用从源域 D 中学到的知识来帮助解决目标域 Dt 中相关但不相同的任务。

随在具有一些突变的先前环境中的 PS 被选为源域 Ds。此外,为了保证知识在正确的方向上转移,在新环境中筛选另一组转移参考点(TRP)以形成目标域Dt。具体来说,应用本地搜索策略将每个具有质量因子 Q(·) 的个体分配为

其中 P 代表种群,Q(·) 值较大的个体被认为具有更好的质量。然后,基于(7),在新环境中的两个种群之间进行比赛,以获得一组TRP以形成Dt。算法 2 中显示了详细信息,其中应用了模拟二元交叉和多项式突变算子以进一步增强多样性 .

设 T = {X, Y } 表示训练集,其中 X = Ds ∪ Dt 和 Y = {0, 1} 是由新时间 t 的支配关系确定的真值标签(Y = 1 表示非支配个体)。

D.HRS-DMOA的总体框架 

细化:在时间t处,对PSt−1进行多项式突变以增强多样性,并通过从增强的PSt−1中选择获得Pini。

TL:在时间 t 处,应用基于 TL 的初始化来生成 Pini,其中采用增强的 PSt−1 作为源域,并熨平一组 TRP 以形成目标域。 

重新初始化:在时间 t 处,PSt−1 中只有少数个体保留在 Pini 中,而 Pini 的其余部分则直接通过随机初始化生成。

在后面就是一些实验对比暂时略过 

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

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

相关文章

基于Java的在线课程教学系统(Vue.js+SpringBoot)

目录 一、摘要1.1 系统介绍1.2 项目录屏 二、研究内容2.1 课程类型管理模块2.2 课程管理模块2.3 课时管理模块2.4 课程交互模块2.5 系统基础模块 三、系统设计3.1 用例设计3.2 数据库设计 四、系统展示4.1 管理后台4.2 用户网页 五、样例代码5.1 新增课程类型5.2 网站登录5.3 课…

Linux下mysql添加用户并授权数据库权限

在 Linux 下&#xff0c;你可以使用 MySQL 的 root 用户登录到 MySQL 数据库&#xff0c;然后通过 SQL 命令来添加新用户并授予数据库权限。以下是一个简单的步骤&#xff1a; 1. 用 root 用户登录到 MySQL&#xff1a; mysql -u root -p 2. 输入密码后&#xff0c;进入 MyS…

阿里云服务器多少钱1月?2024年最新版报价

阿里云服务器一个月多少钱&#xff1f;最便宜5元1个月。阿里云轻量应用服务器2核2G3M配置61元一年&#xff0c;折合5元一个月&#xff0c;2核4G服务器30元3个月&#xff0c;2核2G3M带宽服务器99元12个月&#xff0c;轻量应用服务器2核4G4M带宽165元12个月&#xff0c;4核16G服务…

【物理排序】(最小交换环 | 大体量表排序 | 泛型算法)

设想一下&#xff0c;如果待排元素不是一个简单的整数&#xff0c;而是一个庞大的结构体&#xff0c;移动元素的时间不能忽略不计。 元素需要频繁互换&#xff0c;那么移动这些元素的时间将会非常长久&#xff0c;效率很低 typedef very_large_item {int comparable;Tp very_…

vue选项式API和组合式API区别-备忘

Vue.js 的选项式API和组合式API是两种不同的编写Vue组件的方式&#xff0c;它们各自有不同的特点和适用场景&#xff1a; 选项式API (Options API) 这是 Vue.js 最初的API设计方式&#xff0c;也是最为广泛使用的编程模型。在选项式API中&#xff0c;一个Vue组件由一系列可选…

【MySQL | 第四篇】区分SQL语句的书写和执行顺序

文章目录 4.区分SQL语句的书写和执行顺序4.1书写顺序4.2执行顺序4.3总结4.4扩充&#xff1a;辨别having与where的异同&#xff1f;4.5聚合查询 4.区分SQL语句的书写和执行顺序 注意&#xff1a;SQL 语句的书写顺序与执行顺序不是一致的 4.1书写顺序 SELECT <字段名> …

点赞功能真的有必要上 Redis 吗?(Mongo、MySQL、Redis、MQ 实测性能对比)

目录 一、你会怎么设计一个点赞功能&#xff1f; 1.1、点赞实现思路 1.2、点赞功能设计 1.2.1、MySQL 单表 1.2.2、单表 MySQL 关联表 1.2.3、MySQL 关联表 mq 1.2.4、redis mq 1.2.5、mongodb 关联文档 二、性能测试 2.1、前置说明 2.2、10 万数据准备 一、你会…

kubectl基础命令详解

管理名称空间资源 查看名称空间 [rootceshi-130 conf]# kubectl get ns [rootceshi-130 conf]# kubectl get namespace NAME STATUS AGE default Active 7d17h kube-node-lease Active 7d17h kube-public Active 7d17h kube-system …

【C++】三大特性之继承

1 继承的概念及定义 1.1 继承的概念 继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段&#xff0c;它允许程序员在保持原有类特性的基础上进行扩展、增加功能&#xff0c;这样产生新的类&#xff0c;称派生类&#xff08;或子类&#xff09;。而被继承的…

Java宝典-抽象类和接口

目录 1. 抽象类1.1 抽象类的概念1.2 抽象类的语法1.3 抽象类的特点 2. 接口2.1 接口的概念2.2 接口的语法2.3 接口的特点2.4 实现多个接口2.5 接口的继承 3. 接口使用案例 铁汁们好,今天我们学习抽象类和接口~ 1. 抽象类 1.1 抽象类的概念 什么是抽象类?在面向对象中,如果一…

FIT介绍-1

1、编译 FIT image 文件的编译过程很简单&#xff0c;根据实际情况&#xff0c;编写image source file之后&#xff08;假设名称为u-boot.its&#xff09;&#xff0c;在命令行使用mkimage工具编译即可&#xff1a; ./tools/mkimage [-D dtc_options] [-f fit-image.its|-f a…

OpenFeign的学习总结

1.Fegin调用只有在微服务之间才会使用&#xff0c;以前的单体项目用不到&#xff0c;因为单体项目不会涉及到分库的概念&#xff0c;并且单体项目就一个应用&#xff0c;想用的功能都可以直接方法调用&#xff0c;但是微服务就不行&#xff0c;跨服务的调用只能通过http的操作&…

Google浏览器122.下载驱动

打开网址&#xff1a;Chrome for Testing availability (googlechromelabs.github.io) 选择stable 选择对应的驱动就行

flink重温笔记(十四): flink 高级特性和新特性(3)——数据类型及 Avro 序列化

Flink学习笔记 前言&#xff1a;今天是学习 flink 的第 14 天啦&#xff01;学习了 flink 高级特性和新特性之数据类型及 avro 序列化&#xff0c;主要是解决大数据领域数据规范化写入和规范化读取的问题&#xff0c;avro 数据结构可以节约存储空间&#xff0c;本文中结合企业真…

JVM运行时数据区概述以及分别存放的内容

JVM的运行时数据区是JVM在执行Java程序时用于存储数据和状态信息的内存区域。它分为多个部分&#xff0c;每个部分都有其特定的作用和存放的内容。 1. 方法区&#xff08;Method Area&#xff09; 作用&#xff1a;方法区是所有线程共享的内存区域&#xff0c;用于存放已被虚…

Java面试题总结9:mybatis

mybatis的优缺点 优点&#xff1a; 基于SQL语句编程&#xff0c;不会对应用程序或者数据库的现有设计造成任何影响&#xff0c;SQL写在XML里&#xff0c;解除sql与程序代码的耦合&#xff0c;便于统一管理&#xff0c;提供XML标签&#xff0c;支持编写动态SQL语句&#xff0c…

开源向量数据库介绍

在开源矢量数据库的世界里&#xff0c;有些名字因其性能、灵活性和健壮性而脱颖而出。 1. Milvus Milvus 由 Zilliz 推出&#xff0c;是一款高度可定制的开源矢量数据库&#xff0c;在处理大规模数据方面大放异彩。由于其出色的可扩展性&#xff0c;当你需要处理大量数据时&a…

判断链表回文

题目&#xff1a; //方法一&#xff0c;空间复杂度O(n) class Solution { public:bool isPalindrome(ListNode* head) {vector<int> nums; //放进数组后用双指针判断ListNode* cur head;while(cur){nums.emplace_back(cur->val);cur cur->next;}for(int i0…

如何在非spring环境中调用service中的方法

什么是非spring环境 非Spring环境指的是不使用Spring框架来管理和配置应用程序的运行时环境。在Spring框架中&#xff0c;开发者可以利用依赖注入、面向切面编程&#xff08;AOP&#xff09;、事务管理、安全性、数据访问等特性来简化企业级应用程序的开发。当应用程序不依赖于…

力扣同类题:重排链表

很明显做过一次 class Solution { public:void reorderList(ListNode* head) {if(!head||!head->next)return;ListNode *fasthead,*lowhead;ListNode *prenullptr,*curnullptr,*nextnullptr;while(fast->next!nullptr){fastfast->next;if(fast->next)fastfast->…