0 / 0
資料の 英語版 に戻る
Decision Optimization ノートブック
最終更新: 2024年11月21日
Decision Optimization ノートブック

DOcplex( Decision Optimization用のネイティブ Python API) を使用して、 Python ノートブックDecision Optimization モデルを作成および実行できます。 いくつかの Decision Optimization ノートブック は、既に使用可能になっています。

Decision OptimizationPython 3.11 and 3.10 (deprecated)で使用できます。 以下のランタイムでは、CPLEX エンジンの Community Edition にアクセスできます。 Community Edition は、最大 1000 個の制約と 1000 個の変数を持つ問題の求解、または制約プログラミングの問題の場合は 1000 X 1000 個の検索スペースを持つ問題の求解に制限されています。
  • Runtime 24.1 on Python 3.11 S/XS/XXS
  • Runtime 23.1 on Python 3.10 (deprecated) S/XS/XXS
より大きな問題を実行するには、完全な CPLEX 商用エディションを含むランタイムを選択します。 Decision Optimization 環境 (DOcplex) は、以下のランタイム (完全な CPLEX 商用エディション) で使用できます。
  • NLP + DO runtime 24.1 on Python 3.11CPLEX 22.1.1.0
  • DO + NLP runtime 23.1 on Python 3.10 (deprecated)CPLEX 20.1.0.1

「環境」タブ を使用して、 ノートブック 内の環境 (ランタイムおよび Python バージョン) を簡単に変更できます ( ノートブックの環境の変更を参照)。 したがって、最適化モデルを作成し、それらを 1 つの環境内の小さなデータ・セットでテストすることができます。 その後、より大きなデータ・セットを持つモデルを求解するために、 ノートブック ・コードを再作成したりコピーしたりすることなく、別の環境に切り替えることができます。

Decision Optimization ノートブック の複数の例は、以下のような リソース・ハブで入手できます。
  • Sudoku の例では、 9x9 の数独グリッドを解決することを目的とする制約プログラミングの例を挙げます。
  • パスタ生産問題の例。一部のパスタ製品の生産コストを最小化し、顧客の製品需要が満たされるようにすることを目的とした線形計画法の例です。
これらの例およびその他の例は、 DO-samplesjupyter フォルダーにもあります。

すべての Decision Optimization ノートブック は、 DOcplexを使用します。

DOcplex

Decision Optimization ノートブック は、 Decision Optimization の問題をモデル化して解決するためのネイティブ Python API である DOcplexを使用します。 デフォルトでは、API は Python 環境の一部として使用可能です。

これは、以下の 2 つのモジュールから構成されています。
  • docplex.mp を使用する Python の数理計画法モデリング
  • docplex.cp を使用する Python の制約プログラミング・モデリング
コード内で、以下のように、使用するライブラリーを指定できます。例えば、 数理計画法 ライブラリーの場合は、以下のようになります。
from docplex.mp.model import Model

この API は、Apache ライセンス V2.0 の下でライセンス交付され、 numpy/pandas に適しています。

rawgit に関する DOcplex API ドキュメント のフル版を確認できます。 DOcplex の例は、 Decision Optimization GitHubにあります。

Decision Optimization クライアント API

DOcplexに加えて、シナリオを作成し、 Decision Optimization エクスペリメント UIで作成されたモデルを処理するための Decision Optimization クライアント API を使用できます。 例えば、複数のDecision Optimizationシナリオを生成するを参照してください。

Decision Optimization クライアント API 資料を参照してください。 上記の例は、 DO-samplesjupyter フォルダーにもあります。

Decision Optimization ノートブック の実行

制約プログラミングと線形計画法のどちらに関心があるかに応じて、前述の 2 つの ノートブック のいずれかを選択し、以下のように実行します。

watsonx.aiに既にプロジェクトがある場合は、以下のようにします。
  1. 「リソース・ハブ」から、操作する ノートブック を開きます。
  2. 既にプロジェクトを作成している場合は、 「プロジェクトに追加」をクリックします。
  3. ドロップダウン リストで既存のプロジェクトを選択し、ランタイムを選択します。例えば、Python 上のランタイム 24.1 3.11 XS (または、CPLEX エンジンの商用版を必要とする大規模なモデルの場合は、DO + NLP ランタイム 24.1 on Python 3.11 XS)を選択し、作成をクリックします。 ノートブック がプロジェクトに追加されます。

まだプロジェクトがない場合は、「ダウンロード」ボタン 「ダウンロード」ボタン をクリックして、サンプルをコンピューターにダウンロードします。

  1. 新規プロジェクトを作成します (メニューから「プロジェクト」>「すべてのプロジェクトの表示」を選択して、「新しいプロジェクト」ボタンをクリックします)。
  2. 「空のプロジェクトを作成」 を選択し、開いたウィンドウで名前を入力して、 「作成」をクリックします。
  3. 「資産」 タブを選択します。
  4. モデルの処理 セクションで 新規資産> Python または R ノートブックでのデータおよびモデルの処理 を選択します。
  5. 「ローカル・ファイル」を選択します。 次に、 ファイルをドラッグ・アンド・ドロップするか、 をクリックして、コンピューター上の ノートブック を参照します。
  6. ノートブックの作成をクリックします。 ノートブック がプロジェクトに追加されます。
ノートブック が自動的に開きます。

ノートブックを実行するには、 「セル」>「すべて実行」をクリックします。

サンプルの Python ノートブック は、 Decision Optimization GitHubで提供されています。 これらのノートブックを使用するには、 Jupyter ノートブックのサンプルを参照してください。 これらの例では、 エクスペリメント UIは使用されません。

また、複数のシナリオを生成する方法と、ランダム化されたデータを使用する方法を示す Python ノートブック も、 DO-samplesjupyter フォルダーに用意されています。 この方法は、さまざまなデータ・セットを使用して エクスペリメント UI で作成されたモデルをテストするのに役立ちます。 詳しくは、 複数のシナリオの生成を参照してください。

Decision Optimization のチュートリアル

DOcplex のサンプルは、DOcplex Python API の Decision Optimization GitHub: にもあります

線形計画法
この ノートブック について詳しくは、この 線形計画法 (CPLEX Part 1) チュートリアルを参照してください。 この Decision Optimization 線形計画法 ノートブック は、Githubから複製またはダウンロードできます。
線形計画法を超える
この ノートブック について詳しくは、この 線形計画法 (CPLEX パート 2) チュートリアルを参照してください。 この Decision Optimization Beyond Linear Programming ノートブック は、Githubから複製またはダウンロードできます。
CPLEX for Python でのスケジューリングの概要
この ノートブック の詳細な説明については、 CPLEX for Python のチュートリアルを参照してください。 この Getting started with Scheduling in CPLEX for Python ノートブック を Githubから複製またはダウンロードできます。
生成 AI の検索と回答
これらの回答は、製品資料の内容に基づいて、 watsonx.ai のラージ言語モデルによって生成されます。 詳細