原问题-对偶问题-KKT条件

本文介绍了拉格朗日对偶问题的概念,通过等高线和切线的直观解释说明了拉格朗日函数的作用。接着,阐述了KKT条件,包括Slater条件和强对偶性的概念,指出它们在凸优化问题中的重要性。文章还提及了KKT条件作为约束优化问题解的充分必要条件,并提供了计算实例链接。
摘要由CSDN通过智能技术生成

原问题-对偶问题-KKT条件

本文主要是对第1个视频的文字总结,原视频讲得很好。
计算实例部分可以看看第2个链接中的文章。

  1. "拉格朗日对偶问题"如何直观理解?“KKT条件” “Slater条件” "凸优化"打包理解_哔哩哔哩_bilibili

  2. KKT条件,原来如此简单 | 理论+算例实践


拉格朗日函数的直观理解

单个等式约束

  • 目标函数 f ( x , y ) f(x,y) f(x,y)可以在 X-Y 平面上画等高线来表示
  • 等式约束条件 y − g ( x ) = 0 y-g(x)=0 yg(x)=0是 X-Y 平面上的一条曲线。
  • 目标函数最小值一定是在曲线与等高线相切处取到,数学形式就是曲线的法线方向和 f ( x , y ) f(x,y) f(x,y)的梯度方向在同一直线上,可以通过调整 λ \lambda λ使得两者大小相等,方向相反。

在这里插入图片描述

多个线性不等式约束条件

  • 起作用的约束条件取到等号,系数大于0,对应约束条件是紧致
  • 不起作用的约束条件取不到等号,系数等于0,对应约束条件是松弛
  • 归纳成一个式子: λ i g i ( x ∗ ) = 0 \lambda_ig_i(\mathbf{x}^*)=0 λigi(x)=0

在这里插入图片描述

原问题

min ⁡ x f 0 ( x ) , x ∈ R n s.t. { f i ( x ) ⩽ 0 , i = 1 , ⋯   , m h j ( x ) = 0 , j = 1 , ⋯   , q \begin{align*} &\min_{\mathbf{x}}{f_0(\mathbf{x})},\mathbf{x}\in \mathbb{R}^n\\ &\text{s.t.}\left\{ \begin{aligned} &{f_i}({\mathbf{x}}) \leqslant 0,\quad i = 1, \cdots ,m \\ &{h_j}({\mathbf{x}}) = 0,\quad j = 1, \cdots ,q \\ \end{aligned} \right. \end{align*} xminf0(x),xRns.t.{fi(x)0,i=1,,mhj(x)=0,j=1,,q

等价于

L ( x , λ , v ) = f 0 ( x ) + ∑ i = 1 m λ i f i ( x ) + ∑ j = 1 q v j h j ( x ) min ⁡ x max ⁡ λ , v L ( x , λ , v ) s.t. λ ≥ 0 \begin{align*} &L(\mathbf{x},\boldsymbol{\lambda},\boldsymbol{v}) =f_0(\mathbf{x})+\sum_{i=1}^{m}{\lambda_i f_i(\mathbf{x})}+\sum_{j=1}^{q}{v_jh_j(\mathbf{x})}\\ &\min_{\mathbf{x}}{\max_{\boldsymbol{\lambda},\boldsymbol{v}}{L(\mathbf{x},\boldsymbol{\lambda},\boldsymbol{v})}} \\ &\text{s.t.} \enspace \boldsymbol{\lambda} \geq \boldsymbol{0} \end{align*} L(x,λ,v)=f0(x)+i=1mλifi(x)+j=1qvjhj(x)xminλ,vmaxL(x,λ,v)s.t.λ0

在这里插入图片描述

对偶问题

交换原问题中 min ⁡ x \min_{\mathbf{x}} minx max ⁡ λ , v \max_{\boldsymbol{\lambda},\boldsymbol{v}} maxλ,v的顺序:

g ( λ , v ) = min ⁡ x L ( x , λ , v ) max ⁡ λ , v g ( λ , v ) s.t. λ ≥ 0 \begin{align*} &g(\boldsymbol{\lambda},\boldsymbol{v}) =\min_{\mathbf{x}}{L(\mathbf{x},\boldsymbol{\lambda},\boldsymbol{v})}\\ &\max_{\boldsymbol{\lambda},\boldsymbol{v}}{g(\boldsymbol{\lambda},\boldsymbol{v})} \\ &\text{s.t.} \enspace \boldsymbol{\lambda} \geq \boldsymbol{0} \end{align*} g(λ,v)=xminL(x,λ,v)λ,vmaxg(λ,v)s.t.λ0

等价于

max ⁡ λ , v g ( λ , v ) s.t. { ∇ x L ( x , λ , v ) = 0 λ ≥ 0 \begin{align*} &\max_{\boldsymbol{\lambda},\boldsymbol{v}}{g(\boldsymbol{\lambda},\boldsymbol{v})} \\ &\text{s.t.} \enspace \left\{ \begin{aligned} &\nabla_{\mathbf{x}}{L(\mathbf{x},\boldsymbol{\lambda},\boldsymbol{v})}=\boldsymbol{0} \\ &\boldsymbol{\lambda} \geq \boldsymbol{0}\\ \end{aligned} \right. \end{align*} λ,vmaxg(λ,v)s.t.{xL(x,λ,v)=0λ0

在这里插入图片描述

不论原问题是不是凸优化问题,其对偶问题一定是一个凸优化问题,因为

g ( λ , v ) = f 0 ( x ∗ ) + ∑ i = 1 m λ i f i ( x ∗ ) + ∑ j = 1 q v j h j ( x ∗ ) g(\boldsymbol{\lambda},\boldsymbol{v})=f_0(\mathbf{x^*})+\sum_{i=1}^{m}{\lambda_i f_i(\mathbf{x^*})}+\sum_{j=1}^{q}{v_jh_j(\mathbf{x^*})} g(λ,v)=f0(x)+i=1mλifi(x)+j=1qvjhj(x)

是关于 λ i \lambda_i λi v j v_j vj的线性函数。

在这里插入图片描述

对偶问题和原问题的关系

  • 原问题的解 P ∗ P^* P一定大于等于对偶问题的解 D ∗ D^* D

在这里插入图片描述

强对偶关系

当原问题和对偶问题是强对偶关系时, P ∗ = D ∗ P^*=D^* P=D

判断两者是否满足强对偶关系,有充分条件和必要条件。

  • 充分条件——Slater条件
    • 原问题是一个凸优化问题,即目标函数 f 0 ( x ) f_0(\mathbf{x}) f0(x)是一个凸函数,约束条件是一个凸集
    • 同时,原问题满足Slater条件,即可行域内部存在一个点满足 f i ( x ) < 0 f_i(\mathbf{x})<0 fi(x)<0

在这里插入图片描述

  • 必要条件——KKT条件

KKT条件有5个条件,分别保证原问题和对偶问题的约束,以及确定不等式约束是紧致还是松弛:

{ f i ( x ∗ ) ⩽ 0 , i = 1 , ⋯   , m h j ( x ∗ ) = 0 , j = 1 , ⋯   , q ∇ x L ( x ∗ , λ , v ) = 0 λ ≥ 0 λ i f i ( x ∗ ) = 0 , i = 1 , ⋯   , m \left\{ \begin{align*} &{f_i}({\mathbf{x^*}}) \leqslant 0,\quad i = 1, \cdots ,m \\ &{h_j}({\mathbf{x^*}}) = 0,\quad j = 1, \cdots ,q \\ &\nabla_{\mathbf{x}}{L(\mathbf{x^*},\boldsymbol{\lambda},\boldsymbol{v})}=\boldsymbol{0} \\ &\boldsymbol{\lambda} \geq \boldsymbol{0}\\ &\lambda_i f_i(\mathbf{x}^*)=0, i = 1, \cdots ,m \end{align*} \right. fi(x)0,i=1,,mhj(x)=0,j=1,,qxL(x,λ,v)=0λ0λifi(x)=0i=1,,m

在这里插入图片描述

一般来说,可以把KKT条件当做充要条件使用

用KKT条件求解约束优化问题的实例

此文中的 4.1节——数值计算实操

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值