GEATbx: Main page  Tutorial  Algorithms  M-functions  Parameter/Options  Example functions  www.geatbx.com

# 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.

 GEATbx: Main page  Tutorial  Algorithms  M-functions  Parameter/Options  Example functions  www.geatbx.com

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.