A PRACTICAL SOLUTION OF CAPACITATED ARC ROUTING FOR CITY LOGISTICS H. Kokubugata*, K.Hirashima** and H.Kawashima*** *Keio Girls Senior High School, 2-17-23, Mita, Minato-ku Tokyo 108-0073, Japan Tel.:+81-3-5427-1674, Fax: +81-3-5427-1675, e-mail:
[email protected] **Graduate of Keio University, Dept. of Administration Engineering e-mail:
[email protected] ***Keio University, Dept. of Administration Engineering, 3-14-1, Hiyoshi, Yokohama 223-8522, Japan Tel.:+81-45-566-1626, Fax: +81-45-566-1617, e-mail:
[email protected]
Abstract: A new capacitated arc routing solution associated with the actual delivery operations is developed. The method is characterized by a primitive data modelling and a simple optimization procedure based on the simulated annealing. The data structure of the method, that is, travelling routes of a number of vehicles, is expressed as a string. The solutions generated by the proposed method are compared with the solutions given by other methods by conducting a computational experiment utilizing the bench-mark capacitated arc routing problems. It is shown that the proposed method is adaptable to additional constraints and objectives. Copyright © 2006 IFAC Keywords: Freight Transportation, City Logistics, Capacitated Arc Routing, Heuristic, Simulated Annealing
1. INTRODUCTION Freight transportation accounts for more than half of total road transportation in Japanese urban areas. The demands for high-quality services such as smallamount high frequency deliveries with time windows have been made by many clients. The loading rate of small size trucks has decreased and the percentage of freight transportation in total road traffic has increased. The rationalization in terms of increasing the loading rate and decreasing the total travel time is aimed not only for reducing operational costs in each company but also for relieving traffic congestion, reducing the amount of exhaust fumes and saving energy. From the point of view of proposing decision support tools to improve city logistics, we have developed practical vehicle routing and scheduling methods that take account of practical conditions and objectives. The vehicle routing problems with time windows are abbreviated as VRPTWs. The authors have dealt with a VRPTW related to deliveries that are carried out by several vehicles from a depot to clients (Kokubugata et al. 1997), a VRPTW related with both deliveries and pickups (Hasama et al., 1998), © 11th IFAC Symposium on Control in Transportation Systems Delft, The Netherlands, August 29-30-31, 2006
and a VRPTW with various conditions including the repeated delivery and the multiple depots (Hasama et al., 1999). Although the method is quite simple, the quality of solutions is as good as the known optimal solutions previously reported in the literature. When people observe deliveries in urban area, it is understood that some delivery or pickup demands belong not to spots but to streets. This circumstance contains the case where the demands are densely located along street such as postal deliveries, and the case where the demand belongs to a street itself such as garbage collections and snow removals. In these cases, they are more suitable to be formulated as the capacitated arc routing problem (CARP) rather than as VRP. Several studies on the CARP can be found in the literature. The CARP and the VRP belong to NP-hard problems. Therefore, interests of the practitioners are concentrated on heuristics. However, most of them incorporate the elaborated procedures. As described above, the authors have developed a simple data model and optimization algorithm to solve various types of VRPTWs. In this paper, the authors propose to apply the data model and the solution algorithm to CARP.
Page 543
Vehicle 1
: Required Arc
E
A
Vehicle 2
(Q=10)
O (Q=10)
B
D
Fig.1 An example of CARP 2. FORMULATION AND ALGORITHM The Capacitated Arc Routing Problem (CARP) is proposed by Golden and Wong (1981). The CARP is defined as follows (see Fig.1). A graph G = (V , A) consists of a set of nodes V = (v0 , v1 , L , v n ) and a set
C A, B, C, E : directed required arc D: undirected required arc O: depot O
A
B
C
O
D
of undirected arcs A = {(vi , v j ) : vi , v j ∈ V , i < j} .
Fig.2 The string model for CARP
Each arc (vi , v j ) is given with traversing cost cij . m vehicles are loaded within capacity Q at a central depot v0 ∈ V in order to service the required arcs.
2.2 Transition of State
After starting the depot, m vehicles tour some of the required arcs and return to the depot. Each of the required arcs (vi , v j ) that are given with delivery demands q ij needs to be served by one of vehicles. The set of the required arcs R is a subset of A . The CARP is the problem to find the m vehicles’ routes that minimize total travelling cost. Since Golden and Wong originated CARP, most of the studies about CARP have concentrated on the problem that contains undirected arcs only. However, when the actual city logistics is considered, one-way streets must not be ignored. Moreover, on broadways in urban areas, the sides of places to be serviced should be taken into account. Therefore, the problem that takes account of both undirected arcs and directed arcs is dealt with in this paper. A new model to express a state of solution is introduced for CARP.
E
A new state of solution is generated from the present state by one of the following three types of transformation rules. The first rule is to reverse the traversing direction of an undirected arc. The second rule is to exchange a number with another one in the string. The third rule is to delete an arbitrary number and then insert it to another position in the string. These three transformation rules that are illustrated in Fig.3 are applied equally probably to create new states of solutions. However, the first rule ‘sign reversal’ can not be applied to directed arcs.
2.1 Data Modelling The model to express a state of solution of CARP is realized as a sequence of numbers, i.e. a string. In the string, the position of a number (a symbol of the required arc) implies not only which vehicle tours the required arc but also the routing order of it. An example of the string model is illustrated in Fig.2. A required arc is involved with a directed arc or an undirected arc. In the string, a directed required arc is expressed by a positive number, whereas an undirected required arc is expressed by a positive number or a negative number according to the direction traversed. The special number ‘0’ should be interpreted not only as the depot but also as the partition symbol among the routes of vehicles. m (number of vehicles) ‘0’s are provided in the string. When there is no number between ‘0’ and ‘0’, the vehicle is not in use.
© 11th IFAC Symposium on Control in Transportation Systems Delft, The Netherlands, August 29-30-31, 2006
Fig.3 Three rules for transition of state Three examples of results that are derived from the state in Fig.2 by applying the ‘one to one exchange’ rule are illustrated in Fig.4, Fig.5, and Fig.6. Note that the rule is also applied to the special character ‘0’. In other words, ‘0’ is evenly treated with other numbers. If ‘one-to-one exchange’ is executed within a substring, only a route of one vehicle will be changed as illustrated in Fig.4. If ‘one-to-one exchange’ is executed between two components that belong to different substrings, two required arcs will be exchanged between two vehicles as illustrated in Fig.5. If ‘one-to-one exchange’ is executed between Page 544
a non-zero number and ‘0’, a partial route of one vehicle will be moved and embedded in another vehicle’s route as illustrated in Fig.6. The third transformation rule ‘delete and insert’ is also applied to the special character ‘0’. ‘Delete and insert’ may yield almost similar but slightly different effects compared with ‘one-to-one exchange’. According to these transformation rules, drastic changes of state may be implemented.
O
A
B
C
O
A
B
C
O
D
E
one-to-one exchange O
A
O
C
B
Vehicle 1 O
D
E
D
E
E
A
Vehicle 2 O
one-to-one exchange O
C
B
A
O
B D
D
E C
Vehicle 1
E
A
Vehicle 2 O
Fig.6 A result of one-to-one exchange including ‘0’ in the string in Fig.2 2.3 Objective Function
B
D
The objective of CARP is the minimization of total cost which is subject to constraints including loading capacity of each vehicle. Objective function of CARP is formulated as follows.
C
n
n −1
i =1
i =1
E = ∑ c si + ∑ p si , s i +1
Fig.4 A result of one-to-one exchange within the substring corresponding to the Vehicle 1 in Fig.2
L (1)
where
s = ( s1 , s 2 L, s n ) : string consisted of the required O
A
B
C
O
D
arcs and a depot ck : cost for traversing the required arc k (if k = 0 , ck = 0 )
E
pk ,l : minimal cost from the tail of the required arc k to the head of the required arc l . All values of ck and pk ,l are calculated by the
one-to-one exchange O
A
D
C
O
B
Warshall-Floyd’s algorithm in advance.
E
3. OPTIMIZATION ALGORITHM Vehicle 1
E
A
Vehicle 2 O
B
D C
Fig.5 A result of one-to-one exchange between two substrings corresponding to the Vehicle 1 and the Vehicle2 in Fig.2
© 11th IFAC Symposium on Control in Transportation Systems Delft, The Netherlands, August 29-30-31, 2006
The SA (simulated annealing) is adopted as the optimization technique since it is characterized by simple procedure based on randomization method and by global searching scope. Starting with an initial state, it is expected to approach an equilibrium point. Entire algorithm of CARP is described as follows. Step 1 Read network data and calculate the minimum cost between all pairs of required arcs by Warshall-Floyd’s algorithm. Step 2 Generate an initial feasible solution x by arranging required arcs in descending order, then assigning required arcs to vehicles as much as possible to the extent of vehicle’s loading capacity. Set the prescribed initial value T0 of a parameter T which is called ‘temperature’ in order to attain the initial
Page 545
acceptance probability to equal to INITPROB. Set N as the averages neighbourhood size. Step 3 Search an optimal solution by simulated annealing. (1) Let x ′ be the temporary new feasible state that is randomly generated from the current state x by applying one of the three transformation rules mentioned above. Calculate ΔE = E ( x ′ ) − E ( x ) . If ΔE < 0 , then
x ′ is accepted as the real new state. If
ΔE ≥ 0 , then x ′ is accepted with
probability exp( −ΔE / T ) . This rule is known as the Metropolis method. Set x ← x ′ . Until the numbers of trials is greater than or equal to SIZEFACTOR ⋅ N or the number of accepted changes is greater than or equal to CUTOFF ⋅ N , repeat the above procedure. (2) Decrease the value of T according to the cooling schedule T ← T ⋅ TEMPFACTOR and go to (1). If the value of T reaches to the value of T0 / FIN_DIVISOR , then stop. Step 4 Output the best solution. Repeat from Step 2 to Step 4 k times, and then output the best solution and its averaged value.
According to the preliminary numerical experiments and reference to the recommended values by Johnson (1989, 1991), the standard values of the parameters appeared in above algorithm are set as follows. INITPROB = 0.4 SIZEFACTOR = 4 CUTOFF = 0.1 TEMPFACTOR = 0.99 FIN_DIVISOR = 10 N = 2L2 , where L is the length of the string model. 4. EXPERIMENTAL RESULTS Comparison between the solutions generated by the proposed method using Windows PC (Pentium IV, 1.8GHz) and the solutions given by other methods are conducted for the bench-mark CARPs. Some bench-mark CARPs are found in the web site named CARPLIB that is supported by Belenguer (http://www.uv.es/~belengue/carp/). In the CARPLIB, some series of CARPs are provided. The GDB series includes 21 small size problems, each of which contains 19-55 undirected required arcs. The BCCM series includes 34 medium size problems, each of which contains 39-97 undirected required arcs. Some heuristics for solving CARP found in the literature are implemented by application of metaheuristics to the improving processes. Hertz, Laporte and Mittaz (2000) adopt tabu search (TS), while Lacomme, Prins and Ramdane (2001) adopt genetic algorithm (GA). Both of them attained good solutions. On each problem of the GDB series and the BCCM series, the lower bounds are known. Comparison of solutions of the proposed method with the method by Hertz et al. and the method by © 11th IFAC Symposium on Control in Transportation Systems Delft, The Netherlands, August 29-30-31, 2006
Lacomme et al. is illustrated in Table.1. Comparison of solutions obtained by the proposed method with the lower bounds and best known solutions is illustrated in Table.2. Regarding the GDB series and the BCCM series, the best solutions for 10 computations executed with the proposed method are better than the solution by Hertz et al by in 49 problems among 55 problems. The averaged performance of solutions for 10 computations executed with the proposed method are better than or equal to Hertz’s in 23 problems among 55 problems. Regarding to the comparison with the solution by Lacomme et al., although averaged performance of the proposed method is slightly inferior to Lacomme’s , the best solutions for 10 computation are even to it. In addition, computing time (sec) of the proposed method is practicable and not so varied. Table. 1 Comparison with other methods Instance number
Num. of Required arcs
Hertz et al.
GDB1 GDB3 GDB9 GDB23 BCCM1A BCCM3B BCCM6C BCCM9B
22 22 51 55 39 35 50 92
316 275 317 235 173 87 329 329
Lacomme et al. 316 275 303 235 173 87 317 326
Proposed Method for 10 computations Ave. Ave. Best time 316 316 3.4 275 275 3.3 312 309 29.6 235 233 59.9 176 173 6.6 88 87 15.1 320 317 22.1 330 326 55.6
Table. 2 Comparison with lower bound, known best Instance number GDB1 GDB3 GDB9 GDB23 BCCM1A BCCM3B BCCM6C BCCM9B
Num. of vehicles 5 5 10 10 2 3 10 4
Lower bound
Known best
316 275 303 233 173 87 311 326
316 275 303 233 173 87 317 326
Proposed Method Best 316 275 309 233 173 87 317 326
5. CONCLUSION The previous discussions are summarized as follows. • The proposed method for solving the capacitated arc routing problem (CARP) consists of a simple procedure based on the string data model which is developed in this paper. It is not necessary to arrange particular devices and other optimization methods in order to obtain the solution. In other words, random applications of ‘one-to-one exchange’ and ‘delete and insert’ in the whole string model may cause occasionally the exchange of required arcs between two subtours, the move of required arcs from a subtour to another subtour, and exchange of arcs in the substring. Because transitions of a present state in the string data model are able to yield drastic changes in solutions, fast convergence to an equilibrium point is expected.
Page 546
•
Both undirected arcs and directed arcs can be considered as required arcs.
•
The solutions generated by the proposed method are compared with the solutions given by other methods by making computational experiments with the bench-mark CARPs. In most cases, the proposed method shows good performances.
•
The proposed method is adaptable to additional constraints and objectives. The case in which time windows are imposed, the case in which the repetitive travelling of some vehicles is allowed and the case in which more than one depot is managed at a time could be dealt with.
Johnson, D.S., C.R. Aragon, L.A. MacGeoch, and C. Schevon (1991) Optimization by Simulated Annealing : An experimental evaluation, part II, graph colouring and number partitioning, Oper. Res., 39, 378-406 Kokubugata, H., H. Itoyama and H. Kawashima (1997). Vehicle routing methods for city logistics operations, Preprint for IFAC Transportation Systems, 727-732. Lacomme, P., C. Prins and W. Ramdane-Cherif (2001). A genetic algorithm for the capacitated arc routing problem and its extensions, Lecture Notes in Computer Science, 2037, 473–483,
Although the proposed scheme is advantageous to complicated delivery operations, the following problem should be considered in order to make the method fit for practical use. • The effects of ‘one-to-one exchange’ and ‘delete and insert’ in the whole string model should be analyzed theoretically. •
Applications of TS and GA to the proposed string model are expected. Comparison of fitness with the string model among several metaheuristics should be examined.
•
The proposed data model can be applied to CARP with time windows, multiple depots case and pickup and delivery case. The application to these cases should be examined. However, the bench mark problem or the necessary data of actual delivery cases have not been obtained yet. REFERENCES
Belenguer, J.M. and E. Benavent (1998). The capacitated arc routing problem: valid inequalities and facets, Computational Optimization and Applications, 10, 165–187 Eiselt, H.A., M. Gendreau and G. Laporte (1995). Arc routing problems, part II: the rural postman problem, Oper. Res., 43, 399–414 Golden, B.L. and R.T. Wong (1981). Capacitated arc routing problems, Networks, 11, 305–315 Hasama, T., H. Kokubugata and H. Kawashima (1998). A heuristic approach based on the string model to solve vehicle routing problem with backhauls, Preprint for 5th Annual World Congress on Intelligent Transport Systems Hasama, T., H. Kokubugata and H. Kawashima (1999). A heuristic approach based on the string model to solve vehicle routing problem with various conditions, Preprint for World Congress on Intelligent Transport Systems, 3027. Hertz, A., G. Laporte and M. Mittaz (2000). A tabu search heuristic for the capacitated arc routing problem, Oper. Res., 48, 129–135 Johnson, D.S., C.R. Aragon, L.A. MacGeoch, and C. Schevon (1989) Optimization by Simulated Annealing : An experimental evaluation, part I, graph partitioning, Oper. Res., 37, 865-892
© 11th IFAC Symposium on Control in Transportation Systems Delft, The Netherlands, August 29-30-31, 2006
Page 547