最適化問題に対する超高速&安定計算

大規模最適化問題、グラフ探索、機械学習やデジタルツインなどの研究のお話が中心

途中経過出力とブラウザ

2009年02月21日 01時52分34秒 | Weblog
前回ちょこっと説明した新 SDPA Online Solver の途中経過出力機能だが、ブラウザによっては(IE や Firefox)正常、あるいは意図したように表示がされていない。IE は論外としても Firefox で動作しないのはまずいので、いろいろと修正することにした。Firefox と Javascript (Prototype.js)の相性なのか仕様なのかわからないが、テキストファイルの改行が空白として表示されるので、対策として SDPA の出力ファイルを HTML 形式で作る方法がある(改行部分は と置き換える)。
現在の SDPA 7.2.1 は本体が callable library 化(libsdpa.a)されているので、sdpa_exe.cpp というソースファイルから library の API を呼び出している。つまり sdpa_exe.cpp は callable library 使用のサンプルソースファイルでもある。この特性を生かして次のようなプログラムを作成する。

○SDPA の出力ファイルは以下の三つ部分で構成されている
A:各反復の情報(主問題、双対問題) B:統計情報(主用部分、関数の実行時間、比率など) C:最適解の解のデータ
A は実行時の各反復ごとに出力される。B と C は終了時に出力される。一般には元問題のサイズが大きいと C の出力データのサイズも大きくなる。C のデータはファイルとしては必要だが、ブラウザで見るときには不必要(むしろ邪魔?)
○SDPAから二種類の出力ファイル生成する
1:上記の A と B を含み HTML 形式で出力する
2:上記の A, B, C を含みテキスト形式で出力する(いままでと同じ)
1だけとブラウザで閲覧する対象とする
○これらの変更は SDPA 本体も一部変更する必要があるが、両者の切り替えについては sdpa_exe.cpp の部分で吸収が可能である
コメント (7)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする