OR 2008 Conference in Augsburg September 03 rd 2008 AN OPEN VEHICLE ROUTING APPLICATION FOR THE PERSONNEL OF A CALL CENTER Deniz Koşucuo ucuoğlu 1, Deniz Aksen 2, Selçuk Savaş 3 1 Department of Industrial Engineering, Boğaziçi University 2 College of Administrative Sciences and Economics, Koç University 3 Industrial Engineering Department, Işık University
Intro: Capacitated Open Vehicle Routing NP-hard problem as a total distance / traveling cost minimization problem. OPEN ROUTE CLOSED ROUTE 2 Single Tour: Hamiltonian Path (each and every node visited at most once) Orienteering Problem (OP) Multiple Tours Team Orienteering Problem (TOP) Single Tour: Hamiltonian Cycle (each and every node visited exactly once) Traveling Salesman Problem (TSP) Multiple Tours Multiple Traveling Salesman Problem (m-tsp)
Intro: Capacitated Open Vehicle Routing OPEN ROUTE Multiple Capacitated Tours: (each and every node visited exactly once) Open Vehicle Routing Problem (OVRP) CLOSED ROUTE Multiple Capacitated Tours: (each and every node visited exactly once) Vehicle Routing Problem (VRP) Multiple Capacitated Tours served from multiple depots: Multi-Depot Open Vehicle Routing Problem (MDOVRP) Multiple Capacitated Tours: served from multiple depots: Multi-Depot Vehicle Routing Problem (MDVRP) 3
Intro: Capacitated Open Vehicle Routing CLOSED ROUTE (each and every node visited at most once) Single Tour Profitable Traveling Salesman Problem (PTSP) Single Tour Traveling Purchaser Problem (TPP) Single Tour Generalized Traveling Salesman Problem (GTSP) Multiple Tour Selective Vehicle Routing Problem (SVRP) Multiple Tour Vehicle Routing Problem with Profits (VRPP) 4
A Perfect Example of the Orienteering Problem Die Romantische Straße vom Main zu de Alpen A single open tour on which each and every node is visited at most once 5
Sample OVRP Routes 1) Source: Feiyue Li, Bruce Golden, Edward Wasil (2007) The open vehicle routing problem: Algorithms, large-scale test problems, and computational results. Computers & Operations Research 34 (10): 2918 2930. 6
Sample OVRP Routes 2) Source: Christos D. Tarantilis, Chris T. Kiranoudis (2002) Distribution of fresh meat. Journal of Food Engineering 51 (1): 85 91. 7
Sample OVRP Routes 3) Source: Deniz Aksen, Zeynep Özyurt, Necati Aras (2007) Open vehicle routing problem with driver nodes and time deadlines Journal of the Operational Research Society 58 (9): 1223 1234 8
Sample OVRP Routes 4) Source: CD Tarantilis, G Ioannou, CT Kiranoudis and GP Prastacos (2007) Solving the open vehicle routeing problem via a single parameter metaheuristic algorithm Journal of the Operational Research Society 56 (5): 588 596 9
OVRP LITERATURE easy to compile L Schrage (1981). Formulation and structure of more complex/realistic routing and scheduling problems. Networks 11: 229 232. L Bodin, B Golden, A Assad, M Ball (1983). Routing and scheduling of vehicles and crews: the state of the art. Computers & Operations Research 10(2):63 211. D Sariklis, S Powell (2000). A heuristic method for the open vehicle routing problem. Journal of the Operational Research Society 51(5):564 573. CD Tarantilis and CT Kiranoudis (2002). 10 Distribution of fresh meat. Journal of Food Engineering 51(1): 85 91.
OVRP LITERATURE easy to compile C Tarantilis, G Ioannou, C Kiranoudis, G Prastacos (2004). A threshold accepting approach to the open vehicle routing problem. RAIRO Operations Research 38(4): 345-360. C Tarantilis, D Diakoulaki, C Kiranoudis (2004). Combination of geographical information system and efficient routing algorithms for real life distribution operations. European Journal of Operational Research 152(2):437 453. J Brandão (2004). A tabu search heuristic algorithm for open vehicle routing problem. European Journal of Operational Research 157(3): 552 564. 11
OVRP LITERATURE easy to compile Z Fu, R Eglese, L Li (2005). A new tabu search heuristic for the open vehicle routing problem. Journal of the Operational Research Society 56(3):267 274. C Tarantilis, G Ioannou, C Kiranoudis, G Prastacos (2005). Solving the open vehicle routing problem via a single parameter metaheuristic algorithm. Journal of the Operational Research Society 56(5):588 596. W Wang, B Wu, Y Zhao, D Feng (2006). Particle swarm optimization for open vehicle routing problem. D.-S. Huang, K. Li, and G.W. Irwin (Eds.): ICIC 2006, Lecture Notes in Computer Science 4114:999 1007. 12
OVRP LITERATURE easy to compile X Li, P Tian (2006). An ant colony system for the open vehicle routing problem. M. Dorigo et al. (Eds.): ANTS 2006, Lecture Notes in Computer Science 4150:356 363. D Pisinger, S Ropke (2007). A general heuristic for vehicle routing problems. Computers & Operations Research 34(8):2403 2435. F Li, B Golden, E Wasil (2007). The open vehicle routing problem: Algorithms, large-scale test problems, and computational results Computers & Operations Research 34(10):2918 2930. 13
OVRP LITERATURE easy to compile PP Repoussis, CD Tarantilis, G Ioannou (2007). The open vehicle routing problem with time windows. Journal of the Operational Research Society 58(3):355 367. D Aksen, Z Özyurt, N Aras (2007). The open vehicle routing problem with driver nodes and time deadlines. Journal of the Operational Research Society 58(9):1223 1234. T Bektaş, S Elmastaş (2007). Solving school bus routing problems through IP. Journal of the Operational Research Society 58(12):1599 1604. 14
OVRP LITERATURE easy to compile THE ONLY EXACT SOLUTION METHOD PROPOSED FOR THE OVRP AN Letchford, J Lysgaard, RW Eglese (2007). A branch-and-cut algorithm for the capacitated open vehicle routing problem. Journal of the Operational Research Society 58(12):1642 1651. 15
Finansbank Call Center in İstanbul 16
Finansbank Call Center in İstanbul 17
Finansbank Call Center in İstanbul 18
Finansbank Call Center in Ümraniye, İstanbul 19
Personnel Buses of a Call Center Why do call centers in Istanbul heavily rely on personnel buses and minibuses? Which routes are modeled as open route? Which routes as closed route? Why? 20
OVRP for a Call Center Solving VRP and OVRP with Classical Heuristics Classical Heuristics preferred when solution time is more critical than solution quality. (Parallel) Savings Algorithm by Clarke and Wright (1964) Sweep Algorithm by Gillett and Miller (1974) Push-Forward-Insertion by Solomon (1987), by Thangiah et al. (1993) Nearest Neighbourhood Search by Rosenkratz, Stearns and Lewis (1977), Solomon (1987), Fisher (1994). 21
OVRP for a Call Center (cont.) Solving VRP and OVRP with Classical Heuristics Local Post Optimization (LPO) Procedures a.k.a. Local Improvement Heuristics (Parallel) 1-0 move (1-Opt) of Golden, Magnanti and Nguyen (1977) 1-1 exchange of Waters (1987) 2-2 exchange 2-opt of Croes (1958), Lin (1965) 3-opt of Lin (1965), of Lin and Kernighan (1973) 4-opt * of Renaud, Laporte and Boctor (1996) 22 Or-opt of Or (1976)
OVRP for a Call Center (cont.) Solving VRP and OVRP with a Tabu Search Allowing Infeasible Solutions (Strategic Oscillation) Based on the Tabu Search Algorithm OTS described in Aksen, Özyurt and Aras (JORS, 2007). Can tackle a heterogeneous vehicle fleet as well. Enhanced with the 2-2 Exchange heuristic implemented as an intensification method (LPO) rather than diversification (neighborhood structure) 23
Performance of OTS + 2-2 Exchange Literature OTS with 2 2 Exchange 24 Problem name K_min Distance # of vehicles CPU time Authors Note Distance # of vehicles Differrence Percentage CMT p01 5 408.5 5 170.2 Fu et al. TSF 423.4183 5 3.5% CMT p02 10 564.06 11 25.8 Tarantilis et al. BR 569.0195 10 0.9% CMT p03 8 617 8 367.6 Fu et al. TSR 647.7612 8 4.7% CMT p04 12 733.13 12 128.6 Li et al. ORTR 747.3915 12 1.9% CMT p05 16 870.26 17 96.47 Tarantilis et al. LBTA 983.7946 16 11.5% CMT p06 5 400.6 6 128 Fu et al. TSF 425.5691 6 5.9% CMT p07 10 560.4 11 231.8 Fu et al. TSR 575.4011 11 2.6% CMT p08 8 638.2 9 987.8 Fu et al. TSF 651.7929 9 2.1% CMT p09 12 752 14 799.5 Fu et al. TSR 782.1503 14 3.9% CMT p10 16 875.67 17 1200 Pisinger and Ropke ALNS 25K 927.2136 18 5.6% CMT p11 7 678.54 10 25.36 Tarantilis et al. LBTA 705.2213 7 3.8% CMT p12 10 534.24 10 14.4 Tarantilis et al. BR 539.5255 10 1.0% CMT p13 7 896.5 12 120.3 Li et al. ORTR 937.235 12 4.3% CMT p14 10 469.3 12 155.5 Fu et al. TSR 599.8455 12 21.8% Fisher prob11 4 175 4 151.7 Fu et al. TSR 177.6579 4 1.5% Fisher prob12 7 769.66 7 158.2 Li et al. ORTR 800.7146 7 3.9% O1 5 6018.52 5 365.3 Li et al. ORTR 6166.102 5 2.4% O2 9 4584.55 9 439.6 Li et al. ORTR 4616.247 9 0.7% O3 7 7732.85 7 492.8 Li et al. ORTR 8011.564 7 3.5% O4 10 7291.89 10 573.6 Li et al. ORTR 7506.442 10 2.9% O5 8 9197.61 8 766.5 Li et al. ORTR 9445.431 8 2.6% O6 9 9803.8 9 977.2 Li et al. ORTR 10100.97 9 2.9% O7 10 10374.97 10 935.4 Li et al. ORTR 10572.84 10 1.9% O8 10 12429.56 10 1126.8 Li et al. ORTR 12881.42 10 3.5%
Performance of OTS + 2-2 Exchange Aksen, Özyurt and Aras (JORS 2007) Koşucuoğlu, Aksen and Savaş (2008) Avg. of the Best Avg. of the Avg. Single Run's Avg. Std.Dev. of Avg. of the Best Avg. of the Avg. Single Run's Avg. Std.Dev. of n d Solutions Solutions CPU Time (sec) CPU times Solutions Solutions CPU Time (sec) CPU times 100 15 3189.67 3306.25 21.16 7.72 3100.28 3225.32 69.41 14.09 5 2310.96 2337.85 17.11 1.46 2312.08 2375.62 90.71 9.95 200 10 3386.22 3425.45 74.43 9.70 3411.87 3464.94 240.32 26.27 20 4363.29 4491.43 97.44 26.66 4273.88 4386.79 221.80 29.62 300 15 4371.47 4424.82 156.29 9.01 4369.28 4448.43 544.72 38.22 25 5435.74 5545.80 240.31 53.11 5306.97 5446.92 511.94 63.84 400 20 5226.70 5292.47 251.43 26.88 5228.51 5314.21 1018.72 61.91 30 6225.06 6291.20 306.42 36.49 6053.82 6191.45 1092.17 37.19 500 25 6020.15 6106.77 512.94 41.53 5967.98 6087.17 1601.67 48.14 5 7100.04 7182.19 826.70 248.88 6868.49 7009.53 1822.47 104.91 25
A Software Application (Solver.exe) A decision support system (DSS) developed in Microsoft Visual Studio.NET environment using C#. Tailored for the call center s OVRP / VRP based on the daily shift schedules of 341 agents. Finansbank Call Center HQ, 20 Drivers, 341 Agents, 177 Pickup Points: - All coordinates obtained from Google Earth in degrees, minutes, and seconds with double decimal point precision. 26
A Software Application (Solver.exe) - Google Earth coordinates then converted into 2-dimensional planar coordinates with the HQ being the origin. - The distance matrix is calculated using Euclidean distances except for arcs connecting intercontinental O/D pairs. X_coord = {([Latitude deg] + [Latitude min]/60 + [Latitude sec]/3600) [HQ s X_coord]} x 84 Y_coord = {([Longitude degrees] + [Longitude minutes]/60 + [Longitude seconds]/3600) [HQ s Y_coord] } x 111 27
Features of the Software Capability of dealing with both VRP and OVRP subject to an optional Maximum Tour Duration constraint. Vehicles of non-uniform passenger capacities (Heterogeneous Fleet) The two Bosphorus Bridges represented with a pair of nodes each, one node for the European foot and one for the Asian foot. - Arcs connecting intercontinental nodes must pass through either bridge, whichever has the shortest perpendicular distance to the arc. Choice between Pickup Point Routing vs. Home Address Routing 28 Manual modification of the distance matrix possible to account for traffic density or blocked roads.
Features of the Software (cont.) At the end of the routing, agents drop-off times (in case of HQ transfers) and pickup times (in case of home transfers) can be obtained from the output file. A database editing utility (Editor.exe) allows modification, deletion, and addition of agent, pickup point, and driver location data. The software can read shift schedules either from XML files created a priori or from MS-Excel worksheets put together in a standard format. The software can also be used to create ad-hoc problem instances with an arbitrary selection of individual agents and drivers in the database. 29
Features of the Software (cont.) The software (Solver.exe) can be used to generate new large-scale problem instances using the pseudo code described in Li, Golden and Wasil (Comp. & OR, 2007). When multiple OVRP instances are to be solved as a batch job, the software can read data input files of the batch that are created according to Markus Solomon s VRPTW file format (OR, 1987). Each instance is then solved 20 times using different initial random number seeds. By the end of the batch run, a solution is double-checked for overcapacity and possible maximum tour length infeasibilities. 30
Features of the Software (cont.) Results such as objective values, solution times, no. used drivers (vehicles), and infeasibility status can be read from the output files that are saved as text, and can be automatically tabulated in a MS-Excel worksheet. 31
MS- Excel Worksheet of Agents Shift Schedules for two weeks 32
Screenshots of the Software Database Editor 33
Screenshots of the Software (cont.) Database Editor 34
Screenshots of the Software (cont.) 35
Screenshots of the Software (cont.) 36
Screenshots of the Software (cont.) 37
Screenshots of the Software (cont.) 38
Screenshots of the Software (cont.) 39
Screenshots of the Software (cont.) CMT-p12.ovrp 40
Screenshots of the Software (cont.) CMT-p02.ovrp 41
Questions & Comments? Heidelberg Istanbul Chiemsee Augsburg 42