Evolutionary Computation
Download
Report
Transcript Evolutionary Computation
Zorica Stanimirović
Faculty of Mathematics, University of Belgrade
[email protected]
Basic GA scheme
offspringchromosomes
Population
decoding
(chromosomes)
Evaluation
Variation operators
(crossover, mutation,
inversion, deletion,…).
parentchromosomes
Fitness
calculation
Selection
operator
Types of encoding
Vectors:
• usually of fixed length
• usually implemented as arrays or lists
• often represented as n-tuples of binary, integer or real values
Trees:
• size usually not fixed
• usually implemented as lists, or list-based structures
• often represent symbolic expressions (for example, formulae)
Other types:
• matrices, generalized graphs, etc.
• hybrid representations may also be used
(for example, binary vector + matrix)
Example: Tree structure encoding
Equation modeling:
0.48*Z1 + (Z2 – 0.56)
(1.1-Z1 )+ (Z2 – 0.56)
Individuals (mathematical equations) are represented as trees
The branching nodes of the tree correspond to functions(operators)
The end-nodes(leaves) of the tree correspond to input data
f= number of
incorrect properties
such as: no coffee
contained, no milk
contained, no foam
on the top,…
GA population
• GA works over the population of individuals, usually numbering 10-200
• Each individual is represented by a genetic code (chromosome) ,
which corresponds to one solution of the problem
• Initial population is usually randomly generated
• A fitness value is assigned to each individual, measuring its quality
• Individuals in the population then pass through the process of
“simulated evolution”
• Genetic operators are iteratively applied and the sequence of GA
generations is created until certain stopping criterion is satisfied
Selection operator
• As in nature, the selection operator provides necessary mechanism for
better individuals to survive
•The probability that a individual will take part in producing offspring
individual(s) depends on its fitness
•The higher fitness value of an individual provides higher chances for its
survival and reproduction
•There are different ways for the selection of best fitted individuals:
roulette selection,
rang-based selection,
tournament selection,
fine-grained tournament selection, etc.
Variation = Crossover + Mutation
• Selected individuals are subject to Variation operators
• Usually, two types of variation operators are used:
Crossover
Mutation
But, keep in mind that:
The choice of variation operators depends on the problem under
consideration and the chosen encoding of individuals
However,
There are some operators that are applicable to wider set of
problems and tailored to standard encodings, such as vectors,
trees,…
Various stopping criteria may be used for forcing the GA to
finish its run
• maximal number of GA generations
• high similarity of individuals in the population
• the best individual is repeated maximal times
• GA has reached global optimum or the best GA solution is good
enough (according to some criterion)
• limited time of the GA run….
But:
the combination of two or more stopping criteria gives the best
results in practice...
1. Generation GA: all individuals from the population are replaced
in each GA generation
2. Stationary GA: only one part of the population is replaced in
each generation
3. Elitistic GA: elite individuals are directly passing in the next
genaration, while the remaining individuals are replaced
Most used: stationary GA with elitist strategy
• GA implementation has numerous parameters:
selection, crossover, mutation rates, population size, stopping
criteria parameters ….
• There is NO unique combination of GA parameters that guarantees
successful GA implementation for all problems
• Parameter values may be fixed in advance or they can change
during the GA run
- fixed parameter change
- adaptive parameter change
Hybridization: general considerations
Idea: to combine a general search strategy such as GA with a
problem specific heuristic or exact method
Some examples:
Evolutionary approach + Local search = Memetic algorithm
Evolutionary approach + Variable Neighborhood Search
Evolutionary approach + Tabu Search
Evolutionary approach + Linear programming method= Matheuristics
Questions?