Skip to content

Latest commit

 

History

History
23 lines (18 loc) · 1.49 KB

README.md

File metadata and controls

23 lines (18 loc) · 1.49 KB

Sparse Nonlinear Optimization Wrapper (SNOW)

Dev Build Status

The problems we typically solve in our group are nonconvex, nonlinear, constrained, gradient-based, often computationally expensive, and sometimes have sparse Jacobians. This package wraps derivative computation methods and optimization solvers that are well-suited to these types of problems.

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.

To Install

] add SNOW