Gurobi クラウド
Gurobi Optimizer:ソルバー
Gurobiクラウドは、パワフルなGurobiの最適化ソフトウェアをクラウド上で実行するためのシンプルで費用対効果の高い方法です。ユーザは最適化がどのようなニーズであっても、そのニーズに応じたGurobiソフトウェアが既に搭載されている、一つまたはそれ以上の数のユーザ専用のコンピュータを起動することができます。ユーザのニーズを一番満たすサブスクリプションのプランと配備のためのオプションを選択するだけです。
通信は、HTTPSを利用した暗号化で安全です。ほとんどのGurobiクラウドのプランは、無制限の数のクライアントからのジョブに対するキューイングおよび負荷分散というGurobi計算サーバの機能を備えています。また、これらのプランは、分散最適化機能も提供しています。
一般的な利用例
Gurobiクラウドは、以下のような状況で利用されています。
- 難しい最適化モデルの求解
ネットワークの設定無しで複数コンピュータによるマシンパワーを、単一のモデルを解くために活用できます。
システム上で768GBまでのメモリが利用できます。 - 需要急増への対応
継続的な保守の必要なく、ピーク需要に対するリソースの拡張が可能です。 - 断続的な最適化要求への対応
頻繁な求解やパフォーマンスチューニングをしない場合であっても、マシンとライセンスが必要になった時、それらに対する支払いをするだけで利用できます。 - 新規プロジェクトに関するコストの最小化と追跡記録
新規プロジェクトで、是非Gurobiを試してみてください。ユーザは、使用レポートから詳細な課金レコードを確認できます。
主な機能
使い易さ | Gurobi Optimizerをローカルマシンにインストールし、クラウドマネージャ(cloud.gurobi.com)からライセンスをダウンロードしたら、Gurobi インスタントクラウドがユーザのコンピュータをクラウドに接続します。 |
最大限の性能 | 必要とするマシンの数およびその性能を選択でき、複数のマシンプールさえ作成することが可能です。コンピュータは、メモリが768GBまで地球全域にわたって利用できます。また、必要に応じてマシンプールの拡張や縮小ができます。 |
柔軟性 | サブスクリプションライセンスを一度購入すれば、その後は、ユーザが使用するマシンのタイプや数に対する支払いをするだけです。また、より高レベルへのプランにいつでもアップグレード可能です。モデルサイズ、ユーザ数、マシン数への制限はありません。 |
いつでも利用可能 | ユーザ専用のクラウドサーバが、設定済みの最新のGurobi Optimizerのバージョンとライセンスとともに、数分で自動的に使えるようになります。 |
Azure®およびAmazon EC2®のサポート | Gurobiインスタントクラウドでは、ユーザ環境へのさらなる柔軟性と最高のインテグレーションのため、これら2つのクラウド環境をサポートしています。 |
直感的なWebインターフェース | インスタントクラウドマネージャで、起動中のマシンやジョブを管理したり、ジョブダッシュボード内にジョブの詳細情報を表示したり、また、直近で使用したマシンの履歴にアクセスが可能です。 |
ユーザによる制御の余地 | 簡単なREST APIで、ユーザのアプリケーションからクラウドサーバを管理できます。 |
合理的な請求 | Gurobiインスタントクラウドにより、一つの請求でライセンスとマシン費用がカバーされます。 |
インスタントクラウドマネージャ
インスタントクラウドマネージャで、起動中のマシンやジョブを管理したり、ジョブダッシュボード内にジョブの詳細情報を表示したり、直近で使用したマシンの履歴にアクセスが可能です。ライセンスは、同じ組織内のユーザの間で共有ができ、複数ユーザがマシンプールを管理できます。
マシンプール
プールが、計算サーバや分散ワーカの数だけではなく、マシンタイプ、リージョンやその他パラメータの設定も定義します。Gurobiインスタントクラウドが、ユーザのライセンスがすでに定義されたプールをユーザに提供します。
- 分散最適化やチューニングのための分散ワーカのプール
- 難しい問題の求解のための大規模マシンのプール
- 運用時の同時最適化ジョブのロードバランスに対応する複数の計算サーバのプール
- ユーザのアプリケーションとの待ち時間を最小にするための異なる複数のデータセンターの複数のプール
- テスト、QA、運用のための複数のプール
ユーザは、ユーザのアプリケーションがより大規模なマシンや複数のマシンが必要であると分かった場合は、プールの定義を変更するだけです。次にそのアプリケーションがプールにアクセスする時、アップデートされた仕様により新しいマシンの利用が開始されます。
プールのマシンの開始や停止で、プールのスケールアップまたはダウンも数分で可能です。
リージョンとマシンタイプ
Gurobiインスタントクラウドは、5つのAWSリージョン(カリフォルニア、ヴァージニア、シドニー、東京、フランクフルト)と3つのAzureリージョンで(アメリカ東側、アメリカ西側、西ヨーロッパ)で利用可能です。クラウド業者やリージョンにより、ユーザのアプリケーションから正しい設定が選択できます。なお、いくつかの設定は、すべてのリージョンで使用できない可能性もあります。
プロバイダー | タイプ | RAM(GB) | コア数 | カテゴリー |
---|---|---|---|---|
AWS | c6i.4xlarge | 32 | 8 | Compute Optimized |
c6i.8xlarge | 64 | 16 | Compute Optimized | |
c6i.16xlarge | 128 | 32 | Compute Optimized | |
z1d.12xlarge | 384 | 24 | High Performance | |
r6i.8xlarge | 256 | 14 | Memory Optimized | |
r6i.16xlarge | 512 | 32 | Memory Optimized | |
r6i.32xlarge | 1024 | 64 | Memory Optimized | |
Azure | F16v2 | 32 | 8 | Compute Optimized |
F32v2 | 64 | 16 | Compute Optimized | |
F72v2 | 144 | 36 | Compute Optimized | |
HC44rs | 352 | 44 | High Performanc | |
E64v3 | 432 | 32 | Memory Optimized |
自動プロビジョニング
ユーザのプールは、Gurobiクライアントに統合されていてそれにより、ユーザのアプリケーションからユーザが最適化セッションを起動した時にマシンが自動的に動き出します。すでにマシンが起動済みの場合は、最適化のために使用されます。ユーザは、各プールに関連付けられたライセンスファイルをダウンロードすることにより、使用したいプールを選択できます。クラウドコンピューティングに必要なことは、これ以上知る必要はありません。Gurobiインスタントクラウドが、ユーザのために全てをしてくれます。
$ gurobi_cl afiro.mps
Waiting for cloud server to start……….
Capacity available on ‘999999-default’ cloud pool - connecting…
Established HTTPS encrypted connection
Gurobi Optimizer version 8.1.0
Copyright (c) 2018, Gurobi Optimization, LLC
[…]
Solved in 3 iterations and 0.74 seconds
Optimal objective -4.647531429e+02
クラウドライセンスファイルが、Gurobiがサポートしているすべての言語(C++、Python、MATLAB、Java、.Net,、C、R)と環境に沿ってシームレスに対応します。ユーザはGurobiの環境設定を使いながら、ライセンスファイルの中にあるアクセスIDと秘密のキーを、ユーザのプログラムに直接記載をすることもできます。
ジョブ管理と履歴
ユーザは、キューイングされたジョブ、起動中のジョブ、計算が終了したジョブのリストにアクセスできます。最適化のエキスパートは、ジョブダッシュポードを開き、選択されたジョブの様々な情報を表示できます。
アクティブマシンと履歴
すでにご覧の通り、プールを使いながらGurobi インスタントクラウドが必要になった時にマシンが起動されます。さらに、ユーザは、アクティブなマシンと直近のマシンの履歴を、ユーザ環境を監視するためにリスト表示ができます。
先進のインテグレーション
クラウドのREST APIを使いながらユーザは、マシンとプールを管理するカスタマイズされたフレームワークを構築できます。ユーザは、クラウドのインフラの詳細設定無しでプールを生成し、マシンやプールを止めたりできます。そのAPIは、暗号化されたコミュニケーション(HTTPS)とインスタントクラウドマネージャからユーザが取り出すことができるAPIキーにより、セキュリティが保障されています。
Gurobi 計算サーバ機能
Gurobiインスタントクラウドプランに含まれる計算サーバライセンスにより、ジョブのキューイングや負荷分散を含むクライアントサーバの全ての機能にアクセスすることができます。これにより、無制限の数のクライアントから無制限の数のユーザおよびジョブの実行が可能です。クライアントとしては、Windows、Linux、Macが利用できます。
分散最適化機能
分散最適化機能も必要に応じ利用可能です。これにより、劇的な求解時間短縮のために複数マシンを利用できます。
- 分散MIP
複数マシンを一緒に起動させ、混合整数(MIP)モデルを求解 - 分散並行最適化
複数マシンが異なったアルゴリズムを使って、LPまたはMIPの求解を競争 - 分散チューニング
複数マシンによる、パフォーマンス向上のためのパラメータ設定を見つけるべき実験的求解