实现
消去法
要实现消去法,需要计算满足
的满秩矩阵
求解 KKT 系统
计算 Newton 步或不可行 Newton 步都要求解 KKT 形式的线性方程组
其中假设
直接求解完整的 KKT 系统
最直接的方法是把 KKT 系统当作关于
通过消去求解 KKT 系统
通常更好的方法是基于消去变量
解出
由于
算法 10.3(分块消去求解 KKT 系统) 给定
- 形成
和 。 - 形成 Schur 补
。 - 解
确定 。 - 解
确定 。
第 1 步可通过
若能高效分解
例子:等式约束解析中心。问题
例子:带等式约束的最短分段线性曲线。在
奇异时的消去法
当
取使
而新系统的左上块正定,可以用消去法求解。
例子
本节给出几个较长的例子,展示如何利用结构高效计算 Newton 步。
等式约束解析中心
考虑问题
方法一:带等式约束的 Newton 方法。 Newton 步由 KKT 系统定义,利用消去法求解:先解
再由
方法二:对偶 Newton 方法。 对对偶问题
给出。比较两式可见两种方法的计算复杂度相同。
方法三:不可行初始点 Newton 方法。 应用于最优性条件
然后
实验(
待配图:对应教材图 10.6、图 10.7、图 10.8 —— 三种方法在等式约束解析中心问题上的误差(或残差范数)随迭代次数的变化曲线(各含四个不同初始点)。
最优网络流
考虑一个有
守恒方程只有在
以流量
Hessian 是对角阵(目标可分)。计算 Newton 步最直接的方法是用稀疏
最优控制
考虑问题
其中
把所有等式约束(状态方程)写成
对这个问题还可以更进一步利用
线性矩阵不等式的解析中心
考虑问题
变量
选择一:求解对偶问题。
(定义域
选择二:利用矩阵结构求解原始问题。 对 KKT 条件中的第一式(在
可以用分块消去高效求解:由第一式解出
代入第二式得到关于