Sparse Optimal Control Software (SOCS)


  • Function Error Flag -- The user must supply procedures to compute the problem functions. When it is not possible to compute the functions (e.g., c(x)=ln(x) for x<0), the user can set a function error flag that will cause the algorithms to respond without aborting.
  • User Can Select Many Parameters -- All algorithms in the family have extensive flexibility and use a common input utility for optional parameters. However, the algorithms are easy to use because default values are set for every optional input.
  • Diagnostic Output -- Extensive diagnostic output can be obtained from all modules in the software family, including:
    • NLP line search.
    • Matrix sparsity patterns.
    • Finite Difference Gradient/Hessian.
    • QP iteration histories.
    • Linear algebra operations.
    • Optimal control mesh refinement.
  • Error Checking -- All software performs extensive checks on the user input.
  • Documentation -- Complete, informative documentation is supplied for all software in the SOCS family SOCS User's Guide. Software updates are reflected in document revisions.
  • All software in the SOCS family interfaces with C and MATLAB, for user convenience.
  • The computational algorithms used in the SOCS software family are described in the book Practical Methods for Optimal Control using Nonlinear Programming . Information on this book is available at the SIAM website.