References

本章讨论 primal-dual interior-point method. 它与 barrier method 都可以由 perturbed KKT conditions 推出, 但 primal-dual method 不再把问题拆成外层更新 和内层精确 centering 两层循环, 而是在每一步同时更新 primal variables, dual variables 和 equality multipliers.

1. Problem Setup and Perturbed KKT Conditions

1.1 Original Problem

考虑如下含不等式约束和等式约束的凸优化问题:

其中 都是二阶连续可微的凸函数, 行满秩. 假设 Slater 条件成立, 因而强对偶成立.

记

原问题的 KKT 条件为

第一行等价于

1.2 Review of Barrier Method

Barrier method 求解如下子问题:

其 KKT stationarity condition 为

若定义

则 barrier method 满足

而不是原始 KKT 中的 complementary slackness:

因此, barrier method 可以看作在求解如下 perturbed KKT conditions:

Barrier method 的流程是: 对一列逐渐增大的 , 先求 , 再由

恢复 dual variables. Primal-dual method 则不同: 它在给定 的情况下, 直接同时求解 , 和 .

2. Primal-Dual Search Direction

2.1 Residual Form

将 perturbed KKT conditions 写成 nonlinear system:

其中 是以 为对角元素的对角矩阵.

这三个 residual 的含义如下:

  • 衡量 equality constraint 的 violation. 当 时, 满足 .

  • 衡量 stationarity violation. 当 时, Lagrangian 对 的梯度为 .

  • 衡量 centrality violation. 当第 个分量满足

    就有 perturbed complementary slackness:

因此, 当

且 , 时, 就满足 perturbed KKT conditions.

2.2 Newton Step for the Residual System

Primal-dual method 的核心是用 Newton’s method 解 nonlinear system:

记

对当前点一阶展开:

为了使下一步 residual 尽量接近 , 令

即求解线性系统

计算 Jacobian 中的各个 block:

其中

于是 primal-dual Newton direction 由下列线性系统给出:

该方向同时更新 primal variables 和 dual variables, 因而称为 primal-dual search direction.

3. Relation to Barrier Method

3.1 Eliminating

为了比较 primal-dual method 与 barrier method, 先从 Newton system 的第二行出发:

解出

代回第一行, 得到关于 和 的 reduced system:

其中

再代入

和

得到 RHS:

因此 reduced system 可以写成

3.2 Comparison with Barrier Newton Step

Barrier method 的目标函数为

其梯度为

Hessian 为

Barrier method 的 equality-constrained Newton step 满足

若 primal-dual method 中的 dual variables 恰好满足 central path relation:

则

且 reduced primal-dual system 的 RHS 也与 barrier Newton system 相同. 因此, barrier method 的 Newton step 可以看作 primal-dual Newton step 的一个特殊情形.

更一般地, primal-dual method 不要求 已经满足 central path relation. 它直接在 空间中做 Newton step, 因而 primal 和 dual updates 被绑定在同一个线性系统中.

4. Surrogate Duality Gap and Algorithm

4.1 Surrogate Duality Gap

对原问题, Lagrangian 为

若 primal feasible, 且 , 则

因此 dual function 满足

如果进一步有 dual residual 为 :

则 是 的 global minimizer, 所以

此时真实 duality gap 为

Primal-dual method 的迭代点通常不是 exactly primal feasible 或 dual feasible, 即

因此

不能严格称为真实 duality gap, 而称为 surrogate duality gap.

Definition (Surrogate duality gap). 对满足 和 的 primal-dual iterate, 定义

它也可以看作 complementary slackness violation 的总量. 若每个 都接近 , 则 complementary slackness 近似成立.

若当前点正好在 central path 上, 则

所以

4.2 Primal-Dual Interior-Point Method

Algorithm (Primal-dual interior-point method).

  • Input: 初始点 满足 , ; 初始 ; 任意 ; 参数 , , .

  • Repeat: 对当前点 :

    1. 计算 surrogate gap:

    2. 选择 centering parameter:

    3. 求解 primal-dual Newton system, 得到方向

    4. 通过 backtracking line search 选择步长 .

    5. 更新

  • Stop when:

该算法的几个关键点:

  • 若当前点恰好在某条 central path 上, 则 . 因此选择 等价于把对应 central path parameter 放大 倍.
  • Primal-dual method 每次只做一个 Newton step, 然后立即重新计算 surrogate gap 和新的 . 因此它不像 barrier method 那样显式区分内层 centering 和外层更新.
  • 迭代过程中 和 通常保持 strictly feasible, 但 与 dual stationarity 不一定精确成立, 只要求 residual 逐步下降.

Line search 需要同时保证三件事:

  1. 保持 .
  2. 保持 , 即 primal inequality strict feasibility.
  3. 使 residual norm 有足够下降.

首先, 为保证

取最大安全步长

实际中通常从稍小的步长开始, 例如

接着用 backtracking 保证

若不满足, 则令 , 其中 , 直到严格可行.

最后要求 residual 有足够下降, 例如

若不满足, 同样令 继续回溯.