论文学习——多种变化环境下基于多种群进化的动态约束多目标优化

news2024/12/17 0:22:35

论文题目:Multipopulation Evolution-Based Dynamic Constrained Multiobjective Optimization Under Diverse Changing Environments

多种变化环境下基于多种群进化的动态约束多目标优化(Qingda Chen , Member, IEEE, Jinliang Ding , Senior Member, IEEE, Gary G. Yen , Fellow, IEEE, Shengxiang Yang , Senior Member, IEEE, and Tianyou Chai , Life Fellow, IEEE)IEEE TRANSACTIONS ON EVOLUTIONARY COMPUTATION, VOL. 28, NO. 3, JUNE 2024

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

个人总结:

2022年出的一篇文章和上次看的swarm的那边协同进化的分类有点像,

将种群划分为可行,不可行分为非支配不可行和支配不可行。

摘要

  • 动态约束多目标优化涉及真实Pareto最优前沿分布的不规则变化,约束引起的可行域的剧烈变化,以及由于不同变化环境导致的最优距离变量的移动方向和大小。
  • 提出了一种基于多种群进化的动态约束多目标优化算法。在该算法中,我们设计了一个部落分类算子,根据可行性检验和目标值将种群划分为不同的部落,这有利于驱动种群向可行域和帕累托最优前沿移动。
  • 同时,提出一种种群选择策略,从部落中识别出有希望的解决方案,并利用它们来更新种群。距离变量的最优值随着动态环境的不同而变化,因此,我们为不同部落中的解设计了动态响应策略,以估计它们的距离以接近Pareto最优前沿,并重新生成有希望的解。
  • 此外,设计了一个可扩展的生成器来模拟动态环境下真实世界问题中最优距离变量的不同运动方向和大小,得到一组改进的测试问题。

引言

距离变量的定义:帕累托最优解中的一个决策变量被认为是一个距离变量,如果改变x中的xi只能得到一个等于x、支配x或被x支配的决策向量(就是扰动以后只存在支配关系,收敛性决策变量)

动态约束多目标优化问题特征

1.时间变化下无约束PF和可行区域和真实PF都会发生变化

2.不可行解的数量随可行域波动,动态可行域的不规则边界使不可行解的评价值多样化。例如,图1 ( a )中的解E的约束违反度( CV )值大于图1 ( b )中的解E的CV值,但图1 ( a )中的解E更容易成为非支配解.

3.在动态环境下,DPOSs中距离变量的最优值在不同的方向和量级上移动,有的表现出剧烈的变化,有的则可能在较小的量级上移动,使得最优距离变量的移动方向和量级复杂化。

本文提出的想法

1。为了充分利用不同性能的解,特别是接近DPOF的解,本文提出了一种部落分类算子,将解按照其可行性和目标值划分到不同的部落中,驱使种群向真正的DPOF靠近。

2。本文设计了一种种群选择算子,根据支配算子从不可行部落中识别出的可行解和有希望的不可行解来更新种群,提高了种群的多样性和算法的寻优效率。

3。为了应对不同的变化环境,我们提出了一种动态响应策略来估计不同部落中向新的DPOF移动的距离变量的方向和大小,并根据评估值更新所有的解决方案,从而快速地更新靠近DPOF的初始化种群。

4。为了保证DCMOPs测试问题中的最优距离变量具有与现实问题一致的变化特性,我们设计了一个可扩展的生成器,在动态环境变化时,距离变量的最优值具有不同的移动方向和大小,测试了算法对DPOSs的跟踪能力。

背景及相关工作

A.DCMOP基础

B.约束处理技术

1.惩罚函数策略

2.分离目标和约束的方法

3.多目标制定

4.转化CMOPs的方法

5.混合方法

6.改变繁殖算子的方法

C.动态响应策略

提出框架与实施

A.mEDCMOA算法框架

B.初始化

算法初始化时,至少需要有一个可行解,否则就重新生成初始化种群。

C.部落分类算子

一些不可行解[如图1 ( a )中的解A , E和F]可能帮助目标值较大的可行解[例如,图1 ( a )中的解I]跟踪DPOFs,将其他不可行解[例如,图1 ( a )中的解J]推入可行域或靠近DPOFs。

提出了一种部落分类算子,根据可行性检验和目标值将种群划分为不同的部落。

首先根据可行性将种群划分为可行和不可行的(分别为FT和IT)部落,并利用非支配解选择算子从FT中更新AS 

本文提出根据不可行解是否被非支配解支配将其划分到不同的部落中。,如果不可行解x的目标值不劣于非支配解的目标值,则称x为非支配不可行解;否则,x被认为是一个占优的不可行解。基于上述定义,将不可行解划分为支配和非支配不可行部落( DIT和NIT)。

D交配和种群选择算子 

采用SBX和PM算子。

为了平衡算法的收敛速度和种群的多样性,本文提出了一种种群选择算子,在可行解数量不足的情况下,可以使用一些非支配和支配的不可行解来更新种群。

首先,清除若干部落(即FT、IT、DIT和NIT),并采用部落分类算子将P和Q中的解分类为FT、DIT和NIT。所有可行解都复制到一个空集NP上。

其次,如果非支配不可行解NIT 的数量大于N - | FT |,则将部分非支配不可行解NIT 推入NP,而不考虑支配不可行解。考虑到在靠近DPOFs [如图1 ( a )中的解F]的不可行解中的微小调整可能有助于它们成为可行解甚至非支配解,我们提出了一个支配算子来从NIT中选择N - | FT |非支配不可行解。具体来说,在具有最小目标函数的DCMOP中,NIT中具有大目标值的解更接近真实的DPOF。

E。动态响应策略

当环境发生变化时,通过修改不同部落中的先前解和随机解来重新生成初始种群。

首先,mEDCMOA通过初始化方法在变化的环境中随机产生N个解的一半,并重新计算之前解的目标值和CV值。所有解(即,随机的和先前的解决方案)由部落分类算子推送到不同的部落中。

其次,计算每个解的适应度值,确定每个部落中适应度值为0的解的 每个距离变量的调整方向和大小。

对于FT中适应度值为零的解,在该解的一个维度上增加一个正值δ。如果这个决策变量仍然在[ Lj , Uj],并且这个解的目标值中至少有一个被改进,那么δ被不断地添加到相应的维度中,直到这个个体不再被改进;否则,一维搜索策略按δ的值向该维度递减,δ在相应的维度上不断减小,直到该个体不再被改进。

计算出方向

修正

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

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

相关文章

【C++】判断能否被 3, 5, 7 整除问题解析与优化

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯题目描述💯老师代码实现与分析老师代码逻辑分析优点缺点 💯学生代码实现与分析学生代码逻辑分析优点缺点 💯改进与优化优化代码实现优化…

【构建工具】现代开发的重要角色

你可能有所听闻构建工具,但是不知道是干什么的,或者是开发中用到了,大概会使用,但是想理解一下具体的工作原理等,那么我将分享一下我对其的理解。【 我将分为两篇来讲解】。 当我们谈到构建工具时,可以把它…

npm或yarn包配置地址源

三种方法 1.配置.npmrc 文件 在更目录新增.npmrc文件 然后写入需要访问的包的地址 2.直接yarn.lock文件里面修改地址 简单粗暴 3.yarn install 的时候添加参数 设置包的仓库地址 yarn config set registry https://registry.yarnpkg.com 安装:yarn install 注意…

Unity集成Wwise并进行开发

1. 背景 项目要接入WWise,学习一下 1.1 与Unity自带音频系统的区别 Unity有自己的原生音乐功能:AduioSound。但是这个功能较为简单,对于音效开发人员来说并不是很友好。在一些大型的游戏中,音效会接入Wwise这个软件。音效开发者…

【AI知识】有监督学习之回归任务(附线性回归代码及可视化)

1. 回归的基本概念 在机器学习的有监督学习中,回归(Regression)是一种常见的任务,它的目标是通过观察数据来建立一个模型,用一个或多个自变量来预测因变量的值。 回归分析通常用于: a.预测,基于…

C语言专题之宏的基本概念

合理使用宏可以使我们的代码更加简单,接下来小编就来讲解宏的基本概念! 一、宏的定义 宏定义是C/C语言中一项强大而灵活的特性,它允许程序员使用预处理器指令来创建简化的代码表示。这种机制不仅提高了代码的可读性和可维护性,还…

MySQL 复合查询(重点)

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 MySQL 复合查询(重点) 收录于专栏[MySQL] 本专栏旨在分享学习MySQL的一点学习笔记,欢迎大家在评论区交流讨论💌 …

WPF 控件

<div id"content_views" class"htmledit_views"><p id"main-toc"><strong>目录</strong></p> WPF基础控件 按钮控件&#xff1a; Button:按钮 RepeatButton:长按按钮 RadioButton:单选按钮 数据显示控件 Te…

Docker方式安装人人影视离线完整安装包

本文软件由网友 ルリデ 推荐&#xff1b; 上周&#xff0c;人人影视创始人宣布将人人影视二十年字幕数据开源分享 目前提供了两种使用方式&#xff1a; “在线应用” &#xff1a;意味着需要有互联网才可以使用。官方提供了网站&#xff1a;https://yyets.click “离线使用” …

opencv——(图像梯度处理、图像边缘化检测、图像轮廓查找和绘制、透视变换、举例轮廓的外接边界框)

一、图像梯度处理 1 图像边缘提取 cv2.filter2D(src, ddepth, kernel[, dst[, anchor[, delta[, borderType]]]]) 功能&#xff1a;用于对图像进行卷积操作。卷积是图像处理中的一个基本操作&#xff0c;它通过一个称为卷积核&#xff08;或滤波器&#xff09;的小矩阵在图像上…

物联网安全-ARMv8-M Trustzone 实操

前言 本文针对ARMv8m架构M23/M33 MCU安全特性使用进行介绍,以nxp LPC55xx系列和STM32L5xx系列为例,为大家阐述如何使用Trustzone技术提高物联网设备安全性,适合有一定平台安全基础的物联网设备开发人员、安全方案开发人员。 背景 为了提升平台安全性,ARM推出了ARMv8m架构…

深入理解偏向锁、轻量级锁、重量级锁

一、对象结构和锁状态 synchronized关键字是java中的内置锁实现&#xff0c;内置锁实际上就是个任意对象&#xff0c;其内存结构如下图所示 其中&#xff0c;Mark Word字段在64位虚拟机下占64bit长度&#xff0c;其结构如下所示 可以看到Mark Word字段有个很重要的作用就是记录…

《拉依达的嵌入式\驱动面试宝典》—C/CPP基础篇(五)

《拉依达的嵌入式\驱动面试宝典》—C/CPP基础篇(五) 你好,我是拉依达。 感谢所有阅读关注我的同学支持,目前博客累计阅读 27w,关注1.5w人。其中博客《最全Linux驱动开发全流程详细解析(持续更新)-CSDN博客》已经是 Linux驱动 相关内容搜索的推荐首位,感谢大家支持。 《拉…

geoserver(1) 发布sql 图层 支持自定义参数

前提使用postgis 数据库支持关联 join 支持 in,not in,like,及其他sql原生函数 新增sql图层 编写自定义sql 编辑sql语句必须输出带有geom数据 正则表达式去除 设置id以及坐标参考系 预览sql图层效果 拼接sql参数 http://xxx.com/geoserver/weather/wms?SERVICEWMS&VERSI…

光谱相机

光谱相机是一种能够同时获取目标物体的空间图像信息和光谱信息的成像设备。 1、工作原理 光谱相机通过光学系统将目标物体的光聚焦到探测器上&#xff0c;在探测器前设置分光元件&#xff0c;如光栅、棱镜或滤光片等&#xff0c;将光按不同波长分解成多个光谱通道&#xff0c…

数智读书笔记系列008 智人之上:从石器时代到AI时代的信息网络简史

书名:智人之上&#xff1a;从石器时代到AI时代的信息网络简史 作者:&#xff3b;以&#xff3d;尤瓦尔赫拉利 译者:林俊宏 出版时间:2024-09-01 ISBN:9787521768527 中信出版集团制作发行 作者信息 尤瓦尔・赫拉利 1976 年出生于以色列海法&#xff0c;是牛津大学历史学…

MAC M3电脑在idea上搭建Spark环境并跑通第一个程序

我的电脑是Macbook Pro&#xff0c;最近在学习Spark&#xff0c;想要在idea里搭建Spark环境&#xff0c;为之后的Spark编程作准备。下面是在MAC版本的idea里配置Spark环境。 1. 准备工作 1.安装 JDK 确保Mac 上已经安装了 JDK 8 或更高版本。 可通过 java -version 查看是否…

WPF+MVVM案例实战与特效(三十八)- 封装一个自定义的数字滚动显示控件

文章目录 1、运行效果2、案例实现1、功能设计2、页面布局3、控件使用4、运行效果3、拓展:多数字自定义控件1、控件应用4、总结1、运行效果 在Windows Presentation Foundation (WPF)应用程序中,自定义控件允许开发者创建具有特定功能和外观的独特UI元素。本博客将介绍一个名…

Docker如何运行一个python脚本Hello World

Docker如何运行一个python脚本Hello World 1、编写Python的Hello World&#xff1a;script.py #!/usr/bin/python #_*_coding:utf-8_*_ print("Hello World") 2、Dockerfile文件 #拉取Docker环境 FROM python #设置工作目录 WORKDIR /app #将dockerfile同级文件copy到…

整数奇偶排序

整数奇偶排序 C语言代码C 代码Java代码Python代码 &#x1f490;The Begin&#x1f490;点点关注&#xff0c;收藏不迷路&#x1f490; 给定10个整数的序列&#xff0c;要求对其重新排序。排序要求: 1.奇数在前&#xff0c;偶数在后&#xff1b; 2.奇数按从大到小排序&#x…