genetic algorithms: basic notions and some advanced topics · f. herrera - introduction to genetic...

65
1 F. Herrera - Introduction to Genetic Algorithms Francisco Herrera Grupo de Investigación “Soft Computing y Sistemas de Información Inteligentes” Dpto. Ciencias de la Computación e I.A. Universidad de Granada 18071 – ESPAÑA [email protected] http://sci2s.ugr.es Future Directions in Soft Computing European Centre for Soft Computing Genetic Algorithms: Basic notions and some advanced topics

Upload: others

Post on 23-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

1F. Herrera - Introduction to Genetic Algorithms

Francisco HerreraGrupo de Investigación

“Soft Computing y Sistemas de Información Inteligentes”

Dpto. Ciencias de la Computación e I.A.Universidad de Granada

18071 – ESPAÑ[email protected]

http://sci2s.ugr.es

Future Directions in Soft Computing

European Centre for Soft Computing

Genetic Algorithms: Basic notions and some advanced topics

Page 2: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 2

SESSIONS

a. Introduction to genetic algorithms

b. Advanced topicsMultimodal problems and multiple solutionsMultiobjective genetic algorithmsMemetic algorithmsGenetic Learning

Genetic Algorithms: Basic notions and some advanced topics

Page 3: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

3F. Herrera - Introduction to Genetic Algorithms

1. GENETIC ALGORITHMS. INTRODUCTION2. HOW TO CONSTRUCT THEM? 3. ON THE USE OF GENETIC ALGORITHMS4. MODELS: GENERATIONAL VERSUS STEADY STATE 5. APPLICATIONS6. EXAMPLE: TSP7. SOFTWARE AND IMPLEMENTATIONS8. CONCLUDING REMARKS

Session a. Genetic Algorithms

Page 4: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 4

WHAT IS A GENETIC ALGORITHM?

THE INGREDIENTS

THE EVOLUTION CYCLE

GENETIC ALGORITM STRUCTURE

1. GENETIC ALGORITHMS. INTRODUCTION

Page 5: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 5

What is a genetic algorithm?

Genetic algorithms

They are optimization algorithms,searchand learninginspired in the process of

Natural and GeneticEvolution

Page 6: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 6

Natural Evolution

What is a genetic algorithm?

Page 7: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 7

EVOLUTIONARY COMPUTATION

It is constituted by evolutionary modelsbased on populations whose individualsrepresent solution to problems.

Artificial Evolution

What is a genetic algorithm?

Page 8: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 8

There are 4 classic paradigms:

Genetic Algorithms. 1975, Michigan University

Evolution Strategies 1964, Technische Universität Berlin

Evolutionary Programming. 1960-1966, Florida

Genetic Programming.1989, Stanford University

John HollandInventor of genetic algorithmsProfessor of CS and Psychology at the U. of Michigan.

Ing. Ingo RechenbergBionics & Evolutiontechnique Technical University Berlinhttp://www.bionik.tu-berlin.de/

Hans-Paul SchwefelUniversität Dortmund

Lawrence J. Fogel,Natural Selection, Inc.

Inventor of Evolutionary Programming

John KozaStanford University. Inventor of Genetic

Programming

Inventors of Evolution Strategies

Thre exist other modelos based on population evolution

Artificial EvolutionWhat is a genetic algorithm?

Page 9: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 9

What is a genetic algorithm?Artificial Evolution

Page 10: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 10

t t + 1

mutation

reproduction

selection

The ingredients

Crossover(or recombination)

Page 11: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 11

Crossover

Mutation

Selection

Replacement

The evolution cycle

PARENTS

POPULATION

DESCENDANTS

Page 12: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 12

Genetic Algorithm Structure

Basic Genetic AlgorithmsBeginning (1)

t = 0Initialization P(t)evalution P(t)

While (the stop contition is not verified) doBeginning (2)

t = t + 1selection P’(t) from P(t-1)P’’(t) ← crossover P’(t)P’’’(t) ← mutation P’’(t)P(t) ← replacement (P(t-1),P’’’(t))evaluation P(t)

Final(2)

Final(1)

Page 13: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 13

The steps for the GA construction

RepresentationInitial populationFitness function (How to evaluate a GA?)Chromosomes selection for parentsDesign of crossover operator Design of mutation operatorChromosomes replacementStop condition

2. HOW TO CONSTRUCT A GA?

PRO

BLEM

DE

PEND

ENT

ALG

ORI

THM

COM

PONE

NTS

Page 14: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 14

Representación

Genotype: Coding mechanism

Natural representation for the problem

Genotype representation must be decidedaccording to the evaluation and genetic theoperators.

Page 15: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 15

Example: Binary representation

CHROMOSOMECHROMOSOME

GENGEN

Page 16: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 16

8 bits genotype

Fenotype• integer• real number•• ...• ¿Others?

Example: Binary representation

Page 17: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 17

Example: Real coding

The chromosome can be represented by a real valued vector:

The evaluation function associates a real value to a vector:

Rx

x

xx

X i

n

⎥⎥⎥⎥

⎢⎢⎢⎢

= ,2

1

M

RRf n →:

Page 18: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 18

Example: Order representation

The chromosomes are presented as permutations.

Ej. Travelling salesman problem (TSP), ...

It needs special operators for obtaining a newpermutation.

Page 19: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 19

Initialization

Uniform on the search domain … (if possible)

Binary string: 0 or 1 with probability 0.5

Real value: uniform on the interval

Using a heuristic for getting initialchromosomes.

Page 20: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 20

Fitness function

Step with high time cost.

Subrutine, simulator or other external processes (ej. Robot experiment, ...)

It is possible to use an approximation function(reducing the cost)

Constraint problems can introduce a penalization in the fitness function.

With multiple objectives we find a pareto (set of non-dominated solutions).

Page 21: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 21

SelectionPARENTS

POPULATION

Representation

Initialization

Population

Fitness function

HOW TO CONSTRUCT A GA?

Page 22: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 22

Chromosomes selection

We must guarantee that the best individuals have a major possibility for being parents.

But, worse chromosomes must have an opportunity for reproduction. They can include useful genetic information in the reproduction process.

This idea define the “selective pressure”, that determines the degree of influence of the best individuals.

Page 23: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 23

Tournament selection

For each parent:

Random selection of k individuals, with replacementSelection of the best

k is called the tournament size. A high k value, a high selective pressure and vice versa.

Strategy of selection

Page 24: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 24

SelectionPARENTS

POPULATION

Representation

Initialization

Population

Fitness function

HOW TO CONSTRUCT A GA?

Crossover

Page 25: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 25

Crossover operator

Features:

The offspring must contain a heredity from the parents, associated to the parent features. In other case it would be a mutation operator.

It depend on the representation.

The recombination must produce valid chromosomes.

It uses a probability for running on the two parents (Pc between 0.6 and 0.9, usually).

Page 26: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 26

Example: Simple crosover on the binary representation

Population:

Each chromosome is divided into n parts that are recombined (example for n = 2)

1 1 1 1 1 1 1 0 0 0 0 0 0 0 parentscut cut

1 1 1 0 0 0 0 0 0 0 1 1 1 1descendants

. . .

Page 27: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 27

Classical image (John Holland): Biologica crosover

Crossover operator

Page 28: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 28

Example: Two points crossover

Page 29: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 29

Example: uniform crossover

a db fc e g h

FD GE HCBAa b C Ed Hgf

Page 30: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 30

Example: Real coding crossover operator

Arithmetic crossover:

a db fc e

FD ECBA

(a+A)/2 (b+B)/2 (c+C)/2 (e+E)/2(d+D)/2 (f+F)/2

Page 31: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 31

Example: real coding crossover operator BLX-α

Two chromosomes

C1 = (c11,…, c1n) y C2 = (c21,…, c2n) ,

BLX- α generates two descendants

Hk = (hk1,…, hki,…, hkn) , k =1,2

where hki is a random value in the interval:

[Cmin – I·α, Cmax + I·α]

Cmax = max {c1i , c2i}Cmin = min {c1i , c2i}I = Cmax - Cmin , α ∈ [0,1]

Page 32: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 32

Exploration Exploration

cmin- α·I cmax + α·II

ai c1i c2

i bi

Exploitation

Ejemplo: Operador de cruce pararepresentación real: BLX-α

Page 33: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 33

Example: Crossover operator for order representation: OX

7 83 41 2 6 5 78 16 5234

81 2

7, 3, 4, 6, 5

4, 3, 6, 7, 5

Order

7 85 41 2 3 6

Parent 1 Parent 2

Hijo 1

Page 34: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 34

SelectionPARENTS

POPULATION

Representation

Initialization

Population

Fitness function

HOW TO CONSTRUCT A GA?

Crossover

Mutation

DESCENDANTS

Page 35: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 35

Mutation operator

Features:

It must allow us to reach any point through a sequence of runs. We must control the size.It must produce valid chromosomes.It is used with a low running probability on the descendant obtained after the application of the crossover operator.

Page 36: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 36

Example: binary mutation

1 1 1 1 1 1 1before

1 1 1 0 1 1 1after

The mutation happens with a low running probability per gen pm

Mutated gen

Page 37: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 37

Example: real coding mutation

•Perturbation of real values via a random value.

•Using a gaussian/normal distribution N(0,σ), • 0 is the mean• σ is the typical desviation

x’i = xi + N(0,σi)

For each parameter.

Page 38: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 38

Example: order representation mutation

7 83 41 2 6 5

7 83 46 2 1 5

Page 39: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 39

SelectionPARENTS

POPULATION

Representation

Initialization

Population

Fitness function

HOW TO CONSTRUCT A GA?

Crossover

Mutation

DESCENDANTSReplacement

Page 40: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 40

Replacement strategy

Complete population

Elitism: Maintaining the best chromosome

Replacement of parents per children (via competition)

….

It depends on the model.

Page 41: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 41

Stop condition

¡When we reach the optimum!

Limited CPU:Maximum of evaluations

After some iterations without anyimprovement.

Page 42: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 42

SelectionPARENTS

POPULATION

Representation

Initialization

Population

Fitness function

Components

Crossover

Mutation

DESCENDANTSReplacement

Page 43: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 43

3. MODELS: GENERATIONAL vs STEADY STATE

Generational model: Replacement of thecomplete population

Steady state model: Along each iteration twoparents are used with genetic operators forgetting one/two descendants.

Only one/two individuals are replaced in thepopulation.

The steady state is elitist. High selection pressurewhen we replace the worst individuals.

Page 44: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 44

MUTATIONWITH PROB.

Pm

Generational model

Pactual(t)C1

C2

CM

REPLACEMENT

With elitism (maintaining the

best individual from P(t))

SELECTIONPPARENTS

C’1C’2…

C’M

CROSSOVER

WITH PROB. Pc

PINTERM.

C’’1C’2…

C’’M

POFFSPRING

H1= C’’m1

H2=C’m2

HM=C’’M

Pactual(t+1)H1H2…

HM-1Cbest

t ← t+1

Page 45: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 45

MUTATIONWITH PROB.

Pm

Steady state model

Pactual(t)C1

C2

CM

REPLACEMENT

(TWO OFFSPRING

COMPETE WITH INDIVIDUALS IN P(t))

SELECTION PPARENTS

C’1C’2

CROSSOVER

WITH PROB. 1

PINTERM.

C’’1C’’2

POFFSPRING

H1= C’’1H2=C’’m2

Pactual(t+1)C1C2…H1CM

t ← t+1

Page 46: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 46

Structuraloptimization

Trayectorygeneration

1 2 m1n

Planification

Circuits design VLSI

LearningClasification control

4. APPLICATIONS

Page 47: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 47

5. EXAMPLE: TRAVELLING SALESMAN PROBLEM

Order representation

(3 5 1 13 6 15 8 2 17 11 14 4 7 9 10 12 16)

17 citiesObjective: Sum of distance among cities. Population: 61 chromosomes - ElitismCrossover: OX (Pc = 0,6)Mutation: List inversion (Pm = 0,01 – chromosome)

Page 48: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 48

TSP

17! = 3.5568743 e14 possible solutions Optimum solution: 226.64

Page 49: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 49

Iteration: 0 Cost: 403.7Optimum solution: 226.64

Iteration: 25 Cost: 303.86

TSP

Page 50: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 50

Iteration: 50 Cost: 293,6Optimum solution: 226,64

Iteration: 100 Cost: 256,55

TSP

Page 51: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 51

Iteration: 250

Optimum solution: 226,64Iteration: 200 Costo: 231,4

TSP

Page 52: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 52

Visualization of the evolution with a population ofsize 50 and 70 iterations

TSP

Page 53: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 53

TSP

Visualization of the evolution with a population ofsize 50 and 70 iterations

Page 54: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 54

TSP

Visualization of the evolution with a population ofsize 50 and 70 iterations

Page 55: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 55

TSP

Visualization of the evolution with a population ofsize 50 and 70 iterations

Page 56: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 56

TSP

Visualization of the evolution with a population ofsize 50 and 70 iterations

Page 57: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 57

TSP

Visualization of the evolution with a population ofsize 50 and 70 iterations

Page 58: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 58

6. SOFTWARE AND IMPLEMENTATIONS

EO Evolutionary Computation Framework

EO is a template-based, ANSI-C++ compliant evolutionary computationlibrary. It contains classes for almost any kind of evolutionary computationyou might come up to at least for the ones we could think of. It iscomponent-based, so that if you don't find the class you need in it, it isvery easy to subclass existing abstract or concrete classes.

http://eodev.sourceforge.net/

Maintained by J.J. Merelo, Grupo Geneura, Univ. Granada <[email protected]>

Page 59: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 59

JCLEC JAVA Library

JCLEC is a software system for Evolutionary Computation (EC) research, developed in the Java programming language. It provides a high-levelsoftware environment to do any kind of Evolutionary Algorithm (EA), withsupport for genetic algorithms (binary, integer and real encoding), geneticprogramming (Koza style, strongly typed, and grammar based) andevolutionary programming.

http://jclec.sourceforge.net/

Maintained: Sebastián Ventura, Universad de Córdoba ([email protected])

S. Ventura, C. Romero, A. Zafra, J.A. Delgado, C. Hervás-Martínez. JCLEC: A Java Framework for Evolutionary Computing. Soft Computing, 2007, in press.

6. SOFTWARE AND IMPLEMENTATIONS

Page 60: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 60

JCLEC Features

• Wide audience. Software can be used by both expert people (EC researchers) and novice people (students or people from another field).

• Several execution modes• Batch mode (expert) based on a configuration file• Interactive mode (novice) based on a GUI with charting

• Multiple individual encodings• Linear genotype (binary, integer and real)• Tree genotype (expression tree and syntax tree)• Multiple crossover and mutation operators for each type of individual.

• A variety of Evolutionary Algorithms• Classical: SGA, Steady state and CHC• Multiobjective: SPEA2 and NSGA-II • Niching: Clearing, sequential and fitness sharing• Memetic: Generational and steady state

6. SOFTWARE AND IMPLEMENTATIONS

Page 61: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 61

JCLEC Features (II)

• Extensible and reusable: • New problems can be easily added to the system.• New components (encodings, genetic operators and/or algorithms) can

be easily added to the system.• Multithreading

• Speeds up evaluation in multiprocessor architectures• Parallel genetic algorithms implementation.

• Future work• New toolboxes planned:

• Real optimization: ES, DE, MGG and GGG.• Evolutionary neural networks.

• Native JCLEC. In complex problems, would be desirable to sacrifice the portability of the Java version to get a bigger efficiency (some applications increase their speed 10 times). This version has been developed using GNU gcj (java to native) compiler.

6. SOFTWARE AND IMPLEMENTATIONS

Page 62: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 62

Operations performed in an EA

Individual commonalitiesData in an Evolutionary Algorithm

JCLEC Class Hierarchy

6. SOFTWARE AND IMPLEMENTATIONS

<<interface>>

IFitness

<<interface>>

IIndividual

<<interface>>

IEvaluator

<<interface>>

ISpecies

<<interface>>

ISystem

<<interface>>

IAlgorithm

<<interface>>

ITool

<<interface>>

ISelector

<<interface>>

IMutator

<<interface>>

IRecombinator

<<interface>>

IProvider

Evolutionary system and algorithm

contains

cont

ains

Created

Evaluated

contains

Page 63: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 63

Genetic Algorithmso Based in a biological metaphor: evolution

o high applicability

o very popular

o High performance and low cost

o Powerful algorithms for a lot of applications

CONCLUDING REMARKS

Page 64: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 64

EVOLUTIONARY COMPUTATION

GENETIC ALGORITHMS

GENETICPROGRAMMING

EVOLUTION STRATEGIES

EVOLUTIONARYPROGRAMMING

ESTIMATION DISTRIBUTIION ALGORITHMS: PBIL, EDA, ...

PARTICLE SWARM: SOCIAL ADAPTATION

SCATTER SEARCH

CULTURAL EVOLUTIOARY ALGORITHMS

DIFFERENTIAL EVOLUTION

MEMETIC ALGORITHMS

OTHER EVOLUTIONARYMODELS

EVOLUTIONARYCLASSIC PARADIGMS

CONCLUDING REMARKS

Page 65: Genetic Algorithms: Basic notions and some advanced topics · F. Herrera - Introduction to Genetic Algorithms 25 Crossover operator Features: The offspring must contain a heredity

F. Herrera - Introduction to Genetic Algorithms 65

BIBLIOGRAPHY

BOOKS - Classics

D.E. Goldberg, Genetic Algorithms in Search, Optimization and Machine Learning. Addison Wesley, 1989.

Z. Michalewicz, Genetic Algorithms + Data Structures = Evolution Programs. Springer Verlag, 1996.

D.B. Fogel (Ed.) Evolutionary Computation. The Fossil Record. (Selected Readings on the History of Evolutionary Computation).IEEE Press, 1998.

BOOK – RecentA.E. Eiben, J.E. Smith. Introduction to Evolutionary Computation. Springer Verlag 2003. (Natural Computing Series)

TUTORIALS: http://sci2s.ugr.es/docencia/index.php (link course)

D. Whitley "A Genetic Algorithm Tutorial". Statistics and Computing, 4 (1994) 65-85. F. Herrera, M. Lozano, J.L. Verdegay, Tackling Real-Coded Genetic Algorithms:

Operators and tools for the Behaviour Analysis. Artificial Intelligence Review 12 (1998) 265-319.