本研究の目的は、変数や線形制約の数が数十万以上の超大規模な半正定値計画問題(以下SDPと略)を効率良く解くことである。このため、研究代表者らが開発した主双対内点法によりSDPを解くプログラムSDPAを基に、ソフトウェア・ハードウェア両面で以下の3つの研究を行った。 1.線形制約の数が大規模となるとき、係数行列が密となる線形方程式系の解の計算が主双対内点法のボトルネックとなる。この線形方程式系に対し、共役勾配法や共役残差法を利用すること試みた。また、反復法の収束性を上げるため、前処理の新たな枠組を提案し、その枠組に基づいた前処理の効率性について検証を行なった。その結果、特定の問題に対し線形制約の数が数万・数十万の問題を解くことが可能となった。 2.入力データが疎となる場合でも、一般にSDPの主問題の変数行列は密となる。このため、変数行列が大きくなるSDP問題では、その行列に対する計算やメモリ上への保持が困難となる。この問題を解決するため、行列補完理論に基づき変数行列に対し新たな疎性を導出し、その疎性を二つの方法により主双対内点法に適用することに成功した。その結果、変数の数が数十万となる疎で大規模なSDP問題を解くことが可能となった。 3.逐次SDP緩和法では、数多くのSDP問題を並列に解く必要が生じる。SDPAを広域分散コンピューティング基盤Ninf上へ実装することにより、遠隔地の計算機同士を高速なネットワークで接続し、お互いの計算機資源を有効に活用して計算することが可能となった。128台のPCクラスタを使用した実験では、従来の方法に比べ約100倍の高速化が可能となった。
|