KKT条件的细致推导
KKT条件是非线性规划最佳解的必要条件,KKT条件将拉格朗日乘数法所处理的等式约束优化问题推广到不等式。
等式约束优化问题
给定一个目标函数 f : R n → R f:R^n \rightarrow R f:Rn→R,我们希望找到 x ∈ R n x \in R^n x∈Rn,在满足约束条件 g ( x ) = 0 g(x)=0 g(x)=0的前提下,使得f(x)有最小值,这个约束优化问题记为:
min f ( x ) s . t . g ( x ) = 0 \begin{aligned} &\min \qquad f(x) \\ & s.t. \qquad g(x)=0 \end{aligned} minf(x)s.t.g(x)=0
为了方便分析,假设f和g是连续可导函数,拉格朗日乘数法是等式约束优化问题的典型解法,定义拉格朗日函数:
L ( x , λ ) = f ( x ) + λ g ( x ) L(x,\lambda) = f(x) + \lambda g(x) L(x,λ)=f(x)+λg(x)
其中 λ \lambda λ称为拉格朗日乘数,拉格朗日乘数法将原本的约束优化问题转换成等价的无约束优化问题。
min x , λ L ( x , λ ) \mathop{\min}\limits_{x,\lambda} L(x,\lambda) x,λminL(x,λ)
计算L对 x x x与 λ \lambda λ的偏导数并设为零,就可以得到最优解的必要条件:
∇ x L = ∂ L ∂ x = ∇ f + λ ∇ g = 0 ∇ λ L = ∂ L ∂ λ = g ( x ) = 0 \begin{aligned} &\nabla_{x}L=\frac{\partial L}{\partial x} = \nabla f + \lambda \nabla_{g} = 0\\ &\nabla_{\lambda}L=\frac{\partial L}{\partial \lambda} = g(x) = 0 \\ \end{aligned} ∇xL=∂x∂L=∇f+λ∇g=0∇λL=∂λ∂L=g(x)=0
其中第一个为定常方程式(stationary equation),第二个为约束条件。解开上面的n+1个方程式就可以得到 L ( x , λ ) L(x,\lambda) L(x,λ)的stationary point x ∗ x^* x∗,以及 λ \lambda λ的值(正负皆有可能)
不等式约束优化问题
接下来我们将约束等式 g ( x ) = 0 g(x)=0 g(x)=0推广到不等式 g ( x ) ≤ 0 g(x) \leq 0 g(x)≤0考虑这个问题:
min f ( x ) s . t . g ( x ) ≤ 0 \begin{aligned} &\min \qquad f(x) \\ &s.t. \qquad g(x) \leq 0 \end{aligned} minf(x)s.t.g(x)≤0
约束不等式 g ( x ) ≤ 0 g(x) \leq 0 g(x)≤0称为原始可行性,据此,我们定义可行域 K = x ∈ R n ∣ g ( x ) ≤ 0 K=x \in R^n|g(x) \leq 0 K=x∈