* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download An Overview of Evolutionary Algorithms and Hyper
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
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)