株式会社オクトーバー・スカイ October Sky Co., Ltd.loading
  1. HOME
  2. 製品情報
  3. 分散最適化

分散最適化

複数のマシンの活用で、パフォーマンスを最大化

複数のマシンを活用して最適化の解を求めることを分散最適化と言います。
分散最適化の最大のメリットは、求解時間が短縮されることです。分散最適化は、複数マシンを活用することで求解時間の短縮をもたらします。いくつかの最適化モデルでは、32台のマシンを用いることで15倍も速くなり、8台のマシンを用いた場合では、通常の場合で2~3倍もの速度向上が実現されたという結果も報告されています。

最適化処理時間の比較

Gurobi Optimizer での分散最適化

Gurobi Optimizer は、目的に併せて、3種類の分散アルゴリズムが利用できます。

分散 MIP

手法1 つのMIPモデルを解く作業を、複数マシンの間で分割します。マネージャとなるマシンは、MIP探索ツリーの異なる部分をそれぞれのワーカとなるマシンに送信して解かせ、定期的にすべてのワーカが望ましい負荷状態になるよう、探索ツリーを再調節します。ワーカ(=マシン)は、100台まで使えます。
効果的なモデル大きな探索ツリーを持つような難度の高いモデル。

分散並列最適化

手法複数のマシンを使い、マシン毎にそれぞれ異なったアルゴリズムを用いて解を求めます。そして、どのアルゴリズムを使ったマシンが一番早く解けるのかを競い合います。求解は、最初のマシンがゴールラインを通過した時点で終了します。
効果的なモデルモデルを定義するために利用されるデータ、または、求解するために利用されるアルゴリズムへの依存によって大きく変化するようなモデル。

分散チューニング

手法単一のモデル或いは複数モデルのセットに対して、最適化パフォーマンス改善を実現するパラメータセットを自動的に探索します。このチューニング・ツールの否定的な側面は、時間がかかるということです。自動チューニングは、対象モデルに対して異なるパラメータセットを使用しながら、多くの求解試行を行います。デフォルトでは、改善されたパラメータセットの探索に、モデルを単純に求解するのにかかる時間のおおよそ10倍程度の時間を要するとみていいでしょう。(大抵は、チューニング・ツールをより長時間稼働させれば、より良い結果を得ることができます。)分散チューニング・ツールは、複数の独立したマシンをチューニング作業に用いますので、同じ時間内でより多くのパラメータセットの候補を探索することが可能になります。
効果的なモデル求解時間を短縮する必要があるモデル。

使用方法

上記に挙げた3つの分散アルゴリズムを使うのは簡単です。分散ワーカとして使用したいマシンに Gurobi リモートサービスをインストールして立ち 上げておくだけで、あとは 1 台のマシンで実行しようとするのと全く同じように、Gurobi Optimizer のコマンドを打つだけで使用できます。
Gurobi Optimizer のパラメータで、分散アルゴリズムを走らせることができるワーカとなるマシンの名前を指定し、別のパラメータでワーカ上に起動すべきジョブの数を指定すれば、Gurobi Optimizer が複数マシンにまたがり計算を分割する全ての仕事を処理します。

動作環境

分散アルゴリズムは、分散ワーカとして動作するマシン群を必要とします。同じ性能を持つマシン上で動作した場合に最良の動作をしますが、マシンに少しの差異があっても問題にはなりません。

ライセンス

既にお持ちのネームドユーザ・単一マシンライセンス、無制限使用無制限ユーザ・単一マシンライセンス、計算サーバ・ライセンスに単純に分散最適化オプションを加えるだけで、全ての分散アルゴリズムをご使用になれます。
ライセンスは、ワーカを起動してそれらを調和させ る役割を持つマネージャマシンにだけ必要です。ワーカマシンにライセンスは不要です。 Gurobiリモートサービスをインストールする必要があるだけです。


数理最適化技術の導入をご検討されている方へ

知識と経験豊富な弊社コンサルタントがお客様の抱える問題を解決します!

  • 製品入門トレーニング
PAGE TOP
Menu