AN INTEGER LINEAR MODEL FOR GENERAL ARC ROUTING PROBLEMS Philie LACOMME, Christian PRINS, Wahiba RAMDANE-CHERIF Université de Technologie de Troyes, Laboratoire d Otimisation des Systèmes Industriels (LOSI) Rue Marie Curie, BP 00, 000 Troyes Cedex (France) Mail : {Lacomme, Prins, Ramdane}@univ-troyes.fr EYWORDS Caacitated Arc Routing Problem, CARP, transortation roblem, integer linear model, Xress. ABSTRACT This research focuses on an extended version of the Caacitated Arc Routing Problem (CARP), obtained by adding several realistic constraints to the basic roblem. We roose an integer linear model for this extended CARP (E- CARP) and an imlementation in the Xress modelling language. A set of benchmark roblems is built to evaluate the ractical usefulness of the new model. These examles result from modifications of some CARP instances available in the literature. For small and middle scale instances the model allows to comute otimal solutions or high-quality solutions in accetable comutational time limits. The E-CARP is a ste towards more realistic arc routing models, like the ones occurring in municial waste collection. INTRODUCTION The basic Caacitated Arc Routing Problem (CARP) is defined in the literature on an undirected network G = (V,E) with a set V of n nodes and a set E of m edges. A fleet of identical vehicles of caacity Q is based at a deot node s. A subset R of required edges require service by a vehicle. All edges can be traversed any number of times. Each edge (i,j) has a traversal cost c ij 0 and a demand r ij 0. The CARP consists of determining a set of vehicle tris of minimum total cost, such that each tri starts and ends at the deot, each required edge is serviced by one single tri, and the total demand handled by any vehicle does not exceed Q. The cost of a tri comrises the costs of its serviced edges and of its intermediate connecting aths. Many alications occur in road networks: urban waste collection, snow lowing, sweeing, gritting, etc. Demands are usually amounts to be collected along the streets (urban waste) or delivered (salt in winter). Costs are often distances or travel times. The undirected version concern roads whose both sides can be serviced during one traversal and in any direction, a common situation in low-traffic suburban areas. A directed version is sometimes studied: each arc reresents one street (or one side of street) with an imosed direction for service. Note the difference between an edge (i,j) and a air of oosite arcs (i,j) and (j,i): both reresent a bi-directional street but each side need be serviced searately for the air of arcs. Both the directed and undirected CARP are NP-hard, even in the single-vehicle case (Rural Postman Problem). In alications like municial weight collection, the street network is obviously mixed (with edges and arcs) and some turns are not allowed. Moreover, the time to drive thru a street without collecting it is smaller than its collecting time. The E-CARP denotes an extended CARP for tackling such alications: the network is mixed each link (arc or edge) has a true traversal cost c ij (without service) distinct from its servicing cost w ij rohibited turns. INTEGER LINEAR FORMULATION Our integer linear formulation generalizes a model roosed by Golden and Wong in 98 for the basic undirected CARP (Golden and Wong 98). Note that even this very first model has never been evaluated, due to the lack of solvers owerful enough at that time. Inut data The mixed network is coded as a directed multigrah G = (V,A). V is a set of n nodes with a deot at node. A is a set of m arcs in which each edge is coded as two oosite arcs, both inheriting the costs and demand of the edge. Since we allow several arcs from a node i to a node j, we use arc indexes from to m instead of airs like (i,j). This avoids ambiguities and makes the model more concise. Each arc u has one begin node b(u), one end node e(u), a traversal cost (without service) c u and a demand q u. Like in waste collection, we assume that the set R of the r required arcs contains all arcs with non-zero demands. Such arcs have also a servicing cost w u. A fleet of identical vehicles of caacity Q is based at the deot. All costs, demands and caacities are non-negative real numbers. No demand exceeds Q, i.e. Q max {q u u A}. For tackling the mixed grah and rohibited turns, let us note for each arc u = (i,j): S(u) the set of adjacent arcs v = (j,k) that a vehicle may traverse immediately after the traversal of u, P(u) the set of adjacent arcs v = (k,i) that a vehicle may traverse immediately before traversing u, Inv(u) the index of the oosite arc.
S(u) and P(u) can describe many tyes of constrained turns, imosed by a road sign, an excessive turning circle, a too narrow street, etc. All these cases are handled by excluding v from S(u) and u from P(v). Inv(u) is required to distinguish between a genuine arc and a air of arcs coding an edge. If two arcs u and v reresent the same edge, then Inv(u) = v and Inv(v) = u. If u and v are two oosite arcs requiring service searately, then Inv(u) = Inv(v) = 0. Decisional variables x, number of times vehicle uses arc v after arc u u v u = l if arc u is serviced by vehicle, 0 otherwise. Note that the initial model roosed by Golden and Wong uses binary variables x u equal to if and only if vehicle traverses arc u. These variables are binary thanks to a theorem for the undirected CARP, which states that there exists an otimal solution in which no tri traverses the same edge more than once, in a given direction. This roerty is no longer valid for directed or mixed grahs and the variables become integral. Moreover, the x variables are now indexed by two arcs to handle rohibited turns correctly. They need be defined only for all ermitted airs of consecutive arcs (u,v). In real road networks, each arc (street) is followed by arcs on average (including a ossible U-turn). There are then m ermitted airs on average, even less in case of rohibited turns. The variables l need be defined only for the r required arcs. The total number of variables is then.(m+r) in ractice. The E-CARP model ( ) Min w v l v = v R + c v = v R u P( v ) ( x l ) u, v + c v x u, v = v A R u P( v ) subject to: ( ) =, u A : x v, u = x u, v v P( v S( ( ) ( ) u R,Inv( = 0 : lu = = u R, Inv( > 0 : = v ( l + l ) u Inv( = ( ) =, u R : x u, v lu v S( ( ) = : lu qu Q u R ( ) =, i = n : f u fu = lu u A u A u R b( = i e( = i b( = i ( 8 ) =, u A : fu n x u, v v S( ( 9 ) =, u A, v S( : x u, v ( 0 ), u R : lu { 0, } ().., u A : fu 0 The three main terms in the objective function () corresond to the total servicing cost of the required arcs, the total traversal cost of the required arcs, and the total traversal cost of non-required arcs. In each flow constraint (), the number of times vehicle k enters arc u must be equal to the number of times it leaves u. In the examle of figure, the values on each arc are the number of traversals by vehicle k. We can check that arc u = (,) is entered and left four times. u Figure : Flow constraints on arc u. Constraints () mean that each required true arc (i.e., not an edge) of the original network must be collected, and by one single vehicle. Constraints () concern required edges. When two arcs u and Inv(u) code the same edge, only one of them must be collected, and by one single vehicle. The constraints () revent the required arcs from being serviced by a vehicle when the vehicle does not use them. Constraints () indicate that the total among of demand serviced by one vehicle cannot exceed its caacity. Constraints () and (8) generalize subtours elimination constraints roosed by Golden and Wong. The total number of constraints (without ositivity and bound constraints) is ( m + n + ) + r( + ). For street networks m n and we obtain ( 9 n + ) + r( + ) constraints. A LIBRARY FOR THE E-CARP For the basic undirected CARP, two sets of instances have been roosed by DeArmon (DeArmon 98) and by Belenguer and Benavent (Belenguer and Benavent 99). All edges in these instances require service. The data files can be downloaded via the Internet at address: ft://matheron.estadi.uv.es/ub/carp. Since no such benchmarks are available for our E-CARP, we roose to use some DeArmon's instances and to convert them into E- CARP instances by adding new constraints.
A library comosed of instances based on DeArmon's files gdb, gdb, gdb, gdb, gdb, gdb, gdb, gdb, gdb, gdb8, gdb9 is roosed. The modified files have a name ending with "e" e.g., gdb gives the E-CARP instance gdbe. They can be obtained by sending a request by e-mail to the authors. The instances are solved using the Xress linear rogramming software (htt://www.dash.co.uk), on a 00 MHz PC under Windows 9. We detail hereafter the solutions obtained for roblems gdbe and gdb9e, whose data are listed in table. Table : Definition of roblems of our E-CARP Library Problem name Arcs reachable after one arc : u : S ( c u, wu, qu Gdbe Number of nodes: Number of arcs: Vehicle caacity: Number of vehicles: Only arcs with q u > 0 are :, 8, 9,0,, :,,,,,8 :,,8,,9, : 9,0,,0,, :,,,,8,0 :,,,9,, :,,,,,8 8 :,,8,,9,,,,,,,,,,,,,,,,, 9 : 9,0,,0,, reorted below. i {,} 0:,,,,8,0 Inv( i ) = i + :,,,9,, Inv() = 0 :,,8,,9,,, Inv( ) = 0 : 9,0,,0,,,, :,,,,8,0 :,,,9,, : 9,0,,0,, :,,,,8,0 8:,,,9,, 9:,,,,8,0 0:,,,9,, :,,,9,, :,, 0, 0, 0, 0 :,,,,, :,,,,, :,,,,, :,,,,, :,,,,, 8:, 8, 9,0,, 9:, 8, 9,0,, 0:, 8, 9,0,, :, 8, 9,0,, :, 8, 9,0,, :,,,,,8 :,,,,,8 :,,,,,8 :,,,,,8 :,,8,,9, 8:,,8,,9, 9:,,8,,9, 0: 9,0,,0,, : 9,0,,0,, :,,,,8,0,, 0,, 0,,,,,, 0,,,,,,,,,,,,,,,,,,,,,,,,,,,, 0,, 0,,,,,, 0,,,,,, Gdb9e Number of nodes: 8 Number of arcs: Vehicle caacity: Number of vehicles: Only arcs with q u > 0 are reorted below. i {,,} Inv( i ) = i + Inv( ) = 0 Inv( ) = 0 Inv( ) = 0 :,, 8,,,0 :,, 0, 0, 0, 0 :, 9, 0, 0, 0, 0 :,0, 0, 0, 0, 0 :,, 0, 0, 0, 0 :,, 0, 0, 0, 0 :, 9,8, 0, 0, 0 8 : 9,0,, 0, 0, 0 9 : 0,9,, 0, 0, 0 0:, 0, 0, 0, 0, 0 :,, 0, 0, 0, 0 :,,,, 0, 0 :,,,, 0, 0 :,,,, 0, 0 :,,,, 0, 0 :,,, 8,, 0 :,,, 8,, 0 8:,,, 8,, 0 9: 8,,,,, 0 0: 9,8,, 0, 0, 0 : 0,, 0, 0, 0, 0 :,0, 0, 0, 0, 0,, 0,,,,, 8, 8,, 9,0,,,,, 9, 8, 0,,,, 8,, 8,,,,,, 8,, 9,0,,,,, 9, 8, 0,,,, 8
SOLUTIONS TO SOME E-CARP INSTANCES The gdb9e instance The gdb9e instance has been obtained by adding the following constraints to DeArmon's gdb9 file : rohibited turn added from arc to arc 8, rohibited turn added from arc to arc 9, no demand on arcs 9 = (,), 0 = (,) and = (,), arcs = (,) and = (,) become indeendent, i.e. Inv() = Inv() = 0. The edge (,) is relaced by arcs and and these arcs must be serviced searately. the edge (,) is relaced by arcs and with only arc to be serviced. Figure shows a grahical reresentation of the grah, corresonding to the data listed in table. The four numbers written as a(b,c,d) on each arc are the arc number a, the traversal cost b, the servicing cost c, and the demand c. A vehicle caacity of is assumed. (9,0,) (,,) (9,0,) (,,) (,,) (,,8) (,,8) (,,) (,,8) 9(,,9) (,,0) 8(,,) (,,) 8(,,9) (,,) 9(,8,0) (,,8) (,8,8) (,,) 0(,,) 0(,8,0) 8 (,,) Figure : The gdb9e grah The otimal solution comuted using the Xress model has a total cost equal to 9. Here is an examle of Xress solution listing, in which the X variables reresent the tri of each vehicle. Each variable X has three indices and X_x x x can be read as follows: x is the vehicle number, x is the arc traversed by vehicle x, x is the arc used before x. The tris: Vehicle "X 0",.000000 "X 908",.000000 "X ",.000000 "X 0",.000000 "X 089",.000000 "X 0",.000000 "X 00",.000000 "X ",.000000 "X 0",.000000 "X 0",.000000 "X 0",.000000 "X 00",.000000 "X ",.000000 "X 0",.000000 "X 0",.000000 "X ",.000000 The serviced arcs : Vehicle "L 0",.000000 "L 908",.000000 "L ",.000000 "L 0",.000000 "L ",.000000 "L 0",.000000 "L 00",.000000 "L ",.000000 "L 0",.000000 "L 0",.000000 "L ",.000000 For the serviced arcs a similar notation is used. The corresonding tris are grahically deicted in figure.
Vehicle Vehicle Vehicle Vehicle Vehicle 8 Figure : Otimal solution for gdb9e The gdbe instance The comutation of the otimal solution is here too time consuming and only a solution of cost is available, as described by figure. vehicle vehicle vehicle 8 0 9 8 9 0 Figure : The Gdbd best known solution Best-known solutions for the E-CARP library Table : Otimal and best-known solutions Name Vertices/arcs Best-known solution Otimal Gdbe x Gdbe x 0 Gdbe x 98 Gdbe x8 9 Yes Gdbe x 8 Gdbe x Yes Gdbe x Gdbe 8x Gdbe 8x 9 Gdb8e 9x Gdb9e 8x 9 Yes FINAL COMMENTS This aer resents the first formulation for an extended CARP. A library for this E-CARP roblem is roosed with instances including rohibited turns and a mixed network with arcs and edges. The integer linear formulation of the E- CARP allows to solve otimally some small and mediumsize instances. This aroach ermits to take into account many constraints of municial waste collection for examle. This work has multile future useful extensions. Further research could be directed: to the develoment of owerful lower bounds based on the revious work of Belenguer and Benavent for examle, to the develoment of heuristics to solve the linear rogram. to coule this exact aroach to metaheuristics. This aroach could ermit to solve otimally some arts of the grah. This toic is investigated with the GA roosed by (Lacomme et al. 00) REFERENCES DeArmon, J.S. 98. "A Comarison of Heuristics for the Caacitated Chinese Postman Problem". Master's Thesis, The University of Maryland at College Park, MD, USA. Belenguer, J.M. and E. Benavent. 99. "A cutting lane algorithm for the caacitated arc routing roblem", Research Reort, Det. of Statistics and OR, Univ. of Valencia (Sain). To aear in Comuters and Oerations Research. Golden B.L. and R.T. Wong.98. "Caacitated arc routing roblems", Networks,, 0-. Lacomme P.; C. Prins and W. Ramdane-Cherif. 00. "A genetic algorithm for the Caacitated Arc Routing Problem and its extensions", -8, in "Alications of evolutionary comuting", E.J.W. Boers (ed.), Lecture Notes in Comuter Science 0, Sringer.