Evolutionary Design of Numerical Methods: Generating Finite Difference and Integration Schemes by Differential Evolution
This work addresses the challenge of creating complex numerical methods for computational mathematics, though it is incremental as it applies evolutionary computing to an existing domain.
The paper tackled the problem of designing numerical methods by using Differential Evolution to generate finite difference and integration schemes, resulting in a new fifth-order Runge-Kutta scheme with errors on the order of 10^-14 and verified accuracy.
Classical and new numerical schemes are generated using evolutionary computing. Differential Evolution is used to find the coefficients of finite difference approximations of function derivatives, and of single and multi-step integration methods. The coefficients are reverse engineered based on samples from a target function and its derivative used for training. The Runge-Kutta schemes are trained using the order condition equations. An appealing feature of the evolutionary method is the low number of model parameters. The population size, termination criterion and number of training points are determined in a sensitivity analysis. Computational results show good agreement between evolved and analytical coefficients. In particular, a new fifth-order Runge-Kutta scheme is computed which adheres to the order conditions with a sum of absolute errors of order 10^-14. Execution of the evolved schemes proved the intended orders of accuracy. The outcome of this study is valuable for future developments in the design of complex numerical methods that are out of reach by conventional means.