METAHEURISTICS Genetic Algorithm Jacques A. Ferland Department of Informatique and Recherche Opérationnelle Université de Montréal

Slides:



Advertisements
Similar presentations
Population-based metaheuristics Nature-inspired Initialize a population A new population of solutions is generated Integrate the new population into the.
Advertisements

CS6800 Advanced Theory of Computation
Genetic Algorithms Contents 1. Basic Concepts 2. Algorithm
Tuesday, May 14 Genetic Algorithms Handouts: Lecture Notes Question: when should there be an additional review session?
Genetic Algorithms Representation of Candidate Solutions GAs on primarily two types of representations: –Binary-Coded –Real-Coded Binary-Coded GAs must.
1 Lecture 8: Genetic Algorithms Contents : Miming nature The steps of the algorithm –Coosing parents –Reproduction –Mutation Deeper in GA –Stochastic Universal.
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
Evolutionary Computational Intelligence
Introduction to Genetic Algorithms Yonatan Shichel.
Genetic Algorithm for Variable Selection
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
Intro to AI Genetic Algorithm Ruth Bergman Fall 2002.
Chapter 6: Transform and Conquer Genetic Algorithms The Design and Analysis of Algorithms.
Prepared by Barış GÖKÇE 1.  Search Methods  Evolutionary Algorithms (EA)  Characteristics of EAs  Genetic Programming (GP)  Evolutionary Programming.
Genetic Algorithm.
1 An Overview of Evolutionary Computation 조 성 배 연세대학교 컴퓨터과학과.
SOFT COMPUTING (Optimization Techniques using GA) Dr. N.Uma Maheswari Professor/CSE PSNA CET.
Genetic algorithms Prof Kang Li
An algorithm for a Parallel Machine Problem with Eligibility and Release and Delivery times, considering setup times Manuel Mateo Management.
Zorica Stanimirović Faculty of Mathematics, University of Belgrade
Boltzmann Machine (BM) (§6.4) Hopfield model + hidden nodes + simulated annealing BM Architecture –a set of visible nodes: nodes can be accessed from outside.
Dr.Abeer Mahmoud ARTIFICIAL INTELLIGENCE (CS 461D) Dr. Abeer Mahmoud Computer science Department Princess Nora University Faculty of Computer & Information.
Arindam K. Das CIA Lab University of Washington Seattle, WA MINIMUM POWER BROADCAST IN WIRELESS NETWORKS.
1 Genetic Algorithms “Genetic Algorithms are good at taking large, potentially huge search spaces and navigating them, looking for optimal combinations.
An Introduction to Genetic Algorithms Lecture 2 November, 2010 Ivan Garibay
Genetic Algorithms Genetic Algorithms – What are they? And how they are inspired from evolution. Operators and Definitions in Genetic Algorithms paradigm.
Evolving Virtual Creatures & Evolving 3D Morphology and Behavior by Competition Papers by Karl Sims Presented by Sarah Waziruddin.
GENETIC ALGORITHM A biologically inspired model of intelligence and the principles of biological evolution are applied to find solutions to difficult problems.
Derivative Free Optimization G.Anuradha. Contents Genetic Algorithm Simulated Annealing Random search method Downhill simplex method.
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.
Niching Genetic Algorithms Motivation The Idea Ecological Meaning Niching Techniques.
Genetic Algorithms What is a GA Terms and definitions Basic algorithm.
ECE 103 Engineering Programming Chapter 52 Generic Algorithm Herbert G. Mayer, PSU CS Status 6/4/2014 Initial content copied verbatim from ECE 103 material.
Genetic Algorithms. 2 Overview Introduction To Genetic Algorithms (GAs) GA Operators and Parameters Genetic Algorithms To Solve The Traveling Salesman.
EE749 I ntroduction to Artificial I ntelligence Genetic Algorithms The Simple GA.
1 Danny Hillis and Co-evolution Between Hosts and Parasites I 590 4/11/2005 Pu-Wen(Bruce) Chang.
Waqas Haider Bangyal 1. Evolutionary computing algorithms are very common and used by many researchers in their research to solve the optimization problems.
METAHEURISTIC Jacques A. Ferland Department of Informatique and Recherche Opérationnelle Université de Montréal
GENETIC ALGORITHM Basic Algorithm begin set time t = 0;
Preliminary Background Tabu Search Genetic Algorithm.
D Nagesh Kumar, IIScOptimization Methods: M8L5 1 Advanced Topics in Optimization Evolutionary Algorithms for Optimization and Search.
1 Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations Genetic Algorithm (GA)
An Introduction to Genetic Algorithms Lecture 2 November, 2010 Ivan Garibay
Selection Methods Choosing the individuals in the population that will create offspring for the next generation. Richard P. Simpson.
Selection and Recombination Temi avanzati di Intelligenza Artificiale - Lecture 4 Prof. Vincenzo Cutello Department of Mathematics and Computer Science.
Resource-Constrained Project Scheduling Problem (RCPSP)
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal Evolutionary Computation.
CAP6938 Neuroevolution and Artificial Embryogeny Evolutionary Comptation Dr. Kenneth Stanley January 23, 2006.
1 Comparative Study of two Genetic Algorithms Based Task Allocation Models in Distributed Computing System Oğuzhan TAŞ 2005.
Genetic Algorithms. Solution Search in Problem Space.
EVOLUTIONARY SYSTEMS AND GENETIC ALGORITHMS NAME: AKSHITKUMAR PATEL STUDENT ID: GRAD POSITION PAPER.
Genetic Algorithms And other approaches for similar applications Optimization Techniques.
Genetic Algorithm. Outline Motivation Genetic algorithms An illustrative example Hypothesis space search.
 Presented By: Abdul Aziz Ghazi  Roll No:  Presented to: Sir Harris.
Introduction to Genetic Algorithms
Genetic Algorithms.
Dr. Kenneth Stanley September 11, 2006
Evolutionary Algorithms Jim Whitehead
School of Computer Science & Engineering
Artificial Intelligence (CS 370D)
METAHEURISTIC Jacques A. Ferland
METAHEURISTICS Neighborhood (Local) Search Techniques
CS621: Artificial Intelligence
Aiman H. El-Maleh Sadiq M. Sait Syed Z. Shazli
EE368 Soft Computing Genetic Algorithms.
Searching for solutions: Genetic Algorithms
6 Differential Evolution
Steady state Selection
Population Based Metaheuristics
Population Methods.
Presentation transcript:

METAHEURISTICS Genetic Algorithm Jacques A. Ferland Department of Informatique and Recherche Opérationnelle Université de Montréal

Genetic Algorithm (GA) Population based algorithm At each iteration (generation) three different operators are first applied to generate a set of new (offspring) solutions using the N solutions of the current population: selection operator: selecting from the current population parent-solutions that reproduce themselves crossover (reproduction) operator: producing offspring-solutions from each pair of parent-solutions mutation operator: modifying (improving) individual offspring-solution A fourth operator (culling operator) is applied to determine a new population of size N by selecting among the solutions of the current population and the offspring-solutions according to some strategy

Two variants of GA At each iteration of the Classical genetic algorithm: - N parent solutions are selected and paired two by two - A crossover operator is applied to each pair of parent-solutions according to some probability to generate two offspring-solutions. Otherwise the two parent-solutions become their own offspring-solutions - A mutation operator is applied according to some probability to each offspring-solution. - The population of the next iteration includes the offspring-solutions At each iteration of the Steady-state population genetic algorithm: - An even number of parent-solutions are selected and paired two by two - A crossover operator is applied to each pair of parent-solutions to generate two offspring-solutions. - A mutation operator is applied according to some probability to each offspring-solution. -The population of the next iteration includes the N best solutions among the current population and the offspring- solutions

Encoding the solution The phenotype form of the solution x є ℝ n is encoded (represented) as a genotype form vector z є ℝ m (or chromozome) where m may be different from n. For example in the assignment type problem: let x be the following solution: for each 1≤ i ≤ n, x ij(i) = 1 x ij = 0 for all other j x є ℝ nxm can be encoded as z= [j(1), j(2), …, j(i), …, j(n)] є ℝ n where z i = j(i) i = 1, 2, …, n i.e., z i is the index of the resource j(i) assigned to activity i

Selection operator This operator is used to select an even number (2, or 4, or …, or N) of parent-solutions. Each parent-solution is selected from the current population according to some strategy or selection operator. Note that the same solution can be selected more than once. The parent-solutions are paired two by two to reproduce themselves. Selection operators: Random selection operator Proportional (or roulette whell) selection operator Tournament selection operator

Random selection operator Select randomly each parent-solution from the current (entire) population Properties: Very straightforward Promotes diversity of the population generated

Proportional (Roulette whell) selection operator Each parent-solution is selected as follows: i) Consider any ordering of the solutions z 1, z 2, …, z N in P ii) Select a random number α in the interval [0, ∑ 1≤k≤ N ( 1 / f( z k ) )] iii) Let τ be the smallest index such that ∑ 1≤k≤ τ (1 / f( z k ) ) ≥ α iv) Then z τ is selected 1 / f( z 1 ) 1 / f( z 2 ) 1 / f( z 3 ) 1 / f( z N ) | | | | … | | τ α The chance of selecting z k increases with its fittness 1 / f( z k ) For the problem Min f (x) where x is encoded as z 1/f (z) measures the fittness of the solution z

Tournament selection operator Each parent-solution is selected as the best solution in a subset of randomly chosen solutions in P: i) Select randomly N’ solutions one by one from P (i.e., the same solution can be selected more than once) to generate the subset P’ ii) Let z’ be the best solution in the subset P’: z’ = argmin z є P’ f(z) iii) Then z’ is selected as a parent-solution

Elitist selection The main drawback of using elitist selection operator like Roulette whell and Tournament selection operators is premature converge of the algorithm to a population of almost identical solutions far from being optimal. Other selection operators have been proposed where the degree of elitism is in some sense proportional to the diversity of the population.

Crossover (recombination) operators Crossover operator is used to generate new solutions including interesting components contained in different solutions of the current population. The objective is to guide the search toward promissing regions of the feasible domain X while maintaining some level of diversity in the population. Pairs of parent-solutions are combined to generate offspring- solutions according to different crossover (recombination) operators.

One point crossover The one point crossover generates two offspring-solutions from the two parent-solutions z 1 = [ z 1 1, z 2 1, …, z m 1 ] z 2 = [ z 1 2, z 2 2, …, z m 2 ] as follows: i) Select randomly a position (index) ρ, 0 ≤ ρ ≤ m. ii) Then the offspring-solutions are specified as follows: oz 1 = [ z 1 1, z 2 1, …, z ρ 1, z ρ+1 2, …, z m 2 ] oz 2 = [ z 1 2, z 2 2, …, z ρ 2, z ρ+1 1, …, z m 1 ] Hence the first ρ components of offspring oz 1 (offspring oz 2 ) are the corresponding ones of parent 1 (parent 2), and the rest of the components are the corresponding ones of parent 2 (parent 1)

Two points crossover The two points crossover generates two offspring-solutions from the two parent-solutions z 1 = [ z 1 1, z 2 1, …, z m 1 ] z 2 = [ z 1 2, z 2 2, …, z m 2 ] as follows: i) Select randomly two positions (indices) μ,ν, 1 ≤ μ ≤ ν ≤ m. ii) Then the offspring-soltions are specified as follows: oz 1 = [ z 1 1, …, z μ-1 1, z μ 2, …, z ν 2, z ν+1 1, …, z m 1 ] oz 2 = [ z 1 2, …, z μ-1 2, z μ 1, …, z ν 1, z ν+1 2, …, z m 2 ] Hence the offspring oz 1 (offspring oz 2 ) has components μ, μ+1, …, ν of parent 2 (parent 1), and the rest of the components are the corresponding ones of parent 1 (parent 2)

Uniform crossover The uniform crossover requires a vector of bits (0 or 1) of dimension m to generate two offspring-solutions from the two parent-solutions z 1 = [ z 1 1, z 2 1, …, z m 1 ], z 2 = [ z 1 2, z 2 2, …, z m 2 ] : i) Generate randomly a vector of bits, for example [0, 1, 1, 0, …, 1, 0] ii) Then the offspring-solutions are specified as follows: parent 1: [ z 1 1, z 2 1, z 3 1, z 4 1,…, z m-1 1, z m 1 ] parent 2: [ z 1 2, z 2 2, z 3 2, z 4 2,…, z m-1 2, z m 2 ] Vector of bits: [ 0, 1, 1, 0, …, 1, 0 ] Offspring oz 1 : [ z 1 1, z 2 2, z 3 2, z 4 1,…, z m-1 2, z m 1 ] Offspring oz 2 : [ z 1 2, z 2 1, z 3 1, z 4 2,…, z m-1 1, z m 2 ]

Uniform crossover The uniform crossover requires a vector of bits (0 or 1) of dimension m to generate two offspring-solutions from the two parent-solutions z 1 = [ z 1 1, z 2 1, …, z m 1 ], z 2 = [ z 1 2, z 2 2, …, z m 2 ] : i) Generate randomly a vector of bits, for example [0, 1, 1, 0, …, 1, 0] ii) Then the offspring-solutions are specified as follows: parent 1: [ z 1 1, z 2 1, z 3 1, z 4 1,…, z m-1 1, z m 1 ] parent 2: [ z 1 2, z 2 2, z 3 2, z 4 2,…, z m-1 2, z m 2 ] Vector of bits: [ 0, 1, 1, 0, …, 1, 0 ] Offspring oz 1 : [ z 1 1, z 2 2, z 3 2, z 4 1,…, z m-1 2, z m 1 ] Offspring oz 2 : [ z 1 2, z 2 1, z 3 1, z 4 2,…, z m-1 1, z m 2 ] Hence the i th component of oz 1 (oz 2 ) is the i th component of parent 1 (parent 2) if the i th component of the vector of bits is 0, otherwise, it is equal to the i th component of parent 2 (parent 1)

Ad hoc crossover operator The preceding crossover operators are sometimes too general to be efficient. Hence, whenever possible, we should rely on the structure of the problem to specify ad hoc problem dependent crossover operator in order to improve the efficiency of the algorithm.

Recovery procedure Furthermore, whenever the structure of the problem is such that the offspring-solutions are not necessarily feasible, then an auxiliary procedure is required to recover feasibility. Such a procedure is used to transform the offspring-solution into a feasible solution in its neighborhood.

Mutation operator Mutation operator is an individual process to modify offspring-solutions In traditional variants of Genetic Algorithm the mutation operator is used to modify arbitrarely each componenet z i with a small probability: For i = 1 to m Generate a random number β є [0, 1] If β < βmax then select randomly a new value for z i where βmax is small enough in order to modify z i with a small probability Mutation operator simulates random events perturbating the natural evolution process Mutation operator not essential, but the randomness that it introduces in the process, promotes diversity in the current population and may prevent premature convergence to a bad local minimum

Hybrid Methods Hybrid methods specified by combining two or more heuristic methods to improve their efficiency For instance, using a Neighborhood Search Technique as the mutation operator of a Genetic Algorithm to improve the offspring-solutions. This is a good strategy since it is well known that in general, Genetic Algorithms (and population based algorithms in general) are very time consuming and generate worse solution than NST Strength of hybrid methods comes from combining complementary search strategy to take advantage of their respective strength. For instance, - Intensify the search in a promissing region with the NST - Diversify the search through the selection operator, crossover operator of the GA