形式陈述
采用标准型线性规划原始—对偶对 公理库 线性规划对偶 Linear programming duality · LP duality 从线性约束生成对偶界,并以弱对偶、强对偶和互补松弛连接两侧最优解。
min c T x s.t. A x = b , x ≥ 0 , max b T y s.t. A T y + s = c , s ≥ 0. 取整数 n ≥ 1 、0 ≤ m ≤ n ,设 A ∈ R m × n 满行秩。算法保存 x > 0 , s > 0 与自由变量 y ,不要求初值已经满足两个等式。定义
r p = A x − b , r d = A T y + s − c , μ = x T s n , X = diag ( x ) , S = diag ( s ) . 给定中心化参数 0 < σ < 1 ,对方程 r p = 0 , r d = 0 , X s = σ μ 1 作一次Newton 线性化 公理库 Newton 非线性方程法 Newton's method · Newton-Raphson method · Newton method for nonlinear systems 在当前点解一阶线性化方程来修正非线性方程的近似解,并分析其局部二次收敛与失效边界。 ,本轮右端中的 μ 固定为当前值:
( A 0 0 0 A T I S 0 X ) ( Δ x Δ y Δ s ) = − ( r p r d X s − σ μ 1 ) . 接着计算到达非负边界的最大步长
α b d = min { 1 , min Δ x i < 0 − x i Δ x i , min Δ s i < 0 − s i Δ s i } , 空的内层最小值按无穷处理。取 α = τ α b d 、0 < τ < 1 ,更新三组变量。必要时再回溯,使残差度量下降或使新点保持在明确的中心邻域。本页数值例用 τ = 0.9 ;保正规则本身只保证内部性,不是任意问题上的完整收敛定理。
停止时同时检查 r p , r d 与 x T s ,并按数据尺度设置容差。若两侧等式精确可行,x T s = c T x − b T y 就是真正的对偶间隙;不可行迭代中,这个恒等式不成立。
直觉
中心路径 公理库 对数障碍函数与中心路径 Logarithmic barrier · Central path 在严格可行域中加入对数障碍,构造扰动互补条件,并由中心点的对偶证书得到可计算的目标误差界。 把每对原变量与对偶松弛的乘积暂时保持为一个小正数。原始—对偶内点法不必先精确走到每个中心点,而是让 Newton 系统同时修正三种失衡:资源等式不满足、价格等式不满足、互补乘积偏离目标。
保正步长像一道护栏:原变量或对偶松弛可以靠近零,却不能一步穿过零。它保护了下一轮的对角逆矩阵,也保留了内点几何。护栏之外,还要决定是否取得足够进展;只保持正数并不意味着正在逼近最优解。
图片加载失败 三个残差与保正更新
例子与边界
一个正但不可行的三变量初值
取
A = ( 1 , 1 , 1 ) , b = 1 , c = ( 1 , 2 , 3 ) T , x = ( 1 , 1 , 1 ) T , s = ( 1 , 1 , 1 ) T , y = 0. 原最优解是 ( 1 , 0 , 0 ) ,值为一。当前 r p = 2 , r d = ( 0 , − 1 , − 2 ) T , μ = 1 。取 σ = 1 / 5 ,第三组 Newton 方程为 Δ x + Δ s = − ( 4 / 5 ) 1 ,第二组给 Δ s = ( 0 , 1 , 2 ) T − Δ y 1 。与 ∑ i Δ x i = − 2 联立,得到
Δ y = 17 15 , Δ x = ( 1 / 3 , − 2 / 3 , − 5 / 3 ) T , Δ s = ( − 17 / 15 , − 2 / 15 , 13 / 15 ) T . 原变量第三项最先触零,边界比值为 3 / 5 ;对偶松弛第一项的比值为 15 / 17 ,较大。因此 α b d = 3 / 5 ,取 τ = 9 / 10 后 α = 27 / 50 。更新得到
x + = ( 59 / 50 , 16 / 25 , 1 / 10 ) T , s + = ( 97 / 250 , 116 / 125 , 367 / 250 ) T , y + = 153 / 250. 六个需要保正的分量均大于零。新残差是
r p + = 23 / 25 , r d + = ( 0 , − 23 / 50 , − 23 / 25 ) T . 二者恰好都是旧残差乘以 1 − α = 23 / 50 ,因为两组等式本来就是线性的。互补量则为
( x + ) T s + = 7491 6250 = 1.19856 , μ + = 2497 6250 = 0.39952 . 它不是把旧 μ 简单乘以 σ ;有限步长与乘积的二阶交叉项都会影响实际结果。
不可行时,互补量不能冒充目标间隙
同一新点的目标差为
c T x + − b T y + = 2.148 , 与 1.19856 不同。一般恒等式是
c T x − b T y = x T s − x T r d + y T r p . 只有 r p = r d = 0 时,后两项才消失。当前原变量不满足资源等式,对偶变量也不满足对偶等式,所以两侧目标没有各自合法上界与下界的含义。一个小的互补量如果伴随大可行性残差,不能作为停止证书。
推论与应用
块方程可以怎样消元
由第三行解出
Δ s = − s + σ μ X − 1 1 − X − 1 S Δ x . 代入第二行,记 D = X S − 1 ≻ 0 ,得到
Δ x = D A T Δ y + D r d − x + σ μ S − 1 1 . 再代入第一行,便得到较小的Schur 补 公理库 Schur 补与静态凝聚 Schur complement · Static condensation 把内部变量的精确响应折入界面矩阵与右端,推导 Schur 补、恢复公式及最小能量性质,并逐项凝聚五节点链。 系统
A D A T Δ y = − r p − A D r d + A x − σ μ A S − 1 1 . A 满行秩、D 正定,故 A D A T 正定。解出 Δ y 后回代即可。接近最优解时 x i / s i 的尺度可能悬殊,正规方程式消元也可能放大条件问题;稀疏对称不定分解是另一种实现路线,不能因为代数上正定就忽略数值条件。
哪些量严格保持,哪些只近似改善
采用公共步长时,精确线性求解给出 r p + = ( 1 − α ) r p 、r d + = ( 1 − α ) r d 。若初值两侧可行,这两个不变量会一直保持。保正规则则使 x + , s + > 0 。互补乘积满足
X + s + = ( 1 − α ) X s + α σ μ 1 + α 2 diag ( Δ x ) Δ s . 最后一项解释了预测与实际互补量的差别。将 Newton 方程中的 σ 设为零,得到仿射缩放预测方向;Mehrotra 型预测—校正方法再根据预测结果选择中心化强度,并把这个乘积交叉项纳入校正右端,但那是本基本步骤的扩展,不应把一次线性化当成完整预测—校正算法。
收敛保证与运行成本
若原、对偶都有严格可行点,取足够接近中心路径的可行初值,使用保持标准中心邻域的短步规则,且目标尚未达到(0 < ε < μ 0 )时,可以得到 O ( n log ( μ 0 / ε ) ) 量级的迭代界,其中目标是将平均互补量压到 ε 。这个结论依赖邻域、中心化参数与步长的配合;不可行初值还要额外控制两类可行性残差。本文的一个数值步展示方程怎样执行,没有把单独的 fraction-to-boundary 规则说成上述复杂度算法。
稠密形成 A D A T 的成本为 O ( m 2 n ) ,分解为 O ( m 3 ) ,方向恢复、向量更新及矩阵向量积另需 O ( n + m n ) ;稀疏系统的成本由非零模式和填充决定。应重算三组真实残差,并区分达到精度、线性求解失败、停滞和预算耗尽。
对于仅含线性不等式 A x ≤ b 的凸 QP,可以把驻点残差改为 H x + c + A T λ ,并显式保存松弛 s = b − A x 与非负乘子 λ 。此时一阶块带有 H ,但“线性化三组条件,再保正并验收”的组织方式不变。通用的原始—对偶设计思想 公理库 原始—对偶方法 Primal-dual method 联合构造原始方案与对偶界,并通过可行性及计费关系证明最优或近似保证的算法框架。 在这里落实为一个具体的数值线性系统。
参考资料
Stephen Boyd and Lieven Vandenberghe, Convex Optimization , 2004,§11.7 的原始—对偶残差、Newton 方向与回溯,§11.8 的消元实现。
Stephen J. Wright, Primal-Dual Interior-Point Methods, SIAM, 1997,Chs. 2–5,中心邻域和路径跟随复杂度。
Sanjay Mehrotra, “On the Implementation of a Primal-Dual Interior Point Method”, SIAM Journal on Optimization 2(4), 1992, pp. 575–601,预测—校正实现的原始研究。