Evolutionary Algorithms and Hyper-Heuristics

Slides:



Advertisements
Similar presentations
Constraint Optimization We are interested in the general non-linear programming problem like the following Find x which optimizes f(x) subject to gi(x)
Advertisements

CS6800 Advanced Theory of Computation
Gizem ALAGÖZ. Simulation optimization has received considerable attention from both simulation researchers and practitioners. Both continuous and discrete.
Spie98-1 Evolutionary Algorithms, Simulated Annealing, and Tabu Search: A Comparative Study H. Youssef, S. M. Sait, H. Adiche
Genetic Algorithms and Their Applications John Paxton Montana State University August 14, 2003.
EAs for Combinatorial Optimization Problems BLG 602E.
Ant Colony Optimization Optimisation Methods. Overview.
Intro to AI Genetic Algorithm Ruth Bergman Fall 2002.
Chapter 6: Transform and Conquer Genetic Algorithms The Design and Analysis of Algorithms.
Metaheuristics The idea: search the solution space directly. No math models, only a set of algorithmic steps, iterative method. Find a feasible solution.
Optimization of thermal processes2007/2008 Optimization of thermal processes Maciej Marek Czestochowa University of Technology Institute of Thermal Machinery.
Lecture: 5 Optimization Methods & Heuristic Strategies Ajmal Muhammad, Robert Forchheimer Information Coding Group ISY Department.
Prepared by Barış GÖKÇE 1.  Search Methods  Evolutionary Algorithms (EA)  Characteristics of EAs  Genetic Programming (GP)  Evolutionary Programming.
Genetic Algorithm.
Nelishia Pillay School of Mathematics, Statistics and Computer Science University of KwZulu-Natal
Genetic Algorithms and Ant Colony Optimisation
Evolutionary Intelligence
© Negnevitsky, Pearson Education, CSC 4510 – Machine Learning Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University.
SOFT COMPUTING (Optimization Techniques using GA) Dr. N.Uma Maheswari Professor/CSE PSNA CET.
Zorica Stanimirović Faculty of Mathematics, University of Belgrade
Search Methods An Annotated Overview Edward Tsang.
Boltzmann Machine (BM) (§6.4) Hopfield model + hidden nodes + simulated annealing BM Architecture –a set of visible nodes: nodes can be accessed from outside.
Design of an Evolutionary Algorithm M&F, ch. 7 why I like this textbook and what I don’t like about it!
More on Heuristics Genetic Algorithms (GA) Terminology Chromosome –candidate solution - {x 1, x 2,...., x n } Gene –variable - x j Allele –numerical.
Neural and Evolutionary Computing - Lecture 5 1 Evolutionary Computing. Genetic Algorithms Basic notions The general structure of an evolutionary algorithm.
FINAL EXAM SCHEDULER (FES) Department of Computer Engineering Faculty of Engineering & Architecture Yeditepe University By Ersan ERSOY (Engineering Project)
Neural and Evolutionary Computing - Lecture 9 1 Evolutionary Neural Networks Design  Motivation  Evolutionary training  Evolutionary design of the architecture.
A Hybrid Genetic Algorithm for the Periodic Vehicle Routing Problem with Time Windows Michel Toulouse 1,2 Teodor Gabriel Crainic 2 Phuong Nguyen 2 1 Oklahoma.
© Negnevitsky, Pearson Education, Lecture 9 Evolutionary Computation: Genetic algorithms Introduction, or can evolution be intelligent? Introduction,
Exact and heuristics algorithms
1 Genetic Algorithms and Ant Colony Optimisation.
Genetic Algorithms Przemyslaw Pawluk CSE 6111 Advanced Algorithm Design and Analysis
Genetic Algorithms CSCI-2300 Introduction to Algorithms
Edge Assembly Crossover
Zehra KAMIŞLI ÖZTÜRK Anadolu University, TURKEY Müjgan SAĞIR Eskisehir Osmangazi University, TURKEY.
Tutorial: Hyper-heuristics and computational Intelligence
Genetic Algorithms MITM613 (Intelligent Systems).
Genetic Algorithm Dr. Md. Al-amin Bhuiyan Professor, Dept. of CSE Jahangirnagar University.
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal Evolutionary Computation.
1 Comparative Study of two Genetic Algorithms Based Task Allocation Models in Distributed Computing System Oğuzhan TAŞ 2005.
Genetic Algorithm (Knapsack Problem)
Paper Review for ENGG6140 Memetic Algorithms
Optimization Problems
Selected Topics in CI I Genetic Programming Dr. Widodo Budiharto 2014.
Genetic Algorithms.
Evolution Strategies Evolutionary Programming
USING MICROBIAL GENETIC ALGORITHM TO SOLVE CARD SPLITTING PROBLEM.
Evolution strategies and genetic programming
A Comparison of Simulated Annealing and Genetic Algorithm Approaches for Cultivation Model Identification Olympia Roeva.
School of Computer Science & Engineering
Multy- Objective Differential Evolution (MODE)
Artificial Intelligence Project 2 Genetic Algorithms
Subject Name: Operation Research Subject Code: 10CS661 Prepared By:Mrs
CS621: Artificial Intelligence
Artificial Intelligence Chapter 4. Machine Evolution
Optimization Problems
`Biologically Inspired Computing’
Metaheuristic methods and their applications. Optimization Problems Strategies for Solving NP-hard Optimization Problems What is a Metaheuristic Method?
Multi-Objective Optimization
Genetic Algorithms CSCI-2300 Introduction to Algorithms
GENETIC ALGORITHMS & MACHINE LEARNING
Design & Analysis of Algorithms Combinatorial optimization
Artificial Intelligence Chapter 4. Machine Evolution
EE368 Soft Computing Genetic Algorithms.
Boltzmann Machine (BM) (§6.4)
Searching for solutions: Genetic Algorithms
Artificial Intelligence CIS 342
A Tutorial (Complete) Yiming
Genetic Algorithm Soft Computing: use of inexact t solution to compute hard task problems. Soft computing tolerant of imprecision, uncertainty, partial.
Beyond Classical Search
Presentation transcript:

Evolutionary Algorithms and Hyper-Heuristics Nelishia Pillay

Outline Introduction An overview of hyper-heuristics Low-level heuristics Classification hyper-heuristics Cross-domain challenges Evolutionary algorithm hyper-heuristics Overview Selection hyper-heuristics Generation hyper-heuristics Theoretical aspects Challenges Evolutionary algorithm hyper-heuristics and design Hyper-heuristics for evolutionary algorithm design Discussion

Tutorial Site http://titancs.ukzn.ac.za/PPSN2016.aspx

Introduction 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

An Overview of Hyper-Heuristics Low-Level Heuristics

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

Case Study: Examination Timetabling (ETP) 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

Low-Level Construction Heuristics for the ETP 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.

Example of a Static Heuristic 10 50 20 30 E1 E2 E3 E4 E1 3 Clash matrix: E2 1 E3 2 E4 2 Static heuristics: Timetable: Examination Largest Degree E1 E2 E3 E4 Period Examinations P1 P2 P3 P4 3 E1 1 E3 E2 2 E4 2

Example of a Dynamic Heuristic 10 50 20 30 E1 E2 E3 E4 E1 Clash matrix: E2 E3 E4 Static heuristics: Timetable: Examination Saturation Degree E1 4 E2 E3 E4 Period Examinations P1 P2 P3 P4 E1 3 E2 E3 3 E4 3 2

Low-Level Perturbative Heuristics for the ETP Swapping two randomly selected exams Swapping subsets of exams De-allocating exams Rescheduling exams Swapping timeslots of two randomly selected examinations

One-Dimensional Bin-Packing 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?

An Overview of Hyper-Heuristics Classification of Hyper-Heuristics

Hyper-Heuristic Classification 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

Selection Constructive 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 Perturbative 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, personal scheduling and vehicle routing

Generation Hyper-Heuristics 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.

An Overview of Hyper-Heuristics Cross-Domain Hyper-Heuristics

Cross Domain Challenges 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 selective pertrubative hyper-heuristic Problem domains Boolean satisfiability, one dimensional bin packing, flowshop scheduling, personnel scheduling. Hidden domains: TSP and vehicle routing

Cross Domain Challenges 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.

Evolutionary Algorithm Hyper-Heuristics

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

Evolutionary Algorithm Hyper-Heuristics Selection hyper-heuristics

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

Case Study: Selection Constructive Hyper-Heuristic for the ETP 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 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 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

Selection Perturbative Hyper-Heuristic for the ETP 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

Examples Approach Application Hyper-Heuristic Study Genetic algorithm Trainer Scheduling Selection perturbative Cowling et al. (2002) Messy GA One and two dimensional bin-packing Selection constructive Lopez-Camacho et al. (2014) Genetic algorithm Distributed staff trainer scheduling Section perturbative Han and Kendall (2003) Genetic algorithm One dimensional bin-packing Selection constructive Pillay (2012) Genetic algorithm Educational timetabling Selection constructive Pillay (2010), Pillay (2011), Pillay (2012), Pillay (2013)

Evolutionary Algorithm Hyper-Heuristics Generation hyper-heuristics

Generation Hyper-Heuristics 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

Case Study: One-Dimensional Bin-Packing 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 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

Examples Approach Application Hyper-Heuristic Study Grammar-Based genetic programming Examination timetabling Generation constructive Bader-El-Den et al. (2009) Grammatical evolution Vehicle routing Generative constructive Drake et al. (2013) Genetic algorithms One dimensional bin packing Generative constructive Ozcan et al. (2011) Single node genetic programming One dimensional bin packing Generative constructive Sim et al. (2013) Genetic programming Vehicle routing Generative constructive Sim et al. (2016) Grammar-based genetic programming Constraint satisfaction problems Generative constructive Sosa-Ascencio et al. (2015)

Examples Approach Application Hyper-Heuristic Study Genetic programming Packing problem Generation constructive Burke et al. (2007), Burke et al. (2010), Hyde (2010) Genetic programming Multidimensional knapsack problem Generative constructive Drake et al. (2014) Grammatical evolution One dimensional knapsack problem Generative constructive Sotelo-Figueroa 2013) Genetic programming Educational timetabling Generative constructive Pillay (2009), Pillay(2011), Pillay et al. Pillay and Banzhaf (2009) Genetic programming and grammar-based genetic programming Production scheduling Generative constructive Branke et al. (2016)

Examples Approach Application Hyper-Heuristic Study Genetic programming University course timetabling Generation constructive Pillay (2016) Grammatical evolution Educational timetabling, vehicle routing Generative perturbative Sabar et al. (2013) Cartesian genetic programming Travelling salesman problem Generative perturbative Ryser-Welsh et al. (2015) Ryser-Welsh et al. (2016) Genetic programming 3-SAT problem Generative perturbative Bader-El-Den et al. (2007) Genetic programming MAX-SAT, one dimensional bin-packing, flow shop scheduling Generative perturbative Nguyen et al. (2011)

Evolutionary Algorithm Hyper-Heuristics Theoretical Aspects and Challenges

Theoretical Aspects 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

Challenges High runtimes Distributed architectures Distributed frameworks Parameter tuning Tuning tools, e.g iRace, ParamILS Hyper-heuristics for design – using evolutionary algorithms with co-evolution

Evolutionary Algorithm Hyper-Heuristics and Design

Overview Selection and generative 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.

Examples Approach Design Aspect Study Grammar based GP Decision tree generation and design Barros et al. (2012) Evolutionary algorithms Decision tree generation Barros et al. (2013), Barros et al. (2014) NSGA-II Combine neural networks into a stacked neural network. Furtuna et al. (2012) Grammatical evolution Selects operators and parameter values to solve a vehicle routing problem Marshall et al. 2014) Genetic programming Generates black box search algorithms to solve the deceptive trap problem. Martin and Tauritz (2014)

Examples Approach Design Aspect Study Grammatical evolution Selects operators and parameter values for ant colonization to solve the travelling salesman problem. Tavares and Pereira (2012) Genetic programming Generates mutation operators for evolutionary programming Hong et al. (2013) Grammatical evolution Selects operators and parameter values for an evolutionary algorithm to solve the knapsack problem. Lourenco et al. (2013)

Hyper-Heuristics for Evolutionary Algorithms Design

Overview 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

Examples Design Aspect Study Selection of recombination operator and selection method in differential evolution. Tinoco et al. (2012) Selects one of three multi-objective evolutionary algorithms to solve at each point of solving the problem Maashi et al. (2014) Parameter tuning and determining the stopping condition in and implementation of MOEA. Segredo et al. (2014) Selection of crossover operator, mutation operator and selection method in an evolutionary algorithm. Kumari et al.(2012), Kumaria et. al(2013) Generation of mutation operators in a genetic algorithm Woodward et al.(2012). Woodward et al. (2016)

Hyper-Hyper Heuristics 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)

EvoHyp Library in Java Library for evolutionary algorithm hyper-heuristics. GenAlg Genetic algorithm hyper-heuristics Generational and steady-state. Distributed GenProg Genetic programming Available end of October 2016 – E-mail nelishiap@gmail.com for details.

Discussion Session: Future Research Directions