Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to PyPA versioning guidelines. YAPSS is currently in initial development (0.x), and hence the public API should not be considered stable. YAPSS will follow a predictable versioning policy during 0.x development:
Breaking changes or major new features may occur at minor version changes (e.g., from 0.3.x to 0.4.0).
Patch releases (e.g., 0.3.1, 0.3.2) within the same minor version are backwards-compatible and will not introduce breaking changes.
Users can pin to a specific minor version (e.g., yapss>=0.3.0,<0.4.0) to avoid unexpected changes, but should expect significant updates when upgrading to a new minor version.
0.1.0 - 2024-12-28
Added
Initial release of the software package. Features include:
Computational approach based on the GPOPS-II algorithm of Patterson and Rao (2014).
Support for multiple differentiation methods: automatic differentiation via the CasADi package, user-defined derivatives, and central difference numerical differentiation for problems not amenable to automatic differentiation.
Choice of collocation method, including Legendre-Gauss (LG), Legendre-Gauss-Radau (LGR), and Legendre-Gauss-Lobatto (LGL) options.
Segmented mesh support, enabling mesh refinement in specific regions. (Automatic mesh refinement is not yet available.)
An API for defining optimal control problems designed to catch common errors and provide helpful messages.
Documentation covering installation, setup, and example usage.
Examples available as both Python scripts and Jupyter notebooks.
Nearly complete test coverage for all modules.