0 / 0
Go back to the English version of the documentation
解决和分析Decision Optimization模型:饮食问题
Last updated: 2024年11月21日
Decision Optimization 笔记本教程

此示例显示如何使用样本创建和求解基于 Python的模型。

准备工作

要求
要编辑和运行 Decision Optimization 模型,必须满足以下先决条件:
管理员编辑者 角色
您必须在项目中具有 管理员编辑者 角色。 共享项目的查看者只能看到实验,但无法修改或运行实验
watsonx.ai运行时服务
您必须有一个与项目相关联的watsonx.aiRuntime服务。 您可以在创建 Decision Optimization 试验时添加一个。
部署空间
您必须具有与 Decision Optimization 试验相关联的部署空间。 您可以在创建 Decision Optimization 试验时选择部署空间。

关于本任务

这个众所周知的优化问题旨在确定食品的最佳搭配以满足饮食需求,同时最大限度降低成本。 数据输入包括各种食品的营养成分及价格,以及饮食中各种营养成分的最小值和最大值。 模型表示为线性规划的最小化。 DO-samples中提供了此样本中使用的文件。

过程

要使用样本创建和求解基于 Python的模型,请执行以下操作:

  1. 下载所有 DO-samples 并将其解压缩到您的计算机上。 您还可以仅从产品和版本的 Model_Builder 子文件夹下载 diet.zip 文件,但在此情况下,请勿将其解压缩。
  2. 打开项目或创建空项目。
  3. 选择 资产 选项卡。
  4. 选择新资产 > 解决优化问题在里面使用模型部分。
  5. 在打开的 " 创建 Decision Optimization 试验 " 窗口中单击 本地文件
  6. 浏览以在下载的 DO-samples中查找 Model_Builder 文件夹。 选择相应的产品和版本子文件夹。 选择 Diet.zip 文件,然后单击 打开。 或者,使用拖放操作。
  7. 如果您还没有将 "watsonx.ai运行时间服务与项目关联起来,则必须先选择 "添加 "Machine Learning服务来选择或创建一个服务,然后再为 "试验选择部署空间。
  8. 单击 新建部署空间,输入名称,然后单击 创建 (或从下拉菜单中选择现有空间)。
  9. 单击 创建
    将创建与样本同名的 Decision Optimization 模型。
  10. 准备数据 视图中,可以看到已导入的数据资产。
    这些表格表示饮食中营养成分的最小值和最大值 (diet_nutrients)、各种食品中的营养成分 (diet_food_nutrients) 以及特定食品的价格与数量 (diet_food)。

    "准备数据" 视图中输入数据的表

  11. 单击侧边栏中的 构建模型 可查看模型。
    该 Python 模型最大限度降低饮食的食品成本,同时满足最低限度的营养成分和热量需求。

    "运行模型" 视图中显示的饮食问题的 Python 模型

    另请注意如何在此模型中指定 输入 ( 准备数据 查看中的表) 和 输出 (在本例中,要在 Explore 解中显示的解表 查看)。

  12. 通过单击 构建模型 视图中的 运行 按钮来运行模型。

结果

运行完成后,您可以在 Explore 解决方案 视图中查看结果。 您还可以单击 引擎统计信息日志 以查看解决方案图表并检查日志文件。 浏览解 视图 中的第一个选项卡显示目标 (如果有多个目标) 及其值和权重。 解决方案表 选项卡为您提供 食品及其数量的列表以及它们提供的营养素。

您还可以 csv 文件形式下载解决方案表。

如果模型中存在任何有冲突的约束,那么这些约束会显示在冲突选项卡中,并提供求解该模型所必需的松驰

"可视化" 视图中,解决方案在 解决方案 页面中显示为表和图表。 通过选择和编辑窗口小部件,您可以添加注释、不同类型的表格和图表,以显示输入数据、解决方案数据或 KPI。 您还可以在 "可视化" 视图中创建不同的页面。 例如,在此样本中,还提供了输入页面。 有关更多信息,请参阅 Decision Optimization 试验中的 "可视化" 视图

您已准备好开始在不同方案之间运行比较。 例如,基本解决方案包含一定数量的热狗。 对于偏好素食的人员,您可能想查看替代解决方案。

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