A Heursc Soluon Mehod o a Sochasc Vehcle Roung Problem Lars M. Hvaum Unversy of Bergen, Bergen, Norway. larsmh@.ub.no Arne Løkkeangen Molde Unversy College, 6411 Molde, Norway. Arne.Lokkeangen@hmolde.no Glber Lapore Canada Research Char n Dsrbuon Managemen, HEC Monreal, Canada glber@cr.umonreal.ca Absrac In order o solve real-world vehcle roung problems, he sandard Vehcle Roung Problem (VRP) model usually needs o be exended. Here we consder he case when cusomers can call n orders durng he daly operaons,.e. boh cusomer locaons and demand may be unknown n advance. Our heursc approach aemps o mnmze he expeced number of vehcles and her ravel dsance n he fnal execuon, under he condon ha he unknown parameers have a known (approxmaed) dsrbuon. 1 Inroducon The problem dscussed n hs paper s based on a real-world case, where a fregh company s servng pck-up cusomers,.e. cusomers who need goods o be pcked up a her locaon and brough back o a cenral depo. The goods may hen be sen o anoher locaon from he depo. The company s he larges fregh company n Norway, and has provded us wh real-world daa. Alhough he company also handles delvery cusomers, we focus only on he pck-up par n hs work. Unforunaely, only a poron of he pck-up cusomers s known a he begnnng of he day. Durng operaon addonal cusomers can call n her orders, and he fregh company wll modfy s roues n order o serve he new cusomers. In curren pracce hs ofen mples sendng ou addonal vehcles.
A cusomer has a locaon and a me-wndow where servce s acceped, bu he mewndows are raher wde, ofen spannng he enre workng day. In addon, each order has a wegh, and he vehcle ha servces he cusomer mus have suffcen capacy for supporng he pck-up load. For he deermnsc cusomers we assume ha he mewndow and he wegh of he order are known, whereas he number of sochasc cusomers, her call-n me, as well as he locaon, me-wndow, and capacy-demand of each ndvdual sochasc cusomer, are only known probablscally. The locaon, mewndow and capacy-demand wll, however, be revealed a call-n me. In secon 2 we formulae our problem formally. The heursc soluon mehod s descrbed n secon 3. Compuaonal ess are dscussed n secon 4, followed by conclusons and suggesons for fuure work n secon 5. 2 Problem descrpon In he Vehcle Roung Problem (VRP) a se of cusomers requre some knd of servce, whch s offered by a flee of vehcles. The goal s o fnd roues for he vehcles, each sarng from a gven depo o whch hey mus reurn, such ha every cusomer s vsed exacly once. Usually here s also an objecve ha needs o be opmsed, e.g. mnmzng he ravel cos or he number of vehcles needed. The sandard VRP s an NP-hard problem, and much work has been done n order o fnd effcen algorhms and heurscs o solve. In real-world suaons, however, he VRP usually fals o capure all essenal aspecs of he problem a hand. Hence, a large number of exensons have been suded, e.g. addng capaces, me wndows, dfferen knds of cusomers, spl delveres, and more, whch all ry o make rcher and more useful formulaons. Anoher way of exendng he VPR s o focus on problems wh uncerany, where some of he parameers o he model are nally unknown or only known probablscally. These approaches can roughly be dvded n wo classes: Sochasc Vehcle Roung Problems (SVRPs) and Dynamc Vehcle Roung Problems (DVRPs). Boh classes have recenly receved an ncreasng amoun of aenon, and revews can be found n Gendreau, Lapore and Ségun (1996a), Gendreau and Povn (1998), and Ichoua e al. (21). The dfference beween sac and dynamc VRPs s descrbed n Psarafs (1995), where he erms are defned as follows; a vehcle roung problem s sac f he npus o he problem do no change, neher durng execuon of he algorhm ha solves nor he execuon of he soluon. On he oher hand, a problem s consdered dynamc when npus o he problem are made known or updaed o he decson maker concurrenly wh he deermnaon of he soluon (.e. he se of roues). In dynamc soluon approaches no plan s generaed a pror, and new evens are handled as hey are revealed over me. A sochasc vehcle roung problem (SVRP) arses when some of he elemens of he problem are sochasc. Ths could be relevan for many of he componens ha may be ncluded n a sandard VRP, for nsance ravel mes, demands, exsence of cusomers e ceera. SVRPs are usually formulaed as wo-sage sochasc programmng problems. Then probablsc nformaon s used o consruc an a pror plan, and recourse acons are defned o handle he suaons ha occur when he random varables are realzed.
We would lke o rea our problem as a mx beween a DVRP and a SVRP. In our mulsage formulaon, we dvde he me horzon no nervals. The goal s hen o make a plan for how o serve cusomers whn he nex me nerval, usng known, deermnsc nformaon, as well as knowledge abou dsrbuons for he sochasc elemens. Ths plan should be feasble over he whole (remanng) me horzon. Assumng ha he roues followed n subsequen me-nervals are opmal, he plan should mnmze he expeced cos of servng all cusomers, sochasc as well as deermnsc, before he end of he day. The cos of a plan mus be calculaed afer all sochasc varables are realzed, and s dependen on he number of vehcles used as well as he oal ravel dsance. Mahemacal formulaon The deermnsc, capacaed VRP wh me-wndows and a homogeneous flee of vehcles can be formulaed as a mxed neger program (MIP). Le he se of cusomers be denoed by C = { 1,2,..., n} and le be he depo, so ha he se of all locaons s N = C. Travel mes, c, are gven beween every par of locaons, j N, possbly {} ncludng servce me. Every cusomer has a demand, d, and a me wndow for servce, [ a, ] b j. The me wndow for he depo s gven by [ ],b a and, lke he me wndows for he cusomers, s consdered hard.e. servce mus sar afer a and before b. (Snce servce me s ncluded n c j, mus also be subraced from he sar and end of he { } correspondng me wndow.) A se of vehcles, V = 1, 2,..., k, each wh a capacy q, sar a he depo a and mus be back a b, afer servcng he cusomers. a The decson varables are x = x, where x = 1 f vehcle k ravels from o j, and oherwse. In addon, s denoes he me a whch vehcle k has compleed k servce a cusomer. Noe ha he varables make desgnaed sub-our elmnaon consrans redundan. Then, based on he formulaons used n Ho and Haugland (22) and Kallehauge, Larsen and Madsen (21), we can wre he MIP as follows: s k s.. k N mn z ( x, s) = cj x + K (1 xk ) k N N N k x = 1 j C (2) k jk x = 1 (1) (3) x x = h C, k (4) hk x = 1 hjk k k C (5) d x q k (6)
s a s k k + c M ( 1 x ) s j C, N, k (7) j k j jk s b N, k (8) + c ( b C, k (9) a M 1 xk ) s k = k (1) x = C, k (11) k {,1 } x, j N, k (12) Here, he objecve (1) s o mnmze he number of vehcles used plus he oal ravel me. The consan K represens he cos of sarng an exra vehcle. Consrans (3), (4) and (5) saes ha each vehcle should leave from he depo once, leave each cusomer ha arrves, and arrve back a he depo once. Inequaly (6) assures ha he capacy of he vehcle s no volaed. Whle consran (7) ensures ha vehcle k spend he correc amoun of me drvng beween and j before servcng cusomer j, nequales (8) corresponds o he me wndows for each cusomer. In addon (9) force every vehcle o arrve a he depo before he end of he depo s me wndow. The consan s defned o be suffcenly large, e.g. M j = b + c a. j j In he wo-sage sochasc counerpar, assume ha here exss some sngle known pon n me, [ a,b ], where all prevously unknown nformaon s revealed. Tha s, all sochasc cusomers, her locaon, demand and me wndows become known. We can model hs as a wo-sage sochasc program, where we nroduce new varables o handle recourse acons. C = n + 1, n + 2,..., n + n be he se of revealed cusomers. Le d and [ a, ] be he Le { } demand and me-wndow for he cusomers, C. Le he se of all locaons be N' = N C', where C ' = C C. The ravel me beween and j s c,, j N'. Le ξ = ( C, D, A, B, c ) be a parcular realzaon of he random varables ~ ~ ~ ~ ~ ξ = (,,,, ~ C D A B c ). The wo-sage sochasc programmng problem can hen be formulaed as j M j b [ z( x, s) Q( x, s, ~ )] mn E ~ + ξ ξ ~ Q ξ ) (14) where x, s, ) = cj ( x x ) + K ( ( xk xk N ' ' k k (13)
s.. (2)-(12) ( x + x x ) k N' ( jk + x jk x jk ) ' = 1 j C' (15) x = 1 k (16) ( hk + xhk xhk ) ( xhjk + xhjk xhjk ) N ' x = h C', k (17) ( k + xk xk ) N ' ' x = 1 k (18) C x d ( x + x x ) q k (19) x, j N, k (2) x =, j C, k (21) x s a s k k s + c j k k M j jk, j N, k (22) ( 1 x x + x ) s j C', N', k (23) s b N', k (24) + c M ( 1 xk x + k + xk ) b C k V ( a ) x k sk a + ', (25) = k (26) x = C', k (27) k {,1 } x, j N', k (28) {,1 } x, j N', k (29) x Here,, x and s depend on he random vecor ~ k ξ, and hus are random varables hemselves. E ~ sands for he expeced value wh respec o he dsrbuon of ~ ~ ξ. Q( x, s, ξ ) s ξ he recourse cos, and sums up he cos of sarng new vehcles and he change n ravel me. = 1 f vehcle k ravels from o j n second-sage recourse bu no n frs-sage x soluon, and x = 1 f vehcle k ravelled from o j n frs-sage soluon bu no afer recourse. sk s he me a whch vehcle k has compleed servce a cusomer accordng o he second-sage recourse acons.
Consrans (15)-(18) are smlar o (2)-(5), ensurng ha all cusomers are served, ha any vehcle mus leave he depo once, leave all cusomers ha are vsed, and arrve a he depo once. (19) ensures ha vehcle capaces are no volaed n second-sage soluon. In (2)-(22) we sae ha a rp beween cusomer and j n he frs-sage soluon canno be skpped n second-sage recourse f servce a deparure-locaon s compleed before me. A vehcle k ha does no leave he depo n he frs-sage soluon ( x k = 1) canno leave he depo before n a second-sage decson, as saed n (26). Consrans (23)-(25) are used o rack he me a whch servce s compleed n he fnal, second-sage soluon. As saed before, he call-n me for each sochasc cusomer s unknown. Thus, our wosage model does no suffcenly capure he dynamc elemen of he real-world case upon whch s based. A possble remedy would be o rea he number of sages n he problem as a sochasc varable, wh one sage per call-n. In hs work, however, we op for a smpler approach, n whch we dvde he me-horzon no a specfed number of nervals (or sages), I,..., 1 I n. The objecve s hen o fnd a plan for he res of he day, usng he currenly known cusomers. Ths s repeaed dynamcally for every me-nerval, each me modfyng he problem wh nformaon receved durng he prevous nerval. We om he deals of hs mul-sage formulaon, and drec he reader o Kall and Wallace (1994) for more on sochasc formulaons. 3 The Heursc Exac soluon mehods for sochasc VRPs currenly fal o conssenly solve problems wh more han jus a few cusomers (see Gendreau, Lapore and Ségun, 1995 and 1996b). In our case, even evaluaon of he recourse cos funcon (14) can be exremely dffcul, dependng on he dsrbuon of he random varables. Hence, he need for praccal heursc soluon mehods s evden. Our approach s based on solvng sample-scenaros, where he dea s o use common feaures from sample-soluons o buld a hopefully good plan. The erm sample-scenaro s here used o descrbe one of many poenal fuure suaons,.e. acual realzaons of cusomer call-ns. A sample-soluon s hen a plan ha would be possble o execue gven ha he scenaro would acually happen. The approach requres ha we are able o generae possble fuure scenaros based on curren deermnsc nformaon as well as approxmaons of he dsrbuons of he sochasc varables nvolved. The dea of samplng n sochasc problems can be raced o Jagannahan (1985). Assume we have dvded he me horzon no n nervals, I 1,..., I n. A he pon n me correspondng o he begnnng of nerval I u, a plan s consruced n he followng manner:
Le C be he se of known cusomers a he sar of I u, and le S be a subse of C, nally empy. 1. Creae p sample scenaros wh he same known cusomers as n C, ncludng sochasc cusomers drawn from he gven dsrbuons. 2. Repea he followng: 2.1. Solve he sample scenaros, whle forcng all cusomers n S o be served durng. I u 2.2. Fnd he cusomer c C S ha s mos frequenly vsed n he me nerval I u n he p sample scenaros. 2.3. If some sop crera s me hen go o 3, oherwse le S = S { c}. 3. Repea unl S s empy: 3.1. Solve he sample scenaros 3.2. Coun he number of mes each cusomer c S s served frs by each vehcle n each scenaro soluon, dsregardng cusomers ha have already been placed. 3.3. Choose he cusomer/vehcle-par ha has he hghes coun. Lock he cusomer o be served before all remanng cusomers by he gven vehcle, and remove fr om S. Termnae wh a plan for he gven me nerval,. I u Afer he end of I u has passed he procedure s repeaed, possbly ncludng new cusomers ha have called n her order. Cusomers served durng he prevous me nervals can now be gnored n he soluon process, as long as he poson and spare capacy of each vehcle s remembered. In phase 1 we explo knowledge abou he probably dsrbuons of he sochasc varables of he model,.e. dsrbuons of call-n mes, demands, geographcal locaons, e ceera, o creae possble fuure evens. When ncludng he known cusomers and her arbues, hs consues our sample scenaros. They have he propery ha evens ha are lkely o happen are presen n a scenaro wh a hgh probably. The second phase produces soluons of he sample scenaros, as f hey were deermnsc VRPs. Cusomers ha are frequenly served durng I u are hen denfed, and a decson s made o vs hese cusomers durng he nex me nerval n our fnal plan. Sample scenaros where hese cusomers were no already served n I u are hen solved agan, before he selecon procedure connues. The selecon s consdered complee when here are no unseleced cusomers ha are frequenly handled durng I u n soluons o he sample scenaros. We requre ha a cusomer mus be handled early n a leas half of he sample soluons n order o be seleced, whch n hs case consues our sop creron. Afer phase wo s compleed we have found whch cusomers o serve n he nex me nerval, bu sll have o decde n wha sequence hey should be vsed. A empng approach s o smply solve a deermnsc VRP wh he seleced cusomers; however, we would raher explo he nformaon ha s conaned n he sample scenaro soluons. Therefore we nser cusomers no he fnal plan dependng on her posons n he sample
plans; he cusomer mos frequenly vsed frs by some vehcle s locked o always be vsed frs by ha vehcle. Ths corresponds o phase 3 n he procedure. The heursc has been mplemened n C++, usng a commercally avalable VRP-solver called SPIDER, produced by SINTEF, o generae heursc soluons o he sample scenaros. In our heursc we do no solve he sample scenaros very accuraely, bu use a smple nseron-neghbourhood o nser cusomers consecuvely no he plan a he locally bes locaon. Noe ha hs heursc could be easly adaped o dfferen ypes of sochasc VRPs, and ha he underlyng model could be exended n many drecons. 4 Compuaonal Resuls In order o assess he qualy of our heursc, we have performed some ess usng random generaed es cases. The cases are based on real-world daa, whch was colleced for oher purposes (see Wahl e al., 22). Ths daa was used o generae approxmaed dsrbuons for he sochasc varables n he model, whch s hen used o generae sample scenaros n he heursc framework, as well as generang he es cases. Table 1 Compuaonal resuls Deermnsc Pure dynamc SSBHH Toal dsance No. of vehcles Toal dsance No. of vehcles Toal dsance No. of vehcles Reducon of dsance n % Problem #Orders 1 142 147238 6 2153 6 25968 6 4.2% 2 126 11124 4 164724 4 122974 4 25.3% 3 147 144471 5 21192 5 15881 5 25.4% 4 118 122244 4 216632 4 141643 5 34.6% 5 126 134448 5 25136 5 15822 5 23.% 6 118 113658 4 167514 4 133895 4 2.1% 7 128 1247 5 17859 5 14624 6 17.9% 8 129 149118 5 23736 5 187675 6 2.9% 9 117 97383 3 165345 3 15791 3 36.% 1 127 138753 5 182529 5 16815 6 7.9% 11 146 125659 4 211174 4 139488 4 33.9% 12 151 12165 4 194143 4 136249 4 29.8% 13 138 14251 3 192 3 11898 4 37.4% 14 126 12223 4 198243 4 137376 4 3.7% 15 139 12813 5 21464 5 153354 5 28.4% 16 122 117193 4 1967 4 12864 4 32.6% 17 125 143836 5 196545 5 146684 5 25.4% 18 143 155267 6 22741 6 185113 6 18.5% 19 144 138963 5 218846 5 155686 5 28.9% 2 139 14339 5 27547 5 167465 5 19.3% Avg. 132.55 12915 4.55 199624 4.55 14987 4.8 24.9%
The resuls obaned by runnng he heursc usng 3 sample scenaros a each sage, wh 16 sages for each of 2 es cases, s shown n able 1 under he headng SSBHH ( Sample Scenaro Based Hedgng Heursc ). The oal runnng me per es case was abou 6 mnues. For comparson we have also presened, under he headng Deermnsc, resuls acheved when consderng all nformaon as known a pror; ha s, he cases are solved as deermnsc VRPs usng he SPIDER sofware. Each of hese soluons was obaned by runnng an nal nseron heursc followed by a varable neghbourhood local search, and he oal runnng me per nsance was approxmaely 35 mnues. We have also red o solve he problems usng a myopc, dynamc approach, whou usng sochasc nformaon, where a each sage we make a soluon usng currenly known nformaon only. Ths s presened under he headng Pure dynamc. The compuaonal effor used o solve he sub-problem a each sage was se such ha he oal runnng me of hs approach would mach he runnng me of he SSBHH. I should be noed ha he effec of he runnng me wh respec o he execuon of he resulng plan s gnored n boh dynamc approaches,.e. s assumed ha all nformaon arrvng up o he sar of a me-nerval can be used and ha he plan generaed a ha pon s mmedaely mplemened. In pracce one would have o reserve some me for he solver o run, by leng nformaon ha arrves durng he plannng o be handled n he nex sage. We observe ha we can reduce he oal ravel dsance que subsanally by applyng our heursc, as compared o he pure dynamc mehod. However, hs does no come for free, bu a he cos of somemes havng o use an exra vehcle. I should be noed ha he number of vehcles may be a sraegc raher han a day-o-day decson, and hus only he maxmum number of vehcles used s mporan. Travel dsance 164 16 156 152 148 5 1 15 2 Number of sages Fgure 1 Varyng he number of sages of he model
We should also noe ha our heursc seems o have he nce propery of conssenly producng beer soluons when he number of sample scenaros a each sage s ncreased, when he number of sages s ncreased, or when more effor s spen on producng good soluons o he sample scenaros. Ths s llusraed n fgures 1 and 2, where ravel dsance s ploed agans he number of sages and he number of scenaros respecvely. The number of vehcles used n he fnal execuon s also reduced when ncreasng he Travel dsance 164 16 156 152 148 2 4 6 8 1 12 Number of scenaros Fgure 2 Varyng he number of sample scenaros a each sage effor, alhough we suspec oher parameers of he heursc o have greaer mporance here, n a rade-off beween vehcle ulzaon and ravel dsance. Addonal esng has shown ha he same propery s no presen when ncreasng compuaonal effor n he pure dynamc approach, where sochasc nformaon s gnored. The nerpreaon here s ha a beer soluon o he sac sub-problems does no auomacally yeld beer overall performance, as decsons ha look good early may urn ou o be nferor when new cusomers appear. Addonal esng has shown ha ncreasng he compuaonal effor does no as a rule yeld beer soluons n he pure dynamc approach. Our nerpreaon for hs phenomenon s ha when sochasc nformaon s gnored n he soluon of he subproblems, decsons ha looked good a an early sage may urn ou o be nferor when new cusomers appear. Thus, overopmzng he subproblem represens a wased effor. 5 Conclusons and fuure work To solve realsc roung problems, s ofen essenal o exend he classcal VRP formulaon. Here we consder one parcular nsance of uncerany, where cusomers may appear a unknown locaons wh random demand a any me durng he gven mehorzon.
We propose a raher general heursc soluon mehod, nspred parly by he dea of progressve hedgng (see Haugen, Løkkeangen and Woodruff, 2), where sample scenaros are generaed and her soluons nspeced o fnd promsng srucures. The compuaonal fndngs so far ndcae ha hs may lead o beer soluons han pure dynamc approaches. Several parameers n he heursc could be uned, whch may lead o oher nsghs. Parameers ha need o be nvesgaed furher nclude when o sop ncludng cusomers, how o nser hem no he fnal plan and how many sages o use. For he laer we mus also ake compuaonal effor no consderaon, as here clearly s a lm on avalable resources when plannng n a dynamc, real world, envronmen. However, here could be ample possbles o use parallel compung durng all phases of our heursc, n case one wans o ncrease he number of sages. We would also lke o expand our sochasc model o suppor oher sochasc varables, for nsance sochasc ravel mes and sochasc demands for known cusomers, as well as add oher exensons o he model, e.g. heerogeneous vehcles and dynamc ravel mes. Ths would allow for a wde range of dynamc sochasc VRPs o be solved usng he same framework. 6 References Gendreau, M., G. Lapore and R. Ségun. (1995). An Exac Algorhm for he Vehcle Roung Problem wh Sochasc Demands and Cusomers, Transporaon Scence 29, pp. 143-155. Gendreau, M., G. Lapore and R. Ségun. (1996a). Sochasc Vehcle Roung, Inved Revew, European Journal of Operaonal Research 88, pp. 3-12. Gendreau, M., G. Lapore and R. Ségun. (1996b). A Tabu Search Heursc for he Vehcle Roung Problem wh Sochasc Demands and Cusomers, Operaons Research 44, pp. 469-477. Gendreau, M. and J.-Y. Povn. (1998). Dynamc Vehcle Roung and Dspachng. In Flee Managemen and Logscs, Kluwer Academc Publshers, T.G. Crannc and G. Lapore Eds., pp 115-126. Haugen, K. K., A. Løkkeangen and D. L. Woodruff. (2). Progressve Hedgng as a Mea-Heursc Appled o Sochasc Lo-Szng, European Journal of Operaonal Research 132, pp. 13-19. Ho, S. C. and D. Haugland. (22). A Tabu Search Heursc for he Vehcle Roung Problem wh Tme Wndows and Spl Delveres, In Proceedngs of Nordc MPS 2, Repor No. 237, Deparmen of Informacs, Unversy of Bergen, Norway. Ichoua, S., M. Gendreau and J.-Y. Povn. (21). Explong Knowledge abou Fuure Demands for Real-Tme Vehcle Dspachng. Techncal repor CRT-21-45, Cenre for Research on Transporaon, Monreal, Canada. Jagannahan, R. (1985). Use of Sample Informaon n Sochasc Recourse and Chance- Consraned Programmng Models, Managemen Scence 31, pp 96-18.
Kall, P. and S. W. Wallace. (1994). Sochasc Programmng, Wley, New York. Kallehauge, B., J. Larsen and O. B. G. Madsen. (21). Lagrangean Dualy Appled on Vehcle Roung wh Tme Wndows - Expermenal Resuls, Techncal repor, Informacs and Mahemacal Modellng, Techncal Unversy of Denmark, DTU. Psarafs, H.N. (1995). Dynamc vehcle roung: Saus and prospecs. Annals of Operaons Research 61, pp. 143-164. Wahl, R., M. Flø, T. Moen, B. Johannesen, T. Engen and T. Haugen. (22). Elekronsk daafangs for godsranspor byområder, SINTEF Repor. (In Norwegan)