# 本地运行示例

示例页面可直接阅读。运行或修改代码时，下载 Notebook，并在安装了 OptAgent 的 Python 环境中打开。

## 准备环境

先按[安装与许可证](../start/installation.md)安装匹配当前文档版本的 OptAgent 包，配置许可证并验证安装。

求解能力已随 OptAgent 提供，无须另装 Python `ortools` 或 `highspy`。案例附带的依赖清单用于准备 Notebook 和数据处理环境。

## 下载完整案例

案例页提供两个下载入口，文件与当前文档版本对应：

- **下载 Notebook**：获取 `.ipynb` 文件，适合已具备配套数据的环境。
- **下载完整案例**：获取包含 Notebook、实例数据、依赖清单和 `RUN.md` 的 ZIP，建议首次运行时使用。

解压后，进入案例目录。以背包问题为例：

```bash
cd knapsack_problem
python -m pip install -r requirements.txt
python -m jupyterlab knapsack_problem.ipynb
```

在 JupyterLab 中选择已安装 OptAgent 的 Python 内核，从头执行代码单元。保持 Notebook 与 `instances` 目录的相对位置；示例通常从当前工作目录读取实例。

## 调整实例与时间预算

先阅读 Notebook 末尾的调用单元，选择要运行的实例。`main` 函数的 `time_limit` 参数通常会传给 `solve` 的 `time_limit_s`，单位为秒。

时间预算较小时可能尚未找到可行解。读取变量或目标表达式的 `.value` 前，先确认 `solution.feasible`。结果状态与终止原因的说明见[结果与诊断](../guide/results.md)。

带外部仿真函数的案例可能在一次评价中进行较多计算。请根据函数开销设置时间预算；提供 `evaluation_limit` 参数的案例还可以限制外部函数的新评价次数。

## 重新执行

修改数据或建模代码后，重启内核并从头执行，避免混用上一次运行的模型与表达式。完整案例中的 `RUN.md` 提供对应 Notebook 的启动命令；页面展示内容不会在浏览时重新求解。
