您可以使用 DOcplex(用于 Decision Optimization的本机 Python API) 在 Python Notebook 中创建和运行 Decision Optimization 模型。 已有多个 Decision Optimization Notebook 可供您使用。
Python 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 22.1.1.0
的NLP + DO runtime 24.1 on Python 3.11
- 带
CPLEX 20.1.0.1
的DO + NLP runtime 23.1 on Python 3.10 (deprecated)
您可以使用 "环境" 选项卡 (请参阅 更改 Notebook 的环境) 来轻松更改 Notebook 中的环境 (运行时和 Python 版本)。 因此,您可以制定优化模型,并在一个环境中使用小型数据集对其进行测试。 然后,要对具有更大数据集的模型进行求解,可以切换到其他环境,而不必重写或复制 Notebook 代码。
- “数独”示例,这是一个约束规划示例,其目标是求解 9x9 数独网格。
- 意大利面生产问题示例,这是一个线性规划示例,其中的目标是最小化某些意大利面产品的生产成本,并确保满足客户对产品的需求。
所有 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-samples的 jupyter 文件夹中找到先前示例。
运行 Decision Optimization Notebook
根据您是对约束规划还是线性规划感兴趣,请选择先前提供的两个 Notebook 中的一个,并按如下所示运行。
- 从 资源中心中,打开要使用的 Notebook 。
- 如果已创建项目 在 Cloud Pak for Data as a Service 中,请单击 添加到项目。
- 在下拉列表中选择一个现有项目,然后选择 运行时 ,例如 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 中,请单击 "下载" 按钮 以将示例下载到您的计算机上。
- 创建新项目:从菜单中选择项目 > 查看所有项目,然后单击新建项目按钮。
- 选择 创建空项目 ,并在打开的窗口中输入名称,然后单击 创建。
- 选择 资产 选项卡。
- 选择新资产 > 使用数据和模型Python或 R在里面使用模型部分。
- 选择 本地文件。 然后单击 将文件拖放到此处或上载 并浏览到计算机上的 Notebook 。
- 单击 创建 Notebook。 Notebook 已添加到项目中。
要运行 Notebook,请单击 单元> 全部运行。
Decision Optimization GitHub中提供了示例 Python Notebook 。 要使用这些笔记本,请参阅 Jupyter 笔记本示例。 这些示例不使用 试验 UI。
另外,在 DO-samples的 jupyter 文件夹中提供了一个 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 中的调度入门。