在优化理论中,KKT条件是非线性规划(nonlinear programming)最佳解的必要条件。KKT条件将lagrange乘数法(Lagrange multipliers)中的等式约束优化问题推广至不等式约束。本文从Lagrange乘数法推导KKT条件。
给定一个目标函数f(x)有最小值。这个约束优化问题如下:
minimize g(x)=0
为方便分析,假设g是连续可导函数。Lagrange乘数法是含等式约束条件优化问题的典型解法。定义Lagrangian函数
L(x,λ)=f(x)+λg(x)
其中λ为Lagrange乘数。Lagrange乘数法将原来的约束优化问题转化成等价的非约束问题
minimize x,λL(x,λ)
优化必要条件:
▽λL=∂L∂λ=g(x)=0
其中第一个为stationary equation,第二个为约束条件。通过求解上述方程,可得λ的值(正负数皆可能)。
接下来我们将约束等式g(x)⩽0。优化问题如下:
minimize g(x)⩽0
约束不等式K的边界,称为boundary solution,此时约束条件是有效的。这两种情况的最佳解具有不同的必要条件。
- 内部解:在约束条件无效的情形下, λ=0。
- 边界解:在约束条件有效的情形下,约束不等式变成等式λ⩾0称为对偶可行性
- 更直观的图解来自https://en.wikipedia.org/wiki/Karush%E2%80%93Kuhn%E2%80%93Tucker_conditions 及 http://blog.csdn.net/johnnyconstantine/article/details/46335763:
不论是内部解还是边界解,L(x,λ)的定常方程式、原始可行性、对偶可行性,以及complementary slckness:
λg(x)=0
以上就是KKT条件。如果我们要做大化λ⩽0
考虑标准约束优化问题
minimize k=1,...,p
定义拉格朗日函数
L(x,{λj},{μk})=f(x)+∑j=1mλjgj(x)+∑k=1pμkhk(x)
其中hk(x)⩽0的拉格朗日乘数,KKT条件
p
(转https://blog.csdn.net/chensheng312/article/details/73166909)