论文学习——多种变化环境下基于多种群进化的动态约束多目标优化
论文题目: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],并且这个解的目标值中至少有一个被改进,那么δ被不断地添加到相应的维度中,直到这个个体不再被改进;否则,一维搜索策略按δ的值向该维度递减,δ在相应的维度上不断减小,直到该个体不再被改进。
计算出方向
修正
相关文章:

论文学习——多种变化环境下基于多种群进化的动态约束多目标优化
论文题目:Multipopulation Evolution-Based Dynamic Constrained Multiobjective Optimization Under Diverse Changing Environments 多种变化环境下基于多种群进化的动态约束多目标优化(Qingda Chen , Member, IEEE, Jinliang Ding , Senior Member, …...

Jenkins参数化构建详解(This project is parameterized)
本文详细介绍了Jenkins中不同类型的参数化构建方法,包括字符串、选项、多行文本、布尔值和git分支参数的配置,以及如何使用ActiveChoiceParameter实现动态获取参数选项。通过示例展示了传统方法和声明式pipeline的语法 文章目录 1. Jenkins的参数化构建1…...

Cerebras 推出 CePO,填补推理与规划能力的关键空白
每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...
广东省食品销售中高级题库及答案
1.有关食品安全标准的说法正确的是(C)。 A.鼓励性标准 B.推荐性标准 C.强制性标准 D.引导性标准 2.食品经营许可证载明的许可事项发生变化的,食品经营者应当在变化后(D)个工作日内向原发证的食品药品监督管理部门申请变更经营许可。 A.3 B.5 C.7 D.10 3.食品销售经营者对食品…...

JAVA基础-深入理解Java内存模型(一)-- 重排序与先行发生原则(happens-before)
深入理解Java内存模型(一)-- 重排序 很棒的一个关于Java内存模型系列文章,首先感谢作者,转载自深入理解java内存模型系列文章 ,为了方便阅读,做了一些内容整合和重排版。 提纲 Java线程之间的通信对程序…...

【Lambda】java之lambda表达式stream流式编程操作集合
java之lambda表达式&stream流式编程操作集合 1 stream流概念1.1 中间操作1.1.1 无状态操作1.1.2 有状态操作 1.2 终端操作1.2.1 非短路操作1.2.2 短路操作 2 steam流的生成2.1 方式一:数组转为stream流2.2 方式二:集合转为steam流2.3 方式三…...

家具购物小程序+php
基于微信小程序的家具购物小程序的设计与实现 摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了基于微信小程序的家具购物小程序的设计与实现的开发全过程。通过分析基于微信小程序的家具购物小程序的设计与实…...

【GIS教程】使用GDAL-Python将tif转为COG并在ArcGIS Js前端加载-附完整代码
目录 一、数据格式 二、COG特点 三、使用GDAL生成COG格式的数据 四、使用ArcGIS Maps SDK for JavaScript加载COG格式数据 一、数据格式 COG(Cloud optimized GeoTIFF)是一种GeoTiff格式的数据。托管在 HTTP 文件服务器上,可以代替geose…...
VB.net进行CAD二次开发(二)与cad交互
开发过程遇到了一个问题:自制窗口与控件与CAD的交互。 启动类,调用非模式窗口 Imports Autodesk.AutoCAD.Runtime Public Class Class1 //CAD启动界面 <CommandMethod("US")> Public Sub UiStart() Dim myfrom As Form1 New…...
【NLP 11、Adam优化器】
祝你先于春天, 翻过此间铮铮山峦 —— 24.12.8 一、Adam优化器的基本概念 定义 Adam(Adaptive Moment Estimation)是一种基于梯度的优化算法,用于更新神经网络等机器学习模型中的参数。它结合了动量法(Momentum&…...

51单片机应用开发(进阶)---串口接收字符命令
实现目标 1、巩固UART知识; 2、掌握串口接收字符数据; 3、具体实现目标:(1)上位机串口助手发送多字符命令,单片机接收命令作相应的处理(如:openled1 即打开LED1;closeled1 即关…...
redis 怎么样删除list
在 Redis 中,可以使用以下方法删除列表或列表中的元素: 1. 删除整个列表 使用 DEL 命令删除一个列表键: DEL mylist这个命令会删除键 mylist 及其值(无论 mylist 是一个列表还是其他类型的键)。 2. 删除列表中的部分…...

【数据结构——内排序】快速排序(头歌实践教学平台习题)【合集】
目录😋 任务描述 测试说明 我的通关代码: 测试结果: 任务描述 本关任务:实现快速排序算法。 测试说明 平台会对你编写的代码进行测试: 测试输入示例: 10 6 8 7 9 0 1 3 2 4 5 (说明:第一行是元素个数&a…...

npm或yarn包配置地址源
三种方法 1.配置.npmrc 文件 在更目录新增.npmrc文件 然后写入需要访问的包的地址 2.直接yarn.lock文件里面修改地址 简单粗暴 3.yarn install 的时候添加参数 设置包的仓库地址 yarn config set registry https://registry.yarnpkg.com 安装:yarn install 注意…...
STUN服务器用于内网NAT的方案
在内网中部署 STUN 服务器的场景通常用于处理多层 NAT 或内网客户端之间的通信需求,尤其是在大企业或学校等复杂网络环境下。通过 STUN 服务器,可以帮助客户端设备检测和适配 NAT 转换规则,进而支持 WebRTC 或其他实时通信技术的正常运行。 …...

Linux 简单命令总结
1. 简单命令 1.1. ls 列出该目录下的所有子目录与文件,后面还可以跟上一些选项 常用选项: ・-a 列出目录下的所有文件,包括以。开头的隐含文件。 ・-d 将目录象文件一样显示,而不是显示其下的文件。如:ls -d 指定目…...
Vue.js组件开发:提升你的前端工程能力
Vue.js 是一个用于构建用户界面的渐进式框架,它允许开发者通过组件化的方式创建可复用且易于管理的代码。在 Vue.js 中开发组件是一个直观且高效的过程,下面我将概述如何创建和使用 Vue 组件,并提供一些最佳实践。 1. 创建基本组件 首先&am…...
使用 Pandas 读取 JSON 数据的五种常见结构解析
文章目录 引言JSON 数据的五种常见结构1. split 结构2. records 结构3. index 结构4. columns 结构5. values 结构 引言 在日常生活中,我们经常与各种数据打交道,无论是从网上购物的订单信息到社交媒体上的动态更新。JSON(JavaScript Object…...

C++鼠标轨迹算法(鼠标轨迹模拟真人移动)
一.简介 鼠标轨迹算法是一种模拟人类鼠标操作的程序,它能够模拟出自然而真实的鼠标移动路径。 鼠标轨迹算法的底层实现采用C/C语言,原因在于C/C提供了高性能的执行能力和直接访问操作系统底层资源的能力。 鼠标轨迹算法具有以下优势: 模拟…...

Go mysql驱动源码分析
文章目录 前言注册驱动连接器创建连接交互协议读写数据读数据写数据 mysqlConncontext超时控制 查询发送查询请求读取查询响应 Exec发送exec请求读取响应 预编译客户端预编译服务端预编译生成prepareStmt执行查询操作执行Exec操作 事务读取响应query响应exec响应 总结 前言 go…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)
骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...
什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果 协议是一种串行总线协议,专门用于在数字音频设备之间传输数字音频数据。它由飞利浦(Philips)公司开发,以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...

基于PHP的连锁酒店管理系统
有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...

HubSpot推出与ChatGPT的深度集成引发兴奋与担忧
上周三,HubSpot宣布已构建与ChatGPT的深度集成,这一消息在HubSpot用户和营销技术观察者中引发了极大的兴奋,但同时也存在一些关于数据安全的担忧。 许多网络声音声称,这对SaaS应用程序和人工智能而言是一场范式转变。 但向任何技…...