baldaji an exact method for carpooling problems

Upload: vojkan121

Post on 03-Jun-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/12/2019 Baldaji an Exact Method for Carpooling Problems

    1/19

    An Exact Method for the Car Pooling Problem Based on Lagrangean Column GenerationAuthor(s): Roberto Baldacci, Vittorio Maniezzo and Aristide MingozziSource: Operations Research, Vol. 52, No. 3 (May, - Jun., 2004), pp. 422-439Published by: INFORMSStable URL: http://www.jstor.org/stable/30036593 .Accessed: 27/06/2014 06:22

    Your use of the JSTOR archive indicates your acceptance of the Terms & Conditions of Use, available at .http://www.jstor.org/page/info/about/policies/terms.jsp

    .JSTOR is a not-for-profit service that helps scholars, researchers, and students discover, use, and build upon a wide range of content in a trusted digital archive. We use information technology and tools to increase productivity and facilitate new formsof scholarship. For more information about JSTOR, please contact [email protected].

    .

    INFORMS is collaborating with JSTOR to digitize, preserve and extend access to Operations Research.

    http://www.jstor.org

    http://www.jstor.org/action/showPublisher?publisherCode=informshttp://www.jstor.org/stable/30036593?origin=JSTOR-pdfhttp://www.jstor.org/page/info/about/policies/terms.jsphttp://www.jstor.org/page/info/about/policies/terms.jsphttp://www.jstor.org/stable/30036593?origin=JSTOR-pdfhttp://www.jstor.org/action/showPublisher?publisherCode=informs
  • 8/12/2019 Baldaji an Exact Method for Carpooling Problems

    2/19

    OPERATIONS ESEARCHVol. 52, No.3, May-June 004,pp.422-439ISSN 0030-364XIEISSN526-5463 0415203 0422

    DOI 0.1287/opre. 1030.0106c 2004 INFORMS

    n E x a c t M e th o d f o r the C a r P o o l i n g P r o b l e m

    a s e d o Lagrangean o l u m n eneration

    Roberto BaldacciDISMI, niversity f Modena nd ReggioEmilia, ialeA. Allegri, 5,42100ReggioEmilia, taly,

    [email protected] Maniezzo

    Department fMathematics, niversity f Bologna, iazza iPorta .Donato, , 40127Bologna, taly,[email protected]

    Aristide MingozziDepartment f Computer cience,University f Bologna,Mura nteo Zamboni, , 40127Bologna, taly,[email protected]

    Car pooling s a transportation ervice organized y a large ompany which encourages ts employees o pick up colleagueswhile driving o/from work to minimize he number f private ars travelling o/from he company ite. The car poolingproblem onsists of defining he subsets of employees hatwill share each car and the paths he drivers hould ollow, sothat sharing s maximized nd the sum of the path costs is minimized.The special case of the car pooling problem whereall cars are identical can be modeled as a Dial-a-Ride Problem. n this paper, we propose both an exact and a heuristicmethod or the car pooling problem, based on two integer programming ormulations f the problem. The exact methodis based on a bounding procedure hat combines hree ower bounds derived rom different elaxations f the problem.A valid upper bound s obtained by the heuristic method,which ransforms he solution of a Lagrangean ower bound ntoa feasible solution. The computational esults show the effectiveness f the proposed methods.

    Subject lassifications: programming, nteger: et partitioning, elaxation/subgradient; ransportation: ar pooling.Area of review: TransportationHistory: Received October 2000; revision received February 2003; accepted April 2003.

    IntroductionCar pooling is a transportation ervice organized by a largecompany which encourages its employees to pick up col-leagues while driving to/from work to minimize the numberof private cars traveling to/from the company site. The ben-efits which can be obtained are particularly relevant bothin terms of reduction of the use of private cars and of theparking space required.

    Car pooling appears in actual practice under severalforms. It is possible that the drivers and cars available inone particular day are known beforehand, and the prob-lem consists of assigning employees to the cars. A second

    form asks to identify who, among all interested employees,should act as driver and pick up the colleagues. Finally, itis possible that the request is only about the definition ofclient pools, and the choice about who is to drive is left tothe employees.

    Moreover, there exist two variants of each car poolingproblem form. In the first variant, pools sharing a ride towork will also share the same ride returning from workback home. In the second variant, the to-work and thereturn-from-work problems are different and must be solvedindependently.

    In this paper, we consider the second variant of the firstproblem form and we propose an exact and a heuristic

    method for solving the to-work version of the car pooling.

    The to-work Car Pooling Problem (CPP) is defined as fol-lows. The company collects, for each day, via Internetor intranet, or by any other suitable means, the offers ofthe employees willing to share their own cars (henceforthcalled servers) and the requests of the employees wish-ing to be picked up (henceforth called clients). Each serverspecifies the number of places available on his car and themaximum time he is willing to spend in driving from hometo the workplace. Each client has an associated penalty tobe considered in case no server picks him up. Moreover,each employee (either server or client) specifies the mini-mum time acceptable for leaving home and the maximumtime

    acceptablefor

    arrivingat work.

    The objective of the problem is to assign clients toservers and to design the feasible paths the servers shouldfollow in driving to work so that the sum of the totalpenalty for unserviced clients plus the total path costs isminimized.

    Despite the increasing actual interest of the applica-tion, the CPP has so far received little attention from thetransport optimization community. To our knowledge, noexact algorithm has been proposed in the literature for thisproblem.

    The CPP is NP-hard as it contains as a special casethe Vehicle Routing Problem with unit customer demands,which is known to be NP-hard in the strong sense

    422

    This content downloaded from 1 47.91.1.41 on Fri, 27 Jun 2014 06:22:39 AMAll use subject to JSTOR Terms and Conditions

    http://www.jstor.org/page/info/about/policies/terms.jsphttp://www.jstor.org/page/info/about/policies/terms.jsphttp://www.jstor.org/page/info/about/policies/terms.jsp
  • 8/12/2019 Baldaji an Exact Method for Carpooling Problems

    3/19

    Baldacci, Maniezzo, and Mingozzi: Exact Method or the Car Pooling ProblemOperations esearch 2(3), pp. 422-439, c 2004 INFORMS 423

    (see Araque et al. 1994 and Letchford et al. 2001). TheCPP where all servers have identical cars of capacity Q isa special case of the Dial-A-Ride Problem (DARP), whichconsists of designing the routes for m identical vehicles ofcapacity Q based at the same depot to service n transporta-

    tion requests. Each request specifies that a person is pickedup from an origin (pickup stop) and dropped off to a des-tination (delivery stop). The objective is to plan a set ofvehicle routes capable of accommodating as many requestsas possible to minimize the sum of the route costs and ofthe penalties of the requests which remain unrouted. Eachvehicle route must satisfy the following constraints:

    (i) Vehicle capacity. The maximum number of passen-gers on board a vehicle through the route cannot exceed Q.

    (ii) Time windows. Each pick up (delivery) stop has anassociated time window, and a person can be picked up(dropped off) any time during the time window of the cor-responding stop.

    (iii) Maximum waiting time. It is required that the wait-ing time between two consecutive stops of a route is nomore than W.

    (iv) Maximum ride time. Each customer requires that theride time needed by the vehicle to go from the pickup stopto the delivery stop of the customer is no more than aconstant factor of the direct travel time between these twolocations.

    The most common applications of the DARP arise indoor-to-door transportation services for sick or disabledpeople (see Madsen et al. 1996 and Toth and Vigo 1997).

    Any CPP instance where all server cars have the same

    capacity Q can be modelled as a DARP as follows:* The workplace corresponds to the depot where a num-ber of identical vehicles of capacity Q are based, corre-sponding to the number of servers.

    * Each employee corresponds to a transportation equestin which the employee home is the pickup stop and thecompany site is the delivery stop.

    * The minimum time for leaving home and the maxi-mum time to arrive at work for an employee become thetime window of the pickup and delivery stops of the trans-portation request associated with the employee.

    * The maximum waiting time W is set to infinity.* The maximum time a server is willing to spend driving

    from home to the workplace becomes the maximum ridetime of the corresponding transportation equest. The max-imum ride time of the requests associated with the clientsis set to infinity.

    * Each route of the DARP model must correspond o afeasible CPP path, which starts from a server and visits asubset of clients before terminating at the working place.This requirement can be achieved by modifying the dis-tance matrix of the DARP as follows: (a) set to infinity thedistances from the delivery stops to the pickup stops, fromthe pickup stops associated with the clients to the pickupstops of the servers, and from the depot to the pickup stopsof the clients; (b) set to zero the distances from the depot

    to the pickup stops of the servers and from the deliverystops of both servers and clients to the depot.

    The CPP considered in this paper cannot be modelledas a special case of the DARP with vehicles of differentcapacities unless introducing vehicle-site objections in the

    DARP so that each pickup stop associated with each serveris visited by vehicles of capacity equal to the size of theserver car.

    To our knowledge the only exact algorithms for theDARP published in the literature refer to the single vehi-cle case (see Psaraftis 1980, 1983; Bianco et al. 1994;Desrosiers et al. 1986; Mingozzi et al. 1997). Only heuris-tic methods have been published so far for the multivehicleDARP case described above (for a comprehensive survey,see Cordeau and Laporte 2002).

    DARP is a generalization of a number of vehicle routingproblems such as the Pickup and Delivery Vehicle Rout-

    ingProblem with Time Windows

    (VRPPDTW)and the

    Vehicle Routing Problem with Time Windows (VRPTW).For state of the art surveys of both exact and heuristicmethods for these problems, see Cordeau et al. (2002) andDesaulniers et al. (2002). The most effective exact meth-ods for both the VRPPDTW and VRPTW are based onthe set-partitioning formulation where each variable corre-sponds to a feasible route. This model accommodates allconstraints pertaining to the feasibility of a single route andallows the route cost to depend only on the route; hence itappears more effective in representing real-world applica-tions. The set-partitioning model involves a large number(typically exponential) of variables; however, it producestight linear programming (LP) relaxations. The exact meth-ods proposed by Dumas et al. (1991) and Savelsbergh andSol (1998) for the VRPPDTW and by Kohl et al. (1999) forthe VRPTW are all based on column generation. The exactprocedures proposed for the VRPPDTW can be extendedto solve the DARP (and consequently the CPP) rejecting,in the column generation phase, the routes which violatethe maximum waiting and ride time constraints. However,the methods based on column generation are time consum-ing because the LP relaxation of the master problem isusually highly degenerate. Degeneration implies alternativeoptimal dual solutions and, consequently, the generation ofnew variables which might not affect the optimality of themaster problem. The master problem tends to become large,and the overall method may become slow.

    In this paper, we describe an exact method for the CPPthat avoids the drawbacks of the column generation meth-ods discussed above. This method is based on two integerprogramming formulations of the CPP. The first formu-lation is a commodity flow formulation using three-indexvariables, while the second formulation models the CPP asa set-partitioning problem whose variables correspond tofeasible paths or to clients to be left unserviced. A validlower bound on the optimal CPP cost is computed as the

    cost of a feasible dual solution of the LP relaxation of the

    This content downloaded from 1 47.91.1.41 on Fri, 27 Jun 2014 06:22:39 AMAll use subject to JSTOR Terms and Conditions

    http://www.jstor.org/page/info/about/policies/terms.jsphttp://www.jstor.org/page/info/about/policies/terms.jsphttp://www.jstor.org/page/info/about/policies/terms.jsp
  • 8/12/2019 Baldaji an Exact Method for Carpooling Problems

    4/19

    Baldacci, Maniezzo, and Mingozzi: Exact Method for the Car Pooling Problem424 Operations esearch 2(3), pp. 422-439, c 2004 INFORMS

    set-partitioning problem; the solution is obtained by com-bining three different relaxations of the two formulations.

    The dual solution and a valid upper bound obtained bya heuristic algorithm based on the bounding procedure arethen used to eliminate feasible paths that cannot belong

    to any optimal solution; thus the resulting reduced set-partitioning problem can be solved by a branch-and-boundalgorithm.

    The main contributions of this paper are the new bound-ing procedures for computing a feasible dual solution ofthe set-partitioning formulation and the method for gener-ating a reduced set-partitioning problem that is used to findan optimal solution. The proposed method appears to beadequate to deal with several of the complexities of real-world constraints, possibly in addition to those consideredin this paper. The computational results show that the newbounding procedure is competitive with column generationmethods, that the proposed exact method can solve real-world CPP instances in reasonable computing times, andthat the heuristic requires scarce computing time to provideeffective results on all instances.

    This paper is structured as follows. Section 1 describesthe CPP and some useful reduction rules. The two mathe-matical formulations of the CPP and a lower bound basedon column generation are presented in e2. In e3, wedescribe the exact method and the bounding procedure thatcombines different CPP relaxations, which are described indetail in e4. Moreover, in e4 we present a heuristic methodfor computing a valid upper bound. A dynamic program-ming procedure for generating feasible paths is presentedin e5. The last section of this paper gives the computationalresults on two sets of test problems. The first problem setis derived from vehicle routing instances taken from theliterature while the second one is composed of real-worldCPP instances.

    1. Problem Description and ReductionsThe CPP considered in this paper is as follows. A directedgraph G = (V, A) is given, where V = {0,..., n} is the setof vertices and A is the set of arcs. The set V is partitionedas V = {0}U V', where 0 is the vertex associated with thecompany workplace and V'= {1,..., n} is the set of ver-tices corresponding to the employees. The set V' is further-more partitioned as V' = Vs

    UVc, where V,

    = {1, ..., n,} isthe subset of vertices associated with the servers and Vc={ns + 1, ..., n} is the subset of vertices associated with theclients. We denote by Fi and Fi-' he sets of immediate suc-cessors and predecessors of vertex i e V, respectively (i.e.,

    i={j:(i,j)E A} and FI' = {i: (i,j)E A}). A nonnega-

    tive cost dii and a travel time tij are associated with eacharc (i, j) e A. Each client i e Vc has an associated penaltypi representing its contribution to the total cost in case noserver picks him up. Each employee i e V' specifies theminimum time ei for leaving home (earliest start time) andthe maximum time li for arriving at work (latest arrival

    time). Associated with each server k E Vsis the number

    Qk of places available on his car and the maximum driv-ing time Tk he is willing to spend to go from home to theworkplace. It is assumed that tko < Tk< k - ek Vk e V,.A simple path P = (i,, i2,

    ....im, im+l) in G starting from

    server i1 EVs, visiting clients {i2, ...., i} Vc

    andendingat workplace im+, = 0, is called a feasible path if it satisfies

    the following constraints:(1) Capacity constraint. The cardinality of P must be

    less than or equal to Qi,.(2) Maximum ride time constraint. The total travel time

    of P must be less than or equal to Ti,.(3) Departure/arrival time constraint. Let sir be the

    departure ime from vertex ir in P and letsim+,

    be the arrivaltime at the workplace. Path P satisfies the departure/arrivaltime constraint if a feasible solution

    {sil,si2 ...Sim+1exists to the following inequalities:

    Sir -Sir tir(a)

    sir eir(b)] , r -- 1, . ...

    m. (1)Sim+,>

    i, (b)Si~

    The CPP consists of finding nsfeasible paths visiting each

    employee at most once, while minimizing the sum of thepenalties of unserviced clients plus the path costs.

    Note that it is always possible to define the departuretimes {sil, si2 .... SO that inequalities (1) are satis-fied and no waiting at client sites is involved. This can bedone as follows. To satisfy inequalities (la) and (ic), define

    Sim+Imin[lir, r = 1, .., m] and set

    Sir = Sir+l - tirir+l, r = m - 1, m - 2, . . ., 1. (2)It easy to show that sir, r = 1,..., m, computed asdescribed above, satisfies inequality (lb). By contradiction,assume that sir < eir

    for some r. From expression (2) wehave Si, = Sim+I s=r

    tiisi,hence, from sir Si, which implies that P is notfeasible.

    1.1. Useful ReductionsThe quality of the lower bounds and the computational per-formance of the exact method can be improved by remov-

    ingfrom G arcs that cannot

    belongto

    anyfeasible

    pathand

    reducing the gap between times ek and Ik of each serverk e Vs.Let shtij be the value of the shortest time path fromi to j. We considered the following reductions:

    (1) A server cannot pick up another server; hence,remove arcs (i, j) E A with i, j E V,.

    (2) Server k cannot go directly to pick up client i ifthe total travel time exceeds the maximum ride time ofserver k; hence, remove every arc (k, i), with k e V, andi E V,, such that tki + shtio > Tk.

    (3) Server k cannot go directly to pick up client i if hecannot reach the workplace before time min[lk, li]; hence,remove any arc (k, i), with k e Vs and i E Vc, such that

    max[e/,ek + tki] + shtio > min[lk, lil.

    This content downloaded from 1 47.91.1.41 on Fri, 27 Jun 2014 06:22:39 AMAll use subject to JSTOR Terms and Conditions

    http://www.jstor.org/page/info/about/policies/terms.jsphttp://www.jstor.org/page/info/about/policies/terms.jsphttp://www.jstor.org/page/info/about/policies/terms.jsp
  • 8/12/2019 Baldaji an Exact Method for Carpooling Problems

    5/19

    Baldacci, Maniezzo, and Mingozzi: Exact Method or the Car Pooling ProblemOperations esearch 2(3),pp. 422-439, c 2004 INFORMS 425

    (4) If a server k does not exist that can go first to client i,then to client j and then reach the workplace before timemin[lk, i., lj] and within his maximum ride time, then arc(i, j) cannot belong to any feasible path. Thus, remove anyarc (i, j), with i, j e Vc,

    such that shtki+tij- +shtjo

    > Tkand/or

    sij + shtjo>

    min[lk, Ii, lj]Vk e

    Vs,where

    si=

    max[ey, max[ei, ek + tki] + tij].(5) The early start time ek of every server k e V, can

    be postponed to avoid waiting at client sites. Set ek =min[lk - tkO,minJErk\{0}[eJ tkj]], k e Vs.

    The new shortest time values shtij computed on thereduced graph G and the new early start times of the serverscan induce further reductions. Therefore, reduction rules2, 3, 4, and 5 can be repeated until no more arcs can beremoved.

    2. Mathematical Formulation of the CPP

    In this section, we present two different mathematical for-mulations of the CPP. The first one is based on three-indexdecision variables specifying the arcs traversed by eachserver, while the second one is a set-partitioning ormula-tion where the variables correspond to feasible paths.

    2.1. A Three-Index Variable FormulationLet xi , (i, j) e A and k e Vs,be a (0-1) binary variable thatis equal to 1 if and only if arc (i, j) is traversed by server kand let yi, i e Vc,

    be a (0-1) binary variable that is equal to1 if and only if client i is not picked up by any server. Wedenote by si a nonnegative variable representing he pickup

    time of employee i e V' and by hk a nonnegative variabledenoting the arrival time of server k e Vs at the workplace.A mathematical formulation of the CPP is the following:

    (F) min z(F)= i dxk+PLiYi (3)kEVsi,j)EA ieVc

    jEFk

    1xjo= 1, kEyV,, (5)

    Xji-xk =0, i

    Vc,k e Vs,

    (6)

    jEri-1jEFi

    Sx< Qk, k e Vs, (7)(i,j)eA

    Stijxk

  • 8/12/2019 Baldaji an Exact Method for Carpooling Problems

    6/19

    Baldacci, Maniezzo, and Mingozzi: Exact Method for the Car Pooling Problem426 Operations esearch 2(3),pp. 422-439, c 2004 INFORMS

    Ui ' Pi, i E Vc, (24)

    ui unrestricted, i Vc, (25)

    vk unrestricted, k V,, (26)

    where ui, i EVc,

    are the dual variables associated withEquations (18), and vk, k e V,, are the dual variables asso-ciated with Equations (19). In the following we denote byz*(SP) and z*(DSP) the optimal solution costs of problemsSP and DSP, respectively.

    2.2.1. Lower Bound Based on Column Generation.A valid lower bound on the CPP is given by the value ofthe optimal solution of the LP relaxation of problem SP,hereafter called LSP, and can be computed using a con-ventional column generation method. In this section, wedescribe the column generation procedure we implementedfor solving LSP to evaluate the effectiveness of our newbounding procedure HDSP, described in e3.1.

    Suppose that a subset 9 C P9 of paths is explicitlydefined and let LSP(9P) be the problem, called restrictedmaster problem, obtained from LSP replacing the set P9with P. Let ( and (ii, v) be the optimal primal and dualsolutions of LSP(), respectively. From LP duality it isknown that is an optimal LSP solution if and only ifthe reduced cost ce - iE, ui -

    o,(,) of any path e E, \

    is nonnegative. Testing the optimality of 6 with respectto LSP requires the generation of the path of minimumreduced cost. This path, in case it has a negative reducedcost, must be added to P and the resulting master prob-lem LSP(P) must be solved to optimality. We adopted the

    strategy of generating and adding to LSP(J) the &-pathshaving the minimum negative reduced costs, where i is ana priori defined parameter. This will reduce the number ofmaster problems to be solved, but it increases the size ofthe linear programs. However, in our computational expe-rience, we found that this strategy is computationally moreefficient than adding a path at each iteration. To control thesize of 9, whenever 1 ~Omax, where

    1maxis an a priori

    defined parameter, we remove from P up most jI 1- maxpaths having the largest positive reduced cost. The pathgeneration procedure, called GENPATH, described in e5,is used to generate the initial subset 9 and to select the0-paths at each iteration. The scheme of the column gen-eration algorithm, called CG, is as follows.

    Algorithm CGStep 1. Use procedure GENPATH to generate an initial

    subset 9P C ~P containing the 1min- least-cost feasible paths,where 1~min is an a priori defined parameter. Add to 3 theartificial paths (i, 0) of cost Pi, V e V, representing vari-ables yi, i E Vc, of problem SP.

    Step 2. Solve problem LSP(). Let z be the optimalsolution cost and 5 and (ii, v) be the optimal primal anddual solutions of LSP(P), respectively.

    Step 3. Use GENPATH to generate the subset N of thea-feasible paths of minimum negative reduced cost withrespect to (ii, v). We have two cases:

    (i) N = 0, then stop, as z is the optimal LSP solutioncost.

    (ii) Nj 0, then update 9 = P UJN. If 191> max,then remove from 3 up most 1P - &max paths having thelargest positive reduced cost and return to Step 2.

    In the following, we denote by LBCG the CPP lowerbound corresponding to the optimal solution cost of LSPcomputed by Algorithm CG.

    3. An Exact Method for Solving the CPPThe exact method proposed in this paper for the CPP solvesformulation SP without generating the whole set partition-ing matrix.

    Specifically, we use different bounding procedures toobtain a good DSP solution (u', v') with cost z'(DSP) with-out generating all feasible paths. This solution allows usto compute the reduced costs c' = ce -

    iZe,

    u; - v'(,) of

    each path e E 5.Whenever the reduced cost c' of a path Ce ~P exceeds

    the difference between a known upper bound z(UB) to theoptimal SP cost and z'(DSP), it is possible to eliminatepath C from $. Nevertheless, the resulting SP might stillbe too large to be solved exactly. We propose an iterativeprocedure for solving the CPP where at each iteration areduced SP problem is solved. The procedure terminateswhen either an optimal SP solution is achieved or the dis-tance of the solution cost of the reduced SP problem fromthe lower bound is less than a user-defined value or a max-imum number of iterations is reached. The scheme of the

    proposed exact method for solving SP is as follows.Exact Method for Solving the CPPStep 1. Compute a DSP solution (u',v') with cost

    z'(DSP) using the bounding procedure HDSP which doesnot require the generation of the entire path set P andwhich also produces a valid upper bound z(UB) to the CPP.Set iter = 0.

    Step 2. Set iter = iter + 1. Generate reduced problem SP'derived from SP considering all variables yi, i E Vc,but onlya subset - C P satisfying the following conditions:

    cl < z(UB) - z'(DSP) Ve E Y,

    max[c'] < min [c'], 27

    s Amax, where Amax is a user-defined parameter.

    Step 3. Solve the integer program SP'. Let z*(SP') bethe cost of the optimal SP' solution (g*, y*) obtained. Weassume that z*(SP') = oo if SP' does not contain a fea-sible solution, i.e., the set - does not contain ns vertexdisjoint paths covering the server set Vs. Update z(UB)=min[z(UB), z*(SP')].

    Step 4. Test if the SP' solution obtained is an optimalCPP solution. Let Newb = z'(DSP) + maxeq [cj]; we have

    two cases:

    This content downloaded from 1 47.91.1.41 on Fri, 27 Jun 2014 06:22:39 AMAll use subject to JSTOR Terms and Conditions

    http://www.jstor.org/page/info/about/policies/terms.jsphttp://www.jstor.org/page/info/about/policies/terms.jsphttp://www.jstor.org/page/info/about/policies/terms.jsp
  • 8/12/2019 Baldaji an Exact Method for Carpooling Problems

    7/19

    Baldacci, Maniezzo, and Mingozzi: Exact Method or the Car Pooling ProblemOperations esearch 2(3), pp. 422-439, c 2004 INFORMS 427

    (a) z*(SP') < Newb then stop, because (g*, y*) is guar-anteed to be an optimal CPP solution. This follows directlyfrom LP duality, which ensures that any SP solution involv-ing a feasible path e e 9\ costs at least z'(DSP) + c' >Newb.

    (b) z*(SP') > Newb then solution (g*, y*) is not guar-anteed to be an optimal CPP solution, but Newb is a validlower bound on the optimal CPP cost.

    Step 5. If iter > itermax or (Newb -z*(SP'))/Newbgapmax then stop, otherwise increase the value of parame-ter Am (according to a user-defined strategy, for examplesetting Amax = m3Amax,here /3> 1) and go to Step 2.

    Parameters termax and gapmax must be defined a priori.The effectiveness of the proposed exact method is related

    to the quality of the dual solution (u', v'): the better the DSPsolution the smaller the reduced costs of the feasible pathsof an optimal CPP solution and, hopefully, the smaller thesize of subset 9 that must be generated to solve the CPP.A possible way for computing the dual solution (u', v') isto solve LSP using the column generation algorithm CGdescribed in e2.2.1. A different method is the boundingprocedure HDSP, described in the following section.

    3.1. Bounding Procedure HDSPIn this section, we describe a bounding procedure, calledHDSP, which computes a lower bound on the CPP as thesum of the DSP solution costs obtained by a sequenceof different heuristics for solving DSP. HDSP produces alower bound that is almost equal to the optimal LSP cost

    computed usingthe column

    generation method CG. How-ever, our computational experience indicates that HDSP isfaster than CG.

    HDSP is based on the additive bounding method ofFischetti and Toth (1989), but it extends it combiningrelaxations derived from different formulations of a givencombinatorial problem. Procedure HDSP was introducedby Bianco et al. (1994) for the Multidepot Vehicle Schedul-ing Problem and has been successfully used for computingthe lower bound on several routing and scheduling prob-lems that can be formulated as set-partitioning problemswith additional constraints, such as the Vehicle RoutingProblem (VRP) (Mingozzi et al. 1994), the VRP with Back-hauls (Mingozzi et al. 1999), the Crew Scheduling Problem(Mingozzi et al. 1999) and the Capacitated p-Median Prob-lem (Baldacci et al. 2002). Procedure HDSP is summarizedbelow.

    Let H',..., Hk be k different bounding procedures forthe CPP such that each H' produces a lower bound LBr tothe CPP corresponding to the cost of a feasible DSP solu-tion (u', v'). HDSP is an iterative procedure which applies,at each iteration r, the bounding procedure Hr to the resid-ual problem DSP' that is derived from DSP replacing costsc,, e $ , and p,, i E Vc, with the reduced costs relative tothe DSP solution (u', v') with cost z'(DSP) resulting at the

    end of the previous iteration.

    Description of Procedure HDSPStep 1. Initialize u' = 0, v' = 0 and z'(DSP) = 0.Step 2. Repeat Step 3 for r = 1, ..., k.Step 3. Apply Hr to problem DSP' derived from DSP

    replacing ce, withS-- (e), eE , and pi with p

    =pi

    -

    u , i Vc.Let LBr be the cost of solution (u', v'r) obtained by Hr.Update u' = u' + ur, v' = v' + v'r, and z'(DSP) =

    z'(DSP) + LBr.Observe that, at the first iteration, DSP' corresponds to

    DSP because u' = 0 and v' = 0. It can be shown that thefinal lower bound z'(DSP) is greater than or equal to themaximum of the lower bounds produced by each individualprocedure when applied to the original problem DSP.

    In the following, we will use SP' to indicate the problemresulting from SP replacing costs {ce} and {pi} with {c'}and {p'}, respectively. Hence, at each iteration of HDSPproblem DSP' represents the dual of the LP relaxationof SP'.

    At each iteration of HDSP, the following relation holds:

    z*(SP) z'(DSP) z*SP'). (28)

    In computing the lower bound on the CPP, procedure HDSPuses three bounding procedures that are described in thefollowing section.

    4. Bounding Procedures for the CPPIn this section, we describe the bounding procedures H',H2, and H3 used by HDSP for computing a lower boundon the CPP. Procedures H1 and H2 are based on two dif-ferent relaxations of formulation F, while H3 is based onformulation SP and combines Lagrangean relaxation of theset-partitioning constraints with column generation to avoidthe a priori generation of the path set 9P. These procedurescan be used by HDSP in any order, because the correctnessof the final solution (u', v') to DSP does not require anyparticular ordering of the component procedures. We evalu-ated the effect of ordering the three procedures differently,and the best lower bound was obtained by using H', H2,and H3 in this sequence.

    4.1. Procedure H1

    In bounding procedure H' we relax all constraints defininga feasible path, and we impose that clients are either leftunserviced or covered by n, vertex disjoint paths startingfrom servers in V, and ending at workplace 0. The mathe-matical formulation of this relaxation can be derived fromformulation F by dropping constraints (7)-(12), adding upconstraints (5), and adding up the IVsI onstraints of type(6) relative to each client i Vc. The resulting problemRF can be further simplified substituting EkEVs k

    with a(0-1) binary variable rlij that is equal to 1 if and only ifarc (i, j) belongs to some path connecting a server to the

    This content downloaded from 1 47.91.1.41 on Fri, 27 Jun 2014 06:22:39 AMAll use subject to JSTOR Terms and Conditions

    http://www.jstor.org/page/info/about/policies/terms.jsphttp://www.jstor.org/page/info/about/policies/terms.jsphttp://www.jstor.org/page/info/about/policies/terms.jsp
  • 8/12/2019 Baldaji an Exact Method for Carpooling Problems

    8/19

    Baldacci, Maniezzo, and Mingozzi: Exact Method for the Car Pooling Problem428 Operations esearch 2(3), pp. 422-439, c 2004 INFORMS

    workplace. Simple algebraic manipulations lead to the fol-lowing relaxed problem RF, whose optimal solution costprovides lower bound LB,:

    (RF) LB1= min d,1'lij E PiYi (29)(i, j)EA

    iEVc

    s.t. 1 krjk = 1, k E V,, (30)

    E ij+ yi

    = 1, i E Vc, (31)jEFr

    ETlji

    + Yi:= 1, i E Vc, (32)

    E rjo = n , (33)

    7ijE {0, 1}, (i, j) E A, (34)

    YiE {0, 1}, i E Vc. (35)

    Problem RF is a balanced transportation problem withn, + n, origins (corresponding to Equations (30) and (31))and

    nc + 1 destinations (corresponding to Equations (32)and (33)). The dual of the LP relaxation of problem RF isas follows:

    (DRF) z(DRF) = max + E fij + nso0 (36)iEV' j Vc

    s.t. ai + 3 < dij, (i, j) E A, (37)

    ati +P1i

    4Pi,

    i E Vc, (38)

    Po = 0, (39)

    ai unrestricted, i e V', (40)

    8j3unrestricted, ie Vc, (41)

    where the dual variables at, i E V, are associated withEquations (30), dual variables a, i E Vc,with Equation (31),while the dual variables fi, i E Vc, are associated withEquation (32) and 60 with Equation (33). We set 80 = 0because constraint (33) is a linear combination of all otherconstraints. The following theorem shows that any feasi-ble DRF solution can be transformed into a DSP feasiblesolution of the same cost.

    THEOREM 1. Let ai, i e V',i, i E VV, e a feasible solutionof DRF with cost z(DRF). A feasible solution (u', v') ofDSP with cost z'(DSP) = z(DRF) is given by.

    ui= a+i, iE V and vk=ak, k V,. (42)

    PROOF. ecause vectors a and 1 satisfy inequalities (38), itis easy to observe that u', defined according to expressions(42), satisfies constraints (24) of problem DSP. Consider afeasible path Pe = (k, i,, .... i, 0),e E , from server k to

    the workplace. Because (t, 13) is a DRF solution, we have

    dij- a, - pj > 0 V(i, j) E A. Thus, we can derive for P,

    the following inequality:

    (dki, - ak - il) (di 2 - ai, -132+ - - - +

    (diro-

    air-

    0)> 0, or

    dki,+

    dii,2

    + + >+ diro > k + is+ Pis) + 0O. (43)s=1

    Note that the left-hand side of inequality (43) is the cost ceof path Pe. After defining (u', v') according to expression(42) and because P0 = 0, inequality (43) becomes

    r

    s=-

    showing that expressions (42) provides a feasible DSP solu-

    tion. Furthermore, t is trivial to notice that z'(DSP)=

    'iEVcU

    -+kEVs Vk

    = z(DRF). [Procedure H' uses the Hungarian method (Kuhn 1955)

    to find an optimal dual solution (a*, 0*) of problem DRFwith cost z*(DRF). Then, using expression (42), H' definesa DSP solution with cost LB, = z*(DRF) by setting v' =

    a0,,k E V,, and u Oaf + PI, i E Vc.

    4.2. Procedure H2Problem DSP' defined at the beginning of Step 3 of proce-dure HDSP (see e3.1) is the dual of problem SP' derived

    by replacing costs {c,} and {pi} with the reduced costs {c'}relative to the current DSP solution (u', v'), where u' = uand v'= v'. By means of the same DSP solution (u', v'),we can derive from problem F a new problem F' whoseoptimal solution cost z*(F') is equal to the optimal solutioncost z*(SP') of SP'. Problem F' is obtained by replacingin F the cost

    diyof each arc (i, j) E A with the following

    costd'j:

    Sd -v if i E V(44)

    diu-if V,.

    To show that any SP' solution corresponds to a F' solutionof equal cost (and vice versa), it is sufficient to observe thatthe cost of any feasible path e e ~ in G using arc costs

    {d'} is equal to its reduced cost c'; that is,

    (i, j)

    Consequently, any lower bound on z*(F') is also a validlower bound on z*(SP').

    Consider the relaxed problem RF'(X) obtained from F'by dropping time window constraints (9), (10), (11), and

    (12) and by relaxing in a Lagrangean fashion constraint

    This content downloaded from 1 47.91.1.41 on Fri, 27 Jun 2014 06:22:39 AMAll use subject to JSTOR Terms and Conditions

    http://www.jstor.org/page/info/about/policies/terms.jsphttp://www.jstor.org/page/info/about/policies/terms.jsphttp://www.jstor.org/page/info/about/policies/terms.jsp
  • 8/12/2019 Baldaji an Exact Method for Carpooling Problems

    9/19

    Baldacci, Maniezzo, and Mingozzi: Exact Method or the Car Pooling ProblemOperations esearch 2(3), pp. 422-439, c 2004 INFORMS 429

    (13), using unrestricted real penalties ki, i e Vc. ProblemRF'(X) is as follows:

    (RF'(X)) z(RF'(A))=minE E d Ep'()y,keV(i,j)EA iEVc

    s.t. (4), (5), (6), (7), (8),(14), and (15), (45)

    where d'(X) = d; - Xj, i E V', j E Vc,and p'(X) = p - ki,iE Vc.

    Due to the relaxation of constraints (13), which couplesvariables {xik}and {y,}, problem RF'(X) decomposes intoVI +1 independent subproblems: IVI constrained shortest

    path subproblems SHPk(X), k E V,, and an unconstrainedsubproblem, called U(X), involving variables yi, i E VC,which defines the clients left unserviced.

    Subproblem U(X) is as follows:

    (U(X)) o,0(X)min 1p'(X)yi (46)iEV0, . (47)

    s.t. Yi - {0, 1}, i E Vc. (47)

    Each subproblem SHPk(X), k E Vs, isas follows:

    (SHPk(X)) k(X) = min d('(X)xk (48)(i, j)EA

    s.t. 0X = 1, (4)Jerk

    Sxo = 1, (5)jEIr

    -je

    Xji-xk

    iE Vc, (6)

    Xi O, i E Vc.A feasible solution of SHPk(X) corresponds to a path

    from server k to the workplace 0 of duration less than orequal to Tk and involving no more than Qk arcs. Becausethe arc costs {d } can be negative, the graph G can containnegative cost circuits; thus the path corresponding to theoptimal solution of SHPk(X) is not necessarily simple.

    A path P = ((i1, i2), (i2, i3), ...I (iq, 0)) in graph G, notnecessarily simple, involving q arcs and such that the sumof the arc travel times is equal to t, is called (q, t)-path.

    In the following, we describe a dynamic programming

    algorithm of complexity O(TmaQmaxn2), where Tmax =

    This content downloaded from 1 47.91.1.41 on Fri, 27 Jun 2014 06:22:39 AMAll use subject to JSTOR Terms and Conditions

    http://www.jstor.org/page/info/about/policies/terms.jsphttp://www.jstor.org/page/info/about/policies/terms.jsphttp://www.jstor.org/page/info/about/policies/terms.jsp
  • 8/12/2019 Baldaji an Exact Method for Carpooling Problems

    10/19

    Baldacci, Maniezzo, and Mingozzi: Exact Method or the Car Pooling Problem430 Operations Research 52(3), pp. 422-439, C 2004 INFORMS

    maXkVs [Tk]and Qmax = maxkEV[Qk, for computing q, t)-paths, with the restriction that a (q, t)-path can not containloops formed by three consecutive vertices (see Christofideset al. 1981).

    Let f(q, t, i) be the cost of the least cost (q, t)-path fromvertex ie

    V'to the

    workplace0 and let

    7r(q, t, i)be the

    vertex immediately after i in the least cost path of valuef(q, t, i).

    Let g(q, t, i) be the cost of the least cost (q, t)-path fromi E V' to the workplace 0, such that y(q, t, i) # 7(q, t, i),where y(q, t, i) is the vertex just after i in the least costpath corresponding to g(q, t, i).

    For given values of q and t < 1,- ei, let h(i, j) be thecost of the least cost (q, t)-path from i to 0, with j E Fi justafter i and without loops.

    We can set h(i, j) = oo if the travel time t does not allowto reach the workplace before min[li, lj]. An upper boundon the maximum travel time from i to the workplace of anyfeasible path visiting j immediately after i can be obtainedby means of the following observation. The server cannotstart from i before time eii = max[ei, ej - tij] without wait-ing at j until time ej. Therefore, the maximum travel timefrom i to the workplace cannot be longer than

    TL, = min[li, lj] - eij. (56)

    Hence, h(i, j) can be computed Vj E Fi as

    h(i, j) = oc if t > TLp, (57)

    otherwise

    f (q - 1, t - ti, j) + dIj

    if 7r(q -1,

    t -tij),

    j) i,h(i, j)= (58)

    g(q - 1, t - tij, j) + djotherwise.

    Given the function h computed as in (58), functions f, irand g, y can now be computed for the given values q and tas follows:

    f(q, t, i) = min[h(i, j)] (59)

    7r(q, t, i) = j',where j' e Fi is the vertex producing the above minimum;

    g(q, t, i) = in [h(i, j)],jEqri\) I(60)

    y(q, t, i) = j ,

    where j e Fi is the vertex producing the above minimum.The optimal solution cost of each subproblem SHPk(k),k e V,, is given by

    ~k(X) = min [f(q, t, k)]. (61)itOtqQk

    tkO

  • 8/12/2019 Baldaji an Exact Method for Carpooling Problems

    11/19

    Baldacci, Maniezzo, and Mingozzi: Exact Method or the Car Pooling ProblemOperations esearch 2(3), pp. 422-439, C 2004 INFORMS 431

    PROOF. olution (u, v) satisfies constraints (24) of DSP'because expressions (65) impose ui < p', i E Vc.

    Considera feasible path ( 0

    $. From expressions (65) we obtain

    E ui +-U,()

    Smax, where.ma

    is the same a priori defined parameterused in procedure CG, remove from 9 at most I|I - rmaxpaths having the largest positive reduced cost.

    Step 4. iter = iter + 1. If iter > maxiter, then stop. Com-pute an upper bound ,(UB)

    based on solution (ii, i)using the heuristic method described in e4.3.2. Updatez(UB) = min[z(UB), i(UB)]. If z(UB) = LB3, then stop(z(UB) is the optimal CPP solution cost), otherwise com-pute a subgradient vector 0 = (01, ..., O,) related to (ii, i)(see e4.3.1) and update 1 as follows:

    z(UB) -z-, iV',ZiEV'6I

    where a is a positive constant. Return to Step 2.The initial path set 9 at Step 1 and the subset N, at each

    iteration of Step 3, are generated by means of the sameprocedure GENPATH, described in e5, using different input

    parameters.4.3.1. Computing a Subgradient. With the DSP' solu-

    tion (ii, i) with cost z, computed at Step 2 of procedure H3,can be associated a nonnecessary feasible solution (g, y) ofthe LP relaxation of SP' with cost equal to i so that

    ce Jr piYi L 6i/i, (70)eg iEVc iEV'

    where 0 = (01, ..., On).Procedure H3 uses vector 0, at

    Step 4, as a subgradient to update the penalty vector p. Inthe following, we describe a method to compute ( , y) andthe related vector 0.

    Using expressions (65), the cost - of the DSP' solutioncomputed at Step 2, for a given penalty vector Fp, s givenby

    z= (qibi + iii)+ P, (71)

    i V'\V, EiVc

    where Ve = {i: i E Vc, qbi + pi > Pij.Denoting by i,, i E V', the index of the feasible path in

    9 producing bi, i E V', in expressions (64), we have

    c,0I.

    -

    -0f](Pi)

    Zqi (P,) + 4 i + E

    Pi(72)

    iEv'\Vc( P iEv'\vi

    Vc

    This content downloaded from 1 47.91.1.41 on Fri, 27 Jun 2014 06:22:39 AMAll use subject to JSTOR Terms and Conditions

    http://www.jstor.org/page/info/about/policies/terms.jsphttp://www.jstor.org/page/info/about/policies/terms.jsphttp://www.jstor.org/page/info/about/policies/terms.jsp
  • 8/12/2019 Baldaji an Exact Method for Carpooling Problems

    12/19

    Baldacci, Maniezzo, and Mingozzi: Exact Method or the Car Pooling Problem432 Operations Research 52(3), pp. 422-439, C 2004 INFORMS

    Let - be the set of all distinct elements of {fe: i E V'\Vc}and let I, = {i: i e V'\Vc, i-

    =-},

    L E Y. Using sets - and

    I,, f e Ye, expression (72) becomes

    q P)(P

    e q(Pe) iE - t q(Pe) i qi+

    E Ii)+E p. (73)ieV'\Vc iE Vc

    Define a not necessarily feasible solution (Y, y) of the LPrelaxation of problem SP' associated with DSP' by setting

    e qi/q(P)if fe -

    0 otherwise, (74)

    Yi ifieVc' Vc0otherwise,

    Using (Y, y), expression (73) becomes

    = C c;s - y Pf )Sf : litEgs e55 iEVCv

    + Emi(1-

    fti)+E Pi. (75)iEVc iEVc

    Setting Si = Ee,,ir',

    we have

    L (P,)S, = > iL +E iji;fe9

    ieVsiEVc

    hence expression (75) can be written as follows:

    z= E ce+l + pEPE- ( 11)/li

    ->(8i

    + Y- i. (76)ie Vc

    Finally, from expression (76) we derive expression (70)defining the subgradient vector 0 = (01,..., On)as follows:

    S=-(8i- 1) if i E V,, i E V. (77)i

    = -(Si +j- 1) if i E Vc,

    4.3.2. A HeuristicAlgorithm.

    Procedure H3 is inter-woven with a heuristic algorithm, which produces a feasibleCPP solution using the paths of the set - and the corre-sponding vectors g and y (see e4.3.1) computed in Step 2.

    In the following we use R to denote the set of paths ofan emerging CPP solution, and we indicate by degree(i) thenumber of paths in R covering vertex i e V'. The heuristicalgorithm consists of three main steps. The first step definesR as a subset of the path in Y such that every serveris covered by exactly one path of 2, i.e., degree(k) = 1V i e V,. In the second step, the paths of 2 are modifiedso that the final set R represents a feasible CPP solution,which is optimized, in the third step, by means of four

    different local search methods.

    Description of the Heuristic ProcedureStep 0. [Initialization] Set 3 = 0 and degree(i) = 0,

    ViE V'.Step 1. [Add to a a feasible path for each server in Vs]Let L* be the path of _Ysuch that 5e, = maxE,,[ee].

    Remove f* from Y. If degree(i) = 0 for some i E P,*,then update = a U {P,.} and degree(i) = degree(i) + 1,i E P*,. Repeat Step 2 until Z 0.

    Step 2. [Modify the paths in a so that degree(i) ( 1,i V']

    For each P e compute the savings which can beachieved by removing every i E P with degree(i) > 1. LetP* E a be the path of maximum saving. Remove from P*every i E P* with degree(i)> 1 and update degree(i)=degree(i) - 1.

    Repeat Step 2 until degree(i) < 1, i E V.Step 3. [Improve the current CPP solution]The path set a and the subset of unrouted clients U =

    {i: i E Vcand degree(i) = 0} represent a feasible CPP solu-tion. This solution is improved using the post-optimizationprocedure described in the following. The cost z(UB) of thefinal CPP solution is then given by z(UB) = >pi> c(P) +ZiEU Pi-

    Post-Optimization Procedure. The post-optimizationprocedure for improving a feasible CPP solution applies insequence the following four local search strategies.

    (a) [Exchange of two vertices between two paths of 3]For all pairs of paths P, P' E , and for each i e P

    and j E P', compute the saving, sav(i, j), obtained by mov-

    ing i from P to P' and j from P' to P. The two verticesi* E P and j*E P' producing the maximum saving are thenexchanged if sav(i*, j*) > 0. This procedure is repeateduntil sav(i*, j*) < 0.

    (b) [Removing clients from the paths of 3]For each path P of 3 compute, for each client i E P, the

    saving rem(i) = di, + dij2 djl0- Pi, where j, and j2 are

    the vertices of P immediately before and after i, achievedby removing client i from P. Client i* such that rem(i*) =

    maxiEVc\u[rem(i)] 0 is then removed from path P andinserted in U. This procedure is repeated until rem(i) < 0for each client.

    (c) [Insert unvisited clients in the paths of2]Compute the minimum cost mc(i) for inserting the

    unrouted client i E U in a path of 3k without violat-ing path constraints. Client i* such that pi, - mc(i*) =maxiE [p, - mc(i)] > 0 is then removed from U andinserted into the path producing mc(i*). The procedure isrepeated until pi - mc(i) O, i E U.

    (d) [Exchanging unvisited clients with routed clients]For each i e Vc\U compute the saving exch(i,j)

    obtained by removing i from its path Pp(i) and by insert-ing j e U in P,(i) after the removal of i. The value ofexch(i, j) is given by exch(i, j) = rem(i) + (pj - mc(j)),where rem(i) and mc(j) are computed as described in (b)and (c), respectively. Let i* and j* be the pair of clients

    This content downloaded from 1 47.91.1.41 on Fri, 27 Jun 2014 06:22:39 AMAll use subject to JSTOR Terms and Conditions

    http://www.jstor.org/page/info/about/policies/terms.jsphttp://www.jstor.org/page/info/about/policies/terms.jsphttp://www.jstor.org/page/info/about/policies/terms.jsp
  • 8/12/2019 Baldaji an Exact Method for Carpooling Problems

    13/19

    Baldacci, Maniezzo, and Mingozzi: Exact Method or the Car Pooling ProblemOperations esearch 2(3), pp. 422-439, C 2004 INFORMS 433

    producing the maximum saving. If exch(i*, j*) > 0 thenremove i* from p(i*) and insert j* in Pp(i.) in the posi-tion producing mc(j*). The procedure is repeated until apositive exchange saving is obtained.

    Whenever one of the four strategies improves the solu-

    tion,then the

    post-optimizationroutine s restarted rom the

    beginning.

    5. A Dynamic Programming Methodfor Generating Paths

    In this section, we describe procedure GENPATH or gen-erating the sets 9 and N used by procedures CG and H3and the set 9 required by the exact method described in e3.Given a DSP solution (u', v') and two user-defined param-eters gap and A, GENPATH produces the largest subset YSof 91satisfying the following conditions:

    (a) max[c] < min [c'],

    (b) IPI A, and (78)(c) max[c'] < gap,eE&Se

    where c' = c, - ie U - V(), ' E1P and fi= SP n i,

    Vie V,.GENPATH iteratively appends to Sf the feasible path* e \Sf of minimum reduced cost and terminates as soon

    as either inequality (b) or inequality (c) is violated.Parameters, gap, and A permit to use GENPATH o gen-

    erate the path subsets required by bounding procedures CG

    and H3 and the exact method of e3.* ~ at Step 1 of CG. Define (u', v') = (0, 0), set gap =oc and A = Ormn.

    * N at Step 3 of CG. Define (u', v')= (ii, i), setgap=O and A = &.

    * P at Step 1 of H3. Define (u', v') = (u', v') + (u2, v2),set gap = oo and A = Or' in

    * N at Step 3 of H3. Define (u', v')= (u', v') +(u2, v2) + (ii, i), set gap = 0 and A = &.

    * Y at Step 2 of the exact method of e3. Define(u', v') = (u1, v1) + (u2, v2) + (u3, v3), set gap = z(UB) -z'(DSP) and A = Amax.

    In the description of GENPATH we will use the follow-ing definitions and notations.

    Let P = (i1, i21 .., ir) be a path from server o-(P) = i1 tovertex ir of G. We indicate with S(P) = {i,, i2 .... ir}

    theset of vertices visited by path P, with r(P)= tili2 +. ..-tir_lir the travel time of P, with cp(P) = ir the terminalvertex of P, and with b(P) the departure time from theterminal client tp(P).

    A feasible partial path is a path P = (i1, i2 ..., ir) fromserver

    iIto client

    i0E Vc such that its completion P',obtained by appending to P the workplace 0, is a feasible

    path.We denote by c'(P) the reduced cost of a path P with

    respect to a feasible DSP solution (u', v'). As described in

    e4.2, c'(P) corresponds to the cost of P in G using the arccosts d' V(i, j) E A, defined according to expressions (44).

    We denote by LB(P) a lower bound on the reducedcost of any feasible path obtained from the feasible partialpath P. LB(P) can be computed as follows:

    f(q, t, i,)if zr(q, t, i,) 4 S(P),LB(P) = c'(P)+ minif q t S(P)

    I0q

  • 8/12/2019 Baldaji an Exact Method for Carpooling Problems

    14/19

    Baldacci, Maniezzo, and Mingozzi: Exact Method for the Car Pooling Problem434 Operations esearch 2(3), pp. 422-439, C 2004 INFORMS

    Table 2. Instances of classes A and B: lower bounds.

    Probl %LB, %LB2 %LB3 %z(UB) tz(UB) tHDSP %LBCG I tCGAl 83.7 97.6 99.1 174 100.6 0.1 0.3 99.1 477 0.0A2 74.6 97.2 99.9 496 100.0 0.2 0.9 100.0 833 0.4A3 79.8 93.8 97.1 785 100.1 1.2 3.1 97.2 1,142 1.0A4 97.5 99.6 99.8 2,087 100.2 4.3 11.8 99.9 2,414 12.8A5 87.7 97.9 98.9 1,395 101.6 2.5 22.1 99.0 2,135 37.5A6 87.1 96.6 99.6 1,550 101.6 4.9 37.8 99.6 2,144 37.1A7 71.0 85.1 99.3 1,081 100.1 1.9 8.1 99.3 1,382 3.0A8 97.5 99.4 99.8 2,926 100.1 8.6 24.5 99.9 3,370 72.1A9 89.9 98.2 99.8 1,497 100.6 3.4 15.6 99.8 2,627 28.7

    A10 98.4 99.6 99.9 3,870 100.3 9.8 34.5 99.9 3,816 280.0All 77.0 88.7 98.7 1,428 107.1 4.4 20.0 98.9 2,114 17.2A12 86.3 95.7 99.8 1,549 101.0 5.3 28.5 99.8 2,579 24.5

    Avg. 85.9 95.8 99.3 1,570 101.5 3.3 17.3 99.4 2,086 42.9

    B1 78.1 99.5 99.9 1,080 100.0 0.9 3.3 100.0 1,388 3.2B2 97.2 99.7 99.9 1,171 100.1 1.0 3.6 99.9 1,768 5.7B3 74.8 97.9 98.3 1,118 101.7 0.5 3.1 98.4 1,199 2.3

    B4 90.7 99.9 100.0 1,002 100.0 0.3 1.6 100.0 1,110 1.6B5 91.1 99.6 99.9 1,166 100.0 1.1 6.7 99.9 1,479 5.8B6 94.4 99.3 99.4 1,450 100.2 0.8 3.4 99.5 1,480 6.6B7 93.9 99.3 99.4 1,304 103.5 1.1 9.7 99.5 1,683 13.9

    B8 (a) 94.2 98.7 99.0 1,505 101.2 1.5 10.1 99.0 1,933 18.0B9 89.3 98.2 99.2 1,342 102.0 2.1 42.5 99.2 2,056 42.9

    B10 (a) 93.3 98.9 99.0 2,021 101.1 1.6 7.3 99.1 1,989 12.6Bll (a) 88.6 98.0 98.3 1,886 102.2 2.3 7.4 98.3 2, 181 9.4B12 84.1 99.3 99.7 2,033 101.3 1.6 18.8 99.7 2,358 58.4

    B13 (a) 87.5 97.8 98.5 1,932 103.2 4.1 23.1 98.5 2,230 37.8B14 (a) 81.1 96.7 97.2 1,950 103.1 3.0 29.1 97.2 2,588 48.3B15 (a) 84.4 98.9 99.0 1,968 102.2 3.1 40.3 99.0 2,201 28.4B16 (a) 82.4 97.4 97.7 1,864 103.9 3.5 21.6 97.7 2,179 15.6B17 (a) 76.0 98.1 98.8 1,750 102.5 2.5 40.9 98.8 2,249 29.8B18 (a) 70.8 98.3 98.5 1,983 101.9 2.9 50.5 98.6 2,689 64.9

    B19 (a) 86.6 99.3 99.6 3,191 101.9 6.2 50.0 99.6 2,871 69.0B20 81.8 98.9 99.3 2,189 100.0 4.4 51.1 99.3 2,721 48.5B21 94.5 99.7 99.9 3,279 100.6 5.4 31.2 99.9 2,943 75.8B22 (a) 85.3 98.4 98.6 2,611 103.7 6.4 77.6 98.7 3,477 117.5B23 (a) 79.8 97.9 98.7 2,730 108.3 7.8 30.4 98.8 3,263 72.7

    Avg. 86.1 98.7 99.0 1,849 101.9 2.3 24.5 99.1 2, 175 34.3

    Note. (a) Instance not solved to optimality by the exact method.

    at the last vertex of P. The set PERM will denote those

    partial paths whose cost c'(P) is minimal.Denote by LB(k) the lower bound computed accordingto expression (79) for the feasible partial path P = (k),k V,.

    Description of Procedure GENPATHStep 0. Set TEMP= {(k): Vk E V,, LB(k) < gap}, where

    c'(k) = 0, r(k) = 0, and b(k) = ek, V k e V,. Initialize Y2=0 and PERM = 0.

    Step 1. If TEMP= 0 then Stop.Step 2. Let P* e TEMP be such that LB(P*) =

    minPETEMP[LB(P)].Update TEMP = TEMP\{P*} and PERM = PERMU (P* }.

    If 0 go to Step 4.

    Step 3. Add P* to Y, i.e., 5 = SU {P*}. If I Ik lA,,Vk e Vs, or I.Y = A2 then Stop; otherwise go to Step 1.Step 4. For every j E Vc

    U {0}\S(P*), repeat the follow-

    ing Step 5.

    Step 5. Consider the path P obtained appending client jat the end of P* and let h = c'(P*) + d'~(.)J,

    W =T(P*) +

    t (P.)j, and /3 = max[b(P*) + t~(p*.), ej].The expanded path P can be rejected because of one of

    the following tests:

    (A) Feasibility test. The path obtained by appending 0to P (unless j = 0) does not satisfy path constraints (seee1).

    (B) Lower bound test. LB(P) > gap.

    This content downloaded from 1 47.91.1.41 on Fri, 27 Jun 2014 06:22:39 AMAll use subject to JSTOR Terms and Conditions

    http://www.jstor.org/page/info/about/policies/terms.jsphttp://www.jstor.org/page/info/about/policies/terms.jsphttp://www.jstor.org/page/info/about/policies/terms.jsp
  • 8/12/2019 Baldaji an Exact Method for Carpooling Problems

    15/19

    Table

    3.

    Instances

    ofclasses

    Aand

    B:exact

    method.

    iter

    =1,Amax

    =5,000

    iter

    =2,Amax

    =10,000

    iter

    =3,Amax

    =90,000

    Probl

    n

    z(UB)

    uns

    191

    z*(SP')

    uns*

    %Newb

    tTOT

    I9I1

    z*(SP')

    uns*

    %Newb

    tTOT

    I-I

    z*(SP')

    uns*

    %Newb

    tfTO

    Al

    51

    1,209

    9

    149

    1,202

    9

    0.3

    A2

    76

    1,490

    8

    147

    1,490

    8

    0.9

    A3

    101

    1,379

    3

    2,984

    1,378

    3

    3.6

    A4

    121

    2,352

    0

    5,000

    2,348

    0

    13.2

    A5

    121

    1,980

    0

    5,000

    1,969

    (a)

    0

    99.3

    26.2

    10,000

    1,969

    (a)

    0

    99.4

    3,628.7

    90,000

    1,949

    0

    5,112.5

    A6

    135

    2,308

    0

    5,000

    2,271

    (a)

    0

    99.8

    42.8

    10,000

    2,271

    (a)

    0

    99.9

    49.3

    20,345

    2,271

    0

    58.6

    A7

    151

    2,093

    6

    3,506

    2,091

    6

    8.7

    A8

    171

    2,876

    0

    5,000

    2,872

    (a)

    0

    99.9

    31.3

    10,000

    2,872

    0

    39.3

    A9

    171

    2,683

    0

    5,000

    2,668

    0

    22.7

    A10

    196

    3,195

    0

    5,000

    3,187

    0

    55.9

    All

    200

    2,525

    7

    5,000

    2,355

    (a)

    4

    99.4

    73.4

    10,000

    2,355

    (a)

    4

    99.8

    85.4

    14,428

    2,355

    4

    99.6

    A12

    226

    2,366

    1

    5,000

    2,343

    1

    31.0

    B1

    101

    1,509

    17

    2,382

    1,509

    17

    3.5

    B2

    101

    1,486

    15

    5,000

    1,484

    15

    4.4

    B3

    101

    1,470

    20

    5,000

    1,445

    (a)

    19

    98.6

    3.9

    10,000

    1,445

    (a)

    19

    99.0

    5.0

    13,608

    1,445

    19

    6.39

    B4

    101

    2,218

    29

    705

    2,218

    29

    1.7

    B5

    101

    1,593

    14

    2,268

    1,593

    14

    6.8

    B6

    101

    1,284

    11

    5,000

    1,284

    (a)

    11

    99.6

    5.7

    10,000

    1,282

    (a)

    11

    99.7

    10.9

    72,997

    1,282

    11

    28.1

    B7

    101

    1,379

    12

    5,000

    1,333

    (a)

    11

    99.8

    12.8

    10,000

    1,333

    (a)

    11

    99.9

    16.4

    16,853

    1,333

    11

    22.5

    B8

    151

    1,988

    19

    5,000

    1,985

    (a)

    19

    99.2

    14.0

    10,000

    1,985

    (a)

    19

    99.2

    20.1

    90,000

    1,985

    (a)

    19

    99.8

    73.9

    B9

    151

    2,010

    22

    5,000

    1,970

    (a)

    21

    99.4

    52.6

    10,000

    1,970

    (a)

    21

    99.4

    70.8

    55,242

    1,970

    21

    159.5

    B10

    151

    2,562

    29

    5,000

    2,560

    (a)

    29

    99.3

    8.3

    10,000

    2,560

    (a)

    29

    99.3

    10.6

    90,000

    2,560

    (a)

    29

    99.4

    36.6

    Bl1

    151

    2,018

    16

    5,000

    2,012

    (a)

    16

    98.4

    8.7

    10,000

    2,010

    (a)

    16

    98.4

    13.3

    90,000

    2,010

    (a)

    16

    98.5

    47.1

    B12

    151

    1,695

    15

    5,000

    1,674

    (a)

    14

    99.8

    21.4

    10,000

    1,674

    (a)

    14

    99.8

    24.2

    54,554

    1,674

    14

    41.3

    B13

    201

    2,507

    26

    5,000

    2,475

    (a)

    25

    98.7

    26.8

    10,000

    2,472

    (a)

    25

    98.8

    32.0

    90,000

    2,467

    (a)

    25

    98.9

    352.3

    B14

    201

    2,293

    20

    5,000

    2,293

    (a)

    20

    97.5

    31.5

    10,000

    2,293

    (a)

    20

    97.5

    35.1

    90,000

    2,289

    (a)

    20

    98.1

    155.4

    B5

    201

    3,147

    34

    5,000

    3,138

    (a)

    34

    99.2

    286.8

    10,000

    3,125

    (a)

    34

    99.2

    3,888.4

    90,000

    3,109

    (a)

    33

    99.8

    7,200.0

    B16

    201

    3,217

    37

    5,000

    3,213

    (a)

    37

    97.8

    23.2

    10,000

    3,213

    (a)

    37

    97.8

    25.8

    90,000

    3,172

    (a)

    36

    98.7

    3,633.5

    B17

    201

    3,705

    38

    5,000

    3,677

    (a)

    37

    98.9

    43.8

    10,000

    3,677

    (a)

    37

    98.9

    51.5

    90,000

    3,660

    (a)

    37

    99.8

    2,139.6

    B18

    201

    2,532

    23

    5,000

    2,521

    (a)

    23

    98.7

    54.0

    10,000

    2,521

    (a)

    23

    98.7

    57.9

    90,000

    2,521

    (a)

    23

    99.4

    81.3

    B19

    251

    3,292

    32

    5,000

    3,290

    (a)

    32

    99.6

    3,648.7

    10,000

    3,283

    (a)

    32

    99.6

    3,693.6

    90,000

    3,244

    (a)

    31

    99.7

    4,027.7

    B20

    251

    3,313

    34

    5,000

    3,313

    (a)

    34

    99.4

    53.5

    10,000

    3,312

    (a)

    34

    99.4

    57.2

    59,702

    3,312

    34

    96.7

    B21

    251

    3,694

    36

    5,000

    3,688

    (a)

    36

    99.9

    33.8

    10,000

    3,676

    (a)

    36

    99.9

    41.1

    90,000

    3,676

    36

    68.8

    B22

    251

    3,400

    32

    5,000

    3,324

    (a)

    30

    98.2

    164.3

    10,000

    3,324

    (a)

    30

    98.2

    317.1

    90,000

    3,323

    (a)

    30

    98.3

    2,903.4

    B23

    251

    3,207

    26

    5,000

    3,003

    (a)

    25

    93.9

    207.4

    10,000

    3,000

    (a)

    25

    93.9

    231.8

    90,000

    3,000

    (a)

    25

    94.0

    339.2

    Note.

    (a)The

    optimal

    SP'solution

    was

    notproved

    tobeanoptimal

    CPP

    solution.

    Baldacci, Maniezzo, and Mingozzi: Exact Method or the Car Pooling ProblemOperations esearch 2(3), pp. 422-439, C 2004 INFORMS 435

    This content downloaded from 1 47.91.1.41 on Fri, 27 Jun 2014 06:22:39 AMAll use subject to JSTOR Terms and Conditions

    http://www.jstor.org/page/info/about/policies/terms.jsphttp://www.jstor.org/page/info/about/policies/terms.jsphttp://www.jstor.org/page/info/about/policies/terms.jsp
  • 8/12/2019 Baldaji an Exact Method for Carpooling Problems

    16/19

    Baldacci, Maniezzo, and Mingozzi: Exact Method for the Car Pooling Problem436 Operations Research 52(3), pp. 422-439, C 2004 INFORMS

    Table 4. Instances of class C: lower bounds.

    Probl Irf %Dens I 1 tGEN %LB3 |Pf %z(UB) tz(UB) tHDSP %LBCG I l tCGC1 18.3 59.4 6,095 0.1 99.9 624 100.0 0.0 0.7 100.0 767 0.4C2 27.0 60.6 43,588 0.9 99.0 830 100.6 0.8 2.8 99.1 1,111 1.5C3 34.1 62.8 168,591 4.2 99.3 893 100.2 1.9 5.2 99.3 1,371 3.1C4 69.7 74.7 6,989,171 454.0 99.9 2,121 100.3 6.4 15.0 99.9 2,679 180.3C5 47.8 70.5 8,211,109 (*) 428.6 98.7 1,394 101.8 2.5 18.3 98.8 2,030 90.2C6 64.9 75.9 2,256,364 (*) 461.6 99.6 1,564 101.2 13.9 142.1 99.7 2,796 1,291.0C7 46.7 59.1 487,423 13.2 99.5 1,105 100.5 3.5 11.4 99.6 1,940 15.5C8 89.6 73.8 553,273 (*) 275.4 99.8 2,994 100.2 16.2 36.8 - - 1,800.0C9 82.7 69.7 6,582,518 (*) 423.8 99.7 1,781 101.1 6.4 33.7 99.7 3,467 747.5

    C10 103.5 74.6 315,857 (*) 264.3 99.9 3,697 100.1 18.8 43.5 - - 1,800.0C11 65.1 62.5 2,541,487 94.3 99.4 1,604 100.7 14.2 36.3 99.5 2,866 249.8C12 77.7 63.3 4,563,924 209.2 99.5 1,407 101.2 13.7 42.5 99.5 3,176 281.1

    Average 99.5 1,668 100.7 7.5 32.4 99.5 2,220 286.0

    Note. (*)GENPATH erminates prematurely or memory overflow, .e., ITEMPI 16,000,000.

    (C)Dominance test.

    S(P)=

    S(P), tp(P)=

    p(P),h

    >c'(P), o > 7(P), and p8> b(P) for some P e PERMU TEMP.If P is not rejected by tests A, B, or C, then update TEMP

    as follows:* Remove from TEMP ny path P which is dominated

    by P, i.e., S(P) = S(P), cp(P) = (p(P), h < c'(P), wo7(P), and 8< b(P).

    * Insert P in TEMP and set c'(P) = h, T(P) = to, andb(P) = P.

    Step 6. Return to Step 1.

    6. Computational Results

    The column generation algorithm CG described in e2, theexact algorithm described in e3, and the heuristic algorithmdescribed in e4.3.2 have been coded in Fortran 77 and runon a Pentium 4 personal computer running at 2.2 MHzunder Windows XP. We used CPLEX 7.1 as the LP solverin algorithm CG and as the integer programming solver inthe exact method. The algorithms were evaluated on threeclasses of test problems, called A, B, and C, respectively.

    For problems of classes A and B, the values of maximumride time Tk of each server k e V,, of the penalty Pi ofeach client i E Vc,of the earliest departure and latest arrivaltimes ei and 1i of each employee i E V', were generated tosimulate real-world

    applications.Class A is composed of 12 problems with the num-ber of employees ranging from 50 to 225. The problemsof class A were derived from VRP instances described inChristofides and Eilon (1969), Christofides et al. (1979),and Fisher (1994). For each VRP instance, we retained thecoordinates of the depot, which becomes the workplace,and of the customers, which are considered as employ-ees. The cost di was computed as an integer value equalto [edij], where edij is the Euclidean distance betweenemployees i and j. Travel times {tij} were assumed tobe equal to the distances. For each instance the numberof servers ns was set equal to n/4, and the servers were

    randomly chosen among the employees. For each server

    k EVs,

    the carcapacity Qk

    was set withequal probability

    to4 or to 5, and the maximum ride time was defined as Tk=1.5tkO. Penalties pi, i E V,, were computed as pi = 2dio.Latest arrival times li, i E V', were uniform randomlyselected in the interval [480, 570], and earliest departuretimes ei, i E V', were computed as ei = Ii - max[tio +30, 2tio0].

    Class B is composed of 23 problems with the number ofemployees ranging from 50 to 250. The problems of class Bwere derived by randomly selecting the specified number ofclients and servers from a big. (600) real-world instanceprovided by a research institution in Italy. The values ofTk and Qk , k E V,, of Pi, i E V,, of

    ei

    and li, i E V', were

    generated as for problems of class A.Each problem of class C is derived from a problem of

    class A by increasing the maximum ride time of each serverk e V, and by relaxing the earliest departure ei and thelatest arrival time 1i of each employee i E V' as follows.We set Tk= 2tkO, k E V,, subtracted 15 from ei and added15 to Ii, i E V'. All test problems are available on requestfrom the authors.

    A time limit of 1,800 seconds has been imposed to pro-cedure CG for each instance. Moreover, to avoid mem-ory overflow, GENPATH terminates when the size of setTEMP ontains 16 millions temporary partial paths. Thislimit does not affect the exact

    method,but GENPATH was

    unable to compute all feasible paths for some problems ofclass C (marked with an asterisk in Table 4).

    The computational results reported in the tables wereobtained using the following values of the different param-eters. In procedure H2, the maximum number of itera-tions and the value of e were set equal to 200 and 2.0,respectively. In procedure H3, we set maxiter = 2,000 anda = 2.4. In procedures CG and H3, we used = 500,S= 50, Oma = 4,000. The results for the exact method

    were obtained by setting itermax = 3, gapmax = 0 andthe value of Amaxused at each iteration was defined asfollows: Am = 5,000 for iter = 1, Amax = 10,000 for

    iter = 2, and Amax = 90,000 for iter = 3. A time limit of

    This content downloaded from 1 47.91.1.41 on Fri, 27 Jun 2014 06:22:39 AMAll use subject to JSTOR Terms and Conditions

    http://www.jstor.org/page/info/about/policies/terms.jsphttp://www.jstor.org/page/info/about/policies/terms.jsphttp://www.jstor.org/page/info/about/policies/terms.jsp
  • 8/12/2019 Baldaji an Exact Method for Carpooling Problems

    17/19

    Table

    5.

    Instances

    ofclass

    C:exact

    method.iter

    =1,Am

    =5,000

    iter

    =2,Amax

    =10,000

    iter

    =3,Ama

    =90,000

    Probl

    n

    z(UB)

    uns

    19

    z*(SP')

    uns*

    %Newb

    t

    I7|

    z*(SP')

    uns*

    %NewNewb

    tTT,

    191

    zz(SP*)

    uns*

    %Newb

    ttar

    C1

    51

    615

    0

    114

    615

    0

    0.7

    C2

    76

    958

    1

    5,000

    952

    0

    4.8

    C3

    101

    1,102

    0

    5,000

    1,100

    0

    8.4

    C4

    121

    2,339

    0

    5,000

    2,336

    (a)

    0

    99.9

    20.4

    10,000

    2,332

    0

    35.7

    C5

    121

    1,909

    0

    5,000

    1,900

    (a)

    0

    98.9

    120.5

    10,000

    1,899

    (a)

    0

    99.1

    7,166.2

    90,000

    1,899

    (a)

    0

    99.4

    7,200.0

    C6

    135

    2,197

    0

    5,000

    2,180

    (a)

    0

    99.8

    248.1

    10,000

    2,171

    (a)

    0

    99.9

    403.4

    90,000

    2,171

    0

    499.7

    C7

    151

    1,446

    0

    5,000

    1,439

    (a)

    0

    99.9

    19.9

    8,656

    1,439

    0

    26.7

    C8

    171

    2,51

    0

    5,000

    2,844

    (a)

    0

    99.9

    51.2

    10,000

    2,844

    (a)

    0

    99.9

    59.4

    90,000

    2,844

    0

    152.8

    C9

    171

    2,585

    0

    5,000

    2,565

    (a)

    0

    99.8

    136.4

    10,000

    2,557

    (a)

    0

    99.8

    891.0

    90,000

    2,557

    0

    1,321.7

    C10

    196

    3,151

    0

    5,000

    3,149

    0

    80.3

    CI

    200

    1,777

    0

    5,000

    1,777

    (a)

    0

    99.7

    144.4

    10,000

    1,764

    (a)

    0

    99.8

    376.6

    55,890

    1,764

    0

    509.5

    C12

    226

    2,089

    0

    5,000

    2,086

    (a)

    0

    99.6

    157.6

    10,000

    2,075

    (a)

    0

    99.7

    971.2

    90,000

    2,075

    (a)

    0

    99.9

    1,366.5

    Note.

    (a)The

    optimal

    SP'solution

    was

    notproved

    tobeanoptimal

    CPP

    solution.

    Baldacci, Maniezzo, and Mingozzi: Exact Method or the Car Pooling ProblemOperations esearch 2(3), pp. 422-439, C 2004 INFORMS 437

    This content downloaded from 1 47.91.1.41 on Fri, 27 Jun 2014 06:22:39 AMAll use subject to JSTOR Terms and Conditions

    http://www.jstor.org/page/info/about/policies/terms.jsphttp://www.jstor.org/page/info/about/policies/terms.jsphttp://www.jstor.org/page/info/about/policies/terms.jsp
  • 8/12/2019 Baldaji an Exact Method for Carpooling Problems

    18/19

    Baldacci, Maniezzo, and Mingozzi: Exact Method for the Car Pooling Problem438 Operations esearch 2(3), pp. 422-439, C 2004 INFORMS

    7,200 seconds was imposed to the exact method for eachinstance.

    Table 1 shows the main characteristics of the instances ofclasses A and B. For each instance, we report the instanceidentifier (Probl), the total number of employees (n), thenumber of servers

    (ns),the number of clients

    (n,),the

    average number of successors (IFI) of each server, andthe density (%Dens) of the arc set of graph G after thereductions of e1.1. The next two columns of Table 1 showthe total number of feasible paths (191) required by formu-lation SP and the computing time (tGEN) pent by procedureGENPATH or generating these paths.

    In Table 2, we compare procedures HDSP and CG. Foreach instance, we report the percentages (%LB1, %LB2,and %LB3) of the lower bounds obtained by proceduresH', H2, and H3 with respect to the optimal solution value(or the value of the best solution) z* found by the exactmethod, the final number of columns (1 1) generated byH3, the percentage of the upper bound value (%z(UB))given by the heuristic of e4.3.2 with respect to the optimalsolution value (or the final lower bound LB3 if the opti-mal solution was not available), the computing time takenby the heuristic method (tz(UB)),and the total computingtime (tHDsP) pent by bounding procedure HDSP. Note thattHDSP ncludes tz(UB).The next three columns of Table 2concern procedure CG and show the percentage of lowerbound LBCGwith respect to z* (%LBCG), he final numberof columns generated (1911), nd the computing time (tCG).

    Table 3 shows the results obtained by the heuristic algo-rithm and the exact method. For each instance, we report

    the upper bound value (z(UB)) and the number of unroutedclients (uns). The next three blocks of columns show thedetails of the three iterations of the exact method. For eachiteration, we report the iteration number (iter), the valueof Amax, the number of columns generated ( -1), he valueof the optimal solution of the reduced integer program SP'(z*(SP')) and the corresponding number of unvisited clients(uns*), the percentage of lower bound Newb with respect toz*(SP') (%Newb), and the total computing time up to thecurrent teration iter (tTor).Tables 4 and 5 report the computational results forinstances of class C. These last two tables show the sameinformation as Tables 1, 2, and 3.

    Table 1 indicates that, after the reductions, the graph Gof each instance contains, on average, about 40% of theoriginal arcs and several instances (for example A8, A10,B21, and B23) correspond to huge SP problems involvingmore than 2,000,000 columns. Table 2 shows the differenteffectiveness of the three bounding procedures H', H2, andH3 used by procedure HDSP. Lower bound LB,, given byH', is the worst of the three, but it permits a fast initializa-tion of the dual variables. Lower bound LB2, given by H2,is effective on most of the problems, even though in a fewinstances it still suffers of a large gap from optimality. Wedo not report in Table 2 either the computing time of H',which is negligible, or the computing time of H2, which

    requires on average 60% of the total computing time tHDSPof HDSP. Building on the dual solution obtained by H2,lower bound LB3, computed by H3, closes the gap fromoptimality on all instances. In our computational experience(not reported n the tables) we noticed that if H' and/or H2were left

    out,then HDSP becomes slower but it continues

    to be on average faster than CG. Table 2 indicates that CGproduces a slightly better lower bound than HDSP; how-ever, HDSP is on average faster than CG: two times fasteron problems of class A and 40% faster on problems ofclass B. The computing time required by our exact method(see Table 3) to solve to optimality problems A8, A9, A1O,B12, and B21 is less than the time required by CG to com-pute the corresponding lower bounds. Column %z(UB) ofTable 2 indicates the effectiveness of the heuristic algorithminterlaced with bounding procedure H3

    Table 3 shows that the exact procedure is able to solve,within the imposed number of iterations and time limit, all

    problems of class A and 11 problems of class B out of23. Table 4 indicates that GENPATH is not able to gen-erate all feasible paths for problems C5, C6, C8, C9, andC10, because of the imposed memory limit, i.e., ITEMPI16,000,000. Procedure HDSP is on average nine timesfaster than procedure CG. Procedure CG is unable to com-pute a valid lower bound for problems C8 and C10 withinthe imposed time limit of 1,800 seconds, but the exactmethod (see Table 5) can solve C8 and C10 to optimalityin 152.8 and 80.3 seconds, respectively. The computationalperformance of CG deteriorates because, at several itera-tions of CG, the optimal cost of the LP relaxation of themaster does not decrease with

    respectto the

    previousiter-

    ations. Because the LP relaxation of the master problem isusually highly degenerate, there are many alternative opti-mal dual solutions. In some cases, the optimal dual solutionobtained does not allow GENPATH to generate new vari-ables which can affect the optimality of the master problemachieved at the previous iteration. Hence, CG can performseveral iterations without being able to find a better optimalsolution of the master. These iterations do not necessarilyproduce many routes, but CG becomes slow.

    Table 5 indicates that instances of class C are harderto solve for our exact method than those of class A, andtwo instances (C5 and C12) out of 12 cannot be solved to

    optimality.

    ReferencesAraque, J. R., G. Kudva, T. L. Morin, J. F. Pekny. 1994. A branch and

    cut algorithm for the vehicle routing problem. Ann. Oper Res. 5037-59.

    Baldacci, R., E. Hadjiconstantinou, V. Maniezzo, A. Mingozzi. 2002.A new method for solving capacitated location problems based on aset partitioning approach. Comput. Oper Res. 29 365-386.

    Bianco, L., A. Mingozzi, S. Ricciardelli. 1994. A set partitioning approachto the multiple depot vehicle scheduling problem. Optim. MethodsSoftware 3 163-194.

    Bianco, L., A. Mingozzi, S. Ricciardelli, M. Spadoni. 1994. Exact andheuristic procedures for the traveling salesman problem with prece-dence constraints, based on dynamic programming. NFOR 32 19-31.

    This content downloaded from 1 47.91.1.41 on Fri, 27 Jun 2014 06:22:39 AMAll use subject to JSTOR Terms and Conditions

    http://www.jstor.org/page/info/about/policies/terms.jsphttp://www.jstor.org/page/info/about/policies/terms.jsphttp://www.jstor.org/page/info/about/policies/terms.jsp
  • 8/12/2019 Baldaji an Exact Method for Carpooling Problems

    19/19

    Baldacci, Maniezzo, and Mingozzi: Exact Method or the Car Pooling ProblemOperations esearch 2(3), pp. 422-439, @2004 INFORMS 439

    Christofides, N., S. Eilon. 1969. An algorithm for the vehicle dispatchingproblem. Oper.

    Res. Quart. 20 309-318.Christofides, N., A. Mingozzi, P. Toth. 1979. The vehicle routing problem.

    N. Christofides, A. Mingozzi, P. Toth, C. Sandi, eds. CombinatorialOptimization. John Wiley and Sons, New York, 315-338.

    Christofides, N., A. Mingozzi, P. Toth. 1981. State space relaxation for the

    computation of bounds to routing problems. Networks 11 145-164.Cordeau, J. F., G. Laporte. 2002. The dial-a-ride problem: Variants, mod-

    elling issues and algorithms. Les Cahiers du GERAD, G-2002-25,Ecole des Hautes Etudes Commerciales, Montr6al, Quebec, Canada.

    Cordeau, J. F, G. Desaulniers, J. Desrosiers, M. M. Solomon, F. Soumis.2002. VRP with time windows. P. Toth, D. Vigo, eds. The VehicleRouting Problem. SIAM Monographs on Discrete Mathematics andApplications. SIAM, Philadelphia, PA, 157-193.

    Desaulniers, G., J. Desrosiers, A. Erdnabb, M. M. Solomon, F. Soumis.2002. VRP with pickup and delivery. P. Toth, D. Vigo, eds. The Vehi-cle Routing Problem. SIAM Monographs on Discrete Mathematicsand Applications. SIAM, Philadelphia, PA, 225-242.

    Desrosiers J., Y. Dumas, F. Soumis. 1986. A dynamic programming olu-tion of the large-scale single-vehicle dial-a-ride problem with timewindows. Amer J. Math. Management Sci. 6 301-325.

    Dumas, Y., J. Desrosiers, F. Soumis. 1991. The pickup and delivery prob-lem with time windows. Eur J. Oper Res. 54 7-22.

    Fischetti, M., P. Toth. 1989. An additive bounding procedure for combi-natorial optimization problems. Oper. Res. 37 319-328.

    Fisher, M. L. 1994. Optimal solution of vehicle routing problems usingminimum K-Trees. Oper Res. 42 626-642.

    Kohl, N., J. Desrosiers, O. B. G. Madsen, M. M. Solomon, F. Soumis.1999. 2-path cuts for the vehicle routing problem with time windows.Transportation Sci. 33 101-116.

    Kuhn, H. W. 1955. The Hungarian method for the assignment problem.Naval Res. Logist. Quart. 2 83-97.

    ILOG CPLEX. 2002. Using the CPLEX callable library and CPLEXmixed integer library. ILOG, Incline Village, NV.

    Letchford, A. N., R. W. Eglese, J. Lysgaard. 2002. Multistars, partial mul-tistars and the capacitated vehicle routing problem. Math. Program-ming 94 21-40.

    Madsen, O. B. G., H. F. Ravn, J. M. Rygaard. 1996. A heuristic algorithm

    for a dial-a-ride problem with time windows, multiple capacities andmultiple objectives. Ann. Oper Res. 60 193-208.

    Mingozzi, A., R. Baldacci, S. Giorgi. 1999. An exact method for thevehicle routing problem with backhauls. Transportation Sci. 33(3)315-329.

    Mingozzi, A., L. Bianco, S. Ricciardelli. 1997. Dynamic programmingstrategies for the traveling salesman problem with time window andprecedence constraints. Oper Res. 45 365-377.

    Mingozzi, A., N. Christofides, E. Hadjiconstantinou. 1994. An exact algo-rithm for the vehicle routing problem based on the set partitioningformulation. Internal report, Department of Mathematics, Universityof Bologna, Bologna, Italy.

    Mingozzi, A., M. Boschetti, S. Ricciardelli, L. Bianco. 1999. A set par-titioning approach to the crew scheduling problem. Oper Res. 47(6)

    873-888.Psaraftis, H. N. 1980. A dynamic programming solution to the single-

    vehicle, many-to-many, immediate request dial-a-ride problem.Transportation Sci. 14 130-154.

    Psaraftis, H. N. 1983. Analysis of an O(n2) heuristic for the single vehiclemany-to-many Euclidean dial-a-ride problem. Transportation Res. B17 133-145.

    Savelsbergh, M., M. Sol. 1998. Drive: Dynamic routing of independentvehicles. Oper Res. 46 474-490.

    Toth, P., D. Vigo. 1997. Heuristic algorithms for the handicapped personstransportation problem. Transportation Sci. 31 60-71.