行政院國家科學委員會專題研究計畫 成果報告
動態撥召公車問題之啟發式解法與策略
計畫類別: 個別型計畫 計畫編號: NSC94-2420-H-009-004- 執行期間: 94 年 12 月 01 日至 95 年 07 月 31 日 執行單位: 國立交通大學運輸科技與管理學系(所) 計畫主持人: 黃家耀 報告類型: 精簡報告 報告附件: 出席國際會議研究心得報告及發表論文 處理方式: 本計畫可公開查詢中 華 民 國 95 年 10 月 30 日
摘要 撥召公車乃提供需求回應與按戶送達之重要運輸系統,乘客提供其收送點及指明之時間窗, 而公車經營者側以其有限之車隊滿足乘客的需求。一般經營者期望以最小之營運成本為目 標,但也受制於有限之車容量及乘客所能接受之最大在車時間。撥召公車問題相近於具時窗 限制之收送車輛途程問題,也算是車輛路線問題的一種,而主要的差異在於其載人之時窗特 質。目前的相關研究重於靜態問題之求解,指在一天前規劃出一天後之途程。近年由於電子 導航及通訊科技發展越趨成熟,實時車輛指派的容易度增加,得使動態需求的加入變得可行。 本研究的目的是發展出一套排程策略, 可用於動態撥召公車問題。以重新排列車輛一整天的 等待時間, 派遣系統能夠增加排進新需求的可能性, 也能減少所須的計算時間, 使得在動態 問題的應用更加有效率。 關鍵詞: 撥召公車問題; 路線與排程; 動態; 等待策略; 啟發式解法 Abstract
The Dial-a-Ride Problem (DARP) consists of planning routes and schedules for picking up and delivering passengers within pre-specified time windows. Passengers specify their transportation requests between origins and destinations with desired departure or arrival time, and the operator is responsible to provide transportation with a fleet of vehicles with limited capacity. While the time one user spends on a vehicle should not exceed a certain maximum, the objective of the operator is to minimize the total service cost or minimize the user inconveniences. Existing studies focus on the static version of the problem, in which all the demands are known beforehand. In practice the distinction between static and dynamic is often blurred, due to cancellations and vehicle breakdowns. In some cases immediate requests are allowed subject to a lower priority. In the fully dynamic mode, the requests are revealed throughout the day and the routes are constructed and modified in real-time.
The dynamic version of the DARP has been less studied until recently, in line with advances in information and communication technologies (ICT). In this research a strategy of scheduling is developed for the dynamic dial-a-ride problem. For instance, while the acceptance of dynamic requests must be decided in real-time, the assignment of the requests and the re-optimization of vehicle schedules can be done taking advantage of the gaps between the arrivals of future requests and deliveries. This can narrow the computing steps into a feasible number, allowing real-time computation possible. Suitable arrangement of idle periods of a vehicle trajectory can also maximize the possibility of real-time insertions.
Introduction
The DARP system makes an important contribution to transport in many cities, offering demand-responsive, door-to-door transport (Cordeau and Laporte, 2003b; Diana and Dessouky, 2004). The elderly and Handicapped persons Transportation Problem (HTP) is a typical example (Ioachim et al., 1995; Toth and Vigo, 1997). Passengers specific their transportation request between origins and destinations at the day before they request a service, and may provide their desired departure or arrival time windows. The operator collects all the requests at the end of the day and plans the timetable of the vehicles for the next day. The objective of the scheduler is to design a set of routes which minimizes the total service cost, capable of providing service to all requests. In the static version of the problem, the timetable is fixed and not to be changed once the vehicles are dispatched. In a real-time environment, the routing problem is demand-driven, and the operator may have to redirect the vehicles in order to response to the requests which may arrive during the day.
Existing studies on the DARP focus on the static version of the problem, where all the demands are known beforehand. In practice the distinction between static and dynamic is often blurred, due to cancellations and vehicle breakdowns (Psaraftis, 1988, 1995). In some cases immediate requests are allowed subject to a lower priority. In the fully dynamic mode, the requests are revealed throughout the day and the routes are constructed and modified in real-time. The dynamic version of the DARP has attracted attentions recently, in line with advances in information and communication technologies (ICT). In this research existing methodologies are surveyed and we focus on their extensions to dynamic problems. In a dynamic environment, the demand for and supply of the vehicle routing system is stochastic and uncertain in nature, and therefore it is not feasible to quantify ifasolution is“optimum",buthowever,a“strategy”can beevaluated asgood ornotunder specified conditions. In contrast to the heuristics used in the static problems which emphasize in the routing component, we identify that the core of the strategy in the dynamic approach is in the scheduling component.
The objective of this research is therefore to develop an efficient strategy for the dynamic dial-a-ride problem, taking into account the spatial and temporal characteristics. The strategy focuses on determining the schedules (or timetables) of the vehicles, which are unsolved by the available static routing algorithms. It also helps the operator in limiting the number of possible insertions, making the computation practical in real-time.
Literature Review
passenger and the limitation to the vehicle capacities (Ioachim et al., 1995; Toth and Vigo, 1997). The previously proposed solution methods on the DARP and HTP can be broadly classified into Exact methods and Heuristic algorithms. Exact methods work on the mathematical formulation of the problem and aim to find the optimal solution to the problem with optimization algorithms. On the other hand, heuristic algorithms intend to find a "good" solution within acceptably short time, which are more important when the problem size is practically large, taking into account the NP-hardness of the problem. Heuristics are the well accepted methodologies by the majority studies.
On the exact methods, Psaraftis (1980) formulated the single vehicle DARP as a dynamic programming problem with the objective of minimizing the route operating time and passenger dissatisfaction. Time windows are not explicitly considered but instead a "maximum position shift" constraint is imposed in the model, accounting for the position difference between that in the calling list and in the actual route. Psaraftis (1983) later extended the approach for users-specified pickup and delivery time windows. Sexton and Bodin (1985a, 1985b) studied the single vehicle problem with the objective of minimizing the customer inconvenience. Developed as a heuristic, Benders' decomposition procedure was applied to solve the formulation resulting to a routing and scheduling heuristic.
The methodologies used for the single vehicle DARP has been sought as a step in going to the multiple vehicle case. One of the first and frequently cited heuristics on the multiple vehicle version of the DARP was proposed by Jaw et al. (1986). Customers of advance-request can specify either a desired pick-up time or desired delivery time. Their model allows the actual pick-up or delivery of a customer deviates from the desired one, but under the constraints of a fixed maximum-wait time window and a maximum ride time that a passenger may spend on the vehicle. For the purpose of passenger transportation, vehicles are not allowed to idle when it is carrying passengers. The insertions of customers into the work-schedule are selected with minimizing the objective function, which is a weighted sum of disutility to the customers and the operator. Madsen et al. (1995) presented a heuristic algorithm with multiple capacities and multi objectives with application to a real case for scheduling elderly and disabled persons, with a dynamic updating capability. Routes are pre-planned for the known requests at the beginning of the day, and new requests can enter the system throughout the day, and travel time updating and vehicles break down can also be considered. Inspired by the methodology of Jaw et al. (1986), the algorithm they developed can be efficient enough to be implemented in a dynamic environment for online scheduling.
Most of the studies above focused on the methodology but few have targeted for particular applications for elderly or disabled people. Ioachim et al. (1995) showed successful results by employing mathematical programming techniques in generating a set of mini-clusters in solving the multi-vehicle pickup and delivery problem with time windows. Toth and Vigo (1997) presented
another work on the handicapped person transportation, where additional operational constraints are considered. Passengers specify time instant for pickup or delivery and the total travel time must not exceed the maximum travel time. Additional service times are also given at origin and destination, and the service requirements of each user are categorized with their physical characteristics, e.g. walking or wheelchair users. The mixed fleet consists of minibuses and special cars with capacities, while unrouted passengers can be served with taxis subject to a penalty of higher cost. A parallel insertion heuristic algorithm is used to solve the problem and tabu thresholding optimization procedure is implemented in improving the solution after the insertion steps.
An excellent and comprehensive review on the features and variants of the Dial-a-Ride problem is provided by Cordeau and Laporte (2003b). They surveyed over 30 publications and summarized the important algorithms which have been published over the last thirty years. In a very recent study, Diana and Dessouky (2004) presented a new heuristic for the static version of the DARP with time windows. They developed a route initialization procedure which exclusively keeps into account the spatial and temporal effects of the requests, and a parallel regret insertion heuristic for the remaining requests. Instead of ranking the requests with a certain criteria (e.g. earliest pickup time or latest delivery time) as in classic insertion heuristics, the regret insertion builds up an incremental cost matrix for each of the unassigned requests assigning to each of the existing vehicle routes. A regret cost, which is a measure of the potential difficulty if a request is not immediately assigned, is calculated for each request, and the algorithm seeks for the one with the largest regret cost, and inserts it into the existing schedules. The whole procedure is repeated until all requests are inserted. In their study, vehicle fleets are assumed to be without capacity constraints. They have successfully implemented the algorithm to a real case of up to 1000 requests, resulting in 8% cut in the fleet compared to classic sequential insertion of Solomon (1987), but however, they also concluded that the improvement of solution quality is marginal with the regret insertion for the problem with the number of requests at the size of 100. Metaheuristic algorithms have also been sought to solve the DARP. Cordeau and Laporte (2003a) formulated and solved the static case with tabu search heuristic. Unlike measuring the deviation of actual pickup/dropoff times to the user desired ones as a disutility, their model allows users to specify a time windows of a fixed width on their inbound or outbound trips, with an upper limit on the travel time for any user.
The above mentioned heuristics and solution methodologies aimed for solving the static dial-a-ride problem, but however, less of them intended for the dynamic issues. In the dynamic problem, the solution is build up online, which responses the incoming requests over the day. An intuitive approach to extend the static methodology to a dynamic one is to keep updating the existing routes dynamically when new requests arrive (see Madsen et al., 1995; Attanasio et al., 2004). Such approach re-optimizing the routes locally only provides a fast enough feasible solution, but not necessary a good one. In preparing the system for real time requests, some others consider the goal in short term and long term such that quick response can be given online in a myopic way and local
improvement can be done offline making use of the spare periods between the current time and the pickup time of the future requests. Mitrovic-Minic et al. (2004) considered the dynamic problem with a double-horizon based heuristics. While the short-term decisions are created with the insertion procedure, improvement is obtained through a longer-term consideration which is performed with a local search heuristic (tabu serach), efficiently using the slack period between the horizons. The methodology is constructed against the Pickup and Delivery Problem with Time Windows, which is more likely faced by freights and couriers, in which demands span a long period over the day with a high composition of immediate requests. Mitrovic-Minic and Laporte (2005) investigated the waiting strategies for the cases that customer arrives in dynamic. They developed criteria for the route dynamic partitioning, such that waiting and idle of vehicles are only allowed at the beginning or the end of, but not within, each service zone. This utilizes the idle time of vehicle in the route without affecting the service quality and feasibility of the trips thereafter. With the help of route partitioning, which can be updated instantaneously, they suggested two new waiting strategy, dynamic waiting strategy and advanced dynamic waiting strategy, which defines the waiting time configuration between those partition blocks.
Solution Methodology
For a dynamic problem, the solution methodology is build up online, responding the incoming requests over the day. In general, it comprises a routing subproblem and a scheduling subproblem, which are solved in a sequential manner (Cordeau and Laporte, 2003b; Mitrovic-Minic et al., 2004). While the routing subproblem is to determine the sequence of passengers to be visited on each vehicle route, the scheduling subproblem is to determine the timetable of departures and arrivals of nodes on the routes. We first describe the routing issue of the DARP algorithms, and then the scheduling aspects follows.
Routing sub-problem
The solution methodologies for the dial-a-ride problem have been well explored in the static domain, but less of them aim for the dynamic issues. One of the reasons is that the distinction between static and dynamic is often blurred and optimality is difficult to guarantee with the uncertainty in online problems. An approach to extend the static methodology to a dynamic one is to keep updating the existing routes dynamically when new requests arrive (Attanasio et al., 2004; Madsen et al., 1995). In preparing the system for real time requests, some others consider the goal in short term and long term such that quick response can be given online in a myopic way and local improvement can be done offline making use of the spare periods between the current time and the pickup time of the future requests (Mitrovic-Minic et al., 2004). Nevertheless, with the same sequences of stops on the route, there is still a great flexibility in the timetable, and making use of this flexibility can improve
the system capacity and efficiency for future demands.
Figure 1. The earliest and latest bounds of a vehicle trajectory
Scheduling sub-problem
Given an ordered route pk
vok ,...,vi,...,vdk
of vehicle k, visiting from the origin o(k) to nodesi and then back to destination d(k), computed from a routing component. It is necessary to
determine the timetable, which is characterized by the departure and arrival time at any node i of vehicle route k. The schedule in turn resolves the upper bound on total route duration, which implies the set of solutions with the same operating cost but no extra delay to all service point. Let k
i
T and
k i
B be the arrival time and the scheduled service time of vehicle k at node i, as displayed in Figure 1. The difference between the time of arrival and the actual time of service is the waiting time at the corresponding node, and is defined as k
i
W , and therefore we have k i k i k
i B T
W . The aim of the scheduling sub-problem is to determine the waiting times, which is a redundant to the routing problem. This waiting strategy plays an important role in dynamic environment, which also determines the amount of new requests which can be inserted later.
For the trajectory of a single vehicle, Figure 1 shows two simple strategies that are commonly used in the static algorithms. The vertical intervals represent the time windows associated with each node. For a line of a particular strategy, the slope represents the movement along the space-time diagram
Time Nodes 1 2 3 4 5 6 Earliest bound Latest bound Starting node Bi Ti
(i.e., speed) of the vehicle from one node to the next, and vertical part is the period of waiting at a location. Each of the dashed line and dotted line represents a trajectory of vehicles with an idle strategy. The dashed line is the timetable of the vehicle if it is scheduled to depart each node as early as possible, without violating any of the time windows. Likewise, the dotted line represents the timetable of the vehicle if it is scheduled to depart as late as possible, while not being late for the time windows in the subsequence stops.
We can see that any vehicle trajectory which is below the dotted line and above the dashed line is feasible and possible. While “start as late as possible” (dotted line) incurs the minimum route duration, it is less likely that future requests can be inserted into the existing route under this strategy, since the later schedule is almost already fully-booked.“Startassoon aspossible”(dashed line) expects the longest total route duration, but it gains the flexibility that the vehicle can detour to newly inserted requests without violating the later time constraints. These are two commonly used configurations in solving static problems when real-time requests are not considered.
Figure 2. Vehicle idle strategy in dynamic
A better vehicle idle strategy to be used in dynamic problems can be sought by rearranging those idleperiodsateach stop asshown in the“startassoon aspossible”strategy,asillustrated in Figure
Time
1 2 3 5 6 8
Starting node
Waiting before the first node of
Idle after service at node 4 Scheduled block 2
Scheduled block 1
9 10 11
Idle after service at node 8, constrained by node 10
Nodes
4 7 12
2. In the first instance, the scheduled but unvisited nodes in a route can be organized geographically, such that nodes close to each other or within a certain zonal area can be put into the same group. A schedule block is created for each of this group. Within a block, the schedule can be determined with thesimple“start assoon aspossible”way,and a vehicle is only allowed to wait before or after a schedule block. To save computing time and for the easy of vehicle fleet management, any immediate requests incoming real-time is not allowed to be inserted into a block which has already been started. Insertion of new requests are only scheduled into blocks which have not been initialized if there is strong geographic relationship, or inserted into the gaps between blocks. This is a novel idea which facilitates the possibility of accepting future requests, as now it is possible for the vehicles to detour to further locations with this longer idle period. From the point of view of computation, the number of possible insertion steps is now bounded to be a multiple of the number of scheduled blocks, and therefore the computing time required is very limited and the implementation of such a dynamic system will be feasible in practice.
Conclusions and Self Evaluation
The static version of the dial-a-ride problem has been well explored by the previous studies, but efficient strategies to be useable in dynamic are limited. In this research we have established the important issues, pointing out that dynamically updating of a static model is probably not the best strategy to be used in real-time. It is demonstrated that an efficient scheduling component is a crucial element in a dynamic algorithm. A vehicle idle strategy, which can utilize the idle times of vehicles without affecting the quality and feasibility of the service, has been proposed in this report. Initial findings of this study have been published in Wong and Bell (2006) and presented in Wong (2006). This project also supported the research of a Master student (Yuan, 2006), who is in his second year at the moment.
Publications in related to this project
Wong, K.I. and Bell, M.G.H. (2006) Solution of the Dial-a-Ride Problem with multi-dimensional capacity constraints. International Transactions in Operational Research, 13(3), 195-208. Wong, K.I. (2006) Heuristics and strategies for the dynamic dial-a-ride problem. International
Conference on Logistics and Supply Chain Management, 5-7 January, Hong Kong, paper code:
0215.
Yuan, C.W. (2006) Waiting strategies for the dynamic dial-a-ride-problem. Master Thesis, Department of Transportation Technology and Management, National Chiao Tung University. (Working)
References
Attanasio, A., J.F. Cordeau, G. Ghiani and G. Laporte (2004) Parallel Tabu search heuristics for the dynamic multi-vehicle dial-a-ride problem. Parallel computing, 30, 377-387.
Cordeau, J.F. and G. Laporte (2003a) A tabu search heuristic for the static multi-vehicle dial-a-ride problem. Transportation Research, 37B, 579-594.
Cordeau, J.F. and G. Laporte (2003b) The Dial-a-Ride Problem: Variants, modeling issues and algorithms. 4OR- Quarterly Journal of the Belgian, French and Italian Operations Research
Societies, 1, 89-101.
Diana, M. and M.M. Dessouky (2004) A new regret insertion heuristic for solving large-scale dial-a-ride problems with time windows. Transportation Research Part, 38B, 539–557.
Ioachim, I., J. Desrosiers, Y. Dumas, M.M. Solomon, and D. Villeneuve (1995) A request clustering algorithm for door to door handicapped transportation. Transportation Science, 29, 63–78. Jaw, J.J., A.R. Odoni, H.N. Psaraftis, and N.H.M. Wilson (1986) A heuristic algorithm for the
multi-vehicle many to many advance request dial-a-ride problem. Transportation Research,
20B, 243–257.
Madsen, O.B.G., H.F. Raven, and J.M. Rygaard (1995) A heuristic algorithm for a dial-a-ride problem with time windows, multiple capacities, and multiple objectives. Annals of
Operations Research, 60, 193–208.
Mitrovic-Minic, S., R. Krishnamurti, and G. Laporte (2004) Double-horizon based heuristics for the dynamic pickup and delivery problem with time windows. Transportation Research, 38B, 669-685.
Mitrovic-Minic, S. and G. Laporte (2005) Waiting strategies for the dynamic pickup and delivery problem with time windows. Transportation Research, 38B, 635-655.
Psaraftis, H.N. (1980) A dynamic programming solution to the single vehicle many-to-many immediate request dial a ride problem. Transportation Science, 14, 130–154.
Psaraftis, H.N. (1983) An exact algorithm for the single vehicle many-to-many dial-a-ride problem with time windows. Transportation Science, 17, 351–357.
Psaraftis, H.N. (1988) Dynamic vehicle routing problems. In: Golden, B.L., Assad, A.A. (Eds.),
Vehicle Routing: Methods and Studie,. Vol. 16. North-Holland, Amsterdam, 223-248.
Psaraftis, H.N. (1995) Dynamic vehicle routing: Status and prospects. Annals of Operations Research, 61, 143-164.
Sexton, T.R. and L.D. Bodin (1985a) Optimizing single vehicle many-to-many operations with desired delivery times: 1. Scheduling. Transportation Science, 19, 378–410.
Sexton, T.R. and L.D. Bodin (1985b) Optimizing single vehicle many-to-many operations with desired delivery times: 2. Routing. Transportation Science, 19, 411–435.
Solomon, M.M. (1987) Algorithms for the vehicle routing and scheduling problems with time windows constraints. Operations Research, 35, 254–265.
Toth, P. and D. Vigo (1997) Heuristic algorithms for the handicapped persons transportation problem. Transportation Science, 31, 60–71.