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

凸优化学习

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

学习笔记

一、定义

形如:
min ⁡ f 0 ( x ) s.t. f i ( x ) ≤ 0 h i ( x ) = 0 其 中 , f 0 : R n → R q , f i : R n → R , h i : R n → 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
表示有 q q q个变量需要优化。

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

形如:
min ⁡ − Speed min ⁡ − Quality s.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:将多目标优化转换为单目标优化求解

f 0 ( x ) , f i ( x ) f_0(x),f_i(x) f0(x),fi(x)为凸, h i ( x ) h_i(x) hi(x)为仿射时,可以进行如下转换。
形如:
min ⁡ ∑ i = 1 q λ i f 0 i ( x ) s.t. f i ( x ) ≤ 0 h i ( 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 ⁡ f 0 1 ( x ) min ⁡ f 0 2 ( x ) s.t. f i ( x ) ≤ 0 h i ( 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 ⁡ f 0 1 ( x ) + λ f 0 2 ( x ) s.t. f i ( x ) ≤ 0 h i ( 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 ⁡ f 0 1 ( x ) s.t. f i ( x ) ≤ 0 h i ( x ) = 0 f 0 2 ( 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、付费专栏及课程。

余额充值