GPOPS-II

Last updated
GPOPS-II
Developer(s) Michael Patterson [1] and Anil V. Rao [2]
Initial releaseJanuary 2013;10 years ago (2013-01)
Stable release
2.0 / 1 September 2015;8 years ago (2015-09-01)
Written in MATLAB
Operating system Mac OS X, Linux, Windows
Available in English
Type Numerical optimization software
License Proprietary, Free-of-charge for K - 12 or classroom use. Licensing fees apply for all academic, not-for profit, and commercial use (outside of classroom use)
Website gpops2.com

GPOPS-II (pronounced "GPOPS 2") is a general-purpose MATLAB software for solving continuous optimal control problems using hp-adaptive Gaussian quadrature collocation and sparse nonlinear programming. The acronym GPOPS stands for "General Purpose OPtimal Control Software", and the Roman numeral "II" refers to the fact that GPOPS-II is the second software of its type (that employs Gaussian quadrature integration).

Contents

Problem Formulation

GPOPS-II [3] is designed to solve multiple-phase optimal control problems of the following mathematical form (where is the number of phases):

subject to the dynamic constraints
the event constraints
the inequality path constraints
the static parameter constraints
and the integral constraints
where
and the integrals in each phase are defined as

It is important to note that the event constraints can contain any functions that relate information at the start and/or terminus of any phase (including relationships that include both static parameters and integrals) and that the phases themselves need not be sequential. It is noted that the approach to linking phases is based on well-known formulations in the literature. [4]

Method Employed by GPOPS-II

GPOPS-II uses a class of methods referred to as -adaptive Gaussian quadrature collocation where the collocation points are the nodes of a Gauss quadrature (in this case, the Legendre-Gauss-Radau [LGR] points). The mesh consists of intervals into which the total time interval in each phase is divided, and LGR collocation is performed in each interval. Because the mesh can be adapted such that both the degree of the polynomial used to approximate the state and the width of each mesh interval can be different from interval to interval, the method is referred to as an -adaptive method (where "" refers to the width of each mesh interval, while "" refers to the polynomial degree in each mesh interval). The LGR collocation method has been developed rigorously in Refs., [5] [6] [7] while -adaptive mesh refinement methods based on the LGR collocation method can be found in Refs., . [8] [9] [10] [11]

Development

The development of GPOPS-II began in 2007. The code development name for the software was OptimalPrime, but was changed to GPOPS-II in late 2012 in order to keep with the lineage of the original version of GPOPS [12] which implemented global collocation using the Gauss pseudospectral method. The development of GPOPS-II continues today, with improvements that include the open-source algorithmic differentiation package ADiGator [13] and continued development of -adaptive mesh refinement methods for optimal control.

Applications of GPOPS-II

GPOPS-II has been used extensively throughout the world both in academia and industry. Published academic research where GPOPS-II has been used includes Refs. [14] [15] [16] where the software has been used in applications such as performance optimization of Formula One race cars, Ref. [17] where the software has been used for minimum-time optimization of low-thrust orbital transfers, Ref. [18] where the software has been used for human performance in cycling, Ref. [19] where the software has been used for soft lunar landing, and Ref. [20] where the software has been used to optimize the motion of a bipedal robot.

Related Research Articles

<span class="mw-page-title-main">Integral</span> Operation in mathematical calculus

In mathematics, an integral is the continuous analog of a sum, which is used to calculate areas, volumes, and their generalizations. Integration, the process of computing an integral, is one of the two fundamental operations of calculus, the other being differentiation. Integration started as a method to solve problems in mathematics and physics, such as finding the area under a curve, or determining displacement from velocity. Today integration is used in a wide variety of scientific fields.

<span class="mw-page-title-main">Gaussian quadrature</span> Approximation of the definite integral of a function

In numerical analysis, an n-point Gaussian quadrature rule, named after Carl Friedrich Gauss, is a quadrature rule constructed to yield an exact result for polynomials of degree 2n − 1 or less by a suitable choice of the nodes xi and weights wi for i = 1, ..., n.

<span class="mw-page-title-main">Dynamic programming</span> Problem optimization method

Dynamic programming is both a mathematical optimization method and an algorithmic paradigm. The method was developed by Richard Bellman in the 1950s and has found applications in numerous fields, from aerospace engineering to economics.

<span class="mw-page-title-main">Optimal control</span> Mathematical way of attaining a desired output from a dynamic system

Optimal control theory is a branch of control theory that deals with finding a control for a dynamical system over a period of time such that an objective function is optimized. It has numerous applications in science, engineering and operations research. For example, the dynamical system might be a spacecraft with controls corresponding to rocket thrusters, and the objective might be to reach the Moon with minimum fuel expenditure. Or the dynamical system could be a nation's economy, with the objective to minimize unemployment; the controls in this case could be fiscal and monetary policy. A dynamical system may also be introduced to embed operations research problems within the framework of optimal control theory.

Convex optimization is a subfield of mathematical optimization that studies the problem of minimizing convex functions over convex sets. Many classes of convex optimization problems admit polynomial-time algorithms, whereas mathematical optimization is in general NP-hard.

Trajectory optimization is the process of designing a trajectory that minimizes some measure of performance while satisfying a set of constraints. Generally speaking, trajectory optimization is a technique for computing an open-loop solution to an optimal control problem. It is often used for systems where computing the full closed-loop solution is not required, impractical or impossible. If a trajectory optimization problem can be solved at a rate given by the inverse of the Lipschitz constant, then it can be used iteratively to generate a closed-loop solution in the sense of Caratheodory. If only the first step of the trajectory is executed for an infinite-horizon problem, then this is known as Model Predictive Control (MPC).

In mathematical optimization, the Karush–Kuhn–Tucker (KKT) conditions, also known as the Kuhn–Tucker conditions, are first derivative tests for a solution in nonlinear programming to be optimal, provided that some regularity conditions are satisfied.

An eikonal equation is a non-linear first-order partial differential equation that is encountered in problems of wave propagation.

In control theory, the linear–quadratic–Gaussian (LQG) control problem is one of the most fundamental optimal control problems, and it can also be operated repeatedly for model predictive control. It concerns linear systems driven by additive white Gaussian noise. The problem is to determine an output feedback law that is optimal in the sense of minimizing the expected value of a quadratic cost criterion. Output measurements are assumed to be corrupted by Gaussian noise and the initial state, likewise, is assumed to be a Gaussian random vector.

In mathematics, a collocation method is a method for the numerical solution of ordinary differential equations, partial differential equations and integral equations. The idea is to choose a finite-dimensional space of candidate solutions and a number of points in the domain, and to select that solution which satisfies the given equation at the collocation points.

In the numerical solution of partial differential equations, a topic in mathematics, the spectral element method (SEM) is a formulation of the finite element method (FEM) that uses high degree piecewise polynomials as basis functions. The spectral element method was introduced in a 1984 paper by A. T. Patera. Although Patera is credited with development of the method, his work was a rediscovery of an existing method

The Gauss pseudospectral method (GPM), one of many topics named after Carl Friedrich Gauss, is a direct transcription method for discretizing a continuous optimal control problem into a nonlinear program (NLP). The Gauss pseudospectral method differs from several other pseudospectral methods in that the dynamics are not collocated at either endpoint of the time interval. This collocation, in conjunction with the proper approximation to the costate, leads to a set of KKT conditions that are identical to the discretized form of the first-order optimality conditions. This equivalence between the KKT conditions and the discretized first-order optimality conditions leads to an accurate costate estimate using the KKT multipliers of the NLP.

Pseudospectral optimal control is a joint theoretical-computational method for solving optimal control problems. It combines pseudospectral (PS) theory with optimal control theory to produce a PS optimal control theory. PS optimal control theory has been used in ground and flight systems in military and industrial applications. The techniques have been extensively used to solve a wide range of problems such as those arising in UAV trajectory generation, missile guidance, control of robotic arms, vibration damping, lunar guidance, magnetic control, swing-up and stabilization of an inverted pendulum, orbit transfers, tether libration control, ascent guidance and quantum control.

DIDO is a MATLAB optimal control toolbox for solving general-purpose optimal control problems. It is widely used in academia, industry, and NASA. Hailed as a breakthrough software, DIDO is based on the pseudospectral optimal control theory of Ross and Fahroo. The latest enhancements to DIDO are described in Ross.

Zero-forcing precoding is a method of spatial signal processing by which a multiple antenna transmitter can null the multiuser interference in a multi-user MIMO wireless communication system. When the channel state information is perfectly known at the transmitter, the zero-forcing precoder is given by the pseudo-inverse of the channel matrix. Zero-forcing has been used in LTE mobile networks.

<span class="mw-page-title-main">Group testing</span> Procedure that breaks up the task of identifying certain objects into tests on groups of items

In statistics and combinatorial mathematics, group testing is any procedure that breaks up the task of identifying certain objects into tests on groups of items, rather than on individual ones. First studied by Robert Dorfman in 1943, group testing is a relatively new field of applied mathematics that can be applied to a wide range of practical applications and is an active area of research today.

In coding theory, generalized minimum-distance (GMD) decoding provides an efficient algorithm for decoding concatenated codes, which is based on using an errors-and-erasures decoder for the outer code.

In the mathematical theory of probability, the drift-plus-penalty method is used for optimization of queueing networks and other stochastic systems.

The Karmarkar–Karp (KK) bin packing algorithms are several related approximation algorithm for the bin packing problem. The bin packing problem is a problem of packing items of different sizes into bins of identical capacity, such that the total number of bins is as small as possible. Finding the optimal solution is computationally hard. Karmarkar and Karp devised an algorithm that runs in polynomial time and finds a solution with at most bins, where OPT is the number of bins in the optimal solution. They also devised several other algorithms with slightly different approximation guarantees and run-time bounds.

References

  1. "People".
  2. Website of Anil V. Rao
  3. Patterson, M. A.; 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): 1:1–1:37. doi: 10.1145/2558904 .
  4. Betts, John T. (2010). Practical Methods for Optimal Control and Estimation Using Nonlinear Programming. Philadelphia: SIAM Press. doi:10.1137/1.9780898718577. ISBN   9780898718577.
  5. Garg, D.; Patterson, M. A.; Hager, W. W.; Rao, A. V.; Benson, D. A.; Huntington, G. T. (2010). "A Unified Framework for the Numerical Solution of Optimal Control Problems Using Pseudospectral Methods". Automatica. 46 (11): 1843–1851. doi:10.1016/j.automatica.2010.06.048.
  6. Garg, D.; Hager, W. W.; Rao, A. V.; et al. (2011). "Pseudospectral Methods for Solving Infinite-Horizon Optimal Control Problems". Automatica. 47 (4): 829–837. doi:10.1016/j.automatica.2011.01.085.
  7. Garg, D.; Patterson, M. A.; Darby, C. L.; Francolin, C.; Huntington, G. T.; Hager, W. W.; Rao, A. V.; et al. (2011). "Direct Trajectory Optimization and Costate Estimation of Finite-Horizon and Infinite-Horizon Optimal Control Problems Using a Radau Pseudospectral Method". Computational Optimization and Applications. 49 (2): 335–358. CiteSeerX   10.1.1.663.4215 . doi:10.1007/s10589-009-9291-0. S2CID   8817072.
  8. Darby, C. L.; Hager, W. W.; Rao, A. V.; et al. (2011). "An hp-Adaptive Pseudospectral Method for Solving Optimal Control Problems". Optimal Control Applications and Methods. 32 (4): 476–502. doi:10.1002/oca.957. S2CID   16065706.
  9. Darby, C. L.; Hager, W. W.; Rao, A. V.; et al. (2011). "Direct Trajectory Optimization Using a Variable Low-Order Adaptive Pseudospectral Method". Journal of Spacecraft and Rockets. 48 (3): 433–445. Bibcode:2011JSpRo..48..433D. CiteSeerX   10.1.1.367.7092 . doi:10.2514/1.52136.
  10. Patterson, M. A.; Hager, W. W.; Rao, A. V. (2011). "A ph Mesh Refinement Method for Optimal Control". Optimal Control Applications and Methods. 36 (4): 398–421. doi: 10.1002/oca.2114 . S2CID   6266472.
  11. Liu, F.; Hager, W. W.; Rao, A. V. (2015). "Adaptive Mesh Refinement for Optimal Control Using Nonsmoothness Detection and Mesh Size Reduction". Journal of the Franklin Institute - Engineering and Applied Mathematics. 352 (10): 4081–4106. doi: 10.1016/j.jfranklin.2015.05.028 .
  12. Rao, A. V.; Benson, D. A.; Darby, C. L.; Patterson, M. A.; Francolin, C.; Sanders, I.; Huntington, G. T. (2010). "GPOPS: A MATLAB Software for Solving Multiple-Phase Optimal Control Problems Using the Gauss Pseudospectral Method". ACM Transactions on Mathematical Software. 37 (2): 22:1–22:39. doi:10.1145/1731022.1731032. S2CID   15375549.
  13. Weinstein, M. J.; Rao, A. V. "ADiGator: A MATLAB Toolbox for Algorithmic Differentiation Using Source Transformation via Operator Overloading". ADiGator.
  14. Perantoni, G.; Limebeer, D. J. N. (2015). "Optimal Control of a Formula One Car on a Three-Dimensional Track—Part 1: Track Modeling and Identification". Journal of Dynamic Systems, Measurement, and Control. 137 (2): 021010. doi:10.1115/1.4028253. S2CID   121951098.
  15. Limebeer, D. J. N.; Perantoni, G. (2015). "Optimal Control of a Formula One Car on a Three-Dimensional Track—Part 2: Optimal Control". Journal of Dynamic Systems, Measurement, and Control. 137 (5): 051019. doi:10.1115/1.4029466.
  16. Limebeer, D. J. N.; Perantoni, G.; Rao, A. V. (2014). "Optimal Control of Formula One Car Energy Recovery Systems". International Journal of Control. 87 (10): 2065–2080. Bibcode:2014IJC....87.2065L. doi:10.1080/00207179.2014.900705. S2CID   41823239.
  17. Graham, K. F.; Rao, A. V. (2015). "Minimum-Time Trajectory Optimization of Many Revolution Low-Thrust Earth-Orbit Transfers". Journal of Spacecraft and Rockets. 52 (3): 711–727. doi:10.2514/1.a33187. S2CID   43633680.
  18. Dahmen, T.; Saupeand, D. (2014). "Optimal pacing strategy for a race of two competing cyclists". Journal of Science and Cycling. 3 (2).
  19. Moon, Y; Kwon, S (2014). "Lunar Soft Landing with Minimum-Mass Propulsion System Using H2O2/Kerosene Bipropellant Rocket System". Acta Astronautica. 99 (May–June): 153–157. Bibcode:2014AcAau..99..153M. doi:10.1016/j.actaastro.2014.02.003.
  20. Haberland, M.; McClelland, H.; Kim, S.; Hong, D. (2006). "The Effect of Mass Distribution on Bipedal Robot Efficiency". International Journal of Robotics Research. 25 (11): 1087–1098. doi:10.1177/0278364906072449. S2CID   18209459.