---
tags:
  - examples
  - quickstart
---

# 快速入门

快速入门用三个小例子说明 OptAgent 的三条公开调用路径。完整代码维护在
公开示例仓库的固定提交中。

## 1. 统一建模与 `solve`

先使用 `ModelBuilder` 描述变量、约束和目标，再调用通用入口 `solve(...)`。

```python title="examples/quickstart/unified_solve.py"
--8<-- "examples/examples/quickstart/unified_solve.py"
```

完整文件：[unified_solve.py](https://github.com/Dongbox/optagent-examples/blob/815ec9121fcde74f32705c44de99a4a3d6770ef9/examples/quickstart/unified_solve.py)

这条路径适合先验证问题表达，也适合目标或约束包含外部函数的模型。它不
自动等价于某个精确后端。

## 2. 线性模型的 `solve` 与 `solve_optx`

同一个线性模型可以先通过通用 `solve(...)` 验证，也可以明确选择 OptX 精确
路径。两条调用的求解语义不同：前者是通用搜索路径，后者要求模型完整落在
OptX 支持的线性 / 混合整数表达范围内。

```python title="examples/linear/quickstart_linear_routes.py"
--8<-- "examples/examples/linear/quickstart_linear_routes.py"
```

完整文件：[quickstart_linear_routes.py](https://github.com/Dongbox/optagent-examples/blob/815ec9121fcde74f32705c44de99a4a3d6770ef9/examples/linear/quickstart_linear_routes.py)

## 3. 调度模型的统一求解

调度模型也可以直接使用统一的 `solve(...)` 入口，不需要额外安装第三方求解器。

```python title="examples/scheduling/job_shop_small.py"
--8<-- "examples/examples/scheduling/job_shop_small.py"
```

完整文件：[job_shop_small.py](https://github.com/Dongbox/optagent-examples/blob/f3c4e2e72af3008e7fe6ce4dec0d5fa014d5354a/examples/scheduling/job_shop_small.py)

该示例使用 `interval_var`、`no_overlap` 和 `precedence` 表达基础 Job Shop，
最后调用 `solve(...)`。典型调度问题页会进一步介绍何时使用 `SchedulingModel`
专用接口。

## 下一步

- [线性与混合整数优化](../examples/linear/index.md)
- [调度优化](../examples/scheduling/index.md)
- [黑盒优化](../examples/blackbox/index.md)
- [API 参考](../api/index.md)
