在约束最优化问题中,常常利用拉格朗日对偶性将原始问题转换为对偶问题,通过解对偶问题而得到原始问题的解。
原始问题
假设 是定义在 上的连续可微函数。 考虑约束最优化问题:
\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}