GPOPS-II
{{Short description|General-purpose MATLAB software}}
{{Infobox software
| name = GPOPS-II
| logo = Logo_for_Optimal_Control_Software_GPOPS-II.png
| screenshot =
| caption =
| developer = Michael Patterson{{Cite web|url=http://www.anilvrao.com/People.html|title = People}} and Anil V. Rao[http://www.anilvrao.com Website of Anil V. Rao]
| released = {{Start date and age|df=yes|2013|01}}
| latest release version = 2.0
| latest release date = {{Start date and age|2015|09|1|df=yes}}
| programming language = MATLAB
| operating system = Mac OS X, Linux, Windows
| language = English
| genre = Nonlinear Programming
| 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 = {{URL|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).
Problem Formulation
GPOPS-II{{cite journal|last1=Patterson|first1=M. A.|last2=Rao|first2=A. V.|title=GPOPS-II: A MATLAB Software for Solving Multiple-Phase Optimal Control Problems Using hp-Adaptive Gaussian Quadrature Collocation Methods and Sparse Nonlinear Programming|journal=ACM Transactions on Mathematical Software|date=2014|volume=41|issue=1|pages=1:1–1:37|doi=10.1145/2558904|doi-access=free}} 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.{{cite book|last1=Betts|first1=John T.|title=Practical Methods for Optimal Control and Estimation Using Nonlinear Programming|date=2010|publisher=SIAM Press|location=Philadelphia|isbn=9780898718577|doi=10.1137/1.9780898718577}}
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.,{{cite journal|last1=Garg|first1=D.|last2=Patterson|first2=M. A.|last3=Hager|first3=W. W.|last4=Rao|first4=A. V.|last5=Benson|first5=D. A.|last6=Huntington|first6=G. T.|title=A Unified Framework for the Numerical Solution of Optimal Control Problems Using Pseudospectral Methods|journal=Automatica|date=2010|volume=46|issue=11|pages=1843–1851|doi=10.1016/j.automatica.2010.06.048}}{{cite journal|last1=Garg|first1=D.|last2=Hager|first2=W. W.|last3=Rao|first3=A. V.|title=Pseudospectral Methods for Solving Infinite-Horizon Optimal Control Problems|journal=Automatica|date=2011|volume=47|issue=4|pages=829–837|doi=10.1016/j.automatica.2011.01.085|display-authors=etal}}{{cite journal|last1=Garg|first1=D.|last2=Patterson|first2=M. A.|last3=Darby|first3=C. L.|last4=Francolin|first4=C.|last5=Huntington|first5=G. T.|last6=Hager|first6=W. W.|last7=Rao|first7=A. V.|title=Direct Trajectory Optimization and Costate Estimation of Finite-Horizon and Infinite-Horizon Optimal Control Problems Using a Radau Pseudospectral Method|journal=Computational Optimization and Applications|date=2011|volume=49|issue=2|pages=335–358|display-authors=etal|doi=10.1007/s10589-009-9291-0|citeseerx=10.1.1.663.4215|s2cid=8817072}} while -adaptive mesh refinement methods based on the LGR collocation method can be found in Refs., .{{cite journal|last1=Darby|first1=C. L.|last2=Hager|first2=W. W.|last3=Rao|first3=A. V.|title=An hp-Adaptive Pseudospectral Method for Solving Optimal Control Problems|journal=Optimal Control Applications and Methods|date=2011|volume=32|issue=4|pages=476–502|doi=10.1002/oca.957|s2cid=16065706 |display-authors=etal}}{{cite journal|last1=Darby|first1=C. L.|last2=Hager|first2=W. W.|last3=Rao|first3=A. V.|title=Direct Trajectory Optimization Using a Variable Low-Order Adaptive Pseudospectral Method|journal=Journal of Spacecraft and Rockets|date=2011|volume=48|issue=3|pages=433–445|doi=10.2514/1.52136|display-authors=etal|citeseerx=10.1.1.367.7092|bibcode=2011JSpRo..48..433D}}{{cite journal|last1=Patterson|first1=M. A.|last2=Hager|first2=W. W.|last3=Rao|first3=A. V.|title=A ph Mesh Refinement Method for Optimal Control|journal=Optimal Control Applications and Methods|date=2011|volume=36|issue=4|pages=398–421|doi=10.1002/oca.2114|s2cid=6266472 |doi-access=free}}{{cite journal|last1=Liu|first1=F.|last2=Hager|first2=W. W.|last3=Rao|first3=A. V.|title=Adaptive Mesh Refinement for Optimal Control Using Nonsmoothness Detection and Mesh Size Reduction|journal=Journal of the Franklin Institute - Engineering and Applied Mathematics|date=2015|volume=352|issue=10|pages=4081–4106|doi=10.1016/j.jfranklin.2015.05.028|doi-access=free}}
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 {{cite journal|last1=Rao|first1=A. V.|last2=Benson|first2=D. A.|last3=Darby|first3=C. L.|last4=Patterson|first4=M. A.|last5=Francolin|first5=C.|last6=Sanders|first6=I.|last7=Huntington|first7=G. T.|title=GPOPS: A MATLAB Software for Solving Multiple-Phase Optimal Control Problems Using the Gauss Pseudospectral Method|journal=ACM Transactions on Mathematical Software|date=2010|volume=37|issue=2|pages=22:1–22:39|doi=10.1145/1731022.1731032|s2cid=15375549|doi-access=free}} 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 {{cite web|last1=Weinstein|first1=M. J.|last2=Rao|first2=A. V.|title=ADiGator: A MATLAB Toolbox for Algorithmic Differentiation Using Source Transformation via Operator Overloading|url=http://sourceforge.net/projects/adigator|website=ADiGator|date=2 June 2019 }} 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.{{cite journal|last1=Perantoni|first1=G.|last2=Limebeer|first2=D. J. N.|title= Optimal Control of a Formula One Car on a Three-Dimensional Track—Part 1: Track Modeling and Identification|journal= Journal of Dynamic Systems, Measurement, and Control|date=2015|volume= 137|issue=2|doi=10.1115/1.4028253|pages=021010|s2cid=121951098 |url=https://ora.ox.ac.uk/objects/uuid:3a7cfbe2-facf-479f-9208-089b1b22b2ae}}{{cite journal|last1=Limebeer|first1=D. J. N.|last2=Perantoni|first2=G.|title= Optimal Control of a Formula One Car on a Three-Dimensional Track—Part 2: Optimal Control|journal= Journal of Dynamic Systems, Measurement, and Control|date=2015|volume= 137|issue=5|doi=10.1115/1.4029466|pages=051019}}{{cite journal|last1=Limebeer|first1=D. J. N.|last2=Perantoni|first2=G.|last3=Rao|first3=A. V.|title=Optimal Control of Formula One Car Energy Recovery Systems|journal=International Journal of Control|date=2014|volume=87|issue=10|pages=2065–2080|doi=10.1080/00207179.2014.900705|bibcode=2014IJC....87.2065L|s2cid=41823239|url=https://ora.ox.ac.uk/objects/uuid:db0437cc-0b4f-495d-96d5-524ea4bfda5e}} where the software has been used in applications such as performance optimization of Formula One race cars, Ref.{{cite journal|last1=Graham|first1=K. F.|last2=Rao|first2=A. V.|s2cid=43633680|title=Minimum-Time Trajectory Optimization of Many Revolution Low-Thrust Earth-Orbit Transfers|journal=Journal of Spacecraft and Rockets|date=2015|volume=52|issue=3|pages=711–727|doi=10.2514/1.a33187}} where the software has been used for minimum-time optimization of low-thrust orbital transfers, Ref.{{cite journal|last1=Dahmen|first1=T.|last2=Saupeand|first2=D.|title=Optimal pacing strategy for a race of two competing cyclists|journal=Journal of Science and Cycling|date=2014|volume=3|issue=2}} where the software has been used for human performance in cycling, Ref.{{cite journal|last1=Moon|first1=Y|last2=Kwon|first2=S|title=Lunar Soft Landing with Minimum-Mass Propulsion System Using H2O2/Kerosene Bipropellant Rocket System|journal=Acta Astronautica|volume=99|issue=May - June|pages=153–157|doi=10.1016/j.actaastro.2014.02.003|year=2014|bibcode=2014AcAau..99..153M}} where the software has been used for soft lunar landing, and Ref.{{cite journal|last1=Haberland|first1=M.|last2=McClelland|first2=H.|last3=Kim|first3=S.|last4=Hong|first4=D.|title=The Effect of Mass Distribution on Bipedal Robot Efficiency|journal=International Journal of Robotics Research|volume=25|issue=11|pages=1087–1098|doi=10.1177/0278364906072449|year=2006|s2cid=18209459|url=http://resolver.sub.uni-goettingen.de/purl?gs-1/12974 }} where the software has been used to optimize the motion of a bipedal robot.
References
{{Reflist|30em}}
External links
- [http://www.gpops2.com GPOPS-II home page]
- [http://dl.acm.org/citation.cfm?id=2558904 GPOPS-II Journal Article Appearing in the ACM Transactions on Mathematical Software]
- [http://www.anilvrao.com Website of Anil V. Rao]
{{Mathematical optimization software}}
Category:Mathematical optimization software