1 / 27

Angel Juan, Alba Agustín, Oscar Domínguez, Cesar Cuenca and Javier Faulin

Applying a Multi-Start algorithm to solve the CVRP with 2D loading constraints. IN3-Open University of Catalonia OR- Public University of Navarra. Angel Juan, Alba Agustín, Oscar Domínguez, Cesar Cuenca and Javier Faulin. HAROSA, Barcelona, Spain , 13-15 June 2012.

tara
Télécharger la présentation

Angel Juan, Alba Agustín, Oscar Domínguez, Cesar Cuenca and Javier Faulin

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. Applying a Multi-Start algorithm to solve the CVRP with 2D loading constraints IN3-Open University of Catalonia OR-PublicUniversityof Navarra Angel Juan, Alba Agustín, Oscar Domínguez, Cesar Cuenca and Javier Faulin HAROSA, Barcelona, Spain, 13-15 June 2012 Multi-Start algorithm to solve the 2LCVRP A. Juan, A. Agustín, O. Domínguez, C. Cuenca, J. Faulin

  2. Table of Contents • 2LCVRP Problemdescription • MetaheuristicMulti-Startalgorithm • Computationalresults • Conclusions and futureresearch 2/20 Multi-Start algorithm to solve the 2LCVRP A. Juan, A. Agustín, O. Domínguez, C. Cuenca, J. Faulin

  3. Table of Contents • 2LCVRP Problemdescription • MetaheuristicMulti-Startalgorithm • Computationalresults • Conclusions and futureresearch 3/20 Multi-Start algorithm to solve the 2LCVRP A. Juan, A. Agustín, O. Domínguez, C. Cuenca, J. Faulin

  4. 2LCVRP Problemdescription • Wehave a homogeneousfleetlocated in a depot. Thenvehicleshaveequalcapacity D, length L and width W. • 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 Multi-Start algorithm to solve the 2LCVRP A. Juan, A. Agustín, O. Domínguez, C. Cuenca, J. Faulin

  5. 2LCVRP Problemdescription • Wehave a homogeneousfleetlocated in a depot. Thenvehicleshaveequalcapacity D, length L and width W. • 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 Multi-Start algorithm to solve the 2LCVRP A. Juan, A. Agustín, O. Domínguez, C. Cuenca, J. Faulin

  6. 2LCVRP Problemdescription • Wehave a homogeneousfleetlocated in a depot. Thenvehicleshaveequalcapacity D, length L and width W. • 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 Multi-Start algorithm to solve the 2LCVRP A. Juan, A. Agustín, O. Domínguez, C. Cuenca, J. Faulin

  7. 2LCVRP Problemdescription • Wehave a homogeneousfleetlocated in a depot. Thenvehicleshaveequalcapacity D, length L and width W. • 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 Multi-Start algorithm to solve the 2LCVRP A. Juan, A. Agustín, O. Domínguez, C. Cuenca, J. Faulin

  8. 2LCVRP Problemdescription • Wehave a homogeneousfleetlocated in a depot. Thenvehicleshaveequalcapacity D, length L and width W. • Thereis a set of customersto be servedbyonlyonevehicle. • Eachcustomerdemandisdefinedby a set of itemswithitsweight d, lenght l and width w associated. • Theproposedmetaheuristicmethodwillreachthe (pseudo)-optimalroutes. • Optimalroutesmeansallclientsserved, withitems no overlap in vehicles, and minimizingdistancecost. 4/20 Multi-Start algorithm to solve the 2LCVRP A. Juan, A. Agustín, O. Domínguez, C. Cuenca, J. Faulin

  9. 2LCVRP Problemdescription X DEPOT 4 7 3 2 8 6 1 5 D=10 D=10 D=10 5/20 Multi-Start algorithm to solve the 2LCVRP A. Juan, A. Agustín, O. Domínguez, C. Cuenca, J. Faulin

  10. Table of Contents • 2LCVRP Problemdescription • MetaheuristicMulti-Startalgorithm • Computationalresults • Conclusions and futureresearch 6/20 Multi-Start algorithm to solve the 2LCVRP A. Juan, A. Agustín, O. Domínguez, C. Cuenca, J. Faulin

  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. • 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. • Burke EK, Kendall G and Whitwell G (2004). A new placement heuristic for the orthogonal stock-cutting problem. Operations Research, 52:655–671. 7/20 Multi-Start algorithm to solve the 2LCVRP A. Juan, A. Agustín, O. Domínguez, C. Cuenca, J. Faulin

  12. Clarke and Wright (1964) DistanceMatrix DEPOT 6 8 5 3 2 1 7 4 SavingDistanceMatrix Dummysolution 8/20 Multi-Start algorithm to solve the 2LCVRP A. Juan, A. Agustín, O. Domínguez, C. Cuenca, J. Faulin

  13. Juan et al. (2011) Metaheuristic Heuristic Juan et al. (2011): savings are randomly sorted from a quasi-geometric distribution Clarke and Wright (1964): the first edge is the one with the most savings • Merge the routes in the sorted savings list order, if no constraint is violated! 9/20 Multi-Start algorithm to solve the 2LCVRP A. Juan, A. Agustín, O. Domínguez, C. Cuenca, J. Faulin

  14. Burke et al. (2004) w1l1+ w2l2 + … + wnln≤ WL d1+ d2 + … + dn≤ D ALSO BIASED RANDOMIZED!! 10/20 Multi-Start algorithm to solve the 2LCVRP A. Juan, A. Agustín, O. Domínguez, C. Cuenca, J. Faulin

  15. 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) 11/20 Multi-Start algorithm to solve the 2LCVRP A. Juan, A. Agustín, O. Domínguez, C. Cuenca, J. Faulin

  16. 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 11/20 Multi-Start algorithm to solve the 2LCVRP A. Juan, A. Agustín, O. Domínguez, C. Cuenca, J. Faulin

  17. 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) 11/20 Multi-Start algorithm to solve the 2LCVRP A. Juan, A. Agustín, O. Domínguez, C. Cuenca, J. Faulin

  18. Multi-Startalgorithm D 6 8 5 3 2 1 7 4 12/20 Multi-Start algorithm to solve the 2LCVRP A. Juan, A. Agustín, O. Domínguez, C. Cuenca, J. Faulin

  19. Multi-Startalgorithm D 6 8 5 3 2 1 7 4 12/20 Multi-Start algorithm to solve the 2LCVRP A. Juan, A. Agustín, O. Domínguez, C. Cuenca, J. Faulin

  20. Table of Contents • 2LCVRP Problemdescription • MetaheuristicMulti-Startalgorithm • Computationalresults • Conclusions and futureresearch 14/20 Multi-Start algorithm to solve the 2LCVRP A. Juan, A. Agustín, O. Domínguez, C. Cuenca, J. Faulin

  21. 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 15/20 Multi-Start algorithm to solve the 2LCVRP A. Juan, A. Agustín, O. Domínguez, C. Cuenca, J. Faulin

  22. ComputationalExperience www.or.deis.unibo.it/research.html Intel Xeon, 2.0 GHz, 4 GB RAM 16/20 Multi-Start algorithm to solve the 2LCVRP A. Juan, A. Agustín, O. Domínguez, C. Cuenca, J. Faulin

  23. ComputationalExperience www.or.deis.unibo.it/research.html Intel Xeon, 2.0 GHz, 4 GB RAM 16/20 Multi-Start algorithm to solve the 2LCVRP A. Juan, A. Agustín, O. Domínguez, C. Cuenca, J. Faulin

  24. Table of Contents • 2LCVRP Problemdescription • MetaheuristicMulti-Startalgorithm • Computationalresults • Conclusions and futureresearch 17/20 Multi-Start algorithm to solve the 2LCVRP A. Juan, A. Agustín, O. Domínguez, C. Cuenca, J. Faulin

  25. Conclusions TheProposedMulti-Startalgorithm: • isanefficient and simple (parameter-less) method • solves 2LVRP in few minutes • considerssimultaneouslybothrouting and packingproblems • anyefficientpackingmethodisaccepted, i.e. Best-Fit • provides a set of differentsolutionsto be candidatestooptimality • isabletoconsiderparallelizationtoo. 18/20 Multi-Start algorithm to solve the 2LCVRP A. Juan, A. Agustín, O. Domínguez, C. Cuenca, J. Faulin

  26. FutureResearch Facingsomerealistics cases, wewill: • analizemethodologiestoimprovepackingprocess • include 3D items and issues related with the center of gravity of the load • dealwithothervehicleroutingproblemmodels, such as multi-depot, time windows and stochasticsdemands . 19/20 Multi-Start algorithm to solve the 2LCVRP A. Juan, A. Agustín, O. Domínguez, C. Cuenca, J. Faulin

  27. Applying a Multi-Start algorithm to solve the CVRP with 2D loading constraints IN3-Open University of Catalonia OR-PublicUniversity Of Navarra Angel Juan, Alba Agustín, Oscar Domínguez, Cesar Cuenca and Javier Faulin HAROSA, Barcelona, Spain, 13-15 June 2012 Thanks! 20/20 Multi-Start algorithm to solve the 2LCVRP A. Juan, A. Agustín, O. Domínguez, C. Cuenca, J. Faulin

More Related