用于求解约束优化问题时的KKT 条件

用于求解约束优化问题时的KKT 条件

​ 对于只有等式的约束时,采用lagrange乘数法就可以很好的解决。
​ 但是当设计到不等式约束时,lagrange方法没法直接解决,但是可以参照其思想,对其进行推广,由此得出了KKT方法(Karush-Kuhn-Tucker方法),应用KKT方法求解优化问题时,便导出了KKT条件,求解KKT条件,便能得到该优化问题的可能解。
​ 含有等式和不等式约束的优化问题的一般形式如下:
min ⁡ x f ( x ) s . t . g j ( x ) = 0 , j = 1 , . . . , m   h k ( x ) ≤ 0 , k = 1 , . . . , p \mathop {\min }\limits_{\bf{x}}f({\bf{x}})\qquad \qquad \quad\\ s.t.\quad g_{j}({\bf{x}})=0,\quad j=1,...,m\\ \qquad\ h_{k}({\bf{x}})\le 0,\quad k=1,...,p xminf(x)s.t.gj(x)=0,j=1,...,m hk(x)0,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({\bf{x}},\{\lambda_{j}\},\{\mu_{k}\})=f({\bf{x}})+\sum_{j=1}^{m}\lambda_{j}g_{j}({\bf x})+\sum_{k=1}^{p}\mu_{k}h_{k}(\bf x) L(x,{λj},{μk})=f(x)+j=1mλjgj(x)+k=1pμkhk(x)
​ KKT条件为:
∇ x L = 0 g j ( x ) = 0 h k ( x ) ≤ 0 μ k ≥ 0 μ k h k ( x ) = 0 \nabla_{\bf x}L=0\\ g_{j}({\bf x})=0\\ h_{k}({\bf x})\le 0\\ \mu_{k}\ge 0\\ \mu_{k}h_{k}({\bf x})=0 xL=0gj(x)=0hk(x)0μk0μkhk(x)=0
​ 其中, μ k ≥ 0 \mu_{k}\ge 0 μk0 称为对偶可行性条件, μ k h k ( x ) = 0 \mu_{k}h_{k}({\bf x})=0 μkhk(x)=0 称为互补松弛性条件

​ 若为最大化 f ( x ) f(x) f(x) ,当约束条件不变,则对偶可行性要改为: μ k ≤ 0 \mu_{k}\le 0 μk0

则通过求解KKT条件,就能求得上述约束优化问题的解。

详细参考见:

https://zhuanlan.zhihu.com/p/38163970

and

https://ccjou.wordpress.com/2017/02/07/karush-kuhn-tucker-kkt-%E6%A2%9D%E4%BB%B6/

你可能感兴趣的:(学习)