References
- Lecture: https://www.stat.cmu.edu/~ryantibs/convexopt-F18/lectures/primal-dual.pdf
- Reading:
- Boyd and Vandenberghe, Convex Optimization, Section 11.7
- 刘浩洋等, 《最优化: 建模、算法与理论》, Section 7.3
本章讨论 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 条件成立, 因而强对偶成立.
记
第一行等价于
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: 对当前点 :
-
计算 surrogate gap:
-
选择 centering parameter:
-
求解 primal-dual Newton system, 得到方向
-
通过 backtracking line search 选择步长 .
-
更新
-
-
Stop when:
该算法的几个关键点:
- 若当前点恰好在某条 central path 上, 则 . 因此选择 等价于把对应 central path parameter 放大 倍.
- Primal-dual method 每次只做一个 Newton step, 然后立即重新计算 surrogate gap 和新的 . 因此它不像 barrier method 那样显式区分内层 centering 和外层更新.
- 迭代过程中 和 通常保持 strictly feasible, 但 与 dual stationarity 不一定精确成立, 只要求 residual 逐步下降.
4.3 Backtracking Line Search
Line search 需要同时保证三件事:
- 保持 .
- 保持 , 即 primal inequality strict feasibility.
- 使 residual norm 有足够下降.
首先, 为保证
取最大安全步长
实际中通常从稍小的步长开始, 例如
接着用 backtracking 保证
若不满足, 则令 , 其中 , 直到严格可行.
最后要求 residual 有足够下降, 例如
若不满足, 同样令 继续回溯.