Abstract

Evolutionary Computation (EC) has been developing as a field for many years. Encompassing a range of intelligent and adaptive search, optimisation and decision-making algorithms, there is a wealth of potential for EC to be applied to problems in many domains. People who are new to the field may want to learn, understand or apply EC, while those who are more experienced are looking to extend, develop and teach. Unfortunately, it is not clear how best to approach these tasks. Ideally, students should have guidance through the field, including how EC works and approaches to algorithm design; researchers should have canonical structures, implementations, presentation formats and comparison frameworks; developers should have easy access to interested users, as well as the potential to differentiate their work in terms of performance, flexibility and aesthetics.

This thesis provides a model of the structure of Evolutionary Algorithms (EAs) based on operator composition. A small number of discrete element types and their interactions are defined, forming an algorithm architecture that supports existing concepts and provides direction for those looking to understand, use and improve EAs. A simple description language based on these elements is created to support communication between authors, readers, designers and software. Implementation concerns, ideas and potential are discussed to assist those with an interest in developing the simulation tools and frameworks used within the field. The model and description language are shown to concisely and unambiguously describe EAs in a directly publishable form.