# DCOPT **Repository Path**: olupengo/dcopt ## Basic Information - **Project Name**: DCOPT - **Description**: 基于直接配点法的最用控制问题建模和求解软件,Tools for modeling and solving optimal control problems based on direct collocation methods. - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-22 - **Last Updated**: 2026-02-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DCOPT 一个基于 CasADi 的最优控制库,专注于直接配点法(Direct Collocation Method)的实现与应用。 ## 项目简介 DCOPT 是一个用于求解最优控制问题的 C++ 库,通过直接配点法将连续最优控制问题离散化为非线性规划(NLP)问题。该项目展示了两种常用的数值积分方法: - **Hermite-Simpson 法**:使用三次 Hermite 插值和 Simpson 积分,具有更高的精度 - **梯形法(Trapezoidal)**:使用线性插值和梯形积分,计算效率更高 ## 项目结构 ``` DCOPT/ ├── 01_hello_world/ # 入门示例 │ └── main.cpp ├── 02_block_move/ # 块移动最优控制示例 │ ├── main_Hermite_Simpson.cpp │ └── main_Trapezoidal.cpp ├── utils/ # 工具函数 │ ├── Interpolate.cpp │ └── Interpolate.h └── CMakeLists.txt ``` ## 编译 - **Eigen**:用于矩阵运算 - **CasADi**:用于最优控制建模与求解 ### 环境要求 - CMake 3.10+ - C++ 编译器(支持 C++11) - Eigen3 - CasADi ### 编译与运行 编译运行参见[install.md](./docs/install.md) ## 计划 - [x] 梯形配点法 - [x] Hermite-Simpson配点法 - [ ] 勒让德配点法、切比雪夫配点法 - [ ] 正交配点法 - [ ] 实现自适应网格细化 - [ ] 支持自动归一化 - [ ] 添加更多最优控制问题求解示例 - [ ] 配点法之外:增加直接打靶法、直接多重打靶法 - [ ] 配点法之外:增加序列凸优化方法 ## 贡献 欢迎提交 Issue 和 Pull Request!