GRASP. Greedy Randomized Adaptive. Search Procedure

Similar documents
Greedy randomized adaptive search procedures: Advances, hybridizations, and applications

Chapter 8 GREEDY RANDOMIZED ADAPTIVE SEARCH PROCEDURES 1 INTRODUCTION. Mauricio G.C. Resende AT&T Labs Research

Adaptive Large Neighborhood Search

Constructive meta-heuristics

n Informally: n How to form solutions n How to traverse the search space n Systematic: guarantee completeness

GRASP WITH PATH-RELINKING FOR THE GENERALIZED QUADRATIC ASSIGNMENT PROBLEM

A Course on Meta-Heuristic Search Methods for Combinatorial Optimization Problems

GRASP WITH PATH-RELINKING FOR THE GENERALIZED QUADRATIC ASSIGNMENT PROBLEM

A parallel GRASP for the Steiner problem in graphs using a hybrid local search

GRASP and path-relinking: Recent advances and applications

ACO and other (meta)heuristics for CO

PARALLEL GRASP WITH PATH-RELINKING FOR JOB SHOP SCHEDULING

CHAPTER 3.4 AND 3.5. Sara Gestrelius

A Metaheuristic Algorithm for the Minimum Routing Cost Spanning Tree Problem

Non-deterministic Search techniques. Emma Hart

Metaheuristics : from Design to Implementation

Machine Learning for Software Engineering

Simple mechanisms for escaping from local optima:

Note: In physical process (e.g., annealing of metals), perfect ground states are achieved by very slow lowering of temperature.

Proceedings of the 2012 International Conference on Industrial Engineering and Operations Management Istanbul, Turkey, July 3 6, 2012

Optimization Techniques for Design Space Exploration

A GRASP with restarts heuristic for the Steiner traveling salesman problem

March 19, Heuristics for Optimization. Outline. Problem formulation. Genetic algorithms

a local optimum is encountered in such a way that further improvement steps become possible.

A GRASP FOR JOB SHOP SCHEDULING

PARALLEL GREEDY RANDOMIZED ADAPTIVE SEARCH PROCEDURES

Local search with perturbations for the prize collecting Steiner tree problem in graphs

Parallel Computing in Combinatorial Optimization

An Ant Colony Optimization Meta-Heuristic for Subset Selection Problems

TABU search and Iterated Local Search classical OR methods

Outline. TABU search and Iterated Local Search classical OR methods. Traveling Salesman Problem (TSP) 2-opt

METAHEURISTIC HYBRIDIZATION WITH GRASP

Pre-requisite Material for Course Heuristics and Approximation Algorithms

Hybridization EVOLUTIONARY COMPUTING. Reasons for Hybridization - 1. Naming. Reasons for Hybridization - 3. Reasons for Hybridization - 2

Effective probabilistic stopping rules for randomized metaheuristics: GRASP implementations

A Kruskal-Based Heuristic for the Rooted Delay-Constrained Minimum Spanning Tree Problem

GRASP with evolutionary path-relinking for the antibandwidth problem

LECTURE 20: SWARM INTELLIGENCE 6 / ANT COLONY OPTIMIZATION 2

ROBERTO BATTITI, MAURO BRUNATO. The LION Way: Machine Learning plus Intelligent Optimization. LIONlab, University of Trento, Italy, Apr 2015

Outline of the module

SCATTER SEARCH AND PATH-RELINKING: FUNDAMENTALS, ADVANCES, AND APPLICATIONS

A Memetic Algorithm for Parallel Machine Scheduling

A GREEDY RANDOMIZED ADAPTIVE SEARCH PROCEDURE FOR JOB SHOP SCHEDULING

Algorithm Design (4) Metaheuristics

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

Introduction to Optimization

Introduction to Optimization

LOCAL SEARCH WITH PERTURBATIONS FOR THE PRIZE-COLLECTING STEINER TREE PROBLEM IN GRAPHS

VNS-based heuristic with an exponential neighborhood for the server load balancing problem

HYBRID GRASP HEURISTICS

underlying iterative best improvement procedure based on tabu attributes. Heuristic Optimization

Heuristis for Combinatorial Optimization

Artificial Intelligence

A Steady-State Genetic Algorithm for Traveling Salesman Problem with Pickup and Delivery

Two approaches. Local Search TSP. Examples of algorithms using local search. Local search heuristics - To do list

Rich Vehicle Routing Problems Challenges and Prospects in Exploring the Power of Parallelism. Andreas Reinholz. 1 st COLLAB Workshop

Variable Neighbourhood Search (VNS)

Variable Neighborhood Search

Scatter search and path-relinking: Fundamentals, advances, and applications

Variable Neighbourhood Search (VNS)

CHAPTER 6 REAL-VALUED GENETIC ALGORITHMS

A HYBRID LAGRANGEAN HEURISTIC WITH GRASP AND PATH-RELINKING FOR SET K-COVERING

Travelling Salesman Problem: Tabu Search

IMPLEMENTATION OF A FIXING STRATEGY AND PARALLELIZATION IN A RECENT GLOBAL OPTIMIZATION METHOD

Escaping Local Optima: Genetic Algorithm

Introduction (7.1) Genetic Algorithms (GA) (7.2) Simulated Annealing (SA) (7.3) Random Search (7.4) Downhill Simplex Search (DSS) (7.

The MAX-SAX Problems

Solving the Traveling Salesman Problem using Reinforced Ant Colony Optimization techniques

Tabu search and genetic algorithms: a comparative study between pure and hybrid agents in an A-teams approach

Hybrid Constraint Programming and Metaheuristic methods for Large Scale Optimization Problems

A Parallel Tabu Search Algorithm For The 0-1 Multidimensional Knapsack Problem

PARALLEL STRATEGIES FOR GRASP WITH PATH-RELINKING

METAHEURISTICS Genetic Algorithm

GRASP PAOLA FESTA AND MAURICIO G.C. RESENDE

Heuristis for Combinatorial Optimization

Computational complexity

Heuristic Optimisation

METAHEURISTICS. Introduction. Introduction. Nature of metaheuristics. Local improvement procedure. Example: objective function

A GRASP approach for the delay-constrained multicast routing problem

Chapter 9: Genetic Algorithms

Evolutionary Computation Algorithms for Cryptanalysis: A Study

Uninformed Search Methods. Informed Search Methods. Midterm Exam 3/13/18. Thursday, March 15, 7:30 9:30 p.m. room 125 Ag Hall

The Heuristic (Dark) Side of MIP Solvers. Asja Derviskadic, EPFL Vit Prochazka, NHH Christoph Schaefer, EPFL

Analysis and Experimental Study of Heuristics for Job Scheduling Reoptimization Problems

PATH-RELINKING INTENSIFICATION METHODS FOR STOCHASTIC LOCAL SEARCH ALGORITHMS

Homework 2: Search and Optimization

An Evolutionary Algorithm for the Multi-objective Shortest Path Problem

GRASP: Greedy Randomized Adaptive Search Procedures A metaheuristic for combinatorial optimization

Sparse Matrices Reordering using Evolutionary Algorithms: A Seeded Approach

Ant colony optimization with genetic operations

A Genetic Algorithm Applied to Graph Problems Involving Subsets of Vertices

A Particle Swarm Optimization Algorithm with Path Relinking for the Location Routing Problem

GRASP with Path-Relinking for the SONET Ring Assignment Problem

A Tabu Search solution algorithm

TABU SEARCH FOR MIXED INTEGER PROGRAMMING

RANDOMIZED HEURISTICS FOR THE MAX-CUT PROBLEM

Conflict-based Statistics

3. Genetic local search for Earth observation satellites operations scheduling

A GRASP heuristic using path-relinking and restarts for the Steiner traveling salesman problem

Artificial Intelligence Methods (G52AIM)

Transcription:

GRASP Greedy Randomized Adaptive Search Procedure

Type of problems Combinatorial optimization problem: Finite ensemble E = {1,2,... n } Subset of feasible solutions F 2 Objective function f : 2 Minimisation Problem : S E R * E F, f ( S * ) f ( S )

Multi start meta heuristic -Create multiple initial solutions (construction) -Repair solution if it is infeasible (repair) -Run a local search in its neighborhood (local search) -Iterate over these three steps until stopping condition is met

History Concept was formalized by Feo and Resende. Article published in 1989

GRASP overview Most of the literature is base on the construction phase and improvements to the construction phase GRASP can be used with any combination of construction algorithms and local search algorithms

Plan Construction phase Improvements to the construction phase GRASP extensions: Path relinking Overview of a few others Parallel GRASP

Construction Phase Initial solutions are built iteratively by adding elements. At each stage of the initial solution construction, a Restricted Candidate List (RCL) is constructed.

Construction continued The RCL contains an ordering of the best next element to add to the solution. The next element is chosen from a truncation of this list Iterate until we have an initial solution

Construction algorithm procedure Greedy Randomized Construction(Seed) 1 Solution /0; 2 Initialize the set of candidate elements; 3 Evaluate the incremental costs of the candidate elements; 4 while there exists at least one candidate element do 5 Build the restricted candidate list (RCL); 6 Select an element s from the RCL at random; 7 Solution Solution+{s}; 8 Update the set of candidate elements; 9 Reevaluate the incremental costs; 10 end; 11 return Solution; end Greedy Randomized Construction.

RCL List construction Rank approach Keep the p best elements in the RCL. Take random element from RCL If p N, purely random construction If p 1, purely greed construction (and only one determinist initial solution)

RCL Continued Relative Threshold Approach Only keep elements in the RCL that are worst than best element by a factor element e E cost c ( e ) Only keep elements that obey : c ( e ) [ c min, c min + α ( c max c min )] Alpha is a hyper parameter Alpha 0, purely greedy algorithm Alpha 1, purely random algorithm

RCL tradeoff In both cases, balance must occur between purely random (multiple average initial solutions) and purely greedy (only one solution is tried). Also, computation cost of local search is inversely proportional to quality of initial solution and computation cost of local search > initial solution construction cost

RCL Tradeoff

RCL Tradeoff Typical alpha~0.2

Classic construction procedure shortcomings RCL construction can be expensive since it is constructed for every element added to the initial solution No history of initial solution is kept Past good initial solutions should influence construction of future solution

Construction phase improvements Many algorithms exist to improve construction phase (both for quality and complexity) Complexity reduction Reactive Grasp Bias functions Intelligent construction POP principle Cost perturbation

Complexity Reduction Random + greedy Randomly add first p elements to the initial solution Complete the solution with greedy approach Sampled greedy Only sample a few elements to put in RCL instead of all remaining elements

Reactive Grasp Variable Alpha At each new initial solution construction phase, choose Alpha from a set of possible Alpha. The probability of choosing a given Alpha is proportional to the quality of the past solutions with this Alpha

Reactive GRASP continued Formally: Set of Cost of possible Alpha : Probability of Average value of Relative score of each Alpha : incumbent solution : solutions with a given α i : α i : ψ p i z A q * i = i { = α z A * i, α 2,... α m } Updated Probabilty for α i : q i q i

Bias functions Next element to take from the RCL to add to solution under construction is usually chosen randomly from RCL Use a bias function based on rank so choice is no longer uniform random (same as gene selection through rank)

Bias function continued A few proposed bias functions proposed: uniform bias ( r ) = 1 linear bias ( r ) = 1/ r exponential bias ( r ) = e polynomial bias ( r ) = r r n probability of element σ of RCL = bias ( r bias ( ( σ )) r ( σ ))

Intelligent construction Keep a pool of elite solution This pool contains the best solutions that are sufficiently different between each other When constructing an initial solution, choose elements from RCL that will give a solution which contains patterns in elite solutions

Intelligent construction Example in TSP: Assume elite solutions contain the same 3 linked nodes The construction phase should favor the use of these same three nodes so they are linked

Proximate Optimality Principle (POP) Greedy construction is not always optimal. Especially on huge problems. Instead, run a few local search algorithms during construction phase Ex: Binato ran a local search at 40% and 80% during construction

Cost Perturbation Modify cost function when building RCL based on past solutions. Not necessarily applicable to every problem. Good results obtained using this for the Steiner tree problem (interconnect points on a plane)

Path Re-linking Given two solutions, explore the path linking these two solutions in the solution space. Start from one solution, go to best neighbor that brings us closer to the other solution. Iterate until reaching other solution.

Path re-linking end Formally: calculate moves while s evaluate cost of s 1 = if(s 1 1! min( < = global s 2 s i ) global best necessary to transform s best) = s s 1, i = s 1 + δ i, δ i ( s 1 1, into s s 2 ), 2 : ( i s 1, s 2 )

Path re-linking and GRASP Multiple ways of incorporating path relinking with GRASP. Most keep a pool of elite solutions. As before, this pool contains the best solutions that are sufficiently different between each other

Path re-linking and GRASP Strategies: Intensification: re-link all local solution with one or more elite solution Intensification: re-link elites between each other periodically (akin to an evolutionary process) Post-optimization: re-link every elite solution Post-optimization: submit pool to an evolutionary process

Intensification Find a local minima s through local search Choose a solution g from elite pool. g should be chosen so that it is different than s (different hamming distance for example). Determine which solution is the initial solution and which is the destination

Intensification continued Apply one of the path re-linking algorithms

Intensification variations Forward path re-linking Go from local minima to elite solution Backward path re-linking Go from elite solution to local minima (more logical since elite neighborhood should be on average better) Back and forward path re-linking Do both. Expensive but best of both solutions.

Intensification variations Mixed path re-linking Ping pong between local minima and elite solution. Should give the advantages of back and forward at half the cost Truncated path re-linking Only explore close neighborhood of elite solution and/or local minima

Intensification variations Greedy randomized adaptive path relinking Number of paths between solution is exponential in ( s 1, s 2 ) Instead of greedily exploring one path, occasionally choose the next element randomly Leads to more path being explored and diversifies the paths explored

Intensification variations Evolutionary path re-linking Every few GRASP iteration, re-link the solutions in the elite pool to create a new population of elites. Use greedy randomized path re-linking to diversify the elite pool

Path re-linking advantages Path re-linking helps reduce the time before a target optimum is reached

GRASP extensions and implementation ideas Use of a hash table of already explored solution can limit wasting time exploring multiple times the same solution neighborhood. Not all initial solutions need to be explored. Only promising ones should be investigated

GRASP hybrids Classic GRASP uses a simple local search. But it can use a VNS instead as the two can be seen as complimentary (construction vs. exploration). Tabu search can also be used. In fact, any search meta heuristic. Grasp construction phase can also be used to create an initial population for genetic algorithms.

Grasp algorithm comparison

Parallel Grasp Multi start heuristic particularly well suited for parallel implementation, running on multiple CPUs. Two types of strategies: Multiple walk, independent thread Multiple walk, cooperative thread

Independent thread Each CPU runs a subset of iterations of GRASP. Best solution of all CPUs is kept. CPUs do not exchange any other info. Linear gain in time. Does not work with intensification strategies and path re-linking

Cooperative thread Same principle but CPUs share info. Info can be pool of elites, Alpha bias functions etc. Usually, all shared info is managed by a central processor.

Cooperative vs. independent Cooperative is better with many CPUs as we loose 1 CPU for info sharing.

Conclusion GRASP is a pretty simple concept to implement Easily modified by changing construction algorithm or local search algorithm Low numbers of hyper parameter to tune Efficient parallel implementation