SNOW
Summary: A wrapper for various sparse nonlinear optimization algorithms and derivative computation packages.
Author: Andrew Ning
Features:
- Allows easy switching between SNOPT and IPOPT from a common interface passing through all solver options, preserving output in files, and allowing warm starts (for SNOPT).
- Easy switching between various differentiation methods: ForwardDiff, ReverseDiff, Zygote, FiniteDiff (forward, central, complex step), and user-defined derivatives.
- Derivative calculations are all non-allocating during optimization.
- Outputs are also cached as applicable to avoid unnecessary function calls.
- Methods are provided to help determine sparsity patterns, sparse Jacobians can be updated efficiently with SparseDiffTools (using graph coloring), and the sparsity structure is passed to the solvers.
Documentation:
- Start with the quick start to learn basic usage.
- More advanced or specific queries are addressed in the guide.
Run Unit Tests:
pkg> activate .
pkg> test