Download as pdf
Download as pdf
You are on page 1of 33
————_—_—_—_—_—_————————"Coprignt © 2001 All Rights Reserved _ Optimizing Single Vehicle Many-to-Many Operations with Desired Delivery Times: I. Scheduling THOMAS R. SEXTON ‘State University of New York, Stony Brook, New York LAWRENCE D. BODIN University of Maryland, College Park, Maryland A set of n customers is given. Each customer has a desired point of pickup, a desired point of delivery and a desired time of delivery. The problem is to determine the order of pickup and delivery and the times of pickup and delivery of these n customers by a single vehicle in order to minimize total customer inconvenience. Here, a mathematical programming formulating of this problem is subjected to Benders’ decomposition procedure. The result is a heuristic routing and scheduling algorithm which is shown to produce high quality solutions in reasonable computation time by testing on moderately sized real data bases from both Gaithers- burg, Maryland, and Baltimore, Maryland. This study is divided into two parts, the first detailing the scheduling analysis and the second focusing on the routing component. INTRODUCTION W. are presented with a set of n customers each of whom possesses an origin location, a destination location and a desired delivery time. We seek a route and a schedule for a single vehicle with known capacity C which maximizes customer service level or, equivalently, minimizes the total inconvenience for all the customers. There are two types of incon- venience which a customer may experience. These inconveniences are excess ride time and delivery time deviation. ‘© The excess ride time of a customer is defined to be his actual ride time minus his direct ride time. 378 ‘Transportation Science (0041-1655 /85/1904-0378 $01.25 Vol. 19, No. 4, November 1985 © 1985 Operations Research Society of America OPTIMIZING VEHICLE OPERATIONS: 1. SCHEDULING / 379 © The delivery time deviation of a customer is defined to be his desired delivery time minus his actual delivery time. Since we assume that lateness is not allowed, delivery time deviation is always nonnega- tive. @ The total inconvenience of a customer is defined to be a weighted sum of his excess ride time and his delivery time deviation. The weights are assumed to be the same for all customers. © The total inconvenience in the schedule is defined to be the sum of the total inconveniences of the customers. We take as our objective the minimization of the total inconvenience in the schedule. This linear objective function contrasts with the quadratic objective function used by WILSON AND MILLER" for real time dial-a-ride systems. We call this problem the single vehicle many-to-many routing and scheduling problem (SVRS). The term “many-to-many” implies that there need not be any duplication among the locations, i.e., origins and destinations, specified by the customers. Consequently, algorithms de- signed for “many-to-few” or “many-to-one” routing problems (BELTRAMI AND Bont," CLARKE AND WRIGHT, '"*! CHRISTOFIDES AND EILon,"7 GOLDEN et al.,"°) GILLETTE AND MiLLeR,"*! and RuSSELL™') are not likely to be useful for this problem. In addition, SVRS imposes certain precedence constraints on the route since each customer must be picked up before he may be delivered. Our approach (see Sections 2 and 3) for solving the single vehicle problem is to apply BENDERS’®! decomposition procedure to a mixed binary nonlinear formulation of this problem, which separates the routing and scheduling components allowing each to be attacked individually. The scheduling component is shown to be the dual of a maximum profit network flow problem, the.structure of which allows exact solutions to be found quickly using a one-pass algorithm. The routing component defies rigorous optimization but leads to a useful route improvement procedure. The result is a robust heuristic single vehicle routing and scheduling algorithm which we have tested computationally (see Section 2 of Part II) using actual data from both Gaithersburg, Maryland, and Baltimore, Maryland. ‘The algorithm described in this paper may also be used to solve an alternate version of the SVRS in which each customer specifies a desired (minimum) pickup time rather than a desired (maximum) delivery time. The details of this version are presented in SEXTON.! One may also pose a “mixed” problem involving both customers who specify a desired pickup time and other customers who give a desired delivery time. That Copyright © 2001 All Rights Reserved 380 / T. R. SEXTON AND L. D. BODIN problem may not be tractable to the kind of technique presented in this paper, and is considered to be an area of future research. The study is composed of two parts. In Part I, we discuss how the single vehicle problem is used in a multiple vehicle context, produce a mathematical formulation of the single vehicle problem, and describe how Benders’ decomposition procedure is applied to this problem. Then we focus on the scheduling subproblem, showing that its dual can be interpreted as a network flow problem and presenting a noniterative algorithm which solves the flow problem, and therefore the scheduling subproblem, optimally. We conclude this part with an example of the scheduling algorithm. In Part II, we emphasize the routing portion of the analysis. We describe a space-time heuristic algorithm which is useful for finding an initial route sequence and discuss a route improvement procedure which is based on the Benders’ master problem. We then present the entire routing and scheduling algorithm and a wide variety of computational experience based on actual data. 1. APPLICATION CONTEXT ALTHOUGH the single vehicle problem (SVRS) appears to be of inde- pendent interest, its genesis is as an essential subproblem in the operation of a subscriber dial-a-ride system with desired delivery times. In such a system, customers desiring service call in advance. Each customer specifies a desired pickup location, a desired delivery location and a desired time for delivery. The issue is to design a set of routes and schedules for a fleet of vehicles which gives the customers the best service level possible. This problem, to be denoted MVRS, is called the multi- vehicle static dial-a-ride problem with desired delivery times (BODIN et al.!*)). It is very difficult to solve optimally. To our knowledge, no useable mathematical programming formulation of the MVRS has been devel- oped and all attempts at solution rely on heuristic procedures. There is a wide variety of literature on solving dial-a-ride problems under varying conditions. Some of these papers are [3], [4], [6], (11), [16}, [17], [20]-[23], and [25}-[32]. A survey of some of these approaches can be found in [5]. An outline of the approach that we have taken to solve this multivehicle problem is the following: Step 1. For a fixed fleet size M, partition the set of customers into M vehicle clusters. Step 2. For each vehicle cluster, solve the resulting SVRS using this paper’s algorithm. OPTIMIZING VEHICLE OPERATIONS: I. SCHEDULING ae Step 3. Move customers one at a time from one vehicle to another while attempting to reduce total customer inconvenience. If no such move is found, then stop. Step 4. For each of the resultant vehicle clusters, solve the resultant SVRS using this paper’s algorithm. Return to Step 3. A first version of this procedure was successfully demonstrated using data from Project Mobility, a subscriber system which serviced about 200 customers daily in 1979. Documentation of this benchmark is given in [3] and [4]. As described in [3] and [4], using this procedure, we were able to service the same set of customers at about the same total customer inconvenience level with 5 vehicles rather than 7 vehicles, In a letter from Robert Stark of the State of Maryland Department of Transpor- tation to the second author, Mr. Stark states that “your automated solution was significantly better than our manual solution for the same data base,” and continues: The single significant benefit in your series of programs is dramatically pointed out in that proper vehicle utilization can greatly diminish patron travel time. We see this as a significant breakthrough in dealing with handicapped individuals. This multivehicle algorithm is currently being refined from one de- scribed in [3], [4], and [6] in a study with Dade County, Florida, under the sponsorship of the Urban Mass Transportation Administration. The Dade County program will require the scheduling of between 400 and 500 customers daily. A key aspect of the new multivehicle algorithm is the efficient execution of the partitioning step, which is currently un- dergoing constant revision. We feel that if we can quickly divide a large set of customers into “good” vehicle clusters, then we will be able to carry out Steps 2-4 effectively and efficiently. The scheduling component of this paper’s SVRS algorithm has proven useful in Step 1 and 3 (as well as the obvious Steps 2 and 4) of this approach to the MVRP. Step 1 of the above MVRS algorithm is a traditional “cluster first” approach used to treat many types of vehicle routing and scheduling problems ({1] and [5]). The “cluster first” approach has been used to attack other classes of single depot multivehicle routing problems, The Sweep approach of Gillett and Miller! and the Clarke and Wright!"! savings approach break the customer set into vehicle clusters and a traveling salesman problem for each cluster is then solved to obtain a set of feasible vehicle routes. The MTOUR approach of Russell!) can then be utilized to improve these routes. Finally, a traveling salesman problem can be solved for each cluster to find the final set of routes. A similar approach was outlined in 7] and [8] for the routing of street sweepers, using a variant of the rural postman algorithm to solve the Copyright © 2001 All Rights Reserved 382 / T. R. SEXTON AND L. D. BODIN imbedded single vehicle problems. For the multivehicle static dial-a-ride problem with desired delivery times (MVRS), the single-vehicle problem (SVRS) treated in this paper plays the same “essential subproblem” role as does the traveling salesman problem for the single depot vehicle routing problem and the rural postman problem does for the routing of street sweepers. 2. THE SINGLE VEHICLE MANY-TO-MANY ROUTING AND ‘SCHEDULING PROBLEM (SVRS) IN THIS section, we present a mathematical programming formulation of the single vehicle many-to-many routing and scheduling problem and describe a useful transformation of the variables which leads to a for- mulation which we call the SVRS. The SVRS serves as a basis for the algorithm described in Section 3. 2.1. Formulation Let n denote the number of customers to be serviced. Let x, be the actual pickup time of the ith customer, y, his actual delivery time and 7, his desired delivery time (7, assumed given). The x; and y, are decision variables for which we must solve. Define four n X n travel time* matrices Doo, Dor, Dio and Dy, whose entries in their ith rows and jth columns are, respectively: deo(i,j) = minimum travel time from the origin of customer i to the origin of customer j, dox(i, j) = minimum travel time from the origin of customer i to the destination of customer j, dyo(i,)) = minimum travel time from the destination of customer i to the origin of customer j, d,(i,j) = minimum travel time from the destination of customer i to the destination of customer j. It is assumed that doxli, j) = dio(j, i), dooli, J) = dool J, i), duslisj) = dui, 3), dox(i, i) > 0, dholi, i) > 0 and that the triangle inequality holds. Let p, be the latest possible pickup time of the ith customer, calculated as p= 7, — dosli, i). () Let C denote the capacity of the vehicle and A and B be the objective function coefficients of delivery time deviation and excess ride time, respectively. * All travel times are assumed to be independent of the exact time of day within the time period studied. Topvright © 2001 All Rights Reserved OPTIMIZING VEHICLE OPERATIONS: I. SCHEDULING / 383 We define a route to be the order, or sequence, of picking up and delivering customers, and a schedule as the set of exact times at which these tasks are to be performed. Thus, a route is a permutation of the 2n tasks and does not include specific scheduling information, although some ordinal time relations are obviously implied. Furthermore, we adopt the following convention: if several (necessarily adjacent) tasks are scheduled for the same time (at the same location), then the deliveries all precede the pickups. Define three sets of zero-one decision variables as follows: 1, {if the pickup of customer i precedes that of customer j in the route sequence, uy = 0, otherwise 1, if the pickup of customer i precedes the delivery of customer j 5 -{ in the route sequence, 0, otherwise 1, if the delivery of customer i precedes that of customer j in the wy = route sequence, 0, otherwise for i,j = 1,2, +++, nandiFj. For the ith customer, r, ~ y, is the delivery time deviation and y; — x, — do(i, i) is the excess ride time. Hence, the objective function to be minimized is 2= AYE (4 — y) + BLM (y; — Hs - doili, ) which, removing constants, reduces to 2’ =-B Yh x + (B-A) DM y,. (2) A mathematical programming formulation of the single vehicle many to many routing and scheduling problem is the following (where M is an arbitrarily large number): Minimize 2’ = -B Y2.,x,+ (B- A) I" y, (2) subject to XS py G=1,2,---,0 (3) ost i=1,2,---,n (4) n— x= doli, i), i=1,2,--,n (5) Dr Yvy = C-1, i=1,2,---,n (6) at Copyright © 2001 All Rights Reserved 384 / T. R. SEXTON AND L. D. BODIN doo(j, i) $ xi — 4) + Muy = M — deol i,j), 12,0, ntF i; 2 dyo(j, i) S$ x, —y, + Muy < M — dali, J), 8) i, Lec he, dui, i) S 4 — 9 + Mwy = M— dui), @) i,j=12 00, niFj x, and y; free, 12-57 (10) uy, vy and w, = 0 or 1, i,j=1,2,---,miAj. (WD) This formulation involves 2n continuous variables and 3n(n — 1) binary integer variables. There are 4n + 6n(n — 1) constraints including n nonlinear constraints. Inequalities (3) and (4) guarantee that no customer is picked up or delivered too late while (5), (7), (8) and (9) ensure that sufficient travel time is built into the schedule. The constraints (6) reflect the capacity of the vehicle. These are derived by counting the number of customers already on the vehicle at the pickup epoch of each customer. Although inequalities (3) are redundant with respect to (1), (4) and (5), it is useful to keep (3) in the ensuing analysis. 2.2. Transformation Let de = i My i=1,2,---,n and 6 = 11 deo £=1,2,---.m Here 4, represents the slack time in the ith pickup time constraint (3), and 6, is the ith delivery time deviation, ie., the slack in the ith delivery time constraint (4). Let ool i, j) = doolis j) + 2) — Bs oxi, j) = doxli J) + 7) — aC) oroli, J) = dioli, J) + py — 7 onli, J) = duli, f) + 7 Since p, is the latest possible pickup time for customer i, r, is the desired delivery time for customer i and p, = 7; — doi(i, i), the quantities ooo(i, j), oor(i, j), rol, j) and on1(i, j) may then be interpreted as indicators of the The Topytight © 2001 All Rights Reserved — OPTIMIZING VEHICLE OPERATIONS: I. SCHEDULING / 385 “space-time” separation of the corresponding tasks. For example, ooi(i, j) measures the spatial separation from the pickup of customer i to the delivery of customer j in the do,(i, j) term and the temporal separation in the 7, — p, term. Under these transformations, the formulation of the single vehicle many to many routing and scheduling problem, which we call the (SVRS), becomes: (SVRS) Minimize z = B Yio, — (B- A) Yhad, (13) subject to Trad sC-1, syn (6) o- 620, “yn (14) soli, J) Sb, — b, + Mu, = M — oool j,i), 18) Ej=1,2,---,n5iAj corti, j) = 8, — 6 + Mv, = M ~ orl j, i), (16) i,j=1,2,--- 0568) auli, J) <5, — 6, + Mwy = M — onl, i), 4j=1,2,--,niFj 20, 620, i=1,2,--,n (18) (7) wy, vy and w,=Oorl, i,f=1,2,-+-,mixj. (QD The SVRS is the formulation utilized in the ensuing development. Note that this objective function matches the original (without constants removed). This is easily shown using Equation 1. 3, ALGORITHM FOR THE SVRS OUR ALGORITHM for the single vehicle many to many routing and scheduling problem is based on Benders’! decomposition. An initial feasible route sequence is established. Given this route, an optimal schedule is formed. From this optimal schedule, the objective function coefficients of the current routing problem are determined. The order of servicing the customers (i.e., the route) is then altered if the optimal schedule based on the new ordering improves the objective function. Each new route and schedule produced yields a lower upper bound on the value of the SVRS. This process continues until no new improved route and schedule can be found. Copyright © 2001 All Rights Reserved 386 / T.R. SEXTON AND L. D. BODIN 3.1. A Brief Description of Benders’ Procedure as Applied to SVRS The SVRS is of the form Mi ize 2 = Px Subject to Aix + Aoy 2b x20, y€Q and integer where x = [bide «+ drbide «++ Sal”, y = [uow]”, U = [Usgttag ++ UaaUaillag + Urn ++ Unig +++ Unnmals b= [Di2dia «+ VinVard2s +++ Van o* Unt Una +++ Unneads w = [WisWig +++ WinWar Wes +++ Wan +++ WerWaz +++ Wanthy ¢ and b are appropriate constant vectors, A; and Az are appropriate matrices and the set @ is the set of vectors y which imply that each customer is picked up before he is delivered (the precedence constraints) and that the vehicle’s capacity is never exceeded. The constraints Aix + Asy 2 b guarantee that adequate travel time is scheduled in each leg of the route. In our adaption of the Benders’ procedure, we in effect decompose the SVRS into a linear program in x (the scheduling problem) and a nonlinear integer program in y (the routing problem). The first step in Benders’ procedure is to fix the integer variables. Note that for any fixed y € @, the SVRS becomes (PCy) Minimize 2 = c7x Subject to Aix = b — Aay x20, a linear program whose feasible region will be denoted X(y). The dual of (P(y)) is (D(y)) Maximize W = 4(b — Aoy) Subject to Ai < c” n=O. The important feature of (D(y)) is that its feasible region, II, is indepedent of y. If [m,, k = 1, ---, P], is the set of extreme points of this COT © 2001 All Rights Reserved OPTIMIZING VEHICLE OPERATIONS: I. SCHEDULING / 387 region, then duality theory justifies transforming the SVRS as. minyegmin[C?x:x € X(y)] = minyegmax[x(b — Aoy): 4 € TI] = minyegmax[m(b — Azy):1 < k = Pl and finally into the equivalent form (B) Minimize z Subject to z = m(b — Ary), k = ye. Since P may be very large, the standard Benders’ procedure generates the inequality constraints of (B), referred to as Benders’ cuts, only as needed. Specifically, beginning with some yo € Q, we alternately solve yP (Dm) for mm+1 and (Bm+1) fOr Ymsi, m = 0, 1, -+-, until satisfactory convergence is achieved, where (D,,) is the linear program (Dm) Maximize W = x(b — Azym) Subject to 7A, < c7 x20 and where (B,,+:) is the integer program (Bm+i) Minimize 20 Subject to 20 = ma(b — Aoy), R= 1, +--+, m+. yen Convergence may be judged using the optimal value to (Bm+), m = 0, 1, +++, a8 a lower bound (assuming (B,,+1) can be solved optimally), and the optimal value to (Dm+i1) m= 0, 1, ---, as an upper bound for the optimal value of z in SVRS. In this application, we are unable to solve (Bn+1) optimally, but we utilize its structure to devise a heuristic route improvement procedure which we describe in Part Il. Essentially, this procedure forms a Lagran- gean relaxation of (B,,+1) so that the Benders’ cuts appear in the objective function and the constraints are reduced to “y € 9.” Feasible solutions to this relaxation are easily identified; they correspond to route sequences which obey the precedence contraints and the capacity constraints. Since the procedure described in Part II is heuristic, the solutions to (Br+1) do not provide lower bounds and satisfactory convergence is not a suitable stopping criterion. Our procedure halts when the route improvement Copyright © 2001 All Rights Reserved 388 / T. R. SEXTON AND L. D. BODIN procedure can no longer find a better task sequence and, consequently, our entire procedure is heuristic. 3.2. Generation of an Initial Feasible Route ‘The algorithm is initiated by choosing a yo € 9, i.e., by fixing the route sequence and then determining the u,,, vj and w, values which correspond to this route. Such a route has to ensure that each customer's pickup precedes his delivery and that the vehicle is never overloaded. If solution quality were of no concern, finding such a route would be trivial, e.g., pick up customer 1, then deliver customer 1, then pick up customer 2, then deliver customer 2, ete. A heuristic algorithm for finding a reasonably good initial feasible route based on the space-time separations was developed by Sexton.!”*! This space-time heuristic is presented in Section 1.1 of Part II. As we show in Section 2.3 of Part II, the quality of the final solution depends heavily on the quality of the initial solution when A and B are nearly equal but the dependence is slight, at best, when A and B differ signifi- cantly. 3.3. Finding an Optimal Schedule for a Given Route In this section, we assume that a feasible route sequence (i.e., Ym) is given. We show that the resulting linear program is the dual of a maximum profit network flow problem and that an optimal solution can be found to this problem with a noniterative technique. Then, by com- plementary slackness, an optimal schedule for this route can be found in very little time. This approach is computationally tractable because the scheduling algorithm is noniterative. 3.3.1. Formulation of the Scheduling Problem Given a route sequence, the u,, vy and wy can be determined. Consider the pickups of any two customers i and j. One must precede the other in the route sequence; suppose i’s precedes j’s. Then set uy = 1, and if furthermore the minimum travel time from the pickup of customer i to that of customer j along the route indicated by the route sequence is zero, then set u, = 1; otherwise set u,, = 0. Set w, and win the same fashion if the delivery of customer i occurs ahead of that of customer j. If the pickup of customer i occurs ahead of the delivery of customer j in the route sequence and if the minimum travel time from the pickup of customer i to the delivery of customer j along the route indicated by the route sequence is positive, then set u, = 1. In all other cases, set v, = 0. Thus, for a given route sequence, constraint set (6) of the SVRS disappears and constraint sets (15), (16), and (17) can be rewritten to OPTIMIZING VEHICLE OPERATIONS: I. SCHEDULING / 389 produce the following linear program: (P) Minimize z = B Ye. @, — (B — A) Di 6, (13) subject to ¢,— 6,20, G=1200,n (14) b. — $, = ooolJ, i) (19) o: — 6, = or0(J, i) (20) tines, 6: — by = oorlj, i) (21) 4, — § = onlj, i) (22) $. — b, = ooo J, i) (23) FE oli) (24) . fd) E Se $ — 6 = oli, j) (25) 4, — 5, = onl), i) (26) : — = aol J, i) (27) b — 6 = ols, i] (28) . Pas) & Ss — b= aroli, j) (29) 4, — 6 = onli, 7) (30) #20620, i=l yn. (18) In this formulation, the sets S,, Sy and Ss are defined below: Si = {G4 J): uy = 1, uy = 0, vy = 1, oy = 0, wy = 1, wy = 0} Sa = (i,j): uy = 1, Us = 0, vy = 1, yy = 1, wy = 1, wy = 0} Sa = {(, J): uy = 1, uy = 0, vy = 1, = 1, w, = 0, wy = 1 ‘These sets correspond to the three possible orderings (Figure 1) of the pickup and delivery tasks (four in all) for customers i and j given that the pickup of customer i precedes that of customer j in the route sequence, i.e., uy = 1. Three other sets correspond to the situation w, = 0, but their constraints already appear in (19)-(30) because uj, = 1, implying (j, i) € S,U S2U Ss. THEOREM 1. The following constraints are redundant and may be simul- taneously deleted from the model: A: For all (i, j) € Sy, constraints (19), (20) and (22). Copyright © 2001 All Rights Reserved 390 / T.R. SEXTON AND L. D. BODIN B: For all (i, j) € Ss, constraint (14) for i, (14) for j, and (24). C: For all (i, j) € Ss, constraint (14) for i, and constraints (28) and (29). Proof. In each case below, the verification of the asserted “follows” relationship is completed, after performing the indicated summation, by straightforward appeal to the definitions of the p’s, o’s and 7's, to the triangle inequality, and to the symmetry properties of the D matrices. First, for (i, j) € Sy, (19) follows by summing (14) for i and (21); (22) follows by summing (14) for j and (21); and (20) follows by summing (14) for i, (14) for j, and (21). Similarly, for (i, j) € S2, (24) follows by summing (23), (25) and (26). And for (i, j) © Ss, (28) follows by summing (14) for j and (27), while (29) follows by summing (14) for j and (30). Since none of these redundancy relations has as premise another of the constraints just found to be redundant, all these redundant constraints can simul- taneously be deleted from (P); suppose this done. Next, for all (i, j) € Ss — S», (14) for i follows by summing (27), (14) for j, and (30). We need to show that these redundant instances of (14) can be sequenced, for successive deletion from the model, in such an order that the redundancy of the instance to be deleted next does not depend on an instance previously deleted. For this purpose, consider an abstract directed graph with the customers as vertices and with a directed are (i, j) for each pair (i, j) € Ss — S2. A sequencing with the desired property will exist (9; Problem 10.1.3] if this directed graph is acyclic. But each are (i, j) around a cycle would (since w,; = 1 in the definition of S;) have y, < y,, it follows that all customers in the cycle would have ne ee i 2 ' Ss le Time > +i +i i -i Se Time > +i +i ae st Ss Time > Fig. 1. Possible orderings of pickups and deliveries of customers i and j given that uw, = 1 (“+” corresponds to pickup tasks, “—” to delivery tasks.) OPTIMIZING VEHICLE OPERATIONS: I. SCHEDULING / 391 the same delivery time, contradicting the condition w,, = 0 which must hold in S, — S,. So all of these redundant instances of (14) can be deleted; suppose this done. Finally, for (i, j) © S», (14) for i follows by summing (23) and (25), while (14) for j follows by summing (25) and (26). Thus any of those redundant instances of (14) which survived the deletions of the last paragraph can now be simultaneously deleted. = 3.3.2. The Dual of the Scheduling Problem On the strength of Theorem 1 and the triangle inequality, we may now write (P) as (P) Minimize z= B Yt. ¢,-(B-A)TA14, (13) subject to [A] 4-5 20 (14) for all i such that h, [PoolJ,)] ds — 4) & avolj, i) (23, 27) for all i #j such that hoo(j, i) = 1 [Pili )] be = 8 & owl J, i) (25) for all i # j such that hyo(j, i) = 1 [poli D] 4 — b, = ool, (21) for all i # j such that ho,(j, i) = 1 [pu D] 8-8 B on(9,d) (26, 30) for all i #j such that hy,(j, i) = 1 20 G0 el (18) (The dual multipliers, ie, the variables + of the problem (D,,), are indicated in brackets.) In this formulation, 1, __ if the pickup of customer i immediately precedes his he delivery in the route sequence 0, otherwise 1, _ if the pickup of customer i immediately precedes hoo j, i) = that of customer j in the route sequence 0, otherwise » ifthe pickup of customer i immediately precedes the iol J, i) = delivery of customer j in the route sequence , otherwise Copyright © 2001 All Rights Reserved 392 / T. R. SEXTON AND L. D. BODIN ae if the delivery of customer i immediately precedes iG je the pickup of customer j in the route sequence 0, otherwise 1, _ f the delivery of customer i immediately precedes hij, = that of customer j in the route sequence 0, otherwise. We emphasize at this point that these variables refer only to the route sequence and not to the schedule, which is yet to be determined. Thus apart from (18), (P) is reduced to 2n — 1 constraints, one for each pair of adjacent tasks. The dual (D) of this linear program (P) is the following (with the primal variables indicated in brackets): (D) Maximize W = Lie D aeolJ, DhoolJ, pool), t) + Ye Zool i, Dhrold, Dprol i, + Ln E ool), Dhol, Ipod, ) + Le Doni, Dad, Dui, subject to [Io] = Mh + Tn Pool J, tool J, i) — Uo Poolis j)hoo(i, J) + Dhi Polj, Dhol J, Was - Shy po Dhol SB, P= yey (6 ~ Nha — her Prolis JhrolG, J) + Dir Pad, Dhorlj, a ei + Dh pals, Dau, D > Tia Puli, Dhue J) ia at =-(B-A), i=1,...,n N20, 5 ee Poolt, j), Port, j), Polis J), Pu, JV=O EA]. (31) (32) (33) (34) (35) Since the route is specified, hi, hoo(i, j), Moli, j), hori, j) and Auli, j) are known. OTIC SOUT All RTS RSC OPTIMIZING VEHICLE OPERATIONS: I. SCHEDULING / 393 3.3.3. Interpretation as a Network Flow Problem The dual (D) of the scheduling problem (P) may be interpreted as a maximum profit network flow problem. The exact nature of the network involved depends upon the relative values of the coefficients A and B. 3.3.3.1. Situation I (B > A) Suppose B > A. Then we construct a network with 2n + 3 nodes; one for each task (pickup or delivery), a dummy D, a supersource S and a supersink T. We denote the node corresponding to the pickup of customer i by “+i” and the node corresponding to the delivery of customer i by Next, we add an arc from S to +i for each i and from —i to T for each i. We then add an arc from +i to D and from ~i to D for each i and an arc from D to T. Finally, we add an arc from task & to task 6 if task a immediately precedes task 6 in the route sequence. The lower and upper bounds on flow and the profit per unit flow for each set of flow variables are presented in Table I. Thus, the nodes corresponding to pickups are source nodes, each with a supply of B flow units, while the nodes corresponding to deliveries are sink nodes, each with a demand of B — A flow units. The dummy D is also a sink node, with a demand of nA flow units so that total supply matches total demand, namely nB flow units. Nonzero profits occur only on the arcs between task nodes since these are the only arcs to appear in the objective function. Example. The network for a three-customer route in which the task sequence is +1, +2, —1, +3, —3, 2 is presented in Figure 2, assuming B >A. TABLE I Flow Variable Names, Lower and Upper Bounds and Unit Profits Assuming B >A Te Variable Flow Lower Flow Profit per ry ‘Name Bound Capacity Unit Flow s +i fs B B 0 =i The B-A B-A 0 +i d 0 ~ 0 +i Poo (i, i) 0 ‘ad 0 (j,i) +i Polit) 0 ee 10 (j,i) = Pos (j,i) 0 ~ os (J, i) oe Puli) 0 » ou (J, 1) +i fo 0 0 -i fo 0 = 0 D for nA nA 0 Copyright © 2001 All Rights Reserved 394 / T.R. SEXTON AND L. D. BODIN Fig. 2. Formulation of (D) as a network flow problem with B > A. Profits per unit flow are shown next to each arc where not zero. 3.3.3.2. Situation II (B <= A) Suppose B < A. Then the network is the same as for Situation I except that the nodes corresponding to delivery tasks are now sources, with supplies of A — B flow units each, rather than sinks. Thus, rather than arcs from i to 7, we have arcs from S to —i. No other changes are necessary. The lower and upper bounds on flow and the profit per unit flow for each set of flow variables are presented in Table II. "Thus, all task nodes are sources with pickup task nodes having supplies of B flow units each and with delivery task nodes having supplies of A — B flow units each. The only sink node is the dummy D, with a demand of nA flow units. All other interpretations are as in Situation I. Example. The network for a three-customer route in which the task sequence is +1, +2, —1, +3, —3, —2 is presented in Figure 3, assuming B SA. Topyright © 2001 All Rights Reserved OPTIMIZING VEHICLE OPERATIONS: I. SCHEDULING / 395 TABLE I Flow Variable Names, Lower and Upper Bounds and Unit Profits Assuming B-< A cde Vanible Flow Lower Flow Profit per oa 7 Name Bound Capacity Unit Flow s +i fos B B s “i fro A~ A-B +i = N 0 @ +i + Poo iid 0 © ti ee Pro (i, i) 0 cs cad Be] Po Gi) 0 oo oo: (j,i) -i a Palit) 0 @ on (ii) +i De he 0 ce 0 -i Ds 0 oe 0 D bd for nA 0 . 3. Formulation of (D) as a network flow problem with B < A. Profits per unit flow are shown next to each are where not zero. Copyright © 2001 All Rights Reserved 396 / T. R. SEXTON AND L. D. BODIN 3.3.4. Vehicle Waiting Time A vehicle route and schedule will be a sequence of pickups, deliveries and waiting times. A vehicle is said to be waiting when the vehicle is stationary and not performing any productive activity. In terms of the formulation given as problem (P), a vehicle would have (positive) waiting time if any of the functional constraints is slack for a particular feasible solution, i., if the schedule allows the vehicle more time than it requires to travel between the location of one task and another immediately following one. Note that if this occurs for an optimal schedule (for the given route), then by complementary slackness the dual variable attached to such a constraint must be zero, i.e., there is no flow in the corresponding arc of the network problem. We shall make two applications of this observation. First, suppose some optimal schedule had positive waiting time in a leg immediately following a pickup (+i). Exactly one task immediately follows (+i) in the given route sequence, ie., exactly one of the coefficients (hi) U [hoo J, a): 7 # i] U [no J, i): 7 # i] in (32) is one and the others are zero. By the above observation, the dual variable multiplied by this nonvanishing coefficient is zero, and so the left-hand side of (32) is non- positive, Since its right-hand size is B > 0, it follows by complementary slackness that 4; = 0, and then by (14)—even if redundant—and the nonnegativity of 6,, that 6; = 0. But 4, = 6, = 0 means that customer i is picked up at time p, and delivered at time 7;, hence has zero excess ride time and therefore suffers no vehicle waiting time, a contradiction of the initial supposition in above. Next, suppose B > A and that some optimal schedule had positive waiting time on some leg immediately preceding a delivery (—i). By the above observation, there is no flow in the unique are of the network problem ending in (—i), contradicting the requirement that node (—i) must send B — A units of flow to T. Combining this remark with the last paragraph, we have the following result: THEOREM 2. If some leg of an optimal schedule for a given route has positive waiting time on some leg, then that leg must immediately follow a delivery; if B > A, then the leg must also immediately precede a pickup. 3.4. A Noniterative Algorithm for the Scheduling Problem We have shown that the scheduling problem is the dual of a maximum profit network flow problem."*"*! The special structure of the particular networks involved allows us to find an optimal solution with a simple noniterative procedure. We now discuss and present this procedure, which we call the “scheduling algorithm.” sees erases rereeenennreremetenre nena eennnne CAPR ee ER ESSE AE FRIES aS eee eee OPTIMIZING VEHICLE OPERATIONS: I. SCHEDULING / 397 A proof of the optimality of the scheduling algorithm is lengthy, involving several lemmas, and will not be presented here. A complete proof may be found in Sexton.!”"! Briefly, the proof entails demonstrating that (i) the flow pattern produced by the algorithm is a basic feasible solution to the usual transportation problem reformulation of (D), and (ii) the corresponding solution to (P) found using the complementary slackness conditions is also basic and feasible. Optimality then follows from duality theory. The flow network developed here is similar to that in LOWE et al.!!9! for a warehouse leasing problem. Their network structure is somewhat different, however, with flow costs and capacities on different arcs. Nonetheless, they solve their problem using a “greedy” algorithm not dissimilar from the one developed below. To facilitate the discussion, we will rename the nodes which correspond to tasks simply by the order number of their appearance in the route: thus, the first task is called node 1, the second task is called node 2, and so on. Also, let a, be the unit flow cost on the arc from node i to node i +1, fori =1,..., 2n — 1. Thus, a; is the negative of a “space-time” separation (a) and may be positive, negative or zero. Thinking of the nodes of the network as cities on a river, we will say that node i is “upstream” (“downstream”) from node j if the ith task occurs before (after) the jth task. If node i is upstream from node j, we define C(i, j) to be the sum of the unit flow costs on the (unique) path from node i to node j. CU, j) = a, + din + + Gan = Dy, We refer to C(i, j) as the “unit flow cost from node i to node j.” We define a block of nodes to be a maximal set of task nodes with positive flows on the arcs between them. Thus, blocks of nodes are separated by task to task arcs with zero flow. Clearly, the total demand within a block can be satisfied only by a supply generated within the block. Thus, for any feasible flow pattern, the total supply within a block is greater than or equal to the total demand within that block. If total supply equals total demand within a block, we say the block is balanced; if supply exceeds demand within a block, so that positive values of some f,y oF f-.p are required for feasibility, we say the block is unbalanced. 3.4.1, Situation I (B > A) A feasible solution to this flow problem may be produced in two stages. In the first stage, we ensure that each sink other than dummy (see Figure 2) receives B — A flow units. In the second stage, we allocate any remaining unused supply at each source among the nodes which follow Copyright © 2001 All Rights Reserved 398 / T. R, SEXTON AND L. D. BODIN and the dummy. This procedure is “greedy” in that it performs each step optimally without regard to the consequences to the overall solution. A third step is then necessary to guarantee that the resulting solution is optimal. The remaining steps produce an optimal dual solution and, ultimately, an optimal schedule for the given route. SCHEDULING ALGORITHM Step 1. (Satisfy all demands.) For each sink node (other than the dummy), in order of appearance in the route: (a) Determine the upstream source node with minimum unit flow cost to the sink node (break ties in favor of the source node furthest downstream). (b) If the remaining supply at this source node is greater than or equal to B — A flow units, then send B — A flow units from this source node to the sink node and go to (a) above for the next sink node. If the remaining supply is less than B — A flow units but greater than zero, then send all remaining supply to the sink node and go to (c) below. If the remaining supply is zero, go to (c) below. Determine the upstream source node with next smallest unit flow cost to the sink node and go to (b) above. When all sink nodes have been satisfied, go to Step 2. Step 2. (Exhaust all supplies.) For each source node with positive re- maining supply, in order of appearance in the route, determine the downstream node (either source or sink) with minimum flow cost from the source node (break ties in favor of the node furthest upstream). If this minimum cost is less than zero, then send all remaining supply from this source node to the selected node and from there on to dummy. If this cost is nonnegative, then send all remaining supply from this source node directly to dummy. When all source nodes have been processed, go to Step 3. Step 3, (Move flows to dummy upstream as much as possible.) Starting at the end of the route, for each pair of nodes, say node i and node j, with positive flow to dummy and with no such node intermediate, calculate p, the minimum flow on the arcs on the path from node i to node j and po = min (p, f,n), where fip is the flow from node j to dummy. If py = 0, repeat for the next such pair of nodes. Note that po = 0 implies p = 0 since fp > 0, so that no further attempts with the same node j and some node further upstream from node i need be attempted. If po > 0, add Do to fin, the flow from node i to dummy, and subtract po from fro and from the flow on each arc on the path from node i to node c $n OTHE 2001 Al RIMS RESEIVER ——OSS Step 4. Step 5. Step 6. Step 7. OPTIMIZING VEHICLE OPERATIONS: I. SCHEDULING / 399 J. Repeat for the next such pair of nodes; when all such pairs have been processed, go to Step 4. (Calculate dual variables for unbalanced blocks.) Each such block has a unique node i with positive direct flow to dummy; set the corresponding dual variable v, = 0. For each other node j in the block, set v, = C(i, j) or —C(i, j) according as j is downstream or upstream from i. Go to Step 5. (Calculate dual variables for balanced blocks.) For each block of nodes with dual variables unassigned, in reverse order of appear- ance: (a) Let node ig be the first node in the block. (b) Calculate C(io, i) for each node i in the block (including node iy with C(io, io) = 0). (c) Let node j be the node explicitly assigned a zero dual variable in the next block downstream, if it exists. If it does not exist, go to (d). If it does exist and if C(ip,j) = 0, then go to (d). If Clio, j) < 0, then merge this block with the next block downstream, calculate the dual variables for its nodes i as v, = —C(i, j) and go to the next block upstream. (d) Let node i; be the node in this block which minimizes Clio, i). Break ties arbitrarily. Set v,, = 0. (e) Calculate the remaining dual variables within the block using the formulas of Step 4. When all such blocks are processed, go to Step 6. (Calculate the pickup and delivery deviations, ¢; and 4,.) If node i corresponds to the pickup of customer j, then set. 4, = v,. If node i corresponds to the delivery of customer j, then set 4, Go to Step 7. (Compute the vehicle schedule.) For each customer j, calculate the pickup time x, = p, ~ d, and the delivery time y, = 7, — 6,. Stop. 3.4.2. Situation II (B = A) ‘The scheduling algorithm is considerably simplified if B < A. ‘The first step, which satisfies all the demands, is now vacuous since there are no demands to be met (see Figure 3). The second step, which transships remaining supplies to dummy, is performed as usual. Moreover, the third step, which moves the flows to dummy upstream as much as possible, is also unnecessary. This is because, as is shown in Sexton, if B < A and node i has positive flow to dummy, then the flow from node i to node i + 1 (if node i + 1 exists) is zero. Thus, if node i and node j have positive flow to dummy, then p, the minimum of the flows on the arcs on the Copyright © 2001 All Rights Reserved 400 / T. R. SEXTON AND L. D. BODIN path from node i to node j, vanishes and, therefore, no adjustment would be made in the third step. Hence, the optimal flow pattern is produced by the second step alone. Steps 4 through 7 remain unchanged. 3.5. Examples of the Scheduling Procedure Suppose we have n = 3 customers with desired delivery times 7, = 10, 1 = 31 and 1s ~ 21. Suppose further that they possess direct travel times do(1, 1) = 6, dox(2, 2) = 15 and doy(3, 3) = 2 so that p, = 10 — 6 = 4, po = 31 — 15 = 16 and ps3 = 21 — 2 = 19. Assume that the route to be followed is +1, +2, -1, +3, —3, —2 (see Figure 4) and that the travel times between adjacent task locations are doo(1, 2) = 3, dor(2, 1) = 5, dyo(1, 3) = 6, doy(3, 3) = 2 and dii(3, 2) = 8. We then calculate the “space- time” separations: oo0(2, 1) = doo(2, 1) + pr — p2 = dool1, 2) + pr — pe =3+4-16=-9 aso(1, 2) = dyo(1, 2) + p2 — 71 = doi(2, 1) + pe — 11 =5+16-10=11 ao(3, 1) = dor(3, 1) + 71 — pa = dio(1, 3) + 71 —ps =6+10-19=-3 on(2, 3) = dy(2, 3) + 73 — 72 = du(3, 2) + 13 — 72 =8+21-31=-2. 444(3.2) 28 Fig. 4. The desired route with relevant travel times. -© 2001 Alt RightsReserved OPTIMIZING VEHICLE OPERATIONS: I. SCHEDULING / 401 3.5.1. Situation I (B > A) Suppose A = 3 and B = 4. Then (P) is (P) Minimize Z = 4(¢, + 2 + $a) — (4 — 8)(6; + 52 + 65) subject to [Poo(2, 1] 1 ~ b2 2-9 [pro(1, 2)} be -5 211 [po(3, 0] —bs +5, 2-3 Ds] os mos =O. [pu(2, 3)) be + 63 2-2 dry $2, 3, 61, 62, 63 = 0. The dual of (P) is (D) Maximize W = —9 poo(2, 1) + 11 pro(1, 2) — 3 poi(3, 1) — 2 pr(2, 3) subject to [$1] Poo(2, 1) [42] —Pool2, 1) +pro(1, 2) lds] As —Poi(3, 1) [5] —pr(1, 2) +por(3, [62] —pu(2, 3) [5s] —As +pu(2, 3) Xa 2 0, Pool2, 1), Pro(1, 2), Por(3, 1), pri(2, 3) = 0 which, if we minimize (~W) rather than maximize (W), is the minimum cost flow problem whose representation as a transshipment problem is shown in Figure 5. We now apply the scheduling algorithm to this network. 4 4 4 -1 ca -1 WIA IA IA IIA Step 1. For sink node —1, the upstream source with minimum unit flow cost to the sink node is +2 with a cost of —11. Send one unit from +2 to 1. Similarly for sink node —3 with a unit flow cost of —8. Send one unit from +2 to —3. Again for sink node —2 with a unit flow cost of —6. Send one unit from +2 to —2. Thus, at the conclusion of Step 1, all three sink nodes have had their demands satisfied. Arc (+1, +2) has a flow of zero, (+2, -1) a flow of three, (~1, +3) a flow of two, (+3, —3) a flow of 2 and (—3, —2) a flow of one. Source nodes +1 and +3 have all four units of supply remaining while source node +2 has one unit of supply remaining. Step 2. For source node +1, the downstream node with minimum unit flow cost is sink node —1 with a unit flow cost of —2. Since this Copyright © 2001 All Rights Reserved 402 / T. R. SEXTON AND L. D. BODIN Fig. 5. The Situation I (B > A) example as a transshipment problem. Costs per unit flow are shown next to each arc except where zero. is negative, send all four flow units remaining at source node +1 to sink node ~1 and then to dummy. For source node +2, again sink node —1 is the choice with a unit flow cost of —11. Thus, send the one flow unit remaining at source node +2 to sink node —1 and then to dummy. Finally, source node +3 has a non- negative unit flow cost to both its downstream nodes, sink node —3 and sink node —2. Hence, send all four units remaining at source node +3 directly to dummy. Therefore, at the conclusion of Step 2, all sink nodes have been satisfied and all supply nodes have been exhausted. Arc (+1, +2) has a flow of 4, (+2, —1) a flow of 8, (1, +3) a flow of 2, (+3, —3) a flow of 2 and (—3, —2) a flow of 1. Moreover, sink node —1 sends 5 units to dummy while source node +3 sends 4 units to dummy. Step 3. There is only one pair of nodes with positive flow to dummy, $$$ — TIPO 2001 Alt Rights Reserved OPTIMIZING VEHICLE OPERATIONS: I. SCHEDULING / 403 namely, sink node ~1 and source node +3. The minimum flow on the arcs on the path from sink node —1 to source node +3 is = 2 units. The flow from +3 to dummy is 4 units. Hence, py) = min (2, 4) = 2 > 0. Therefore, add po = 2 units to the flow from sink node ~1 to dummy and subtract p) = 2 units from each are on the path from sink node —1 to source node +3, namely arc (-1, +3) alone, and also from the flow from source node +3 to dummy. At this point, the optimal flow pattern, shown in Figure 6, has been found. The remaining steps calculate the correspond- ing complementary dual solution which transforms into the ve- hicle schedule. Step 4. There are two blocks of nodes, namely, {+1, +2, —1j and {+3, ~8, —2}. Both are unbalanced. In the first block, sink node —1 has positive flow to dummy and so we set vs = 0. (Recall that the Fig. 6. Optimal flow pattern for the Situation I (B > A) example. Flows are shown next to each arc. Copyright © 2001 All Rights Reserved 404 / T. R. SEXTON AND L. D. BODIN subscripts on the v’s are the order numbers of the tasks in the route.) Working upstream, we assign v2 = —C(2, 3) = 11 to source node +2 and v, = —C(1, 3) = 2 to source node +1. There are no nodes downstream from sink node —1 in the first block so we proceed to the second block. Here, we set v, = 0 since the fourth node, namely source node +3, has positive flow to dummy. Working downstream, we assign vs = C(4, 5) = 0 to sink node =3 and vs = C(4, 6) = 2 to sink node —2. There are no nodes in the second block upstream from source node +3 so Step 4 is complete. Step 5. There are no blocks with dual variables unassigned because there are no balanced blocks. Step 5 is, therefore, vacuous. Step 6. Set br = Vs = 2, bz = V2 = 11 and $s = v4 = 0. Also, set 51 = Us = 0, 52 = ve = 2 and 63 = vs = 0. Step 7. Calculate x; = 4 — 2 = 2, x2 = 16 — 11 =5 and x; = 19-0=19, the pickup times of customers 1, 2 and 3, respectively. Also, calculate y, = 10 — 0 = 10, = 31 — 2 = 29 and ys = 21-0 = 21, the delivery times of customers 1, 2 and 3, respectively. Referring to Figure 4, our route and schedule is (1) pickup customer 1 at x, = 2, (2) pickup customer 2 at x2 = 5, (3) deliver customer 1 at y1 = 10, (4) pickup customer 3 at x3 = 19, (5) deliver customer 3 at ys = 21 and (6) deliver customer 2 at y2 = 29. Notice that the only interval with positive vehicle waiting time is that following the delivery of customer 1 and preceding the pickup of customer 3. Our schedule allows 9 minutes for the trip from the destination of customer 1 to the origin of customer 3, whereas only dyo(1, 3) = 6 minutes are required, Thus, the vehicle will wait 3 minutes even though customer 2 is on vehicle. We calculate ¢; + ¢2 + gs = 2+11 +0 = 13 and 5, + 62 + b3= 042 +0 =2 so that, with A = 3 and B = 4, Z=BYRi o — (B- A) Im 4b Z = (4)(13) — (4 — 3)(2) Z=52-2 Z= 50. With one minor change in this example, we may illustrate two features of the algorithm which do not appear in the above example. These features are (1) the use of secondary supplies to satisfy demands in Step 1 and (2) the calculation of dual variables in a balanced block. Suppose, sn TOD VTIGHE © 2001 All Rights Reserved Beeesecsaeee! OPTIMIZING VEHICLE OPERATIONS: I. SCHEDULING / 405 in the above example, we set A = 2 rather than A = 3 but let all other data remain unchanged. We now consider this modified example. The supplies at the source nodes are still B = 4 units but the demands at the sink nodes are now B — A = 4 — 2 = 2 flow units. All flow costs remain as they were. In Step 1, both sink node —1 and sink node —3 receive their two flow units from source node +2 but sink node —2 is forced then to draw its two units from the second source on its list, source node +3, because the supply at sink node +2 is exhausted by sink node —1 and sink node —3. At the conclusion of Step 3, are (+1, +2) has a flow of 4 units, (+2, —1) a flow of 8 units, (—1, +3) a flow of 0 unit, (+3, —3) a flow of 4 units and (—3, —2) a flow of 2 units. Thus, again there are two blocks: {+1, +2, -1} and {+3, —3, —2}. Sink node —1 has positive flow to dummy (6 units) so that the calculation of dual variables for nodes in the first block is as before. The second block, though, is balanced with a total supply and total demand of 4 units. It contains no node with positive flow to dummy and, therefore, we must perform the calculations of Step 5. In Step 5(a), io = 4 since +3 is the fourth node in the task sequence. In Step 5(b), we calculate C(4, 4) = 0, C(4, 5) = 0 and C(4, 6) = 2. In Step 5(c), i, = 4 or i, = 5 is possible. We break the tie arbitrarily and choose i; = 5. There are no other blocks further downstream so we proceed to Step 5(d). There we set vs = 0. In Step 5(e), we calculate us = —C(4, 5) = 0 and vs = C(5, 6) = 2. We note that the optimal schedule for this route with A = 2 and B = 4 is the same as that with A = 3 and BoA, 3.5.2. Situation IT (Bs A) Suppose A = 6 and B = 4, Then (P) is (P) Minimize Z = 4($, + $2 + $3) — (4 — 6)(61 + 52 + 5a) subject to [Pool2, 1] $1 — ¢2 2-9 [pro(1, 2)] be ~5 211 [Po(3, 1)] —$3 +61 =-3 Ds] os -b = 0 [pul2, 3)] —h +53 2-2 $15 bay sy bis ba, bs = 0. The dual of (P) is (D) Maximize W = —9 poo(2, 1) + 11 pull, 2) — 3 poi(3, 1) — 2 pul2, 3) Copyright © 2001 All Rights Reserved 406 / T. R. SEXTON AND L. D. BODIN subject to [oi] Pool2, 1) <4 (¢2) —Poo(2, 1) +pro(1, 2) <4 [3] As —po(3, 1) = 4 [61] Proll, 2) +po(3, 1) s2 [é2] -pul2, 3) <2 [6s] —As +pu(2, 3) <2 Ys = 0, Poo(2, 1), Pro(1, 2), Porl3, 1), Prr(2, 3) = 0 which corresponds to the minimum cost flow problem whose represen- tation as a transshipment problem is shown in Figure 7. We now apply the scheduling algorithm to this network. Fig. 7. The Situation II (B < A) example as a transshipment problem. Costs per unit flow are shown next to each arc except where equal to zero. $e ——memrrwerint cy 2001 Alt Right Reserved OPTIMIZING VEHICLE OPERATIONS: I. SCHEDULING / 407 Step 1. Vacuous. There are no demands (other than the dummy) to be satisfied. Step 2. Source nodes +1, +2 and +3 are treated in the same manner as in the Situation I example. Source nodes +1 and +2 transship their 4 flow units to dummy via sink node —1 while source node +3 sends its 4 flow units to dummy directly. Source nodes —1 and —3 have nonnegative unit flow costs to their downstream nodes and, therefore, send their 2 flow units each directly to dummy. Finally, source node —2 has no downstream nodes and must send its flow directly to dummy. At this point, the optimal flow pattern, shown in Figure 8, has been found. Step 3. Vacuous. Step 4. There are four blocks of nodes, namely, {+1, +2, —1}, {+3}, [-3} Fig. 8. Optimal flow pattern for the Situation II (B < A) example. Flows are shown next to each arc. Copyright © 2001 All Rights Reserved 408 / T.R. SEXTON AND L. D. BODIN and {—2}. All are unbalanced, as they must be in Situation II. In the first block, node —1 has positive flow to dummy and so we set vs = 0. (Recall once again that the subscripts on the v’s are the order numbers of the tasks in the route.) Working upstream, we assign v, = —C(2, 3) = 11 to node +2 and v; = —C(1, 3) = 2 to node +1. There are no nodes in the first block downstream from node —1 so we proceed to the next block. Each of the remaining blocks contain but one node which, of course, has positive flow to dummy. Thus, we assign v4 = Us = Us = 0 to nodes +3, —3 and —2, respectively. Step 4 is complete. Step 5. Vacuous. Step 6. Set ¢1 = v1 = 2, d2 = U2 = 11 and ¢3 = v4 = 0. Also, set 6: = vs = 0, 52 = U6 and 53 = us = 0. Step 7. Calculate 1, = 4 — 2 = 2, x2 = 16 — 11 = 5 and x5 = 19-0 = 19, the pickup times of customers 1, 2 and 3, respectively. Also, calculate y; = 10 — 0 = 10, yp = 31 — 0 = 31 and ys = 21-0 = 21, the delivery times of customers 1, 2 and 3, respectively. The optimal schedule, then, for this route is (1) pickup customer 1 at x; = 2, (2) pickup customer 2 at x2 = 5, (3) deliver customer 1 at y; = 10, (4) pickup customer 3 at x3 = 19, (5) deliver customer 3 at ys = 21 and (6) deliver customer 2 at y2 = 31. ‘This vehicle schedule has waiting time in two legs. The first is, as before, following the delivery of customer 1 at which time the vehicle delays for 3 minutes. The second interval is that following the delivery of customer 3. At this point, only customer 2 is on the vehicle and all that remains is his delivery. Yet, the vehicle sits idle for 2 minutes. This is because, with A = 6 > B = 4, delivery time deviation, ie., earliness, is more undesirable than excess ride time. Under ordinary circumstances, this sort of vehicle behavior might be considered rather unusual. If the vehicle is used to service commuters, it would be difficult to argue that this final 2-minute delay is desirable. If, however, the vehicle is used to service elderly or handicapped persons and if there is no comfortable place to wait at the destination, then this 2-minute wait would clearly be desirable. Thus, the relative values of A and B should be selected to reflect conditions such as these. REFERENCES 1. E. BELTRAMI AND L. Bonn, “Networks and Vehicle Routing for Municipal Waste Collection,” Networks 4, 65-94 (1974). 2. J. F. BENDERS, “Partitioning Procedure for Solving Mixed Variables Pro- gramming Problems,” Numerische Mathematik, 4, 238-252 (1962). 3. L. BODIN AND T. SEXTON, “The Subscriber Dial-A-Ride Problem,” Final Report of UMTA Contract MD-06-0027. Submitted to the Office of Bus —_——eoprrignre200T ial Srvet OPTIMIZING VEHICLE OPERATIONS: I. SCHEDULING / 409 and Paratransit Technology, UMTA, U.S. Dept. of Transportation, July 1979, 4. L. Bopin AND T. SEXTON, “The Multi-Vehicle Subscriber Dial-A-Ride Problem,” The Delivery of Urban Services, TIMS Studies in the Manage- ment Sciences 22, to appear. 5. L. Bopin, B. GOLDEN, A. ASSAD AND M. BALL, “The State of the Art in the Routing and Scheduling of Vehicles and Crews,” Comput. Opns. Res. 10, 63-211 (1983). 6. L. BODIN, “Specifications for a Subscriber Dial-A-Ride System,” unpublished report, 1980. 7. L. Bopin AND S. Kursu, “A Computer-Assisted System for the Routing and Scheduling of Street Sweepers,” Opns. Res. 26, 525-537 (1978). 8. L. Bopin anv S. Kursu, “A Detailed Description of a Street Sweeper Routing and Scheduling System,” Comput. Opns. Res. 6, 181-198 (1979). 9. J. A. BonDy AND U.S. R. Murty, Graph Theory with Applications, American Elsevier, New York, 1976. 10. G. BRADLEY, G. BROWN AND G. GRAVES, “Design and Implementation of Large Scale Primal Transshipment Algorithms,” Mgmt. Sci. 24, 1-34 (1977). 11. Y.-M. Cuol AND T. SexTon,“The Single Vehicle Many-to-Many Routing and Scheduling Problem with Customer-Dependent Objective Function Coefficients,” Working Paper, SUNY at Stony Brook, 1981. 12. N. CHRISTOFIDES AND S. EILON, “An Algorithm for the Vehicle Dispatching Problem,” Opni. Res. Quart. 20, 309-318 (1969). 13. G. CLARKE AND W. WRIGHT, “Scheduling of Vehicles from a Central Depot to a Number of Delivery Points,” Opns. Res. 12, 568-581 (1964), 14. B. GILLETTE AND L. MILLER, “A Heuristic Algorithm for the Vehicle Dis- patching Problem,” Opns. Res. 22, 340-349 (1974). 15. B. L. GoLpEN, T. L. MAGNANTI AND H. Q. NGUYEN, “Implementing Vehicle Routing Algorithms,” Networks 7, 113-148 (1977). 16. J. J. Jarvis AND H. D. Raturr, “Set Partitioning Based Heuristics for Interactive Routing,” Report #J-80-1, Georgia Institute of Technology, 1980. 17. R. F. Kirpy, K. U. BHATT, M. A. Kemp, R. G. MCGILLIVRAY AND M. WoHL, Paratransit: Neglected Options for Urban Mobility, Urban Institute, 1974. 18. D. KLINGMAN, A. NAPIER AND J. Stutz, “NETGEN—A Program for Gen- erating Large Scale (Un)Capacitated Assignment, Transportation and Minimum Cost Flow Network Problems,” Mgmt. Sci. 20, 814-821 (1974). 19. T. J. Lowe, R. L. Francis AND E. W. REINHARDT, “A Greedy Network Flow Algorithm for a Warehouse Leasing Problem,” AIJE Transact. 11, 170-182 (1979). 20. H. Psarartis, “Dynamic Programming Algorithms for Specially Structured Sequencing and Routing Problems in Transportation,” Ph.D. dissertation, MIT, Cambridge, Mass., 1978. 21. H. Psarartis, “A Dynamic Programming Solution to the Single Vehicle Many-to-Many Immediate Request Dial-A-Ride Problem,” Trans. Sci. 14, 130-154 (1980). Copyright © 2001 All Rights Reserved 410 / T. R. SEXTON AND L. D. BODIN 22, H. Psararnis, “Two Heuristic Algorithms for the Single Vehicle Many-to- Many Dial-A-Ride Problem,” submitted to Transportation Research. 23, H. PSaRAPTis AND G. THARAKAN, “A Dynamic Programming Approach to the Dial-A-Ride Problem: An Extension to the Multi-Vehicle Case,” Dept. of Civil Engineering, MIT, Report R79-39, 1979. 24. R. RUSSELL, “An Effective Heuristic for the M-Tour Travelling Salesmen Problem with Some Side Constraints,” Opns. Res. 25, 517-524 (1977). 25, T. R. SEXTON, “The Single Vehicle Many-to-Many Routing and Scheduling Problem,” Ph.D. dissertation, SUNY at Stony Brook, 1979. 26. 'T. R. SEXTON AND L. BoDIN, “The Single Vehicle Many-to-Many Routing ‘and Scheduling Problem with Customer-Dependent Dwell Times,” Work- ing Paper, SUNY at Stony Brook, 1981. 27. D. STEIN, “Scheduling Dial-A-Ride Transportation Systems,” Trans. Sci. 12, 232-249 (1978). 28, D. STEIN, “Scheduling Dial-A-Ride Transportation Systems,” Ph.D. disser- tation, Harvard U., 1977. 29. D. STEIN, “An Asymptotic Probabilistic Analysis of a Routing Problem,” ‘Math. Opns. Res. 3, 89-101 (1978). 30. N. WILSON, “The Effect of Driver Schedules on Dial-A-Ride Performance,” Workshop on Automated Techniques for Scheduling of Vehicle Operators for Urban Public Transportation Services, L. Bodin and D. Bergmann, eds., Chicago, 1975. 31. N. WILSON AND E. Minter, “Advanced Dial-A-Ride Algorithms Research Project, Phase II: Interim Report,” Dept. of Civil Engineering, MIT, Cambridge, Mass., Report R77-31, 1977. 2, N. WILSON, R, WEISSBERG AND J. Hauser, “Advanced Dial-A-Ride Algo- rithms Research Project Final Report,” Dept. of Civil Engineering, MIT, Cambridge, Mass., Report R76-20, 1976. 3 —erprright t 00 a Rtg RESON

You might also like