A New Regret Insertion Heuristic For Solving Large-Scale Dial-A-Ride Problems With Time Windows
A New Regret Insertion Heuristic For Solving Large-Scale Dial-A-Ride Problems With Time Windows
A New Regret Insertion Heuristic For Solving Large-Scale Dial-A-Ride Problems With Time Windows
Marco Diana Dipartimento di Idraulica, Trasporti e Infrastrutture Civili Politecnico di Torino Corso Duca degli Abruzzi, 24 Torino, Italy I-10129 Tel. +39 011 564 5605 Fax +39 011 564 5699 E-mail diana@polito.it
Maged M. Dessouky** Department of Industrial and Systems Engineering University of Southern California 3715 McClintock Avenue Los Angeles, CA 90089-0193, USA Tel. +1 213 740 4891 Fax +1 213 740 1120 E-mail maged@usc.edu
** Corresponding Author
Abstract In this paper we present a parallel regret insertion heuristic to solve a dial-a-ride problem with time windows. A new route initialization procedure is implemented, that keeps into account both the spatial and the temporal aspects of the problem, and a regret insertion is then performed to serve the remaining requests. The considered operating scenario is representative of a large-scale dial-a-ride program in Los Angeles County. The proposed algorithm was tested on data sets of 500 and 1000 requests built from data of paratransit service in this area. The computational results show the effectiveness of this approach in terms of trading-off solution quality and computational times. The latter measure being especially important in large-scale systems where numerous daily requests need to be processed. Keywords Public transportation; Paratransit services; Dial-a-ride problem; Heuristics
1. Introduction Historically, dial-a-ride services were large-scale systems designed in the seventies to serve the general population of large urban metropolitan areas. These system soon met with financial problems and were either dismissed or radically transformed (Lave et al., 1996). Recently, they are almost exclusively used in particular situations, for example for services in rural areas or for users with particular needs. In the United States, due to the passage of the American with Disabilities Act, most of the existing services are for disabled and elder citizens; however there is also a flourishing market for feeder services to airports (Cervero, 1997). In Europe there is growing interest in implementing technologically advanced systems, and pilot studies such as SAMPO and SAMPLUS investigated their feasibility under various operating scenarios. There is a significant body of work in the literature on scheduling and routing dial-a-ride systems. The Dial-a-Ride Problem is similar to the Pickup and Delivery Problem with the added constraint of restricting the maximum passenger ride time. These constraints are added to limit the inconvenience to the passengers. Desaulniers et al. (2000) and Savelsbergh and Sol (1995) provide a detailed review of the Pickup and Delivery Problem and its related problems. We briefly summarize the work in this area. Pioneer research on the Dial-a-Ride Problem dates back to the seventies. Theoretical studies for the single-vehicle case include the work by Psaraftis (1980, 1983a), Sexton and Bodin (1985a, 1985b), Sexton and Choi (1986), Desrosiers et al. (1986) for exact algorithms and the work of Psaraftis (1983b, 1983c) for heuristic approaches. Stein (1978a, 1978b) developed a probabilistic analysis of the problem, and Daganzo (1978) presented a model to evaluate the performance of a dial-a-ride system. Heuristics to solve multi-vehicle problems have been then proposed by Psaraftis (1986), Jaw et al. (1986), Bodin and Sexton (1986) and Desrosiers et al. (1988). Min (1989) considers a vehicle routing problem with simultaneous pickup and deliveries, that involves the definition of a capacity constraint. Dumas et al. (1991) present a column generation scheme for optimally solving the Pickup and Delivery Problem with time windows. Madsen et al. (1995), Ioachim et al. (1995), Toth and Vigo
(1997) and Borndrfer et al. (1999) propose heuristics to solve a transportation problem of handicapped persons. Savelsbergh and Sol (1995, 1998) study a general version of the Pickup and Delivery Problem in which each request can have more than one delivery point. Local search procedures are reported in Van Der Bruggen et al. (1993) and Healy and Moll (1995). A tabu search technique has been applied by Nanry and Barnes (2000), whereas Teodorovich and Radivojevic (2000) use a fuzzy logic approach. Exact procedures to solve small problems can be found in Ruland and Rodin (1997) and Lu and Dessouky (2003). Recent papers focus on the design of dial-a-ride services on a technologically advanced basis. Dial (1995) proposes the implementation of a decentralized control strategy for a fleet of vehicles. Horn (2002b) develops an algorithm for the scheduling and routing of a fleet of vehicles that is embedded in a modelling framework for the assessment of the performance of a general public transport system, with the latter being presented in Horn (2002a). A simulation model for paratransit services can also be found in Fu (2002). From this short review, the previously developed algorithms can be classified primarily in three areas: exact, insertion heuristics, and local neighbourhood search techniques. The exact approaches provide theoretical insight to the problem. The insertion heuristics, which includes the work of Jaw et al. (1986) and Madsen et al. (1995), are computationally fast. However, they may not provide as good of a solution as local search techniques such as the tabu method. On the other hand, local search techniques may not be computationally feasible when a large number of requests need to be scheduled in a dynamic environment, and they generally require extensive computational tests to set up a number of parameters that are highly case-sensitive. Developing fast robust scheduling algorithms is becoming of increasing importance to this industry due to the diffusion of low cost information technologies. For example, Access Services Inc, ASI, the agency responsible for coordinating paratransit services in Los Angeles County is equipping most of their fleet with global positioning systems (GPS) and mobile data terminals. With the introduction of these technologies it is possible to track the vehicles in real-time with capabilities to schedule the requests in a real-time dynamic mode. In ASI, 50% of the customers make their reservations on the same day of the requested pickup time and in some cases the
requests are made only hours before the desired pickup time. Furthermore, the average daily volume ranges from around 250 to 2000 requests per day depending on the region within Los Angeles County. With this high volume and the requirement to find solutions quickly, there is a need to develop algorithms with the computational efficiency of the insertion heuristics but with the solution quality of the local search techniques. In this paper we present a parallel regret insertion heuristic to solve a dial-a-ride problem with time windows. A new route initialization procedure is implemented, that keeps into account both the spatial and the temporal aspects of the problem, and a regret insertion is then performed to serve the remaining requests. As opposed to the insertion heuristics whose computational complexity is of O(n2) where n is the number of requests, the computational complexity of the regret insertion heuristic is of O(n3). Thus, it is slower than the classical insertion heuristics. However, on sample data sets representative of paratransit operations in Los Angeles County consisting of 500 and 1000 daily requests, we show that the regret insertion heuristic can provide significantly superior solutions in terms of total vehicle miles and fleet size. Although computationally slower than the insertion heuristics, the regret insertion heuristic is computationally faster than the local search procedures. Furthermore, its computational CPU solution time is much more predictable than the local search procedures where the solution times are extremely dependent on the structure of the data sets. This can be an important characteristic to transportation planners who may need to know how long it takes to obtain a solution, especially when operating in a dynamic mode. The remainder of the paper is organized as follows. A detailed description of the studied problem is given in section 2. The proposed solution methodology is described in section 3. In section 4 we present the computational results obtained on various large sized data sets representative of dial-a-ride operations in Los Angeles County. Finally, some concluding remarks and directions for future research are contained in section 5. 2. Modeling the operation of a paratransit system 2.1. Service features and related constraints
As previously stated, our effort is directed at studying a problem that could realistically model the operation of a paratransit system. In the following we will partially adopt the operating scenario described by Jaw et al. (1986). When making a reservation, the customer has to specify the origin and the destination of the trip, as well as the number of passengers. He can also specify either the pickup or the delivery time; on the other hand, the operator fixes (or negotiates) the maximum ride time and the maximum wait time WT at the pickup point (for customers that specify the pickup time) or the maximum advance time AT at the delivery point (for customers that specify the delivery time). The maximum ride time for each customer k (MRTk) is usually set as an increasing function of its direct ride time DRTk. We use the following definition for MRTk, where a and b are two parameters that are specified by the scheduler:
max (aDRTk + b, DRTk + WT) for requests with specified pickup time MRTk = max (aDRTk + b, DRTk + AT) for requests with specified delivery time
It is convenient to merge these constraints, related to the quality of the service to be provided, into the definition of the time windows for all the pickup and delivery nodes. Let EPTk be the earliest pickup time for customer k if specified or LDTk be the latest delivery time for customer k if specified. Then, let (EPTk , LPTk) and (EDTk , LDTk) be the time windows associated with the pickup and delivery times for customer k, respectively. When EPTk is specified by the user, the time windows are computed as follows.
In figure 1, we illustrate how this computation is performed for both kinds of requests. Using this definition for time windows, the number of tentative insertions that must be performed is dramatically reduced by a priori discarding those that would be infeasible as regards to some of these constraints. Unlike the definition proposed by Jaw et al. (1986), it can be seen that our time windows also imply the respect of the maximum ride time. The most serious drawback is that the time window related to the delivery point (for pickup-time specified requests) or to the pickup point (for delivery-time specified requests) is to some extent unnecessarily narrowed, and this could in turn make it more difficult to identify a feasible solution. On the other hand, narrowing these time windows leads to solutions of high quality for the traveler. This aspect will be investigated when we present the results of the computational tests. Fig. 1. In addition, we associate with each request k a service time sk both at the pickup and at the delivery node. This service feature is usually considered only in the case of the design of a paratransit system for disabled persons. In fact, when modeling a high quality service, in which the temporal constraints are very tight, the length of operations such as boarding and paying the fare cannot be overlooked. 2.2. Idle times within the schedule As previously mentioned, we are dealing with a highly constrained problem. In order to enlarge the solution space without affecting the quality of the service, the vehicles are allowed to stop and idle at any pickup location, waiting to serve the following request, if only no passengers are onboard. This modification of the standard dial-a-ride problem increases the possibility of inserting new requests, especially when the time windows are narrow and the number of requests per unit of time is low. Furthermore, on an operational point of view, the presence of these pauses could greatly simplify the crew roster design, as a multitude of points in which a driver turnover is possible, is created. On the other hand, the implementation of this possibility drives to a more
complicated algorithm design, as the insertion of new requests across an idle time might cause a passenger to be onboard while the vehicle is idling. The easiest method to avoid this drawback is to prevent the algorithm from performing insertions of requests across one or more pauses. This limitation is somewhat arbitrary, as there could be the possibility of operating a shift in the schedule in such a manner that the included idle times are eliminated, thus making the insertion possible. Our algorithm performs this check, and in our computational tests we measured to what extent this added capability improves the quality of the solution (see section 4). 2.3. Objective function When operating a public transport service there are always two conflicting points of view to be considered. The service provider is interested in the economic efficiency of the system, whereas the customer looks at the service quality. The objective function to minimize is a weighted sum of three elements that represent these different points of view: (1) the total distance traveled by all the vehicles, (2) the excess ride time over the direct time for all the customers and (3) the total length of the idle times within the schedule. The latter can also not be considered if it is stated that a vehicle can idle without passengers onboard at no cost. In our simulation we used 0.45, 0.55 and 0.05 as weights for the three components, not considering the scaling factors. The number of vehicles to be used is not minimized during the optimization process; but it is an input of the algorithm. To test the performance of the proposed heuristic, in our computational tests we iteratively run each scenario to determine the minimum number of vehicles required to service all the requests. In order to do this, we performed the first run of the algorithm with a very high number of vehicles, and we progressively lowered this number in the successive runs until some requests could not be scheduled. 3. The proposed regret insertion heuristic
From the discussion presented in the previous section we can conclude that the studied problem is an extremely constrained problem, and therefore the feasibility region can be very limited, even compared to the classical pickup and delivery problem with time windows. On the other hand, from the point of view of the professional scheduler of a paratransit system, the quality of the solution in terms of the minimization of the objective function might not be the only desired feature. In an operative context, even if real-time requests are not allowed, there are always some elements that make the problem dynamic (no shows, vehicle breakdowns). Thus, it is also useful to have a solution that allows some degree of flexibility. In other words, operating changes in the current schedule, such as adding or removing requests or changing the travel times of some arcs, should not always cause the schedule to become infeasible. These considerations led us to develop a heuristic primarily focusing on the maximization of the feasibility of the solution found. On the other hand, a considerable amount of past research (Solomon, 1987) has shown that the insertion methods perform best when we face a routing problem with time windows. Furthermore, Liu and Shen (1999) for example show that parallel insertion procedures outperform sequential approaches. Our proposal is to adopt a parallel insertion heuristic with an appropriate metric, aimed at improving the myopic behavior that is often the drawback of such methods. The metric we use in our algorithm is the generalized regret measure, a technique that has been already employed with interesting results for the study of the standard vehicle routing problem with time windows (Potvin and Rousseau, 1993; Liu and Shen, 1999). The regret metric is particularly useful in finding feasible solutions for highly constrained problems. 3.1. The seed request choice Assuming there are m vehicles, the initial request to be serviced for each of the m tours needs to be determined. Previous research has shown the sensitivity and the importance of the initialization of the m tours of a parallel construction heuristic in order to obtain good solutions. One of the simplest and most intuitive ways to initialize the routes is to choose the m requests with the earliest pickup time. This initialization rule however does not keep into account the routing aspect of the problem, and could perform poorly when solving instances in which the
requests are spread over the territory. In fact, it has been pointed out that in this situation the farthest requests tend to be inserted last, and this behavior clearly worsens the final solution. One way to overcome this flaw is to keep into account the spatial position of the requests when making the choice of the seeds, trying to consider the ones that are more decentralized, as well as the ones with the earliest pickup time. The underlying idea of this initialization strategy is consistent with that of the regret insertion method that we will introduce later, since in both cases we try to anticipate the insertion of a request that would be hard or not convenient to consider later. Different proposals can be found in the literature on the Vehicle Routing Problem for efficiently choosing the seed requests. From the routing aspect, the most popular approaches are variants of the one originally proposed by Fisher and Jaikumar (1981) that partitions the plane in m cones, whose vertex are the central depot, and chooses the seed customers on the basis of their distance from it. This idea is also used by many authors to determine in which order the request must be inserted (Russell, 1995; Caseau and Laburthe, 1999), but in our case this is irrelevant, since the insertion order is determined by the regret heuristic. For mixed routing and scheduling problems, usually a ranking index is defined on the basis of two aspects. Russell (1995) takes into account the temporal location and the length of the time windows along with the distance from the depot, whereas Toth and Vigo (1997) propose a more elaborate methodology that considers the loading and unloading times of the customers and the travel times from the pickup and delivery points of the request under consideration to all the other nodes. As our primary concern is to provide a high quality service, in our case the time windows are quite narrow. Furthermore, we study the feasibility of paratransit systems in an urban environment, where the density of requests could be relatively high. The combination of these two factors makes the scheduling aspect of the problem preponderant on the routing, far beyond the cases addressed in the cited studies. Hence, we basically keep the idea of ranking the requests in ascending pickup time order, but we operate two major modifications. We try to avoid to initialize a route with a request that can be easily inserted after a previously chosen seed, and we
10
allow some swaps in the ranking order to give preference to the requests that could be difficult to insert later, due to their spatial position. We illustrate our procedure through an example. In figure 2, we represent on a time line the pickup (p) and delivery (d) points associated to the earliest five requests of a set; we omit to represent the associated time windows for simplicity. We want to choose three seed requests among these since we assume there are three vehicles, and again for simplicity we suppose that the distance between any pair of nodes associated to these five requests is the same. According to the earliest pickup time ranking, requests 1, 2, and 3 should be the initial requests. It can however be seen that these three are much more spaced in terms of pickup and delivery times (and so a vehicle could easily service all of them), whereas requests 3, 4 and 5 are so close in their pickup and delivery times that they cannot be served by the same vehicle. As a consequence, it would be more efficient to consider for example requests 1, 4 and 5 as seed candidates, as shown in the figure. To take these cases into account, we consider each pair of consecutive requests k and k+1. If the kth request has already been chosen as seed and if the following inequality is verified
LDTk + TTD(k),P(k +1) EPTk +1 then the (k+1)th request is not taken as seed, and we consider the kth and the (k+2)th requests. The quantity TTD(k),P(k+1) is the travel time between the delivery point of request k and the pickup point of the following, whereas LDTk is the latest delivery time of request k and EPTk+1 is the earliest pickup time of request k+1, as defined by the associated time windows.
Fig. 2
We also try to consider the spatial aspect of the problem. To do this, we compute for each request
k a decentralization index (Dk) given by the following expression, in which TD represents the
travel distance between the specified pair of nodes and n is the total number of requests:
11
Dk =
(TD
n j n n j k
P ( k ), P ( j )
+ TD P ( k ), D ( j ) + TD D ( k ), P ( j ) + TD D ( k ), D ( j ) ) + TD P ( k ), D ( j ) + TD D ( k ), P ( j ) + TD D ( k ), D ( j ) )
(TD
P ( k ), P ( j )
The range of Dk is between 0 and 1. A higher value indicates that the kth request is relatively more decentralized than the others. After this, we consider again each pair of consecutive requests k-1 and k, according to the previously defined ranking order. If the following inequality is verified
Dk Dk 1 1
then the two requests are swapped, and we consider the kth and the (k-2)th requests. The parameter
takes on values between 0 and 1. By increasing it we put a greater emphasis on the spatial
aspect of the problem. The best choice depends on the practical problem that must be addressed: generally speaking, should increase as the time windows are widened and the density of requests becomes lower. Finally, the first m requests of the list, ordered by earliest pickup time and processed according to the two aforementioned procedures, are taken as seeds and inserted in the empty routes.
12
itinerary. In this manner, we build an incremental cost matrix in which the rows represent the requests and the columns the routes. If a request has no feasible insertion in a route, the corresponding incremental cost is set to an arbitrarily large value. After that, we compute for each request its regret, given by the sum of the differences between all the elements of the corresponding row and the minimum one. The request with the largest regret will be inserted in the previously computed position. These steps are iterated until all the requests are inserted or until all the regret costs are zero. In the latter case, the corresponding requests cannot be inserted in any of the existing routes. The regret cost is a measure of the potential price that could be paid if a given request were not immediately inserted. As it can be seen, whenever a request cannot be inserted in a route, the related regret cost is greatly incremented. This feature is particularly useful for highly constrained problems, as it drives the algorithm towards the search of feasible solutions. The main focus is to limit as much as possible the myopic behavior of the classical insertion procedures, which for mixed scheduling and routing problems with additional constraints is particularly harmful. In summary, both the initialization and the insertion procedures have been designed to consistently pursue the same goals.
13
request and to the quality of the service. In the following we will not discuss the more trivial checks related to the respect of the capacity and of the coupling constraints. Jaw et al. (1986) perform the time windows control by decomposing each route in different
schedule blocks, defined by the corresponding time intervals in which the vehicle is serving
requests without idling. They then develop a procedure to check if the insertion of a request in a schedule would cause a violation of the time windows of any previously inserted request within
the schedule block. To accomplish this task, four quantities are computed for each node i of the
schedule sequence: BUPi, BDOWNi, AUPi and ADOWNi, representing the maximum time interval by which the nodes in the schedule block preceding and following i (i is included) can be pushed backward and forward. If the additional time required to reach a point is larger than BUPi + ADOWNi+1, then the insertion of this point between i and i+1 is not feasible, as it would cause the violation of some time windows of the nodes in the schedule. We remark that associated with each request k are two nodes, one representing the pickup point and the other representing the delivery point. It can be seen that this procedure focuses only on the single schedule block. During the insertion process, as more requests are inserted, the pauses between schedule blocks decrease. To prevent two or more schedule blocks from overlapping, the above four measures are defined so that the feasible shifts are bounded by the length of the idle times within them. This is an additional constraint not required by the original problem, that could be removed if the shifts needed to serve a request could propagate across different blocks. For example, in figure 3 we can see that the pickup point of the request number 3 can be inserted between p(2) and d(2) only if we eliminate the pause between the two blocks and allow the whole schedule to be pushed backward.
Fig. 3
Generally speaking, it would be nice to check the feasibility of the insertion of a node only on the basis of the time windows of the entire route, automatically creating and merging the different schedule blocks. This improvement is of great importance when we look for solutions of good quality for the customers, as the average number of pauses per route grows when the time
14
windows are narrowed. Using the above mentioned technique would lead to a great difficulty in inserting new requests, given by our feasibility check method and not implied in the problem itself. In order to avoid this problem, in our algorithm we use different statistics, so that it is possible to check in one step if the insertion of a pickup or delivery point causes some time window violation over the entire schedule of the vehicle. For each node i we define four quantities: BTOPi and BBOTTOMi (the maximum time interval by which i and all the preceding nodes in the vehicle schedule can be pushed backward and forward, respectively), ATOPi and
ABOTTOMi (the maximum time interval by which i and all the following nodes in the vehicle
schedule can be pushed backward and forward, respectively). To understand how can we mathematically define these statistics, let us focus our attention on a generic node i of a schedule block h delimited by the idle times dsh and dsh+1. If we consider the quantity BBOTTOMi, it is evident that it is not influenced by the time windows of the nodes preceding dsh, as a forward shift of the nodes between dsh and i can simply be compensated by increasing dsh of the corresponding quantity. The same happens with ATOPi. The time windows only within the same schedule blocks must be considered. In summary, the definition of BBOTTOMi and ATOPi is the same as the one for BDOWNi and AUPi as proposed by Jaw et al. (1986). We report it in the following recursive form.
for the last node of each schedule block LT ATi BBOTTOM i = i min (BBOTTOM i 1 , LTi ATi ) otherwise
In the preceding equations we indicated with ATi the leaving time currently scheduled for the node i after that the service has been exploited, whereas ETi and LTi are the earliest and latest scheduled time given by the associated time window and si is the needed service time. Let us now consider BTOPi. It is evident that this quantity is influenced by the time windows of all the preceding nodes of the schedule, as well by all the preceding pauses. In the same manner,
15
ABOTTOMi depends on the time windows of all the following nodes and the following pauses.
They can be computed as follows.
min (BTOPi 1 + ds h , ATi s i ETi ) for the first node of each schedule block h BTOPi = otherwise min (BTOPi 1 , ATi s i ETi ) min (ABOTTOM i +1 + ds h +1 , LTi ATi ) for the last node of each schedule block h ABOTTOM i = otherwise min (ABOTTOM i +1 , LTi ATi )
Finally, we perform the insertion feasibility check of a node between i and i+1, looking if the required deviation is less than BTOPi + ABOTTOMi+1. If this occurs, the node can be inserted in this position without violating any of the time windows in the schedule, even if it is necessary to merge two or more schedule blocks. As previously stated, this is the most important and computationally heavy feasibility check that is performed by the algorithm. In our operating scenario, it guarantees the satisfaction of both the required pickup or delivery times and the quality of the service for the customers already in the schedule. There are often several ways to insert a request in a specified position. We can shift backward the preceding nodes, or move forward the following ones, or finally do a mix of the two until the required detour is covered. A special procedure has been implemented to keep into account these two correlated aspects, that for briefness is not exposed here; it is however reported in Diana (2003). Concerning this point, it is however important to note that the different ways in which an insertion between two given nodes can be performed only affects the term of the objective function related to the minimization of the idle time. As this is less important of a performance criteria than the other two measures (total vehicle distance and excess ride time), in our algorithm we chose to push backward the schedule as much as possible, regardless of its impacts on the value of the objective function. We believe that this is the best strategy to follow in a true operational setting, as it has the highest potential to improve the behavior of the system in a dynamic context, for example in case of delays.
4. Computational tests
16
17
accompanying passengers was obtained as a sample of the following cumulative distribution: 00.40; 1-0.99; 2-1.00. For requests without passengers on a wheelchair, the probability of having two people to transport was 0.175. The remaining requests travel alone. All these assumptions are based on the analysis of the ASI data reported by Dessouky and Adam (1998). We generated two distinct sets of problem instances, each one having five random samples. In the first set all the samples contain 500 requests, in the second 1000 requests. For each scenario, we simulate 24 hours of provided service. These parameters represent a fairly large-scale instance of this kind of system.
18
this should allow for a better exploration of the feasibility region of the problem, thus, improving the quality of the solution found. Algorithm 3 uses the seed request choice procedure described in section 3.1, but performs the Solomon insertion. Algorithm 4 initializes the routes like algorithms 1 and 2, but the regret insertion is performed. Finally, algorithm 5 represents our proposal, as it uses both the new seed request choice and the regret insertion. All these algorithms were coded in C++ and executed on a Personal Computer with a Pentium III processor. The implementation of all these variants allows us to see the effective behavior of each alternative, compared to the classical base case represented by algorithm 1. The computational results for the sets of 500 requests and of 1000 requests are shown in tables 1 and 2, respectively. The reported numbers refer to the mean values obtained from independent runs on five different random samples, as earlier described. Each table reports the following information: the first column indicates the used algorithm and the second the minimum number of vehicles needed to serve all the requests. After that, the overall number of miles that are covered and the miles that are traveled with no passengers onboard (excluding the trips to and from the depot) are shown. The fifth and the sixth columns contain the total length of the schedule, i.e. the sum of the time intervals from leaving to returning to the depot of all the vehicles, and the total length of all the idle times. Finally, we report a rideshare measure, i.e. the ratio between the number of served requests and the number of trips started with no passengers onboard, and the average increase of the ride time as regards to the direct ride time.
Tables 1 and 2
Several comments are possible on the basis of these data. Algorithms 1 and 2 perform almost the same when solving problems with 500 requests, whereas there is an improvement of the latter for the bigger instances, moreover if we consider the number of vehicles needed. In those cases algorithm 2 has a slightly better performance, although on an intuitive point of view the possibility of inserting requests across different schedule blocks should have had a much deeper impact. A possible explanation is that it is likely that eliminating the pauses leads to a less flexible schedule, that in turn worsens the quality of the insertion for the later requests.
19
Algorithm 3 allows us to evaluate the behavior of the new methodology used to choose the seed request that was presented in section 3.1. It can be seen that it improves the schedules over the Solomon insertion mainly by reducing the number of miles that are traveled without customers onboard. On the other hand, considering the computational results of algorithm 4 we can conclude that the regret insertion method alone gives solutions that use around 6-7% less vehicles and 6-7% less vehicle miles traveled and total ride hours. Algorithm 5, which combines the new seed request choice with the regret insertion method, clearly outperforms all the others, and becomes particularly effective in reducing the number of required vehicles especially when the dimension of the problem is increasing. For the considered data sets, the fleet size is decreased on average by 8.17% over the base case. The comparison of algorithms 3, 4 and 5 gives us an experimental confirmation that the proposed method for initializing the routes and the regret insertion work well together. The improvement of the schedule over algorithm 1 mainly seems to be caused by the dramatic decrease on the empty vehicle miles (the miles traveled with no passenger onboard), which in turn causes an increment of the average vehicle occupancy and of rideshare. Also, algorithm 5 slightly increases the idle times over the base case. This result cannot be generalized, as it may be due to the small penalty (0.05) that was given to this measure in the objective function (section 2.3). The excess of the ride time over the direct trip time obviously increases with rideshare. A more detailed analysis of the results provided by algorithm 5 shows that on average 64% of the requests are served directly when the number of requests is 500; this percentage is decreased to 53% with 1000 requests. Since these users have no deviations, the ride time coincides with the direct ride time, and for them the system works as a taxicab. The remaining requests have one or more deviations (i.e. the vehicle visits one or more nodes between the pickup and the delivery point of the request), and for these requests, their ride time is increased over the direct time of about 19%. Only for few requests the increase of the ride time is near the upper bound set by the quality constraint, and typically these are among the ones with 2 to 4 deviations. Quite surprisingly, the requests with the highest number of deviations (more than 4) often do not have the highest excess of ride time. This seems to confirm that if the demand density increases it is
20
possible to achieve higher rideshares and service efficiencies without worsening the quality of the service for the passengers. Another interesting result can be found by performing an analysis on the quality of the solution among the different instances in terms of the required fleet size. In table 3 we report the number of required vehicles for each algorithm in each problem instance and the resulting sample standard deviations. It can be seen that these latter are consistently reduced when using the regret insertion method in smaller data sets, whereas they only slightly increase when considering the larger ones. In all the considered cases their value is always less than 3 vehicles. On an operational point of view, this means that when the service has to be implemented the fleet can be more efficiently dimensioned a priori, as the fluctuations on the number of required vehicles for a given level of demand are less evident.
Table 3
Finally, the computational times of the insertion procedure for each run on the two data sets are reported in table 4, together with the respective mean values and standard deviations. For briefness we report the results only for algorithm 5, but they are almost the same for algorithm 4, as they both use the regret insertion method. Considering the highly constrained nature of the problem and the dimension of the problem instances, these computational times are within a practically useful range. Of course, the computational times can be further improved by using a faster processing computer. However, the most important thing that has to be pointed out is that these times are rather robust given the dimension of the instances and the simulated road network. The standard sample deviations are about 14 seconds on a length of 26 minutes and less than 2 minutes for the larger problems, that were solved in 195 minutes on average. This result is particularly striking when compared to the performance of local search or metaheuristic procedures, that often have running times that can vary one degree of magnitude for different samples with the same dimensions. The elimination of this uncertainty can be helpful to the service provider for planning purposes, as the impossibility to foresee how long the scheduling phase will be in any given day of service could be a serious drawback in a real operational environment.
21
Table 4
We focus our attention on variants 1 and 5 of our algorithm, representing respectively the standard solution method and our new proposal. For these, the mean computational results over the five samples for the defined scenarios are reported in table 6. It can be seen that algorithm 5 improves over algorithm 1 in all the considered scenarios. However, the regret insertion algorithm performs best against the classical insertion heuristic under medium to small time window constraints. When the time window is large, the benefit of the regret procedure is reduced. When the time window is very small (scenario H), the gap between the regret insertion and algorithm 1 also narrows since in this case the number of feasible alternatives is rather small. Thus, there are few feasible insertion scheduling alternatives to consider.
22
Table 6 5. Conclusions
In this paper we presented a new heuristic designed to solve large problem instances of a realistic formulation of the dial-a-ride problem with time windows. The heuristic was tested on a series of instances that were built from data concerning three days of paratransit operation in Los Angeles County. The results of these experiments showed that the quality of the solution is consistently improved with respect to a classical insertion heuristic. Our efforts were directed at finding a good balance between the need of developing a tool that could be used in practice, the quality of the solution and the associated computational burden of the heuristic. The regret insertion scheme furthermore does not have parameters to be set, which is in contrast to local search and metaheuristic procedures. Our heuristic can manage instances of big dimensions for the studied problem. If we compare the outputs for the two data sets, it is evident that bigger instances are harder to solve, but in turn the proposed heuristic considerably outperforms the classical insertion heuristic for the large problem instances. On the other hand, preliminary experiments with only 100 requests showed no significant differences between the two approaches in terms of the quality of the solution. The feasibility of the implementation of a demand-responsive transit system for the general population is currently under consideration in the city of Turin (Italy), as an advanced Intelligent Transport System is already in use both for traffic management and for the operation of the public transport lines. Research work is in progress on the topic, but the need of a reliable algorithm for the operation of the service is one of the primary concerns. The next phase of our research will be targeted at adapting the scheduling capabilities of the presented algorithm to this transit environment, including the possibility of inserting real-time requests.
Acknowledgements
23
This research was made possible by a grant from the Turin Transit Agency ATM (Azienda
Torinese per la Mobilit), Italy. Dr. Dessoukys time was supported by the National Science
Foundation under grant DMI-9732878. Thanks are also due to Access Services, Inc. for providing the data upon which the problem instances were built. We also wish to acknowledge the comments of an anonymous referee that were helpful in improving the quality of this paper.
References
Bodin, L. and Sexton, T. (1986) The multi-vehicle subscriber dial-a-ride problem. TIMS Studies
with pickup and delivery. Cahiers du GERAD G-2000-25, Ecole des Hautes Etudes
Commerciales, Montral. Desrosiers, J., Dumas, Y. and Soumis, F. (1986) A dynamic programming solution of the largescale single-vehicle dial-a-ride problem with time windows. American Journal of
24
request and real-time demand responsive transit services, Ph.D. Dissertation, Politecnico di
Torino, Dipartimento di Idraulica, Trasporti e Infrastrutture Civili, Torino, Italy. Dumas, Y., Desrosiers, J. and Soumis, F. (1991) The pickup and delivery problem with time windows. European Journal of Operational Research, 54, 7-22. Fisher, M.L. and Jaikumar, R. (1981) A generalized assignment heuristic for vehicle routing.
software, Transit Cooperative Research Program Report #18, Transportation Research Board,
Washington, D. C. Liu, F.H. and Shen, S.Y. (1999) A route-neighborhood-based metaheuristic for vehicle routing problem with time windows. European Journal of Operational Research, 118, 485-504.
25
Lu, Q. and Dessouky, M. (2003) An exact algorithm for the multiple vehicle pickup and delivery problem. Transportation Science, forthcoming. Madsen, O.B.G., Raven, H.F. and Rygaard, J.M. (1995) A heuristic algorithm for a dial-a-ride problem with time windows, multiple capacities, and multiple objectives. Annals of
26
Sexton, T.R. and Bodin, L.D. (1985a) Optimizing single vehicle many-to-many operations with desired delivery times: 1. Scheduling. Transportation Science, 19, 378-410. Sexton, T.R. and Bodin, L.D. (1985b) Optimizing single vehicle many-to-many operations with desired delivery times: 2. Routing. Transportation Science, 19, 411-435. Sexton, T.R. and Choi, Y. (1986) Pickup and delivery of partial loads with soft time windows.
27
List of figures Fig. 1. Definition of the time windows for requests with specified both the pickup (a) and the
spatial and the temporal aspects of the problem; the capital letter D indicates the depot
Fig. 3. According to the time windows of the nodes already in the schedule, the pickup point of
the request nr. 3 can be inserted in the indicated position, but we have to eliminate the pause preceding p(2) and also the nodes of the preceding schedule blocks (p(1), d(1) and the depot) must be pushed backward
List of tables Table 1. Computational results for the five algorithms, 500 ASI requests, average values on five
random samples
Table 2. Computational results for the five algorithms, 1000 ASI requests, average values on five
random samples
Table 3. Number of vehicles needed in all the ten random samples Table 4. Computational times in seconds for algorithm 5 Table 5. Parameters settings for the studied scenarios Table 6. Computational results of algorithms 1 and 5 for the three scenarios, 1000 ASI requests,
28
Fig. 1. Definition of the time windows for requests with specified both the pickup (a) and the delivery (b) time
KEY Travel time between any pair of nodes Pauses of the vehicle Vehicle 1 Vehicle 2 Vehicle 3
p(1)
d(1)
p(2)
d(2)
d(5)
time
Fig. 2. Example of an efficient way of initializing the routes, keeping into account both the spatial and the temporal aspects of the problem; the capital letter D indicates the depot
KEY Travel time between any pair of nodes Time window of the node Pause of the vehicle p(3)
Depot
p(1)
d(1)
p(2)
d(2)
Fig. 3. According to the time windows of the nodes already in the schedule, the pickup point of the request nr. 3 can be inserted in the indicated position, but we have to eliminate the pause preceding p(2) and also the nodes of the preceding schedule blocks (p(1), d(1) and the depot) must be pushed backward
29
Table 1 Computational results for the five algorithms, 500 ASI requests, average values on five random samples Algorithm 1 2 3 4 5 Vehicles 51.4 51.2 (-0.39%) 50.4 (-1.95%) 47.6 (-7.39%) 47.2 (-8.17%) Total Miles 10575 10496 (-0.75%) 10492 (+0.78%) 9840 (-6.95%) 10027 (-5.18%) Empty miles 2985 2928 (-1.91%) 2753 (-7.77%) 2414 (-19.13%) 2371 (-20.57%) Ride hours 739.75 734.25 (-0.74%) 733.86 (-0.82%) 690.22 (-6.70%) 702.78 (-5.00%) Idle hours 263.28 263.37 (+0.03%) 270.35 (+2.69%) 264.52 (+0.47%) 264.31 (+0.39%) Rideshare 1.223 1.370 (+0.147) 1.368 (+0.145) 1.356 (+0.133) 1.365 (+0.142) Increase of ride time 6.89% 9.31% (+2.42%) 9.29% (+2.40%) 9.13% (+2.24%) 9.37% (+2.48%)
Table 2 Computational results for the five algorithms, 1000 ASI requests, average values on five random samples Algorithm 1 2 3 4 5 Vehicles 83.2 81.4 (-2.16%) 81.8 (-1.68%) 78.0 (-6.25%) 76.4 (-8.17%) Total Miles 17818 17661 (-0.88%) 17748 (-0.39%) 16642 (-6.60%) 16643 (-6.59%) Empty miles 4716 4652 (-1.36%) 4531 (-3.92%) 3759 (-20.29%) 3557 (-24.58%) Ride hours 1254.17 1242.88 (-0.90%) 1248.79 (-0.43%) 1174.18 (-6.38%) 1178.82 (-6.01%) Idle hours 401.21 391.75 (-2.36%) 407.49 (+1.57%) 405.38 (+1.04%) 414.41 (+3.29%) Rideshare 1.373 1.583 (+0.210) 1.585 (+0.212) 1.570 (+0.197) 1.583 (+0.210) Increase of ride time 9.64% 11.83% (+2.19%) 11.73% (+2.39%) 11.85% (+2.21%) 12.02% (+2.38%)
30
Table 3 Number of vehicles needed in all the ten random samples Algorithm 1 2 3 4 5 500 ASI requests samples A 53 52 51 48 48 B 55 52 51 50 49 C 52 55 55 47 46 D 49 49 47 48 48 E 48 48 48 45 45 St. dev. 2.58 2.48 2.80 1.62 1.47 F 82 81 84 78 78 1000 ASI requests samples G 87 84 84 80 80 H 83 83 83 78 77 I 80 78 78 73 73 J 84 81 80 81 74 St. dev. 2.32 2.06 2.40 2.76 2.58
Table 4 Computational times (seconds) of the insertion procedure for algorithm 5 500 ASI requests Sample A B C D E Time 1537 1546 1560 1550 1518 Average Standard deviation 14.2 Sample F G H I J 1000 ASI requests Time 11725 11881 11677 11588 11633 Average Standard deviation 100.9
1542
11701
31
Table 5. Parameters settings for the studied scenarios Scenario Slope of the linear equation for MRT Constant term intercept of the linear equation for MRT Minimum time windows span Base (Section 4.2) 1.3 10 10 L (Low quality) 2.0 20 30 M (Medium quality) 1.5 10 15 H (High quality) 1.2 5 5
Table 6. Computational results of algorithms 1 and 5 for the three scenarios, 1000 ASI requests, average values on five random samples Scenario Algorithm Vehicles Total Miles Empty miles Ride hours Idle hours Rideshare Increase of ride time 1 63.2 14712 3341 1044.85 288.07 2.305 39.54% L 5 58.4 (-7.59%) 13877 (-5.68%) 2153 (-35.56%) 987.63 (-5.48%) 301.17 (+4.55%) 3.037 (+0.732) 47.62% (+8.08%) 1 77.2 16663 4238 1177.19 350.17 1.609 17.29% M 5 70.0 (-9.33%) 15554 (-6.66%) 3061 (-27.77%) 1101.82 (-6.40%) 373.65 (+6.71%) 1.883 (+0.274) 20.38% (+3.09%) 1 92.8 19152 5175 1344.26 463.97 1.152 3.43% H1 5 87.2 (-6.03%) 18107 (-5.46%) 4122 (-20.35%) 1273.77 (-5.24%) 485.24 (+4.58%) 1.225 (+0.073) 4.24% (+0.81%)
In one of the five samples there are two requests that cannot be scheduled with such tight constraints, since the sum of the direct ride time and of the service times at nodes exceeds their respective maximum ride time. Hence, they have not been considered. 32