GII GPOPS-II / CGPOPS

MATLAB and C++ optimal control software

GPOPS-II and CGPOPS

General-purpose software for multiple-phase nonlinear optimal control using hp-adaptive Gaussian quadrature collocation, sparse nonlinear programming, and MATLAB or C++ implementation paths.

GPOPS-IIMATLAB optimal control software
CGPOPSC++ optimal control software
LGR/LGLSuper-convergent IRK collocation
NLPSparse nonlinear programming solvers

Features

GPOPS-II and CGPOPS transcribe continuous-time optimal control problems into sparse nonlinear programming problems, making difficult multiphase systems tractable in MATLAB or C++ workflows.

GPOPS-II for MATLAB

Use the MATLAB implementation for research, teaching, engineering studies, and rapid development of multiple-phase optimal control applications.

GPOPS-II includes IPOPT and the Sparse Optimization Suite (SOS) NLP solvers SPRNLP and BARNLP. An interface to SNOPT is also provided, but SNOPT must be obtained separately.

CGPOPS for C++

Use the C++ implementation when source-code integration, compiled workflows, or deployment outside MATLAB is the preferred path.

CGPOPS can be compiled with IPOPT or SNOPT. IPOPT is open-source; SNOPT must be obtained separately.

General Formulation

Model multiple phases, boundary conditions, path constraints, integral constraints, and static parameters in a unified problem structure.

High Accuracy Solutions

Employs super-convergent Implicit Runge-Kutta (IRK) collocation using hp LGR collocation and a newly developed hp LGL collocation method to improve solution quality where the dynamics demand it.

Solver Interfaces

Both products are designed for sparse nonlinear programming workflows, with solver availability depending on whether the MATLAB or C++ implementation is being used.

Examples and Documentation

Review example problem statements, MathJax formulations, and solution figures for representative optimal control applications.

Acquiring Software

Clear licensing paths for MATLAB and C++ optimal control software.

Customers can choose a GPOPS-II or CGPOPS license, add the appropriate product to the cart, and complete secure checkout.

License Summary

  • GPOPS-II is the MATLAB implementation.
  • CGPOPS is the C++ implementation and is licensed separately.
  • Academic, not-for-profit, U.S. Government, and commercial use have dedicated licensing categories.

Examples

Explore complete case studies with problem formulations, solution figures, and downloadable plot files for representative optimal control applications.

Spaceflight

  • Launch vehicle ascent
  • Low-thrust orbit transfer
  • Moon lander problem
  • Reusable launch vehicle entry

Classical Benchmarks

  • Brachistochrone problem
  • Bryson-Denham problem
  • Hyper-sensitive problem
  • Orbit-raising problem

Mechanical and Biological Systems

  • Robot arm problem
  • Free flying robot
  • Dynamic soaring
  • Tumor anti-angiogenesis control

Publications

Please cite the appropriate ACM Transactions on Mathematical Software paper when publishing results obtained with GPOPS-II or CGPOPS.

Software Citation Link
GPOPS-II Patterson, M. A. and Rao, A. V. (2014), GPOPS-II: A MATLAB Software for Solving Multiple-Phase Optimal Control Problems Using hp-Adaptive Gaussian Quadrature Collocation Methods and Sparse Nonlinear Programming. ACM Transactions on Mathematical Software, 41(1), Article 1. DOI
CGPOPS Agamawi, Y. M. and Rao, A. V. (2020), CGPOPS: A C++ Software for Solving Multiple-Phase Optimal Control Problems Using Adaptive Gaussian Quadrature Collocation and Sparse Nonlinear Programming. ACM Transactions on Mathematical Software, 46(3), Article 25. DOI

Support

Documentation, licensing, and technical contact in one place.

The site links to examples, license details, accessibility information, and contact information. Paid technical support can be added to the cart from the pricing page.