Publication | Open Access
Algorithm 902
650
Citations
33
References
2010
Year
Numerical AnalysisMathematical ProgrammingGauss Pseudospectral MethodEngineeringContinuous OptimizationNonlinear ProgrammingNumerical MethodSystems EngineeringLinkage ConditionsSemidefinite ProgrammingComputer ScienceNonlinear OptimizationApproximation TheoryQuadratic Programming
The algorithm is well suited for vectorized languages such as FORTRAN 95 and MATLAB, and its discretization produces a large‑scale nonlinear programming problem with notable features. The paper presents an algorithm that solves multiple‑phase optimal control problems using the Gauss pseudospectral method. The algorithm discretizes each phase’s cost functional and differential‑algebraic equations, links phases with state‑time conditions, yielding a large‑scale NLP that is implemented in MATLAB as GPOPS and tested on three classical problems. GPOPS, the MATLAB implementation, successfully solves three classical optimal control problems, demonstrating the algorithm as a useful software tool and reference for implementing the Gauss pseudospectral method in other languages.
An algorithm is described to solve multiple-phase optimal control problems using a recently developed numerical method called the Gauss pseudospectral method . 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 GPOPS , 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.
| Year | Citations | |
|---|---|---|
Page 1
Page 1