在约束最优化问题中,常常利用拉格朗日对偶性将原始问题转换为对偶问题,通过解对偶问题而得到原始问题的解。

原始问题

假设 是定义在 上的连续可微函数。 考虑约束最优化问题:

\begin{aligned} \min\limits_{x\in\mathbf{R}^n} \quad & f(x) \\ s.t. \quad & c_i(x)\leq 0, i=1,2,\cdots,k \\ & h_{j}(x)=0, j=1,2,\cdots,l \end{aligned}

称此最优化问题为原始最优化问题或原始问题。

首先,引入广义拉格朗日函数(generalized Lagrange function)

这里, 拉格朗日乘子 。考虑 的函数:

这里, 表示原始问题。 下标只有 ,可以理解为, 先保持 不变, 是使得 最大的参数。

假设给定某个 。如果 违反原始问题的约束条件,即存在某个 使得 或者存在某个 使得 ,那么就有:

因为如果某个 使约束 ,则可令 ; 若某个 使 ,则可令 使 , 而将其余各 均取 0 。

相反地,如果 满足约束条件,则此问题和原始问题等价。即:

\begin{aligned} \theta_{P}(x)= \quad & f(x), &x s.t. Constrain \\ &+\infty, & others \\ \end{aligned}

所以,如果考虑极小化问题

它是与原始问题等价的,即它们有相同的解。 问题 称为广义拉格朗日函数的极小极大问题。 为了方便,定义原始问题的最优值

称为原始问题的值。

对偶问题

定义

这里 是关于 的函数, 的下标为 可以理解为在给定 不变的条件下, 是使得 最小的参数。 再考虑极大化 ,即

此问题被称为广义拉格朗日函数的极大极小问题。

定义对偶问题的最优值

称为对偶问题的值。

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

若原始问题和对偶问题都有最优值,则

易知:

由于原始问题和对偶问题均有最优值,所以,

定理

考虑原始问题和对偶问题。假设函数 是凸函数, 仿射函数; 并且假设不等式约束 是严格执行的,即存在 ,对所有 , 则存在 ,使 是原始问题的解, 是对偶问题的解, 并且

KKT 条件

对原始问题和对偶问题,假设函数 是凸函数, 是仿射函数, 并且不等式约束 是严格执行的,则 被称为是原始问题和对偶问题的解 的充分必要条件是其满足:

\begin{align} \nabla_xL(x^*,\alpha^*,\beta^*)=0 \\ \alpha_i^*c_i(x^*)=0 \\ c_i(x^*)\leq0 \\ \alpha_i^*\geq0 \\ h_j(x^*)=0 \\ \end{align}