MO-MFEA--多目标多任务优化

MO-MFEA–多目标多任务优化

title: Multiobjective Multifactorial Optimization in Evolutionary Multitasking

author: Abhishek Gupta, Yew-Soon Ong, Liang Feng, and Kay Chen Tan.

journal: IEEE TRANSACTIONS ON CYBERNETICS (TCYB)

DOI:10.1109/TCYB.2016.2554622

code:https://github.com/intLyc/MTO-Platform/tree/master/MTO/Algorithms/Multi-objective Multi-task/Multi-factorial/MO-MFEA

1.主要贡献:

1)提出了MO-MFO范式,旨在同时解决多个多目标优化问题;

2)提出了MO-MFEA来解决MO-MFO问题。

2.问题提出:

1)单目标的MFEA在许多实际应用问题上取得了很大的成功,多目标优化问题在实际应用中越来越受到关注。但现有的多目标优化大多数是一次解决一个问题,很少能同时解决多个多目标优化问题。

2)由于多目标优化问题的最终结果是一组互相不可比较的解(帕累托前沿),在MO-MFO中,我们希望可以将一个任务中好的知识迁移至另一个任务中,所以在MO-MFO中,一个重要的问题是一个多目标优化问题(MOOP)中的候选解该如何排序,也就是说MO-MFEA中的标量适应度和因子等级该如何确定。

3.MO-MFEA:

3.1 MOOP中种群成员的排序

设存在一对个体 p 1 p_1 p1 p 2 p_2 p2,分别有非支配前沿 N F 1 NF_1 NF1 N F 2 NF_2 NF2,以及拥挤距离 C D 1 CD_1 CD1 C D 2 CD_2 CD2。如果个体 p 2 p_2 p2优于 p 1 p_1 p1(即 p 2 ≻ p 1 p_{\mathrm{ 2}} \succ p_{\mathrm{ 1}} p2p1),则

1) N F 2 < N F 1 NF_2 < NF_1 NF2<NF1.

2) N F 2 = N F 1 NF_2 = NF_1 NF2=NF1 and C D 2 > C D 1 CD_2 > CD_1 CD2>CD1.

3.2 算法框架

首先,在统一搜索空间中生成随机初始种群,如算法1第1行;

其次,为每个个体都分配一个特定的技能因子,如算法1的2-3行;注意:MFEA中个体的初始技能因子是通过计算得来的,而MO-MFEA则是随机设定。

然后,计算标量适应度,如算法1的第4行;

接着,根据标量适应度采用锦标赛选择策略选择父代,并执行选型交配来产生后代,如算法2所示。

最后,执行垂直文化传播策略来为每个子代个体确定技能因子并选择出下一代种群。

image-20240415141523565

3.3 选型交配和垂直文化传播

注意,MO-MFEA与MFEA中选型交配策略的不同之处在于:如算法2的第2行,当知识迁移发生时,子代的产生使用的是Crossover+Mutate,而MFEA则只使用了Crossover。

image-20240415143856167

4.思考

1)MO-MFEA第一次尝试将多目标优化与多任务优化结合的,并在实际应用中验证其有效性。

2)MO-MFEA中个体的标量适应度及因子等级是根据NSGA-II中的非支配排序和拥挤度距离来确定的,且任务数为1的MO-MFEA就是NSGA-II。

3)正如文章中所提到的那样,跨域多任务优化还需要进一步研究。MFEA中研究了单目标连续与离散优化问题之间隐式并行性。本文中所提到的多目标优化跟单目标优化是否也存在隐式并行性呢?

4)MO-MFEA中单个MOOP的种群个体排序除了NSGA-II的方式,还可以探究其他的方式。

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

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

相关文章

C ++ 和 C语言的优缺点分别是什么?

C语言&#xff0c;它简直就是编程世界的一块磐石。简洁、直接&#xff0c;让人一眼就能明白它想干嘛。它的运行速度快&#xff0c;接近硬件操作&#xff0c;特别适合那些需要直接与硬件打交道的场景。但就是因为这种接近硬件的特性&#xff0c;C语言在抽象层次上就显得有点捉襟…

项目设计方案:市交通视频监控平台项目设计方案(五)-完稿

目录 1 前言 1.1 目的 1.2 适用范围 1.3 术语表 2 现状分析 2.1 业务现状 2.2 组织机构现状 2.3 存在的问题 2.4 项目成果预期 3 系统建设原则 4 项目需求 4.1 项目需求 4.1.1 业务需求主要分为三部分&#xff1a; 4.1.2 技术需求主要分为四部分&#xff1a; 4.2…

华为防火墙配置双机热备

一、组网需求 公司A基于确保内部网络安全性的考虑&#xff0c;在内外网络之间部署了防火墙。由于防火墙设备是所有信息流都必须通过的单一节点&#xff0c;故一旦防火墙设备出现故障所有信息流都会中断。为了增强网络的可靠性&#xff0c;保证当防火墙设备出现故障时不中断网络…

怎样关闭谷歌浏览器自动更新,亲测ok

步骤一 在服务中禁用Google更新 步骤二 Chrome更新是利用Update文件夹里的升级程序来升级的&#xff0c;需要要删除里面的文件&#xff0c;再让Chrome没法在Update文件夹里继续自动生成更新程序。所以还要清空Update文件夹并设置权限&#xff0c;让Chrome没有权限修改这个文件…

linux 自定义命令/别名

参考资料 Linux(Ubuntu)自定义命令的使用Linux/Ubuntu系统自定义Shell命令Ubuntu/Linux 操作系统 自定义命令 目录 一. 为路径取别名二. 修改.profile文件2.1 .profile简介2.2 需求2.3 修改.profile文件 三. 创建软链接 一. 为路径取别名 ⏹需求&#xff1a;有一个work文件夹…

CRMEB 开源/标准版商城系统客服配置教程

管理后台/设置/系统设置/商城配置/客服端配置 有系统客服/拨打电话/跳转链接可选&#xff0c;系统客服为系统自带的客服系统&#xff0c;拨打电话为用户点击联系客服为拨打客服电话的方式&#xff0c;跳转链接为可以跳转自己开发的客服系统或者第三方的客服系统或者企业微信的…

为什么拥有C语言基础的人,依然学不会C++?

拥有C语言基础的人在学习C时可能会遇到挑战&#xff0c;原因主要有以下几点&#xff1a; 思维方式转变&#xff1a; C语言是一种面向过程的语言&#xff0c;注重函数和过程调用&#xff0c;以及直接操作内存。 C则引入了面向对象编程&#xff08;OOP&#xff09;的概念&#x…

使用 Python 实现复制粘贴的功能

pandas 里面有一个 pd.read_clipboard 函数&#xff0c;可以根据你复制的内容生成DataFrame。是的&#xff0c;就是我们平时选中&#xff0c;然后 CtrlC 时拷贝的内容。所以比较神奇&#xff0c;那么 pandas 到底是怎么做到的&#xff0c;它是怎么读出我们使用 Ctrl C 复制的内…

nodejs解析url参数

需要引入 url 模块&#xff1b; var http require(http); var url require(url);http.createServer(function (req, res) {res.writeHead(200, {Content-Type: text/plain});// 解析 url 参数var params url.parse(req.url, true).query;res.write("name: " par…

CST电磁仿真的点/线/面设置操作【入门基础】

选择点/线/面 通过Pick功能选择点/线/面的方法 Modeling > Picks > Picks > Pick Points, Edges or Faces Pick是在模型上或任意空间中选择Point、Edge、Face的功能。利用Pick功能可以轻松获取模型的位置、尺寸等信息&#xff0c;也可以在执行Modeling和Result Han…

使用冒泡排序模拟实现qsort函数

目录 冒泡排序qsort函数的使用1.使用qsort函数排序整型数据2.使用qsort函数排序结构数据 冒泡排序模拟实现qsort函数今日题目1. 字符串旋转结果2.杨氏矩阵3.猜凶手4.杨辉三角 总结 冒泡排序 冒泡排序的核心思想是:两两相邻的元素进行比较 代码如下: //⽅法1 void bubble_so…