KKT条件
约束问题形式
\(P问题\)
\(\begin{cases} min\ f(x) g_i(x)\le 0,i=1,...,m\\ h_i(x)=0,i=1,...,l\\ \end{cases},x\in R^n\)
约束问题局部解的一阶必要条件-KKT条件
\(若约束问题满足如下条件\)
\(1.f(x),g_i(x),h_i(x)具有连续的一阶偏导数\)
\(2.x^*是约束问题的局部最优解\)
\(3.在x^*处\color{red}{约束限制条件}成立,\color{red}{这里注意,下面方程中的元素都要带*,表示只有最优解才满足KKT条件}\)
\(则可以推出\Rightarrow\)
\(\begin{cases}
\nabla L(x^*,\lambda^*)=\nabla f(x^*)+\sum_{i=1}^{m}\lambda^* g_i(x)+\sum_{i=1}^{l}\mu^* h_i(x) =0 ,(这里注意,若x=(x_1,x_2,...)^T,则\frac{\partial L}{\partial x_i} =0,对每个变量x_i都偏导=0,参看案例2)\\
h_i(x^*)=0 ,i=1,...,l\\
g_i(x^*)\le0,i=1,...,m\\
\lambda_i^* \ge 0 ,i=1,,,m\\
\color{red}{\lambda_i^*g_i(x^*)=0,i=1,...m} \\
\end{cases}\)
\(最后一条很重要,意思是要么约束起作用 g_i(x^*)=0,要么约束不起作用 \lambda_i^* =0,称为\color{red}{互补松弛条件}\)
\(定理的证明比较复杂,可以参看b站崔雪婷老师的授课,还有相关的几何解释,比较直观\)
约束限制条件
KKT条件中其他都好办,唯有约束限制条件未说明,注意约束限制条件不止一种,下面举几个例子
1.约束函数都是线性函数
\(所有的g_i(x),h_i(x)都是线性函数\)
\(其实这里可以删除那些不起作用的g_i(x),按照崔雪婷书上的表达式是 g_i(x),i\in I(x^*),h_i(x)都是线性函数,I(x^*)是\color{red}{有效约束指标集},通俗讲就是起作用的那些个g_i(x)\)
2.Linear Independence CQ - LICQ
\(\nabla g_i(x^*),\nabla h_i(x) 线性无关,同样这里的 g_i(x^*) 可以为 i\in I(x^*),(LICQ)\)
3.Slater CQ (SLCQ) -Slater条件(这个比较常用,因为在对偶理论中也用得到)
\(对于如下约束问题\)
\(\begin{cases}
min\ f(x)\\
s.t.\ g_i(x)\le 0,i=1,...,m\\
Ax=b\\
\end{cases}\)
\(那么Slater条件定义为:存在一点x\in relint\ D(相对内部的意思),使得下式成立\)
\(f_i(x)<0,i=1,...,m且Ax=b,并且我们称这一点为\color{red}{严格可行的}\)
其他相关CQ可以参考
https://zhuanlan.zhihu.com/p/85441448?from_voters_page=true
案例
\(f(x)=(x-3)^2,0\le x \le 5,求min\ f(x)\)
\(1.规范化\)
\(\begin{cases}
-x \le 0\\
x -5 \le 0\\
\end{cases}\)
\(2.看约束,引入2个广义乘子\lambda_1^*,\lambda_2^*\)
\(必须要求 \lambda_1^*,\lambda_2^* \ge 0\)
\(3.构建拉格朗日函数\)
\(L(x,\lambda_1^*,\lambda_2^*)=f(x)+\lambda_1^*g_1+\lambda_2^*g_2\)
\(=(x-3)^2+\lambda_1^*(-x)+\lambda_2^*(x-5)\)
\(4.联立方程组\)
\(\begin{cases}
\frac{\partial L}{\partial x} = 2(x-3)-\lambda_1^* +\lambda_2^* =0\\
\lambda_1^*(-x)=0\\
\lambda_2^*(x-5)=0\\
\end{cases}\)
\(5.解方程组,\color{red}{注意,一般仔细讨论解的情况}\)
\(1)\lambda_1^* \ne 0,x = 0,\lambda_2^* =0,2(0-3)-\lambda_1^* =0 ,\lambda_1^*=-6,此时\lambda_1^* < 0,不成立\)
\(2)\lambda_1^* =0 ,2(x-3)+\lambda_2^*=0 ,\lambda_2^*(x-5)=0,求这个方程组,\Rightarrow x=3,5\)
\(2.1)继续分情况讨论,\lambda_1^*=0,x=3时,\lambda_2^*=0,这个解成立\)
\(2.2)\lambda_1^*=0,x=5,\lambda_2^*=-4,不成立\)
\(\lambda_1^*=0,x=3,\lambda_2^*=0\)
\(以上是\lambda_1^*角度的讨论\)
\(\lambda_2^*(x-5)=0,\lambda_2^* =0 或者 x-5=0,x=5(上面讨论过了,舍弃)\)
\(\lambda_2^* =0 不会出现新的解\)
\(最终答案\)
\(\lambda_1^*=0,x=3,\lambda_2^*=0\)
\(案例2\)
\(f(x,y)=x^2+2y,在x^2+y^2=\le 1,求f(x,y)_{min}\)
\(1.规范化,g_1=x^2+y^2-1 \le 0\)
\(2.构建L(x,y,\lambda_1^*)=x^2+2y+\lambda_1^*(x^2+y^2-1),\lambda_1 \ge 0\)
\(3.\begin{cases}
\frac{\partial F}{\partial x} = 2x+2\lambda_1^*x=0\\
\frac{\partial F}{\partial y} = 2+2\lambda_1^*y=0\\
\lambda_1^*(x^2+y^2-1)=0\\
\end{cases}\)