このページの目的は、Gurobi評価の体験と、このプロセスで収集すべき情報の概要を示すことです。ライセンス推奨を行うために必要な情報の完全なリストではありません。なぜなら、これはお客様の個別の計算環境によって異なる場合があるためです。このライセンスに関する記事と同様に、ここでは重要な要因を説明することを目指します。詳細をすべて把握し、お客様の状況に最適な選択をするために、弊社の(テクニカル)アカウントマネージャーと是非連携してください。
目次
概念
この文書では、いくつかの重要な概念を表す用語を使用します。
- モデル: Gurobiに解かせたい特定の問題の数学的記述。
- トライアルライセンス: 評価期間中に提供する無料のライセンス。複数のライセンスタイプに限定されるわけではなく、多くのユーザーは技術スタックやアーキテクチャ内で複数のライセンスオプションを試します。
- 評価: Gurobiを試用し、アプリケーションでの動作や環境への統合を確認するプロセス。
- パフォーマンスプロファイル: 特定の計算資源(CPU、メモリ)を使用して、モデルが解決基準に達するまでの時間。
- 使用パターン: Gurobiを実行する頻度と実行時間。
- ライセンスメカニズム: 当社のEULAに従ってGurobiライセンスへアクセスし管理するための技術。
評価体験
Gurobiトライアルの目的は何ですか?
評価期間中に、ユーザーは恐らく以下の2つの質問に答えようとしています:
- 「Gurobiは私の最適化アプリケーションに適したソルバーですか?」
- 「Gurobiは私のアプリケーションアーキテクチャにどのように適合しますか?」
Gurobiが適切なソルバーであることをどう判断できるでしょうか?多くのお客様は以下の一つまたは複数の要因を重視しています:
- パフォーマンス:Gurobiはどのくらい速く私のモデルを解きますか?
- モデリング:どのAPIで作業したいですか?Gurobiのの高度なモデリング機能の利用に利点はありますか?
- サポート:利用可能なリソースやトレーニング資料は何ですか?
- 統合:Gurobiは私の技術スタックに適合しますか?
評価目標を確立した後、Gurobiのテストを開始できます。
評価中に何が行われますか?
多くの場合、Gurobiの評価は2段階のプロセスです。まず、モデルのGurobi パフォーマンスプロファイルと使用パターンを確立します。次に、ライセンスとライセンスメカニズムの選択に焦点を当てます。
多くの場合、必要なライセンスの規模はモデルのパフォーマンスプロファイルによって変わるため、計算要件を理解することが重要です。トライアルライセンスを使用して、お客様のシステムでのGurobiパフォーマンスをベンチマークできますし、当社がテストの実施を支援することも可能です。
最終的なライセンスメカニズムの選択は、お客様の技術スタックやアーキテクチャにも依存します。オフラインやコンテナ、クラウド環境で動作するライセンス、また高スループットシナリオのキューイングやサービス管理を支援する追加製品もあります。最適な選択を決定するためにアーキテクチャレビューを行うことも可能です。ユーザーは複数のトライアルライセンスメカニズムをテストして、どれを進めるか決めることもあります。
誰が関わりますか?
Gurobi側では、アカウントマネージャー(AM)とテクニカルアカウントマネージャー(TAM)のチームと連携できます。AMはGurobiとの商業的関係に注力し、TAMはお客様のアプリケーションに対するGurobiの技術的適合を確保します。この方法により、Gurobiの調達および技術統合に関する複数の関係者との並行活動や会話が容易になります。
評価期間中にパフォーマンスチューニングが行われる場合、Gurobiの最適化エキスパートも関与することがあります。評価期間中はアドバイザリー&サポートチームへのアクセスが含まれています。これは商用Gurobiライセンスの一部であるため、エキスパートとの連携も試してみることが重要です。
ユーザー側では、モデル作成やGurobiのテストを行う個人だけでなく、多くの企業はアプリケーション展開やライセンスサポートのためにIT部門を関与させ、ROIの判断支援を希望する場合はビジネスチームも検討に関わります。
どのくらい時間がかかりますか?
評価期間の長さはお客様のスケジュールに合わせて決定します。モデルのGurobiパフォーマンスとアーキテクチャへの統合(すなわち「技術的適合」の確立)をテストする平均的な期間は約1か月です。
評価期間はどのようなものですか?
Gurobiチームは数学的最適化とその多様なユースケースについて話すことを望んでおり、以下のような体験をお客様から共有してもらうことを楽しんでいます:
- 「Gurobiを簡単に試せること、素晴らしいドキュメント、そしてもちろん常に助けてくれる個別サポートがなければ、最適化の道を進めなかったでしょう」
- 「Gurobiのサポートは期待を超えています。Gurobiの仕組みを理解する必要はありませんが、モデルの動作は理解する必要があり、Gurobiと話すことで賢くなれます」
評価期間は、最適化ユーザーとビジネス関係者にとって有益で生産的かつ満足のいくものとなるべきです。
評価の技術的重点分野
Gurobiトライアルの開始時にユースケースシナリオを確立するとき、多くの場合、お客様のモデル、最適化目標、計算資源、展開アーキテクチャに関して多くの質問をさせていただきます。これは、サポートやライセンス推奨の観点でどのような実用的支援が必要かを把握するためです。また、評価の成功基準を理解したいという目的もあります。
以下は、当社が尋ねる可能性のある質問の非網羅的なリストです。これらすべての回答をまだご存じなくても問題ありません。トライアルライセンスを提供し、パフォーマンスプロファイルを確立するためのベンチマーク活動をサポートします。
評価サポート:
- モデルはどの開発段階にありますか?
- 何人の個人や役割が関与しますか?
- Gurobi統合に関して認識すべき障害はありますか?
モデルとパフォーマンス:
- モデルの典型的な実行時間はどのくらいですか?
- 現在の実行時間を達成するために何スレッド使用していますか?
- 目標実行時間はどのくらいですか?
- ログファイルを分析し、実行時間改善のためのパラメータを検討しましたか?またはGurobiチームと話し合いましたか?
- モデルはMIPですか、それともQCPやMINLPなど他のサポートされるモデルタイプですか?
- どのAPIやモデリング言語を使用していますか?
使用パターン:
- どのくらいの頻度でモデルを解きますか?
- 平均的な1日のGurobi使用状況はどのようなものですか?
- 想定されるピーク使用量はどのくらいですか?
- ジョブは手動で起動しますか、それともスケジュールで起動しますか?
デプロイメント:
- コンテナやクラウドサービスを使用していますか?
- キューイングは必要ですか?
- 今後数年間でどのようにスケールする計画ですか?
シナリオ例
以下のシナリオは、既にモデルが開発されている経験豊富な最適化専門家の評価期間のタイムラインを示しており、アーキテクチャはより単純でパフォーマンスに焦点を当てています。この2週間の高速なシナリオがお客様の想定タイムラインと異なっても問題ありません。すべての評価はユニークであり、以下の例の各ステップはお客様の組織に合わせて拡張・カスタマイズ可能です。
シナリオ:Gurobiパフォーマンスに焦点を当てた評価
Juliaは小さなトラッキング会社で働いており、トラックの積み込みとルーティングの新しいモデルを開発しました。彼女はオープンソースのソルバーでモデルをテストしており、定式化がすべてのビジネスニーズを表していると確信しています。アプリケーションは(データ入力、モデル構築&解決時間、解決策分析を含めて)10分以内に実行される必要があります。オープンソースソルバーではモデルの実行に数時間かかるため、Gurobiを試したいと思っています。Juliaは会社のメインスケジューラーなので、彼女のノートパソコンでモデルを実行する唯一の人物ですが、新しい注文が入るたびに1日に数回実行されます。
- JuliaはGurobiのウェブサイトで無料トライアルのリクエストを記入します。
- 1日目:同日の午後にアカウントマネージャー(AM)とテクニカルアカウントマネージャー(TAM)との電話会議が予定されます。JuliaのノートパソコンでのGurobi使用をサポートするライセンスメカニズムに迅速に合意し、残りの時間は彼女のモデルのオープンソースソルバーでのパフォーマンスをレビューします。
- 1日目:トライアルライセンスが作成され、JuliaはGurobiポータルアカウントからこれをダウンロードします。
- 2〜5日目:Juliaは汎用モデリング言語を使用しているため、ソルバー選択をGurobiに切り替え、異なるデータ入力で複数のモデルインスタンスのパフォーマンス変化を観察し始めます。Juliaはまた.MPSファイルをエクスポートし、gurobipy環境に迅速にインポートしてGurobiのpython APIの使い勝手を確認します。
- 7日目:JuliaはGurobiチームにメールを送り、3つのモデルインスタンスを除きすべて5分未満でGurobiが実行されたと報告しますが、その3つは約20分かかりました。
- 7日目:JuliaとTAMは短い電話で話し合い、Juliaがこれらのモデルインスタンスをアップロードして、Gurobi最適化エキスパートがソルバーの動作とログファイルを調査できるよう計画します。
- 8〜10日目:最適化エキスパートはJuliaのノートパソコンでのパフォーマンスを再現するため、異なるシードを用いた数十のベースラインモデルテストを実行します。TAMと最適化エキスパートはログを共に検討し、Gurobiが最適性の証明に苦戦したケースがあり、MIPFocus=2を設定すると実行速度が改善されることを確認しました。最適化エキスパートはテスト結果とパラメータ推奨の概要をJuliaに送信しました。
- 14日目:JuliaがノートパソコンでMIPFocus=2でのモデルパフォーマンスを検証するのに数日かかりました。現在はすべて5分以内で求解できています。
- 15日目:JuliaはGurobiアカウントチームにメッセージを送り、ソルバーパフォーマンスに満足し、試用していた同じライセンスを購入する準備ができたと伝えます。アカウントチームは、コードをgurobipyに変換した後の高度な機能の使用支援(以前に多目的定式化も議論されていました)を確認するため、2週間後に技術的な電話会議を設定します。