An Efficient Technique for Routing of Vehicles Reactively - CiteSeerX

0 downloads 0 Views 95KB Size Report
From the point of view of ITS R&D, the question is whether the state of the art in ... Event Handler : a module which handles arrivals of events. 2. Reactive ..... Then, by definition, the constrained arrival time window for the new job j subject to its.
An Efficient Technique for Routing of Vehicles Reactively

Lau Hoong Chuin [email protected] (+65-7705975)

Dennis Seah Vei Ming [email protected] (+65-7705780)

Kent Ridge Digital Laboratories 11 Science Park Road, Singapore 117685 Republic of Singapore (Fax no: +65-779-1827)

Abstract In this paper, we discuss ROVER – a software prototype that demonstrates the capabilities of reactive vehicle routing. Most interesting in this prototype is an efficient technique for generating an initial solution which is robust so as to make provisions for dynamic changes. These dynamic changes include insertions and deletions of customers. Our approach is based on an extensive use of heuristics and tabu search. More precisely, we introduce the notion of a flexible time window which is a generalization of the standard hard time windows and the more recent notion of soft time windows. In our problem, there is a maximum waiting time that a vehicle can wait before it serves a customer and a maximum lateness duration beyond the time window such that each service must be carried out. Hence, we measure the fitness of a route with respect to its flexibility, in addition to the distance travelled. This enables us to devise routes which are amenable to dynamic changes.

1. INTRODUCTION Efficient management of the distribution of goods and services is becoming increasingly important, in both the private and public sectors. A key operation in distribution and transportation systems involves the scheduling and routing of a fleet of vehicles to service a given set of geographically-distributed requests. In technical terms, this is commonly known as the vehicle routing problem (VRP). Vehicle routing is an active area of research among the Operations Research and the Intelligent Transportation Systems communities (see [1] for a recent survey). What distinguishes most vehicle routing problems today (and tomorrow) from problems in the past is that the information that is needed to come up with a set of good vehicle routes and schedules is dynamically revealed to the decision maker. These information include the timings of the requests, traffic conditions, and the positions and operational status of the vehicles. Such real-time availability of information was rare or non-existent in the past. Today, revolutionary advances in information and communications technologies (Internet, GPS, GIS, IVHS etc) have made it easier for information to be continually and dynamically updated. Such advances imply that real-time distribution scenarios will become the norm in future commercial vehicle operations. The economic benefits that will be realized if the efficiency of fleet operations increases are very significant. In some cases, the survival of businesses may depend on such mode of distribution. For further details on the status and prospects of dynamic routing, see [2]. From the point of view of ITS R&D, the question is whether the state of the art in vehicle routing technologies is on par with the rapid revolution in the pattern of transportation business. From our market surveys, we observe that while solutions for solving VRPs statically (i.e. given complete information) are mature commercially, solutions for solving VRPs reactively are only beginning to bear fruit in research. Hence, it is timely to develop tools which demonstrate and exploit the capabilities of research results. In this paper, we introduce ROVER (Routing Of VEhicle Reactively) – a software prototype developed by us which demonstrates the capabilities of reactive vehicle routing with flexible time windows – a generalization of the standard hard time windows and the more recent notion of soft time windows. The underlying approach is a suite of sophisticated route optimization algorithms based on heuristics and tabu search. The principle consideration in the development of a reactive vehicle routing system is that the solution returned by the system must be robust, i.e. amenable to future real-time adjustments. The main objective of this paper is to present an efficient technique for generating an initial solution which is provably robust. This paper proceeds as follows. Section 2 presents the system architecture of ROVER. In Section 3, we define the notations used and the problem to be solved. Section 4 is the main section in which we present our solution methodology. Section 5 gives the conclusion on our future work.

1

2. ROVER SYSTEM ARCHITECTURE ROVER is a vehicle routing system which solves the VRP under the following realworld requirements: • it captures and uses real time traffic information • it performs reactive (dynamic) routing efficiently • it performs routing on actual national street network • it manages flexible time-windows Figure 1 shows the architecture of ROVER. It comprises the following modules: 1. Event Handler : a module which handles arrivals of events. 2. Reactive Scheduler : a suite of algorithms which solves the problem statically and/or

reactively. 3. Simulator : a UI module which enables user to visualize the result and interact with the system. 2.1. Event Handler The Event Handler will receive online events and channel them to the reactive scheduler to perform scheduling. It maintains an Event Queue. There are two modes to inject events into the event queue, via a text file and/or via user interactive inputs. The following is the list of possible events handled by ROVER: 1. Arrival of new requests 2. Cancellation of requests 3. Breakdown of vehicles 4. Recovery of vehicles 5. Change in traffic information (specifically, road block) 6. Change in request information : time windows, location, service time. 2.2. Reactive Scheduler The Reactive Scheduler will run in real-time to derive new schedules that will satisfy the requests. The new schedule will then be simulated in real-time by the Simulator. The underlying solution methodology is Tabu Search (see details in Section 5). Tabu search is used because it performs iterative improvements, which is the right scheme for realtime dynamic scheduling. The basic idea is to solve a series of static problems, with a new problem being defined each time an event occurs. 2.3. Simulator The Simulator is the front-end to the prototype. It animates the current set of planned routes in real-time, thereby enabling the user to better visualize the schedule in operation. It displays the movements of vehicles with time, between the given start and end times. It periodically polls the event-handler for changes, in order to update the screen.

2

3. NOTATIONS AND PROBLEM DEFINITIONS In this section, we define the notations which will be used in the presentation of our algorithms. In ROVER, we consider the most popular and generic model of VRP, in which a fleet of identical vehicles makes deliveries of a single commodity to customers from a central depot. Each delivery should be made within a specified flexible time window, i.e. there is a maximum waiting time that a vehicle can wait before it commences the delivery; and there is a maximum lateness duration beyond the time window such that each delivery must be made not later than this duration. Our definition of flexible time windows is a generalization of the soft time window proposed in [3], which assumes there is no bound on the maximum waiting time and lateness. It can also be used to represent the standard hard time window by simply setting the maximum lateness duration to 0. Hence, the inputs to the problem are the following: K = number of vehicles n = number of customers (requests) b = capacity of each vehicle maxW = maximum waiting time maxL = maximum lateness duration loci = location of customer i bi = size of delivery to customer i si = service time (i.e. time needed for delivery) of customer i ei, li = time window (i.e. earliest and latest possible start time) of delivery to customer i dij = distance between customers i and j tij = time to travel from customers i and j α, β = penalties per unit waiting time and lateness respectively λ = relative importance of distance vs time (between 0 and 1). The output is a collection of K or less vehicle routes, where a route is a tour that begins at the depot, traverses a subset of customers in a specified sequence, and returns to the depot. The total size of the deliveries assigned to each vehicle must not exceed the capacity b. Each customer i is assigned to exactly one of the routes, and is visited within its specified time windows in the following sense: (1) (2) (3) (4)

the vehicle must arrive no earlier than ei−maxW and not later than li+maxL if the vehicle arrives within the interval (ei, li), it incurs no penalty if the vehicle arrives before ei, it incurs a penalty of α times the waiting time if the vehicle arrives after li, it incurs a penalty of β times the duration of lateness.

The fitness value of the output is defined by the linear objective function : λD + (1−λ)T, where D is the normalized total distance traveled by all vehicles (i.e. the sum of all route distances), and T is the normalized total penalty of waiting times and lateness. Therefore, the objective is to obtain an output with minimum fitness.

3

4. SOLUTION METHODOLOGY In this section, we present the solution methodology used by the Reactive Scheduler. Our approach is based on a common problem-solving methodology: generate an initial solution, and apply tabu search. In the following sub-sections, we will discuss the algorithms for generation of initial solutions and tabu search in detail. 4.1. Generating Initial Solutions We implemented two schemes for generating the initial solution, a simple insertion algorithm based on convex hull for VRP without time windows, and a more elaborate insertion algorithm based on the bi-criteria optimization of temporal flexibility and spatial cost, for VRP with flexible time windows. For simplicity of discussion, we regard a customer as a job to be done. Moreover, to be consistent with graph-theoretic terms, we also refer to a customer as a node scheduled on a route. We will also use the terms tour and route interchangeably. (i) Insertion Algorithm for VRP without time windows The steps are as follows: 1. Construct the convex hull1 for the point set which represents all customers. Let Nhull denote the number of customers on the hull. 2. Pick K customers (call them seeds) as follows. a) if Nhull >= K, pick one customer which is on the hull and is farthest away from the depot. This customer becomes the first “seeded” customer. For each “unseeded” customer which are on the hull, compute the sum of distance from it to all “seeded” customers. Pick the “unseeded” customer which has the largest sum to be the next seed. Repeat this selection until Nseed = K. b) if Nhull < K, pick all customers on hull. Then compute for each of the remaining “unseeded” customers, the sum of distance from it to all “seeded” customers. Pick the “unseeded” customer which has the largest sum to be the next seed. Repeat this selection until Nseed = K. 3. Assign one vehicle to each seed. Thus, we have K “single-customer” tours. 4. For each unassigned customers, try inserting it into different positions on each tour and compute the fitness of the tour after insertion. Stop computation if one of the unassigned customers cannot fit into any tour. 5. Pick the fittest pair of unassigned customer and tour; and insert the former into the latter at the appropriate position accordingly. 6. Repeat Steps 4 to 5 until all customers are assigned. Since we have no time windows, the fitness of a tour is simply its tour length. Next, we discuss our algorithm for VRP with flexible time windows.

1

A convex hull for a set of points is the smallest convex set containing the points. It may be obtained in

O(n log n) time using the Graham Scan algorithm.

4

(ii) Insertion Algorithm for VRP with flexible time windows The algorithm is exactly the same as described in (i), except that computation of the fitness of tour (step 4) is much more intricate, since it now depends on both time and distance. The procedure for this computation is divided into 4 steps as follows : 1. 2. 3. 4.

Determine the feasibility of insertion. If feasible, proceed with Steps 2 to 4. Time Dimension : Compute the flexibility of tour after insertion. Space Dimension : Compute the spatial cost of tour after insertion. Compute the fitness of tour using the results of Steps 2 and 3.

1. Determine feasibility of insertion Two checks are required, namely capacity and temporal checks. When inserting a new customer to a route, there will be an increase in the load on the route. Capacity check fails if the load exceeds the vehicle capacity. The temporal check ensures that the time windows of serving each customer is not violated. This check is discussed in the next step. 2. Compute flexibility of tour after insertion Flexibility is a measure of how flexible a partial schedule is with respect to the time ranges for starting the jobs in the schedule. Intuitively, we say that a partial schedule is flexible if each job on that schedule is allowed to start within a large range of its given time window. To explain the notion of flexibility, we introduce further notations: (a)

Extended Time Window, TWExt Recall that the time window TWj=(ej, lj) is the input time range of starting a job j without incurring a penalty. Define the extended time window TWExtj=(eej, llj), where eej = ej−maxW and llj = lj+maxL as the corresponding allowable time range for arriving at job j.

(b)

Arrival Time Window TWArr and Start Time Window TWSt

As nodes are inserted onto a route, the time windows for arriving at and starting a job j on the route will inevitably become more constrained. To capture this dynamic effect, we let TWArrj=(eaj, laj) and TWStj=(esj, lsj) respectively denote the current arrival and start time windows of any node j on the route. Clearly, we can derive one time window from the other by: esj = max(eaj, eej) and lsj = min(laj+maxW, llj) eaj = max(esj-maxW, eej) and laj = min(lsj, llj) For simplicity, let AtoS(TWArrj) and StoA(TWStj) denote the functions for the above conversions.

5

Consider adding a node j after the node i on a particular route and propagating the effect of the insertion (i.e. constraining the arrival and start time windows of all nodes on the route). The normalized flexibility of any node k on the route, FNk is an index between 0 and 1, computed as follows: Case I : arrival time window of j falls in its given time window i.e. (eak , lak ) ⊆ (ek , lk ) . FN k =

(la k − eak ) (lk − ek )

Case II: arrival time window of j falls totally out of its given time window but within the wait time window i.e. (ea j , la j ) ⊆ (e j − MaxW , e j ) . FN k =

− α (lak − eak ) MaxW

Case III : arrival time window of j falls totally out of its given time window but within the late time window i.e. (ea j , la j ) ⊆ (l j ,l j + MaxL) FN k =

− β (la k − ea k ) MaxL

Case IV : arrival time window of j is partially in its given time window. We consider the portion which is in the given time window and calculate as in Case I. TNij, the flexibility of the tour resulting from inserting j after i, is defined as the minimum FNk over all nodes k (including the depot) on the tour. Dominance Criteria When one node is inserted onto a route, it may cause the time windows of the adjacent nodes to become more constrained, and this effect ripples to both ends of the route. This propagation effect is computationally expensive. To speed up our algorithm, we define dominance criteria for which propagation is unnecessary. The criteria will depend on certain relationships between adjacent nodes. To explain the dominance criteria, we need the following definitions: (c)

Delayed Start Time Window This is derived from the time window for a job delayed by its service time plus the time to travel to the next job on the route. More precisely, the delayed start time window for job i (assuming that the next job is j) is TWDelij=(esi+si+tij, lsi+si+tij). This time window gives the possible time range for arriving at job j.

(d)

Advanced Arrival Time Window Similarly, this is the time window for a job advanced by the service time of plus the time to travel from the previous job on the route. More precisely, the advanced arrival time window for job j (assuming that the previous job is i) is TWAdvij=(eaj-si-tij, laj-si-tij). This time window gives the possible time range for starting job i.

Suppose we have a route which contains the nodes i followed by k. Consider inserting node j between i and k. 6

Then, by definition, the constrained arrival time window for the new job j subject to its insertion between jobs i and k will be : TWArrj = (TWDelij∩ TWExtj) ∩ StoA(TWAdvjk ∩ TWj) and the corresponding start time window TWStj can be derived via the AtoS function. The dominance criteria is presented as the following lemma: Lemma 1 : Case 1 : If TWArrj = NULL then the insertion is infeasible. Case 2 : If TWArri ⊆ StoA(TWAdvij) then node i is dominated. Case 3 : If TWStk ⊆ AtoS(TWDeljk) then node k is dominated. Proof Case 1 : is obvious. Case 2 : If the existing arrival time window for i is contained in the new arrival time window constrained by j’s insertion, then j’s insertion will not change the arrival time window for job i and hence no upward propagation is necessary. Case 3 : If the existing start time window for k is contained in the new start time window constrained by j’s insertion, then j’s insertion will not change the start time window for job k and hence no downward propagation is necessary. 3. Compute spatial cost of tour after insertion The purpose of this step is to compute the spatial cost, which is defined as the extra distance traveled for each tour after inserting a customer. Figure 2 shows how it is computed. The normalized spatial cost for inserting j after i is an index between 0 and 1, computed as:

DNij =

Dij − MinD

MaxD − MinD

where Dij is the extra distance traveled, MinD = min{Dxy }, MaxD = max{Dxy } over all adjacent nodes x and y on all tours. 4. Compute fitness of tour Finally, the fitness of tour for inserting j after i is computed as a weighted average of the space and time indices, as follows: FIij = λ (1 − DN ij ) + (1 − λ )TN ij , where λ is relative importance of distance vs. time. 4.2. Tabu Search Tabu search is a meta-strategy for guiding known heuristics to overcome local optimality. It was first introduced by Fred Glover, and a detailed description of tabu search can be found in [4]. Many solution approaches are characterized by identifying a neighborhood of a given solution which contains other so-called transformed solutions that can be reached in a single iteration. A transition from a feasible solution to a transformed feasible solution is

7

referred to as a move. Following a steepest/mildest ascent approach, a move may either result in a best possible improvement or a least possible deterioration of the objective function value. Without additional control, however, such a process can cause a locally optimal solution to be re-visited immediately after moving to a neighbor, or in a future stage of the search process, respectively. To prevent the search from endlessly cycling between the same solutions, a tabu list is maintained in memory. The strategy is to permit a "good" move in each iteration without re-visiting solutions already encountered, unless this move is an aspired move, i.e. its objective value is better than that of the currently best solution. The tabu search mechanism adopted in ROVER is described as follows: Stopping Criteria We perform tabu search until a MaxIter number of iterations is reached such that we cannot improve the current best solution. Neighborhood Structure The common neighborhoods in vehicle routing are the 2-Opt and Or-Opt exchanges. In ROVER, we explore the neighborhood Cross, in which 2 routes are picked, and a (possibly empty) segment from one is swapped with the other, as shown in Figure 3. It is clear that the worst-case number of moves per iteration is O(n2). Objective Function The objective function is the same as that used in generating the initial solution: λD + (1−λ)T, where D is the normalized total distance traveled by all vehicles, and T is the normalized total penalty of waiting times and lateness. Therefore, the objective is to obtain an output with minimum fitness. Tabu and Aspiration Criteria Let TabuLength denote the length of the Tabu list. A move is considered tabu iff it is made within the last TabuLength number of iterations. A move is said to be aspired iff its objective value is better (i.e. smaller) than the current best solution. The best move of an iteration is the move whose objective value is minimized. In the case where the best move among the neighborhood is a tabu move which is not aspired, then the best non-tabu move is returned. Algorithm Step0. Let the current solution x be the initial solution produced in Section 4.1. Step1. Repeat Steps 2 to 4 until MaxIter non-improving iterations is reached. Step2. Choose the best move x’ within the neighborhood of the current solution. Step3. Perform exchanges: x := x', z(x) := z(x'); perform tabu list management. Step4. If z(x) < z* then z* := z(x), x* := x. Step5. Output x* and z*. 8

5. CONCLUSION Reactive vehicle routing is a challenging computational problem in today’s commercial vehicle operations. In this paper, we presented an approach which generates an initial schedule that is amenable to reactive routing. The future works that confront reactive vehicle routing include: • robustness in dealing with multiple flexible time windows • advanced tabu search mechanisms such as randomized intensification and diversification strategies, and reactive tabu search • constraint-based, i.e. allows users to specify side constraints statically and dynamically • handling multi-criteria optimization involving number of vehicles, load balancing, trip length, waiting time and lateness generation of alternative solutions (i.e. multiple plans) • • handling user preferences • integration with route navigation on the client (i.e. vehicle) • integration with inventory management • integration with vehicle loading REFERENCES [1] M. O. Ball, T. L. Magnanti, C. L. Monma and G. L. Nemhauser (eds), Handbooks in Operations Research and Management Science Volume 8, Network Routing. [2] H. N. Psaraftis, “Dynamic Vehicle Routing : Status and Prospects”, Annals of Operations Research, 61(1995), pp. 143—164. [3] E. Taillard et al., “A Tabu Search Heuristic for the Vehicle Routing Problem with Soft Time Windows”, Transportation Science, 31 (1997), 170—186. [4] F. Glover and M. Laguna, “Tabu Search”. In: C.R. Reeves (ed.) Modern Heuristic Techniques for Combinatorial Problems. Blackwell, Oxford, 1993, 70 - 150.

5HDOWLPH

*HRJ HRJU UDS DSK KLFDO

(YHQWV

(YHQ HQWW

+DQGO +DQGOHHU

,QIRU ,QIRUPD PDW WLRQ Q6 6\VWHP

6LPXOD XODWWRU

SROO 2EM HFW FW6 6W RUH

YHKLFOHV FRQVWUDLQWV UHTXHVWV VFKHGXOHV

UHIUHVK

UHVFKHGXOH

5H 5HD DFW FWLLYH

6FKHG 6FKHGXXOHU

52 529 9(5

Figure 1:ROVER System Architecture

9

N

L

7RXUEHIRUHLQVHUWLRQ

N

D

F

L

7RXUDIWHULQVHUWLRQ E

j

' EFD

([WUD'LVWDQFHWUDYHOHG

LM

ZKHUH

7 WRXU M LQVHUWHGFXVWRPHU L FXVWRPHUEHIRUHLQVHUWHGFXVWRPHU

Figure 2 : Extra spatial distance traveled

Figure 3 : Cross operation

List of Figures Figure 1: ROVER System Architecture Figure 2 : Extra spatial distance traveled Figure 3 : Cross operation

10

Suggest Documents