資料の 英語版 に戻る複数のDecision Optimizationシナリオを生成する
複数のシナリオを生成する Decision Optimization ノートブック
この例では、ランダム化されたデータに基づいて追加のシナリオを生成することで、モデルを非常に簡単にテストできることを示しています。 このようなテストにより、可変データが含まれている環境で効果的にパフォーマンスを発揮するのにモデルが十分頑強かどうかを評価できます。
最終更新: 2024年12月05日
このチュートリアルでは、ランダム化されたデータを使用して notebook から複数のシナリオを生成する方法を説明します。 複数のシナリオを生成することで、モデルを広範囲のデータに触れさせ、モデルをテストできます。
始める前に
- 要件
- Decision Optimization モデルを編集して実行するには、以下の前提条件が必要です。
- 管理者 または 編集者 の役割
- プロジェクト内で 管理者 または 編集者 の役割を持っている必要があります。 共有プロジェクトのビューアーは、エクスペリメントのみを表示できますが、それらを変更したり実行したりすることはできません。
- watsonx.aiランタイムサービス
- プロジェクトに関連付けられたwatsonx.aiRuntimeサービスが必要です。 Decision Optimization エクスペリメントを作成するときに、テストを追加できます。
- デプロイメント・スペース
- Decision Optimization エクスペリメントに関連付けられたデプロイメント・スペースが必要です。 Decision Optimization エクスペリメントを作成するときに、デプロイメント・スペースを選択できます。
このタスクについて
この例で使用されているファイルは、 DO-samples プロジェクトにあります。 関係するモデルは StaffPlanning
であり、 ノートブック は CopyAndSolveScenarios
です。
手順
サンプルを使用してシナリオを作成および解決するには、以下のようにします。
- すべての DO-samples をダウンロードし、ご使用のマシンに解凍します。 ご使用の製品およびバージョンの Model_Builder サブフォルダーから StaffPlanning.zip ファイルのみをダウンロードすることもできますが、この場合は解凍しないでください。
- プロジェクトを開くか、空のプロジェクトを作成します。
- 「資産」 タブを選択します。
- 選択する新しい資産 > 最適化問題を解決するの中にモデルを操作するセクション。
- 開いた 「 Decision Optimization エクスペリメントの作成」 ウィンドウで、 「ローカル・ファイル」 をクリックします。
- Model_Builder フォルダー内の StaffPlanning.zip ファイルを参照して選択します。 関連する製品とバージョンのサブフォルダーを選択します。
- まだwatsonx.aiRuntimeサービスをプロジェクトに関連付けていない場合は、実験用のデプロイメントスペースを選択する前に、まずAdd aMachine Learningservice を選択してサービスを選択または作成する必要があります。
- 「作成」をクリックします。サンプルと同じ名前で Decision Optimization モデルが作成されます。
-
StaffPlanning
モデルのシナリオ 1 で作業すると、予想される需要を満たすためにどのリソースがどの日に機能するかを識別する表がソリューションに含まれていることが分かります。解が表示されない場合、またはモデルを再実行する場合は、サイドバーの モデルの作成 をクリックします。 次に、 「実行」 をクリックしてモデルを求解します。
ランダム・ジェネレーターを使用した新規シナリオの作成
手順
サンプルを使用してランダム化されたデータを使用する新しいシナリオを作成するには、以下のようにします。
- 「資産」 タブを選択します。
- 選択する新しい資産 > データとモデルの操作PythonまたはRの中にモデルを操作するセクション。
- 開いた新規ウィンドウで 「ローカル・ファイル」 タブを選択します。
- CopyAndSolveScenarios ノートブックを jupyter フォルダーから選択するには、 ファイルをここにドラッグ・アンド・ドロップするか、アップロード および参照 をクリックします。 関連する製品とバージョンのサブフォルダーを選択します。
- 「ノートブックの作成」をクリックします。ノートブックがプロジェクトで開きます。
- プロジェクトの 「設定」 タブで、 「アクセス・トークン」 セクションを見つけ、 「新規トークン +」をクリックします。 トークン名を入力し、アクセス役割として 「エディター」 を選択し、 「作成」をクリックします。
- プロジェクトの 「資産」 タブからノートブックに戻り、鉛筆アイコンをクリックして編集します。 「その他」メニュー で、 「プロジェクト・トークンの挿入」を選択します。 これにより、非表示のセルに許可トークンが追加されます。
- メイン・ホーム・ナビゲーション・メニューから、 「管理」 > 「アクセス (IAM)」 > 「API キー」を選択します。 API 鍵を作成してコピーします。
-
CopyAndSolveScenarios
ノートブックに戻り、client=Client(pc=pc,apikey="API_key"
が含まれているセルを見つけ、API_key
を、コピーしたばかりの独自の IBM Cloud API キーに置き換えます。 -
decision = client.get_experiment(name="StaffPlanning")
を含むセルを見つけます。このセルは、 ノートブック に対して、StaffPlanning
モデルからScenario 1
をコピーし、ランダム化されたデータに基づいて追加のシナリオを生成するために使用するように指示します。 モデルに別の名前を使用した場合は、Staffplanning
を、選択した名前に置き換えます。 - Cell>Run Allを使用して ノートブック を実行します。ノートブック は、 Python random モジュールを使用して、 StaffPlanningという名前のモデルの 5 つの追加シナリオのデータを生成します。 新規シナリオの名前はCopy 01 .. Copy 05 です。 生成するシナリオの数は、セル 9 の
N_SCENARIOS = 5
で指定します。 -
StaffPlanning
モデルを開いて、さまざまなシナリオのソリューションを比較します。 「シナリオ (Scenarios)」アイコンをクリックして「シナリオ (Scenario)」ペインを開き、シナリオ間を迅速に移動します。 また、 「概要」ですべてのシナリオを一目で確認することもできます。 - 「複数シナリオ」 タブのさまざまなシナリオを比較するには、ナビゲーション・ペインの 視覚化 をクリックします。Demand グラフでは、ランダムに生成されたシナリオの異なる期間における需要をプロットされます。 KPI グラフでは、ランダムに生成されたシナリオ全体にわたる合計コストがプロットされます。 My KPIs グラフは、さまざまなシナリオのコストのヒート・マップが、一時雇用の人材と正規雇用の人材の組み合わせとともに示されます。