{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,28]],"date-time":"2026-03-28T06:38:03Z","timestamp":1774679883002,"version":"3.50.1"},"reference-count":56,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2010,4,1]],"date-time":"2010-04-01T00:00:00Z","timestamp":1270080000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000006","name":"Office of Naval Research","doi-asserted-by":"publisher","award":["N00014-08-1-1173"],"award-info":[{"award-number":["N00014-08-1-1173"]}],"id":[{"id":"10.13039\/100000006","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100000183","name":"Army Research Office","doi-asserted-by":"publisher","award":["55173-CI"],"award-info":[{"award-number":["55173-CI"]}],"id":[{"id":"10.13039\/100000183","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Math. Softw."],"published-print":{"date-parts":[[2010,4]]},"abstract":"<jats:p>\n            An algorithm is described to solve multiple-phase optimal control problems using a recently developed numerical method called the\n            <jats:italic>Gauss pseudospectral method<\/jats:italic>\n            . The algorithm is well suited for use in modern vectorized programming languages such as FORTRAN 95 and MATLAB. The algorithm discretizes the cost functional and the differential-algebraic equations in each phase of the optimal control problem. The phases are then connected using linkage conditions on the state and time. A large-scale nonlinear programming problem (NLP) arises from the discretization and the significant features of the NLP are described in detail. A particular reusable MATLAB implementation of the algorithm, called\n            <jats:italic>GPOPS<\/jats:italic>\n            , is applied to three classical optimal control problems to demonstrate its utility. The algorithm described in this article will provide researchers and engineers a useful software tool and a reference when it is desired to implement the Gauss pseudospectral method in other programming languages.\n          <\/jats:p>","DOI":"10.1145\/1731022.1731032","type":"journal-article","created":{"date-parts":[[2010,5,6]],"date-time":"2010-05-06T17:41:18Z","timestamp":1273167678000},"page":"1-39","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":508,"title":["Algorithm 902"],"prefix":"10.1145","volume":"37","author":[{"given":"Anil V.","family":"Rao","sequence":"first","affiliation":[{"name":"University of Florida, Gainesville, FL"}]},{"given":"David A.","family":"Benson","sequence":"additional","affiliation":[{"name":"The Charles Stark Draper Laboratory, Inc., Cambridge, MA"}]},{"given":"Christopher","family":"Darby","sequence":"additional","affiliation":[{"name":"University of Florida, Gainesville, FL"}]},{"given":"Michael A.","family":"Patterson","sequence":"additional","affiliation":[{"name":"University of Florida, Gainesville, FL"}]},{"given":"Camila","family":"Francolin","sequence":"additional","affiliation":[{"name":"University of Florida, Gainesville, FL"}]},{"given":"Ilyssa","family":"Sanders","sequence":"additional","affiliation":[{"name":"University of Florida, Gainesville, FL"}]},{"given":"Geoffrey T.","family":"Huntington","sequence":"additional","affiliation":[{"name":"Blue Origin, LLC, Kent, Washington"}]}],"member":"320","published-online":{"date-parts":[[2010,4,23]]},"reference":[{"key":"e_1_2_2_1_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0098-1354(01)00633-0"},{"key":"e_1_2_2_2_1","unstructured":"Bate R. R. Mueller D. D. and White J. E. 1971. Fundamentals of Astrodynamics. Dover Publications New York NY.  Bate R. R. Mueller D. D. and White J. E. 1971. Fundamentals of Astrodynamics. Dover Publications New York NY."},{"key":"e_1_2_2_3_1","unstructured":"Becerra V. M. 2009. PSOPT Optimal Control Solver User Manual. University of Reading Reading U.K. http:\/\/www.psopt.org.  Becerra V. M. 2009. PSOPT Optimal Control Solver User Manual. University of Reading Reading U.K. http:\/\/www.psopt.org."},{"key":"e_1_2_2_4_1","unstructured":"Benson D. A. 2004. A gauss pseudospectral transcription for optimal control. Ph.D. dissertation. MIT Cambridge MA.  Benson D. A. 2004. A gauss pseudospectral transcription for optimal control. Ph.D. dissertation. MIT Cambridge MA."},{"key":"e_1_2_2_5_1","doi-asserted-by":"publisher","DOI":"10.2514\/1.20478"},{"key":"e_1_2_2_6_1","doi-asserted-by":"publisher","DOI":"10.2514\/2.4231"},{"key":"e_1_2_2_7_1","unstructured":"Betts J. T. 2001. Practical Methods for Optimal Control Using Nonlinear Programming. SIAM Philadelphia PA.   Betts J. T. 2001. Practical Methods for Optimal Control Using Nonlinear Programming. SIAM Philadelphia PA."},{"key":"e_1_2_2_8_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF02192216"},{"key":"e_1_2_2_9_1","unstructured":"Betts J. T. and Huffman W. P. 1997. Sparse Optimal Control Software\u2014SOCS MEA-LR-085 Ed. Boeing Information and Support Services Seattle WA.  Betts J. T. and Huffman W. P. 1997. Sparse Optimal Control Software\u2014SOCS MEA-LR-085 Ed. Boeing Information and Support Services Seattle WA."},{"key":"e_1_2_2_10_1","unstructured":"Bryson A. E. and Ho Y.-C. 1975. Applied Optimal Control. Hemisphere Publishing New York NY.  Bryson A. E. and Ho Y.-C. 1975. Applied Optimal Control. Hemisphere Publishing New York NY."},{"key":"e_1_2_2_11_1","volume-title":"KNITRO: An Integrated Package for Nonlinear Optimization","author":"Byrd R. H.","year":"2006"},{"key":"e_1_2_2_12_1","doi-asserted-by":"crossref","unstructured":"Canuto C. Hussaini M. Y. Quarteroni A. and Zang T. A. 1988. Spectral Methods in Fluid Dynamics. Spinger-Verlag Heidelberg Germany.  Canuto C. Hussaini M. Y. Quarteroni A. and Zang T. A. 1988. Spectral Methods in Fluid Dynamics. Spinger-Verlag Heidelberg Germany.","DOI":"10.1007\/978-3-642-84108-8"},{"key":"e_1_2_2_13_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-30728-0"},{"key":"e_1_2_2_14_1","unstructured":"Cizniar M. Fikar M. and Latifi M. A. 2006. Matlab dynamic optimization code dynopt user's guide. http:\/\/www.kirp.chtf.stuba.sk\/fikar\/research\/dynopt\/dynopt.htm.  Cizniar M. Fikar M. and Latifi M. A. 2006. Matlab dynamic optimization code dynopt user's guide. http:\/\/www.kirp.chtf.stuba.sk\/fikar\/research\/dynopt\/dynopt.htm."},{"key":"e_1_2_2_15_1","doi-asserted-by":"publisher","DOI":"10.1093\/imamat\/13.1.117"},{"key":"e_1_2_2_16_1","doi-asserted-by":"crossref","unstructured":"Davis P. and Rabinowitz P. 1984. Methods of Numerical Integration. Academic Press New York NY.  Davis P. and Rabinowitz P. 1984. Methods of Numerical Integration. Academic Press New York NY.","DOI":"10.1016\/B978-0-12-206360-2.50012-1"},{"key":"e_1_2_2_17_1","volume-title":"Pseudopack: A software for solving computational fluid dynamics problems. Tech. rep","author":"Don W.-S.","year":"2000"},{"key":"e_1_2_2_18_1","doi-asserted-by":"publisher","DOI":"10.1023\/A:1018694111831"},{"key":"e_1_2_2_19_1","doi-asserted-by":"publisher","DOI":"10.1109\/9.467672"},{"key":"e_1_2_2_20_1","doi-asserted-by":"crossref","first-page":"2","DOI":"10.1007\/BF03546280","article-title":"A spectral patching method for direct trajectory optimization","volume":"48","author":"Fahroo F.","year":"2000","journal-title":"J. Astronaut. Sci."},{"key":"e_1_2_2_21_1","doi-asserted-by":"publisher","DOI":"10.2514\/2.4709"},{"key":"e_1_2_2_22_1","doi-asserted-by":"crossref","unstructured":"Fornberg B. 1994. A review of pseudospectral methods for solving partial differential equations. Acta Numerica 203--267.  Fornberg B. 1994. A review of pseudospectral methods for solving partial differential equations. Acta Numerica 203--267.","DOI":"10.1017\/S0962492900002440"},{"key":"e_1_2_2_23_1","unstructured":"Fornberg B. 1998. A Practical Guide to Pseudospectral Methods. Cambridge Monographs on Applied and Computational Mathematics. Cambridge University Press Cambridge U.K. New York NY.  Fornberg B. 1998. A Practical Guide to Pseudospectral Methods. Cambridge Monographs on Applied and Computational Mathematics. Cambridge University Press Cambridge U.K. New York NY."},{"key":"e_1_2_2_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/1141885.1141888"},{"key":"e_1_2_2_25_1","unstructured":"Forth S. A. and Edvall M. M. 2007. User's Guide for MAD\u2014A MATLAB Automatic Differentation Toolbox (TOMLAB\/MAD) Version 1.4. TOMLAB Optimization Inc. Pullman WA.  Forth S. A. and Edvall M. M. 2007. User's Guide for MAD\u2014A MATLAB Automatic Differentation Toolbox (TOMLAB\/MAD) Version 1.4. TOMLAB Optimization Inc. Pullman WA."},{"key":"e_1_2_2_26_1","doi-asserted-by":"publisher","DOI":"10.1137\/S1052623499350013"},{"key":"e_1_2_2_27_1","unstructured":"Gill P. E. Murray W. and Saunders M. A. 2006. User's Guide for SNOPT Version 7: Software for Large Scale Nonlinear Programming. Stanford University Palo Alto CA and University of California San Diego La Jolla CA.  Gill P. E. Murray W. and Saunders M. A. 2006. User's Guide for SNOPT Version 7: Software for Large Scale Nonlinear Programming. Stanford University Palo Alto CA and University of California San Diego La Jolla CA."},{"key":"e_1_2_2_28_1","doi-asserted-by":"publisher","DOI":"10.5555\/44265.44270"},{"key":"e_1_2_2_29_1","volume-title":"Proceedings of Guidance, Navigation and Control Conference. American Institute of Aeronautics and Astrodynamics","author":"Huntington G."},{"key":"e_1_2_2_30_1","unstructured":"Huntington G. T. 2007. Advancement and analysis of a gauss pseudospectral transcription for optimal control. Ph.D. dissertation. Department of Aeronautics and Astronautics Massachusetts Institute of Technology Cambridge MA.  Huntington G. T. 2007. Advancement and analysis of a gauss pseudospectral transcription for optimal control. Ph.D. dissertation. Department of Aeronautics and Astronautics Massachusetts Institute of Technology Cambridge MA."},{"key":"e_1_2_2_31_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF03256518"},{"key":"e_1_2_2_32_1","doi-asserted-by":"publisher","DOI":"10.2514\/1.30915"},{"key":"e_1_2_2_33_1","doi-asserted-by":"publisher","DOI":"10.2514\/1.31083"},{"key":"e_1_2_2_34_1","volume-title":"Proceedings des SFB.","author":"Jansch C."},{"key":"e_1_2_2_35_1","unstructured":"Jockenhovel T. 2002. Optcontrolcentre software package for dynamic optimization. http:\/\/OptControlCentre.com\/.  Jockenhovel T. 2002. Optcontrolcentre software package for dynamic optimization. http:\/\/OptControlCentre.com\/."},{"key":"e_1_2_2_36_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10589-007-9098-9"},{"key":"e_1_2_2_37_1","unstructured":"Kirk D. E. 2004. Optimal Control Theory: An Introduction. Dover Publications New York NY.  Kirk D. E. 2004. Optimal Control Theory: An Introduction. Dover Publications New York NY."},{"key":"e_1_2_2_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/838250.838251"},{"key":"e_1_2_2_39_1","doi-asserted-by":"publisher","DOI":"10.2514\/6.2003-5634"},{"key":"e_1_2_2_40_1","unstructured":"Ross I. M. and Fahroo F. 2001. User's Manual for DIDO 2001 &alpha;: A MATLAB Application for Solving Optimal Control Problems. Tech. rep. AAS-01-03. Department of Aeronautics and Astronautics Naval Postgraduate School Monterey CA.  Ross I. M. and Fahroo F. 2001. User's Manual for DIDO 2001 &alpha;: A MATLAB Application for Solving Optimal Control Problems. Tech. rep. AAS-01-03. Department of Aeronautics and Astronautics Naval Postgraduate School Monterey CA."},{"key":"e_1_2_2_41_1","volume-title":"Eds. Lecture Notes in Control and Information Sciences","volume":"295","author":"Ross I. M."},{"key":"e_1_2_2_42_1","doi-asserted-by":"publisher","DOI":"10.2514\/1.3426"},{"key":"e_1_2_2_43_1","volume-title":"Proceedings of the AIAA Guidance, Navigation, and Control Conference","author":"Ross I. M.","year":"2008"},{"key":"e_1_2_2_44_1","doi-asserted-by":"publisher","DOI":"10.2514\/1.37331"},{"key":"e_1_2_2_45_1","unstructured":"Rump S. 2008. Intlab - interval laboratory. http:\/\/www.ti3.tu-harburg.de\/rump\/intlab\/.  Rump S. 2008. Intlab - interval laboratory. http:\/\/www.ti3.tu-harburg.de\/rump\/intlab\/."},{"key":"e_1_2_2_46_1","volume-title":"PROPT: MATLAB Optimal Control Software. Tomlab Optimization","author":"Rutquist P.","year":"2008"},{"key":"e_1_2_2_47_1","volume-title":"MATLAB: A Language for Technical Computing. The Mathworks","author":"The Mathworks","year":"2008"},{"key":"e_1_2_2_48_1","doi-asserted-by":"crossref","unstructured":"Trefethen L. N. 2001. Spectral Methods in MATLAB. SIAM Press Philadelphia PA.   Trefethen L. N. 2001. Spectral Methods in MATLAB. SIAM Press Philadelphia PA.","DOI":"10.1137\/1.9780898719598"},{"key":"e_1_2_2_49_1","unstructured":"Vlases W. G. Paris S. W. Martens M. J. and Hargraves C. R. 1990. Optimal trajectories by implicit simulation. Tech. rep. WRDC-TR-90-3056. Boeing Aerospace and Electronics Seattle WA.  Vlases W. G. Paris S. W. Martens M. J. and Hargraves C. R. 1990. Optimal trajectories by implicit simulation. Tech. rep. WRDC-TR-90-3056. Boeing Aerospace and Electronics Seattle WA."},{"key":"e_1_2_2_50_1","doi-asserted-by":"publisher","DOI":"10.1109\/9.192187"},{"key":"e_1_2_2_51_1","unstructured":"von Stryk O. 2000. User's Guide for DIRCOL (Version 2.1): A Direct Collocation Method for the Numerical Solution of Optimal Control Problems. Technical University Munich Germany.  von Stryk O. 2000. User's Guide for DIRCOL (Version 2.1): A Direct Collocation Method for the Numerical Solution of Optimal Control Problems. Technical University Munich Germany."},{"key":"e_1_2_2_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/365723.365727"},{"key":"e_1_2_2_53_1","doi-asserted-by":"publisher","DOI":"10.2514\/1.5118"},{"key":"e_1_2_2_54_1","doi-asserted-by":"publisher","DOI":"10.2514\/1.4063"},{"key":"e_1_2_2_55_1","first-page":"465","article-title":"Hermite-Legendre-Gauss-Lobatto direct transcription methods in trajectory optimization. (AAS 05-131)","volume":"1","author":"Williams P.","year":"2005","journal-title":"Adv. Astronaut. Soci. 120, part"},{"key":"e_1_2_2_56_1","unstructured":"Williams P. 2008. User's Guide for DIRECT 2.0. Royal Melbourne Institute of Technology Melbourne Australia.  Williams P. 2008. User's Guide for DIRECT 2.0. Royal Melbourne Institute of Technology Melbourne Australia."}],"container-title":["ACM Transactions on Mathematical Software"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1731022.1731032","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1731022.1731032","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T12:41:27Z","timestamp":1750250487000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1731022.1731032"}},"subtitle":["GPOPS, A MATLAB software for solving multiple-phase optimal control problems using the gauss pseudospectral method"],"short-title":[],"issued":{"date-parts":[[2010,4]]},"references-count":56,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2010,4]]}},"alternative-id":["10.1145\/1731022.1731032"],"URL":"https:\/\/doi.org\/10.1145\/1731022.1731032","relation":{},"ISSN":["0098-3500","1557-7295"],"issn-type":[{"value":"0098-3500","type":"print"},{"value":"1557-7295","type":"electronic"}],"subject":[],"published":{"date-parts":[[2010,4]]},"assertion":[{"value":"2008-10-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2009-06-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2010-04-23","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}