Download An Overview of Evolutionary Algorithms and Hyper

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

History of genetic engineering wikipedia , lookup

Public health genomics wikipedia , lookup

Human genetic variation wikipedia , lookup

Genetic testing wikipedia , lookup

Dual inheritance theory wikipedia , lookup

Genetic drift wikipedia , lookup

Polymorphism (biology) wikipedia , lookup

Genome (book) wikipedia , lookup

Group selection wikipedia , lookup

Koinophilia wikipedia , lookup

Microevolution wikipedia , lookup

Population genetics wikipedia , lookup

Gene expression programming wikipedia , lookup

Transcript
Nelishia Pillay
School of Mathematics, Statistics and Computer Science
University of KwZulu-Natal
[email protected]


Introduction
An overview of hyper-heuristics
◦ Low-level heuristics
◦ Classification hyper-heuristics
◦ Hyper-heuristic frameworks

Evolutionary algorithm hyper-heuristics
◦
◦
◦
◦
◦

Recent and emerging directions
◦
◦
◦
◦

Overview
Selection hyper-heuristics
Generation hyper-heuristics
Theoretical aspects
Challenges
Cross domain challenges
Hybridization of solution and heuristic search space
Hyper-Heuristics and Design
Hyper-Hyper Heuristics
Discussion

Tutorial site
http://titancs.ukzn.ac.za/CEC2015Tutorial.aspx

Tutorial material
http://titancs.ukzn.ac.za/Files/TutorialCEC2015.pdf



Hyper-heuristics aim to provide a more
generalized solution.
Explore a heuristic space rather than a solution
space.
Heuristic space – low-level heuristics
◦ Constructive
◦ Perturbative


Selection vs. Generation
Role played by evolutionary algorithms
Low-Level Heuristics



Heuristics vs. low-level heuristics
Construction heuristics – used to create a
candidate solution
Perturbative heuristics – used to improve a
solution created randomly or using a construction
heuristic


This problem involves the allocation of
examinations to a set of specified timetable
periods.
Constraints
◦ Hard constraints
◦ Soft constraints

Objective function
◦ Hard constraint cost must be zero
◦ Minimize soft constraint cost




Largest degree (l) - The examination with the most
clashes is scheduled first.
Largest enrollment (e) - The examination with the
largest number of students is scheduled first.
Largest weighted degree (w) - The examination
with the largest number of students involved in
clashes is scheduled first.
Saturation degree (s) - The examination with the
least number of feasible periods on the timetable
is scheduled first.
E1
Clash matrix:
E3
E4
E5
E1
0
10
50
20
3
E2
20
0
0
0
E3
E4
50
0
0
30
20
0
30
0
1
2
2
Static heuristics:
Examination
E2
Largest Degree
Timetable:
Period
Examinations
E1
3
P1
E1
E2
1
P2
E3
E3
2
P3
E4
E4
2
P4
E2
E1
Clash matrix:
E2
E3
E4
E1
0
10
50
20
E2
20
0
0
0
E3
E4
50
0
0
30
20
0
30
0
Static heuristics:
Timetable:
Examination Saturation Degree
Period
E1
4
P1
E1
E2
4 3
P2
E2
E3
4 3
P3
E4
E4
4 3
2
P4
Examinations
E3
E5





Swapping two randomly selected exams
Swapping subsets of exams
De-allocating exams
Rescheduling exams
Swapping timeslots of two randomly selected
examinations



Define low-level construction heuristics for this
problem.
Define low-level perturbative heuristics for this
problem.
Can any of the heuristics used for the examination
timetabling problem above be used for this
problem?
Classification of Hyper-Heuristics



Hyper-heuristics select or create low-level
heuristics.
Low-level heuristics are constructive or
perturbative.
Classification:
◦
◦
◦
◦

Selection constructive
Selection perturbative
Generation constructive
Generation perturbative
Learning – offline vs. online




Selects the constructive heuristic to use at each stage
in constructing a solution.
A problem specific objective function and low-level
construction heuristics provide input to the hyperheuristic.
Applications: educational timetabling, production
scheduling, bin packing and cutting stock problems.
Methods used by the hyper-heuristic: case-based
reasoning, tabu search, evolutionary algorithms,
simulated annealing, variable neighbourhood search.



Selection perturbative hyper-heuristics choose a lowlevel perturbative heuristic at each stage in the
improvement.
Multi-point vs. single-point search
Single-point
◦ Heuristic selection – random, choice function, roulette wheel,
reinforcement learning
◦ Move acceptance – deterministic vs. non-deterministic


Multi-point search uses population based methods,
e.g. genetic algorithms, ant colonization.
Applications: educational timetabling, sports
scheduling, personnel scheduling and vehicle routing





Create low-level heuristics.
Genetic programming has primarily been used for
this.
More recently variations of genetic programming:
grammatical evolution and gene expression
programming.
Have produced good results for the domains of
educational timetabling and packing problems.
Disposable vs. reusable low-level heuristics.
Hyper-Heuristic Frameworks

Hyflex – created for the cross domain challenge
(CheSC)
◦ Development of selection perturbative hyper-heuristics
◦ Low-level heuristics, method to create initial solution and
objective function provided.
◦ Implementation in Java

HYPERION2 - For analyzing the trace
performance of metaheuristics and hyperheuristics
◦ Implementation in Java



Evolutionary algorithms have been used for both
the selection and generation of low-level
construction and perturbative hyper-heuristics.
Genetic algorithms have essentially been used for
selection and genetic programming for generation.
More recently, variations of genetic programming
have proven to be effective for generation.
Selection hyper-heuristics




Genetic algorithms explore the heuristic spaces.
Selection construction – find a combination of
heuristics that will produce a solution minimizing
the objective function.
Selection perturbative – find a combination of
heuristics that will minimize the objective function
further.
Each chromosome is composed of genes
representing the low-level heuristics.

Low-level construction heuristics
◦
◦
◦
◦

Largest degree (l)
Largest enrollment (e)
Largest weighted degree (w)
Saturation degree (s)
Chromosome representation and initial population
generation
◦ Example: lwwse
◦ Chromosome length – longer than the number of
examinations vs. shorter than number of examinations.

Fitness calculation
◦ Each chromosome is used to create a timetable
◦ The fitness is a function of the hard and soft constraint
cost.
◦ Product of the hard constraints plus one and the soft
constraints

Example: lwwse to allocate the four examinations
in the previous example:
l → E1 w → E2 w → E3 s → E4

Selection methods
◦ Tournament selection
◦ Fitness proportionate selection

Genetic operators
◦ Mutation – Parent: ssde
Mutation point: 2
Offspring: swde
◦ Crossover – Parents: ssde lwws
Crossover point: 2
Offspring: ssws lwde



For a selection perturbative hyper-heuristic the lowlevel heuristics will change.
An initial solution will be created by using a low-level
construction heuristic.
Example low-level heuristics:
◦
◦
◦
◦
◦

Swapping two randomly selected exams (e)
Swapping subsets of exams (s)
Deallocating exams (d)
Rescheduling exams (a)
Swapping timeslots of two randomly selected examinations (t)
Example chromosome: tdsse
Approach
Application
HyperHeuristic
Study
Genetic algorithm
Trainer Scheduling
Selection
perturbative
Cowling et al. [3]
Messy GA
One and two
dimensional binpacking
Selection
constructive
Lopez-Camacho et
al. [17]
Genetic algorithm
Distributed staff
trainer scheduling
One dimensional
bin-packing
Selection
perturbative
Selection
constructive
Han and Kendall
Educational
timetabling
Selection
constructive
Pillay [10], Pillay[11],
Pillay [14], Pillay [15]
Genetic algorithm
Genetic algorithm
Pillay[13]




Genetic programming and variations of genetic
programming, e.g. grammar-based genetic
programming and grammatical evolution have been
used.
Generative construction heuristics combine:
◦ variables representing the characteristics of the problem
◦ existing low-level construction heuristics to create new
heuristics.
Generative perturbative hyper-heuristics combine
different heuristic selection and move acceptance
components to create new perturbative heuristics.
Applications: educational timetabling, packing
problems and vehicle routing problems

Function set:
◦ Standard addition (+), subtraction (-) and multiplication
(*).
◦ % - protected division which will return a 1 if the
denominator is zero.
◦ < - will return a value of 1 if its first argument is less than
or equal to its second and -1 otherwise.

Terminal set
◦ F - the fullness of a bin, i.e. the sum of the sizes of the
elements in the bin.
◦ C - the bin capacity
◦ S - the size of the item to place next.

Fitness
◦ Each heuristic in the population is evaluated by using it to solve
the problem instance.
◦ The fitness is calculated to be the difference of the number of bins
used and the ratio of the sum of the items to the sum of the
capacity of all bins used.

Example heuristic
<
F
C
S
Approach
Application
HyperHeuristic
Study
Genetic
programming
Packing problem
Generation
constructive
Burke et al. [1], Burke
et al. [2], Hyde [6]
Genetic
programming
Multidimensional
knapsack problem
Generative
constructive
Drake et al. [4]
Grammatical
evolution
Genetic
programming
One dimensional
knapsack problem
Educational
timetabling
Generative
constructive
Generative
constructive
Sotelo-Figueroa [25]
Grammatical
evolution
Educational
timetabling
Generative
perturbative
Sabar et al. [22]
Grammatical
evolution
Vehicle routing
Generative
perturbative
Sabar et al. [22]
Pillay [9], Pillay[12], Pillay
and Banzhaf [17], Pillay
and Banzhaf [18]



Some studies show that hyper-heuristics produce
results than searching the search some directly.
Why is this the case?
Some initial work on this:
◦ Allows for quicker movement through the solution space
indirectly. Small movements in the heuristic space results
in larger movement in the solution space.
◦ Fitness landscape has a big valley structure in which a
global optimum is not isolated but surrounded by local
optima.

Further theoretic investigations

High runtimes
◦ Distributed architectures
◦ Distributed frameworks

Parameter tuning
◦ Tuning tools, e.g iRace, ParamILS
◦ Hyper-heuristics for design – using evolutionary
algorithms with co-evolution





Cross domain hyper-heuristics
Hybridizing solution and heuristic space search
Evolutionary algorithm hyper-heuristics for design
Hyper-heuristics for evolutionary algorithm design
Evolutionary algorithm hyper-hyper-heuristics


CHeSC 2011 and CHeSC 2014
HyFlex (Java implementation)
◦
◦
◦
◦

Provides method to create the initial solution
Provides low-level perturbative heuristics
Provides objective function
Researcher to create selection perturbative hyperheuristic
Problem domains
◦ Boolean satisfiability, one dimensional bin packing,
flowshop scheduling, personnel scheduling.
◦ Hidden domains: TSP and vehicle routing

CHeSC 2014
◦ Introduces “batching”.
◦ Allows multithreading strategies


Adaptive evolutionary algorithm to select
perturbative heuristics which produces good
results for the vehicle routing problem.
Further investigations into using evolutionary
algorithm hyper-heuristics.



Searching the heuristic space and solution space
– initial work in this area illustrates potential (Qu et
al. 2009).
How should these be combined?
Evolutionary algorithms and co-evolution?
Evolutionary Algorithm Hyper-Heuristics for
Design



Selection and generation evolutionary algorithms
have been used for design.
Evolutionary algorithms used: genetic algorithms,
genetic programming, grammatical evolution.
Design aspects
◦ Selecting parameter values
◦ Selecting operators/methods and deciding control flow
◦ Hybridization of methods

Low-level heuristics are the parameter values,
operators and methods.
Approach
Design Aspect
Study
Grammar based GP
Decision tree generation and
design
Barros et al. [1]
Evolutionary
algorithms
NSGA-II
Decision tree generation
Barros et al. [2],
Barros et al. [3]
Furtuna et al. [5]
Grammatical evolution
Genetic programming
Combine neural networks into
a stacked neural network.
Selects operators and
parameter values to solve a
vehicle routing problem
Generates black box search
algorithms to solve the
deceptive trap problem.
Marshall et al. [11]
Martin and Tauritz
[12]
Approach
Design Aspect
Study
Grammatical evolution
Selects operators and parameter
values for ant colonization to solve
the travelling salesman problem.
Tavares and
Pereira [20]
Genetic programming
Generates mutation operators for
evolutionary programming
Hong et al. [6]
Grammatical evolution
Selects operators and parameter
Lourenco et al.
values for an evolutionary algorithm [9]
to solve the knapsack problem.
Hyper-Heuristics for Evolutionary Algorithm
Design


Hyper-heuristics have also proven to be effective
for the design of evolutionary algorithms.
Has been used to:
◦ decide on the control flow in an evolutionary algorithm by
choosing when during the evolution process to use which
operators
◦ select of parameter values
◦ hybridize evolutionary algorithms
Design Aspect
Study
Selection of recombination operator and selection
method in differential evolution.
Tinoco and Coelllo
[21]
Selects one of three multi-objective evolutionary
algorithms to solve at each point of solving the problem
Maashi et al. [10]
Parameter tuning and determining the stopping condition
in and implementation of MOEA.
Segredo et al. [19]
Selection of crossover operator, mutation operator and
selection method in an evolutionary algorithm.
Kumari and Srinivas
[7], Kumaria and
Srinivas [8]
Generation of mutation operators in a genetic algorithm
Woodward and
Swan [21]



Hyper-hyper-heuristics is the extension of the idea
of hyper-heuristics to select or combine hyperheuristics and generate new hyper-heuristics.
Evolutionary algorithms can be used for the
design of hyper-heuristics as well.
Example: using gene expression programming to
evolve a selection perturbative hyper-heuristic
which is used in the HyFlex framework to
generalize over 6 problem domains (Sabar et al.
2014)