找回密码
 立即注册
查看: 286|回复: 3

多目标优化(进化)算法入门(一)

[复制链接]
发表于 2022-3-11 21:13 | 显示全部楼层 |阅读模式
基于研究生阶段的学习和研究,将自己所理解到的知识进行一个记录分享。文中提及的都是个人认为核心的主线,理解清楚能拓展到其他的多目标优化算法。文中或许有些许错误,思虑不周,还望海涵。
基本概念

如果存在若干相互冲突的目标并需要同时处理,即成为多目标优化问题(Multi-objective Optimization Problems, MOPs)。对于MOPs,不可能使得所有的目标同时达到最优状态,只能得到一组均衡解,称之为Pareto最优集合。进化算法(Evolutionary algorithm,EA)是一类基于群体搜索的随机优化方法。EA运行一次可以获得一组解,而且对待复杂问题的数学性质不做严格假设,因而被广泛地应用于求解各类MOPs,并因此产生了许多经典的多目标进化算法(Multi-objective evolutionary algorithm,MOEA)。
非常重要的概念:对于所有子目标,若解xa不比解xb差,且xa至少有一个子目标比解xb好(好坏从目标空间取值来看,下文会举例说明),则称xa支配xb,称xa为非支配解,xb为支配解。若没有解支配xa,则称xa为Pareto最优解。所有Pareto最优解组成的集合被称为Pareto最优集合(Pareto Set,PS)。Pareto最优集合在目标空间的映射称为Pareto前沿(Pareto Front,PF)。
举例说明多目标优化问题:min f1=x2,min f2=(x-1)2

还是举例能最直接清楚阐述问题。首先单独来看,目标 f1和 f2都是单目标最优化问题,最优解分别为x=0和x=1(多目标优化中一般以最小化为最优目标)。但是对于多目标优化来说,最优解并不是一个具体的数值对,而是一组Pareto(帕累托)最优解,即PS。
注:PS是决策空间,也就是变量x;PF是PS在目标空间的映射,也就是目标 f1和 f2。



      图1 f1和 f2问题空间                    



图 2 目标空间

说明:由图1可以看出没有解可以使f1和 f2同时最小。当一个子目标达到最优时,另一个目标并不是最优。因此,当x[0,1]时,两个函数达成折衷解,称x[0,1]为PS
那估计有家人们要问,其他x取值就不是PS了吗?
显然不是,找个反例就能解释这种情况。例如,x=2就不是Pareto最优解,因为此时的两个函数的取值都没有x=1时好。设x1,x2[0,1],x3[0,1];显然,x1,x2没有被其他解支配,它们互为非支配解。x1,x2支配x3,x3为支配解。图2中加粗部分为此问题的PF
这一节主要说明了什么是多目标优化问题,以及多目标相关的基础概念。讲到这里核心的基本概念就说完了,清晰明了吧。提出问题之后就得解决问题,那如何解决问题,请看下回分解
有问题请随时指正。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2022-3-11 21:17 | 显示全部楼层
帕累托最优解的含义是,每一步更新,各项损失函数都下降或者不变,有一项损失增加了,那就不是最优解了
发表于 2022-3-11 21:22 | 显示全部楼层
Pareto解一般根据目标函数向量每一个目标的“大小的等级”来进行判断。
发表于 2022-3-11 21:23 | 显示全部楼层
最新多目标优化算法参考代码https://zhuanlan.zhihu.com/p/479491067
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-17 03:47 , Processed in 0.090570 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表