文献翻译 (3):非支配排序遗传算法 (Non-dominated Sorting Genetic Algorithm, NSGA-II)

news2025/1/11 1:15:15

文章目录

  • 1 引入
  • 2 多目标优化
  • 3 更多的定义
    • 3.1 支配
    • 3.2 非支配集
    • 3.3 全局Pareto最优集
  • 4 NSGA-II

1 引入

本文主要介绍多目标优化的基本概念以及NSGA-II。

2 多目标优化

多目标优化的优化目标之间存在一定的冲突,例如一个目标增长,导致另一个减少。因此这里的解是一组解决方案而非唯一的全局解。

通常,我们有以下数学问题:
min ⁡ / max ⁡ : f m ( x ) , m = 1 , 2 , … , M s . t . : g j ( x ) ≥ 0 , j = 1 , 2 , … , J h k ( x ) = 0 , k = 1 , 2 , … , K x i ( L ) ≤ x i ≤ x i ( U ) , i = 1 , 2 , … , n \begin{aligned} \min/\max:&f_m(\mathbf{x}),&m&=1,2,\dots,M\\ s.t.:&g_{j}(\mathbf{x})\geq0,&j&=1,2,\dots,J\\ &h_k(\mathbf{x})=0,&k&=1,2,\dots,K\\ &x_i^{(L)}\leq x_i\leq x_i^{(U)},&i&=1,2,\dots,n \end{aligned} min/max:s.t.:fm(x),gj(x)0,hk(x)=0,xi(L)xixi(U),mjki=1,2,,M=1,2,,J=1,2,,K=1,2,,n一个解是包含 n n n个变量的向量:
x = ( x 1 , x 2 , … , x n ) T \mathbf{x}=(x_1,x_2,\dots,x_n)^T x=(x1,x2,,xn)T此外,问题屈服于 J J J个不等式约束和 K K K个等式约束,每一个变量都有一个相应的上界和下界。

满足所有约束且在上下界之间的解被称为可行解。所有可行解的集合被称为可行域 (搜索空间) S S S目标空间由所有可行解对应的的 M M M个目标函数的值构成。

3 更多的定义

3.1 支配

如果条件1和2均满足,则解 x ( 1 ) \mathbf{x}^{(1)} x(1)支配解 x ( 2 ) \mathbf{x}^{(2)} x(2)

  • 条件1:对于所有的目标函数均有 x ( 1 ) \mathbf{x}^{(1)} x(1)不差于 x ( 2 ) \mathbf{x}^{(2)} x(2)
  • 条件2:在至少一个目标函数上 x ( 1 ) \mathbf{x}^{(1)} x(1)严格优于 x ( 2 ) \mathbf{x}^{(2)} x(2)

x ( 1 ) \mathbf{x}^{(1)} x(1)支配 x ( 2 ) \mathbf{x}^{(2)} x(2)的数学表达为:
x ( 1 ) ⪯ x ( 2 ) \mathbf{x}^{(1)}\preceq\mathbf{x}^{(2)} x(1)x(2)

3.2 非支配集

对于解集 P P P,其非支配集是所有不被其他解所支配的解的集合。

3.3 全局Pareto最优集

S S S的非支配集即为全局Pareto最优集。

一个例子是土木工程中的悬臂梁设计:通过改变悬臂梁长度和直径,来最小化挠度和重量。图1展示了相应的目标空间:不同长度和直径下的挠度与重量变化。

图1:挠度与重量


该曲线可以很直观地反应全局Pareto最优集中挠度和重量的权衡。

图2:左图为可行的决策变量空间,右图为可行的目标空间


图2中靠近原点的目标空间中,形成的一条曲线即为Pareto最优前沿。非可行解也能生成靠近原点的目标值。Pareto前沿表示可能的最佳权衡

4 NSGA-II

NSGA-II是一种进化算法。进化算法被开发的原因为:直接或基于梯度的技术在处理非线性和复杂交互时存在以下问题:

  • 最优解的收敛依赖于初始解的选择;
  • 大多数算法易陷入局部最优。

NSGA-II的理解需要一些前驱知识,可以参照:

  1. 遗传算法简介
  2. Matlab与遗传算法
  3. Pymoo与遗传算法

NSGA-II的特征如下:

  1. 精英准则:种群的精英将更可能传递到下一代;
  2. 拥挤距离:一种显示的多样性保持机制;
  3. 着重非支配解

算法的步骤如下:

  1. 对父代和后代种群的组合进行非支配排序,并按前沿对它们进行分类,即它们根据非支配级别的升序排序:
图3:最小化f1、f2。三种前沿级别
  1. 根据前面的排序来填充新种群;
  2. 如果一个前沿像F3一样部分采取,则执行拥挤排序,密度较小的是首选;
  3. 使用拥挤锦标赛选择 (通过前排比较,如果相等则通过拥挤距离比较)、交叉,以及变异算子从这个新种群创建后代种群。

图4:NSGA-II的语义表示

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

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

相关文章

Vue2 新手上路无处不在的特殊符号,让人傻傻分不清 “:”、“.”、“@”、“#” 、“{{}}“ 、“$“

刚刚学vue没多久,经常分不清情况什么时候用什么符号: “:” 是指令 “v-bind”的缩写 “.”是修饰符 “”是指令“v-on”的缩写 ,它用于监听 DOM 事件 “#”是v-slot的缩写; "{{}}" 插值语法 "$" &#…

智慧工厂在线云平台,助力企业降本增效!

随着传统制造企业规模的扩大,人工管理方法不可避免的产生延时、错误和矛盾,人工管理方法已经无法对生产管理实施有效的控制, 随着设备类型、数量不断增加,人工管理的方式已经无法满足生产过程中人、机、料、法、环、测的有效管理。如何将这些…

2022年——一个老老老程序员的杭州折腾之旅

📢欢迎点赞 :👍 收藏 ⭐留言 📝 如有错误敬请指正,赐人玫瑰,手留余香!📢本文作者:由webmote 原创📢作者格言:无尽的折腾后,终于又回到…

[Android]视图的控触操作-MotionEvent

引入 对屏幕的任何操作,系统都会创建一个触摸事件的对象MotionEvent来应对这个操作。当点击手机屏幕的某一个视图时,最先感应到的是屏幕,因为Activity系统是分层的结构,底层是一些驱动,所以驱动就会得到信息并且把信息…

分布式共识算法——Paxos、ZAB、Raft

分布式算法 01 分布式基本理论 CAP理论 1998年,加州大学的计算机科学家 Eric Brewer 提出,分布式系统有三个指标。 一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值,即写操…

第008课 - linux安装docker

文章目录 linux安装docker安装docker启动docker检查dockerdocker设置开机自启动linux安装docker 每一种容器都是一个完整的运行环境,容器之间互相隔离的。 windows的ghost工具就是类似docker。 从网上获取镜像,基于镜像,docker可以启动一个容器。 所以,我们以后想要装某种…

elasticsearch在linux环境安装遇到问题

es在linux环境安装遇到问题 1、启动失败日志 ERROR: [1] bootstrap checks failed [1]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be con…

对某颜色站的一次渗透实战

1. 前提 1.1 某颜色cms弱口令原理 去年的时候,在网上看到有些师傅在打击颜色站,当时自己也摸索着试试,利用一个叫做jiuse cms的站来进行批量测试。 这个cms的特点是非常的小,前台除了xss之外,基本上漏洞都在后台&…

区块链+游戏:未来真的有未来吗?

今年以来,伴随着元宇宙与P2E的火热浪潮,区块链以其强大的叙事能力势如破竹的切入到传统游戏领域,顶级风投、知名巨企纷纷入局,迸发出极大的经济潜能,引发了社会的广泛关注。 一方面,区块链技术在游戏的运用…

【漏洞复现】多语言文件包含漏洞分析

漏洞描述&#xff1a; ThinkPHP在开启多语言功能的情况下存在文件包含漏洞&#xff0c;攻击者可以通过get、header、cookie等位置传入参数&#xff0c;实现目录穿越文件包含&#xff0c;通过pearcmd文件包含这个trick即可实现RCE。 影响版本&#xff1a; 6.0.1 < ThinkPH…

【TypeScript】TS交叉类型联合类型(四)

&#x1f431;个人主页&#xff1a;不叫猫先生 &#x1f64b;‍♂️作者简介&#xff1a;前端领域新星创作者、华为云享专家、阿里云专家博主&#xff0c;专注于前端各领域技术&#xff0c;共同学习共同进步&#xff0c;一起加油呀&#xff01; &#x1f4ab;系列专栏&#xff…

Mybatis_Plus_@TableName,@TableField

思考一个问题:为啥继承BaseMapper< POJO >&#xff0c;能直接找到Mysql的表 默认情况下:mp根据BaseMapper泛型POJO类取数据库底下找与POJO类型一致的表 思考一个问题:如果把表user改成tb_user那么我们需要怎么解决 使用TableName注解 TableField 思考一个问题:我们新增…

学习.NET MAUI Blazor(五)、修改窗口标题

由于Blazor属于SPA&#xff08;single-page application&#xff09;&#xff0c;所以页面标题需要使用PageTitle组件来实现。但是在MAUI Blazor中&#xff0c;Blazor所在的位置是WebView&#xff0c;而标题是属于window。所以在MAUI Blazor中&#xff0c;使用PageTitle是无效的…

vue+bpmn-js 示例/基础入门/动态创建流程节点

先附一个完整的示例&#xff0c;下面做具体介绍 <template><div classcontainers><el-button click"saveXml"></el-button><div class"canvas" ref"canvas"></div><div class"properties" id…

YOLO系列中Anchor Based和Anchor Free的相爱相杀

前言 我们都知道按照是否出现RPN可将目标检测算法分为two-stage和one-stage&#xff0c;其中one-stage的一个主要代表便是YOLO系列&#xff0c;而根据是否存在先验锚框的定义我们也可以将其分为Anchor based和Anchor free两类&#xff0c;关于这两种也是各有优劣&#xff0c;但…

物联网终端的防护体系

针对漏洞的恶意行为分析 我们共捕获到 4 种针对 UPnP 漏洞的利用行为 1&#xff0c;如表 4.7 所示。从中可以看出&#xff0c;这些漏洞均为远程 命令执行类漏洞。另外我们也发现&#xff0c;当漏洞出现在特定端口时&#xff0c;攻击者一般不会经过 UPnP 的发现阶段&#xff0c…

携手用友低代码开发,德鑫物联将RFID融入企业服务大生态

如今&#xff0c;消费者凭借一部手机就可以轻松鉴别名酒的真伪&#xff1a;一些名酒在瓶盖的封膜下已经植入了RFID芯片&#xff0c;消费者用带有NFC功能的手机并安装相应的APP&#xff0c;只需靠近RFID芯片&#xff0c;即可获取产品品名、规格、生产日期等验证信息。 不只是名…

论文阅读:人机情绪的趋同、循环与溢出——基于 Twitter 涉中议题的数据分析

论文链接&#xff1a;https://shimo.im/files/vVqRVZGEXgcZbRqy/ 《人机情绪的趋同、循环与溢出...tter涉中议题的数据分析_黄阳坤.pdf》&#xff0c;可复制链接后用石墨文档 App 打开 摘要&#xff1a; 在传播研究情感转向的背景下&#xff0c;社交媒体上人机用户间的情绪互动…

【操作系统】抖动、缺页中断率、页面置换算法

文章目录缺页中断率影响缺页中断率的因素抖动&#xff08;颠簸&#xff09;页面置换算法1、最佳页面淘汰算法&#xff08;OPT&#xff09;2、先进先出页面淘汰算法&#xff08;FIFO&#xff09;3、最近最久未使用页面淘汰算法&#xff08;LRU&#xff09;缺页中断率 对于进程P…

【Linux】pidstat命令

作用&#xff1a;Report statistics for Linux tasks. 人话&#xff1a;进程级别的统计报告&#xff0c;用于分析进程的各种维度的指标&#xff08;CPU、内存、I/O、中断、上下文切换等等&#xff09; 这是一个综合型的命令&#xff0c;非常有用。 参数总结&#xff1a; -p: …