A Parallel Cooperating Metaheuristics Solver for Large Scale VRP’s Jiayong Jin, Molde University College, Norway Teodor Crainic, CIRRELT and UQAM, Montreal Arne Løkketangen Molde University College, Norway
Introduction We want to look at ways of how a set of parallel solvers can cooperate beneficially How should the solvers communicate? –Utilize a common solution pool Information extracted through clustering of solutions How should efforts be coordinated Synchronous/Asynchronous? What type of Solvers? –The solvers are all similar, but different –Based on Tabu Search 2
Test Cases The target problems are published large-scale CVRPs –Golden and Li benchmarks –These have been hammered on a lot –Highly artificial –Difficult to improve on the results We also try our methods on real world, large scale, instances –Newspaper distribution in Oslo, Norway 3
Capacitated VRP Standard Classical Vehicle Routing Problem –One depot –K equal vehicles –Max capacity Q –N customers, each has a demand D i –All customers must be visited, but only once –Want to minimize cost Also consider additional Maximal Tour Length Constraints for some of the instances For the Newspaper Distribution instances, have additional constraints –Visual Beauty –Compactness 4
Parallel Framework 5 Starting Solution Best Solution Found Search Thread I Search Thread II Search Thread III Search Thread IV Search Thread V Search Thread VI Search Thread VII Solution Pool Thread Intensify Diversify
Parallel Meta-Heuristic Classification Search Control Cardinality Search Control and Communications Search Differentiation 6
Parallel Meta-Heuristic Classification Search Control Cardinality –Single controller (1C) –Distributed control (pC) Search Control and Communications –Rigid Synchronization (RS) –Knowledge Synchronization (KS) –Collegial (C) –Knowledge Collegial (KC) 7
Parallel Classification Search Differentiation –SPSS, Same initial Point/Population, Same search Strategy; –SPDS, Same initial Point/Population, Different search Strategies; –MPSS, Multiple initial Points/Populations, Same search Strategies; –MPDS, Multiple initial Points/Populations, Different search Strategies 8
Parallel Framework Our search: pC/KC/MPDS Initialize –Search Threads. Generate initial starting solution. –Solution Pool While not finished –Solution pool Receives solutions Clusters solutions Sends solutions back –Search Thread Searches Sends best solution found to solution pool Receives new solution to start from 9
Solution Pool Manages solutions found by the searches –Clusters solutions based on similarity –Keeps the clusters sorted based on quality –There is an upper limit to the number of clusters (100) –There is an upper limit on the number of solutions in a cluster (300) –Cluster size threshold for diversification (100) 10
Solution Pool Always sends best unexplored solution back to requesting search thread Always select from the best cluster Each solution can be used twice –For Diversification Only select up to 100 solutions from a cluster Long tabu tenure –For Intensification Short Tabu Tenure 11
Solution Clustering Solutions are grouped into clusters based on similarity Each cluster maintains a residence counter, of all the edges in the feasible solutions in that cluster n ij ==1 for edges in the solution FSC – Feasible Solution Count 12
Similarity Measure A solution is added to this cluster if the similarity is > a threshold (> 0.7) No-similar solutions start their own new cluster New clusters also made when a max size is reached (300). 13
Diversification and Intensificaion The meta-heuristic search threads are either designated for diversification or intensification The difference is in –the start solutions they receive –in search focus Important to keep a balance between the search efforts allocated to each of these areas 14
Information Exchange Search → Pool When a search thread finishes the search (based on iterations), it sends a solution back to the pool –If the best solution found is better than the starting solution, return this –Otherwise, return the best infeasible solution found Preliminary testing has found this to be beneficial 15
Information Exchange Pool → Search When a search sends its solution back to the pool, it receives a new solution to start from In general each solution in the pool can be sent out twice –Diversification –Intensification The best (new) solution in the best cluster is sent back –Diversification – only 100 from a pool 16
General Search Framework. The local searches are all based on Tabu Search, but parameterized slightly different Standard TS Tabu Tenure is fixed basis + a random offset Aspiration by new best solution found Move in infeasible space by penalizing infeasibilities No diversification or intensification (done at a higher level Only consider the nearest neighbors. This is a form of Granular Tabu Search. Three neighborhoods in all 17
Neighborhoods 3 neighborhoods –Reinsertion (Savelsberg) –CROSS-exchange (Taillard) –2-OPT* (Potvin and Rousseau) Each neighborhood selected with equal probability each iteration Earlier work has shown the importance of using multiple neighborhoods for VRP’s Reinsertion has 4 variants, only one per thread 18
Difference between Search Threads Tabu Tenure Small for intensification Large for diversification 4 variants of the reinsertion neighbohood 19
The 4 Reinsertion Neighborhoods For each of the n neighborhoods, partition the customer set into n equal size sets, dependent on distance from the depot. (n=1..4) For the selected NB, generate n moves. For each of these, make sure at least one customer is from the corresponding zone 20 n=2
Search Time The ending of the search is controlled by Search Thread I Stop after k iterations –This thread sends stop-signal to the other threads Golden et al.:k = * √|N| Li et al.:k = * √|N| 21
Search Parameters 22 |N | = number of clients
Computational Results - standard benchmarks 23
Test Cases Golden et al. (1998) –20 instances (240 – 420 customers) –Some also have route length constraints Li et al. (2005) –12 instances (560 – 1120 customers) These instances have been used by many, leaving little room for improvement. 24
Results on Golden+ Instances 25
Results on Li+ Instances 26
Effect of Search Time 27
Is it all necessary? We have implemented a lot of different mechanisms. What if we remove someselectively? –Only exchange feasible solutions (OF) –No guidance. Do not use intensification. (NG) –Only use Type I reinsertion. (R1) –Similarly for (R2), (R3) and (R4) 28
Simplifying the search 29 Results when removing search components - Golden benchmarks
Search Effort Iterations (1000 × √ | N | ) Avg. deviation from BKS of best results (%) Avg. deviation from BKS of average results (%) Avg wall-clock time per instance (min) The problem of diminishing returns. - How long should we search - Results on Golden benchmarks
Parallel Speedup We can observe a near linear speed-up when using more prosessors –Golden benchmarks 31
32 Cluster Info - Golden 13, Cluster 1
Cluster Info – Golden 17, Cluster 1 33
Newspaper Delivery Want to find out if our methods works on large real world problems Real World test cases- Newspaper distribution in Oslo. 640 – 2129 customers 34
Newspaper Delivery Objectives and Constraints Main objective is to minimize cost (in terms of distance) Maximum route duration constraint Compactness constraint (or objective) Visual Beauty constraint (or objective) 35
Scenarios CPM-NDVRP –Objectives: route compactness, total route duration –Constraints: route duration, route balancing CPM-No-balancing –Objectives: route compactness, total route duration –Constraints: route duration CPM-DRVP –Objectives: total route duration –Constraints: route duration 36
CPM-NDVRP 37 Routes are balanced and no overlapping
CPM-No-balancing 38 - Routes are less balanced - The green route is much shorter than the others.
CPM-DVRP Routes overlap 39
Conclusions Clustering based diversification and intensification seems helpful Lots of information not yet utilized in the clusters Beneficial to have slightly different searches Can easily be modified to other, real-world, constraints 40
41 Thank you !
View from my Veranda 42
43