GEATbx: Genetic and Evolutionary Algorithm Toolbox for use with MATLAB
Documentation
Version 3.80 (released December 2006)
Author: Hartmut Pohlheim
The Genetic and Evolutionary Algorithm Toolbox (GEATbx)
implements a wide range of genetic and evolutionary algorithms to solve
large and complex real-world problems. Many ready-to-run demos and examples
are included.
The documentation of the GEA Toolbox contains a 1 Tutorial,
an 2 Introduction to Evolutionary Algorithms and
a large 3 Reference section.
A first overview can be found in 4 Features of the GEATbx and
5 Implementation of the GEATbx.
The 6 Installation of the GEATbx is simple and
can be done in a minute.
The Release Notes of the GEATbx
give a compact overview of the new features and changes between versions.
1 Tutorial
- Tutorial - explains the usage of the GEATbx,
including quick start, how to write own objective functions,
the use of multi-objective optimization, constrained optimization
and the approach to new optimization problems.
- Quick Start
- Writing Objective Functions
- Variable Representation
- GEA Toolbox Structure - Calling Tree of Functions and Naming Conventions
- Multi-objective Optimization
- Constrained Optimization
- Data Structures
- How to Approach new Optimization Problems
- Examples of objective functions
- 1 Parametric Optimization functions, incl.
De Jong's function,
Rosenbrock's valley (De Jong's function 2),
Rastrigin's function,
Schwefel's function,
Griewangk's function,
Ackley's Path function,
Langermann's function,
Michalewicz's function,
Branins's rcos function,
Easom's function,
Goldstein-Price's function,
Six-hump camel back function.
2 Introduction to Evolutionary Algorithms
Explains the structure of Evolutionary Algorithms and their operators as
implemented in the GEATbx. Can also be used to understand the working of
Evolutionary Algorithms.
- Evolutionary Algorithms: Principles, Methods and Algorithms
- Introduction
- Overview
- Selection
- Recombination
- Mutation
- Reinsertion
- Multi-objective Optimization
- Population Models - Parallel implementations
- Application of different strategies
- Combination of Operators and Options to Produce Evolutionary Algorithms
- References (papers, books, conferences) in the area of Evolutionary Computation
3 Reference
Contains 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.
- Parameter Settings / Options of GEATbx
- in deep overview of features, operators, parameters
and options of the toolbox, all settings are shown, the meaning
is explained and examples are provided
- Index of GEATbx Matlab-Files
- documentation, directly produced from the source code of the
m-files (purpose, syntax and examples of all routines)
4 Features of the GEATbx
- real, integer, binary (linear and logarithmic scaling, gray
coding) and permutation variable representation
- fitness assignment: linear/non-linear ranking
- multi-objective ranking: PARETO ranking, goal attainment, 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, neighborhood
- competition: between subpopulations/strategies
- high level functions to all operators
- 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 optimization 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)
5 Implementation of the GEATbx
- m-file implementation (Matlab 5.3, 6.x, 7.x, R2006a/b and probably newer)
- compatible on all computer platforms
- modular, user-friendly structure
- high entry functions
- many example and test functions included (ready to run)
- default parameter settings
- easily extensible
- extensive documentation
6 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 (for instance demofun1.m, demo*.m in subdirectory scripts).
7 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.)
8 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 a wide range of technical
applications. Many areas are catered for by a wide range of toolboxes 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.8 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-2006 Hartmut Pohlheim, All Rights Reserved,
(support@geatbx.com).