Decision Optimization 記事本
您可以在 Python Notebook 中使用 DOcplex( Decision Optimization的原生 Python API) 來建立及執行 Decision Optimization 模型。 已有數個 Decision Optimization Notebook 可供您使用。
Runtime 22.2 on Python 3.10 S/XS/XXS
DO + NLP runtime 22.2 on Python 3.10
您可以使用 環境標籤 (請參閱 變更 Notebook 的環境) ,輕鬆地變更 Notebook 內的環境 (執行時期及 Python 版本)。 這表示您可以規劃最佳化模型,並在一個環境中使用小型資料集來測試它們,然後,若要解決更大的資料集,您可以只切換至不同的環境,而不需要重寫或複製 Notebook 程式碼。
- 「數獨」範例,這是一個限制規劃範例,其目標為求解 9x9 的「數獨」網格。
- 「義大利麵生產問題」範例,這是一個線性規劃範例,其目標是最大限度降低部分義大利麵產品的生產成本,並確保滿足客戶對產品的需求。
所有 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 ModelAPI 在 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-samples的 jupyter 資料夾中找到前一個範例。
執行 Decision Optimization Notebook
視您是否對「限制規劃」或「線性規劃」感興趣而定,請選擇本節先前呈現的兩個 Notebook 之一,並如下所示執行它。
- 從 範例中,開啟您要使用的 記事本 。
- 如果您已建立專案,請按一下 新增至專案。
- 在下拉清單中選取 現有專案 ,並選取 執行時期,例如 Python 上的執行時期 22.2 3.10 XS (或對於需要商務版 CPLEX 引擎的較大模型,請選取 Python 3.10 XS 上的 DO + NLP 執行時期 22.2 ) ,然後按一下 建立。 記事本 會新增至您的專案。
如果您尚未建立專案,請按一下「下載」按鈕
,在您的機器上下載範例。
- 建立新專案:從功能表中選取專案 > 檢視所有專案,然後按一下新建專案按鈕。
- 選取建立空專案,在開啟的視窗中輸入名稱,然後按一下建立。
- 選取 資產 標籤。
- 在 使用模型 區段中選取 新作業> 在 Python 或 R Notebook 中使用資料和模型 。
- 選擇來源檔案。 然後按一下 拖放檔案或上傳 ,並瀏覽至您機器上的 Notebook 。
- 按一下 建立記事本。 記事本 會新增至您的專案。
若要執行 Notebook,請按一下 單元> 全部執行。
Decision Optimization GitHub中提供範例 Python Notebook 。 若要使用這些,請參閱 Jupyter Notebook 範例。 這些範例不使用 實驗使用者介面。
此外,在 DO-samples的 jupyter 資料夾中提供了 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 筆記本 中的排程。