Transcript
Page 1: Source paper Parallel Tabu Search For A Pickup And Delivery Problem Under Track Contention Parallel Tabu Search For A Pickup And Delivery Problem Under

Source paperSource paper

Parallel Tabu Search For A Pickup Parallel Tabu Search For A Pickup And DeliveryAnd Delivery

Problem Under Track ContentionProblem Under Track Contention

Parallel Computing 29(2003) (631-639)Parallel Computing 29(2003) (631-639)Pierpaolo Caricato Pierpaolo Caricato aa, Gianpaolo Ghiani , Gianpaolo Ghiani bb, ,

Antonio Grieco Antonio Grieco bb, Emanuela Guerriero , Emanuela Guerriero aa

aa Dipartimento di Elettronica, Informatica e Dipartimento di Elettronica, Informatica e Sistemistica, Universita degli Studi della Sistemistica, Universita degli Studi della

Calabria,87030 Rende (CS), ItalyCalabria,87030 Rende (CS), Italybb Dipartimento di Ingegneria dell Dipartimento di Ingegneria dell

Innovazione, Universita degli Studi di Innovazione, Universita degli Studi di Lecce, 73100 Lecce, ItalyLecce, 73100 Lecce, Italy

Page 2: Source paper Parallel Tabu Search For A Pickup And Delivery Problem Under Track Contention Parallel Tabu Search For A Pickup And Delivery Problem Under

Thesis of the paperThesis of the paper This article introduces the Pickup and This article introduces the Pickup and

Delivery Problem under Track ContentionDelivery Problem under Track Contention A particular vehicle routing problem in A particular vehicle routing problem in

which loads have to be transported between which loads have to be transported between origin destination pairs by means of vehicles origin destination pairs by means of vehicles traveling along a capacitated network traveling along a capacitated network

Two sequential heuristics and a parallel tabu Two sequential heuristics and a parallel tabu search are proposed search are proposed

Computational experiments show that the Computational experiments show that the parallel tabu search is able to find much parallel tabu search is able to find much better solutions than the sequential better solutions than the sequential procedures, although this comes at the procedures, although this comes at the expense of a higher computing timeexpense of a higher computing time

Page 3: Source paper Parallel Tabu Search For A Pickup And Delivery Problem Under Track Contention Parallel Tabu Search For A Pickup And Delivery Problem Under

Organization of the talkOrganization of the talk

IntroductionIntroduction Problem StatementProblem Statement Three heuristics to solve Three heuristics to solve A parallel implementation A parallel implementation Computational results Computational results Conclusion Conclusion

Page 4: Source paper Parallel Tabu Search For A Pickup And Delivery Problem Under Track Contention Parallel Tabu Search For A Pickup And Delivery Problem Under

IntroductionIntroduction

Vehicle routing problems consist of Vehicle routing problems consist of determining optimal vehicle routes determining optimal vehicle routes through a set of users, subject to some through a set of users, subject to some side constraintsside constraints

A special class of VRPs arises in A special class of VRPs arises in automated warehouses, flexible automated warehouses, flexible manufacturing systems and port manufacturing systems and port terminals where automated guided terminals where automated guided vehicles (AGVs) are often used to move vehicles (AGVs) are often used to move loads between workstations loads between workstations

Page 5: Source paper Parallel Tabu Search For A Pickup And Delivery Problem Under Track Contention Parallel Tabu Search For A Pickup And Delivery Problem Under

Introduction(contd.)Introduction(contd.)

Travel network consists of a physical or Travel network consists of a physical or virtual path layout made up of tracks virtual path layout made up of tracks

Each track has a unit capacity, i.e., it Each track has a unit capacity, i.e., it can be traversed by a single vehicle at can be traversed by a single vehicle at a time. a time.

When two or more vehicles try to enter When two or more vehicles try to enter a track at the same time, a contention a track at the same time, a contention arises and at least one of them will be arises and at least one of them will be delayed or re-routed.delayed or re-routed.

Page 6: Source paper Parallel Tabu Search For A Pickup And Delivery Problem Under Track Contention Parallel Tabu Search For A Pickup And Delivery Problem Under

Introduction(contd.)Introduction(contd.)

VRPs related to distribution management VRPs related to distribution management have been examined extensively , VRPs have been examined extensively , VRPs under Track Contention is fairly less under Track Contention is fairly less developed and quite disorganized developed and quite disorganized

loads are dispatched to vehicles without any concern loads are dispatched to vehicles without any concern for track contentionsfor track contentions

track contentions are then detected and simple rules track contentions are then detected and simple rules are used to decide in which order vehicles have to are used to decide in which order vehicles have to access a contended trackaccess a contended track

Priority can be given to vehicles according Priority can be given to vehicles according to a round-robin policyto a round-robin policy

or according to the delay accumulated in or according to the delay accumulated in previous track contentionsprevious track contentions

Page 7: Source paper Parallel Tabu Search For A Pickup And Delivery Problem Under Track Contention Parallel Tabu Search For A Pickup And Delivery Problem Under

Introduction(contd.)Introduction(contd.)

In most real-world VRPs with Track In most real-world VRPs with Track Contention, requests are revealed Contention, requests are revealed during the planning horizon and during the planning horizon and vehicle routes and schedules have to vehicle routes and schedules have to be built in an on-going fashion be built in an on-going fashion

This paper deals with a static This paper deals with a static problem (i.e., a problem where all problem (i.e., a problem where all requests are known in advance) that requests are known in advance) that captures most aspects of problems captures most aspects of problems arising in practice.arising in practice.

Page 8: Source paper Parallel Tabu Search For A Pickup And Delivery Problem Under Track Contention Parallel Tabu Search For A Pickup And Delivery Problem Under

Problem StatementProblem Statement Let G(V, E) be an undirected graphLet G(V, E) be an undirected graph Edges and vertices represent tracks and track Edges and vertices represent tracks and track

intersections respectively intersections respectively Workstations are associated to a subset of vertices Workstations are associated to a subset of vertices

V1 V1 ЄЄ V V

Page 9: Source paper Parallel Tabu Search For A Pickup And Delivery Problem Under Track Contention Parallel Tabu Search For A Pickup And Delivery Problem Under

Problem Statement(Contd.)Problem Statement(Contd.)

Each edge (vi, vj) has a traversal time tEach edge (vi, vj) has a traversal time t ijij In Real-world problems all tracks have the In Real-world problems all tracks have the

same length, it is assumed that tsame length, it is assumed that tijij =1 =1 Let TLet Tijij be the duration of a shortest path be the duration of a shortest path

from from

vvii ЄЄ V1 to v V1 to vjj ЄЄ V1 V1 A set R={r=(aA set R={r=(arr , b , brr): a): arr ЄЄ V1, b V1, brr ЄЄ V1} of unit V1} of unit

demand loads have to be transported demand loads have to be transported between pairs of workstations by a between pairs of workstations by a homogeneous fleet of m unit capacity homogeneous fleet of m unit capacity vehicles vehicles

Page 10: Source paper Parallel Tabu Search For A Pickup And Delivery Problem Under Track Contention Parallel Tabu Search For A Pickup And Delivery Problem Under

Problem Statement(Contd)Problem Statement(Contd)

Vehicles based at the same depot v0 Vehicles based at the same depot v0 Each vehicle occupies an edge at Each vehicle occupies an edge at

any time, while each edge can any time, while each edge can accommodate at most one vehicle at accommodate at most one vehicle at a time. a time.

Page 11: Source paper Parallel Tabu Search For A Pickup And Delivery Problem Under Track Contention Parallel Tabu Search For A Pickup And Delivery Problem Under

Problem Statement Problem Statement (Contd)(Contd) Our problem is to design a set of m Our problem is to design a set of m

vehicle routes and schedules in such a vehicle routes and schedules in such a way that:way that: Each request is serviced by exactly one Each request is serviced by exactly one

vehiclevehicle Each vehicle services one request at a timeEach vehicle services one request at a time The route of a vehicle starts and ends at v0The route of a vehicle starts and ends at v0 The duration of the The duration of the longest routelongest route

(makespan) is minimized(makespan) is minimized

Page 12: Source paper Parallel Tabu Search For A Pickup And Delivery Problem Under Track Contention Parallel Tabu Search For A Pickup And Delivery Problem Under

Solution StrategySolution Strategy

This paper works on the result of This paper works on the result of Franca et al. 95 for a Minmax m-TSP. Franca et al. 95 for a Minmax m-TSP. Let the solution is x, a feasible PDPTC Let the solution is x, a feasible PDPTC solution solution ζζ can be obtained as follows: can be obtained as follows: Every arc (r, s) of the Minmax m-TSP Every arc (r, s) of the Minmax m-TSP

feasible solution x is substituted for a path feasible solution x is substituted for a path between abetween ar r and band brr, followed by a path , followed by a path between bbetween brr and a and ass

Vehicles are scheduled so that track Vehicles are scheduled so that track contention constraints are satisfiedcontention constraints are satisfied

Page 13: Source paper Parallel Tabu Search For A Pickup And Delivery Problem Under Track Contention Parallel Tabu Search For A Pickup And Delivery Problem Under

1. Constructive heuristic1. Constructive heuristic

Determines a feasible solution x to the Determines a feasible solution x to the associated Minmax m-TSP by means of the associated Minmax m-TSP by means of the tabu search procedure described in Franca et tabu search procedure described in Franca et al. 95, then convert it into a feasible solution al. 95, then convert it into a feasible solution ζζ

The planning horizon [0,∞] is divided into The planning horizon [0,∞] is divided into intervals [0, D-1], [D, 2D-1], ….. each having intervals [0, D-1], [D, 2D-1], ….. each having duration D duration D

At the beginning of the hth interval vehicles At the beginning of the hth interval vehicles have been routed and scheduled until time hD have been routed and scheduled until time hD -1 in such a way that track contention -1 in such a way that track contention constraints are satisfiedconstraints are satisfied

Page 14: Source paper Parallel Tabu Search For A Pickup And Delivery Problem Under Track Contention Parallel Tabu Search For A Pickup And Delivery Problem Under

1. Constructive heuristic1. Constructive heuristic Let Let ττkk(hD) = duration of the kth vehicle in (hD) = duration of the kth vehicle in ζζ in case no track contentions arise in in case no track contentions arise in interval [hD, ∞]interval [hD, ∞] ττkk(0) is the duration of the kth route of x(0) is the duration of the kth route of x

Make_ feasible (x) procedureMake_ feasible (x) procedure

Step: 0 Set h=0Step: 0 Set h=0Step1: Sort the routes of x which are not Step1: Sort the routes of x which are not finished at time hD by non-increasing values of finished at time hD by non-increasing values of ττkk(0) If all routes have been finished, STOP(0) If all routes have been finished, STOP

Step2: Schedule one route at a time in interval Step2: Schedule one route at a time in interval (hD, (h+1)D–1)(hD, (h+1)D–1)

Step 3: Set h=h + 1 and go to Step 1Step 3: Set h=h + 1 and go to Step 1

Page 15: Source paper Parallel Tabu Search For A Pickup And Delivery Problem Under Track Contention Parallel Tabu Search For A Pickup And Delivery Problem Under

2. Local search heuristic2. Local search heuristic

This procedure determines a feasible This procedure determines a feasible solution x to the Minmax m-TSP by means of solution x to the Minmax m-TSP by means of the tabu search heuristic described in the tabu search heuristic described in Franca et al. 95 Franca et al. 95

Then, leaving unchanged the order in which Then, leaving unchanged the order in which the requests are serviced along the routes, the requests are serviced along the routes, the heuristic tries to reduce the make span the heuristic tries to reduce the make span by re-routing or re-scheduling the vehicles. by re-routing or re-scheduling the vehicles.

To this purpose a local search is performed To this purpose a local search is performed by using the constructive heuristic as a by using the constructive heuristic as a subroutine subroutine

Page 16: Source paper Parallel Tabu Search For A Pickup And Delivery Problem Under Track Contention Parallel Tabu Search For A Pickup And Delivery Problem Under

2. Local search heuristic2. Local search heuristic

Let Let ρρ11, . . . , , . . . , ρρmm be a permutation of the vehicle routes be a permutation of the vehicle routes of xof x

Define the neighbourhood of Define the neighbourhood of ρρ11, . . . , , . . . , ρρmm as the set of as the set of permutations that can be obtained by swapping a permutations that can be obtained by swapping a pair of routes.pair of routes.

Step 0: Choose an initial permutation Step 0: Choose an initial permutation ρρ11, . . . , , . . . , ρρmm in in such a way that such a way that τρτρ11(0)>=(0)>=τρτρ22(0) >=(0) >=τρτρ33(0)…………. (0)…………. τρτρmm(0)(0)

Step 1: Evaluate the neighbours of Step 1: Evaluate the neighbours of ρρ11, . . . , , . . . , ρρmm by by means of the Make_ feasible proceduremeans of the Make_ feasible procedure

Step 2: If an improved permutation has been found, Step 2: If an improved permutation has been found, up-date the current permutation up-date the current permutation ρρ11, . . . , , . . . , ρρmm and go to and go to Step 1. Otherwise, STOPStep 1. Otherwise, STOP

Page 17: Source paper Parallel Tabu Search For A Pickup And Delivery Problem Under Track Contention Parallel Tabu Search For A Pickup And Delivery Problem Under

3. Tailored tabu search 3. Tailored tabu search heuristicheuristic Tabu search (TS) is a local search Tabu search (TS) is a local search

procedure that iteratively moves from a procedure that iteratively moves from a current solution to its best neighbour even current solution to its best neighbour even if this causes a deterioration in the if this causes a deterioration in the objective function value objective function value

To avoid cycling a tabu list or tabu To avoid cycling a tabu list or tabu attributesattributes

A diversification and an intensification A diversification and an intensification phase can be used to visit new regions of phase can be used to visit new regions of the solution space, and to explore the more the solution space, and to explore the more promising regions, respectivelypromising regions, respectively

Page 18: Source paper Parallel Tabu Search For A Pickup And Delivery Problem Under Track Contention Parallel Tabu Search For A Pickup And Delivery Problem Under

3. Tailored tabu search 3. Tailored tabu search heuristicheuristic

Our algorithm is a modification of the Our algorithm is a modification of the tabu search heuristic described in tabu search heuristic described in Franca et al. 95. TS procedure makes Franca et al. 95. TS procedure makes use of the GENI insertion heuristic and use of the GENI insertion heuristic and the US post optimization procedure the US post optimization procedure developed by Gendreau et al developed by Gendreau et al An initial solution is first constructed An initial solution is first constructed by means of GENI. Neighbor solutions by means of GENI. Neighbor solutions are then generated by repeatedly are then generated by repeatedly removing a vertex from its current removing a vertex from its current route and inserting it using GENI into route and inserting it using GENI into another route containing some of its another route containing some of its closest neighbors closest neighbors

Page 19: Source paper Parallel Tabu Search For A Pickup And Delivery Problem Under Track Contention Parallel Tabu Search For A Pickup And Delivery Problem Under

Then, the US post-optimization procedure Then, the US post-optimization procedure is applied to each route separatelyis applied to each route separately

A parameter A parameter αα determines how large the determines how large the neighborhood of the current solution is neighborhood of the current solution is

Our tabu search heuristic has the same Our tabu search heuristic has the same structure, except that for each Minmax structure, except that for each Minmax m-TSP neighbor x. least make span m-TSP neighbor x. least make span PDPTC solution is looked for by means of PDPTC solution is looked for by means of the local search procedure illustrated in the local search procedure illustrated in Section 2Section 2

3. Tailored tabu search 3. Tailored tabu search heuristicheuristic

Page 20: Source paper Parallel Tabu Search For A Pickup And Delivery Problem Under Track Contention Parallel Tabu Search For A Pickup And Delivery Problem Under

This task can be accomplished in a This task can be accomplished in a number of ways depending on number of ways depending on problem structure and hardware at problem structure and hardware at handhand

Crainic et al. [1] classify parallel TS Crainic et al. [1] classify parallel TS procedures according to three procedures according to three criteria: criteria:

Search Control Cardinality Search Control Cardinality Search Control Type and Search Control Type and Search DifferentiationSearch Differentiation

Parallel ImplementationParallel Implementation

Page 21: Source paper Parallel Tabu Search For A Pickup And Delivery Problem Under Track Contention Parallel Tabu Search For A Pickup And Delivery Problem Under

First:control of the parallel search is First:control of the parallel search is performed by a single processor (1-performed by a single processor (1-control, 1-C), or distributed among control, 1-C), or distributed among several processors (p-control, p-C). several processors (p-control, p-C).

Second: the way (synchronous or Second: the way (synchronous or asynchronous) communication is asynchronous) communication is performed among processorsperformed among processors

Third: accounts for the way different Third: accounts for the way different searches are carried on. searches are carried on.

Parallel ImplementationParallel Implementation

Page 22: Source paper Parallel Tabu Search For A Pickup And Delivery Problem Under Track Contention Parallel Tabu Search For A Pickup And Delivery Problem Under

Four alternatives are available: Four alternatives are available: single initial point-single strategy (SPSS) if a single initial point-single strategy (SPSS) if a

single search is performed;single search is performed; single initial point-multiple strategies (SPMS) single initial point-multiple strategies (SPMS)

when each processor carries on a different when each processor carries on a different search starting from the same initial solution; search starting from the same initial solution;

Multiple initial point single strategy (MPSS) if Multiple initial point single strategy (MPSS) if each processor performs the same search each processor performs the same search starting from different initial solutions;starting from different initial solutions;

Multiple initial points-multiple strategies Multiple initial points-multiple strategies (MPMS) if each processor carries on a (MPMS) if each processor carries on a different search starting from a different initial different search starting from a different initial solutionsolution

Parallel ImplementationParallel Implementation

Page 23: Source paper Parallel Tabu Search For A Pickup And Delivery Problem Under Track Contention Parallel Tabu Search For A Pickup And Delivery Problem Under

In SPMS and MPMS, the searches may In SPMS and MPMS, the searches may be performed by different algorithms or, be performed by different algorithms or, more commonly, by the same more commonly, by the same algorithm with different parametersalgorithm with different parameters

A multi-thread search strategy is used in A multi-thread search strategy is used in which p several distinct search paths which p several distinct search paths are followed in parallel are followed in parallel

Once a processor finds a new best Once a processor finds a new best solution, it sends it to the other solution, it sends it to the other processors that re-initialize their processors that re-initialize their searchessearches

Parallel ImplementationParallel Implementation

Page 24: Source paper Parallel Tabu Search For A Pickup And Delivery Problem Under Track Contention Parallel Tabu Search For A Pickup And Delivery Problem Under

This approach should guarantee a high level of This approach should guarantee a high level of search diversification. Each thread is search diversification. Each thread is characterized by a different value of parameter characterized by a different value of parameter αα. .

Moreover, in order to speed up the Moreover, in order to speed up the neighborhood evaluation, which is by far the neighborhood evaluation, which is by far the most time-consuming part of the algorithm, a most time-consuming part of the algorithm, a master–slave scheme for each thread is used master–slave scheme for each thread is used

The master process manages the Franca et al. The master process manages the Franca et al. TS main operations while p slaves perform the TS main operations while p slaves perform the local searcheslocal searches

Parallel ImplementationParallel Implementation

Page 25: Source paper Parallel Tabu Search For A Pickup And Delivery Problem Under Track Contention Parallel Tabu Search For A Pickup And Delivery Problem Under

Computational resultsComputational results Both heuristics were coded in C++Both heuristics were coded in C++ The first two procedures were run on a standalone The first two procedures were run on a standalone

PC with a Pentium III processor clocked at 500 PC with a Pentium III processor clocked at 500 Mhz. Mhz.

The third algorithm was implemented on a cluster The third algorithm was implemented on a cluster of four PCs, each of which has two Pentium III of four PCs, each of which has two Pentium III processors clocked at 700 Mhz processors clocked at 700 Mhz

Each process was coded in C++ and process Each process was coded in C++ and process communicationscommunications

were handled by the message passing interface were handled by the message passing interface (MPI) software (MPI) software

After preliminary tests, we have chosen p = 4 and After preliminary tests, we have chosen p = 4 and alpha= alpha=

Page 26: Source paper Parallel Tabu Search For A Pickup And Delivery Problem Under Track Contention Parallel Tabu Search For A Pickup And Delivery Problem Under

For each graph G we generated 20, 30, For each graph G we generated 20, 30, 40, 50 requests at random40, 50 requests at random

and for each set of requests we allowed m and for each set of requests we allowed m = 3, 4, 5 vehicles= 3, 4, 5 vehicles

Page 27: Source paper Parallel Tabu Search For A Pickup And Delivery Problem Under Track Contention Parallel Tabu Search For A Pickup And Delivery Problem Under

Result for a 3 bay graphResult for a 3 bay graph

Page 28: Source paper Parallel Tabu Search For A Pickup And Delivery Problem Under Track Contention Parallel Tabu Search For A Pickup And Delivery Problem Under

Computational results show that the Computational results show that the tabu search procedure is able to tabu search procedure is able to improve remarkably (22.7%, 22.5% improve remarkably (22.7%, 22.5% and 26.9% on the average in the 2, 3 and 26.9% on the average in the 2, 3 and 4 bay case respectively) than and 4 bay case respectively) than the solutions generated by the the solutions generated by the constructive heuristic constructive heuristic

although this usually comes at the although this usually comes at the expense of a larger computing timeexpense of a larger computing time

Page 29: Source paper Parallel Tabu Search For A Pickup And Delivery Problem Under Track Contention Parallel Tabu Search For A Pickup And Delivery Problem Under

Conclusion and future Conclusion and future workwork

Here static situation is discussedHere static situation is discussed More focus needs on dynamic More focus needs on dynamic

contextcontext Also other heuristics and a new Also other heuristics and a new

heuristic ACO heuristic ACO

Can be tried with this VRP problemCan be tried with this VRP problem


Top Related