广义拉格朗日与对偶问题

Posted akarinnnn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了广义拉格朗日与对偶问题相关的知识,希望对你有一定的参考价值。

广义拉格朗日函数

给定不等式约束问题
\\[ \\min_z \\in \\mathbbR^n f(x) \\]

\\[ \\beginarrayl \\text s.t. \\ c_i(x) \\le 0, \\quad i=1,2, \\cdots, k \\\\ \\quad \\ \\ \\ \\ h_j(x)=0, \\quad j=1,2, \\cdots, l\\endarray \\]

定义广义拉格朗日函数(generalized Lagrange function)
\\[ L(x, \\alpha, \\beta)=f(x)+\\sum_i=1^k \\alpha_i c_i(x)+\\sum_j=1^l \\beta_j h_j(x) \\]
这里\\(x=\\left(x^(1), x^(2), \\cdots, x^(n)\\right)^\\mathrmT \\in \\mathbbR^n, \\ \\alpha_i, \\beta_j\\)是拉格朗日乘子,\\(\\alpha_i\\ge 0\\), 考虑\\(x\\)的函数
\\[ \\theta_P(x)=\\max _\\alpha, \\beta; \\alpha_i \\ge 0 L(x, \\alpha, \\beta) \\]

\\[ \\theta_p(x)=\\left\\\\beginarraylf(x), \\ x\\mbox满足原始问题约束 \\\\ +\\infty, \\ \\mbox其他\\endarray\\right. \\]
(有严格证明,这里略过)

极小化问题\\(\\min _x \\theta_P(x)=\\min _x \\max _\\alpha, \\beta ; \\alpha_i \\ge0 L(x, \\alpha, \\beta)\\)原问题有相同的解

拉格朗日函数相当于构造了一个含参函数,在满足约束条件的情况下,这个函数的值总是小于等于目标函数\\(f(x)\\)。而我们此时选取合适的参数\\(α\\)\\(β\\)令该函数最大可使等号成立,即令\\(L(x,α,β)=f(x)\\);若不满足约束条件,则总存在\\(α、β\\)使得该函数趋向于+∞。

定义原始问题的最优值为\\(p^*=\\min _x \\theta_p(x)\\)

对偶问题

定义\\(\\theta_D(\\alpha, \\beta)=\\min _x L(x, \\alpha, \\beta)\\)

我们得到极大极小问题
\\[ \\max _\\alpha, \\beta \\theta_D(\\alpha, \\beta)=\\max _\\alpha, \\beta \\min _x L(x, \\alpha, \\beta) \\\\ \\text s.t. \\quad \\alpha_i \\geq 0, \\quad i=1,2, \\cdots, k \\]
称为原问题(极小极大问题)的对偶问题

定义对偶问题的最优值为\\(d^*=\\max _\\alpha, \\beta ; \\alpha_i \\geq 0 \\theta_D(\\alpha, \\beta)\\)

原始问题与对偶问题的关系

性质1 (弱对偶性)\\(d^* \\le p^*\\)。p是先求最大的一块区域然后在这块区域求最小,d是先求最小的一块区域然后在这块区域求最大,最大里面的最小,总会比最小里面的最大要大。

性质2 (强对偶充分条件)若\\(f(x)\\)\\(c_i(x)\\)是凸函数,\\(h_j(x)\\)是仿射函数,并且不等式约束是严格可行的(即\\(\\exists x,\\forall i,\\text有c_i(x)<0\\))则存在\\(x^*\\),\\(\\alpha^*\\) ,\\(\\beta^*\\) 使\\(x^*\\)是原始问题的解,\\(\\alpha^*,\\beta^*\\)是对偶问题的解, 并且
\\[ p^*=d^*=L\\left(x^*, \\alpha^*, \\beta^*\\right) \\]
性质3 (强对偶充要条件)若\\(f(x)\\)\\(c_i(x)\\)是凸函数,\\(h_j(x)\\)是仿射函数,并且不等式约束是严格可行的,则\\(x^*\\)是原始问题的解,\\(\\alpha^*,\\beta^*\\)是对偶问题的解的充要条件就是它们满足KKT( Karush-Kuhn-Tucker)条件
\\[ \\beginarrayl\\nabla_x L\\left(x^*, \\alpha^*, \\beta^*\\right)=0 \\\\ \\nabla_\\alpha L\\left(x^*, \\alpha^*, \\beta^*\\right)=0 \\\\ \\nabla_\\beta L\\left(x^*, \\alpha^*, \\beta^*\\right)=0\\endarray\\\\beginarrayrl\\alpha_i^* c_i\\left(x^*\\right)=0, & i=1,2, \\cdots, k \\\\ c_i\\left(x^*\\right) \\le0, & i=1,2, \\cdots, k \\\\ \\alpha_i^* \\ge 0, & i=1,2, \\cdots, k \\\\ h_j\\left(x^*\\right)=0, & j=1,2, \\cdots, l\\endarray \\]

KKT条件的直观理解(两个例子)

等式约束

目标函数\\(f(x) = x_1 + x_2\\),等式约束\\(h(x) = x_1^2 + x_2^2 - 2\\) ,求解极小值点。

技术图片

技术图片

技术图片

技术图片

不等式约束

考虑目标函数\\(f(x) = x_1^2 + x_2^2\\) ,不等式约束\\(g(x) = x_1^2 + x_2^2 - 1\\le0\\),显然\\(f(x)\\)的极小值为原点(0,0),落在可行域内。可行域以原点为圆心,半径为1。

技术图片

这种情况约束不起作用,考虑极小值点\\(x^*\\),这个时候,\\(g(x^*) < 0\\)\\(f(x^*)\\)的梯度等于0。

考虑目标函数\\(f(x) = (x_1 - 1.1)^2 + (x_2 + 1.1)^2\\) ,不等式约束\\(g(x) = x_1^2 + x_2^2 - 1 \\le0\\),显然f(x)的极小值为原点(1.1, -1.1),落在可行域外。可行域以原点为圆心,半径为1。这种情况约束起作用,要考虑求解\\(f(x)\\)在可行域内的极小值点

技术图片

技术图片

以上是关于广义拉格朗日与对偶问题的主要内容,如果未能解决你的问题,请参考以下文章

拉格朗日对偶

A-08 拉格朗日对偶性

一文理解拉格朗日对偶和KKT条件

拉格朗日对偶性

拉格朗日对偶性

拉格朗日对偶问题与 KKT 条件