nelishia pillay school of mathematics, statistics and computer science university of kwzulu-natal...

48
An Overview of Evolutionary Algorithms and Hyper-Heuristics Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal [email protected]

Upload: ashley-jefferson

Post on 11-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

An Overview of Evolutionary Algorithms

and Hyper-HeuristicsNelishia PillaySchool of Mathematics, Statistics and Computer ScienceUniversity of [email protected]

Page 2: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

Introduction An overview of hyper-heuristics

◦ Low-level heuristics◦ Classification hyper-heuristics◦ Hyper-heuristic frameworks

Evolutionary algorithm hyper-heuristics◦ Overview◦ Selection hyper-heuristics◦ Generation hyper-heuristics◦ Theoretical aspects◦ Challenges

Recent and emerging directions◦ Cross domain challenges◦ Hybridization of solution and heuristic search space◦ Hyper-Heuristics and Design◦ Hyper-Hyper Heuristics

Discussion

Outline

Page 3: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

Tutorial site

http://titancs.ukzn.ac.za/CEC2015Tutorial.aspx

Tutorial material http://titancs.ukzn.ac.za/Files/TutorialCEC2015.pdf

Online Sites

Page 4: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

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

Introduction

Page 5: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

An Overview Hyper-Heuristics

Low-Level Heuristics

Page 6: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

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

Low-Level Heuristics

Page 7: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

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

Case Study: Examination Timetabling (ETP)

Page 8: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

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.

Low-Level Construction Heuristics for the ETP

Page 9: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

Example of a Static Heuristic

0 10 50 20

20 0 0 0

50 0 0 30

20 0 30 0

E1 E2 E3 E4 E5

E1

E2

E3E4

Clash matrix:

Examination

Largest Degree

E1

E2

E3

E4

Static heuristics:

Period

Examinations

P1

P2

P3

P4

3

3

1

1

2

2

2

2

E1

E3E4

E2

Timetable:

Page 10: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

Example of a DynamicHeuristic

0 10 50 20

20 0 0 0

50 0 0 30

20 0 30 0

E1 E2 E3 E4 E5

E1

E2

E3E4

Clash matrix:

Examination

Saturation Degree

E1 4

E2 4

E3 4

E4 4

Static heuristics:

Period

Examinations

P1

P2

P3

P4

Timetable:

E1

3 E2 E33

3 2

E4

Page 11: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

Swapping two randomly selected exams Swapping subsets of exams De-allocating exams Rescheduling exams Swapping timeslots of two randomly selected

examinations

Low-Level Perturbative Heuristics for the ETP

Page 12: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

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?

One-Dimensional Bin-Packing

Page 13: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

An Overview Hyper-Heuristics

Classification of Hyper-Heuristics

Page 14: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

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

Hyper-Heuristic Classification

Page 15: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

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 hyper-heuristic.

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 Constructive

Page 16: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

Selection perturbative hyper-heuristics choose a low-level 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

Selection Perturbative

Page 17: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

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.

Generation Hyper-Heuristics

Page 18: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

An Overview Hyper-Heuristics

Hyper-Heuristic Frameworks

Page 19: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

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 hyper-heuristics◦ Implementation in Java

Frameworks

Page 20: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

Evolutionary Algorithms Hyper-Heuristics

Page 21: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

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.

Overview

Page 22: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

Evolutionary Algorithms Hyper-Heuristics

Selection hyper-heuristics

Page 23: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

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.

EA Selection Hyper-Heuristics

Page 24: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

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.

Case Study: Selection Constructive Hyper-Heuristic for the ETP

Page 25: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

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

Case Study: Selection Constructive Hyper-Heuristic for the ETP

Page 26: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

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

Case Study: Selection Constructive Hyper-Heuristic for the ETP

Page 27: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

For a selection perturbative hyper-heuristic the low-level 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

Selection Perturbative Hyper-Heuristic for the ETP

Page 28: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

ExamplesApproach Application Hyper-

HeuristicStudy

Genetic algorithm Trainer Scheduling Selection perturbative

Cowling et al. [3]

Messy GA One and two dimensional bin-packing

Selection constructive

Lopez-Camacho et al. [17]

Genetic algorithm Distributed staff trainer scheduling

Selection perturbative

Han and Kendall

Genetic algorithm One dimensional bin-packing

Selection constructive Pillay[13]

Genetic algorithm Educational timetabling

Selection constructive

Pillay [10], Pillay[11], Pillay [14], Pillay [15]

Page 29: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

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

Generation Hyper-Heuristics

Page 30: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

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.

Case Study: One-Dimensional Bin-Packing

Page 31: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

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

Case Study: One-Dimensional Bin-Packing

<

F -

C S

Page 32: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

ExamplesApproach Application Hyper-

HeuristicStudy

Genetic programming

Packing problem Generation constructive

Burke et al. [1], Burke et al. [2], Hyde [6]

Genetic programming

Multidimensional knapsack problem

Generativeconstructive

Drake et al. [4]

Grammatical evolution

One dimensional knapsack problem

Generativeconstructive

Sotelo-Figueroa [25]

Genetic programming

Educational timetabling

Generativeconstructive

Pillay [9], Pillay[12], Pillay and Banzhaf [17], Pillay and Banzhaf [18]

Grammatical evolution

Educational timetabling

Generativeperturbative

Sabar et al. [22]

Grammatical evolution

Vehicle routing Generativeperturbative

Sabar et al. [22]

Page 33: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

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

Theoretic aspects

Page 34: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

High runtimes◦ Distributed architectures◦ Distributed frameworks

Parameter tuning◦ Tuning tools, e.g iRace, ParamILS◦ Hyper-heuristics for design – using evolutionary

algorithms with co-evolution

Challenges

Page 35: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

Recent and Emerging Directions

Page 36: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

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

Overview

Page 37: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

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 hyper-

heuristic Problem domains

◦ Boolean satisfiability, one dimensional bin packing, flowshop scheduling, personnel scheduling.

◦ Hidden domains: TSP and vehicle routing

Cross Domain Challenges

Page 38: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

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.

Cross Domain Challenges

Page 39: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

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?

Hybridization of Solution and Heuristic Space Search

Page 40: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

Recent and Emerging Directions

Evolutionary Algorithm Hyper-Heuristics for Design

Page 41: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

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.

Overview

Page 42: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

ExamplesApproach Design Aspect Study

Grammar based GP Decision tree generation and design

Barros et al. [1]

Evolutionary algorithms

Decision tree generation Barros et al. [2], Barros et al. [3]

NSGA-II Combine neural networks into a stacked neural network.

Furtuna et al. [5]

Grammatical evolution Selects operators and parameter values to solve a vehicle routing problem

Marshall et al. [11]

Genetic programming Generates black box search algorithms to solve the deceptive trap problem.

Martin and Tauritz [12]

Page 43: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

Examples

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 values for an evolutionary algorithm to solve the knapsack problem.

Lourenco et al. [9]

Page 44: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

Recent and Emerging Directions

Hyper-Heuristics for Evolutionary Algorithm Design

Page 45: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

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

Overview

Page 46: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

ExamplesDesign 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]

Page 47: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

Hyper-hyper-heuristics is the extension of the idea of hyper-heuristics to select or combine hyper-heuristics 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)

Hyper-Hyper Heuristics

Page 48: Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal pillayn32@ukzn.ac.za

Discussion Session: Future Research Directions