拉格朗日函数 Lagrangian Function

拉格朗日乘数法 Lagrange Multiplier Method

用于求有条件约束时的极值问题,将含有n个变量和k个约束条件的约束优化问题转化为含有n+k给变量的无约束优化问题 更多细节可查看

此博客

拉格朗日函数

$\lambda$为拉格朗日乘子 $F(x,\lambda)=f(x)+\sum\lambda_i g_i(x_i)$ 如果$f(x)$最小值在所有约束条件的可行域内,则所有约束条件都是松弛的,此时对应的$\lambda_i = 0$

约束不等式

为什么拉格朗日函数中的约束不等式对应的拉格朗日乘子$\lambda_i \ge 0$ 这里参考了

链接

考虑约束最优化问题(极大化问题可以简单地转换为极小化问题,这里仅讨论极小化问题):

\[\begin{align*} &\displaystyle\min_{x \in R^n} f(x) \quad\\ s.t. \ &f_i(x) \le 0 &i=0,1,\cdots ,m\\ &h_i(x) = 0 &i=1,2,\cdots,p \end{align*} \]

上面的优化问题不一定是凸问题

引入拉格朗日乘子之后得到

\[L(x,\lambda,\nu)=f_0(x)+\sum_{i=1}^n \lambda_i f_i(x)+\nu_i h_i(x), \quad, \lambda \ge 0 \]

\(\lambda_i \ge 0\)为了强制要求所有的约束条件必须被满足

\(x\)违反约束条件时,即不在可行域中时,\(f_i(x)>0\), 调整\(\lambda\)最大化\(L\)的过程使得\(L(x,\lambda)=\infty\),之后的最小化过程即将该值忽略

而当\(x\)满足约束条件时,即在可行域中时,\(f_i(x) \le 0\), 调整\(\lambda\)最大化\(L\)的过程使得\(L(x,\lambda)\)取到最大值0

\[\max_{\lambda \ge 0}L= \begin{cases} \infty,& x \notin domL\\ f_0(x),& x \in domL\\ \end{cases} 其中 \quad domL=\mathcal D \times R^m \times R^p \]

最小化同理,如果不限制\(\lambda \ge 0, \quad \inf L(x,\lambda,\nu)\rightarrow -\infty\)
所以当弄清楚拉格朗日乘子的作用时,就可以理解为什么\(\lambda_i \ge 0\)了,这么设定\(\lambda_i\)就是为了把不满足约束条件(即不在可行域中的\(x\))pass掉

凸优化问题的拉格朗日函数形式

因为对于\(\lambda, \nu\)求最大值都会被最后的对于x求最小值而忽略
所以最后就是求\(f(x_0)\)的最小值和\(g_i(x)=0\)的问题
注意的一点:虽然最后一项\(\sum \nu_i h_i(x)\)恒等于0,但梯度不一定为0,所以不能省略

下一篇:拉格朗日对偶问题

posted @ 2021-10-23 13:13  梦想家肾小球  阅读(5009)  评论(0编辑  收藏  举报