凸优化学习-(十七)多目标优化问题

探讨了多目标优化问题及其解决方案,介绍了帕累托最优面的概念,并展示了如何通过加权转换或改变约束条件将多目标问题转化为单目标问题进行求解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

凸优化学习

多目标优化问题和之后的拉格朗日乘子有异曲同工之妙,需要深入理解里面的概念。

学习笔记

一、定义

形如:
min⁡f0(x)s.t.fi(x)≤0hi(x)=0其中,f0:Rn→Rq,fi:Rn→R,hi:Rn→R \begin{aligned} \min&& f_0(x)&\\ \text{s.t.}&&f_i(x)&\le0\\ &&h_i(x)&=0\\ \end{aligned}\\ 其中,f_0:R^n\rightarrow R^q,f_i:R^n\rightarrow R,h_i:R^n\rightarrow R mins.t.f0(x)fi(x)hi(x)0=0,f0:RnRq,fi:RnR,hi:RnR
表示有qqq个变量需要优化。

例1:又好又快发展(帕累托最优面)

形如:
min⁡−Speedmin⁡−Qualitys.t.Resources \begin{aligned} \min&& -\text{Speed}&\\ \min&& -\text{Quality}&\\ \text{s.t.}&&\text{Resources}\\ \end{aligned}\\ minmins.t.SpeedQualityResources
关于这个问题的帕累托最优面:
在这里插入图片描述
定义:
Pareto optional front:\text{Pareto optional front}:Pareto optional front任意在该面上的点,若找到另一解是其在某个指标上变好,必在别的指标上变得更差。
Pareto optional value:\text{Pareto optional value}:Pareto optional value在该面上的点对应的函数值。
Pareto optional point:\text{Pareto optional point}:Pareto optional point在该面上的点对应的自变量。

解多目标问题就是求帕累托最优面。

例2:非连续的帕累托最优面(求解难度极大)

在这里插入图片描述

例3:将多目标优化转换为单目标优化求解

f0(x),fi(x)f_0(x),f_i(x)f0(x),fi(x)为凸,hi(x)h_i(x)hi(x)为仿射时,可以进行如下转换。
形如:
min⁡∑i=1qλif0i(x)s.t.fi(x)≤0hi(x)=0 \begin{aligned} \min&&\sum_{i=1}^q\lambda_if_{0_i}(x)&\\ \text{s.t.}&& f_i(x)&\le0\\ &&h_i(x)&=0\\ \end{aligned}\\ mins.t.i=1qλif0i(x)fi(x)hi(x)0=0
其中λi\lambda_iλi为权重,通过将多个函数加权,转换为单目标优化问题。本质上一个λi\lambda_iλi可以求出帕累托最优面上一个点,通过遍历λi\lambda_iλi可以求出帕累托最优面。

例4:遍历λi\lambda_iλi也求不出帕累托最优面的例子

在这里插入图片描述
可以这么理解,λi\lambda_iλi本质是找切线,通过切点构造出帕累托最优面。在上图中,帕累托最优面为折线部分。当我们寻找左半边的部分帕累托最优面时,有一部分切点的切线,是会交这个集合的,这部分帕累托最优面我们是找不到的。所以为什么前提条件要求可行解集是凸集。

例5:另一种优化方法

多目标优化问题还可以通过将其中某些目标变为约束,只优化一个目标的方式来进行优化。
原问题:

min⁡f01(x)min⁡f02(x)s.t.fi(x)≤0hi(x)=0 \begin{aligned} \min&&f_{0_1}(x)&\\ \min&&f_{0_2}(x)&\\ \text{s.t.}&& f_i(x)&\le0\\ &&h_i(x)&=0\\ \end{aligned}\\ minmins.t.f01(x)f02(x)fi(x)hi(x)0=0
方法1:
min⁡f01(x)+λf02(x)s.t.fi(x)≤0hi(x)=0 \begin{aligned} \min&&f_{0_1}(x)+\lambda f_{0_2}(x)&\\ \text{s.t.}&& f_i(x)&\le0\\ &&h_i(x)&=0\\ \end{aligned}\\ mins.t.f01(x)+λf02(x)fi(x)hi(x)0=0
方法2:
min⁡f01(x)s.t.fi(x)≤0hi(x)=0f02(x)≤ϵ \begin{aligned} \min&&f_{0_1}(x)&\\ \text{s.t.}&& f_i(x)&\le0\\ &&h_i(x)&=0\\ &&f_{0_2}(x)&\le \epsilon\\ \end{aligned}\\ mins.t.f01(x)fi(x)hi(x)f02(x)0=0ϵ

个人思考

解多目标问题一般是将其转换为单目标问题,直接求难度太高而且往往没必要。因为除非两个优化变量是有权(这样可以将其变为加权的单目标优化问题)的,不然帕累托最优面上的点一定是同等优的,这样我们去求出帕累托最优面上的一个点就可以了。

纸质笔记

在这里插入图片描述
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值