CGPOPS: A C++ Software for Solving Multiple-Phase Optimal Control Problems Using Adaptive Gaussian Quadrature Collocation and Sparse Nonlinear Programming

29 May 2019  ·  Agamawi Yunus M., Rao Anil V. ·

A general-purpose C++ software program called $\mathbb{CGPOPS}$ is described for solving multiple-phase optimal control problems using adaptive Gaussian quadrature collocation. The software employs a Legendre-Gauss-Radau direct orthogonal collocation method to transcribe the continuous-time optimal control problem into a large sparse nonlinear programming problem. A class of $hp$ mesh refinement methods are implemented which determine the number of mesh intervals and the degree of the approximating polynomial within each mesh interval to achieve a specified accuracy tolerance. The software is interfaced with the open source Newton NLP solver IPOPT. All derivatives required by the NLP solver are computed using either central finite differencing, bicomplex-step derivative approximation, hyper-dual derivative approximation, or automatic differentiation. The key components of the software are described in detail and the utility of the software is demonstrated on five optimal control problems of varying complexity. The software described in this article provides a computationally efficient and accurate approach for solving a wide variety of complex constrained optimal control problems.

PDF Abstract
No code implementations yet. Submit your code now

Categories


Optimization and Control