Routing heuristics for automated pick and place machines

Routing heuristics for automated pick and place machines

European Journal of Operational Research 117 (1999) 533±552 www.elsevier.com/locate/orms Theory and Methodology Routing heuristics for automated pi...

226KB Sizes 0 Downloads 25 Views

European Journal of Operational Research 117 (1999) 533±552

www.elsevier.com/locate/orms

Theory and Methodology

Routing heuristics for automated pick and place machines Reza H. Ahmadi *, John W. Mamer Anderson Graduate School of Management, University of California, 110 Westwood Plaza, Los Angeles, CA 90095-1481, USA Received 1 September 1997; accepted 1 March 1998

Abstract We examine the problem of sequencing the placements of multiple part types for a computer controlled placement machine. The problem is modeled as a collection of interdependent traveling salesman problems. A heuristic based on a space ®lling curve is shown to be easy to compute and quite e€ective. Numerical experiments show that on problems of realistic size our heuristics show very little divergence from optimality. The probabilistic analysis of the proposed heuristic indicates that the proposed heuristics are asymptotically optimal. Finally we use our heuristic to perform the sequencing operation on real placement machines. The results of this experiment are in accord with our numerical simulations. The main ideas of this study have become part of the control system currently in use in a large electronic card assembly facility that produces approximately 12,000 boards per day. Improvements in throughput of between 4% and 9% have been reported. Ó 1999 Elsevier Science B.V. All rights reserved. Keywords: Integer programming; Traveling salesman problem; Heuristics; Worst case analysis; Probabilistic analysis; Error bounds

1. Introduction We examine the problem of determining good routing policies for high speed ``pick and place'' machines. The motivation for our work is the problem encountered in the assembly of large surface mount type circuit boards. A large number of components are to be mounted on a circuit board. The components are divided into several types; components within a ``type'' are, for all practical purposes, identical. The components are

*

Corresponding author. Tel.: +1 310 825 4728; fax: +1 310 206 3337; e-mail: [email protected]

mounted by an automated placement device (perhaps a robot arm or a turret) equipped with an installation tool. The installation mechanism either picks the component from a ``tape'' or is fed from a magazine and installs the component in the appropriate place on the circuit board. Movement is accomplished by moving the circuit board underneath the placement mechanism. (The board is typically attached to a bed that moves in two dimensions.) The time to install a component consists of the installation time (a constant) and the movement time. Changing from one type of component to another may entail a change of the installation tool attached to the placement mechanism and possibly also a change of the magazine

0377-2217/99/$ ± see front matter Ó 1999 Elsevier Science B.V. All rights reserved. PII: S 0 3 7 7 - 2 2 1 7 ( 9 8 ) 0 0 2 3 1 - 8

534

R.H. Ahmadi, J.W. Mamer / European Journal of Operational Research 117 (1999) 533±552

or tape. All of these actions give rise to signi®cant setup times. Sequencing the component placements so as to minimize the total time to assemble a circuit board is the goal of our study. While our description of the placement machine is quite generic, the model we use was motivated by, and applied to, real placement machines used in a large electronic card assembly plant. Machines in the facility are the DYNAPERT (MPS500 and MPS2500) and the PANASONIC (MK1 and MK25). The results of our analysis have become part of the control system in use at this manufacturing plant. The manufacturer has reported improvements in throughput of between 4% and 9%. Several authors have considered versions of this problem. Grotzinger and Sciomachen (1988) give a detailed description of pick and place machinery and an analysis of the problem using Petri nets. Ahmadi et al. (1990) give a detailed analytical model of pick operations, concentrating on the allocation of component input feeders to components, components to tapes, and tapes to delivery carriers. The general thrust of this analysis is to optimize the setup of the machine with regard to component supply and tool availability in order to minimize setup and restocking time. Ball and Magazine (1987) consider the problem of optimizing the component placement sequence. Finally Ahmadi and Sciomachen (1990) give a detailed description of the problems of timing and concurrency for a speci®c placement machine. The main thrust of our research is to develop ecient routing procedures for pick and place machines in the presence of signi®cant delays in switching between part types. This speci®cation yields two interdependent problems, the problem of sequencing the part types for placement and the problem of scheduling the movement between sites on the circuit board. We model the problems as a collection of interdependent traveling salesman problems. Alternatively, we can view the problem as a TSP with di€erent categories of cities. Section 2 of this paper provides a detailed description of the operating characteristics of the placement machine to be analyzed, and a complete mathematical model of the placement problem. Section 3 gives a detailed account of the practical setting of the problem. In Section 4 we propose two heuris-

tics to solve the problem and in Section 5 we provide a theoretical basis for the excellent performance of these heuristics, which is demonstrated empirically by using Monte Carlo simulation in Section 6 of the paper. Section 6 also gives comparisons of our approach with other popular heuristics for the traveling salesman problem. Section 7 gives the details of the implementation of the heuristics. 2. The model Each pick-and-place machine includes a work board table, the placement arm, pick-and-place heads, component delivery (feeder reel) carrier, and tool magazines. The feeder carrier and the work board are capable of independent movements. The work board moves in the x and y directions simultaneously and positions itself under the head to perform the placement operation. The carrier, which includes the feeder reels and the tool magazine, moves in the x direction only. The head is attached to a ®xed length arm, which moves between two ®xed positions, namely the pick and placement positions for the components. Tools must be changed if a di€erent component type is to be placed on the board. Ecient utilization of the machine depends upon the e€ective exploitation of the concurrent movements involved in pick-andplace operations. The placement time of a component is given by the maximum movement of the work board, for positioning the board under the placement position of the head, and the sum of the feeder carrier movement and the head movement to placing position after the pick operation is performed. The crucial moves which are subject to optimization are the work board and feeder carrier movements. The head movements from pick position to place position and vice versa are constant. Also, as described earlier, a change of tools is usually required for the pick-and-place operations when the components belong to di€erent tool groups. Such tool changes require a considerable amount of time, signi®cantly reducing the system's productivity. For further detail and graphical representation of machine movements, the reader is referred to Ahmadi et al. (1990).

R.H. Ahmadi, J.W. Mamer / European Journal of Operational Research 117 (1999) 533±552

The following issues are of primary important in the modeling of the carrier staging and placement sequencing problems: Tool change time: Tool changes represent unproductive time and degrade the throughput rate of the system considerably. During the tool changes all other functions of the machine come to a halt; therefore components belonging to a tool group should be inserted in sequence, avoiding unnecessary delays. Multiple placement from a feeder reel: Quite often a Printed Circuit Board (PCB) requires more than one placement from a given feeder reel, i.e. multiples of a component type must be placed on the board. To reduce the feeder carrier movement it is desirable to dispense these components in series, thereby eliminating the need for the extra feeder carrier movements. This in turn places a restriction on the placement sequences of the components on the board. Where appropriate, we will use this restriction to simplify our calculations. Feeder carrier movement: Reducing the absolute movement of the feeder carrier is a desirable characteristic. This engineering consideration motivates the development of the speci®c solution approach for positioning of the feeder reels on the feeder carriers to as ``oriented'' positioning. An oriented positioning of the feeder reels is one in which all the required movements, for components in the same tool group, are accomplished by changing the direction of feeder carrier movement only once. Feeder carrier and work board speed: Compared to the work board, movements of the feeder carrier are moderately slower. This is due to the much larger weight that is moved by the carrier. In our analysis we have assumed that time is a linear function of the distance to be moved, where the distance is obtained from a metric which satis®es the triangle inequality. This is a reasonable assumption for small boards for which the distances to be traveled are moderate and the machines do not require signi®cant times for acceleration and deceleration. We will, however, take into account the di€erences in the speeds of the feeder carrier and work board. In view of these considerations it makes sense to develop specialized models for placement sequencing and feeder positioning. It is the place-

535

ment sequencing problem which concerns us in this paper. For modeling purposes we conceive the placement machine as a collection of part carriers (tapes), a pick and place mechanism (arm or turret), and a movable bed to which the circuit board is attached. The bed can move independently of the pick and place mechanism at a deterministic rate in the x and y directions (also independently). The placement device only moves in one direction, from a ®xed point over the circuit board to the part magazine and back. Part installation proceeds as follows. If necessary, a new part tape is brought into position adjacent to the placement device. The placement device moves to the part tape and picks up the component to be installed. Simultaneously the bed begins to move the circuit board to position the placement point below the point at which the placement device will stop as it returns to the board. Once the board is in position and the placement device has returned, the device lowers the component onto the board and installs it. The parts to be inserted into the circuit board are divided into di€erent types and may require di€erent placement tools. Parts of the same type reside on the same tape and require the same placement tool. Changing between parts in the placement process entails a delay. The time to complete one placement, pick up a part and move to the next placement site depends on the distance between the placement sites and the cycle time of the placement device. The cycle time of the placement device is constant (except when changing between parts) and very short (burst rates as high as 12,000 placements per hour are reported in Ahmadi and Sciomachen (1990). We ignore the cycle time of the placement device and concentrate on the time to move between placement sites and the time to switch between part types. The delays due to tool and carrier switching may be either very long (several times as long as the longest board positioning delay) or of a duration similar to the delay to move the board between placement sites. In the former case it is reasonable to restrict attention to policies that insert all of one part type at a time. In the latter case it may be economical to switch back and forth between part types several times during the placement process.

536

R.H. Ahmadi, J.W. Mamer / European Journal of Operational Research 117 (1999) 533±552

For our basic model the switching times are large; we therefore restrict our attention to policies which sequence all of one type of part at a time. In reality this is a special case of the model that allows costly switch-overs. Our goal is to ®nd a sequencing of part types, and a sequencing of placement sites for each part type that minimizes the time to insert all the components in the circuit board. We suppose that there are m types of parts, and there are ni of type i; i ˆ 1; . . . ; m: In practice, the Pm number of components can be quite large, iˆ1 ni in the range 500±1000. Let ni denote the position (x and y coordinates) of the ith placement site. Let sij denote the time lost in switching between parts i and j and cij the time to move from site i to site j. Let Nk denote the set of indices corresponding to placement sites requiring a part of type k; k ˆ 1; . . . ; m: We shall assume henceforth that all of the n's are distinct (two components cannot be located at the same site), and that they are numbered consecutively by part type, hence N1 ˆ fn1 ; . . . ; nn1 g; N2 ˆ fnn1 ‡1 ; . . . ; nn1 ‡n2 g; . . . ; : De®ne N ˆ [k Nk ; ; nk ˆ jNk j;

and



m X

ni ˆ jN j:

iˆ1

The calculation of cij and sij will depend on the mechanical details of the placement machine. For our purposes the time to move between two placement points for components on the same carrier is max…sij ; 2d† where sij is the time to reposition the board and 2d the time for the placement arm to move to the carrier and back. If the parts reside on di€erent carriers then the time is max…sij ; g ‡ d†, where g is the carrier movement time. The time to move between sites, sij , is a function of the distance between the two cites. Two plausible models of movement time are sij ˆ akni ÿ nj k and sij ˆ a max…jni1 ÿ nj1 j; jni2 ÿ nj2 j†: Under the former assumption the movement time is proportional to the Euclidean distance between

the sites; in the latter the movement time depends only on the longest movement (in the x or y direction). We can incorporate all of these calculations in our model by taking cij ˆ max…sij ; 2d† and sij ˆ 0 if ni and nj correspond to parts located on the same carrier and cij ˆ max…sij ; 2d† and sij ˆ ‡ …max…sij ; g ‡ d† ÿ max…sij ; 2d†† if they do not. We seek a tour through the point n1 ; . . . ; nn which minimizes the total time to complete all placements, and starts and returns to the placement device's resting position. Any optimal tour for this problem will visit each placement site exactly once but need not return to its point of origin, and hence must correspond to a Hamiltonian path with free end points. We can make use of the standard representation of the Traveling Salesman Problem (TSP) to give a mathematical formulation of the optimization problem. In what follows, the term ``TSP path'' is used to indicate the optimal solution to a traveling salesman problem with both the beginning and end point chosen freely. By a ``®xed end point TSP path'' we mean the optimal solution to a traveling salesman problem in which the initial and terminal cities have been speci®ed, and we call the usual minimal cost Hamiltonian circuit a ``TSP tour''. The mathematical statement of our routing problem is as follows: XX ‰cij xij ‡ sij yij Š …1† min i2N j2N

s:t: X xij ˆ 1;

i 2 N;

…2†

j 2 N;

…3†

j2N

X xij ˆ 1; i2N

XX

xij 6 jSj ÿ 1 8S  N ; S 6ˆ ;;

…4†

i2S j2S

xij 6 yij X

8k; l 6 n; i 2 Nk ; j 2 Nl ; k 6ˆ l;

…5†

yij ˆ m ÿ 1;

…6†

f…ij†;i2N ;j2N ;i6ˆjg

xij 2 f0; 1g; yij 2 f0; 1g;

i 2 N; j 2 N; i 2 N; j 2 N;

…7† …8†

where xij ˆ 1 if the placement tool moves from i to j and 0 if not;

R.H. Ahmadi, J.W. Mamer / European Journal of Operational Research 117 (1999) 533±552

yij ˆ 1 if the move from i to j involves a change of part type and 0 otherwise: Problem (1) states the situation in the most general terms; constraints (6) ensure that all parts of a single type are inserted consecutively and a cost sij is incurred upon switching between part types (the switching cost may depend on the identities of the parts). Constraints (4) are the standard ``loop breaking'' constraints associated with the traveling salesman problem. The problem is to choose a sequence of m free-endpoint traveling salesman tours. The constraints (6) ensure that there are at most m ÿ 1 switches between part types. The order in which these tours are traversed determines the insertion sequence for the components. The cost cij is incurred when moving between cites within a tour; the cost sij is incurred when moving from the end of one tour to the beginning of the next. This restricted problem is the one commonly encountered in our experience. One could easily imagine a situation where the insertion sequence is not restricted to progress one component at a time, where switches could be made back and forth between component types during the insertion process. The diculty with such a plan, given the current state of technology, is the time lost in switching between the tool magazines and part tapes (the set up time of the part tapes is many time longer than the longest delay between insertions). Fig. 1(a) shows the locations on the di€erent components on a hypothetical board. Fig. 1(b) shows the insertion sequences made up of a sequence of tours, one for each part type (the part types are indicated by the di€erent symbols used in the ®gure). The literature in the area of the Traveling Salesman Problem is quite vast and the TSP problems appear in a variety of settings and diverse applications. A signi®cant number of optimum and near optimum procedures have been developed to solve realistic sizes of this problem and its numerous variations. Lawler et al. (1990) provide an excellent review of the work in this area. Some of the recent work in this domain includes that of Bozer et al. (1990), Steele (1990), Gendreau et al. (1992), Noon and Bean (1991), Lee and Choi (1994), Deinkeko et al. (1994), Gaboune et al. (1994a, b), and Laporte et al. (1988).

537

Recent developments in general search technique for the TSP problem include the work of Knox (1994), Fiechter (1994), Johnson and McGeoch (1997), and Burke (1994). For approaches to clustered TSP see Gendreau et al. (1992). 3. The problem setting Several aspects of the practical environment in which circuits boards are produced have had a strong impact on the analysis that follows. The intended arena of implementation is in large scale printed circuit board assembly facilities. A typical facility may operate more than 50 machines in a single plant. Such plants produce many di€erent items (as many as 40 di€erent product families) and the individual placement machines are set up each time a new batch of boards is to be produced. At the time of product change-over, each workstation (placement machine) is reprogrammed with the new product's placement sequence. This heterogeneity of product creates many small setup within the factory as di€erent product families are assembled. The frequent set ups are only practical if they can be done quickly. A single board may require as many as 500 placements. Boards are currently processed in panels consisting of two boards yielding 1000 placements to be sequenced. Clearly, the sequencing problem results in traveling salesman problems of non-trivial size. In this setting it is important to have routing heuristics that can be executed quickly within the computing environment available to the machine operator. Given the high volume of boards processed at the plant and the fact that the individual placement machines will be reprogrammed in a decentralized fashion (responding to changes in the product mix), it is important to understand something of the performance of our proposed heuristics. In Sections 4 and 5, we will discuss three heuristics and give a limited theoretical analysis of their performance. 4. Solution procedures It is evident from our construction that the optimization problem (1)±(8) is NP-complete.

Fig. 2.

R.H. Ahmadi, J.W. Mamer / European Journal of Operational Research 117 (1999) 533±552

Fig. 1. (a) Position of component type. (b) A sample placement sequence.

538

R.H. Ahmadi, J.W. Mamer / European Journal of Operational Research 117 (1999) 533±552

Even with a ®xed schedule of part types, the problem of sequencing the placements is a collection of interdependent traveling salesman problems. In the case for which switching costs dominate movement costs and movement and switching can be done in parallel, ®xing the part sequence decomposes the problem into a collection of m independent traveling salesman problems (with free end points). Since the problem sizes encountered in practice are quite large, it seems reasonable to attempt to obtain good routing patterns by solving the subproblems using a TSP heuristic and then linking the sub-tours together. There are two natural approaches to constructing heuristics: to ®nd an optimal placement sequence for each part type and then patch the part sequences together, or to ®nd an optimal (in terms of switch over cost) sequence of part types and then optimize the sequencing of part placements. These two ideas form the basis for our ®rst two heuristics. Heuristic 1. 1. Calculate an optimal TSP tour connecting the sites for each part type. 2. Patch the tours together. Step 2 of Heuristic 1 can be done in a number of ways. One way is to choose the sequence of the tours based on the distance or cost of moving between the endpoints of the tours. Stated in other words, to patch the tours together so as to minimize the total switching cost, assuming that switchovers occur only at the endpoints of the tours calculated in Step 1. For very large problems it may be dicult or too time consuming to ®nd provably optimal tours in Step 1 of the heuristic. In this case, good sub-optimal tours can be found using a variety of accurate heuristic methods. Even in the best possible situation (wherein the tours are computed optimally) Heuristic 1 fails to optimize the problem because Step 1 does not take into account that the tours will be patched together, and Step 2 treats the tours as ®xed. Heuristic 2 takes a diametrically opposite approach, sequencing the part types ®rst and then sequencing the sites for each part type.

539

Heuristic 2. 1. Construct a graph with nodes corresponding to the part types and an arc between two nodes if the two part types can be scheduled in sequence. The length of each arc is taken to be the total time to switch between the part types assuming that the switchover occurs at the closest pair of sites. Find a TSP tour for the part types (with open end points). 2. Step 1 ®xes a sequence of types and a beginning and ending site within each type. For each part type, ®nd a tour beginning and ending at the sites speci®ed in Step 1 which minimizes the distance traveled. When the beginning and ending site are the same, then we remove the last arc of the tour (creating an acyclic path) and use the resulting beginning and ending points to patch the tours together. The main practical drawback of Heuristics 1 and 2 is the need to solve (potentially) large traveling salesman problems. For the problem setting we envision, there are strict limitations on the computational resources and the time available for computation of the insertion sequence during product change-over. Our third heuristic approach to the TSP will allow us to ®nd good solutions to the type sequencing and placement sequencing problems. This heuristics o€ers a fast way to compute accurate TSP tours for the placement sequence for each part type. De®ne the space ®lling curve / mapping the unit interval onto the unit square. The use of space ®lling curves as an approach to solving traveling salesman problems has been documented in Platzman and Bartholdi (1989). Let /ÿ1 …n† denotes the point on the unit interval associated with the point n. Our approach is to sequence the part placements according to the order of appearance of their pre-images under the space ®lling curve. For a single part type a closed tour through the placement sites is obtained by visiting the sites in the order in which their pre-images under / appear in the unit interval. The path is closed by connecting the last site visited with the ®rst site. This approach takes advantage of the fact that the space ®lling curve may as well as be viewed as a mapping of the unit circle onto the unit square, the

540

R.H. Ahmadi, J.W. Mamer / European Journal of Operational Research 117 (1999) 533±552

points 0 and 1 of the unit interval mapping into the same point in the unit square. Thus each placement sequence can be represented by a sub-interval of the unit interval. We explore several possible approaches to improving the space ®lling curve heuristic in our implementation; however, this simple speci®cation of the space ®lling curve based heuristic suces for our theoretical analysis. For other interesting approaches one might refer to strip sequencing strategies by Gaboune et al. (1994a, b). The space ®lling curve allows us to identify a sequence for the placements of parts of the same type with the traversal of an interval (or an arc) in the unit interval. The problem of sequencing the part types is now that of ®nding the cheapest way to traverse the required arcs, starting and ending at the placement device's resting position. If we think of the arcs representing the placement of the components as embedded in a complete graph by adding new arcs connecting the end points of the original arcs to each other, then the part type sequencing problem can be seen to be a variant of the rural postman problem. The costs of the added arcs represent the switch-over time between part types. In general, the rural postman problem is NP-complete (see Garey and Johnson, 1979), however, the RPP generated by the space ®lling curve heuristic is of modest size ± the number of arcs to be traversed is equal to the number of part types. In the special case in which the switch-over cost is a linear function of the Euclidean distance between the last part of one type and the ®rst part of the next, the costs of the arcs connecting the insertion sequences can be approximated as the length of those arcs along the unit interval. In general, the costs of those arcs added to represent switch-overs between part types can be used to model a variety of switch-over costs and hence will have a complex (non-Euclidean) structure. Heuristic 3. 1. Calculate the inverse image of each placement site under /ÿ1 . 2. For each part type, ®nd the minimal arc on the unit interval covering the pre-images of the placement sites under /. 3. Construct a rural postman problem from the

arcs constructed in Step 2. Add a set of arcs, with lengths equal to the switch-over costs connecting the end points of the existing arcs. Solve the rural postman problem on the resulting graph. 4. Sequence the parts and placements in the order that they appear in Step 3 above. The steps in Heuristic 3 are illustrated in Fig. 2. Heuristic 3 can be viewed as a modi®cation of Heuristic 1 in which the TSP paths for each part type are replaced by the part sequences obtained from following the space ®lling curve. The curve determines the order in which the parts will be inserted, the solution to the rural postman problem attempts to ®nd good sequences of part types. For a heuristic solution procedure for the rural postman problem see Ball and Magazine (1987). Both Heuristics 1 and 2 sacri®ce some optimality in pursuit of eciency. Heuristic 2 fails to optimize since the end points of the placement sequences for each type are chosen only to minimize the cost of switch-over, not the total cost. However, it is also easy to bound the worst case behaviour of Heuristic 2 to no more than twice the true optimum. To see this, note that the true optimum is bounded below by the sum of the lengths of the TSP paths for each of the component types plus the length of the minimum cost component switch-over sequence. The open end point paths can be converted to tours of a single arc. The true optimum is smaller than the sum of the TSP tours plus the minimal cost switch-over sequence. By the triangle inequality the added arcs are no longer than the length of the original tour, giving a bound on the total heuristic tour length of twice the optimal solution value. The probabilistic analysis of Heuristics 1 and 2 is quite encouraging. Under various assumptions about costs, both Heuristic 1 and Heuristic 2 are asymptotically optimal in a probabilistic sense. For Heuristic 3, we will show that under the appropriate assumptions (satis®ed by our model) the loss due to using the space ®lling curve instead of the TSP tour is asymptotically small. First we state our probabilistic model of the problem and de®ne precisely how we will let instances of the problem ``grow''. In particular, it

R.H. Ahmadi, J.W. Mamer / European Journal of Operational Research 117 (1999) 533±552

was felt that a realistic model of problem growth entailed a ®xed number of component types and an increasing number of components of each type. Let bxc denote the largest integer not greater than x. These quality results are particularly important in our problem setting since there are a great number of problems to be solved and each problem is rather large. It is particularly encouraging that the space ®lling curve heuristic does well, in light of the fact that this heuristic is very cheap to compute. 5. Analysis of the performance of the heuristics The random part Pmplacement model: Given constants a1 ; . . . ; am ; iˆ1 ai ˆ 1, an instance of the problem of size n is given by a sequence of num; Nm …n† ˆ bam nc, where bers, N1 …n† ˆ ba1 nc; . . .P Ni …n† > 1 and Nn ˆ miˆ1 Ni …n† denote by n1 …n†; . . . nNn …n† a set of independent and identically distributed uniform random variables in …0; 1†  …0; 1†. The ni denote the locations of the parts, Nn parts, Ni …n† denotes the number of parts of type i in instance n. For simplicity, we assume that the problem grows in the incremental fashion (see Weide, 1978); variables common to instances of size n and n ‡ 1 are identical. Note that since Ni …n† ˆ bai nc, however, it is clear that Ni …n†=…ai n† ! 1. Let H1n denote the value obtained from an application of heuristic 1, let H2n denote the value obtained from an application of Heuristic 2, and let V n denote the optimal value. Once the probabilistic growth of the model has been speci®ed, it remains to specify the cost structure. We shall analyze Heuristics 1 and 2 under three cost assumptions, ®rst that the delays in moving between placement sites are proportional to the Euclidean distance between the sites, second that the delays are proportional to the maximum of the moves in the x and y directions, and ®nally that the delay in moving between sites has a ®xed positive minimum due to the time used by the placement tool to move to and from the carrier (this is re¯ected in the de®nition of cij in Section 2). Since a TSP path with open end points can be converted to a TSP path with arbitrary ®xed end points by adding at most two arcs, it is

541

clear that the asymptotic growth rates for these two problems are the same. Proposition 1. Under the incremental growth model, for l ˆ 1 or 2, assuming that for some constant c; cij ˆ cknni ÿ nnj k;   Hln 1 1 6 n 6 1 ‡ O p ; l ˆ 1; 2 V n almost surely. Proof. Without loss of generality we may assume c ˆ 1:0: Let Lni denote the length of the TSP path through the sites associated with part type i; i ˆ 1; . . . ; m. Since the costs are given by the Euclidean distance between the sites, it follows from the results for Euclidean TSP problems that Lni Lni p  ˆ p !c Ni …n† bai nc and hence Lni !c p ai n

…9†

with probability 1 for some constant c (see Lawler et al., 1985, Ch. 6). Heuristic 1 proceeds by connecting the TSP paths together. Thepcost  of connecting the paths is at most …m ÿ 1† p 2 (since no arc can have length greater than 2). Thus the cost of the path generated by Heuristic 1 is easily bounded:   m X p n n Li ‡ …m ÿ 1† 2 ‡ max sij : H1 6 iˆ1

ij

The procedure speci®ed in Heuristic 2 solves a ®xed end point TSP path problem for each part type. It is easy to see that the free end point TSP path can be converted to a path with arbitrary ®xed end points by adding at most two new arcs and deleting at most two old p arcs.  This will increase cost by no more than 2 2. Moreover, the cost to connect the paths through the sites is p bounded above by …m ÿ 1† 2… maxij sij †. Combining these observations yields H2n 6

m X iˆ1

p Lni ‡ …m ÿ 1†…2 2 ‡ max sij †: ij

542

R.H. Ahmadi, J.W. Mamer / European Journal of Operational Research 117 (1999) 533±552

p Let Km ˆ …m ÿ 1†…2 2 ‡ maxij sij † and rewriting yields V

n

6 Hin

m X 6 Lni ‡ Km ;

…10†

iˆ1

Pm which, combined with the fact that iˆ1 Lni 6 V n , yields Pm n Pm n Hn L ‡ Km L ‡K Pm i n m : 1 6 in 6 iˆ1 in 6 iˆ1 V V iˆ1 Li An application of (9) yields, almost surely,   Hin Km 1 1 6 n 6 1 ‡ Pn p ˆ 1 ‡ O p : V c… iˆ1 ai n† n



When the cost of moving from one placement point to the next is proportional to the maximum coordinate distance between the two sites, the result follows in a nearly identical fashion. Denote the Euclidean metric on R2 by kxk and the ``max coordinate'' metric by kxkmax ˆ max…x1 ; x2 †. Corollary 1. Under the incremental growth model, for l ˆ 1 or 2, assuming that, for some constant c cij ˆ cknni ÿ nnj kmax ,   Hn 1 1 6 ln 6 1 ‡ O p ; V n almost surely. Proof. The result will follow in a fashion identical to the proof of Proposition 1 if we can show that Eq. (9) holds under the metric k  kmax . To this end let T n …n1 ; . . . ; nn † denote the length of the TSP path through the points n1 ; . . . ; nn . It is easily veri®ed that T is a monotone, Euclidean functional on R2 , and has ®nite variance. If follows from Theorem 2 of Steele (1990) that, for some constant cmax Tn p ! cmax n which in turn implies that (9) holds.



We can sharpenpthe  result of Corollary 1 by observing that kxk= 2 6 kxkmax 6 kxk. To see this take x ˆ …x1 ; x2 † with x1 6 x2 . Hence for some h P 1 we will have x2 ˆ hx1 . It is clear that kxkmax 6 kxk. Combining these facts gives

kxk ˆ kxkmax

q x21 ‡ h2 x21 hjx1 j

p r 1 1 ‡ h2 ˆ ˆ ‡ 1: h h2

This last expression is decreasing in h and so reaches its maximum at h ˆ 1. Hence 16

p kxk 6 2 kxkmax

which implies that the constants c from Theorem 1 and p cmax from the corollary are related by c= 2 6 cmax 6 c. When there is a lower bound on the time to move between sites, then the assumptions of the Euclidean traveling salesman problem are not met. In this case we can obtain a stronger convergence result. Proposition 2 gives a bound on the worst case asymptotic error; it therefore does not depend on the incremental growth model assumptions of Proposition 1 and Corollary 1. Proposition 2. Let Hln (for l ˆ 1 or 2) and V n denote the heuristic values and optimal values for an instance of the problem with n parts. Assume that there is a constant c such that cij ˆ c maxfknni ÿ nnj k; dg, then   Hln 1 : 16 n 61 ‡ O V n Proof. By construction, we have that Vn P d…Nn ÿ 1† (recall that Nn is the total number of parts in a problem instance of size n). Starting with Eq. (10) of Proposition 1, V n 6 Hin 6

m X iˆ1

Lni ‡ Km :

Applying the lower bound yields Pm n Pm n Hin L ‡ Km iˆ1 Li ‡ Km : 6 iˆ1 i 16 n 6 n V V d…Nn ÿ 1† We shall show that the Lni ; i ˆ 1; . . . ; m; are bounded above by a function that grows propor. .. ; m. Choose a ®xed tionally to …Ni ÿ 1†d; i ˆp1; integer ld so that ld P 2=d. Partition the unit square into l2 identical sub-squares. Given any collection of n points x1 ; . . . ; xn we may construct a TSP path by connecting the points in each sub-

R.H. Ahmadi, J.W. Mamer / European Journal of Operational Research 117 (1999) 533±552

square so as to form a TSP path within the subsquares, and then connecting the sub-paths arbitrarily to form a path through all the points. By construction, the arcs of the path incident to points in the same sub-square are of length no greater than d. There are at most l2d ÿ 1 arcs which connect points in di€erent sub-squares,peach of  these arcs with length bounded above by 2. If we let Qn denote the length of the path so constructed we have p Qn 6 …n ÿ 1†d ‡ …l2d ÿ 1† 2: Applying this construction to the parts of each type separately yields for each i p Lni 6 …Ni …n† ÿ 1†d ‡ …l2d ÿ 1† 2: Thus m X iˆ1

Lni 6 d

m X p Ni …n† ‡ m…l2d ÿ 1† 2 iˆ1

ˆ d…Nm ÿ m† ‡ m…l2d ÿ 1†: Combining this fact with the previous inequality and the fact that Vn P d…n ÿ 1† yields Pm n Hin L ‡ Km 1 6 n 6 iˆ1 in V V p …Nn ÿ m†d ‡ m…l2d ÿ 1† 2 ‡ Km : 6 d…Nn ÿ 1† The result follows since Nn ! 1: n



A similar result holds for the ``lower bounded'' metric derived from the max coordinate metric. Both Heuristics 1 and 2 require solving m traveling salesman problems, one for each component type. In practice, these component TSP's may be very large. Neither Heuristic 1 nor 2 attempts to optimize placement sequencing and part type sequencing simultaneously. While this latter simpli®cation does not hurt the probabilistic performance of the heuristics, and is not a major source of error when the switch-over costs are very large (since the time to switch-over will dominate the time to reposition the placement tool), it may become a factor in practical problems when

543

switch-over costs are small and the time spent in repositioning the placement tool is a large proportion of the total time to switch between part types. In light of Propositions 1 and 2, the only additional error (in an asymptotic sense) comes from inaccuracies in the TSP heuristic. Platzman and Bartholdi (1989) give a complete analysis of the performance of the space ®lling curve heuristic for the TSP. In the Euclidean case, if we denote by S n the length of the space ®lling curve tour through n points in R2 and Ln the length of the TSP tour, it is known that for the worst case Lns =Ln ˆ O… log …n††. For the probabilistic Euclidean model Platzman and p Bartholdi show that S n is asymptotic to  0.956 n. In the special case wherein the cost of moving between locations entails a ®xed lower bound (the situation described in Proposition 2), we can improve on the known worst case results for the space ®lling curve heuristic. This case is particularly important for our problem because it ®ts the automated assembly process well. Typically, the time to move the insertion arm from one location to another has a ®xed and a variable component. The ®xed component of this time does not depend on the distance to be moved. In this case, when components are tightly clustered the ®xed component of the movement time outweighs the variable component. Our approach to this proposition uses the Lipschitz properties of the space ®lling curve to exploit this last observation. Proposition 3. Let S n denote the length of the path determined by the space ®lling curve heuristic through the n points x1 ; . . . ; xn in the unit square. Let Ln denote the optimal TSP path length through these same points. If the cost of moving from xi to xj is given by cij ˆ c maxfd; kxi ÿ xj kg, where c is a ®xed constant, then 16

Sn 6 1 ‡ O…1=n†: Ln

Proof. A space ®lling curve, / mapping [0, 1], onto 2 ‰0; 1Š can be chosen so as to satisfy an order 1/2 Lipschitz property: pthere is a constant c such that k/…x† ÿ /…y†k 6 c jx ÿ yj (see Steele, 1990; Platz-

544

R.H. Ahmadi, J.W. Mamer / European Journal of Operational Research 117 (1999) 533±552

man and Bartholdi, 1989). Choose points evenly spaced in the interval ‰0; 1Š 0 ˆ t0 6 t1 6    6 tK ˆ 1 where K ˆ bc2 =d2 ‡ 2c so that ti ÿ tiÿ1 6 d2 =c2 , and i ˆ 1; . . . ; K: For each point nni we can choose a point in [0, 1] given by zni ˆ /ÿ1 …xni † for i ˆ 1; . . . ; n and set znn‡j ˆ tj for j ˆ 1; . . . ; K and z0 ˆ t0 ˆ 0. If we then order the points zni so that 0 ˆ z…0† 6 z…1† 6    6 z…n‡K† ˆ 1, we can construct a tour which traverses the path …/…z…0† †; /…z…1† †; . . . ; /…z…n‡K† †. This amounts to traversing the points in the order in which they are visited by the space n ®lling curve /. Let S^ denote the length of the constructed tour. Since the triangle inequality holds for cij (e.g. cij 6 cik ‡ ckj ) it must be true n that S^ P S n . Now, by the Lipschitz property of / for any pair …z…i† ; z…i‡1† †, we have that n k/…z…i† † ÿ /…z…i‡1† †k 6 d; so L^ 6 …n ‡ K†d. Combining these results yields n

Ln 6 S n 6 S^ 6 d…n ‡ K†: Since we have also that …n ÿ 1†d 6 Ln we may now conclude n S n S^ …n ‡ K†d n K 6 ‡ ; 16 n 6 n 6 L L …n ÿ 1†d nÿ1 nÿ1

which establishes the result.



Proposition 3 indicates that, in the case in which there is a minimum transit time for the placement tool, the heuristic based on the space ®lling curve is asymptotically optimal in the worst case. This result may provide an explanation for the observed good performance of the space ®lling curve on practical problems, many of which satisfy this assumption. Of course, the optimality of the space ®lling curve based heuristic for the TSP implies that the heuristic solution approach to the placement sequencing problem based on it is also asymptotically optimal. Corollary 2. Under the assumptions of Proposition 3, if H3n denotes the cost of the part sequence obtained from Heuristic 3, we have that for any instance of the part placement problem with n parts,   Hn 1 : 1 6 3n 6 1 ‡ O V n

Our theoretical results indicate that all of the proposed heuristics are quite accurate. The accuracy of the heuristics is important in this case because of the high production rates involved in the process. A small reduction in the time taken to assemble a board, achieved by ®nding a more ef®cient insertion sequence, will have large economic consequences because it will be applied to thousands of boards. In the next section we will further test our heuristics with simulation of the operating environment. 6. Computational results 6.1. Solution quality We tested the heuristics analyzed in the previous section on a collection of random problems whose structure was based on our understanding of practical circuit board assembly problems. Subsequently the heuristics were implemented on actual machines. The random problems adhere closely to the assumptions of the analysis of the previous section, and allow us the ability to generate problems with controllable size and density. As a result they give us a picture of how the performance of the heuristics changes as the problem attributes change. The practical implementation, while lending credence to our results, allows for no such ®ne control, but serves to indicate consistency between the simulation and reality. The major characteristics of the circuit boards to be populated are: 1. The boards assembled are 1000 ´ 1400 . Typically, two boards make up a panel, and the system processes one panel at a time. 2. Both sides of the boards are populated. The sides are referred to as top side and back side. The back side mainly contains the smaller components, such as capacitors, resistors, diodes, transistors, and transformers, which are referred to as Passive Components. The top side usually contains chips and larger processors referred to as Active Components. 3. The maximum number of components on the top side and back side is approximately 300 each. The components on the top side may be-

R.H. Ahmadi, J.W. Mamer / European Journal of Operational Research 117 (1999) 533±552

long to 50 di€erent component types, while components on the back side may belong to as few as 5 di€erent types. 4. Component positions are scattered on the board and there is some clearance distance between the components. This distance allows for the head of the pick-and-place machine to meet some minimum clearance and for component dispensing requirements. Also, components are placed approximately 0:2500 away from the edge of the circuit board. This margin is required for a minimum grip space. Based on the above observations, we generated sample problems with various sizes: A. The number of components to be placed on each side of the board was set to be 150, 200, 250, and 300; a panel consequently had 300, 400, 500, and 600 components. B. The number of part types ranged from 5 to 50 by increments of 5, totalling 10 di€erent values. C. Components were assigned randomly and uniformly to part types.

D. Coordinate positions of the components on the board were generated independently and randomly from the continuous two dimensional uniform distribution U …0:5; 13:5†  …0:5; 9:5†. E. The cost (time) to move between placements and between part types was assumed to be a linear function of the distance traveled (with a Euclidean metric). Overall, 200 di€erent problem types were generated. For each problem dimension we report the result of solving 5 problems. Table 1 reports the computational results for the top side, where the number of part types is larger. Table 2 reports our results for the back side experiment. The lower bound used to analyze performance of all the procedures was obtained by adding the minimum cost of the shortest, open ended, TSP paths and the minimal length collection of connecting arcs. We also experimented with several simple procedures to improve the quality of the heuristic solutions. For Step 2 of Heuristic 1 we attempted to ®nd an optimal patching of the paths generated

Table 1 Computational results for top side placement No.

No. types

No. comp.

H2

H1

H3

H3 I

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

30

300 400 500 600 300 400 500 600 300 400 500 600 300 400 500 600 300 400 500 600

1.027 1.034 1.041 1.037 1.029 1.035 1.041 1.028 1.033 1.031 1.025 1.019 1.022 1.017 1.026 1.039 1.025 1.028 1.021 1.024

1.026 1.036 1.038 1.034 1.031 1.027 1.037 1.030 1.037 1.034 1.029 1.024 1.025 1.023 1.024 1.028 1.031 1.030 1.028 1.025

1.088 1.095 1.079 1.103 1.069 1.089 1.094 1.075 1.066 1.083 1.079 1.081 1.074 1.069 1.080 1.096 1.073 1.104 1.086 1.078

1.035 1.031 1.032 1.024 1.027 1.029 1.035 1.027 1.031 1.028 1.024 1.022 1.024 1.025 1.028 1.031 1.027 1.026 1.026 1.032

1.029 1.011±1.062 109 46±142

1.030 1.013±1.058 111 39±159

1.083 1.036±1.127 22 11±57

1.028 1.019±1.053 31 23±69

Average Range (D) Time Range (T)

35

40

45

50

545

546

R.H. Ahmadi, J.W. Mamer / European Journal of Operational Research 117 (1999) 533±552

Table 2 Computational results for back side placement No. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Average Range (D) Time Range (T)

No. types 5

10

15

20

25

No. comp.

H2

H1

H3

H3 I

300 400 500 600 300 400 500 600 300 400 500 600 300 400 500 600 300 400 500 600

1.031 1.061 1.038 1.026 1.018 1.034 1.029 1.042 1.035 1.024 1.037 1.027 1.041 1.030 1.036 1.033 1.025 1.028 1.025 1.036

1.029 1.032 1.025 1.027 1.021 1.026 1.034 1.027 1.032 1.019 1.033 1.027 1.036 1.025 1.026 1.032 1.028 1.018 1.026 1.029

1.091 1.081 1.089 1.076 1.084 1.092 1.073 1.088 1.077 1.069 1.093 1.068 1.078 1.082 1.066 1.074 1.089 1.091 1.069 1.082

1.026 1.041 1.039 1.031 1.026 1.033 1.034 1.035 1.037 1.025 1.029 1.036 1.023 1.037 1.032 1.029 1.030 1.029 1.032 1.027

1.033 1.012±1.053 123 25±155

1.028 1.011±1.049 117 32±143

1.081 1.038±1.122 19 11±38

1.032 1.014±1.044 28 16±41

for each part type. We also experimented with improvements to the insertion sequences generated by the space ®lling curve. We improved the basic placement sequence obtained from the space ®lling curve by eliminating those places where the placement sequence path crossed over itself (the triangle inequality ensures that such crossovers can be eliminated and reduce the length of the path). We also performed a 2-opt procedure to the path. The success of these procedures was so signi®cant that we decided to show the path lengths for both the unimproved and the improved space ®lling curve heuristic. The ®rst three columns of Tables 1 and 2 give the problem number (No.), the number of components types (No. types.) and the number of components (No. comp.). The next four columns give, respectively, the ratio of the length of the placement sequence generated by Heuristic 2 to the lower bound (H2 ), the length of the insertion sequence generated by Heuristic 1 to the lower

bound (H1 ), and the ratios of the lengths of the unimproved (H3 ) and improved (H3 I) insertion sequences generated by the space ®lling curve heuristic. The average and the range of error and computational times (Average, Range (D) and Time, Range (T)) are also reported. All three heuristics performed quite well. Generally performance improved as the number of components per type increased; this is in accord with our theoretical results. Note also that Heuristic 1 outperformed Heuristic 2 on problems with many parts and few part types. The average error (percent by which the heuristic exceeded the lower bound) of Heuristic 2 was 2.9% and for Heuristic 1 it was 3.0% for the ``top side'' experiment; the respective errors were 3.3% for Heuristic 2 and 2.8% for the back side. The performance of the space ®lling curve based heuristic is especially signi®cant in light of its relative ease of computation. Both Heuristics 1 and 2 require solving a collection of TSP's. This computational step may become in-

R.H. Ahmadi, J.W. Mamer / European Journal of Operational Research 117 (1999) 533±552

tractable for large problems. On the other hand, the space ®lling curve heuristic requires less computational time. When improved by eliminating crossings and the 2-opt procedure, it produced an average error of 2.8% and 3.2% for the top side and back side experiments respectively. 6.2. Numerical comparisons with TSP heuristics In this subsection, we compare the quality of the solutions obtained from the procedures developed in the earlier sections with those available in the literature. In the ®rst part of the experiment, we compare the results of our two steps procedure with some of the heuristics in the literature. In the second part, we use some of the procedures available in the literature as part of our two steps procedure. In our comparisons we only report the quality of the solutions obtained. However, for the comparisons to be reasonable, we impose a limit on the computation time allowed for any one of

547

the procedures used. The time limit allowed is obtained by the amount of time used by the space ®lling curve heuristic. The farthest insertion, Christo®des, and their composite versions were used to compare the quality of the solutions obtained with our heuristics. Composite heuristics refer to procedures in which the constructed tour, obtained from the selected heuristics, is followed by 2-opt procedure to yield improved solutions. To perform the comparison, we note that the problem of sequencing a collection of interdependent TSPs can be transformed into a ``regular'' TSP using the following transformation: C ij ˆ



Cij ‡ d; Cij ;

where i 2 Nk and j 2 Nl and l 6ˆ k otherwise; …11†

where d is a large ®xed cost of switching from one part type to another, larger than any other inter-

Table 3 Computational results for top side placement No.

No. types

No. comp.

FRTST

CTFD

CHEB

LITKE

MTCH

SIM

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

30

300 400 500 600 300 400 500 600 300 400 500 600 300 400 500 600 300 400 500 600

1.059 1.067 1.069 1.048 1.057 1.068 1.069 1.056 1.061 1.050 1.061 1.042 1.056 1.061 1.067 1.063 1.059 1.073 1.059 1.064

1.072 1.079 1.059 1.064 1.067 1.072 1.046 1.058 1.054 1.057 1.066 1.042 1.051 1.043 1.051 1.062 1.049 1.067 1.054 1.067

1.068 1.071 1.081 1.058 1.067 1.077 1.081 1.065 1.052 1.064 1.062 1.057 1.049 1.058 1.066 1.062 1.073 1.063 1.077 1.071

1.082 1.081 1.078 1.067 1.064 1.073 1.084 1.073 1.067 1.062 1.077 1.080 1.071 1.064 1.083 1.077 1.084 1.058 1.062 1.066

1.076 1.069 1.074 1.078 1.083 1.077 1.081 1.072 1.069 1.073 1.066 1.069 1.073 1.077 1.082 1.070 1.064 1.059 1.084 1.076

1.066 1.078 1.056 1.075 1.066 1.059 1.056 1.058 1.067 1.045 1.066 1.049 1.061 1.046 1.054 1.059 1.054 1.061 1.065 1.061

1.061 1.029±1.097 32 12±59

1.059 1.022±1.095 29 15±61

1.066 1.019±1.107 26 16±55

1.073 1.026±1.114 33 21±62

1.074 1.034±1.116 35 17±71

1.060 1.020±1.092 49 21±87

Average Range (D) Time Range (T)

35

40

45

50

548

R.H. Ahmadi, J.W. Mamer / European Journal of Operational Research 117 (1999) 533±552

city movement cost. The transformation guarantees that the placement positions in each part type will be visited contiguously before moving to the next part type. Furthermore, it is clear that the transformed problem is a non-Euclidean TSP problem. This transformation is similar in spirit to the procedure developed by Chisman (1975) to solve clustered TSP problems. Golden and Stewart (1990), in their computational study of various procedures for TSP, report that the farthest insertion method is superior to nearest neighbor, nearest insertion, and nearest addition procedures for non-Euclidean TSP problems. Therefore, we used the farthest insertion as one of the candidate procedures. Also, the Christo®des' heuristic has performed quite satisfactorily and is one of the widely used procedures to solve TSP problems. The composite version of these two heuristics was obtained by applying a 2opt procedure to each of the tours constructed by the heuristics, but only the best of the two was

reported. For a detailed description of these procedures, the reader is referred to Lawler et al. (1990). Our computational results is reported in Tables 3 and 4. The same set of random problems, as generated in Tables 1 and 2, was solved for comparison purposes. In Tables 3 and 4, the result of the farthest insertion, Christo®des, and composite heuristics are given in columns FRTST, CTFD, and BESTI, respectively. Each cell reports the average ratio of the heuristic solution over the lower bounds. In each category ®ve problems were solved. The average error of the farthest insertion heuristic was 7.1% (7.3%) and for Christo®des was 6.7% (7.1%). The error in the composite heuristic was 6.1% (6.9%). Comparison on the heuristics proposed with the composite heuristic indicates that 3.3% (3.7%) improvement could be obtained, on the average. However, in 5 out of 200 instances our procedure resulted in inferior solutions compared to the best of the procedures looked at.

Table 4 Computational results for back side placement No. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Average Range (D) Time Range (T)

No. types 5

10

15

20

25

No. comp. FRTST

CTFD

CHEB

LITKE

MTCH

SIM

300 400 500 600 300 400 500 600 300 400 500 600 300 400 500 600 300 400 500 600

1.068 1.059 1.068 1.062 1.059 1.071 1.057 1.069 1.059 1.064 1.049 1.063 1.054 1.063 1.069 1.078 1.069 1.067 1.059 1.061

1.058 1.071 1.068 1.071 1.068 1.070 1.065 1.068 1.067 1.058 1.060 1.069 1.071 1.073 1.069 1.056 1.065 1.060 1.062 1.062

1.078 1.088 1.083 1.078 1.077 1.082 1.069 1.071 1.088 1.068 1.059 1.075 1.068 1.069 1.077 1.059 1.067 1.072 1.083 1.065

1.077 1.079 1.065 1.068 1.088 1.079 1.069 1.059 1.066 1.073 1.074 1.067 1.080 1.077 1.063 1.085 1.079 1.073 1.064 1.066

1.073 1.071 1.066 1.069 1.080 1.077 1.065 1.064 1.059 1.072 1.063 1.084 1.088 1.067 1.055 1.084 1.074 1.068 1.069 1.070

1.071 1.058 1.066 1.061 1.059 1.076 1.063 1.058 1.066 1.062 1.058 1.055 1.067 1.070 1.072 1.066 1.059 1.060 1.066 1.066

1.063 1.034±1.099 33 16±45

1.066 1.024±1.105 35 17±51

1.074 1.031±1.099 28 12±49

1.073 1.026±1.107 31 21±52

1.071 1.022±1.113 29 18±61

1.064 1.031±1.116 44 18±71

R.H. Ahmadi, J.W. Mamer / European Journal of Operational Research 117 (1999) 533±552

In our second set of computations, we used the convex hull procedure (see Bozer et al., 1990) and the Litke's algorithm (1984) in Step 2 of Heuristic 3. Also, we used the matching procedure to patch the open end points of the Hamiltonian paths in Heuristic 3, as proposed by Bartholdi and Platzman (1986). Also, Litke (1984) addresses the hole drilling problem in printed circuit boards. The hole drilling problem is a large TSP problem where ``thousands'' of holes have to be drilled on the board. Litke's procedure is based on identifying clusters of drill positions; each cluster is then replaced with its center of gravity point. The method basically forms clusters of the points that are close to each other and uses a complete search to ®nd the best path for a cluster of points. Conceptually, this procedure is similar to space ®lling curve, which visits all the drilling positions within a given neighborhood before visiting other drilling positions. We also used the convex hull procedure to evaluate the tours within each part type. The convex hull heuristics was proposed by Stewart (1977). Goetschalckx (1983) altered the convex hull procedure for the Chebyshev metric. The Chebyshev-convex hull heuristic is a composite heuristic. In its ®rst phase, the convex hull of all points is constructed. Next, as many points as possible are inserted on each segment of the above convex hull without increasing the travel time of the segment. Third, all the remaining unvisited points are inserted by minimal insertion. In the second phase a 2-opt improvement procedure is executed (see Goetschalckx and Ratli€, 1988). Our computational results for using Litke's and Chebyshev-convex hull procedure is denoted in LITKE and CHEB columns of Tables 3 and 4. The average error given by Litke's procedure was 7.3% (7.3%), which is worse than the results given by our procedures. However, in 4 instances out of 200, Litke's procedure resulted in improved solutions. The error in the Chebychev-convex hull procedure is 7.3% (7.4%) and in 7 instances the procedure resulted in improved solutions. We also used the matching procedure, as suggested by Bartholdi and Platzman (1986) and denoted by MTCH, for connecting the open ended paths in each part type. We used the matching procedure in Step 3 of Heuristic 3. In 7 cases out of 200 prob-

549

lems solved the matching procedure resulted in an improved solution. The average error from the MTCH procedure is 7.4% (7.1%). Finally, we implemented a simulated annealing (SA) approach, following the general structure of simulated annealing algorithm proposed by Wilhelm and Ward (1987). The simulated annealing procedure outperforms many of the traditional approaches and the average errors are 6.0% (6.4%). We should note that the procedures based on space ®lling curves results in much better solutions. However, we note that our computational result is focused on the problem instances that are most likely to be found in the component placements in circuit card manufacturing and not necessarily in all other instances. 7. Implementation We were given the opportunity to implement our ideas in a major US electronic card assembly and test facility which operates more than 50 machines. Several classes and generations of these machines, o€ering various capabilities, ¯exibilities and speeds, were housed in the same plant. Some machines, such as those equipped with ``®ne pitch'' placement tools, are highly specialized and place only a few components per board. Our results are of little use for machines with such low processing rates. For the remaining machines that are responsible for the majority of the placement tasks, proper setup and ecient placement sequencing are important. Most manufactures of placement machines o€er software systems for operations planning using built-in routines for scheduling placement sequencing. These programs do a reasonable job in most cases, given, of course, ideal operating characteristics for the machines and circuit boards. It is in comparison to the solutions used in current practice (for a sample of currently produced products) that we judge the success of our heuristics. Our heuristics o€er bene®ts beyond improving the placement sequencing for individual machines. Embedding a single heuristic approach into the larger control system o€ers a uniform system for operational planning of all machines in the plant and incorporating set-ups due to product change-overs as one

550

R.H. Ahmadi, J.W. Mamer / European Journal of Operational Research 117 (1999) 533±552

aspect of a variety of new services. This means that the insertion sequencing problem is handled in the same fashion, with the same assumptions (albeit tailored to each machine's operating characteristics) across all machines. This eliminates variation in machine productivity due to variations in the quality of the individual machine's insertion scheduling software. When complete, the control system will provide decision capability, setup instructions, and ®nal down load of the required NC data tailored to a speci®c machine and product-all automatically. The application platform for this software is OS/2 running on a PS2 platform. For our analysis we used as the distance measure either the maximum move in the x and y directions or the Euclidean distance between insertion points. In practice, the situation was further complicated because we considered acceleration and deceleration periods in the movement of the placement tool. Actual tool movement consisted of a period of acceleration, then a period of movement at a constant speed followed by a period of deceleration. We used the travel time (rather than the distance under the corresponding metric) as our measure of distance for this problem. This engendered little change since for long moves the travel time was nearly linearly related to the average speed. In the case of machine breakdown, we assume that the machine resumes just after the last insertion before the breakdown. The heterogeneous nature of the products produced makes assessment of the performance of our heuristics dicult. For example, for some categories of boards, no improvement in placement sequencing is possible, e.g. SIMM cards that contain a single component type arranged in a regular grid layout. For high volume machines producing a variety of board types (each board including several di€erent part types) performance improvements (in boards produced per shift) of 4±9% were observed. This is in comparison to current practice which uses the manufacturers' insertion scheduling software. We did not anticipate very radical improvements in board throughput, given the large experience base of the manufactures and the apparent sophistication of the proprietary scheduling software. Nonetheless, for the production volumes common to the plants we studied, a 4±9% improvement in

throughput is ®nancially signi®cant (on say a daily throughput of 12,000 boards per day). The implementation process suggested some other bene®ts, not immediately obvious from the analysis of our heuristics. The use of good scheduling heuristics that solve in reasonable computing time allowed for improved decentralized decision making. The operators on the line were responsible for the insertion schedules, and use of our heuristics reduced the amount of time consumed by this activity. Vendor supplied software did not always o€er feeder sequencing (in addition to insertion sequencing), our heuristics o€ered both. Also, the implementation process forced the system designers to adopt a single, uniform user interface. It was also found that our heuristics could be applied, virtually without change, to the circuit board drilling problem. In this problem the machine is to drill holes in the circuit board with speci®ed diameter in speci®ed locations. Large numbers of holes have to be drilled on PCB's; for example, large PCB's may require from 10,000 to 20,000 holes. Di€erent hole sizes require di€erent drill-bits. Here, the switching drill bits time is a signi®cant factor in reducing the productivity and increasing the cycle time to drill the holes. Additionally, drill-bits wear out after drilling 1000±2000 holes. It is clear that the drilling sequencing problem is similar to the placement sequencing problem, but with much larger dimensions. The number of part types is of the same magnitude, but the number of components of each ``type'' is much larger. In this case the heuristic based on the space ®lling curve is the only useful solution procedure for the problem. Some reduction in problem size may be possible by clustering the drilling sites because the holes needed for wiring chips tend to cluster tightly along the edges of the chip. By clustering we mean constraining our solution to drill all the holes associated with a single chip in succession and therefore handle all of these holes as a single drilling site. 8. Conclusions and extensions The methodology proposed in this paper can be applied to a wide variety of circuit board assembly

R.H. Ahmadi, J.W. Mamer / European Journal of Operational Research 117 (1999) 533±552

problems. The key features of our problem are the relatively large number of components and component types, the close approximation of the traveling salesman problem to the insertion problem, and the need to calculate good insertion sequences quickly. Our numerical results attest to the quality of the insertion sequences, our implementation to their practicality. The implementation process showed us that for this particular application the approximation of the problem by a sequence of traveling salesman problems was adequate to produce signi®cant increases in throughput. We ®nd the space ®lling curve heuristic to be especially interesting in view of its economy of calculation and relative accuracy. The reduction of the part and type sequencing problem to a graph problem on the unit interval a€ords the considerable ¯exibility. Interesting possible extensions could involve side constraints on the placement sequence, multiple change-overs between component types (if this becomes technically feasible), and the clustering of component types into related groups (fox example, clustering all components which require the same insertion tool). Throughout this paper we have assumed a simple hierarchy of part attributes, type and location. The key to the solution procedure is to decompose the problem by type in scheduling the insertion sequence. It is easy to imagine situations with more than two attributes for each component. For example, the insertion speed of components varies. Large components may require that the insertion mechanism move at a slower speed than it does when carrying smaller components. This attribute could be used to create another hierarchy of component attribute. For example we could think of partitioning components by type and insertion speed when calculating the insertion sequence. The generalization of our work to exploit partitioning the parts with additional attributes is straightforward. References Ahmadi, J., Sciomachen, A., 1990. Modeling and optimization environment for a component placement machine. Working paper.

551

Ahmadi, J., Grotzinger, S., Johnson, D., 1990. Component allocation and partitioning for a dual delivery placement machine. Operations Research 36 (2). Ball, M., Magazine, M., 1987. Sequencing of placements in printed circuit board assembly. Working paper. Bartholdi, J., Platzman, L., 1986. Retrieval strategies for carousel conveyor, IIE Transactions (June). Bozer, Y., Schorn, E., Sharp, G., 1990. Geometric approaches to solve the Chebyshev traveling salesman problem. IIE Transactions 22 (3). Burke, L., 1994. Neural methods for the traveling salesman problem ± insights from operations research. Neural Network 7 (4). Chisman, J.A., 1975. The clustered traveling salesman problem. Computers and Operations Research 2, 115±119. Deinkeko, Vandal, V.R., Rote, G., 1994. The convex-hull-and line traveling salesman problem ± a solvable case. Information Processing Letters 51 (3). Fiechter, C., 1994. A parallel tabu search algorithm for large traveling salesman problems. Discrete Applied Mathematics 51 (3). Gaboune, B., Laporte, G., Soumis, F., 1994a. Optimal strip sequencing strategies for ¯exible manufacturing operations in two and three dimensions. International Journal of Flexible Manufacturing Systems 6, 123±135. Gaboune, B., Laporte, Soumis, F., 1994. Optimal tool partitioning rules for numerically controlled punch press operations. Recherche Operationnelle 28, 209±220. Garey, M., Johnson, D., 1979. Computers and Intractability: A Guide to the Theory of NP-Completeness. Freeman, New York. Gendreau, M., Hertz, A., Laporte, G., 1992. New insertion and postoptimization procedures for the traveling salesman problem. Operations Research 40 (6). Goetschalckx, M.P., 1983. Storage and retrieval policies for ecient order picking. Unpublished dissertation, Georgia Institute of Technology, Atlanta, GA. Goetschalckx, M., Ratli€, H.D., 1988. Sequencing picking operations in man-aboard order picking system. Material Flow 4, 255±263. Golden, B.L., Stewart, W.R., 1990. Empirical analysis of TSP heuristics. In: Lawler et al. (Eds.), The Traveling Salesman Problem. Wiley, New York. Grotzinger, S., Sciomachen, A., 1988. Feeder assignment models for concurrent placement machines. IIE Transactions 24 (4). Johnson, D., McGeoch, L., 1997. Optimization by simulated annealing: An experimental evaluation. Operations Research 39 (1). Knox, J., 1994. Tabu search performance on the symmetric traveling salesman problem. Computers and Operations Research 21 (8). Laporte, G., Sauve, G., Soumis, M., 1988. Vehicle routing with full loads, Computers and Operations Research 15 (3). Lawler, E.L., Lenstra, J.K., Rinnooy Kan, A.H.G., Shmoys, D.B., 1990. The Traveling Salesman Problem: A Guided Tour of Combinatorial Optimization. Wiley, New York.

552

R.H. Ahmadi, J.W. Mamer / European Journal of Operational Research 117 (1999) 533±552

Lee, J., Choi, M., 1994. Optimization by multicanonical annealing and the traveling salesman problem. Physical Review 50 (2). Litke, J., 1984. An improved solution to the traveling salesman problem with thousands of nodes. Communications of the ACM 27(12). Noon, C.E., Bean, J.C., 1991. A Lagrangian based approach for the asymmetric generalized traveling salesman problem. Operations Research 39 (4), 623. Platzman, L., Bartholdi, J., 1989. Spece®lling curves and the planar traveling salesman problem. Journal of the Association for Computing Machinery 36 (4).

Steele, M., 1990. Probabilistic and worst case analyses of classical problems of combinatorial optimizations in Euclidean space. Mathematics of Operations Research 15 (4). Stewart, J.W., 1977. A computationally ecient heuristic for the traveling salesman problem. In: Proceedings of the 13th Annual Meeting of Southeastern TIMS, South Carolina. Weide, B.W., 1978. Statistical methods in algorithm design and analysis. Unpublished Ph.D. Thesis, Department of Computer Science, Carnegie-Mellon University, Pittsburgh, PA. Wilhelm, M., Ward, T., 1987. Solving quadratic assignment problems by simulated annealing. IIE Transactions 19 (1).