2010年8月3日火曜日

SOCP のさらに続き

数値計算であるが、どうやら SOCP で組んだものはかなり遅いらしく、論文で10秒程度のものが1時間程度かかっており、いくつものデータを初期値を変えて実験するのに手間取っている。
コンピュータで自動化してあるため、人間の手間はさほどかからないが、改善が必要である。

なにはともあれ、コンピュータに任せている間に論文を1本、斜め読みにした。
これを読むと、どうやら内側と外側の2重ループになっているうちの外側のループでは、primal-dual で交互に行っているようだ。とても賢い。

現在のプログラムは、
for 外側ループ
primal の SOCP 生成
SOCP を解いて更新
end

であるが、今日の論文では、
for 外側ループ
primal の SOCP 生成
primal-SOCP を解いた情報で dual-SOCP を生成
dual-SOCP を解いて、その結果を次の反復に
end
としている。

ただ、この場合でも、収束は linear-order となっている。
おそらく、問題を特化すれば(せめて SDPなどに)、収束をあげられるのではないだろうか?
というか、それだけでも理論的には論文のネタになるのではないだろうか?

今日の作業内容:論文読み 5h
今日のBGM: EVA OST [1]
今日のランチ: らく レバニラキムチ炒め
明日の予測作業時間: 6h

0 件のコメント:

コメントを投稿