GEATbx: Genetic and Evolutionary Algorithm Toolbox for use with MATLAB
Documentation
Author: Hartmut Pohlheim,
Version 3.50 (July 2004)
The Genetic and Evolutionary Algorithm Toolbox (GEATbx)
provides a set of versatile tools for implementing a wide range
of genetic and evolutionary algorithm methods. A first overview
can be found in Features and
Implementation of the GEA Toolbox.
The documentation of the GEA Toolbox contains:
- a Tutorial explaining the usage of the GEATbx,
including quick start, how to write own objective functions and many examples
of objective functions.
- an Introduction to Evolutionary Algorithms
explaining the structure of Evolutionary Algorithms and their operators as
implemented in the GEATbx. Can also be used to understand the working of
Evolutionary Algorithms.
- a large Reference section
containing a in-deep explanation of all the available parameter setting
and options of the GEATbx and the documentation of the implemented functions
directly created from the source of the m-files.
1 Tutorial
- Tutorial - Index
- 1 Quick Start
- 2 Variable Representation
- 3 Writing Objective Functions
- 4 Calling Tree of Functions
- 5 Naming Conventions
- 6 Data Structures
- Examples of objective functions
- 1 Parametric Optimization
- 2 Optimization of dynamic systems
2 Introduction to Evolutionary Algorithms
3 Reference
- Parameter Settings / Options of GEATbx
(This is the place to look for all the features
of the GEATbx version 3.x and how to use them.)
- in deep overview of features, operators, parameters
and options of the toolbox, all settings are shown, the meaning
is explained in short
- Index of GEATbx Matlab-Files
- documentation, directly produced from the source code of the
m-files (purpose, syntax and examples of all routines)
Features
- real, integer, binary (linear and logarithmic scaling, gray
coding) and permutation variable representation
- high level functions to all operators
- broad class of operators
- fitness assignement: linear/non-linear ranking,
multi-objective ranking (Pareto ranking and goal attainment) and sharing
- selection: stochastic universal sampling, local,
truncation, tournament selection
- recombination: discrete, intermediate, line, extended line, permutation/scheduling
- crossover: single/double point, shuffle, reduced surrogate
- mutation: binary, integer, real valued, permutation/scheduling
- reinsertion: global, regional, local
- migration: unrestricted, ring, neighbourhood
- competition: between subpopulations/strategies
- different population models supported (global, regional and local model)
- multiple population support
- multiple strategy support (run multiple search strategies
beside each other in one optimization run)
- competition between subpopulations possible (provides efficient
distribution of computer resources between different subpopulation)
- sophisticated visualization of state and course of the Evolutionary
Algorithms, online (during optimization) and off-line (after an
optimization run using logged data)
- comfortable monitoring and storing of results (every run can
be fully documented in text and data files)
- incorporation of problem specific knowledge (examples included)
Implementation
- m-file implementation
- compatible on all computer platforms
- modular, user-friendly structure
- high entry functions
- (version 1.9x and 2.x) compatible with Optimization toolbox
- many example and test functions included (ready to run)
- extensive documentation
- tutorial
- quick start
- overview of structure
- explanation of algorithms
- reference of all operators and functions
- written in HTML-format and PDF-format
- default parameter settings
- easily extensible
Installation
Extract the compressed files into the desired directories. The
directory structure should be kept intact. It is recommended that
the files for the Genetic and Evolutionary Algorithm Toolbox
are stored in a directory named geatbx
off the main
matlab/toolbox
directory.
All the paths of the GEA toolbox must be included
in the Matlab search path. Really, include all paths.
Restart Matlab and the functionality of the GEATbx should
be available. Test it by running one of the demo/example
scripts (demo*.m in subdirectory scripts).
Use of documentation
Please consider the following:
The use of this documentation is allowed only for personal
information. Additionally, you can copy this documentation
in unchanged form on your internal net for internal
use as documentation of the Genetic and Evolutionary Algorithm
Toolbox. It is prohibited to use the documentation or part
of it in changed form. (However, if you want to use parts of it,
text or graphics for lectures, another documentation or anything
else, please contact the author.)
Why a toolbox for Evolutionary Algorithms for Matlab?
During the last years the interest in Genetic and Evolutionary
Algorithms (EA: Evolutionary Algorithms) raised steadily. Compared
to traditional search and optimization procedures, such as calculus-based
and enumerative strategies, Evolutionary Algorithms are robust,
globally oriented and generally more straightforward to apply
in situations where there is little or no a priori knowledge about
the problem to solve. As Evolutionary Algorithms require no derivative
information or formal initial estimates of the solution, and because
they are stochastic in nature, Evolutionary Algorithms are capable
of searching the solution space with more likelihood of finding
the global optimum.
Matlab has become a de-facto standard in Computer Aided
Control System Design (CACSD). Many areas are catered for by a
wide range of toolboxes, notably the Control System,
Neural Network and Optimization Toolboxes, and
the Simulink/Stateflow simulation package along with
extensive visualization and analysis tools. In addition, Matlab
has an open and extensible architecture allowing individual users
to develop further routines for their own applications. These
qualities provide a uniform and familiar environment on which
to build genetic and evolutionary algorithm tools.
This document is part of
version 3.5 of the
GEATbx: Genetic and Evolutionary Algorithm Toolbox for use with Matlab -
www.geatbx.com.
The Genetic and Evolutionary Algorithm Toolbox is
not public domain.
© 1994-2004 Hartmut Pohlheim, All Rights Reserved,
(support@geatbx.com).