1 / 28

A Multi-Start Approach for Optimizing R outing Networks with Vehicle Loading Constraints

A Multi-Start Approach for Optimizing R outing Networks with Vehicle Loading Constraints. Angel Juan Oscar Domínguez http://ajuanp.wordpress.com Department of Computer Science Open University of Catalonia, Barcelona, SPAIN. Javier Faulin javier.faulin@unavarra.es

kyne
Download Presentation

A Multi-Start Approach for Optimizing R outing Networks with Vehicle Loading Constraints

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Multi-Start Approach for Optimizing Routing Networks with Vehicle Loading Constraints Angel Juan Oscar Domínguez http://ajuanp.wordpress.com Department of Computer Science Open University of Catalonia, Barcelona, SPAIN Javier Faulin javier.faulin@unavarra.es Department of Statistics and Operations Research Public University of Navarre, Pamplona, SPAIN A. Juan, J. Faulin, and O. Domínguez A Multi-Start Approach for Optimizing Routing Networks with Vehicle Loading Constraints

  2. Table of Contents • 2LCVRP Problemdescription • MetaheuristicMulti-Startalgorithm • Computationalresults • Conclusions and futureresearch Multi-Start algorithm to solve the 2LCVRP 2/20

  3. Table of Contents • 2LCVRP Problemdescription • MetaheuristicMulti-Startalgorithm • Computationalresults • Conclusions and futureresearch 3/20

  4. 2LCVRP Problemdescription • Wehave a homogeneousfleetlocated in a depot. ThenvehicleshaveequalcapacityD, lengthL and widthW. • Thereis a set of customersto be servedbyonlyonevehicle. • Eachcustomerdemandisdefinedby a set of itemswithitsweight d, lenght l and width w associated. • Theproposedmetaheuristicmethodwillreachthe (pseudo)-optimalroutes. • Optimalroutesmeansservingallclientsminimizingdistancecost. 4/20

  5. 2LCVRP Problemdescription • Wehave a homogeneousfleetlocated in a depot. ThenvehicleshaveequalcapacityD, lengthL and widthW. • Thereis a set of customersto be servedbyonlyonevehicle. • Eachcustomerdemandisdefinedby a set of itemswithitsweight d, lenght l and width w associated. • Theproposedmetaheuristicmethodwillreachthe (pseudo)-optimalroutes. • Optimalroutesmeansservingallclientsminimizingdistancecost. 4/20

  6. 2LCVRP Problemdescription • Wehave a homogeneousfleetlocated in a depot. ThenvehicleshaveequalcapacityD, lengthL and widthW. • Thereis a set of customersto be servedbyonlyonevehicle. • Eachcustomerdemandisdefinedby a set of itemswiththeirweightd, lenghtl and widthwassociated. • Theproposedmetaheuristicmethodwillreachthe (pseudo)-optimalroutes. • Optimalroutesmeansservingallclientsminimizingdistancecost. 4/20

  7. 2LCVRP Problemdescription • Wehave a homogeneousfleetlocated in a depot. ThenvehicleshaveequalcapacityD, lengthL and widthW. • Thereis a set of customersto be servedbyonlyonevehicle. • Eachcustomerdemandisdefinedby a set of itemswiththeirweightd, lenghtl and widthwassociated. • Theproposedmetaheuristicmethodwillreachthe (pseudo)-optimalroutes. • Optimalroutesmeansservingallclientsminimizingdistancecost. 4/20

  8. 2LCVRP Problemdescription • Wehave a homogeneousfleetlocated in a depot. ThenvehicleshaveequalcapacityD, lengthL and widthW. • Thereis a set of customersto be servedbyonlyonevehicle. • Eachcustomerdemandisdefinedby a set of itemswiththeirweightd, lenghtl and widthwassociated. • Theproposedmetaheuristicmethodwillreachthe (pseudo)-optimalroutes. • Optimalroutesmeansservingallclientsminimizingdistancecost. 4/20

  9. 2LCVRP Problemdescription X DEPOT 6 8 5 3 2 1 7 4 D=10 D=10 D=10 5/20

  10. Table of Contents • 2LCVRP Problemdescription • MetaheuristicMulti-Startalgorithm • Computationalresults • Conclusions and futureresearch 6/20

  11. Background • Clarke G and Wright JW (1964). Scheduling of vehicles from a central depot to a number of delivery points. Operations Research 12:568-81. • Burke EK, Kendall G and Whitwell G (2004). A new placement heuristic for the orthogonal stock-cutting problem. Operations Research, 52:655–671. • Juan A, Faulin J, Jorba J, Riera D, Masip D and Barrios B (2011). On the use of Monte Carlo simulation, cache and splitting techniques to improve the Clarke and Wright saving heuristics. Journal of the Operational Research Society 62(6): 1085-1097. 7/20

  12. Juan et al. (2011) Start • Our approach will be based on the Clarke and Wright’s savings (CWS) algorithm (Clarke & Wright 1964). • This parallel version of the CWS heuristic usually provides ‘acceptable solutions’ (average gap between 5% and 10%), especially for small and medium-size problems. • Reference: Juan, A., Faulin, J., Ruiz, R., Barrios, B., Caballe, S., 2009. The SR-GCWS hybrid algorithm for solving the capacitated vehicle routing problem. Applied Soft Computing, 10, 215-224. savings(i, j) Savings list Initial solution Select first edge & Merge Listempty? End 8/20

  13. Juan et al. (2011) • CWS the first edge (the one with the most savings) is the one selected. • SR-GCWS introduces randomness in this process by using a quasi-geometric statistical distribution  edges with more savings will be more likely to be selected at each step, but all edges in the list are potentially eligible. • Notice: Each time SR-GCWS is run, a random feasible solution is obtained. By construction, chances are that this solution outperforms the CWS one  hundreds of ‘good’ solutions can be obtained after some seconds/minutes. Good results with 0.10 < α < 0.20 9/20

  14. Juan et al. (2011) Improvement #1: Hash Table • Adding ‘memory’ to our algorithm with a hash table: • A hash table is used to save, for each generated route, the best-known sequence of nodes (this will be used to improve new solutions) • ‘Fast’ method that provides small improvements on the average 2. Splitting (divide-and-conquer)method: • Given a global solution, the instance is sub-divided in smaller instances and then the algorithm is applied on each of these smaller instances • ‘Slow’ method that can provide significant improvements Improvement #2: Splitting 10/20

  15. Burke et al. (2004) w1l1+ w2l2 + … + wnln≤ WL d1+ d2 + … + dn≤ D ALSO BIASED RANDOMIZED!! 11/20

  16. Pseudo-code procedure MultiStart-BiasedRand (inputs, alpha, beta, maxPackIter, maxSplitIter) 05 while {ending condition is not met} do% time- or iteration-based condition 06 randSavings <- biasedRand(savings, alpha) % biased randomization savings list procedure MultiStart-BiasedRand (inputs, alpha, beta, maxPackIter, maxSplitIter) 01 dummySol <- calcDummySol(inputs) % generate the dummy feasible sol 02 savings <- calcSortedSavingsList(inputs) % compute the sorted savings list 05 while {ending condition is not met} do% time- or iteration-based condition 06 randSavings <- biasedRand(savings, alpha) % biased randomization of savings list 07 newSol <- packAndRoute(dummySol, randSavings, beta, maxPackIter) 01 dummySol <- calcDummySol(inputs) % generate the dummy feasible sol 02 savings <- calcSortedSavingsList(inputs) % compute the sorted savings list 07 newSol <- packAndRoute(dummySol, randSavings, beta, maxPackIter) 12/20

  17. Pseudo-code procedure packAndRoute(dummySol, randSavings, beta, maxPackIter) 01 newSol <- dummySol 02 while {savings list is not empty} do 03 nextEdge <- extractNextEdge(randSavings) 04 iR <- getRoute(origin(nextEdge)) 05 jR <- getRoute(end(nextEdge)) 06 newRoute <- merge(iR, jR) 07 demand <- calcDemand(newRoute) % here demand is measured in terms of weight 08 if {demand <= vehicleCapacity} then 09 reqLength <- Infinite 10 iter <- 1 % iteratively solve the packing problem to determine the required length of the track 11 while {iter <= maxPackIter} do 12 randItems <- biasedRand(getItems(newRoute), beta) 13 reqLength <- bestFit(randItems, vehicleWidth) % Apply Best-Fit with item rotation 14 if {reqLength <= vehicleLength} then 15 newSol <- updateRoute(iR, jR, newRoute) 16 exit while 17 end if 18 iter <- iter + 1 19 end while 20 end if 21 end while 22 returnnewSol end procedure 12/20

  18. Pseudo-code procedure MultiStart-BiasedRand (inputs, alpha, beta, maxPackIter, maxSplitIter) 01 dummySol <- calcDummySol(inputs) % generate the dummy feasible sol 02 savings <- calcSortedSavingsList(inputs) % compute the sorted savings list 03 cwsSol <- packAndRoute(dummySol, savings, beta, maxPackIter)% reference sol 04 bestSol <- cwsSol 05 while {ending condition is not met} do% time- or iteration-based condition 06 randSavings <- biasedRand(savings, alpha) % biased randomization of savings list 07 newSol <- packAndRoute(dummySol, randSavings, beta, maxPackIter)% new random sol 08 newSol <- cache(newSol)% use the fast cache-based local search 09 if {newSol is a 'promising sol'} then% e.g. cost(newSol) < cost(cwsSol) % use the splitting-based local search 10 newSol <- splitting(newSol, alpha, beta, maxPackIter, maxSplitIter) 11 end if 12 if {cost(newSol) < cost(bestSol)} then 13 bestSol <- newSol 14 end if 15 end while 16 returnbestSol end procedure 08 newSol <- cache(newSol)% use the fast cache-based local search 09 if {newSol is a 'promising sol'} then% e.g. cost(newSol) < cost(cwsSol) % use the splitting-based local search 10 newSol <- splitting(newSol, alpha, beta, maxPackIter, maxSplitIter) 12/20

  19. Multi-Startalgorithm D 6 8 5 3 2 1 7 4 13/20

  20. Multi-Startalgorithm D 6 8 5 3 2 1 7 4 14/20

  21. Table of Contents • 2LCVRP Problemdescription • MetaheuristicMulti-Startalgorithm • Computationalresults • Conclusions and futureresearch 15/20

  22. FuellererG, Doerner K, Hartl R and Iori M (2009). Ant colony optimization for the two-dimensional loading vehicle routing problem. Computers and Operations Research 36:655–673. Fuellerers’ benchmarks www.or.deis.unibo.it/research.html NAME: E016-03m 16 customers and solution with 3 vehicles CLASS:5 number of items for each customer as uniform from 1 to 5 ORIENTATION: randomly as vertical, homogeneous and horizontal LOADING AREA: H=40 and W=20 CLASS1: each customer demand 1 item 1X1 dimensions 16/20

  23. ComputationalExperience Characteristics of the computational results: 10 completed runs (replicas) per instance and class Maximum running time per replica: 500 seconds Each instance-class combination was run for a total maximum time of 83 minutes (1.4 hours) www.or.deis.unibo.it/research.html Intel Xeon, 2.0 GHz, 4 GB RAM 17/20

  24. ComputationalExperience FuellererG, Doerner K, Hartl R and Iori M (2009). Ant colony optimization for the two-dimensional loading vehicle routing problem. Computers and Operations Research 36:655–673. www.or.deis.unibo.it/research.html Intel Xeon, 2.0 GHz, 4 GB RAM Maximum running time: 330 sec. 18/20

  25. Table of Contents • 2LCVRP Problemdescription • MetaheuristicMulti-Startalgorithm • Computationalresults • Conclusions and futureresearch 19/20

  26. Conclusions TheProposedMulti-Startalgorithm: • isanefficient and simple (smallnumber of parameters) method • solves 2LVRP in few minutes • considerssimultaneouslybothrouting and packingproblems • anyefficientpackingmethodisaccepted, i.e. Best-Fit • provides a set of differentsolutionsto be candidatestooptimality • isabletoconsiderparallelizationtoo. 19/20

  27. FutureResearch Facingsomerealistics cases, wewill: • analizemethodologiestoimprovepackingprocess • include3D itemsand issues related with the center of gravity of the load • dealwithothervehicleroutingproblemmodels, such as multi-depot, time windows and stochasticsdemands . 20/20

  28. A Multi-Start Approach for Optimizing Routing Networks with Vehicle Loading Constraints Angel Juan Oscar Domínguez http://ajuanp.wordpress.com Department of Computer Science Open University of Catalonia, Barcelona, SPAIN Javier Faulin javier.faulin@unavarra.es Department of Statistics and Operations Research Public University of Navarre, Pamplona, SPAIN Thank you for your attention! A. Juan, J. Faulin, and O. Domínguez A Multi-Start Approach for Optimizing Routing Networks with Vehicle Loading Constraints

More Related