Skip to main content
QUICK REVIEW

[論文レビュー] Efficient Inverse Maintenance and Faster Algorithms for Linear Programming

Yin Tat Lee, Aaron Sidford|arXiv (Cornell University)|Mar 5, 2015
Sparse and Compressive Sensing Techniques参考文献 6被引用数 9
ひとこと要約

本稿では、低ランク更新、プリコンディショニング、高速行列乗算を活用して、$\mathbf{A}^T\mathbf{D}^{(k)}\mathbf{A}\vec{x} = \vec{b}$ の形をしたゆっくりと変化する線形方程式系の逐次的解法を効率的に行う、新しい逆行列メンテナンスアルゴリズムを提案する。線形計画法において、$\tilde{O}((\mathrm{nnz}(\mathbf{A})+d^2)\sqrt{d}\log(\epsilon^{-1}))$ の時間計算量を達成し、従来の境界を顕著に改善する。

ABSTRACT

In this paper, we consider the following inverse maintenance problem: given $A \in \mathbb{R}^{n imes d}$ and a number of rounds $r$, we receive a $n imes n$ diagonal matrix $D^{(k)}$ at round $k$ and we wish to maintain an efficient linear system solver for $A^{T}D^{(k)}A$ under the assumption $D^{(k)}$ does not change too rapidly. This inverse maintenance problem is the computational bottleneck in solving multiple optimization problems. We show how to solve this problem with $ ilde{O}(nnz(A)+d^ω)$ preprocessing time and amortized $ ilde{O}(nnz(A)+d^{2})$ time per round, improving upon previous running times for solving this problem. Consequently, we obtain the fastest known running times for solving multiple problems including, linear programming and computing a rounding of a polytope. In particular given a feasible point in a linear program with $d$ variables, $n$ constraints, and constraint matrix $A\in\mathbb{R}^{n imes d}$, we show how to solve the linear program in time $ ilde{O}(nnz(A)+d^{2})\sqrt{d}\log(ε^{-1}))$. We achieve our results through a novel combination of classic numerical techniques of low rank update, preconditioning, and fast matrix multiplication as well as recent work on subspace embeddings and spectral sparsification that we hope will be of independent interest.

研究の動機と目的

  • 変化が遅い線形方程式系 $\mathbf{A}^T\mathbf{D}^{(k)}\mathbf{A}$ を繰り返し解く最適化アルゴリズムにおける計算ボトルネックを解消すること。
  • $\mathbf{D}^{(k)}$ に対する安定性仮定の下で、$\mathbf{A}^T\mathbf{D}^{(k)}\mathbf{A}$ の近似逆行列を低平均コストでメンテナンスする動的ソルバを設計すること。
  • この逆行列メンテナンスフレームワークを活用し、線形計画法、最小費用流、多面体からのサンプリングといった重要な最適化問題の高速化を図ること。
  • 最近の部分空間埋め込みとスペクトルスパース化の進展を古典的数値技法と組み合わせることで、線形計画法の現行最良実行時間の改善を図ること。

提案手法

  • 変化する $\mathbf{D}^{(k)}$ を処理するために、低ランク更新を用いて $\mathbf{A}^T\mathbf{D}^{(k)}\mathbf{A}$ のプリコンディショニングされた近似逆行列をメンテナンスする。
  • スペクトルスパース化を用いてシステムのサイズを縮小しつつ精度を保持することで、計算を高速化する。
  • 高速行列乗算を用いて、特に密行列や高次元の場合のコアとなる線形方程式系の解法を加速する。
  • 条件数の改善のため、プリコンディショニングを適用し、反復ソルバの反復回数を削減する。
  • 逆行列を直接保存するのではなく、$\mathbf{A}^T\mathbf{D}^{(k)}\mathbf{A}\vec{x} = \vec{b}$ の解法に効率的に応用可能なフレームワークを設計する。
  • 最近の部分空間埋め込みの進展を、共役勾配法や行列プリコンディショニングといった古典的数値手法と組み合わせる。

実験結果

リサーチクエスチョン

  • RQ1変化が遅い $\mathbf{D}^{(k)}$ を持つ $\mathbf{A}^T\mathbf{D}^{(k)}\mathbf{A}$ の線形方程式系に対して、複数ラウンドにわたって効率的なソルバを維持できるか?
  • RQ2このような動的システムにおいて、事前処理コストと平均化された更新コストの最適なトレードオフは何か?
  • RQ3この逆行列メンテナンスフレームワークは、線形計画法の内点法を高速化するために利用できるか?
  • RQ4高速行列乗算とスペクトルスパース化を、低ランク更新とどのように組み合わせてソルバの性能を向上させられるか?
  • RQ5このアプローチは、最小費用流や多面体からのサンプリングといった他の最適化問題へ拡張可能か?

主な発見

  • 本稿では、$\tilde{O}(\mathrm{nnz}(\mathbf{A})+d^{\omega})$ の事前処理時間と、$\tilde{O}(\mathrm{nnz}(\mathbf{A})+d^2)$ の平均更新時間で逆行列メンテナンスを達成し、従来の境界を改善した。
  • 変数数 $n$、制約数 $d$、非ゼロ要素数 $\mathrm{nnz}(\mathbf{A})$ の線形計画法において、$\epsilon$-精度で $\tilde{O}((\mathrm{nnz}(\mathbf{A})+d^2)\sqrt{d}\log(\epsilon^{-1}))$ の時間計算量を達成した。
  • 多面体のラウンドイング計算やマルチコマーディティフロー問題の解法において、実行時間の改善が得られた。
  • 頂点数 $|V|$、整数容量・コストが $U$ で有界なグラフにおける正確な最小費用最大流問題に対して、$\tilde{O}(|V|^{2.5}\log^{O(1)}(U))$ の時間計算量のアルゴリズムが得られた。
  • Dikinウォークサンプリングアルゴリズムにおける線形方程式系の解法が高速化されたが、行列式計算がボトルネックのままだった。
  • 以前のDikinウォーク性能向上の主張に誤りがあったことを著者らが是正し、行列式計算の制限により、高速な線形方程式系の解法にもかかわらず、恩恵は限定的であると指摘した。

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

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

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

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