跳转至

使用 SciPy 后端

推荐安装的 conda-forge 包同时提供两种求解器后端。只需安装一次,再根据问题特点 在代码中选择 SciPy:

conda create -n pockit -c conda-forge pockit-optimal-control
conda activate pockit

如果只想使用 SciPy,并希望环境中不安装原生 Ipopt 库,可以改用 PyPI 的基础包:

python -m pip install pockit-optimal-control

在代码中显式选择后端:

from pockit.optimizer import scipy

solution, result = scipy.solve(
    system,
    guess,
    optimizer_options={"maxiter": 1000, "verbose": 1},
)
if not result.success:
    raise RuntimeError(result.message)

SciPy 后端适合用于验证安装、运行教学示例以及求解中等规模的非线性规划。 当网格较密、最优控制转录产生大型稀疏约束问题时,通常更适合使用 Ipopt。实际 性能仍取决于模型、尺度、导数和初始猜测。需要 Ipopt 时请参阅 快速安装

该后端沿用 scipy.optimize.minimizemethod="trust-constr" 下的选项名称和返回对象;它们与 Ipopt 的选项和状态 字典不同。