PSOPT: 一个开源的最优控制软件工具
1. 项目基础介绍
PSOPT 是一个开源的最优控制软件工具,主要用于计算最优控制问题。该软件使用 C++ 编写,并通过直接配置法(Direct Collocation Methods)来解决最优控制问题。PSOPT 的设计理念是通过对时间依赖变量的全局或局部多项式逼近,来离散化微分方程和连续约束,并使用已知的求积公式计算问题相关的任何积分。
2. 项目的核心功能
PSOPT 的核心功能包括:
- 支持单相或_multiphase_问题。
- 处理连续时间非线性动力学。
- 具备一般端点约束。
- 支持非线性路径约束(等式或不等式),适用于状态变量和/或控制变量。
- 实现积分约束和内部点约束。
- 提供控制变量和状态变量的边界。
- 支持一般成本函数,包括 Lagrange 和 Mayer 项。
- 处理自由或固定的初始和最终条件。
- 实现线性或非线性阶段之间的链接。
- 固定或自由的初始时间。
- 固定或自由的最终时间。
- 优化静态参数。
- 支持参数估计问题,包括采样测量。
- 处理带有延迟变量的微分方程。
此外,PSOPT 还具备以下特性:
- 提供多种配置法选择,如 Legendre、Chebyshev、梯形或 Hermite-Simpson。
- 自动缩放。
- 使用 ADOL-C 库自动计算一阶和二阶导数。
- 通过稀疏有限差分进行数值微分。
- 自动网格细化。
- 自动识别雅可比矩阵和海森矩阵的稀疏性。
- 实现微分代数方程(DAE)格式,以便在同一 C++ 函数中实现微分和代数约束。
- 使用 Eigen3(线性代数模板库)和 ADOL-C(自动微分库)。
3. 项目最近更新的功能
根据项目最新信息,PSOPT 的最近更新主要包括以下功能:
- 改进了对 Ubuntu 22.04 的支持,解决了与 adolc 库相关的运行时错误。
- 更新了依赖库,包括 IPOPT、ADOL-C、EIGEN3 等,以提供更好的稳定性和性能。
- 优化了安装流程,提供了更详细的安装指南和文档。
- 修复了已知的问题和漏洞,提高了软件的健壮性。
通过这些更新,PSOPT 进一步提升了其作为最优控制软件的可靠性和易用性,为研究人员和开发者提供了一个强大的工具。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



