Decision Optimization 記事本

您可以在 Python Notebook 中使用 DOcplex( Decision Optimization的原生 Python API) 來建立及執行 Decision Optimization 模型。 已有數個 Decision Optimization Notebook 可供您使用。

Decision Optimization 環境目前支援 Python 3.10。 下列 Python 環境可讓您存取 CPLEX 引擎的 Community Edition 。 這可讓您解決存在多達 1000 個限制項及 1000 個變數時遇到的問題,或解決搜尋空間 (1000 X 1000) 的「限制規劃」問題。
  • Runtime 22.2 on Python 3.10 S/XS/XXS
若要執行較大的問題,請選取包含完整 CPLEX 商業版本的執行時期。 Decision Optimization 環境 (DOcplex) 可在下列執行時期 (完整 CPLEX 商業版本) 中使用:
  • DO + NLP runtime 22.2 on Python 3.10

您可以使用 環境標籤 (請參閱 變更 Notebook 的環境) ,輕鬆地變更 Notebook 內的環境 (執行時期及 Python 版本)。 這表示您可以規劃最佳化模型,並在一個環境中使用小型資料集來測試它們,然後,若要解決更大的資料集,您可以只切換至不同的環境,而不需要重寫或複製 Notebook 程式碼。

範例中提供多個範例 Decision Optimization Notebook ,包括:
  • 「數獨」範例,這是一個限制規劃範例,其目標為求解 9x9 的「數獨」網格。
  • 「義大利麵生產問題」範例,這是一個線性規劃範例,其目標是最大限度降低部分義大利麵產品的生產成本,並確保滿足客戶對產品的需求。
這些範例及其他範例也可在 DO-samplesjupyter 資料夾中找到。

所有 Decision Optimization 記事本 都使用 DOcplex

DOcplex

Decision Optimization Notebook 使用 DOcplex,這是一個原生 Python API ,用於建模及解決 Decision Optimization 問題。 依預設, API 是 Python 環境的一部分。

它包含兩個模組:
  • 使用 docplex.mp 針對 Python 進行數學規劃建模
  • 使用 docplex.cp 針對 Python 進行限制規劃建模
在程式碼中,您可以指定要使用的程式庫,如下所示,例如用於數學規劃程式庫:
from docplex.mp.model import Model

API 在 Apache License 2.0 版下授權,並且對 numpy/pandas 友善。

您可以閱讀完整 rawgit 上的 DOcplex API 文件。 您可以在 Decision Optimization GitHub上找到 DOcplex 範例。

Decision Optimization 用戶端 API

除了 DOcplex之外,您還可以使用 Decision Optimization 用戶端 API 來建立實務範例,並處理在 Decision Optimization 實驗使用者介面中建立的模型。 例如,請參閱 產生多個實務範例

請參閱 Decision Optimization 用戶端 API 文件。 您也可以在 DO-samplesjupyter 資料夾中找到前一個範例。

執行 Decision Optimization Notebook

視您是否對「限制規劃」或「線性規劃」感興趣而定,請選擇本節先前呈現的兩個 Notebook 之一,並如下所示執行它。

如果您已在 watsonx.ai中建立專案:
  1. 範例中,開啟您要使用的 記事本
  2. 如果您已建立專案,請按一下 新增至專案
  3. 在下拉清單中選取 現有專案 ,並選取 執行時期,例如 Python 上的執行時期 22.2 3.10 XS (或對於需要商務版 CPLEX 引擎的較大模型,請選取 Python 3.10 XS 上的 DO + NLP 執行時期 22.2 ) ,然後按一下 建立記事本 會新增至您的專案。

如果您尚未建立專案,請按一下「下載」按鈕 下載按鈕,在您的機器上下載範例。

  1. 建立新專案:從功能表中選取專案 > 檢視所有專案,然後按一下新建專案按鈕。
  2. 選取建立空專案,在開啟的視窗中輸入名稱,然後按一下建立
  3. 選取 資產 標籤。
  4. 使用模型 區段中選取 新作業> 在 Python 或 R Notebook 中使用資料和模型
  5. 選擇來源檔案。 然後按一下 拖放檔案或上傳 ,並瀏覽至您機器上的 Notebook
  6. 按一下 建立記事本 記事本 會新增至您的專案。
即會自動開啟 Notebook

若要執行 Notebook,請按一下 單元> 全部執行

Decision Optimization GitHub中提供範例 Python Notebook 。 若要使用這些,請參閱 Jupyter Notebook 範例。 這些範例不使用 實驗使用者介面

此外,在 DO-samplesjupyter 資料夾中提供了 Python 記事本 ,其中顯示如何使用隨機化資料來產生多個實務範例。 這對於使用不同的資料集來測試在 實驗使用者介面 中建立的模型可能非常有用。 如需如何執行此動作的相關資訊,請參閱 產生多個實務範例

Decision Optimization 指導教學

您可以在 Decision Optimization GitHub上找到更多將向您介紹 DOcplex Python API 的 DOcplex 範例:

線性規劃
您可以在此 線性規劃 (CPLEX Part 1) 指導教學中閱讀此 記事本 的詳細說明。 您可以複製或下載此 Github 中的 Decision Optimization 線性規劃 筆記本
超越線性規劃
您可以在此 線性規劃 (CPLEX Part 2) 指導教學中閱讀此 記事本 的詳細說明。 您可以複製或下載此 Github 中的 Decision Optimization Beyond Linear Programming 筆記本
開始使用 CPLEX for Python 排程
您可以在此 在 CPLEX for Python 指導教學中排程中閱讀此 Notebook 的詳細說明。 您可以複製或下載此 從 Github 開始使用 CPLEX for Python 筆記本 中的排程