A dynamic vehicle routing problem with time-dependent travel times

A dynamic vehicle routing problem with time-dependent travel times

Computers & Operations Research 32 (2005) 2959 – 2986 www.elsevier.com/locate/dsw A dynamic vehicle routing problem with time-dependent travel times...

355KB Sizes 9 Downloads 207 Views

Computers & Operations Research 32 (2005) 2959 – 2986

www.elsevier.com/locate/dsw

A dynamic vehicle routing problem with time-dependent travel times Ali Haghania;∗ , Soojung Jungb a

Department of Civil and Environmental Engineering, University of Maryland, College Road, MD, USA b 600 Maryland Ave. SW, Suite 755, Washington, DC 20024, USA

Abstract In this paper we present a formulation for the dynamic vehicle routing problem with time-dependent travel times. We also present a genetic algorithm to solve the problem. The problem is a pick-up or delivery vehicle routing problem with soft time windows in which we consider multiple vehicles with di1erent capacities, real-time service requests, and real-time variations in travel times between demand nodes. The performance of the genetic algorithm is evaluated by comparing its results with exact solutions and lower bounds for randomly generated test problems. For small size problems with up to 10 demands, the genetic algorithm provides almost the same results as the exact solutions, while its computation time is less than 10% of the time required to produce the exact solutions. For the problems with 30 demand nodes, the genetic algorithm results have less than 8% gap with lower bounds. This research also shows that as the uncertainty in the travel time information increases, a dynamic routing strategy that takes the real-time tra8c information into account becomes increasingly superior to a static one. This is clear when we compare the static and dynamic routing strategies in problem scenarios that have di1erent levels of uncertainty in travel time information. In additional tests on a simulated network, the proposed algorithm works well in dealing with situations in which accidents cause signi9cant congestion in some part of the transportation network. ? 2004 Elsevier Ltd. All rights reserved. Keywords: Vehicle routing; Time dependent; Travel time; Genetic algorithm; Optimization; Network

1. Introduction Travel times in urban areas Auctuate due to a variety of factors, such as accidents, tra8c conditions and weather conditions. Ignoring these travel time variations when developing route plans for pick-up ∗

Corresponding author. Tel.: +1-301-405-1963; fax: +1-301-405-2585. E-mail addresses: [email protected] (A. Haghani), [email protected] (S. Jung).

0305-0548/$ - see front matter ? 2004 Elsevier Ltd. All rights reserved. doi:10.1016/j.cor.2004.04.013

2960

A. Haghani, S. Jung / Computers & Operations Research 32 (2005) 2959 – 2986

Travel Time

A

a

B

c

b

d

Time of a day

Fig. 1. Travel time variation as a step function.

and/or delivery vehicles can result in route plans that direct the vehicles into congested urban tra8c conditions. Due to these travel time variations, in some cases the vehicles waste valuable time in tra8c jams and customers have to wait unreasonably long without having any reliable information about the actual arrival times of vehicles. In these circumstances, it becomes di8cult to satisfy the time windows during which the demand nodes must be visited. In addition, insertion of new demands for pick-up that arise after completion of route planning, in the planned vehicle routes in real time, may result in signi9cant savings. Considering time-dependent travel times as well as information regarding demands that arise in real time in solving vehicle routing problems can reduce the costs of ignoring the changing environment. While considerable research has been devoted to the general traveling salesman problem and vehicle routing problem, research in time-dependent vehicle routing problem is sparse. The existing literature in dynamic vehicle routing problem is focused on dynamic traveling salesman problem [1–3], dynamic traveling repairman problem [2,4,5], dynamic dial-a-ride problem [1,6,7], and dynamic vehicle allocation problem [8–13], Bowman [14], Picard and Queyranne [15], Lucena [16], Malandraki and Daskin [17], Hill and Benton [18], Malandraki and Dial [19], and Ichoua et al. [20] examined the time-dependent vehicle routing problem. The most similar papers are Malandraki and Daskin [17], Hill and Benton [18], Malandraki and Dial [19], and Ichoua et al. [20]. The major weakness of these papers is that they cannot deal with “9rst-in-9rst-out” (FIFO) property. In these papers the planning period is divided into very few intervals and travel time is considered a step function as shown in Fig. 1. In this case, it is possible that a vehicle that departs at time d can arrive earlier than a vehicle that departs earlier at time c. Because any departure between a and b will arrive at the destination later than any departure at time b, all departures have to wait until time b. This is not a realistic situation and implies that real-world link travel times cannot be represented by a step function. Ichoua et al. [20] proposes a solution methodology to solve time-dependent vehicle routing problems with time windows using Tabu search, which satis9es the FIFO assumption. This paper is very similar to ours in terms of methodology. Experimental results show that the time-dependent model provides signi9cant improvements when results from the time-dependent speed model and the constant speed model are compared. Ichoua et al. divide the planning horizon into three time

2961

Link Travel Time

A. Haghani, S. Jung / Computers & Operations Research 32 (2005) 2959 – 2986

Time of a day

Fig. 2. Travel time variation as a continuous function.

periods and did not deal with a continuous travel time function. They do not discuss calculation times and the error ratios that depend on the number of time periods in the calculation. Moreover, no performance test for the time-dependent speed model itself is provided. The formulation presented in this paper treats the travel time as a continuous function as shown in Fig. 2 and, therefore, can accept any kind of travel time variation. Jung and Haghani [21] originally presented this formulation and proposed a genetic algorithm to solve the problem. In this paper while we review the formulation and brieAy discuss the solution approach, the main focus is on the development of the lower-bound for the solution and presentation of experimental results and the results of a case study that was conducted on a relatively large network using computer simulation. The genetic algorithm solution approach can deal with a continuous travel time function very easily. While other approaches were considered as possible methods for solving the problem, a genetic algorithm was preferred because of its signi9cant advantage in dealing with complex functions that can be embedded in the model, without any increase in the computation time. The major contribution of our research is using continuous travel time information and removing waiting time for the FIFO constraints. Additionally, the proposed algorithm can be used at any time in a day to adjust the route to accept the new demands and changing tra8c condition. In the next section, we present the detailed problem description. In Section 3, we present the formulation of the time-dependent vehicle routing problem with dynamic demand information as a mixed integer linear programming model and discuss the solution approach. The formulation will be used for 9nding a lower bound as well as the optimal solution. Section 4 presents the lower-bound solution strategy. In Section 5, we compare the results obtained using an exact solution method, the lower-bound algorithm and the genetic algorithm solution for randomly generated test problems. Section 6 presents the results of a case study for an entire day simulation. We compare the results of a deterministic vehicle routing plan and routing plan obtained from the proposed model for an entire day. Finally, Section 7 presents the conclusions and directions for future research. 2. Problem description The problem considered here is a dynamic vehicle routing problem with time-dependent travel times and real-time vehicle control. The proposed approach attempts to adjust the vehicle routes at certain times in a planning period. These adjustments consider new travel time information, the

2962

A. Haghani, S. Jung / Computers & Operations Research 32 (2005) 2959 – 2986

present vehicle locations and the most recent demands that arrived after the previous adjustment in route plans. The proposed approach can be useful in a pick-up and delivery service operation in a congested urban area such as UPS operation. The demand and the system characteristics are discussed below. 2.1. Demand characteristics The proposed formulation considers system conditions dynamically. These conditions include real-time variations in travel times between demand nodes and real-time service requests. Demands can arrive at any time during a planning period. We consider services that include both pick-up from and delivery to the demand nodes. We do not consider the case in which a package is picked up from a demand node and delivered to another demand node on the same route by the same vehicle. Therefore, there is no priority order among demand nodes. (These may include priorities such as pick-up demand nodes must be visited before delivery demand nodes.) Although demands can arrive at any time during a planning period (typically a day), the demands arriving after a certain time in the planning period (for example 2 PM) cannot be considered for service in the same planning period (a day) and have to wait until the next planning period. The reason is that all services must be completed by the end of the planning period. When vehicle routes are constructed for the 9rst time, the vehicle loads consist of the demands that were picked up from demand nodes in the previous planning period and must be delivered in the current planning period, as well as the new pick-up demands that arrived after the demand acceptance deadline in the previous planning period that are not assigned to any vehicle. When adjusting the routes during a planning period, we may have new demands and old demands. Demands already assigned to vehicles in the previous route adjustment process are considered old demands. Demands that arrived after the last route adjustment process are new demands. As discussed earlier, there are only pick-up demands in the new demand group. In the old demand group, we may have both deliveries and pick-ups. The delivery demands, once assigned to a vehicle, have to be served by that vehicle, although the delivery sequence can be changed. The pick-up demands, however, can be assigned to any of the vehicles without any restriction beyond the remaining capacity of those vehicles. We consider soft time windows around the desired service time because such windows are more realistic and more Aexible than hard time windows. A formulation based on soft time windows may 9nd feasible solutions in cases where a formulation based on hard time windows fails. When the demands are not serviced on time, we incur delay or waiting penalties. The time penalty coe8cients can be adjusted to reAect the situation. Considering the tradeo1s between the time penalty coe8cients and the 9xed cost of using an additional vehicle, we can reduce the number of vehicles used to serve demands or increase on time service. 2.2. System characteristics (1) Vehicles: All vehicles in the proposed model have known capacities. We assume that the number of available vehicles in the depot is known and we try to minimize the total number of vehicles used for services. Vehicles are either used or unused. Used vehicles are those that have already

A. Haghani, S. Jung / Computers & Operations Research 32 (2005) 2959 – 2986

2963

been dispatched from depot and are en route for service. Unused vehicles are not assigned to any route and are located at the depot. (2) Information system: We assume that there is a real-time communication system between the vehicles and the control center. The control center has information about the location of all vehicles and has access to the link travel time information in real time. The travel time is represented by a continuous function which has a slope less than 1 in absolute value when the travel time decreases. (3) Number of depots: We consider a single depot problem. However, arti9cial depots are created in each route adjustment. For each vehicle that is en route an arti9cial depot is created at the present location of the vehicle. This depot is the node from which the vehicle will be dispatched in the next route adjustment. The vehicle has to return to the original depot when the service is completed. The problem can be described better by using Figs. 3a–d. Let us assume that we have nine demands as shown in Fig. 3a and there are three vehicles in the depot at the beginning of the planning period. The initial routing plan uses two vehicles as shown in Fig. 3b. According to this plan, the route for vehicle 1 is depot → 2 → 1 → 8 → 5 → 6 → depot and the route of vehicle 2 is depot → 4 → 9 → 7 → 3 → depot. While route adjustment is being considered, vehicle 1 is approaching demand node 2 and vehicle 2 is approaching demand node 9 after visiting demand node 4. At this time, we have information about newly arrived demands at nodes 10, 11, 12, and 13 (shadowed circles) and new travel times between all pairs of nodes based on the current tra8c information. Fig. 3c shows the situation. The dotted lines show the originally planned routes for each vehicle at time T0 . These original routes will now change, because we plan new routes with the new information about the demands, the link travel times, and the new starting points for the vehicles. The starting points of the vehicles en route are the nodes where the vehicles are currently located or the ones into which they are headed. Fig. 3d shows the result of the route adjustment. In the 9rst route plan, demand node 6 was supposed to be served by vehicle 1; however, it is now served by vehicle 2 in the new route plan that results from adjustment at time Tn . If demand node 6 was a delivery point, the vehicle could not be changed from vehicles 1 to 2. In the new route plan, the newly arrived demands are assigned to vehicles. The new routes for the vehicles are follows: Vehicle 1: The present location (v1) → 2 → 1 → 10 → 8 → 5 → 11 → depot. Vehicle 2: The present location (v2) → 9 → 12 → 7 → 13 → 3 → 6 → depot. 3. Problem formulation The dynamic vehicle routing problem with time-dependent travel times and real-time vehicle control is formulated in this section as a mixed integer linear programming problem. This formulation is the same as the one presented in Jung and Haghani [21]. We present the formulation again for simplifying the discussion of the procedure that is used to obtain the lower bounds. The objective of the formulation is to minimize the total cost that consists of the 9xed costs of used vehicles, the routing costs, and the user inconvenience costs. The constraints of the problem consist of vehicle constraints, demand constraints, routing constraints, and other constraints. We use the proposed formulation to solve exactly as large a problem as possible. The proposed formulation will be used

2964

A. Haghani, S. Jung / Computers & Operations Research 32 (2005) 2959 – 2986 2 4

2

9

4

9

vehicle 2

1

vehicle 1

1

7

DEPOT V1

V2

7

DEPOT

V3

8

8

6

3

6

5

3

5

(a)

(b)

2

2 4

V2

9

9

V1 Vehicle 2

1

Vehicle 1

1

12

12

7

DEPOT

7

DEPOT

10

10

11

11

8

8

13

6

6

3

3

5

5

(c)

13

(d)

Fig. 3. Route planning. (a) Demand information at initial time T0 . (b) First routing plan. (c) State of system at the next routing time. (d) Rerouting plan at time Tn .

for developing an approach to generate lower bounds on the value of the objective function as well. The notation used in this paper is de9ned as follows: Data sets P B D V1 U S1 E1

pick-up demand set delivery demand set total demand set (P ∪ B) used vehicle information set (used vehicle number, starting node, ending node) used vehicles set {set of i in V1 (i; j; k)} the starting nodes set of used vehicles {set of j in V1 (i, j, k)} the ending nodes set of used vehicles {set of k in V1 (i, j, k)}

A. Haghani, S. Jung / Computers & Operations Research 32 (2005) 2959 – 2986

V0 N S0 E0 K S E T De Da Ds

2965

unused vehicle information set (unused vehicle number, starting node, ending node) unused vehicles set {set of i in V0 (i; j; k)} the starting nodes set of unused vehicles {set of j in V0 (i, j, k)} the ending nodes set of unused vehicles {set of k in V0 (i; j; k)} total vehicles (U ∪ N ) starting nodes of all vehicles (S1 ∪ S0 ) ending nodes of all vehicles (E1 ∪ E0 ) the union of the set of demand nodes and the set of starting nodes (D ∪ S) set of all nodes except the starting node ((D ∪ E) − S) set of all nodes (D ∪ E ∪ S) set of all demand nodes except starting node (D − S)

Constants f the 9xed cost for a vehicle pw the waiting penalty caused by early arrival at demand locations pd the delay penalty caused by late arrival at demand locations Rc the traveling cost per unit time  the vehicle starting time from the starting node ! the end time period qi weight (or volume) of demand i (If demand i is a pick-up service, then qi is positive. If demand i is a delivery service, then qi is negative. Therefore, when a vehicle visits a delivery demand node, the weight (or volume) carried by the vehicle decreases and when a vehicle visits a pick-up demand node, the weight (or volume) carried by the vehicle increases. Ai desired arrival time at demand point i Qi capacity of vehicle k travel time between demand i and demand j in time interval t Rkij Yi the vehicle number used to visit demand i lk the starting time of used vehicle k from the starting node of vehicle k Decision variables xijk =1 if any vehicle departures from demand i at time t to demand j =0 otherwise. =1 if demand node i is visited by vehicle k vik =0 otherwise wi waiting time at demand node i (desired arrival time at demand node i-actual arrival time at demand node i) di delayed time at demand node i (actual arrival time at demand node i-desired arrival time at demand node i) ci weight (or volume) carried by a vehicle when departing demand node i Among the 9ve decision variables, we only de9ne xijk and vik as binary integer variables. The rest are continuous variables; however, they also have integer value automatically because they are calculated from addition or subtraction operations on integers. Therefore this problem is a mixed integer problem.

2966

A. Haghani, S. Jung / Computers & Operations Research 32 (2005) 2959 – 2986

The formulation of the problem is as follows: Minimize f

!  i∈S j ∈De t=

xijt + Rc

!   i∈T j ∈De t=

(Rtij xijt ) + pw

 i ∈D

wi + p d



di ;

(1)

i ∈D

Subject to !   t=+1 j ∈D





xijt 6

j ∈D

xijli = 1;

xij ;

i ∈ S0 ;

(2)

i ∈ S1 ;

(3)

j ∈ De i=j !   i∈D j ∈E0 t=+1 !  i∈D t=

xijt =

xijt = 1;



(vik Qk );

k ∈K

cj ¿ qj + ci + M

i ∈ S0 j ∈ D

xij ;

(4)

j ∈ E1 ;

ci ¿ M (vik − 1) − ci 6



 j ∈B

(5)

(qj vjk );

i ∈ S; k ∈ K;

(6)

i ∈ Da ;  ! 

(7) 

xijt − 1 ;

i ∈ T; j ∈ De ;

i = j;

(8)

t= !  i∈D t=

(xijt (t + Rtij )) 6 T;

! −1 

xijt = 1;

j ∈ E;

j ∈ Ds ;

(9)

(10)

i∈T t= i∈j !  

t xjk

i= k ∈De j =k

 k ∈K

vik = 1;



!  

xijt = 0;

j ∈ Ds ;

(11)

i= i∈T i=j

i ∈ Da ;

(12)

A. Haghani, S. Jung / Computers & Operations Research 32 (2005) 2959 – 2986



(kvik ) = Hi ;

k ∈K

M

 !  

M

i ∈ B ∪ S ∪ E; 

xijt

−1 6

t=

1−

! 



¿

(kvik − kvjk );



(kvik − kvjk );

k ∈K

t=



wi = Max0; Ai −

!  j ∈De t=

 di = Max0;

!  j ∈De t=

!   k ∈De t= k =j

t (txjk )

=

(13)

i ∈ T; j ∈ De ; i = j;

(14)

i ∈ T; j ∈ De ; i = j;

(15)

k ∈K

 xijt

2967

 txijt  ;

i ∈ T;

(16)

i ∈ T;

(17)

 txijt − Ai  ;

! 

(xijt (t + Rtij ));

j ∈ Ds ;

(18)

i∈T t= i=j

Eq. (1) is the objective function that minimizes the total cost. The 9rst part of this equation is the 9xed cost for using vehicles and the second part is the routing cost. The third and the fourth parts are the penalties for breaking the time windows. There are three categories of constraints. The 9rst category is related to the vehicles and includes Eqs. (2)–(9). The second category of constraints is related to the demand characteristics and Eqs. (10)–(17) belong to it. The third category is related to the routing characteristics. Eq. (18) represents this category. Eqs. (2) and (3) ensure that the vehicles start from their starting node at their starting time. For new vehicles, the starting node is the depot and the starting time is the beginning of the planning period. For used vehicles that are already dispatched, the staring nodes are those at which the vehicles are located or to which the vehicles are headed. Eqs. (4) and (5) ensure that all vehicles return to the depot. Eqs. (6)–(8) are the capacity constraints. Eq. (9) ensures that every vehicle has to return to the depot before the end of the planning period. Eq. (10) ensures that each demand node is visited exactly once during a planning period. Eqs. (11) and (12) ensure that each demand node is visited by only one vehicle. Eq. (13) determines the vehicles that visit the delivery demand nodes, the starting nodes and ending nodes. After a delivery demand node is assigned to a vehicle, the vehicle cannot be changed because the delivery item is loaded on it. The starting nodes can be the depot or the nodes at which the vehicle is located or the node to which the vehicle is headed. The ending nodes are the arti9cial depot numbers that are assigned to each vehicle that is en route and, therefore, they cannot be changed. Eqs. (14) and (15) ensure that two connected demand nodes are visited by the same vehicle. Eqs. (16) and (17) calculate the penalty associated with waiting and the delay caused by breaking the time windows. Eq. (18) is the routing constraint.

2968

A. Haghani, S. Jung / Computers & Operations Research 32 (2005) 2959 – 2986

Jung and Haghani proposed a genetic algorithm for solving this problem. Genetic algorithms are iterative procedures based on the concept of evolution. These algorithms start with a set of random feasible solutions and can handle any complex functional form of the objective function and constraints in a given problem. Therefore, genetic algorithms can deal e1ectively with combinatorial explosions that result from the increase in problem size that are typical in many vehicle routing problems. Since Goldberg and Lingle [22] used a genetic algorithm to solve the traveling salesman problem, this problem has become an application target for researchers. Uchimura and Sakaguchi [23] obtained results within 1.9% of the optimal solutions for the traditional (deterministic) traveling salesman problem. Chatterjee et al. [24] obtained solutions within 2.6% of the optimal solution in the general traveling salesman problem context. Thangiah and Petrovic [25] extended the use of the genetic algorithms for solving vehicle routing problems with complex constraints that included time windows and multiple depots. Tan et al. [26] and Berger et al. [27] presented hybrid genetic approaches to address the vehicle routing problems with time windows. Very recently, Baker and Ayechew [28] applied a genetic algorithm to solve basic vehicle routing problems and obtained solutions up 0.5% above best known results on average, with solution times that are no excessive. One of the main issues in using genetic algorithms in vehicle routing problem context is the representation of the solutions for vehicle routing problems in a meaningful way. This is a rather di8cult and cumbersome task. The time-dependent vehicle routing problem is one of the most complex vehicle routing problems. The problem with which we are dealing is even more complex because we have introduced dynamic vehicle control. The formulation presented in this paper has a complex objective function that combines the 9xed costs, the routing costs, and the customer inconvenience penalty costs. Furthermore, due to the characteristics of time-dependent vehicle routing problems, traditional heuristic solution methods for vehicle routing problems are not appropriate for time-dependent vehicle routing problems. Before deciding on using a genetic algorithm for solving the problem formulated in this paper we considered other search heuristics that were based on the breadth-9rst search method and the depth-9rst search method with a limitation on the breadth and the depth. These methods performed poorly. We also considered applying other meta-heuristics, such as tabu search, that have been successfully implemented by other researchers in vehicle routing and other problem contexts, and are reported to perform very well [29–37]. Golden et al. [36] provide an overview of meta-heuristics including genetic algorithms and compare the performance of these algorithms in solving a set of benchmark traditional vehicle routing test problems. According to them, tabu search techniques outperform other meta-heuristics in terms of solution quality but require a large number of parameters. These results are reported for traditional vehicle routing problems. Eventually, we decided to use a modi9ed genetic algorithm because of its advantages in dealing with complex functions and its ease of implementation. We also were able to 9nd an easy way of representing the solutions in the genetic algorithm context and were able to incorporate an additional genetic operator that helped improve the solutions that were based only on the traditional genetic operators, namely the mutation and crossover operators. Furthermore, it is not clear that Golden et al.’s conclusions regarding the superiority of tabu search algorithms apply in our problem context. Developing a tabu search algorithm for our problem and comparing its results with those of the genetic algorithm is left for future research. The details of the genetic algorithm that is developed for solving the problem are given in Jung and Haghani [21].

A. Haghani, S. Jung / Computers & Operations Research 32 (2005) 2959 – 2986

2969

4. Lower-bound solution algorithm The procedure to 9nd the lower bound is divided into two phases. In phase I, we reformulate the original formulation with new variables and constraints. We obtain the initial solution from the reformulated problem with LP relaxation. In the phase II, we add an upper cut constraint from the genetic algorithm solution and a lower cut constraint that can be obtained from the results of phase I. We relax all of the integer or binary variables in the original formulation, but keep the binary condition for the new variables in the reformulation. Then we solve the new mixed integer programming problem. We can have the same result by only implementing phase II without the lower cut and the upper cut constraints. However, we can reduce the total solution time with these constraints. 4.1. Lower-bound solution procedure phase I The strategy of the lower-bound solution procedure is to 9nd a way that minimizes the number of integer variables. The simplest way to minimize the number of integer variables is LP relaxation. When we just relax the original formulation without any changes and solve the problem, the objective function value is too low compared to the known optimal value for very small problems. Therefore, we cannot rely on this type of relaxation. We add two new variables and several constraints to improve the LP relaxation result. Also, some constraints are modi9ed to incorporate the new variable. It is worth noting that these modi9cations will only ensure that we obtain tighter bounds and will not impact the optimal solution to the problem. To minimize the number of integer variables, we 9rst analyze the original formulation and 9nd that we can separate some part of binary variables. We assign new names to the separated binary variables. These are link variables between the depot and the demand nodes. By using binary variables for the link between the depot and demand nodes, we can calculate the number of vehicles used for service as an integer number. We adopt new binary variables, which are transformed versions of the variables used in the original formulation. These are the variables representing the departure times from each of the demand nodes. By using binary variables for the departure times from each of the demand nodes, the customer inconvenience cost part of the objective function can be calculated as an integer value. The detailed discussion of these new variable generation and transformation is given below. 4.1.1. Variables representing the departure time from a demand node In the original formulation, variable xijt indicates the departure of a vehicle  from node i to node t j at time t. The departure time from demand node i to j is recognized by t=; :::; ! (txij ). When we consider variables xijt as integer variables, there is only one destination and only one departure time from a node i, and the departure time can have an integer value. However, when we solve the problem with LP relaxation, we can have multiple destinations and multiple departure times !  t because we just need to satisfy the general routing constraints j ∈De xij = 1. Therefore, the t= departure times have fractional values and the customer inconvenience costs cannot be calculated accurately.

2970

A. Haghani, S. Jung / Computers & Operations Research 32 (2005) 2959 – 2986

To have integer departure times from demand nodes, we adopt a new variable %ti that represents the departure time t from a demand node i. It is a binary variable de9ned as follows: %ti

=1 if a vehicle departs from node i at time t; =0 otherwise:

By de9nition of %ti , Eq. (19) is satis9ed. Eq. (19) represents that %ti is the sum of all connections from demand node i at time t:  xijt ; i ∈ D; t = ; : : : ; !: (19) %ti = j ∈ De

As the basic constraint of the vehicle routing problem, eachdemand node is visited exactly once during a day. This can be represented by the equation !t= j∈De xijt = 1. By replacing a part of  t t j ∈De xij with %i , we have Eq. (20) ! 

%ti = 1;

i ∈ D:

(20)

t=

In this research, we consider the delay penalty and the waiting penalty for the time windows. The delay penalty or the waiting penalty is the gap between the desired arrival time and the actual arrival time. Because we assume that there is no service time at the demand nodes, the arrival time at a demand node is the same as the departure time from the demand node. We use Eq. (21) to calculate the waiting time at each demand node. When we relax the binary condition of xijt variable, part a1 in Eq. (21) loses its accuracy. As mentioned before, part a1 represents the arrival time at a demand node i. !  t j ∈ De t= (txij ) i=j

; i ∈ D: al Part a1 can be modi9ed as follows:   !   !  ! (t%t )    t t  (txij ) = xij  = t= i : t bl   t= t= wi ¿ &i −

j ∈ De i=j

(21)

(22)

j ∈ De i=j

Therefore, we can rewrite (21) as a new constraints (23) by changing part a1 with b1. Now, even when we relax the binary condition of xijt variable, Eq. (23) creates integer values for wi . Therefore, the formulation with Eq. (23) creates integer values for the waiting time at each demand node with much less number of integer variables within the same feasible region wi ¿ &i −

! 

(t%ti );

i ∈ D:

(23)

t=

We can apply the same procedure for calculating the delay time at each demand node. In the original formulation the delay time at demand node i is calculated using Eq. (24). By applying (22)

A. Haghani, S. Jung / Computers & Operations Research 32 (2005) 2959 – 2986

2971

in waiting time calculations we can rewrite Eq. (24) as the new Eq. (25) !  t j ∈ De t= (&xij ) − &i i=j

di ¿ di ¿

! 

;

a2 (t%ti ) − &i ;

i ∈ D:

(24)

i ∈ D:

(25)

t=a

4.1.2. Link variables between the depot nodes and demand nodes The second new variable is the variable that links the depot node and the demand node. In the original formulation, all of these variables are represented by xijt . We separate the links between the depot node and the demand node from the set of xijt and name them as sij . For this new variable, we do not need the notation of the departure time from depot, because the departure time from depot is 9xed with the starting time of the planning period. It is a binary variable de9ned below sij =1 if a vehicle starts from depot i to demand node j; =0 otherwise: We add new constraints (26) and (27). Constraints (26) state that the new variable Sij is equivalent with xijt by ignoring the departure time from depot xij = sij ;

i ∈ S;

j ∈ D:

(26)

Next, we consider the relation between the vehicles and the starting node of each vehicle. Binary variable vik indicates that demand node i is served by vehicle k. When demand node i is served by vehicle k, vik is 1, otherwise is 0, because there is only one vehicle that can visit each demand node,  k k k ∈k vi . In the original mixed integer programming formulation, when vi is 1, no other vehicle can be assigned to demand node i to serve the demand node. However, in the LP relaxation, variable vik can have fractional value. Although we consider a single depot problem, we assume a dummy depot node for each vehicle. Therefore, each vehicle has its own depot and the use of a vehicle is con9ned by new variable sij . By constraint (27), when a vehicle k is not used for service (when a vehicle k dose not depart from its depot to any demand node, j∈T skj = 0), no demand node can be served by vehicle k(vik = 0). Constraints (27) can reduce many fractional variables  skj ; i ∈ D; k ∈ K: (27) vik 6 j ∈D

We also modify the 9xed cost part of the objective function in the original formulation. In the original objective function (28), a part marked by a3 is modi9ed to new a3 in the new objective function (29), because part a3 and new a3 are equivalent by the de9nition of the variables (xij = sij ) !     xij + pw wi + p d di + R c (Rtij xijt ); (28) f i ∈ S j ∈ De

f





a3



sij + pw

i ∈ S j ∈ De





new a3



i ∈D

 i ∈D

wi + p d

i ∈D

 i ∈D

di + R e

i∈T j ∈De t=

!   i∈T j ∈De t=

(Rtij xijt ):

(29)

2972

A. Haghani, S. Jung / Computers & Operations Research 32 (2005) 2959 – 2986

4.1.3. Adding new constraints If we do not relax the integer condition of xijt , the precedence condition is satis9ed by constraints (30) in the original formulation. By constraints (30), when a vehicle departs from node i to node j at time t, the departure time from node j to any other node k is the departure time from node i plus the travel time (Rtij ) from node i to node j at time t. However, when we relax the integer condition, there are so many subtours ! !    t (txjk ) = (xijt (t + Rtij )); j ∈ Ds : (30) k ∈De t= k =j

i∈T t= i=j

Let us rewrite the constraints (p26) as follows: ! !   t (txjk )= (xijt1 (t1+ Rt1 j ∈ Ds : ij )); k ∈De t= k =j

(31)

i∈T t1= i=j

t We assume the case of xjk = 1 (there is an outAow from the demand node j to any other demand node or the depot node k at time t). By constraints (31), any variable xijt1 has to be 1 and we can have following relation for any link (i; j):

t = t1 + Rt1 ij : Because of Rt1 ij ¿ 0, we have t ¿ t1. Therefore, the new constraints (32) ensures that we can have the outAow from a node j to a node k at time t only when there is inAow to the demand node j from any other node i before the time t: t −1   t xjk 6 xijt1 ; j ∈ D; k ∈ De ; t = ; : : : ; !: (32) t1= i∈T

At this time we can rewrite constraints (30) as follows: ! !    t1 (t1xjk )= (xijt (t + Rtij )); j ∈ Ds : k ∈De t1= k =j

(33)

i∈T t= i=j

Now, we assume the case of xijt = 1 (there is an outAow from the demand node i to any other t1 has to be 1 and demand node or the depot node j at time t). By constraints (33), any variable xjk we can have the following relation for any link (j; k): t1 = t + Rt1 ij : This means that when there is an outAow from the node i to any other node j at time t, the starting time (t1) from demand node j is after the travel time from demand node i to demand node j at time t. The new constraints (27) can ensure that condition  t+ t xjk Rij ; i ∈ T; j ∈ D; t = ; : : : ; !: (34) xijt 6 k ∈ De

The new constraints (32) and (34) are redundant when all xijt have integer values. However, when we relax integer condition for all xijt , the new constraints are helpful to reduce subtours.

A. Haghani, S. Jung / Computers & Operations Research 32 (2005) 2959 – 2986

2973

4.2. Lower-bound solution procedure phase II We solve the reformulated problem with the integer relaxation in the lower-bound solution procedure phase I. In phase II, we set the lower cut constraints with the result from phase I and the upper cut constraints from the genetic algorithm solution. We relax all the original integer variables; however, new variables (sij , yit ) introduced in phase I are considered as binary variables. Using the upper and the lower cut constraints, we can reduce solution time.

5. Experimental results In this section we report on the computational results obtained using the proposed genetic algorithm in test problems and compare these results to both the exact solutions and the lower bound on the values of the objective functions obtained for these problems. As the exact solution results are available up to 10 demands problems, we use the lower-bound solution as the benchmarking optimal solution for the problems with more than 10 demands. The genetic algorithm was coded in C, compiled using Microsoft visual C++ compiler, and tested on a 350 MHz Pentium II machine. For obtaining the exact solutions we used the AMPL Plus version 1.50 with CPLEX solver on the same machine. The proposed genetic algorithm results are compared to the exact solutions and to the lower bounds with a static demand and time-dependent travel time environment. In Section 5, we will compare the static demand condition and the dynamic condition by a case study in a simulated network under several assumptions. 5.1. Generation of the random test problems We generated several random test problems to test the performance of the proposed genetic algorithm. In this test problem, number of time period means the number of distinct time intervals considered for each links. For small problems in which we have less than 10 demand nodes with 10 and 15 time periods, we can obtain exact solutions, lower-bound solutions, and genetic algorithm solutions. For mid-sized problems that have 15 to 30 demand nodes, we can obtain lower-bound solutions and genetic algorithm solutions. All mid-sized problems have 10 time periods except for the 30 demand nodes problems that have 30 time periods. Three cases of examples are generated for each combination of time periods and number of demand nodes. Therefore, the total number of test problems is 45. Table 1 shows the combinations of approaches that are implemented in each case. In the test problems, the vehicle capacity and the time windows for demands are randomly generated. 5.2. Comparison of the results To verify the performance of the proposed genetic algorithm, we compare the results of the genetic algorithm, the lower-bound solution procedure, and the exact solution method. The gaps among

2974

A. Haghani, S. Jung / Computers & Operations Research 32 (2005) 2959 – 2986

Table 1 The solutions obtained for each problem size Number of demand nodes

Time intervals 10

5 6 7 8 9 10 15 20 25 30

G, G, G, G, G, G, G, G, G,

15 L, L, L, L, L, L, L L L

E E E E E E

G, G, G, G, G,

30 E E E E E

G, L

G: genetic solution, L: lower-bound solution, E: exact solution.

the exact solution (E), the genetic algorithm (GA) solution, and the lower-bound LB solution are calculated as follows: • • • • • •

Total cost gap between the genetic algorithm and the exact solutions = (GA − E)=100E. Total cost gap between the genetic algorithm and the lower bound solutions = (GA − LB)=100LB. Total cost gap between the lower-bound and the exact solutions = (E − LB)=100LB. Computation time for the genetic algorithm versus the exact solution = E=GA. Computation time for the genetic algorithm versus the lower-bound solution = LB=GA. Computation time for the lower-bound versus the exact solution = E=LB.

Table 2 shows the average value of the three examples for each combination of demand nodes and time periods. In case of results from genetic algorithm, we record the best result from 9ve trials and the total computation time for all 9ve trials. For the lower-bound solution, we record the results of phase II and the total time of both phases I and II. We have exact solutions for problems with less than 10 demand nodes and 10 time periods and problems with nine demand nodes and 15 time periods. A total of 33 cases are used for comparing the genetic algorithm with exact solutions. Only the problems with seven demand nodes and 10 time periods and those problems with nine demand nodes and 15 time periods have gaps (1.5%, 1.3%). The genetic algorithm results for the rest of the problems are identical to the exact solutions. However, there are huge di1erences in the computation times as the number of demands increase. Exact solutions required about 210 times as much time as the genetic algorithm for the problems with 10 demand nodes with 10 time periods. For nine demand nodes and 15 time periods, we improve the total cost by 1.5% beyond the genetic algorithm by spending about 3 h (11 076 s) more computation time. When we compare the genetic algorithm and the exact solutions for very small problems (less than 10 demand nodes), it is clear that the genetic algorithm produces excellent results within very short computation times. Fig. 4 shows the comparison of the genetic algorithm and the exact solutions.

Time Number of GA LB Exact (E) GA and LB GA and E E and LB intervals demands Results Time (s) Results Time (s) Results Time (s) Results (%) Time (s) Results (%) Time (s) Results (%) Time (s)

10

5 6 7 8 9 10 15 20 25

315.7 311.7 266.0 267.0 464.0 468.0 517.0 762.0 956.0

1.3 2.0 2.7 4.7 18.3 29.3 55.3 44.7 96.0

15

5 6 7 8 9

198.3 210.0 233.3 240.0 305.0

2.3 2.3 3.0 6.7 16.7

30

30

924

358

309.3 305.7 256.6 259.4 456.2 456.9 510.1 733.1 935.0

856

1.8 3.3 7.6 13.3 75.6 66.9 212.4 491.7 1398.2

25493

315.7 311.7 262.0 267.0 464.0 468.0

9.7 145.7 36.9 69.4 1467.0 5779.1

198.3 210.0 233.3 240.0 301.7

35.6 70.9 362.6 1719.7 11093.0

2.2 1.8 3.7 2.9 1.7 2.4 1.4 4.0 2.2

7.9

1.1 1.1 2.3 2.4 3.8 1.9 2.7 0.4 0.7

0.0 0.0 1.5 0.0 0.0 0.0

6.6 72.9 15.7 15.4 85.7 210.3

0.0 0.0 0.0 0.0 2.3

14.9 31.7 127.4 247.6 678.8

65.6

The results are the average value of three examples for each combination of time intervals and number of demands.

2.2 1.8 2.1 2.9 1.7 2.4

6.5 65.8 6.2 7.2 33.6 111.4

A. Haghani, S. Jung / Computers & Operations Research 32 (2005) 2959 – 2986

Table 2 Comparison of the results

2975

A. Haghani, S. Jung / Computers & Operations Research 32 (2005) 2959 – 2986 700.0

5.0

Tot al cost gap(10 time inervals)

4.5 4.0

Tot al cost gap(15 time inervals)

600.0

Time ratio(10 t ime Intervals)

Time Ratio

500.0

Time ratio(15 t ime Intervals)

3.5 3.0

400.0

2.5 300.0

1.5

2.0 1.5

1.3

200.0

1.0 0.5

100.0 0.0

Total Cost Gap(%)

2976

0.0 5

6

7

8

9

10

Number of Demands

Fig. 4. Comparison of the exact and the genetic algorithm solutions.

For problems with more than 10 demand nodes, we compare the genetic algorithm solution and the lower-bound solution. The range of the demand nodes for the comparison is 5 to 30 with 10 time periods, except for the problems with 30 demand nodes that have 30 time periods. The gaps are less than 5% for 5 to 25 demand nodes problems. In problems with 30 demand nodes and 30 time periods, the gaps increase to up to 7.9%. Since we have the exact solutions for small problems, we can compare the lower-bound and the exact solutions for these problems. These comparisons indicate that the lower-bound solutions have 1.7% to 2.9% gaps. Considering the gaps between the lower-bound and the exact solutions, we anticipate that the gaps between the genetic algorithm and the exact solutions for problems with 30 demand nodes and 30 time periods are less than 7%. From the analysis of these solution procedures, we conclude that the proposed genetic algorithm works very well for the problem formulated in this paper and produces very good solutions very e8ciently. 6. A case study The goal of this case study is to verify that the proposed genetic algorithm works well in a simulated network with link travel time variations for an entire planning period when dynamic demand information is available during that period. In this case we consider the planning period to be one day. We compare the total cost of operations in the day under the dynamic and static vehicle routing plans. We also test the genetic algorithm in a special tra8c situation. 6.1. Assumptions and network characteristics 6.1.1. Assumptions 1. Planning period: 8:00 AM to 6:00 PM. 2. Vehicle information • Number of vehicles: 20 vehicles. • Vehicle capacity: 200 units.

A. Haghani, S. Jung / Computers & Operations Research 32 (2005) 2959 – 2986

2977

Table 3 Test trials Routing plan Static

Dynamic

New demands not considered

At the beginning of a day

Case 1: every 1 h Case 2: every 2 h Case 3: every 3 h

New demands considered

At the beginning of a day At 2 PM

Every 2 h

3. Demand information • Initial number of demands at the beginning of the day: 50 (30 pick-ups, 20 deliveries). • Demand quantity range: 10–40 unit. • When new demands are considered 10 new demands for pick-up service arrive every hour until 2 PM. • Each demand has a designated service time that is randomly generated. 4. Dealing with newly arrived demands: Generally, the routing plan for a day is generated based on considering all demands that have arrived during the previous day. After the start of service in a day, many new demands can arrive. There are two ways to deal with the newly arrived demands. One is to postpone all new demands to the next day and ignore them during the present day. The other is to accept the new demands. Method 1—without considering new demands: The static route planning is executed only once at the beginning of a day, while the dynamic vehicle route planning revises the route plans based on real-time travel time information. We consider route adjustments every hour, every 2 h, and every 3 h. Method 2—considering new demands: The static route planning is executed again at 2 PM, which is the deadline for accepting new demands for the same day service. New vehicles are dispatched to pick-up the new demands. Old vehicles follow the route plans established in the morning. Dynamic route planning revises the route plans every two hours based on real-time travel time information and incorporates the newly arrived demands in the adjusted route as the information becomes available. Table 3 shows the summary of the test trials. 6.1.2. Network characteristics We generated an arti9cial base network that represents the service region. The tra8c Aow characteristics and the design speeds are generated for this research imitating a real-world situation. The network has one depot, 382 nodes, and 1398 links. We classify links into three types according to their function. These are freeways, arterials, and collectors. Each link type has two types of tra8c Aow characteristics during a day. Fig. 5 shows the variations of the travel speed to the design speed ratios for di1erent link types during a day. Freeway links are one of types 1 or 2. Arterial links are one of types 3 or 4 and collectors are one of types 5 or 6. The link types and design speeds are as

A. Haghani, S. Jung / Computers & Operations Research 32 (2005) 2959 – 2986

Ratio

2978

110 100 90 80 70 60 50 40 30 8:00

type 1

9:00

10:00

11:00

12:00

13:00

14:00

15:00

16:00

type 2

17:00

18:00

Ratio

Time in a day 110 100 90 80 70 60 50 40 30 8:00

type 3

9:00

10:00

11:00

12:00

13:00

14:00

15:00

16:00

type 4

17:00

18:00

Time in a day 110

type 5

type 6

100

Ratio

90 80 70 60 50 40 30 8:00

9:00

10:00

11:00

12:00

13:00

14:00

15:00

16:00

17:00

18:00

Time in a day

Fig. 5. Link speed variation ratio types.

follows: Function

Types

Design speed

Freeway Arterial Collector

1, 2 3, 4 5, 6

50–60 MPH 40–50 MPH 30–40 MPH

A. Haghani, S. Jung / Computers & Operations Research 32 (2005) 2959 – 2986

2979

Table 4 Gaps between the expected and the actual link travel times Percentage of links changed (%)

Changing Gap at Each Link (%)

0–25 26–50 51–100

25

50

75

100

Case 1 Case 5 Case 9

Case 2 Case 6 Case 10

Case 3 Case 7 Case 11

Case 4 Case 8 Case 12

Each link has its own design speed. At any time during a day, the link travel speed is calculated based on the design speed of the link and the ratio of the travel speed to the design speed for that link type at that time. For example, a link between nodes 56 and 78 is an arterial road and has type 3 speed variation characteristics. The design speed of the link is 45 MPH and the speed variation ratio for this link at 10 AM is 90.0%. Therefore, the speed of this link at 10 AM is 40:5 MPH (=0:9(45 MPH)). Travel times between the nodes are calculated using a time-dependent shortest path algorithm and are input to the vehicle routing problem algorithm in a matrix form. 6.2. The dynamic vehicle routing plan The detailed procedure for the simulation of an entire day’s operation using the dynamic vehicle routing plan is described below: Step 1: Set initial conditions at time 0 (T = 8:00 AM). Generate the link travel times. Generate the initial demand information. Step 2: Calculate the time-dependent travel times at time T . Step 3: Generate the time-dependent routing plan at time T . Step 4: Update network data (link travel times) at time T  . After some time the network conditions may be di1erent from the expected condition at time T . The new link travel times are generated using the assumptions shown in Table 4. For example, in at most 25% of all links in the network the average di1erences between the expected and the actual link travel times are 25%. There is one more case that is not indicated in Table 4. In case 0, the actual link travel times are exactly the same as the expected ones. Step 5: Update the actual travel times between demand nodes at time T  . Step 6: Adjust the routing plans made at time T based on the network conditions at time T  . Because the network conditions change, some vehicles cannot follow the route that is planned at time T . We recalculate the routing cost according to the same visiting order. After Step 6, T is reset to T  . If the present time T is less than the end of planning period (18:00 PM), the procedure returns to step 2. Otherwise, it stops. 6.3. The static vehicle routing plan In this method of route planning all vehicles follow the initial route plans regardless of the network conditions and the dispatcher does not have any control over all dispatched vehicles after they leave the depot.

2980

A. Haghani, S. Jung / Computers & Operations Research 32 (2005) 2959 – 2986 2.0 int 1

int 2

int 3

1.9 1.8

Cost Ratio

1.7 1.6 1.5 1.4 1.3 1.2 1.1 1.0 Case 0 Case 1 (node:0, (25,25) gap:0)

Case 2 (50,25)

Case 3 (75,25)

Case 4 Case 5 (100,25) (25,50)

Case 6 (50,50)

Case 7 (75,50)

Case 8 Case 9 Case10 Case11 Case12 (100,50) (25,100) (50,100) (75,100) 100,100

Fig. 6. Cost ratios without considering newly arrived demands.

Unless we consider newly arrived demands, there is only one routing plan in a day. When newly arrived demands are considered, there is one more route planning at 2 PM after all new demands are accepted. In the new route planning, the previous demands and the vehicles that are en route are totally ignored. 6.4. Comparison of results In this section we compare the results from the dynamic and the static route planning. The comparison of costs is based on the following cost ratio: Cost ratio = (Cost of static route planning)=(Cost of dynamic route planning): 6.4.1. Comparison of results when newly arrived demands are not considered Fig. 6 shows the simulation results for an entire day when the newly arrived demands during the day are not considered. As the gap between the forecasted travel times and the actual travel times in the network increases, the superiority of dynamic route planning increases. The e1ects of the time interval between two consecutive route adjustments are also shown in this 9gure. In cases 0–8 when the routes are adjusted every hour, the cost ratio is lower than with 2- and 3-h intervals between route adjustments. Fig. 6 leads us to conclude that when the tra8c conditions are very unstable and travel times Auctuate signi9cantly during a day, more route adjustments are better. 6.4.2. Comparison of results when newly arrived demands are considered Fig. 7 shows the results for the case when newly arrived demands during the day are considered. The overall trends are the same as the previous case when the newly arrived demands are not considered. When the actual travel times are the same as the forecasted travel times, the static

A. Haghani, S. Jung / Computers & Operations Research 32 (2005) 2959 – 2986

2981

2.40

2.21 2.20

1.92

1.90

Case 10 (50,100)

Case 11 (75,100)

Cost Ratio

2.00

1.74

1.80 1.60

1.56

1.50

1.46

1.47

Case 2 (50,25)

Case 3 (75,25)

1.43

1.47

Case 4 (100,25)

Case 5 (25,50)

1.51

1.54

Case 6 (50,50)

Case 7 (75,50)

1.59

1.40 1.20 1.00 Case 0 (node:0, gap:0)

Case 1 (25,25)

Case 8 (100,50)

Case 9 (25,100)

Case 12 100,100

Fig. 7. Cost ratios considering newly arrived demands.

approach is 1.56 times more costly than the dynamic routing approach. When there are much larger gaps between the actual travel times and the expected travel times (such as in case 12), the cost ratio increases to 2.21. Fig. 7 shows that as the uncertainty in link travel times increases, the dynamic routing approach is more advantageous than the static one. While the dynamic routing approach is always less costly than the static one, the cost ratio actually decreases when uncertainty in travel times increases. This ratio starts at 1.56 in case 0 and decreases to 1.43 in case 4. Beyond case 4 the cost ratio begins to increase again until it reaches 2.21 in case 12 when the tra8c conditions are very unstable and travel times seriously Auctuate during the day. This means that the advantages of dynamic over static routing are less pronounced as the levels of uncertainty about travel time increase. 6.5. A special tra>c situation To show the advantages of a dynamic routing approach in situations where signi9cant tra8c congestion exists, we simulate a nonrecurring congestion situation, such as a serious tra8c accident, by a sudden and unexpected increase in tra8c volume. The abnormal situation takes place only on several links. However, it is not resolved quickly. The impact of this tra8c situation propagates to adjacent links. We assume that there are some links that are directly impacted. These are connected to the congested links. Other links su1er from indirect impacts. These are links that are connected to the directly impacted links. We test the proposed genetic algorithm in a problem with 20 demand nodes and 9ve vehicles de9ned on the same network as used in the previous section. Fig. 8 shows the demand node locations and the congested as well as the impacted links. When we plan the routes before the tra8c conditions change, they are as follows: Vehicle 1: 9 → 4 → 13 → 10 → 17 → 2 → 16 → 11 → 19 → 20 → 12 → 15 → 6 → 8 → 7 → 14 → 18 Vehicle 2: 5 → 1 → 3: Fig. 9 shows the route plan for vehicle 1 before the tra8c conditions change.

2982

A. Haghani, S. Jung / Computers & Operations Research 32 (2005) 2959 – 2986

Demand node Abnomal Situation Links Direct Impact Links Indirect Impact Links

1 2 1 7 1 0

9

3 5

11

1 6

1 9

1 3

2 0 4

1 2

1 4

Depot 6

1 5 1 8

8 7

Fig. 8. Links impacted by tra8c jam.

1

2

1 7 1 0

9

3 5

11

1 6

1 9

1 3

2 0 4

1 2

1 4

Depot 6

1 5 1 8

8 7

Fig. 9. The 9rst routing plan.

A. Haghani, S. Jung / Computers & Operations Research 32 (2005) 2959 – 2986

1

2983

2

1 7

1 0

9

3 5

11

1 6

1 9

1 3

2 0 4

1 2

1 4

Depot 6

1 5 1 8

8 7

Fig. 10. Modi9ed routing plan.

Just after the abnormal tra8c conditions are created in the network, the routing plan does not have to be changed because only several links are congested and the congestion has not yet impacted the travel times of the links used in the 9rst routing plan. After some time the adjacent links are impacted by the congestion. When congested travel time information is available we can adjust the routes. At this time, vehicle 2 has 9nished its service and vehicle 1 is located at demand node 17. Therefore, the new starting node for vehicle 1 is demand node 17 and the new routing sequence is as follows: Vehicle 1: 17 → 2 → 16 → 11 → 12 → 19 → 20 → 6 → 8 → 15 → 14 → 7 → 18: Fig. 10 shows the modi9ed route. By changing the sequence of demand nodes to be visited after node 11 from demand nodes 19–12, vehicle 1 can avoid the seriously congested links. As the test indicates, route adjustment allows us to avoid congested areas of the network. The test also shows that the proposed genetic algorithm can handle the situation resulting from an incident on a speci9c link or in a region well.

7. Conclusions and directions for future research In this research, we proposed a formulation for a dynamic vehicle routing problem with timedependent travel times and real-time vehicle control that is an NP-hard problem. We also proposed a genetic algorithm for solving this problem. This algorithm includes a vehicle merging operator in addition to the generic genetic operators, namely the crossover and the mutation operators.

2984

A. Haghani, S. Jung / Computers & Operations Research 32 (2005) 2959 – 2986

To test the performance of the proposed genetic algorithm, we compared its results with those of an exact solution procedure and a lower bound. The sizes of the problems that could be solved with these solution procedures are di1erent. We could obtain exact solutions for problems with less than 10 demand nodes. For small problems with less than 10 demand nodes, the genetic algorithm produced the same results as the exact solution procedure in almost all cases. The comparison between the exact solutions and the genetic algorithm solutions shows that the genetic algorithm produced good results within a very short time. For larger problems, we designed a method to obtain lower bounds. We were able to obtain lower bounds for problems with up to 30 demand nodes. The gaps between the genetic algorithm solutions and the lower bounds were under 4% in all cases except for problems with 30 demand nodes. In these problems the gaps were under 8%. Given that the true optimal solutions lie somewhere between the lower bounds and the genetic algorithm solutions, we conclude that the proposed genetic algorithm produced acceptable solutions. We also compared the static and dynamic routing strategies in di1erent test problems that represented di1erent levels of uncertainty in travel time forecasts. The results of these comparisons indicate that as the uncertainty in travel time forecasting increases, the dynamic routing strategy becomes increasingly superior. Additional tests on a simulated network showed that the model and the algorithm work well in dealing with situations in which an incident causes signi9cant congestion in some parts of the transportation network. While the proposed solution algorithm works very well for the dynamic vehicle routing problem with time-dependent travel times and real-time vehicle control, there are several fruitful avenues for future research. The proposed genetic algorithm provides very good results for the test problems that were generated for the test network. In this research, we solved problems with up to the 70 demand locations in cases when demands were accepted dynamically. When the number of demand nodes increases, the population for the genetic algorithm increases accordingly because it is directly proportional to the number of demand nodes. This generates a larger search space for the genetic algorithm and increases the computation time signi9cantly. The dynamic nature of the problem that is considered in this research requires that its solution in a very short time. Problems with up to 70 demand nodes problems can be solved in less than 20 min on a 350 MHz Pentium II machine. If larger problems must be solved faster we need to improve the e8ciency of computation. Further research is needed to accomplish this. Some ideas for reducing solution times are as follows. Usually the initial population for the genetic algorithm is randomly generated. If we can somehow generate an initial population with high-quality solutions, we may have better solutions more quickly even if we have a possibility of premature convergence. By adopting some of the construction heuristics that are traditionally used in routing problems, we may be able to start the genetic algorithm in more promising regions of the solution space. Also, we can start the genetic algorithm in the feasible region and not check the feasibility of each chromosome or repair the chromosomes that are in the infeasible region. Skipping these procedures reduces the computation time of the genetic algorithm, especially for large populations. However, 9nding good feasible solutions may take longer. Some research is devoted to developing genetic algorithms that can be implemented in parallel machines [38]. There are two ways in which parallel genetic algorithms can be implemented. The

A. Haghani, S. Jung / Computers & Operations Research 32 (2005) 2959 – 2986

2985

9rst approach is to calculate the 9tness value of each chromosome in the population using a di1erent processor. If number of processors equals the number of chromosomes, N , then the 9tness value calculation time can be reduced to 1=N of the time required by a sequential algorithm. Another way of using a parallel algorithm is to allocate sub-populations of chromosomes to parallel processors that proceed independently for a certain number of generations. It seems that using the second approach in implementation of parallel genetic algorithms is more useful. To implement a parallel genetic algorithm, we need to study ways of re-distributing information among the sub-populations. In this research, the lower bound was calculated from the reformulation of the problem that decreased the integer variables. We solved 30 demand nodes problems with 30 time intervals using the lower bound solution procedure devised in this research and showed that the proposed genetic algorithm performs well compared to the lower bounds for this problem size. However, problems with 30 demand nodes and 30 time intervals are still relatively small compared to the real-world problems. Therefore, developing a more e8cient mechanism to produce lower bounds for larger problems and devising other solution techniques based on concepts other than genetic evolution are important undertakings. This is yet another area for future research. References [1] Psaraftis HN. Dynamic vehicle routing problem. In: Golden BL, Assad AA, editors. Vehicle routing: methods and studies. Amsterdam: North-Holland; 1988. p. 293–318. [2] Bertsimas DJ, Van Ryzin G. A stochastic and dynamic vehicle routing in the Euclidean plane. Operations Research 1991;39:601–15. [3] Regan AC, Herrmann J, Lu X. The relative performance of heuristics for the dynamic traveling salesman problem. In: Proceedings of the 81st Annual Meeting of the Transportation Research Board, Washington, DC, 2002. [4] Bertsimas DJ, Van Ryzin G. Stochastic and dynamic vehicle routing in the Euclidean plane with multiple cap1citated vehicles. Operations Research 1993;41:60–76. [5] Xu H. Optimal policies for stochastic and dynamic vehicle routing problems. Ph.D. dissertation, Massachusetts Institute of Technology, Cambridge, MA; 1994. [6] Psaraftis HN. A dynamic programming solution to the single vehicle many-to many immediate request dial-a-ride problem. Transportation Science 1980;14:130–54. [7] Swihart MR. A stochastic and dynamic model for the single vehicle dial-a-ride problem. Ph.D. dissertation, Perdue University, 1994. [8] Powell WB. A stochastic formulation of the dynamic vehicle allocation problem. Transportation Science 1986;20: 117–29. [9] Powell WB. An operational planning model for the dynamic vehicle allocation problem with uncertain demands. Transportation Research 1987;21B:217–32. [10] Powell WB. Comparative review of alternative algorithm for the dynamic vehicle allocation problem. In: Golden BL, Assad AA, editors. Vehicle routing: methods and studies. Amsterdam: North-Holland; 1988. p. 249–92. [11] Regan AC, Mahmassani HS, Jaillet P. Dynamic decision making for commercial Aeet operations using real-time information. Transportation Research Record 1996;1537:91–7. [12] Regan AC, Mahmassani HS, Jaillet P. Evaluation of dynamic Aeet management systems: a simulation framework. Transportation Research Record 1998;1645:176–84. [13] Cheung RK, Powell WB. An algorithm for multistage dynamic networks with random arc capacities, with an application to dynamic Aeet management. Operations Research 1996;44:951–63. [14] Bowman EH. Production scheduling by the transportation method of linear programming. Operations Research 1956;4:100–3. [15] Picard JC, Queyranne M. The time-dependent traveling salesman problem and its application to the tardiness problem in one-machine scheduling. Operations Research 1978;26:87–110.

2986

A. Haghani, S. Jung / Computers & Operations Research 32 (2005) 2959 – 2986

[16] Lucena A. Time-dependent traveling salesman problem—the deliveryman case. Networks 1990;20:753–63. [17] Malandraki C, Daskin MS. Time dependent vehicle routing problems: formulations, properties and heuristic algorithms. Transportation Science 1992;26:185–200. [18] Hill AV, Benton WC. Modeling intra-city time-dependent travel speeds for vehicle scheduling problems. Journal of Operational Research Society 1992;43:343–51. [19] Malandraki C, Dial RB. A restricted dynamic programming heuristic algorithm for the time dependent traveling salesman problem. European Journal of Operational Research 1996;90:45–55. [20] Ichoua S, Gendreau M, Potvin JY. Vehicle dispatching with time dependent travel times. European Journal of Operations Research 2003;144:379–96. [21] Jung S, Haghani A. A genetic algorithm for the time dependent vehicle routing problem, transportation research record. Journal of Transportation Research Board 2001;1771:161–71. [22] Goldberg D, Lingle R. Alleles, loci, and the traveling salesman problem. In: Proceedings of the 9rst International Conference on Genetic Algorithms, 1985. [23] Uchimura K, Sakaguchi H. Vehicle routing problem using genetic algorithms based on adjacency relations. In: Proceedings of the sixth Vehicle Navigation and Information Systems Conference, 1995. p. 214–17. [24] Chatterjee S, Carrera C, Lynch LA. Genetic algorithms and traveling salesman problems. European Journal of Operational Research 1996;93:490–510. [25] Thangiah SR, Petrovic P. Introduction to genetic heuristics and vehicle routing problems with complex constraints. In: Woodru1 DL, editor. Advanced in computational and stochastic optimization, logic programming, and heuristic search. Boston: Kluwer Academic Publishers; 1998. p. 253–86. [26] Tan KC, Lee LH, Ou K. Hybrid genetic algorithm in solving vehicle routing problems with time window constraints. Asia-Paci9c Journal of Operational Research 2001;18:121–30. [27] Berger J, Barkaoui M, Braysy O. A route-directed hybrid genetic approach for vehicle routing problem with time windows. INFOR 2003;41:179–94. [28] Baker BM, Ayechew MA. A genetic algorithm for the vehicle routing problem. Computers and Operations Research 2003;30:787–800. [29] Gendreau M, Hertz A, Laporte G. A tabu search heuristic for the vehicle routing problem. Management Science 1994;40:1276–83. [30] Gendreau M, Guertin F, Potvin JY, Taillarn E. Parallel tabu search for real-time vehicle routing and dispatching. Transportation Science 1999;33:381–90. [31] Barnes JW, Laguna M, Glover F. An overview of tabu search approaches to production scheduling problems. In: Brown DE, Scherer WT, editors. Intelligent scheduling systems. Boston: Kluwer Academic Publishers; 1995. [32] Laguna M, Kelly JP, GonzWalez Velarde JL, Glover F. Tabu search for the multilevel generalized assignment problem. European Journal of Operational Research 1995;82:176–89. [33] Renaud J, Laporte G, Boctor F. A tabu search heuristic for the multi-depot vehicle routing problem. Computers & Operations Research 1996;23:229–35. [34] Gendreau M, Laporte G, Seguin R. A tabu search heuristic for the vehicle routing problem with stochastic demands and customers. Operations Research 1996;44:469–77. [35] Glover F, Laguna M. Tabu search. Dordrecht: Kluwer Academic Publishers; 1998. [36] Golden BL, Wasil EA, Kelly JP, Chao I-M. The impact of metaheuristics on solving the vehicle routing problem: algorithms, problem sets, and computational results. In: Crainic TG, Laporte G, editors. Fleet management and logistics. Boston: Kluwer Academic Publishers; 1998. p. 33–56. [37] Amberg A, Domschke W, Voss S. Multiple center capacitated arc routing problems: a tabu search algorithm using capacitated trees. European Journal of Operational Research 2000;124:360–76. [38] Crainic TG, Toulouse M. Parallel metaheuristics. In: Crainic TG, Laporte G, editors. Fleet management and logistics. Boston: Kluwer Academic Publishers; 1998. p. 205–51.

Further reading Michalewicz Z. Genetic algorithms+Data structures = Evolution programs. Third revised and extended edition. New York: Springer; 1996.