KKT条件

在这里插入图片描述

1: 等式约束优化问题

给定一个目标函数 f : R n → R f:\Reals^n\rightarrow\Reals f:RnR,我们希望找到 $\textrm{x}\in\Reals^n,在满足约束条件 g ( x ) = 0 g(\textrm{x})=0 g(x)=0 的前提下,使得 f ( x ) f(\textrm{x}) f(x)有最小值。这个约束优化问题记为
min ⁡ f ( x ) s . t . g ( x ) = 0 \begin{aligned} \min\quad &f(\textrm{x})\\ s.t.\quad &g(\textrm{x})=0 \end{aligned} mins.t.f(x)g(x)=0
为方便分析,假设 f f f g g g 是连续可导函数。Lagrange乘数法是等式约束优化问题的典型解法。定义Lagrangian函数
L ( x , λ ) = f ( x ) + λ g ( x ) L(\textrm{x},\lambda)=f(\textrm{x})+\lambda g(\textrm{x}) L(x,λ)=f(x)+λg(x)
计算 L L L x \textrm{x} x λ \lambda λ 的偏导数并设为零,可得最优解的必要条件:
▽ x L = ∂ L ∂ x = ▽ f + λ ▽ g = 0 ▽ λ L = ∂ L ∂ λ = g ( x ) = 0 \begin{aligned} \triangledown_{\textrm{x}}L&=\dfrac{\partial L}{\partial\textrm{x}}=\triangledown f+\lambda\triangledown g=0\\ \triangledown_{\lambda}L&=\dfrac{\partial L}{\partial\lambda}=g(\textrm{x})=0 \end{aligned} xLλL=xL=f+λg=0=λL=g(x)=0
其中第一式为定常方程式(stationary equation),第二式为约束条件。解开上面 n + 1 n+1 n+1 个方程式可得 L ( x , λ ) L(\textrm{x},\lambda) L(x,λ) 的stationary point x ∗ \textrm{x}^* x 以及 λ \lambda λ 的值(正负数皆可能)。


2: 不等式约束优化问题

接下来我们将约束等式 g ( x ) = 0 g(\textrm{x})=0 g(x)=0 推广为不等式 g ( x ) ≤ 0 g(\textrm{x})\le0 g(x)0。考虑这个问题
min ⁡ f ( x ) s . t . g ( x ) ≤ 0 \begin{aligned} \min\quad &f(\textrm{x})\\ s.t.\quad &g(\textrm{x})\le0 \end{aligned} mins.t.f(x)g(x)0
约束不等式 g ( x ) ≤ 0 g(\textrm{x})\le0 g(x)0 称为原始可行性(primal feasibility),据此我们定义可行域(feasible region) K = { x ∈ R n ∣ g ( x ) ≤ 0 } K=\{\textrm{x}\in\Reals^n|g(\textrm{x})\le0\} K={xRng(x)0}。假设 x ∗ \textrm{x}^* x 为满足约束条件的最佳解,分开两种情况讨论:

  1. g ( x ∗ ) < 0 g(\textrm{x}^*)<0 g(x)<0,最佳解位于 K K K 的内部,称为内部解(interior solution),这时约束条件是无效的(inactive);
  2. g ( x ∗ ) = 0 g(\textrm{x}^*)=0 g(x)=0 ,最佳解落在 K K K 的边界,称为边界解(boundary solution),此时约束条件是有效的(active)。

这两种情况的最佳解具有不同的必要条件。

(1)内部解:在约束条件无效的情形下, g ( x ) g(\textrm{x}) g(x) 不起作用,约束优化问题退化为无约束优化问题,因此驻点 x ∗ \textrm{x}^* x 满足 ▽ f = 0 \triangledown f=0 f=0 λ = 0 \lambda=0 λ=0

(2)边界解:在约束条件有效的情形下,约束不等式变成等式 g ( x ) = 0 g(\textrm{x})=0 g(x)=0 ,这与前述Lagrange乘数法的情况相同。我们可以证明驻点 x ∗ \textrm{x}^* x 发生于 ▽ f ∈ s p a n ▽ g \triangledown f\in span\triangledown g fspang ,换句话说,存在 λ \lambda λ 使得 ▽ f = − λ ▽ g \triangledown f=-\lambda\triangledown g f=λg,但这里 λ \lambda λ 的正负号是有其意义的。因为我们希望最小化 f f f ,梯度 ▽ f \triangledown f f (函数 f f f 在点 x \textrm{x} x 的最陡上升方向)应该指向可行域 K K K 的内部(因为你的最优解最小值是在边界取得的),但 ▽ g \triangledown g g 指向 K K K 的外部(即 g ( x ) > 0 g(\textrm{x})>0 g(x)>0 的区域,因为你的约束是小于等于0),因此 λ ≥ 0 \lambda\ge0 λ0 ,称为对偶可行性(dual feasibility)

因此,不论是内部解或边界解, λ g ( x ) = 0 \lambda g(\textrm{x})=0 λg(x)=0 恒成立,称为互补松弛性(complementary slackness)。整合上述两种情况,最佳解的必要条件包括Lagrangian函数 L ( x , λ ) L(\textrm{x},\lambda) L(x,λ) 的定常方程式、原始可行性、对偶可行性,以及互补松弛性:
▽ x L = ▽ f + λ ▽ g = 0 g ( x ) ≤ 0 λ ≥ 0 λ g ( x ) = 0 \begin{aligned} \triangledown_{\textrm{x}}L&=\triangledown f+\lambda\triangledown g=0\\ g(\textrm{x})&\le0\\ \lambda&\ge0\\ \lambda g(\textrm{x})&=0 \end{aligned} xLg(x)λλg(x)=f+λg=000=0
这些条件合称为Karush-Kuhn-Tucker (KKT)条件。如果我们要最大化 $f(\textrm{x}) 且受限于 g ( x ) ≤ 0 g(\textrm{x})\le0 g(x)0,那么对偶可行性要改成 λ ≤ 0 \lambda\le0 λ0

上面结果可推广至多个约束等式与约束不等式的情况。考虑标准约束优化问题(或称非线性规划):
min ⁡ f ( x ) s . t . g j ( x ) = 0 , j = 1 , . . . , m h k ( x ) ≤ 0 , k = 1 , . . . , p \begin{aligned} \min\quad f(\textrm{x})\\ s.t.\quad g_j(\textrm{x})&=0, j=1,...,m\\ h_k(\textrm{x})&\le0, k=1,...,p \end{aligned} minf(x)s.t.gj(x)hk(x)=0,j=1,...,m0,k=1,...,p
定义Lagrangian 函数
L ( x , λ j , μ k = f ( x ) + ∑ j = 1 m λ j g j ( x ) + ∑ k = 1 p μ k h k ( x ) L(\textrm{x},{\lambda_j},{\mu_k}=f(\textrm{x})+\sum^m_{j=1}\lambda_jg_j(\textrm{x})+\sum^p_{k=1}\mu_kh_k(\textrm{x}) L(x,λj,μk=f(x)+j=1mλjgj(x)+k=1pμkhk(x)
其中 λ j \lambda_j λj 是对应 g j ( x ) = 0 g_j(\textrm{x})=0 gj(x)=0 的Lagrange乘数, μ k \mu_k μk 是对应 h k ( x ) h_k(\textrm{x}) hk(x) Lagrange乘数(或称KKT乘数)。KKT条件包括
▽ x = 0 g j ( x ) = 0 , j = 1 , . . . , m h k ( x ) ≤ 0 μ k ≥ 0 μ k h k ( x ) = 0 , k = 1 , . . . , p \begin{aligned} \triangledown_{\textrm{x}}&=0\\ g_j(\textrm{x})&=0,j=1,...,m\\ h_k(\textrm{x})&\le0\\ \mu_k&\ge0\\ \mu_kh_k(\textrm{x})&=0,k=1,...,p \end{aligned} xgj(x)hk(x)μkμkhk(x)=0=0,j=1,...,m00=0,k=1,...,p


3: 一个例子

考虑这个问题

min ⁡ x 1 2 + x 2 2 s . t . x 1 + x 2 = 1 x 2 ≤ α \begin{aligned} \min\quad&x^2_1+x^2_2\\ s.t.\quad&x_1+x_2=1\\ &x_2\le\alpha \end{aligned} mins.t.x12+x22x1+x2=1x2α
其中 ( x 1 , x 2 ) ∈ R 2 (x_1,x_2)\in\Reals^2 (x1,x2)R2 α \alpha α 为实数。写出Lagrangigan函数
L ( x 1 , x 2 , λ , μ ) = x 1 2 + x 2 2 + λ ( 1 − x 1 − x 2 ) + μ ( x 2 − α ) L(x_1,x_2,\lambda,\mu)=x^2_1+x^2_2+\lambda(1-x_1-x_2)+\mu(x_2-\alpha) L(x1,x2,λ,μ)=x12+x22+λ(1x1x2)+μ(x2α)
KKT 方程组如下:
∂ L ∂ x i = 0 , i = 1 , 2 x 1 + x 2 = 1 x 2 − α ≤ 0 μ ≥ 0 μ ( x 2 − α ) = 0 \begin{aligned} \dfrac{\partial L}{\partial x_i}&=0,i=1,2\\ x_1+x_2&=1\\ x_2-\alpha&\le0\\ \mu&\ge0\\ \mu(x_2-\alpha)&=0 \end{aligned} xiLx1+x2x2αμμ(x2α)=0,i=1,2=100=0
求偏导可得 ∂ L ∂ x 1 = 2 x 1 − λ = 0 \dfrac{\partial L}{\partial x_1}=2x_1-\lambda=0 x1L=2x1λ=0 ∂ L ∂ x 2 = 2 x 2 − λ + μ = 0 \dfrac{\partial L}{\partial x_2}=2x_2-\lambda+\mu=0 x2L=2x2λ+μ=0,分别解出 x 1 = λ 2 x_1=\dfrac{\lambda}2 x1=2λ x 2 = λ 2 − μ 2 x_2=\dfrac{\lambda}2-\dfrac{\mu}2 x2=2λ2μ。代入约束等式 x 1 + x 2 = λ − μ 2 = 1 x_1+x_2=\lambda-\dfrac{\mu}2=1 x1+x2=λ2μ=1 λ = μ 2 + 1 \lambda=\dfrac{\mu}2+1 λ=2μ+1。合并上面结果,
x 1 = μ 4 + 1 2 , x 2 = − μ 4 + 1 2 x_1=\dfrac{\mu}4+\dfrac12,\quad x_2 = -\dfrac{\mu}4+\dfrac12 x1=4μ+21,x2=4μ+21
最后再加入约束不等式 − μ 4 + 1 2 ≤ α -\dfrac{\mu}4+\dfrac12\le\alpha 4μ+21α μ ≥ 2 − 4 α \mu\ge2-4\alpha μ24α。底下分开三种情况讨论。
(1) α ≥ 1 2 \alpha\ge\dfrac12 α21:不难验证 μ = 0 ≥ 2 − 4 α \mu=0\ge2-4\alpha μ=024α 满足所有的KKT条件,约束不等式是无效的, x 1 ∗ = x 2 ∗ = 1 2 x^*_1=x^*_2=\dfrac12 x1=x2=21 是内部解,目标函数的极小值是 1 2 \dfrac12 21
(2) α < 1 2 \alpha<\dfrac12 α<21:这时约束不等式是有效的, μ = 2 − 4 α > 0 \mu=2-4\alpha>0 μ=24α>0,则 x 1 ∗ = 1 − α x^*_1=1-\alpha x1=1α x 2 ∗ = α x^*_2=\alpha x2=α,目标函数的极小值是 ( 1 − α ) 2 + α 2 (1-\alpha)^2+\alpha^2 (1α)2+α2

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值