Dept. of Chemical and Process Engineering

University of Newcastle upon Tyne

NE1 7RU, UK

+ Institute of Control Engineering

Darmstadt University of Technology

Landgraf-Georg-Strasse 4

D-64283 Darmstadt, Germany

{Mark.Willis, H.G.Hiden, Ben.McKay, Gary.Montague}

@ncl.ac.uk

http://lorien.ncl.ac.uk/sorg

mali@rt.e-technik.th-darmstadt.de

Keywords: genetic programming, survey

regression. While conventional regression seeks to

optimise the parameters for a pre-specified model

structure, with symbolic regression, the model structure

and parameters are determined simultaneously. Similarly,

the evolution of control algorithms, scheduling programs,

structural design and signal processing algorithms can be

viewed as structural optimisation problems suitable for

GP.

Abstract

The aim of this paper is to provide an introduction to the

rapidly developing field of genetic programming (GP).

Particular emphasis is placed on the application of GP to

engineering problem solving. First, the basic

methodology is introduced. This is followed by a review

of applications in the areas of systems modelling, control,

optimisation and scheduling, design and signal

processing. The paper concludes by suggesting potential

avenues of research.

Cramer (1985) developed one of the first tree structured

GA’s for basic symbolic regression. Another early

development was the BEAGLE1 algorithm of Forsyth,

(1986), which generated classification rules using a tree

structured GA. However, it was Koza (1992 and 1994)

who was largely responsible for the popularisation of GP

within the field of computer science. His GP algorithm

(coded in LISP) was applied to a wide range of problems

including symbolic regression, control, robotics, games

and classification.

Introduction

GP began as an attempt to discover how computers could

learn to solve problems without being explicitly

programmed to do so. The GP technique is an

evolutionary algorithm that bears a strong resemblance to

genetic algorithm's (GA's). The primary differences

between GA's and GP can be summarised as follows;

•

•

•

•

Since this initial work, interest in the field has grown,

with the first international conference on GP held at

Stanford University in 1996 (GP'96). While still

dominated by computer scientists, engineering

applications have begun to appear. Therefore, the

objective of this paper is to discuss these recent

engineering applications and provide an entry point to

this rapidly expanding field.

GP typically codes solutions as tree structured,

variable length chromosomes, while GA’s generally

make use of chromosomes of fixed length and

structure.

GP typically incorporates a domain specific syntax

that

governs

acceptable

(or

meaningful)

arrangements of information on the chromosome.

For GA’s, the chromosomes are typically syntax free.

GP makes use of genetic operators that preserve the

syntax of its tree-structured chromosomes during

‘reproduction’.

GP solutions are often coded in a manner that allows

the chromosomes to be executed directly using an

appropriate interpreter. GA’s are rarely coded in a

directly executable form.

The paper is organised as follows. First, GP is introduced.

Next, a survey of engineering applications within the GP

field is provided. Finally, the paper concludes with the

authors' perspective on future research directions.

The use of this flexible coding system allows the

algorithm to perform structural optimisation. This can be

useful for the solution of many engineering problems. For

instance, GP may be used to perform symbolic

1

BEAGLE - Biological Evolutionary

Generating Logical Expressions

1

Algorithm

•

The algorithm control parameters: This includes

the population...