Some applications of the clustered travelling

0 downloads 0 Views 275KB Size Report
as diverse as vehicle routing, manufacturing, computer operations, examination timetabling, ... timetabling, cytological reading, integrated circuit testing,.
Journal of the Operational Research Society (2002) 53, 972–976

#2002 Operational Research Society Ltd. All rights reserved. 0160-5682/02 $15.00 www.palgrave-journals.com/jors

Some applications of the clustered travelling salesman problem G Laporte1* and U Palekar2 1´

Ecole des Hautes E´tudes Commerciales, Montre´al, Canada; and 2University of Illinois at Urbana-Champaign, Urbana, IL, USA The purpose of this article is to describe several applications of the clustered travelling salesman problem arising in areas as diverse as vehicle routing, manufacturing, computer operations, examination timetabling, cytological testing, and integrated circuit testing. Journal of the Operational Research Society (2002) 53, 972–976. doi:10.1057=palgrave.jors.2601420 Keywords: clustered travelling salesman problem; applications

Introduction The purpose of this article is to describe several applications of the clustered travelling salesman problem (CTSP), a variant of the well-known travelling salesman problem (TSP). The CTSP is defined on a complete graph G ¼ ðV ; EÞ in the undirected case or (V, A) in the directed case, where V ¼ fv1 ; . . . ; vn g is a vertex set partitioned into m clusters V1 ; . . . ; Vm . The set E ¼ fðvi ; vj Þ : vi ; vj 2 V ; i < jg is an edge set, and A ¼ fðvi ; vj Þ : vi ; vj 2 V ; i 6¼ jg is an arc set, so that both the undirected and the directed case can be considered. A cost matrix C ¼ ðcij Þ is defined on E or A. The CTSP consists of determining a least cost Hamiltonian cycle or circuit on G in which the vertices of any cluster Vk are contiguous. The CTSP coincides with the TSP whenever all clusters are singletons. In general, the CTSP can readily be transformed into a TSP by adding an arbitrarily large constant M to inter-cluster costs, or by subtracting M from intra-cluster costs. However, such transformations introduce a fair amount of degeneracy in the problem and it may be preferable to solve the CTSP directly by means of a specialized algorithm.1 The CTSP was introduced by Chisman2 and early algorithms were provided by Lokin,3 and Jongens and Volgenant.4 These authors have described simple applications in the areas of vehicle routing, warehouse order picking and manufacturing. Our aim is to provide a much wider range of well-known and new applications of the CTSP, and thereby to show the potential of this problem as a modelling tool. This article follows two similar contributions on the TSP5 and on the generalized travelling salesman problem (GTSP)6 to be described in the following section. Applica*Correspondence: G Laporte, Canada Research Chair in Distribution Management and GERAD, E´cole des Hautes E´tudes Commerciales, 3000 chemin de la Coˆte-Sainte-Catherine, Montre´al, Canada H3T 2A7. E-mail: [email protected]

tions of the CTSP arise in areas as diverse as vehicle routing, manufacturing, computer operations, examination timetabling, cytological reading, integrated circuit testing, and computer program restructuring. Before describing these in the following sections, we outline a key relationship between the CTSP and the GTSP.

The generalized travelling salesman problem The GTSP is another important variant of the TSP in which the aim is to determine a least cost Hamiltonian cycle or circuit containing exactly one vertex from each cluster. Noon and Bean7 have shown that in the directed case the GTSP can be transformed into an equivalent TSP containing the same number of vertices. Laporte and Semet8 have provided a similar transformation for the undirected case in which the number of vertices is doubled. In fact, both these transformations use the CTSP as an intermediate step. For the sake of completeness we briefly recall for each case how the GTSP can be transformed into a CTSP. If G is directed the transformation can be accomplished in two steps. First arbitrarily order the vertices of each cluster Vk as vi1 ; . . . ; vih where h ¼ jVk j; and redefine cit itþ1 ¼

M ðt ¼ 1; . . . ; hÞ; where t þ 1 must be interpreted as t þ 1 (mod h). Second, for every vit 2 Vk and vj 2 = Vk ; redefine cit 1 j ¼ cit j ðt ¼ 1; . . . ; hÞ (Figure 1). This transformation works since if cluster Vk is entered through vertex vit in a CTSP solution, then the optimal Hamiltonian circuit will necessarily contain the subsequence ðvit ; vitþ1 ; . . . ; vi1 ; . . . ; vit 1 Þ and an arc ðvit 1 ; vj Þ for some vj 2 = Vk : Since cit 1 j has been redefined as cit j ; the cost of the CTSP solution is equal to that of the GTSP solution plus a large constant equal to nM. For the undirected case, Laporte and Semet8 apply the following three steps. First arbitrarily order the vertices

G Laporte and U Palekar—Some applications of the clustered TSP

Figure 1

Graph transformation for the directed GTSP.

of each cluster Vk (with jVk j > 1Þ as vi1 ; . . . ; vik ; where h ¼ jVk j: Second, create a copy vi0t of each vertex vit ; and insert vi0t to the right of vit in the sequence. Third, define cit i0t ¼ M and ci0t itþ1 ¼ 2M: Finally, for any vit 2 Vk and vj 2 = Vk ; define an edge ðvi0t ; vj Þ of cost cit j (Figure 2). The nan optimal CTSP solution on the transformed graph is again equivalent to an optimal GTSP solution on G. The formal interest of these transformations is that all applications of the GTSP can be viewed as cases of the CTSP, but again it is preferable to solve the GTSP by means of specialized algorithms.9,10 In the following, we show that several real-life applications can also be modelled directly as a CTSP.

Vehicle routing applications A number of vehicle routing applications of the CTSP are immediate. The travelling salesman problem with backhauls (TSPB)11 is defined on a graph G in which the vertex set is partitioned into {{v1}, L, B}, where v1 is a depot, L is a set

Figure 2

Graph transformation for the undirected GTSP.

973

of linehaul customers, and B is a set of backhaul customers. The TSPB consists of determining a least cost Hamiltonian cycle or circuit on G, starting and ending at the depot, and such that all linehaul customers are visited before backhaul customers. Whether G is directed or not, the TSPB can be modelled as a CTSP with clusters V1 ¼ fv1 g; V2 ¼ L and V3 ¼ B: In the directed case, the only arcs with non-infinite costs are from V1 to V2, from V2 to V3 and from V3 to V1. The vehicle routing problem with backhauls (VRPB) is similar, but then several vehicle routes start and end at the depot. This problem cannot be modelled as a CTSP, but a CTSP algorithm can be applied to post-optimize each vehicle route in a feasible VRPB solution. Chisman2 described the following application in the area of warehousing. In some contexts orders to be picked up are composed of several bills of lading, each of which is made up of several stock numbers. A motorized vehicle is dispatched to pick up all stock numbers in such a way that all stock numbers within the same bill of lading are picked up contiguously. A second warehousing application12 arises in the case of multilevel warehouses where an order picker fills the orders one level at a time. Mail pickup and delivery in a multi-storey or multi-pavilion office complex is a similar application. There also exist other warehousing applications that are more naturally modelled as a GTSP, such as order picking where the same item is located at several locations.13 Another routing application of the CTSP is where a vehicle must visit customers with several priority levels and all customers with a high priority must be seen before customers having a lower priority. Such an example was recently described by Weintraub et al14 in the context of dispatching emergency vehicles to clients of an electric utility in Chile. Manufacturing applications We now describe applications of the CTSP in manufacturing. A CTSP example arising in manufacturing is where holes of different types have to be drilled on a rectangular sheet using tools mounted in a carousel, and the set of tools present in the carousel remains the same for the entire production process. Typically, the sheet can move in both the X and Y directions to position a hole location under the tool, and the carousel rotates freely in either direction to provide the appropriate tool. If Z represents the time required to change tools, and X, Y are the times associated with a move in the X and Y direction, respectively, then the overall processing times between two drilling operations can be expressed by one of the four metrics X þ Y þ Z; max {X, Y, Z}, Z þ max fX ; Y g; max fX þ Y ; Zg; depending on whether movements are made sequentially or simultaneously in any dimension.15 The most common case appears to be max{X, Y, Z}. Lokin3 models this problem as a CTSP,

974 Journal of the Operational Research Society Vol. 53, No. 9

where clusters are made up of all hole locations requiring the same tool. Similar applications exist in chip insertion and printed circuit board manufacturing. In the same context, Laporte et al15 have studied the problem of optimally determining sequences of tools to be used in the same pass of drilling operations. In single machine scheduling it is common to have set-up times between parts.16 However, similar parts will have relatively small set-up times while changeover costs are large between dissimilar families of parts. This problem can therefore be viewed as a CTSP where clusters are made up of parts belonging to the same family. Plate cutting provides another example of the CTSP. In this problem disjoint parts have to be cut from a rectangular sheet and it is required that each part must be cut completely without preemption. The time taken by the cutter to move from one point to another is measured using a Tchebychev norm. The problem requires one to find the order in which the polygons are to be cut as well as a single point at which each polygon perimeter is entered so that the overall time to cut the polygons and move between them is minimized. Using geometric properties of the Tchebychev norm, Hoeft and Palekar17 show that the continuous perimeter of each polygon can be reduced to a finite non-polynomial set of dominating points and propose algorithms for identifying these points. This dominating set ensures that it is sufficient to consider these points alone as the entry points and still guarantee an optimal solution. These points contain all vertices and possibly a number of other points on the polygon perimeters (Figure 3). It is easy to see that the dominating set for each polygon forms a cluster and the resulting problem is a CTSP. Paper-roll cutting offers yet another manufacturing application of the CTSP. In the usual cutting stock problem, it is common to determine sets of widths called patterns that are to be cut from a common base or master roll so that scrap is minimized.18,19 Once the patterns are determined, a sequencing problem must be solved to minimize the amount of setup time for a given set of patterns.20 The set-up time

Figure 4 Computer disk before and after defragmentation.

depends not only on the order in which the patterns are cut but also on the precise arrangement of the widths within the pattern. If there are n widths in a pattern then there can be as many as n! possible arrangements of the widths in a pattern. The possible arrangements of a pattern form a cluster and the problem can be modelled as a CTSP. Disk defragmentation When files are stored on computer disks, space is allocated in units of ‘storage clusters’. A file can be fragmented, ie, it can span several storage clusters scattered on the same disk (Figure 4). The defragmentation process consists of reassigning storage clusters so that all clusters assigned to the same file become contiguous. To maintain data integrity, this reassignment is performed one file at a time. To minimize the time required for defragmentation the distance moved by the read–write magnetic head between files must be minimized. Such a problem is described in a Microsoft electronic publication21 and the programs used for defragmentation are part of the Microsoft Windows operating system. All storage clusters belonging to the same file constitute a cluster in the CTSP, and the problem of minimizing defragmentation time can be directly stated as a CTSP. Examination timetabling

Figure 3 Polygonal parts showing dominant points.

In examination timetabling, the aim is to schedule examinations in time periods over several days so that there is no conflict, ie, no student can write two exams at the same time, and a number of side constraints and objectives are satisfied.22 This is usually accomplished in two phases. First, a feasible solution is constructed by means of a sequential allocation procedure possibly involving some back-tracking

G Laporte and U Palekar—Some applications of the clustered TSP

975

steps, and a post-optimization phase can then be applied. This can consist of moving exams to different periods, of applying multiple interchanges of exams or of permuting entire periods without modifying their content. The purpose of a post-optimization phase is typically to minimize occurrences of exams taken in close succession. Several versions of the examination timetabling problem exists as the rules vary among universities. Some institutions (eg, the University of Illinois at Urbana-Champaign) impose the constraint that no student can write more than two exams in the same day. A natural objective to minimize in a post-optimization phase is the number of student-exams in consecutive periods (this includes the last period of a day followed by the first period of the next day). Once a feasible solution exists, a sensible strategy is to permute periods within the same days in order to maintain feasibility, or to permute entire days. This way of operating does not alter the set of examinations taken each day. The examination timetabling post-optimization problem can then be solved as a CTSP in which each period is a vertex and each day is a cluster. An application of this approach is described by Balakrishnan et al.23

the test are actually performed. The testing procedure involves fixing one test point in a cluster and going through all points of each other cluster. To minimize test probe movement it is common to visit every point in a test cluster before moving on to the next cluster. The problem of performing the tests for a given fixed set of points can be seen to be a CTSP.

Cytology and embroidery

Computer program restructuring

Two seemingly different applications of the CTSP arise in the screening of cytological samples and in embroidery. The cytology application described by Laporte et al24 involves viewing material presented on a glass slide using a microscope. The data is first digitized into pixels (between 2500 and 55000 in a typical application). The microscope has a limited field of view, which means that a few hundreds of readings are often necessary. Also, the slide contains empty areas which do not require viewing. The problem consists of first determining a set of tiles consisting of all pixels to be examined in single viewing, and of then computing a sequence of viewings through all the tiles. The sequencing problem is a direct TSP application. However, since the cytological sample often contain smears, ie, large clusters of contiguous tiles (Figure 5), it is preferable to read these consecutively, thus giving rise to a CTSP. In practice, a trained technician identifies the smears visually in a preprocessing phase. The embroidery application is conceptually similar. A pattern often consists of points to be stitched on a canvas. Some of these points are clustered. In automated stitching processes, large areas of a pattern requiring the same colour must be stitched continuously. Integrated circuit testing When testing integrated circuits it is common to identify (usually a minimum number of) clusters of test points in such a way that by taking pairs of points from two separate clusters all possible test connections are covered. The CTSP arises once the set of clustered test points are identified and

Figure 5 Cytological sample showing smears.

Horspool and Laks25 describe the problem of restructuring the internal structure of computer programs, which are frequently executed, to minimize memory page faults and reduce execution times. Their approach involves the clustering of relocatable blocks of code followed by a resequencing of the clusters to minimize the number of times control is transferred between clusters. Given the code block clusters from the first step of their approach, the sequencing step can clearly be modelled as a CTSP. Conclusions The CTSP provides a versatile modelling tool for several operational research applications arising in a wide variety of areas. It can also be used as an intermediate step to transform the GTSP into a TSP. Acknowledgements—This research was partly supported by the Canadian Natural Sciences and Engineering Research Council under grant number OGP0039682 and by ICR funds from the University of Illinois at UrbanaChampaign. This support is gratefully acknowledged. Thanks are also due to two referees for their valuable comments.

References 1 Gendreau M, Laporte G and Potvin J-Y (1996). Heuristic for the clustered traveling salesman problem. Combinat Optim: Theory Pract 1: 41–56. 2 Chisman JA (1975). The clustered traveling salesman problem. Computers Opns Res 2: 115–119. 3 Lokin FCJ (1979). Procedures for travelling salesman problems with additional constraints. Eur J Opl Res 3: 135–141. 4 Jongens K and Volgenant T (1985). The symmetric clustered traveling salesman problem. Eur J Opl Res 19: 68–75.

976 Journal of the Operational Research Society Vol. 53, No. 9

5 Lenstra JK and Rinnooy Kan AHG (1975). Some simple applications of the travelling salesman problem. Opl Res Q 26: 717–733. 6 Laporte G, Asef-Vaziri A and Sriskandarajah C (1996). Some applications of the generalized travelling salesman problem. J Opl Res Soc 47: 1461–1467. 7 Noon CE and Bean JC (1991). An efficient transformation of the generalized traveling salesman problem. INFOR 31: 39–44. 8 Laporte G and Semet F (1999). Computational evaluation of a transformation procedure for the symmetric generalized traveling salesman problem. INFOR 37: 114–120. 9 Noon CE and Bean JC (1991). A Lagrangean based approach for the asymmetric generalized traveling salesman problem. Opns Res 39: 623–632. 10 Fischetti M, Salazar JJ and Toth P (1997). A branch-and-cut algorithm for the symmetric generalized traveling salesman problem. Opns Res 45: 378–394. 11 Gendreau M, Hertz A and Laporte G (1996). The traveling salesman problem with backhauls. Computers Opns Res 23: 501–508. 12 Liu CM (1999). Clustering techniques for stock location and order-picking in a distribution center. Computers Opns Res 26: 989–1002. 13 Hwang H and Lee M (1988). Order batching algorithms for a man-on-board automated storage and retrieval system. Engng Costs Prod Econ 13: 285–294. 14 Weintraub A, Aboud J, Fernandez C, Laporte G and Ramirez E (1999). An emergency vehicle dispatching system for an electric utility in Chile. J Opl Res Soc 50: 690–696. 15 Laporte G, Lopes L and Soumis F (1998). Optimal sequencing rules for some large-scale flexible manufacturing problems under the Manhattan and Chebychev metrics. Int J Flexible Manuf Syst 10: 27–42.

16 Stowers CL and Palekar US (1997). Lot sizing problems with strong set up interactions. IIE Trans 29: 167–179. 17 Hoeft J and Palekar US (1997). The plate-cutting traveling salesman problem. IIE Trans 29: 719–732. 18 Gilmore PC and Gomory RE (1961). A linear programming approach to the cutting stock problem. Opns Res 9: 849–859. 19 DeGraeve Z and Schrage L (1999). Optimal integer solutions to industrial cutting stock problems. INFORMS J Comput 11: 406–419. 20 Vanderbeck F (2001). A nested decomposition approach to a tree-stage, two-dimensional cutting stock problem. Mngt Sci 47: 864–879. 21 Microsoft Corporation (2000). Compound File Defragmentation. http://msdn.microsoft.com/library/books/inole/S11A4.HTM. 22 Carter MW, Laporte G and Lee SY (1996). Examination timetabling: algorithmic strategies and applications. J Opl Res Soc 47: 373–383. 23 Balakrishnan N, Lucena A and Wong RT (1992). Scheduling examinations to reduce second-order conflicts. Computers Opns Res 19: 353–361. 24 Laporte G, Semet F, Dadeshidze VV and Olsson LJ (1998). A tiling and routing heuristic for the screening of cytological samples. J Opl Res Soc 49: 1233–1238. 25 Horspool RN and Laks JM (1983). An improved block sequencing method for program restructuring. J Syst Computers 3: 245–250.

Received October 2000; accepted April 2002 after one revision