0 / 0
Go back to the English version of the documentation
Decision Optimization Notebook
Last updated: 2024年11月21日
Decision Optimization Notebook

您可以使用 DOcplex(用于 Decision Optimization的本机 Python API) 在 Python Notebook 中创建和运行 Decision Optimization 模型。 已有多个 Decision Optimization Notebook 可供您使用。

您可以将 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 商业版) 中可用:
  • CPLEX 22.1.1.0NLP + DO runtime 24.1 on Python 3.11
  • CPLEX 20.1.0.1DO + NLP runtime 23.1 on Python 3.10 (deprecated)

您可以使用 "环境" 选项卡 (请参阅 更改 Notebook 的环境) 来轻松更改 Notebook 中的环境 (运行时和 Python 版本)。 因此,您可以制定优化模型,并在一个环境中使用小型数据集对其进行测试。 然后,要对具有更大数据集的模型进行求解,可以切换到其他环境,而不必重写或复制 Notebook 代码。

Decision Optimization Notebook 的多个示例在 资源中心中提供,包括:
  • “数独”示例,这是一个约束规划示例,其目标是求解 9x9 数独网格。
  • 意大利面生产问题示例,这是一个线性规划示例,其中的目标是最小化某些意大利面产品的生产成本,并确保满足客户对产品的需求。
这些示例和更多示例也在 DO-samplesjupyter 文件夹中提供

所有 Decision Optimization Notebook 都使用 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 V2.0 下进行许可并且对于 numpy/pandas 友好。

您可以阅读完整的 DOcplex API 文档 on rawgit。 您可以在 Decision Optimization GitHub上找到 DOcplex 示例。

Decision Optimization 客户机 API

除了 DOcplex之外,还提供了 Decision Optimization 客户机 API ,供您用于创建方案和处理在 Decision Optimization 试验 UI中生成的模型。 例如,请参阅 生成多个 Decision Optimization方案

请参阅 Decision Optimization 客户机 API 文档。 您还可以在 DO-samplesjupyter 文件夹中找到先前示例。

运行 Decision Optimization Notebook

根据您是对约束规划还是线性规划感兴趣,请选择先前提供的两个 Notebook 中的一个,并按如下所示运行。

如果您在 Cloud Pak for Data as a Service中已有项目:
  1. 资源中心中,打开要使用的 Notebook
  2. 如果已创建项目Cloud Pak for Data as a Service,请单击 添加到项目
  3. 在下拉列表中选择一个现有项目,然后选择 运行时 ,例如 Python 3.11 XS 上的 Runtime 24.1 (或者对于需要 CPLEX 引擎商业版的大型模型,选择 Python 3.11 XS 上的 DO + NLP Runtime 24.1 ),然后单击 创建。 这样会将 Notebook 添加到项目中。

如果您还没有项目 Cloud Pak for Data as a Service,请单击 "下载" 按钮 "下载" 按钮 以将示例下载到您的计算机上。

  1. 创建新项目:从菜单中选择项目 > 查看所有项目,然后单击新建项目按钮。
  2. 选择 创建空项目 ,并在打开的窗口中输入名称,然后单击 创建
  3. 选择 资产 选项卡。
  4. 选择新资产 > 使用数据和模型Python或 R在里面使用模型部分。
  5. 选择 本地文件。 然后单击 将文件拖放到此处或上载 并浏览到计算机上的 Notebook
  6. 单击 创建 Notebook Notebook 已添加到项目中。
这样会自动打开 Notebook

要运行 Notebook,请单击 单元> 全部运行

Decision Optimization GitHub中提供了示例 Python Notebook 。 要使用这些笔记本,请参阅 Jupyter 笔记本示例。 这些示例不使用 试验 UI

另外,在 DO-samplesjupyter 文件夹中提供了一个 Python Notebook ,用于显示如何生成多个方案以及如何使用随机数据。 此方法可用于测试在 试验 UI 中使用不同数据集创建的模型。 有关更多信息,请参阅 生成多个方案

Decision Optimization 教程

您可以找到更多多普勒克斯向您介绍多普勒克斯Python API 上的Decision OptimizationGitHub:

线性规划
您可以在此 线性规划 (CPLEX 部件 1) 教程中阅读此 Notebook 的详细描述。 您可以克隆或下载此 来自 Github 的 Decision Optimization 线性规划 笔记本
超越线性规划
您可以在此 线性规划 (CPLEX 部件 2) 教程中阅读此 Notebook 的详细描述。 您可以克隆或下载此 来自 Github 的 Decision Optimization 超越线性规划 笔记本
CPLEX for Python 中的调度入门
您可以在此 CPLEX for Python 教程中的调度中阅读此 Notebook 的详细描述。 您可以从 Github 克隆或下载此 CPLEX for Python Notebook 中的调度入门
Generative AI search and answer
These answers are generated by a large language model in watsonx.ai based on content from the product documentation. Learn more