EMCMO--多任务优化求解约束多目标问题

EMCMO–多任务优化求解约束多目标问题

title: An Evolutionary Multitasking Optimization Framework for Constrained Multi-objective Optimization Problems

author: Kangjia Qiao, Kunjie Yu, BoyangQu, Jing Liang, Hui Song, and Caitong Yue.

journal: IEEE TRANSACTIONS ON EVOLUTIONARY COMPUTATION (TEVC)

DOI:10.1109/TEVC.2022.3145582

code:

1.主要贡献:

​ 1)提出了EMCMO算法,将约束多目标优化(CMO)问题构建为多任务优化(MTO)问题,其中一个任务是原始的CMO问题,另一个辅助任务是无约束的MOO问题。

​ 2)考虑了两类有效的知识源:父代个体以及子代个体。

2.问题提出:

​ 1)在求解CMO问题时,存在两种帕累托前沿(PF):无约束的PF(UPF)和有约束的PF(CPF),UPF和CPF之间存在如下图所示的四种关系:相同,包含,部分重叠和不重叠。所以,使用无约束的MOO和有约束的CMO一起优化并交互信息可能会提高算法的效率。

image-20241018194649024

​ 2)MTO可以通过利用任务之间的相关关系来加速多个优化任务的求解效率,并在许多实际应用中得到证明。因此,本文提出了一种基于MTO的方法来求解约束多目标优化问题。

​ 3)在没有先验知识的情况下,很难知道辅助任务中包含的约束子集的难易程度;当辅助任务太多时,又会消耗大量的计算资源。

image-20241018205919987

​ 4)迁移什么:在优化过程中包含两类知识,父代个体和子代个体。

​ 如下图所示,在优化前期,主任务的父代种群在可行域内,而辅助任务的父代种群在不可行域内。当两个任务产生了目标值更好的子代个体时,主任务的种群不能帮助主任务跳出局部可行域,辅助任务的种群也不能帮助主任务跳出局部可行域而辅助任务的子代则可以帮助主任务跳出局部可行域。所以在进化前期,子代个体是有用的知识。

image-20241018210320751

​ 在算法迭代后期,由于两个种群的PF都更接近其真实的PF,根据图1,会存在如下的四种情况:

第一类,当UPF和CPF相同时,父代种群更有效;第二类,当UPF包含CPF时,父代种群更有效;第三类,当UPF与CPF部分重叠时,则取决于它们的重叠程度,重叠部分父代种群有效,非重叠部分子代种群有效;第四类,当UPF与CPF不重叠时,子代种群更有效。

image-20241018210419467

3.EMCMO:

3.1 算法框架

​ 1)如算法1所示,EMCMO对两个任务分别初始化了一个种群 P 1 , P 2 P_1,P_2 P1,P2,并评估。

​ 2)因为不同阶段的有用知识不同,所以在主循环中,分为两个阶段:前期进化根据算法2,后期则使用算法3.
image-20241019100900908

3.2 EMCMO前期

EMCMO前期的更新过程如下图和算法2所示,具体步骤如下:

​ 1)对于每个任务随机选择父代

​ 2)每个任务分别产生子代

​ 3)将当前任务种群,当前任务子代以及辅助任务子代合并至一个临时种群中,并评估

​ 4)对于每个任务的临时种群分别进行环境选择。

换句话说,EMCMO前期的知识迁移是通过直接迁移子代个体实现的。

image-20241019100900908 image-20241019100900908 ​ ## 3.3 EMCMO后期

EMCMO后期的更新过程如下图和算法3所示,具体步骤如下:

​ 1)对每个任务,根据个体质量来选择父代,产生子代,并评估。

​ 2)根据主任务的环境选择策略选择出辅助任务中前NP个个体,并计算子代和父代种群在主任务中的成功率如下:
α P j = n u m _ P j N P α O P j = n u m _ O P j N P / 2 \alpha_{P_j}=\frac{num\_P_j}{NP}\\ \alpha_{OP_j}=\frac{num\_OP_j}{NP/2} αPj=NPnum_PjαOPj=NP/2num_OPj
α P j < α O P j \alpha_{P_j}<\alpha_{OP_j} αPj<αOPj时,说明辅助任务的子代(迁移种群)更适合主任务;否则说明辅助任务的父代(迁移种群)更适合主任务。

​ 3)将每个任务的父代,子代及辅助任务的迁移种群融合为临时种群,并在对应任务上进行评估和选择。

image-20241019100900908 image-20241019100900908

4.思考

1)EMCMO为CMO问题构建了一个辅助任务(无约束的MOO问题),通过使用MTO在两个任务之间的有效信息交互来求解CMO问题。其次,文章还分析了两个任务的PF之间的关系,以及迁移什么的问题。

2)在原始的MFEA的定义中,MTO旨在通过利用任务之间的隐式并行性来同时求解多个优化问题,而对于什么是知识,迁移什么的问题却很少有人提到。一种常用的方式是通过属于两个任务的个体进行交叉来实现的,也就是隐式知识迁移;另一种是显示知识迁移,直接或者间接地迁移个体。

3)所以进一步挖掘这种知识表示也是MTO领域的一种未来研究方向。
常用的方式是通过属于两个任务的个体进行交叉来实现的,也就是隐式知识迁移;另一种是显示知识迁移,直接或者间接地迁移个体。

3)所以进一步挖掘这种知识表示也是MTO领域的一种未来研究方向。

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

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

相关文章

Spring Cloud LoadBalancer

什么是负载均衡&#xff1f; 如果一个服务对应多个实例&#xff0c;我们需要把流量合理的分配给多个实例&#xff1b;当服务流量增⼤时, 通常会采⽤增加机器的⽅式进⾏扩容, 负载均衡就是⽤来在多个机器或者其他资源&#xff0c;中, 按照⼀定的规则合理分配负载. 服务端负载…

java-collection集合整理0.9.4

java-集合整理0.9.0 基本结构基本概念实例化举例遍历获取指定值 2024年10月17日09:43:16–0.9.0 2024年10月18日11:00:59—0.9.4 基本结构 Collection 是最顶级的接口。分为 List 和 Set 两大类。List 分为&#xff1a;ArrayList、LinkedList、Vector。Set 分为&#xff1a;Ha…

Redis7 数据类型

Redis7 数据类型 文章目录 Redis7 数据类型1. Redis键&#xff08;Key&#xff09;2. Redis字符串&#xff08;String&#xff09;3. Redis列表&#xff08;List&#xff09;4. Redis哈希表&#xff08;Hash&#xff09;5. Redis集合&#xff08;Set&#xff09;5.1 常用操作5.…

docker 微服务实践

Docker 是一个容器工具&#xff0c;提供虚拟环境。站在 Docker 的角度&#xff0c;软件就是容器的组合&#xff1a;业务逻辑容器、数据库容器、储存容器、队列容器…Docker 使得软件可以拆分成若干个标准化容器&#xff0c;然后像搭积木一样组合起来。微服务&#xff08;micros…

Atlas800昇腾服务器(型号:3000)—驱动与固件安装(一)

服务器配置如下&#xff1a; CPU/NPU&#xff1a;鲲鹏 CPU&#xff08;ARM64&#xff09;A300I pro推理卡 系统&#xff1a;Kylin V10 SP1【下载链接】【安装链接】 驱动与固件版本版本&#xff1a; Ascend-hdk-310p-npu-driver_23.0.1_linux-aarch64.run【下载链接】 Ascend-…

《环境感知:开启智能生活新视角》

《环境感知&#xff1a;开启智能生活新视角》 一、环境感知的定义与作用二、环境感知的技术与方法&#xff08;一&#xff09;传感器技术&#xff08;二&#xff09;数据融合技术&#xff08;三&#xff09;机器学习与深度学习技术 三、环境感知在不同领域的应用&#xff08;一…

Vue3学习:vite项目中图片不能显示,报错 require is not defined

今天做了一个案例“给你喜欢的人送花”&#xff0c;如果喜欢谁&#xff0c;就给谁送花&#xff0c;最多可以送5朵。运行效果如下。 这个项目是使用 npm create vitelatest 命令创建的。 包括2个组件&#xff1a; 根组件App.vue子组件HelloVote.vue。 目录结构如图所示&#x…

秋招面试题记录_半结构化面试

c八股(可能问的多一点) 1.简单说说C11语法特性 答&#xff1a; 1.auto以及decltype自动类型推导&#xff0c;避免手动声明复杂类型&#xff0c;减少冗长代码提升了可读性和安全性。 2.智能指针 自动释放内存 (具体说说) 有shared和unique 差异主要体现在所有权、内存开销、…

Java项目-基于springboot框架的校园在线拍卖系统项目实战(附源码+文档)

作者&#xff1a;计算机学长阿伟 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、ElementUI等&#xff0c;“文末源码”。 开发运行环境 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBoot、Vue、Mybaits Plus、ELementUI工具&#xff1a;IDEA/…

Java的walkFileTree方法用法【FileVisitor接口】

在Java旧版本中遍历文件系统只能通过File类通过递归来实现&#xff0c;但是这种方法不仅消耗资源大而且效率低。 NIO.2的Files工具类提供了两个静态工具方法walk()和walkFileTree()可用来高效并优雅地遍历文件系统。walkFileTree()功能更强&#xff0c;可自定义实现更多功能&am…

Git中Update和Pull的区别

在本文中&#xff0c;我们将介绍Git中的两个操作——”Update”和”Pull”&#xff0c;并解释它们之间的区别。 1、“Update”的含义和用法 “Update”是Git中用于更新本地仓库和工作区的操作。它的作用是将远程仓库中的最新变更同步到本地。当我们执行”Update”操作时&…

(二十)、从宿主机访问 k8s(minikube) 发布的 redis 服务

文章目录 1、环境准备2、具体操作2.1、启动 minikube (start/stop)2.2、准备 redis-deployment.yaml2.3、执行 redis-deployment.yaml2.3.1、查看 pod 信息和日志 2.4、检查部署和服务状态2.4.1、如果需要删除 3、查看 IP 的几个命令3.1、查看IP的几个命令3.2、解读3.3、宿主机…

Apache 出现 “403 forbidden“ 排查方法

1、检查运行 Apache 进程的用户没有对目录具备读取权限 如果该用户没有对 Directory 指定的目录具备适当的读取权限&#xff0c;就会导致 403 错误。 ​​例如&#xff1a;使用用户apache启动Apache进程&#xff0c;但是apache用户对 Directory 指定的目录没有读取权限 2、检查…

k8s的部署和安装

k8s的部署和安装 一、Kubernets简介及部署方法 1.1 应用部署方式演变 在部署应用程序的方式上&#xff0c;主要经历了三个阶段&#xff1a; 传统部署&#xff1a;互联网早期&#xff0c;会直接将应用程序部署在物理机上 优点&#xff1a;简单&#xff0c;不需要其它技术的参…

Python基础09_类和对象(下)迭代器和生成器函数式编程

一、类和对象(下) 1、封装 封装是指隐藏类的实现细节&#xff0c;让使用者不用关心这些细节; 封装的目的是让使用者通过尽可能少的方法(或属性)操作对象 Python的封装是假的&#xff08;模拟的&#xff09;封装 私有属性和方法 python类中以双下划线(__)开头&#xff0c;不…

AI 通俗理解强人工智能和弱人工智能

强人工智能&#xff08;Strong AI&#xff09;和弱人工智能&#xff08;Weak AI&#xff09;是两种不同类型的人工智能系统&#xff0c;它们的目标、能力和应用范围有很大的区别。 生活化例子 想象你有两个助手&#xff1a; 弱人工智能助手&#xff1a;你让它查资料、翻译、…

HarmonyOS Next模拟器异常问题及解决方法

1、问题1&#xff1a;Failed to get the device apiVersion. 解决方法&#xff1a;关闭模拟器清除用户数据重启

电子商务网站维护技巧:保持WordPress、主题和插件的更新

在这个快节奏的数字时代&#xff0c;维护一个电子商务网站的首要任务之一是保持WordPress、主题和插件的最新状态。过时的软件不仅可能导致功能故障&#xff0c;还可能带来安全风险。本文将深入探讨如何有效地更新和维护您的WordPress网站&#xff0c;以确保其安全性和性能。 …

【天池比赛】【零基础入门金融风控 Task2赛题理解】【2.3.6】

【天池比赛】【零基础入门金融风控 Task2赛题理解】【2.3.1-2.3.5】 2.3.6 变量分布可视化 2.3.6.1 单一变量分布可视化 对于 pandas.core.series.Series 类型的变量&#xff1a; index&#xff1a;含义&#xff1a;它表示 Series 对象的索引&#xff0c;也就是每个数据点对…

Docker-Consul概述以及集群环境搭建

文章目录 一、Docker consul概述二、consul 部署1.consul服务器2.registrator服务器&#xff08;客户端&#xff09;2.consul-template&#xff08;在consul服务器&#xff09;3.consul 多节点 一、Docker consul概述 容器服务更新与发现&#xff1a;先发现再更新&#xff0c;…