NLOptControl: A modeling language for solving optimal control problems

Current direct-collocation-based optimal control software is either easy to use or fast, but not both. This is a major limitation for users that are trying to formulate complex optimal control problems (OCPs) for use in on-line applications. This paper introduces NLOptControl, an open-source modeling language that allows users to both easily formulate and quickly solve nonlinear OCPs using direct-collocation methods. To achieve these attributes, NLOptControl (1) is written in an efficient, dynamically-typed computing language called Julia, (2) extends an optimization modeling language called JuMP to provide a natural algebraic syntax for modeling nonlinear OCPs; and (3) uses reverse automatic differentiation with the acrylic-coloring method to exploit sparsity in the Hessian matrix. This work explores the novel design features of NLOptControl and compares its syntax and speed to those of PROPT. The syntax comparisons shows that NLOptControl models OCPs more concisely than PROPT. The speeds of various collocation methods within PROPT and NLOptControl are benchmarked over a range of collocation points using performance profiles; overall, NLOptControl's single, two, and four interval pseudospectral methods are roughly $14$, $26$, and $36$ times faster than PROPT's, respectively. NLOptControl is well-suited to improve existing off-line and on-line control systems and to engender new ones.

[1]  Pierre-Brice Wieber,et al.  Fast Direct Multiple Shooting Algorithms for Optimal Robot Control , 2005 .

[2]  Tulga Ersal,et al.  Combined Speed and Steering Control in High-Speed Autonomous Ground Vehicles for Obstacle Avoidance Using Model Predictive Control , 2017, IEEE Transactions on Vehicular Technology.

[3]  Jay H. Lee,et al.  Model predictive control: past, present and future , 1999 .

[4]  Geoffrey T. Huntington,et al.  A Comparison of Accuracy and Computational Efficiency of Three Pseudospectral Methods , 2007 .

[5]  John T. Betts,et al.  Exploiting Sparsity in the Direct Transcription Method for Optimal Control , 1999, Comput. Optim. Appl..

[6]  Iain Dunning,et al.  JuMP: A Modeling Language for Mathematical Optimization , 2015, SIAM Rev..

[7]  Viktor Leek An Optimal Control Toolbox for MATLAB Based on CasADi , 2016 .

[8]  Stephen P. Boyd,et al.  Convex Optimization in Julia , 2014, 2014 First Workshop for High Performance Technical Computing in Dynamic Languages.

[9]  Andrea Walther,et al.  Efficient Computation of Sparse Hessians Using Coloring and Automatic Differentiation , 2009, INFORMS J. Comput..

[10]  Francesco Borrelli,et al.  An auto-generated nonlinear MPC algorithm for real-time obstacle avoidance of ground vehicles , 2013, 2013 European Control Conference (ECC).

[11]  Victor M. Becerra,et al.  Solving complex optimal control problems at no cost with PSOPT , 2010, 2010 IEEE International Symposium on Computer-Aided Control System Design.

[12]  Francesco Borrelli,et al.  Autonomous drifting with onboard sensors , 2016 .

[13]  M. R. Osborne On shooting methods for boundary value problems , 1969 .

[14]  Carl Friedrich Gauss METHODUS NOVA INTEGRALIUM VALORES PER APPROXIMATIONEM INVENIENDI , 2011 .

[15]  M. Diehl,et al.  Real-time optimization and nonlinear model predictive control of processes governed by differential-algebraic equations , 2000 .

[16]  Jorge Nocedal,et al.  Knitro: An Integrated Package for Nonlinear Optimization , 2006 .

[17]  Anil V. Rao,et al.  A ph mesh refinement method for optimal control , 2015 .

[18]  A. Holmqvist,et al.  Open-loop optimal control of batch chromatographic separation processes using direct collocation , 2016 .

[19]  Miles Lubin,et al.  A Robust Approach to Chance Constrained Optimal Power Flow With Renewable Generation , 2015, IEEE Transactions on Power Systems.

[20]  Emilio Frazzoli,et al.  A Survey of Motion Planning and Control Techniques for Self-Driving Urban Vehicles , 2016, IEEE Transactions on Intelligent Vehicles.

[21]  Divya Garg,et al.  ADVANCES IN GLOBAL PSEUDOSPECTRAL METHODS FOR OPTIMAL CONTROL , 2011 .

[22]  H. Bock,et al.  A Multiple Shooting Algorithm for Direct Solution of Optimal Control Problems , 1984 .

[23]  L. Biegler An overview of simultaneous strategies for dynamic optimization , 2007 .

[24]  Alex Pothen,et al.  What Color Is Your Jacobian? Graph Coloring for Computing Derivatives , 2005, SIAM Rev..

[25]  Joan Pau Sánchez,et al.  Asteroid retrieval missions enabled by invariant manifold dynamics , 2016 .

[26]  Tsuyoshi Murata,et al.  {m , 1934, ACML.

[27]  Iain Dunning,et al.  Advances in robust and adaptive optimization : algorithms, software, and insights , 2016 .

[28]  J. Betts Survey of Numerical Methods for Trajectory Optimization , 1998 .

[29]  Robert Fourer On the Evolution of Optimization Modeling Systems , 2012 .

[30]  Moritz Diehl,et al.  CasADi -- A symbolic package for automatic differentiation and optimal control , 2012 .

[31]  Michael A. Saunders,et al.  SNOPT: An SQP Algorithm for Large-Scale Constrained Optimization , 2002, SIAM J. Optim..

[32]  T. A. Zang,et al.  Spectral methods for fluid dynamics , 1987 .

[33]  Christopher Liu Darby,et al.  hp-Pseudospectral method for solving continuous-time nonlinear optimal control problems , 2011 .

[34]  Matthew Kelly,et al.  An Introduction to Trajectory Optimization: How to Do Your Own Direct Collocation , 2017, SIAM Rev..

[35]  Brian W. Kernighan,et al.  AMPL: A Modeling Language for Mathematical Programming , 1993 .

[36]  Gamal N. Elnagar,et al.  The pseudospectral Legendre method for discretizing optimal control problems , 1995, IEEE Trans. Autom. Control..

[37]  Tamer Inanc,et al.  An RBF collocation method for solving optimal control problems , 2017, Robotics Auton. Syst..

[38]  Stephen L. Campbell,et al.  Initialization of direct transcription optimal control software , 2003, 42nd IEEE International Conference on Decision and Control (IEEE Cat. No.03CH37475).

[39]  David Kendrick,et al.  GAMS, a user's guide , 1988, SGNM.

[40]  Anil V. Rao,et al.  Exploiting Sparsity in Direct Collocation Pseudospectral Methods for Solving Optimal Control Problems , 2012 .

[41]  Naser Mehrabi,et al.  Nonlinear model predictive control of an upper extremity rehabilitation robot using a two-dimensional human-robot interaction model , 2017, 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).

[42]  Oleg A. Yakimenko,et al.  Computing short-time aircraft maneuvers using direct methods , 2008 .

[43]  Andreas Griewank,et al.  Algorithm 755: ADOL-C: a package for the automatic differentiation of algorithms written in C/C++ , 1996, TOMS.

[44]  Jorge J. Moré,et al.  Digital Object Identifier (DOI) 10.1007/s101070100263 , 2001 .

[45]  M. L. Chambers The Mathematical Theory of Optimal Processes , 1965 .

[46]  Moritz Diehl,et al.  ACADO toolkit—An open‐source framework for automatic control and dynamic optimization , 2011 .

[47]  J. Maciejowski,et al.  Soft constraints and exact penalty functions in model predictive control , 2000 .

[48]  D. Hull Conversion of optimal control problems into parameter optimization problems , 1996 .

[49]  Anil V. Rao,et al.  Constrained Trajectory Optimization Using Pseudospectral Methods , 2008 .

[50]  Qing Nie,et al.  DifferentialEquations.jl – A Performant and Feature-Rich Ecosystem for Solving Differential Equations in Julia , 2017, Journal of Open Research Software.

[51]  Alan Edelman,et al.  Julia: A Fast Dynamic Language for Technical Computing , 2012, ArXiv.

[52]  John T. Betts,et al.  Practical Methods for Optimal Control and Estimation Using Nonlinear Programming , 2009 .

[53]  Anil V. Rao,et al.  Algorithm 902: GPOPS, A MATLAB software for solving multiple-phase optimal control problems using the gauss pseudospectral method , 2010, TOMS.

[54]  Iain Dunning,et al.  Computing in Operations Research Using Julia , 2013, INFORMS J. Comput..

[55]  A. Rao,et al.  A Mesh Refinement Algorithm for Solving Optimal Control Problems Using Pseudospectral Methods , 2009 .

[56]  William W. Hager,et al.  Pseudospectral methods for solving infinite-horizon optimal control problems , 2011, Autom..

[57]  Jan Tommy Gravdahl,et al.  Non-linear model predictive control for constrained robot navigation in row crops , 2015, 2015 IEEE International Conference on Industrial Technology (ICIT).

[58]  Anil V. Rao,et al.  GPOPS-II , 2014, ACM Trans. Math. Softw..

[59]  Wei Kang,et al.  Pseudospectral Optimal Control Theory Makes Debut Flight, Saves NASA $1M in Under Three Hours , 2007 .

[60]  Victor M. Becerra,et al.  Optimal control , 2008, Scholarpedia.

[61]  Zoltan K. Nagy,et al.  Swelling Constrained Control of an Industrial Batch Reactor Using a Dedicated NMPC Environment: OptCon , 2009 .

[62]  William W. Hager,et al.  A unified framework for the numerical solution of optimal control problems using pseudospectral methods , 2010, Autom..

[63]  Hans Bock,et al.  Efficient Numerics for Nonlinear Model Predictive Control , 2010 .

[64]  Xiaojin Zhu,et al.  An Optimal Control Approach to Sequential Machine Teaching , 2018, AISTATS.

[65]  J. Rawlings,et al.  Feasibility issues in linear model predictive control , 1999 .

[66]  Hans Bock,et al.  Fast Nonlinear Model Predictive Control with an Application in Automotive Engineering , 2009 .

[67]  James B. Rawlings,et al.  Feasible Real-time Nonlinear Model Predictive Control , 2002 .

[68]  Azim Eskandarian,et al.  Handbook of Intelligent Vehicles , 2012 .

[69]  Hans Joachim Ferreau,et al.  Efficient Numerical Methods for Nonlinear MPC and Moving Horizon Estimation , 2009 .

[70]  W. Hager,et al.  An hp‐adaptive pseudospectral method for solving optimal control problems , 2011 .

[71]  Cosmin G. Petra,et al.  Parallel Algebraic Modeling for Stochastic Optimization , 2014, 2014 First Workshop for High Performance Technical Computing in Dynamic Languages.

[72]  Jacek Gondzio,et al.  A Structure-Exploiting Tool in Algebraic Modeling Languages , 2000 .

[73]  James S. Meditch,et al.  On the problem of optimal thrust programming for a lunar soft landing , 1964 .

[74]  I. Michael Ross,et al.  Advances in Pseudospectral Methods for Optimal Control , 2008 .

[75]  Tulga Ersal,et al.  Moving obstacle avoidance for large, high-speed autonomous ground vehicles , 2017, 2017 American Control Conference (ACC).

[76]  William W. Hager,et al.  Runge-Kutta methods in optimal control and the transformed adjoint system , 2000, Numerische Mathematik.

[77]  T. Ohtsuka,et al.  Practical Issues in Nonlinear Model Predictive Control: Real-Time Optimization and Systematic Tuning , 2009 .

[78]  Nicholas Hale,et al.  Fast and Accurate Computation of Gauss-Legendre and Gauss-Jacobi Quadrature Nodes and Weights , 2013, SIAM J. Sci. Comput..

[79]  Rajesh Rajamani,et al.  Vehicle dynamics and control , 2005 .

[80]  P. Tsiotras,et al.  Trajectory Optimization Using Multiresolution Techniques , 2008 .

[81]  Lorenz T. Biegler,et al.  On the implementation of an interior-point filter line-search algorithm for large-scale nonlinear programming , 2006, Math. Program..

[82]  C. Hargraves,et al.  DIRECT TRAJECTORY OPTIMIZATION USING NONLINEAR PROGRAMMING AND COLLOCATION , 1987 .