Preliminary Background Tabu Search Genetic Algorithm.

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?
Spie98-1 Evolutionary Algorithms, Simulated Annealing, and Tabu Search: A Comparative Study H. Youssef, S. M. Sait, H. Adiche
1 IOE/MFG 543 Chapter 14: General purpose procedures for scheduling in practice Section 14.5: Local search – Genetic Algorithms.
1 Lecture 8: Genetic Algorithms Contents : Miming nature The steps of the algorithm –Coosing parents –Reproduction –Mutation Deeper in GA –Stochastic Universal.
MAE 552 – Heuristic Optimization Lecture 24 March 20, 2002 Topic: Tabu Search.
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
MAE 552 – Heuristic Optimization
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
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.
Elements of the Heuristic Approach
Genetic Algorithm.
1. The Simplex Method.
Evolutionary Intelligence
Efficient Model Selection for Support Vector Machines
SOFT COMPUTING (Optimization Techniques using GA) Dr. N.Uma Maheswari Professor/CSE PSNA CET.
Intro. ANN & Fuzzy Systems Lecture 36 GENETIC ALGORITHM (1)
Genetic algorithms Prof Kang Li
Zorica Stanimirović Faculty of Mathematics, University of Belgrade
Heuristic Optimization Methods
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 & Analysis of Algorithms Combinatory optimization SCHOOL OF COMPUTING Pasi Fränti
More on Heuristics Genetic Algorithms (GA) Terminology Chromosome –candidate solution - {x 1, x 2,...., x n } Gene –variable - x j Allele –numerical.
Heuristic Optimization Methods Tabu Search: Advanced Topics.
The Generational Control Model This is the control model that is traditionally used by GP systems. There are a distinct number of generations performed.
Applying Genetic Algorithm to the Knapsack Problem Qi Su ECE 539 Spring 2001 Course Project.
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.
Course: Logic Programming and Constraints
Last lecture summary. SOM supervised x unsupervised regression x classification Topology? Main features? Codebook vector? Output from the neuron?
Single-solution based metaheuristics. Outline Local Search Simulated annealing Tabu search …
Reactive Tabu Search Contents A brief review of search techniques
Genetic Algorithms Genetic algorithms provide an approach to learning that is based loosely on simulated evolution. Hypotheses are often described by bit.
Genetic Algorithms What is a GA Terms and definitions Basic algorithm.
METAHEURISTICS Genetic Algorithm Jacques A. Ferland Department of Informatique and Recherche Opérationnelle Université de Montréal
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.
Genetic Algorithms. The Basic Genetic Algorithm 1.[Start] Generate random population of n chromosomes (suitable solutions for the problem) 2.[Fitness]
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;
D Nagesh Kumar, IIScOptimization Methods: M8L5 1 Advanced Topics in Optimization Evolutionary Algorithms for Optimization and Search.
Assigning Judges to Competitions Using Tabu Search Approach Amina Lamghari Jacques A. Ferland Computer science and OR dept. University of Montreal.
CPSC 322, Lecture 16Slide 1 Stochastic Local Search Variants Computer Science cpsc322, Lecture 16 (Textbook Chpt 4.8) Oct, 11, 2013.
Genetic Algorithm Dr. Md. Al-amin Bhuiyan Professor, Dept. of CSE Jahangirnagar University.
Resource-Constrained Project Scheduling Problem (RCPSP)
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.
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.
Genetic Algorithms.
Tabu Search Review: Branch and bound has a “rigid” memory structure (i.e. all branches are completed or fathomed). Simulated Annealing has no memory structure.
Artificial Intelligence (CS 370D)
Subject Name: Operation Research Subject Code: 10CS661 Prepared By:Mrs
METAHEURISTIC Jacques A. Ferland
METAHEURISTICS Neighborhood (Local) Search Techniques
CS621: Artificial Intelligence
Multi-Objective Optimization
Genetic Algorithms Chapter 3.
EE368 Soft Computing Genetic Algorithms.
Searching for solutions: Genetic Algorithms
Local Search Algorithms
Population Based Metaheuristics
Presentation transcript:

Preliminary Background Tabu Search Genetic Algorithm

Problem used to illustrate General problem min f(x) x є X Assignment type problem: Assignment of resources j to activities i min f(x) Subject to ∑ 1≤ j≤ m x ij = 1 1≤ i ≤ n x ij = 0 or 1 1≤ i ≤ n, 1≤ j ≤ m

Neighborhood (Local) Search Techniques (NST) A Neighborhood (Local) Search Technique (NST) is an iterative procedure starting with an initial feasible solution x 0. At each iteration: - we move from the current solution x є X to a new one x' є X in its neighborhood N(x) - x' becomes the current solution for the next iteration - we update the best solution x* found so far. The procedure continues until some stopping criterion is satisfied

Neighborhood Neighborhood N(x) : The neighborhood N(x) varies with the problem, but its elements are always generated by slightly modifying x. If we denote M the set of modifications (or moves) to generate neighboring solutions, then N(x) = {x' : x' = x  m, m  M }

Neighborhood for assigment type problem For the assignment type problem: Let x be as follows: for each 1≤ i ≤ n, x ij(i) = 1 x ij = 0 for all other j Each solution x' є N(x) is obtained by selecting an activity i and modifying its resource from j(i) to some other p (i. e., the modification can be denoted m = [i, p] ): x' ij(i) = 0 x' ip = 1 x' ij = x ij for all other i, j The elements of the neighborhood N(x) are generated by slightly modifying x: N(x) = {x' : x' = x  m, m  M }

Descent Method (D) At each iteration, a best solution x' є N(x) is selected as the current solution for the next iteration. Stopping criterion: f(x') ≥ f(x) i.e., the current solution cannot be improved or a first local minimum is reached.

Tabu Search Tabu Search is an iterative neighborhood or local search technique At each iteration we move from a current solution x to a new solution x' in a neigborhood of x denoted N(x), until we reach some solution x* acceptable according to some criterion

Selecting x'

Tabu Search (TS)

Initialize Select an initial solution x 0 є X Let x:= x 0

Tabu Search (TS) Initialize Select an initial solution x 0 є X Let x:= x 0 and stop:= false While not stop Determine a subset NC(x) ⊆ N(x) Determine x' є NC(x) such that x' := argmin z є NC(x) { f(z) } At each iteration, a best solution x' є NC(x) is selected

Tabu Search (TS) Initialize Select an initial solution x 0 є X Let x:= x 0 and stop:= false While not stop Determine a subset NC(x) ⊆ N(x) Determine x' є NC(x) such that x' := argmin z є NC(x) { f(z) } x:= x' At each iteration, a best solution x' є NC(x) is selected x' є NC(x) is the current solution for the next iteration

Tabu Search (TS) Initialize Select an initial solution x 0 є X Let x:= x 0 and stop:= false While not stop Determine a subset NC(x) ⊆ N(x) Determine x' є NC(x) such that x' := argmin z є NC(x) { f(z) } x:= x' As long as x' is better than x, the behavior of the procedure is similar to that of the descent method. Otherwise, moving to x' as the next current solution induces no improvement or a deterioration of the objective function, but it allows to move out of a local minimum

Tabu Search (TS) Initialize Select an initial solution x 0 є X Let TL k = Φ, k = 1, 2, …,p Let x:= x 0 and stop:= false While not stop Determine a subset NC(x) ⊆ N(x) of solutions z = x  m such that t k (m) is not in TL k, k = 1, 2, …, p Determine x' є NC(x) such that x' := argmin z є NC(x) { f(z) } x:= x' Update Tabu Lists TL k, k = 1, 2,…, p As long as x' is better than x, the behavior of the procedure is similar to that of the descent method. Otherwise, moving to x' as the next current solution induces no improvement or a deterioration of the objective function, but it allows to move out of a local minimum To prevent cycling, recently visited solutions are eliminated from NC(x) using Tabu lists

Tabu Lists (TL) Short term Tabu lists TL k are used to remember attributes or characteristics of the modification used to generate the new current solution A Tabu List often used for the assignment type problem is the following: If the new current solution x' is generated from x by modifying the resource of i from j(i) to p, then the pair (i, j(i)) is introduced in the Tabu list TL If the pair (i, j) is in TL, then any solution where resource j is to be assigned to i is declared Tabu The Tabu lists are cyclic in order for an attribute to remain Tabu for a fixed number n k of iterations

Tabu Search (TS) Initialize Select an initial solution x 0 є X Let TL k = Φ, k = 1, 2, …,p Let x:= x 0 and stop:= false While not stop Determine a subset NC(x) ⊆ N(x) of solutions z = x  m such that t k (m) is not in TL k, k = 1, 2, …, p Determine x' є NC(x) such that x' := argmin z є NC(x) { f(z) } x:= x' Update Tabu Lists TL k, k = 1, 2,…, p As long as x' is better than x, the behavior of the procedure is similar to that of the descent method. Otherwise, moving to x' as the next current solution induces no improvement or a deterioration of the objective function, but it allows to move out of a local minimum To prevent cycling, recently visited solutions are eliminated from NC(x) using Tabu lists

Tabu Search (TS) Initialize Select an initial solution x 0 є X Let TL k = Φ, k = 1, 2, …,p Let x* := x:= x 0 and stop:= false While not stop Determine a subset NC(x) ⊆ N(x) of solutions z = x  m such that t k (m) is not in TL k, k = 1, 2, …, p or f(z) < f(x*) Determine x' є NC(x) such that x' := argmin z є NC(x) { f(z) } x:= x' Update Tabu Lists TL k, k = 1, 2,…, p Since Tabu lists are specified in terms of attributes of the modifications used, we required an Aspiration criterion to bypass the tabu status of good solutions declared Tabu without having been visited recently may include z in NC(x) even if z is Tabu whenever f(z) < f(x*) where x* is the best solution found so far

Tabu Search (TS) Initialize Select an initial solution x 0 є X Let TL k = Φ, k = 1, 2, …,p Let x* := x:= x 0 and stop:= false While not stop Determine a subset NC(x) ⊆ N(x) of solutions z = x  m such that t k (m) is not in TL k, k = 1, 2, …, p or f(z) < f(x*) Determine x' є NC(x) such that x' := argmin z є NC(x) { f(z) } x:= x' If f(x) < f(x*) then x* := x, Update Tabu Lists TL k, k = 1, 2,…, p Update x* the best solution found so far

Tabu Search (TS) Initialize Select an initial solution x 0 є X Let TL k = Φ, k = 1, 2, …,p Let x* := x:= x 0 and stop:= false While not stop Determine a subset NC(x) ⊆ N(x) of solutions z = x  m such that t k (m) is not in TL k, k = 1, 2, …, p or f(z) < f(x*) Determine x' є NC(x) such that x' := argmin z є NC(x) { f(z) } x:= x' If f(x) < f(x*) then x* := x, Update Tabu Lists TL k, k = 1, 2,…, p No monotonicity of the objective function!!! Stopping criterion ???

Tabu Search (TS) Initialize Select an initial solution x 0 є X Let TL k = Φ, k = 1, 2, …,p Let iter := niter := 0 Let x* := x:= x 0 and stop:= false While not stop iter := iter + 1 ; niter := niter + 1 Determine a subset NC(x) ⊆ N(x) of solutions z = x  m such that t k (m) is not in TL k, k = 1, 2, …, p or f(z) < f(x*) Determine x' є NC(x) such that x' := argmin z є NC(x) { f(z) } x:= x' If f(x) < f(x*) then x* := x, and niter := 0 If iter = itermax or niter = nitermax then stop := true Update Tabu Lists TL k, k = 1, 2,…, p x* is the best solution generated Stopping criteria: - maximum number of iterations - maximum number of successive iterations where f(x*) does not improve

Improving Strategies Intensification Multistart diversification strategies: - Random Diversification (RD) - First Order Diversification (FOD) Variable Neighborhood Search (VNS) Exchange Procedure

Intensification Intensification strategy used to search more extensively a promissing region

Diversification The diversification principle is complementary to the intensification. Its objective is to search more extensively the feasible domain by leading the NST to unexplored regions of the feasible domain. Numerical experiences indicate that it seems better to apply a short NST (of shorter duration) several times using different initial solutions rather than a long NST (of longer duration).

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

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 є ℝ 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 Diversity preserving selection operator

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)

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