Print version

Finding approximate analytic solutions to differential equations using genetic programming

Scientific Publication

Report Number:
DSTO-TR-0838
Authors:
Burgess, G.
Issue Date:
1999-02
AR Number:
AR-011-012
Classification:
UNCLASSIFIED
Report Type:
Technical Report
Division:
Surveillance Systems Division (SSD)
Release Authority:
Chief, Surveillance Systems Division
Task Sponsor:
DGMD
Task Number:
NAV 98/140
File Number:
B 9505/17/101/1
Pages:
62
References:
12
Terms:
Optimization
URI:
http://hdl.handle.net/1947/4189

Abstract

The computational optimisation technique, genetic programming, is applied to the analytic solution of differential differential equations. The approach generates a mathematical expression that is an approximate or exact solution to the particular equation under consideration. Angeline's module acquisition (MA) and Koza's automaticall defined functions (ADF) are considered and the results of some modifications are presented, including a significant result regarding a generalized crossover operator.

Executive Summary

Differential equations (DE's) are ubiquitous in science and engineering. In some cases solutions can be found or approximated by standard methods, however, in many cases the equations are nonlinear and either impossible to solve or have no known solution. Genetic Programming (GP) can be a useful approach in these difficult cases. This approach also has the advantage of not requiring the derivative of the objective function, which is a great advantage for problems whose objective function is not known in an analytic form. Genetic AlgorithIns (GAs) are an optimisation technique inspired by Darwin's theory of evolution. The algorithm starts with a population of random parameter vectors or 'individuals' and uses these to evolve a particular individual that solves or partially solves some optimisation problem. Evolution is implemented by artificially selecting individuals from each generation based on their performance on some function that defines fitness. Each new generation is produced using the selected individuals from the previous generation and modifying their structure in various ways. In Genetic Programming each individual is actually a program whose fitness is defined by the effects of its own execution. Genetic programming is a much more powerful technique than GAs because the encoding is more expressive and the algorithm is thus able to find solutions that were not anticipated by the designer. This report is based on the author's Honours thesis and project. That project developed an algorithm that used Genetic Programming to find approximate symbolic solutions to arbitrary differential equations. The output of the algorithm is a population of algebraic expressions built from functions such as addition, multiplication, division and exponentiation and tenTrinals such as variables and numeric constants. Each individual is an expression that can be evaluated numerically at a number of points in a given range so that the relative accuracy of each individual can be compared. In principle GP can find arbitrary algebraic relations and does not find 'insoluble' differential equations any harder to approximately solve than equations with known nontrivial solutions. In addition, an approximate closed form solution is often of more value than a more accurate numerical solution for a particular instance of that problem. The technique is applied to a number of differential equations of increasing complexity in one and two dimensions. Comparative results are given for varying several parameters of the algorithm such as the size of the calculation stack and the variety of available mathematical operators. The results show that Genetic Programming is an effective technique that can give reasonable results, given plenty of computing resources. The technique used here can be applied to higher dimensions; although in practice the algorithmic complexity may be too high. Several novel approaches gave negative results. One result of significant theoretical interest is that the syntax-preserving crossover used in Genetic Programming may be generalised to allow the exchange of n-argument functions without adverse effects.

Back to the top