Skip to main content
QUICK REVIEW

[論文レビュー] SDPNAL+: A Matlab software for semidefinite programming with bound constraints (version 1.0)

Defeng Sun, Kim-Chuan Toh|arXiv (Cornell University)|Oct 29, 2017
Advanced Optimization Algorithms Research参考文献 19被引用数 3
ひとこと要約

SDPNAL+ は、非正確な対称ガウス=ザイデルに基づく半プロキシマル ADMM/ALM フレームワークを用いて、バインド制約付きの大規模な半定値計画問題(SDP)を効率的に解く MATLAB ソフトウェアパッケージである。増分ラグランジュ法とマジョライズド半滑らかニュートン-CG 法を組み合わせることで高い性能を達成し、745 個のテスト SDP インスタンスの 98.9% が相対 KKT 残差精度 10⁻⁶ まで解かれた。

ABSTRACT

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)を解く、安定的で効率的なソフトウェアパッケージの開発を目的とする。
  • 理論的アルゴリズムと実装のギャップを埋めるために、より単純な停止条件の設計を目的とする。
  • 組合せ最適化、2次整数計画法、その他の応用から生じる SDP 問題の効率的解法を可能にする。
  • 中程度の行列次元(n < 5000)だが、線形制約の数が非常に多い問題(m + p > 100万)をサポートする。
  • MATLAB での SDP 問題のモデリングと解法に、ユーザーフレンドリーなインターフェースを提供する。

提案手法

  • ソルバーは、収束性の向上と停止基準の単純化を目的として、非正確な対称ガウス=ザイデルに基づく半プロキシマル ADMM/ALM フレームワークを採用する。
  • 増分ラグランジュフレームワーク内にマジョライズド半滑らかニュートン-CG 法を統合し、部分問題を効率的に解く。
  • アルゴリズムは、制約を双対化し、ペナルティ項によってプライマル妥結性を強制する増分ラグランジュアプローチを用いる。
  • 主な構成要素には、パフォーマンスが求められるサブルーチンに C 言語 MEX ファイルを用いること、および SDP モデルの入力にための構造化されたインターフェースがある。
  • 変数ブロック X^(j) が対称コーンまたは多面体境界にある、単一ブロックおよびマルチブロックの SDP 形式を処理する。
  • 対称行列上の内積を用いて定義される随伴作用素を備えた、一般の線形写像 A^(j) および B^(j) をサポートする。

実験結果

リサーチクエスチョン

  • RQ1非正確な対称ガウス=ザイデルに基づく ADMM/ALM フレームワークは、従来の半滑らかニュートン-CG 法と比較して、より優れた実用的収束性と単純化された停止条件を達成できるか?
  • RQ2線形制約の数が非常に多い問題(m + p > 100万)と中程度の行列次元(n < 5000)を有する SDP 問題を、ソルバーはどの程度効率的に処理できるか?
  • RQ3組合せ最適化や量子化学問題を含む多様な SDP 応用分野において、ソルバーはどの程度のロバストネスと正確性を維持できるか?
  • RQ4行列次元 n および制約数 m + p に対して、SDPNAL+ のスケーラビリティは、既存のソルバー(SDPT3 や SeDuMi と比較して)どの程度か?
  • RQ5ユーザーインターフェースは、低レベルのコーディングを必要とせずに、複雑な SDP 問題のモデリングと解法をユーザーがどの程度効果的に可能にするか?

主な発見

  • ソルバーは、745 個のテスト SDP インスタンスの 98.9% を、相対 KKT 残差精度 10⁻⁶ まで解いた。
  • 時間計算量は、行列次元 n を固定した場合、(m + p)^0.22 に比例するため、制約数の増加に対して強いスケーラビリティを示す。
  • 行列次元 n ≤ 100 の場合、m + p ≤ 1,000 の制約を持つ問題の平均解法時間は 2.04 秒であった。
  • n > 3200 かつ m + p > 1,024,000 の大規模問題では、5 インスタンスの平均解法時間が 11,512.53 秒に達し、極端なケースでもスケーラビリティを示した。
  • 最大安定集合、二次割り当て問題、ロバストクラスタリング、量子化学における電子構造問題など、多様な応用分野でも良好な性能を発揮した。
  • 時間対解法の回帰モデル T_rg = 0.00274 × (m + p)^0.220 × n^1.357 は、707 個のテストインスタンスにおいて観測された性能とよく一致した。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。