0 / 0
資料の 英語版 に戻る
あるDecision Optimizationモデルの解決と分析:ダイエット問題
最終更新: 2024年11月21日
Decision Optimization ノートブック・チュートリアル

この例では、サンプルを使用して Pythonベースのモデルを作成して求解する方法を示します。

開始前に

要件
Decision Optimization モデルを編集して実行するには、以下の前提条件が必要です。
管理者 または 編集者 の役割
プロジェクト内で 管理者 または 編集者 の役割を持っている必要があります。 共有プロジェクトのビューアーは、エクスペリメントのみを表示できますが、それらを変更したり実行したりすることはできません。
watsonx.aiランタイムサービス
プロジェクトに関連付けられたwatsonx.aiRuntimeサービスが必要です。 Decision Optimization エクスペリメントを作成するときに、テストを追加できます。
デプロイメント・スペース
Decision Optimization エクスペリメントに関連付けられたデプロイメント・スペースが必要です。 Decision Optimization エクスペリメントを作成するときに、デプロイメント・スペースを選択できます。

このタスクについて

このよく知られた最適化の問題では、コストを最小限に抑えながら、規定食の要件を満たすために食材の最適な組み合わせを識別します。 データ入力は、さまざまな食べ物の栄養プロファイルおよび価格、および規定食に含まれる栄養素の最小値と最大値です。 このモデルは、線形プログラムを最小化したものとして表されます。 このサンプルで使用されるファイルは、 DO-samplesにあります。

手順

サンプルを使用して Pythonベースのモデルを作成して求解するには、以下のようにします。

  1. ご使用のコンピューターにすべての DO サンプル をダウンロードして解凍します。 ご使用の製品およびバージョンの Model_Builder サブフォルダーから diet.zip ファイルのみをダウンロードすることもできますが、この場合は解凍しないでください。
  2. プロジェクトを開くか、空のプロジェクトを作成します。
  3. 「資産」 タブを選択します。
  4. 「モデルの処理」 セクションの 「新規資産」>「最適化問題の解決」 を選択します。
  5. 開いた 「最適化問題の求解 (Solve optimization problems)」 ウィンドウで、 「ローカル・ファイル」 をクリックします。
  6. 「参照」をクリックして、ダウンロードした DO-samples内の Model_Builder フォルダーを見つけます。 該当する製品およびバージョンのサブフォルダーを選択します。 Diet.zip ファイルを選択し、 「開く」をクリックします。 あるいは、ドラッグ・アンド・ドロップを使用します。
  7. まだwatsonx.aiRuntimeサービスをプロジェクトに関連付けていない場合は、実験用のデプロイメントスペースを選択する前に、まずAdd aMachine Learningservice を選択してサービスを選択または作成する必要があります。
  8. 「新規デプロイメント・スペース」をクリックし、名前を入力して、 「作成」 をクリックします (またはドロップダウン・メニューから既存のスペースを選択します)。
  9. 「作成」をクリックします。
    サンプルと同じ名前で Decision Optimization モデルが作成されます。
  10. 「データの準備」 ビューで、インポートされたデータ資産を確認できます。
    これらの表は、栄養分の最小値と最大値 (diet_nutrients)、さまざまな食品の栄養素 (diet_food_nutrients)、および特定の食品の価格と数量 (diet_food) を表します。

    「データの準備」ビューの入力データの表

  11. サイドバーの モデルの作成 をクリックして、モデルを表示します。
    この Python モデルでは、最小限の栄養素およびカロリーの要件を満たしながら、規定食に含まれている食べ物のコストを最小限に抑えます。

    「モデルの実行」ビューに表示される栄養問題の Python モデル

    また、 入力 ( データの準備 表示内の表) と 出力 (この場合は、探索解 表示に表示される解の表) がこのモデルでどのように指定されているかにも注意してください。

  12. モデルの作成 ビュー「実行」 ボタンをクリックして、モデルを実行します。

結果

実行が完了すると、 ソリューションの探索 ビューで結果を確認できます。 また、 「エンジン統計」 または 「ログ」 をクリックして、ソリューション・グラフを表示し、ログ・ファイルを調べることもできます。 ソリューションの探索 ビュー の最初のタブには、目的 (複数ある場合は複数の目的) とその値および重みが表示されます。 「ソリューション・テーブル」 タブには、 食品とその数量、およびそれらが提供する栄養素のリストが表示されます。

ソリューション・テーブルを csv ファイルとしてダウンロードすることもできます。

モデル内に競合する制約がある場合、これらは、モデルを解決するために必要な「緩和 (Relaxations)」とともに「競合 (Conflicts)」タブに表示されます。

「視覚化」ビューでは、 「ソリューション」 ページにソリューションが表およびグラフとして表示されます。 ウィジェットを選択および編集することで、入力データ、ソリューション・データ、または KPI を表示するために、メモやさまざまなタイプの表およびグラフを追加できます。 視覚化ビューで別のページを作成することもできます。 例えば、このサンプルでは、 入力 ページも提供されています。 詳しくは、 Decision Optimization エクスペリメントの視覚化ビューを参照してください。

さまざまなシナリオの比較の実行を開始する準備ができました。 例えば、基本ソリューションには、一定量のホット・ドッグが含まれています。 ベジタリアンの規定食を好む人用に代替ソリューションを確認することが考えられます。