Numerical analysis of complex-step differentiation in spacecraft trajectory optimization problems
MetadataShow full item record
An analysis of the use of complex-step differentiation (CSD) in optimization problems is presented. Complex-step differentiation is a numerical approximation of the derivative of a function valid for any real-valued analytic function. The primary benefit of this method is that the approximation does not depend on a difference term; therefore round-off error is reduced to the machine word-length. A suitably small choice of the perturbation length, h, then results in the virtual elimination of truncation error in the series approximation. The theoretical basis for this method is derived highlighting its merits and limitations. The Lunar Ascent Problem is used to compare CSD to traditional forward differencing in applications useful to the solution of optimization problems. Complex-step derivatives are shown to sufficiently apply in various interpolation and integration methods, and, in fact, consistently outperform traditional methods. Further, the Optimal Orbit Transfer Problem is used to test the accuracy, robustness, and runtime of CSD in comparison to central differencing. It is shown that CSD is a considerably more accurate derivative approximation which results in an increased robustness and decreased optimization time. Also, it is shown that each approximation is computed in less time using CSD than central differences. Overall, complex-step derivatives are shown to be a fast, accurate, and easy to implement differentiation method ideally suited for most optimization problems.