Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile.

Slides:



Advertisements
Similar presentations
Computational Intelligence Winter Term 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering (LS 11) Fakultät für Informatik TU Dortmund.
Advertisements

Heuristic Search techniques
CS Section 600 CS Section 002 Dr. Angela Guercio Spring 2010.
1 Constraint Satisfaction Problems A Quick Overview (based on AIMA book slides)
Traveling Salesperson Problem
1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized.
1 Transportation problem The transportation problem seeks the determination of a minimum cost transportation plan for a single commodity from a number.
Greedy Algorithms Greed is good. (Some of the time)
Crew Scheduling Housos Efthymios, Professor Computer Systems Laboratory (CSL) Electrical & Computer Engineering University of Patras.
Best-First Search: Agendas
Ant Colony Optimization. Brief introduction to ACO Ant colony optimization = ACO. Ants are capable of remarkably efficient discovery of short paths during.
Branch and Bound Searching Strategies
3 -1 Chapter 3 The Greedy Method 3 -2 The greedy method Suppose that a problem can be solved by a sequence of decisions. The greedy method has that each.
MAE 552 – Heuristic Optimization Lecture 26 April 1, 2002 Topic:Branch and Bound.
Computational Complexity, Physical Mapping III + Perl CIS 667 March 4, 2004.
Ant Colony Optimization Optimisation Methods. Overview.
1 Branch and Bound Searching Strategies 2 Branch-and-bound strategy 2 mechanisms: A mechanism to generate branches A mechanism to generate a bound so.
Better Ants, Better Life? Hybridization of Constraint Programming and Ant Colony Optimization Supervisors: Dr. Bernd Meyer, Dr. Andreas Ernst Martin Held.
Ant Colony Optimization Algorithms for the Traveling Salesman Problem ACO Kristie Simpson EE536: Advanced Artificial Intelligence Montana State.
Linear Programming Applications
Ant Colony Optimization: an introduction
Ant Colony Optimization (ACO): Applications to Scheduling
Tabu Search Manuel Laguna. Outline Background Short Term Memory Long Term Memory Related Tabu Search Methods.
Metaheuristics The idea: search the solution space directly. No math models, only a set of algorithmic steps, iterative method. Find a feasible solution.
Ant colony optimization algorithms Mykulska Eugenia
Constraint Satisfaction Problems
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
CP Summer School Modelling for Constraint Programming Barbara Smith 1.Definitions, Viewpoints, Constraints 2.Implied Constraints, Optimization,
Relaxation and Hybrid constraint processing Different relaxation techniques Some popular hybrid techniques.
Design Techniques for Approximation Algorithms and Approximation Classes.
Introduction to Job Shop Scheduling Problem Qianjun Xu Oct. 30, 2001.
Heuristic Optimization Methods Tabu Search: Advanced Topics.
Object Oriented Programming Assignment Introduction Dr. Mike Spann
CP Summer School Modelling for Constraint Programming Barbara Smith 2. Implied Constraints, Optimization, Dominance Rules.
The Application of The Improved Hybrid Ant Colony Algorithm in Vehicle Routing Optimization Problem International Conference on Future Computer and Communication,
Constraint Satisfaction CPSC 386 Artificial Intelligence Ellen Walker Hiram College.
CSCI 5582 Fall 2006 CSCI 5582 Artificial Intelligence Fall 2006 Jim Martin.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Optimizing Pheromone Modification for Dynamic Ant Algorithms Ryan Ward TJHSST Computer Systems Lab 2006/2007 Testing To test the relative effectiveness.
Chapter 5 Constraint Satisfaction Problems
AI Lecture 17 Planning Noémie Elhadad (substituting for Prof. McKeown)
Problem Reduction So far we have considered search strategies for OR graph. In OR graph, several arcs indicate a variety of ways in which the original.
OR Chapter 8. General LP Problems Converting other forms to general LP problem : min c’x  - max (-c)’x   = by adding a nonnegative slack variable.
Introduction Metaheuristics: increasingly popular in research and industry mimic natural metaphors to solve complex optimization problems efficient and.
EMIS 8373: Integer Programming Column Generation updated 12 April 2005.
The Ant System Optimization by a colony of cooperating agents.
Dominance and Indifference in Airline Planning Decisions NEXTOR Conference: INFORMS Aviation Session June 2 – 5, 2003 Amy Mainville Cohn, KoMing Liu, and.
1. Searching The basic characteristics of any searching algorithm is that searching should be efficient, it should have less number of computations involved.
On the Ability of Graph Coloring Heuristics to Find Substructures in Social Networks David Chalupa By, Tejaswini Nallagatla.
Integer Programming An integer linear program (ILP) is defined exactly as a linear program except that values of variables in a feasible solution have.
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
1.206J/16.77J/ESD.215J Airline Schedule Planning
EMIS 8373: Integer Programming
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Computational Intelligence
Integer Programming (정수계획법)
Multi-Objective Optimization
Ant Colony Optimization
traveling salesman problem
Constraints and Search
Integer Programming (정수계획법)
Constraint satisfaction problems
Artificial Intelligence
Computational Intelligence
Implementation of Learning Systems
Constraint satisfaction problems
Lecture 4: Tree Search Strategies
Discrete Optimization
Presentation transcript:

Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile Dr. Carlos Castro Universidad Técnica Federico Santa María

16/12/2015Accumulated Experience Ant Colony 2 Overview Introduction SCP and SPP Ant Colony Optimisation (ACO) ACO for Set Covering and Set Partitioning Problems ACO with Forward Checking and Full Lookahead Procedures Experiments and Results Conclusions and future work

16/12/2015Accumulated Experience Ant Colony 3 Introduction Set Covering Problem (SCP) and Set Partitioning Problem (SPP) are two types of problems that can model different real life situations There exist problems for which pure ACO is of limited effectiveness: very strongly constrained problems like SPP We explore the addition of a lookahead mechanism to the ACO algorithm for solving SCP and SPP. Applying these algorithms for solving standard benchmarks from Beasley`s ORLIB

16/12/2015Accumulated Experience Ant Colony 4 Set Partitioning Problem SPP is the problem of partitioning a given set into mutually independent subsets while minimizing a cost function defined as the sum of the costs associated to each of the eligible subsets. Its importance derives from the fact that many real life situations can be modeled as SPP, and in fact many combinatorial optimization problems (such as, crew scheduling, vehicle routing, project scheduling, and warehouse location problems, to name a few) can be modeled as SPP with maybe some additional constraints. In SPP we are given a m × n matrix A = (a ij ) in which all the matrix elements are either zero or one. Additionally, each column is given a non negative cost c j. We say that a column j covers a row i if a ij = 1. Let x j denotes a binary variable which is one if column j is chosen and zero otherwise

16/12/2015Accumulated Experience Ant Colony 5 Example 1 SPP Instance

16/12/2015Accumulated Experience Ant Colony 6

16/12/2015Accumulated Experience Ant Colony 7 Set Partitioning

16/12/2015Accumulated Experience Ant Colony 8 Set Covering: A SPP relaxation SPP constraints enforce that each row is covered by exactly one column. The goal in the SCP is to choose a subset of the columns of minimal weight which covers every row. The SCP can be defined formally using constraints to enforce that each row is covered by at least one column as follows.

16/12/2015Accumulated Experience Ant Colony 9 Set Covering: A SPP relaxation

16/12/2015Accumulated Experience Ant Colony 10 Ant Colony Optimisation (ACO) A metaheuristic search process based on the foraging behaviour of ant colonies –A number of agents, called (artificial) ants, build up solutions to the problem at hand –They deposit pheromone on each element they choose/visit –At each step they choose from the available elements based on their associated probabilities –Element probability is a function of heuristic information (eg, estimated cost) and pheromone information (from other ants) –Pheromone biases search towards solution characteristics that have proved valuable in the past

16/12/2015Accumulated Experience Ant Colony 11

16/12/2015Accumulated Experience Ant Colony 12 Ant Colony Optimisation (ACO) ACO learns based on solutions encountered in the past Learning occurs through pheromone, so choosing an appropriate pheromone representation is crucial to the success of an ACO algorithm

16/12/2015Accumulated Experience Ant Colony 13 Application of ACO Ant System (AS, the first ACO algorithm) associate pheromone and heuristic information with links High degree of similarity between real ants on the ground and artificial ants on a graph There are improved ways to apply ACO, like ACS (Ant Colony System) pheromone A solution:

16/12/2015Accumulated Experience Ant Colony 14 Application of ACO Initial ACO applications on problems that could be modelled as graphs –pheromone associated with edges of these graphs ACO increasingly applied to problems that don’t have a natural graph representation –Assignment problems –Subset problems item resource pheromone

16/12/2015Accumulated Experience Ant Colony 15 An ACO Techniques Comparison

16/12/2015Accumulated Experience Ant Colony 16 ACO Procedure for SPP 1 Procedure ACO_for_SPP 2 Begin 3 initParameters(); 4 While (remain iterations) do 5 For k := 1 to h := nants do 6 While (solution have no completed) do 7 Choose next Column j with Transition Rule Probability 8 addToTabuList(j); 9 For each Row i covered by j do 10 AddColumnToTabuList(j); 11 EndFor 12 EndWhile 13 EndFor 14 updateOptimum(); 15 updatePheromone(); 16 EndWhile 17 return best_solution_founded 18 End.

16/12/2015Accumulated Experience Ant Colony 17 Transition Rule in ACO (Example using Ant Colony System) If there is a column j candidate List which can be chosen Choose the next column j, where from the candidate list, using where represents the heuristic information and is chosen using where is the neighborhood of the ant Else Choose the column j with the lower cost. Element probability based on pheromone and element cost

16/12/2015Accumulated Experience Ant Colony 18 Pheromone Update Update when ant chooses element i Update at end of iteration for best solution where is the frequency of the column i in the solutions of the ants

16/12/2015Accumulated Experience Ant Colony 19 Heuristic Information To use the actual knowledge (as a transition rule), it is used a dynamic heuristic information that depends on the partial solution of an ant. It is defined as Where is the number of additional rows covered adding a column j and is the cost of column j.

16/12/2015Accumulated Experience Ant Colony 20 ACO for SCP and SPP ACO can be applied in a very straightforward way to the SCP. The columns are chosen as the solution components and have associated a cost and a pheromone trail. Constraints say that each column can be visited by an ant once and only once and that a final solution has to cover all rows. A walk of an ant over the graph representation corresponds to the iterative addition of columns to the partial solution obtained so far. Each ant starts with an empty solution and adds columns until all rows are covered. A column to be added is chosen with a probability that depends of pheromone trail and the heuristic information.

16/12/2015Accumulated Experience Ant Colony 21 Constraint Programming (CP) CP is used in the variable selection process. It means that now, the column to be added in the solution, will be chosen only if doesn't cause a conflict with the next column to select. Two ways for implement CP in ACO are studied: –Forward Checking –Full Look Ahead

16/12/2015Accumulated Experience Ant Colony 22 Constraint Programming (CP) 1 Procedure ACO+CP_for_SPP 2 Begin 3 initParameters(); 4 While (remain iterations) do 5 For k := 1 to h := nants do 6 While (solution have no completed) do 7 Choose next Column j with Transition Rule Probability 8 For each Row i covered by j do /*Constraint with j*/ 9 feasible(i):=Posting(j);/*Constraint Propagation*/ 10 EndFor 11 If feasible(i) for all i then 12 AddColumnToSolution(j) 13 Else 14 Backtracking(j)/*Set j unistantiated*/ 15 AddColumnToTabuList(j); 16 EndWhile 17 EndFor 18 updateOptimum(); 19 updatePheromone(); 20 EndWhile 21 return best_solution_founded 22 End.

16/12/2015Accumulated Experience Ant Colony 23 ACO with FC and FLA Some efforts have been done in order to integrate CP techniques to ACO algorithms. Forward Checking (FC) seems to be the easiest way to prevent future conflicts. Adding Forward Checking to ACO means that columns are chosen if they do not produce any conflict with respect to the next column to be chosen. Forward checking checks only the constraints between the current variable and the future variables: Arc consistency to the not yet instantiated variables.

16/12/2015Accumulated Experience Ant Colony 24 1 Procedure forward_checking(election) 2 Begin 3 For each row i do 4 If (Row i is covered by column “election”) then 5 For each column j do 6 Check if any column j cover the “i” row. In this 7 case, add it to the Tabu List; 8 EndFor 9 EndIf 10 EndFor 11 If(There is no row to cover) then 12 Return OK; 13 else 14 For each column that is not include at the Tabu_list do 15 If exist any column j then 16 Return OK; 17 else 18 Is necessary to replace the column selected by 19 another one 20 Return FAIL; 21 EndIf 22 EndIf 23 End. Procedure Forward Checking for ACO

16/12/2015Accumulated Experience Ant Colony 25 ACO with FC and FLA Why not to perform full arc consistency that will further reduces the domains and removes possible conflicts. This approach is called Full Lookahead (FLA) or maintaining arc consistency. The advantage of look ahead is that it detects also the conflicts between future variables and therefore allows branches of the search tree that will lead to failure to be pruned earlier than with Forward Checking. Adding Full Lookahead to ACO means that columns are chosen using recursively the same ideas that Forward Checking and so we detect conflicts before a solution is completed.

16/12/2015Accumulated Experience Ant Colony 26 1 Procedure full_look_ahead(){ 2 Begin 3 While (Be possible to select a column) do 4 For each row i do 5 If (Row i is still not covered) then 6 If (row I in covered by only one column, which doesn´t belong to the Tabu_List) then 7 Select column j (which cover the row i) 8 If (forward_checking(j)) then 9 Add column j to the partial solution of the ant 10 If several columns fulfill with the condition, choose one in a randomly way 11 EndIf 12 EndIf 13 EndIf 14 EndFor 15 EndWhile 16 Return OK; 17 End. Procedure Full Look Ahead for ACO

16/12/2015Accumulated Experience Ant Colony 27 Example 2 Creating a Solution

16/12/2015Accumulated Experience Ant Colony 28 A pairing is a sequence of flights to be covered by a single crew over a 2 to 3 day period

16/12/2015Accumulated Experience Ant Colony 29 Defining the decision variable equal to 1 if paring j is chosen and 0 otherwise. Each flight must be covered. Minimize 2900x x x x x x x x x x x x x x x 15

16/12/2015Accumulated Experience Ant Colony 30 Example Level of Pheromone - + where 2 ants start with an empty solution.

16/12/2015Accumulated Experience Ant Colony 31 Initial Step

16/12/2015Accumulated Experience Ant Colony 32 Before finishing a solution Each ant k chooses the next column j using the probability given by And updates the chosen columns, according to the Evaporation Rule

16/12/2015Accumulated Experience Ant Colony 33 After some Steps

16/12/2015Accumulated Experience Ant Colony 34 When a solution is completed The pheromone level of the best solution is updated following

16/12/2015Accumulated Experience Ant Colony 35 After some Iterations

16/12/2015Accumulated Experience Ant Colony 36 Final Solution The columns belonging to the optimal solution will show the largest level of pheromone. In this case, an optimal solution of this problem, at cost of $9100 is:

16/12/2015Accumulated Experience Ant Colony 37 Example 3 Use of Constraint Programming

16/12/2015Accumulated Experience Ant Colony 38

16/12/2015Accumulated Experience Ant Colony 39 Using CP 1st try. x 1 = 1  x 2 = 0 x 4 = 0 2nd try. x 2 = 1  x1 and x 4 = 0 (applying constraint 1) x 3 = 1 (applying constraint 3) Solution Found : x 1 = 0 x 2 = 1 x 3 = 1 x 4 = 0 Doesn’t respect Constraint 2 Solution cannot be completed

16/12/2015Accumulated Experience Ant Colony 40 Experiments and Results Adding FC and FLA techniques to the basic ACO algorithms for solving standard benchmarks taken from the Beasley`s ORLIB. Considering several tests and published experimental results we use the following parameters for the algorithms: ρ = 0.4, number of iterations = 160, number of ants = 120, β = 0.5, for ACS Qo = 0.5 Algorithms were implemented using ANSI C, GCC 3.3.6, under Microsoft Windows XP Professional version 2002.

16/12/2015Accumulated Experience Ant Colony 41 Experiments and Results

16/12/2015Accumulated Experience Ant Colony 42 Experiments and Results Table 2. ACO with Forward Checking

16/12/2015Accumulated Experience Ant Colony 43 Experiments and Results The effectiveness of hybridization is showed to the SPP and in some instances of SCP solving with AS+FC. Strongly constrained problem characteristic of SPP does the stochastic behavior of ACO improved with FC techniques in the construction phase, so that almost only feasible solutions are induced. In the original ACO implementation the SPP solving derives in a lot of unfeasible labeling of variables, and many ants can not complete solutions. For SCP, the huge size of the search space and the relaxation of the constraints do original ACO algorithms work better than ACO with Constraint Programming considering the same execution conditions.

16/12/2015Accumulated Experience Ant Colony 44 Conclusions Performance of ACO is possible to improve with some classes of hybridization. Using only the transition rule of pure ACO doesn't allow, in some problems, to complete feasible solutions. In a restricted problem like SPP, ACO with Lookahead techniques showed an interesting performance, we demonstrated that this integration improves the process, mainly with respect to success costs instead running times. But the trade off in all cases is very convenient.

16/12/2015Accumulated Experience Ant Colony 45 Future Work To study the pheromone representation and will try to incorporate it into Lookahead techniques. Considering that the ant´s solutions may contain redundant components which can be eliminated by a fine tuning after the solution, then we will explore Post Processing procedures, which consist in the identification and replacement of the columns of the ACO solution in each iteration by more effective columns. To study available local search techniques in order to reduce the input problem and improve the solutions given by the ants.

16/12/2015Accumulated Experience Ant Colony 46 Questions?