Exploiting Sparsity in Direct Collocation Pseudospectral Methods for Solving Optimal Control Problems

Michael A. Patterson, Anil Rao
2012 Journal of Spacecraft and Rockets
In a direct collocation pseudospectral method, a continuous-time optimal control problem is transcribed to a finitedimensional nonlinear programming problem. Solving this nonlinear programming problem as efficiently as possible requires that sparsity at both the firstand second-derivative levels be exploited. In this paper, a computationally efficient method is developed for computing the first and second derivatives of the nonlinear programming problem functions arising from a pseudospectral
more » ... a pseudospectral discretization of a continuous-time optimal control problem. Specifically, in this paper, expressions are derived for the objective function gradient, constraint Jacobian, and Lagrangian Hessian arising from the previously developed Radau pseudospectral method. It is shown that the computation of these derivative functions can be reduced to computing the first and second derivatives of the functions in the continuous-time optimal control problem. As a result, the method derived in this paper reduces significantly the amount of computation required to obtain the first and second derivatives required by a nonlinear programming problem solver. The approach derived in this paper is demonstrated on an example where it is found that significant computational benefits are obtained when compared against direct differentiation of the nonlinear programming problem functions. The approach developed in this paper improves the computational efficiency of solving nonlinear programming problems arising from pseudospectral discretizations of continuous-time optimal control problems. Nomenclature a = differential equation right-hand side function a = thrust acceleration, 4 2 AU=year 2 b = boundary condition function c = path constraint function D = Radau pseudospectral differentiation matrix g = integrand of cost functional h = general nonlinear programming constraint function J = continuous-time optimal control problem cost functional K = number of mesh intervals m = mass, 10; 000 lbm _ m = mass flow rate, 20; 000 lbm=year N = total number of collocation points N k = polynomial degree in mesh interval k N z = number of nonzero constraint Jacobian entries n c = dimension of continuous-time path constraint n u = dimension of continuous-time control n y = dimension of continuous-time state P = general matrix Q = general matrix p = general vector pt = general vector function of time q = general vector qt = general vector function of time r = radius, astronomical units AU _ r = rate of change of radius, AU=year 2 s = time on time interval s 2 1; 1 T = thrust, 20; 000 lbm AU=year t 0 = initial time t f = terminal time t = time on time interval t 2 t 0 ; t f , dimensionless or year=2 U i = approximation to control at collocation point i ut = control on time domain t 2 t 0 ; t f v r = radial component of velocity, 2 AU=year v = tangential component of velocity, 2 AU=year u 1 t = first component of control u 2 t = second component of control w j = j-th Legendre-Gauss-Radau quadrature weight Ys = state approximation on time domain s 2 1; 1 yt = state on time domain t 2 t 0 ; t f ys = state on time domain s 2 1; 1 z = nonlinear programming problem decision vector = matrix of defect constraint Lagrange multipliers = matrix of nonlinear programming problem Lagrange multipliers = sun gravitational parameter, 4 2 AU 3 =year 2 = boundary condition Lagrange multiplier = nonlinear programming problem cost function = optimal control problem Mayer cost function = matrix of path constraint Lagrange multipliers ' k s = Lagrange polynomial on mesh interval s 2 s k 1 ; s k = angular displacement, radians _ = rate of change of angular displacement, 2 radians=year