こんにちは、加藤です。
ベンチマークレポートの出力結果について調査しました。
自動出力されるグラフの種類
ベンチマークレポートには、自動で出力されるレポートと、手動で設定すると出力されるレポートがあります。
自動出力のレポートの種類は以下の通りです。
(項目名が英語になっていますが、これはマニュアルからコピーしました)
・Best score summary (graph and table)
inputSolutionFileごとに最高スコアを表示する。
最高のSolver構成を表示するのに有用。
・Best score scalability summary (graph)
問題のスケールごとに最高スコアを表示する。
各Solver構成のスケーラビリティを視覚化するのに有用。
・Winning score difference summary (graph and table)
inputSolutionFileごとに勝利スコア差分をスコアとして表示する。
勝利スコア差分は、特定のinputSolutionFileのための勝利Solver構成の得点との差。
ベストスコアの概要を知りたい場合に有用。
・Worst score difference percentage (ROI) summary (graph and table)
inputSolutionFileごとに最悪のスコア差分率(投資収益率)を表示する。
ROIの視覚化に有用。
・Average calculation count summary (graph and table)
問題のスケールごとに、毎秒あたりの平均計算回数:スコア計算速度を表示する。
スコア計算方法の比較に有用。
problemStatisticTypeの設定値
problemStatisticTypeを設定すると、グラフ・CSVファイルをディレクトリに出力できます。
problemStatisticTypeの設定値と、動作の詳細は以下の通りです。
(problemStatisticTypeは複数設定可能ですが、パフォーマンスに影響が出る場合があります)
・Best score over time statistic (graph and CSV)
期間指定のベストスコアを出力する。
徐々に最適解に近づいていくため、時間経過とともにスコアが上昇していくグラフになる。
設定値:BEST_SCORE
・Step score over time statistic (graph and CSV)
時間統計ステップオーバースコアを出力する。
ステップスコアとベストスコアを比較すると、局所最適解の出力後、スコアが悪化する場合がある。
設定値:STEP_SCORE
・Calculate count per second statistic (graph and CSV)
毎秒の計算回数の統計を出力する。
開始直後の高頻度の計算回数は、ソリューションの初期化時に起こる典型的なものである。
初期化後に時折計算回数が低くなるのは、ガベージコレクタが動作しているのが原因。
設定値:CALCULATE_COUNT_PER_SECOND
・Best solution mutation over time statistic (graph and CSV)
期間指定の最適なソリューションの変異を出力する。
最適なソリューションが更新されたとき、以前と異なる計画変数をカウントする。
設定値:BEST_SOLUTION_MUTATION
・Move count per step statistic (graph and CSV)
ステップごとの選択・承認した移動回数を出力する。
ガベージコレクタによって動作が遅くなる現象が確認されているため、使用の際には注意すること。
設定値:MOVE_COUNT_PER_STEP
・Memory use statistic (graph and CSV)
メモリの使用量統計を出力します。
著しくSolverに影響を与えるらしいので、使用の際には注意すること。
設定値:MEMORY_USE
所感
自動出力されるグラフは、各Solver設定のパフォーマンスや速度の比較が簡単に出来ます。
手動で設定するグラフについては、設定ファイルに行追加するだけでグラフとCSVが出力されるので、手軽に使用できて良い感じです。
処理速度は、試してみたところ気になりませんでしたが、データ量が少なかっただけかもしれません。
注意点としては、グラフの点や線が被ってしまい、物理的に見えなくなることがあります。
手動の方はCSVを確認すれば問題ありませんが、自動出力の方はCSVが無いため確認できません。
今のところ、出力されたログから読み取るしかなさそうです。