[论文解读] SDPNAL+: A Matlab software for semidefinite programming with bound constraints (version 1.0)
SDPNAL+ 是一个高效的 MATLAB 软件包,使用基于不精确对称 Gauss-Seidel 的半 proximal ADMM/ALM 框架,可高效求解具有边界约束的大规模半定规划(SDP)。通过将增广拉格朗日法与主要化半光滑牛顿-CG 方法相结合,该软件包实现了高性能,在 745 个测试 SDP 实例中,98.9% 的实例达到了相对 KKT 残差精度 10⁻⁶。
SDPNAL+ is a {\sc Matlab} software package that implements an augmented Lagrangian based method to solve large scale semidefinite programming problems with bound constraints. The implementation was initially based on a majorized semismooth Newton-CG augmented Lagrangian method, here we designed it within an inexact symmetric Gauss-Seidel based semi-proximal ADMM/ALM (alternating direction method of multipliers/augmented Lagrangian method) framework for the purpose of deriving simpler stopping conditions and closing the gap between the practical implementation of the algorithm and the theoretical algorithm. The basic code is written in {\sc Matlab}, but some subroutines in C language are incorporated via Mex files. We also design a convenient interface for users to input their SDP models into the solver. Numerous problems arising from combinatorial optimization and binary integer quadratic programming problems have been tested to evaluate the performance of the solver. Extensive numerical experiments conducted in [Yang, Sun, and Toh, Mathematical Programming Computation, 7 (2015), pp. 331--366] show that the proposed method is quite efficient and robust, in that it is able to solve 98.9\% of the 745 test instances of SDP problems arising from various applications to the accuracy of $ 10^{-6}$ in the relative KKT residual.
研究动机与目标
- 开发一个用于求解具有边界约束的大规模半定规划(SDP)的稳健且高效的软件包。
- 通过设计更简单的停止条件,弥合理论算法与实际实现之间的差距。
- 实现对组合优化、二元二次整数规划及其他应用中出现的 SDP 问题的高效求解。
- 支持中等规模矩阵维度(n < 5000)但具有大量线性约束(m + p > 100 万)的问题。
- 为用户提供友好的接口,用于在 MATLAB 中建模和求解 SDP 问题。
提出的方法
- 求解器采用基于不精确对称 Gauss-Seidel 的半 proximal ADMM/ALM 框架,以增强收敛性并简化停止条件。
- 在增广拉格朗日框架内集成主要化半光滑牛顿-CG 方法,以高效求解子问题。
- 该算法采用增广拉格朗日方法对约束进行对偶化,并通过罚项强制满足原始可行性。
- 关键组件包括使用 C 语言 MEX 文件实现性能关键的子程序,以及用于输入 SDP 模型的结构化接口。
- 该方法可处理单块和多块 SDP 格式,支持对称锥或多面体边界中的变量块 X^(j)。
- 实现支持一般线性映射 A^(j) 和 B^(j),其伴随运算通过对称矩阵上的内积定义。
实验结果
研究问题
- RQ1基于不精确对称 Gauss-Seidel 的 ADMM/ALM 框架是否能在实际收敛性方面优于传统半光滑牛顿-CG 方法,并提供更简单的停止条件?
- RQ2该求解器在处理具有大量线性约束(m + p > 100 万)和中等矩阵维度(n < 5000)的 SDP 问题时,效率如何?
- RQ3该求解器在包括组合优化和量子化学问题在内的多样化 SDP 应用中,其鲁棒性和精度在多大程度上得以保持?
- RQ4在矩阵维度 n 和约束数量 m + p 方面,该求解器的可扩展性如何,尤其与现有求解器如 SDPT3 或 SeDuMi 相比?
- RQ5该用户界面在多大程度上有效支持用户在无需底层编码的情况下建模和求解复杂的 SDP 问题?
主要发现
- 该求解器成功将 745 个测试 SDP 实例中的 98.9% 求解至相对 KKT 残差精度 10⁻⁶。
- 时间复杂度随 (m + p)^0.22 变化,对于固定矩阵维度 n,表明其在约束数量方面具有极强的可扩展性。
- 对于矩阵维度 n ≤ 100 且 m + p ≤ 1,000 个约束的问题,平均求解时间为 2.04 秒。
- 对于更大规模的问题(n > 3200 且 m + p > 1,024,000),五个实例的平均求解时间达到 11,512.53 秒,表明其在极端情况下的可扩展性。
- 该求解器在多种应用中表现良好,包括最大稳定集、二次分配、鲁棒聚类,以及量子化学中的电子结构问题。
- 时间-求解回归模型 T_rg = 0.00274 × (m + p)^0.220 × n^1.357 在 707 个测试实例中与实测性能高度吻合。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。