product/process design in mass placement printed ... - Semantic Scholar

2 downloads 0 Views 253KB Size Report
IBM Corporation, Austin, Texas 78758, USA ... Los Angeles, California 90024, USA ..... amounts to visiting every dispenser subject to this order or precedence ...
PRODUCTION

AND OPERATIONS MANAGEMENT Vol. 4, No. 4, Fall 1995 Prinfed in U.S.A.

PRODUCT/PROCESS DESIGN IN MASS PLACEMENT PRINTED CIRCUIT BOARD ASSEMBLY * JAVAD

H. AHMADI,

REZA

H. AHMADI,

AND

JAY

RAO

IBM Corporation,Austin, Texas 78758, USA AndersonGraduateSchoolof Management, UCLA, Los Angeles,California 90024, USA AndersonGraduateSchoolof Management, UCLA, LosAngeles,California 90024, USA We describe a set of models that are used to manage the product and process design in a mass placement printed circuit board (PCB) assembly cell. Our models can be divided into two categories. First, we characterize the cell design problem and develop models to design an efficient assembly cell. Second, we present models for optimizing the different operational aspects of the assembly cell. These models were developed to assist the managers of a large electronic manufacturing firm in establishing mass placement PCB assembly cells. (PCB ASSEMBLY; INTEGER PROGRAMMING, DYNAMIC PROGRAMMING)

1. Introduction

and Background

Printed circuit boards (PCBS) are found in virtually all electronic equipment manufactured today: computers, audio-video systems, telephones, etc. This mass usage has placed extreme demands on efficient production of PCBs in terms of cost, weight, volume and reliability. This pressure has led to the development of sophisticated manufacturing systems that primarily mount components onto or into the printed circuit boards. Recent developments in electronic circuit card manufacturing have enabled “mass placement” of components as opposed to single placement of components into printed circuit boards. Mass placement robots conceptually resemble printing machines with color printing capabilities, in which each color is run with a different plate. Similarly, in mass placement, each plate mounts a subset of components defined by the bill of materials. The simultaneous placement of components is a viable manufacturing strategy when there is a high demand for similar board types, i.e., high volume but with low variety (e.g., PCBS for automobiles, television sets, and telephones). For a comprehensive discussion on the technological developments in PCB assembly refer to Prasad ( 1989). The critical issue in the design of a mass placement PCB cell is the minimization of the number of work stations needed to mount the electronic components on the boards. The number of stations depends on the design of the PCBS, primarily the layout of the components and their orientations on the board. Naturally, the design * Received February 1993; revised November 1994 and June 1995; accepted July 1995. 401 1059-1478/95/0404/401$1.25 Copyright

0 1995, Production

and Opemtions

Management

Society

402

JAVAD

H. AHMADI,

REZA

H. AHMADI,

AND

JAY

RAO

of the plates has a significant impact on the productivity of the manufacturing cell. The engineering design problems arising in this environment are as follows: ( 1) How should we partition the bill-of-materials into a minimum number of subsets such that at each station an appropriate subset of the components is placed on the board? (2) How should the components mounted at each work station be assigned to each shuttle of the work station’s plate? Different shuttles are needed to mount the components, since components with different orientations on the board require different actuation direction, which cannot be handled by one shuttle. Each plate can have up to four shuttles. Additionally, all the shuttles have to satisfy the structural integrity of the plate. Shuttle shapes and their structural integrity should satisfy the high reliability needed for routine mechanical movements. The analysis of PCB assembly cell involves optimizing the design and operations of a particular selectively compliant assembly robot arm ( SCARA) machine that is used in feeding the mass component placement operation. The major problem in this domain is the plate replenishment problem. Plate replenishment is a pick-and-place operation. To minimize the robot’s operation time, the following need to be addressed: ( 1) how to stage the robot, and (2) how to sequence the pick and place moves. These moves involve removing empty dispensers from a fixture plate and replacing them with full dispensers. A dispenser is a long plastic refill with a pin at one end containing several hundred components of the same type. Each dispenser is placed and held on the plate at a precise location and with a given orientation. The plate replenishment operation is automated due to the large number of dispensers per plate and the dispensers’ small size and identical appearance. This operation precedes “mass placement” in the assembly cell. Since the mass placement is considerably faster than the discrete pick-and-place operation, it is imperative that the SCARA robot operation be very efficient. This ensures the smooth flow of boards through the mass assembly operations. 2. Design Issues

In this section we address some of the design issues associated with mass placement operations and their ramifications in product design‘ In our experience, we have encountered two distinct types of placement machines. One type is specific to the generally known passive components such as capacitors and resistors, which have similar shape and dimension. The second type is for active components such as chips and modules that are larger in size and have a greater variety of shapes. In many high-density designs, boards are populated on both sides, with the majority of the passive components allocated to the “backside” of the board. Manufacture of dual-sided boards requires two assembly passes-one for each side and one test step. Since the density of passive components is much higher, there is significant room for design optimization in mass placement op erations. Generally, in design for manufacturing optimization we are essentially concerned with the layout of the components, their orientation, allocation of test points, and top/backside allocation of the components. For the designers, functional performance is related to the physical design of the critical nets and their lengths. Here, no compromises are made. Placement of the chips for wireability is greatly driven by the active components, and other than standard considerations, the layout issues for functional performance far exceed manufacturability considerations at this stage. A downside of the mass placement approach is the requirement of placement fixture customization for the placement process. The placement fixtures are customized to match the shape and placement geometry of the boards. This process is generally known as the placement plate design. Component delivery devices are attached to the placement plate

PRODUCT/PROCESS

DESIGN

IN

PCB ASSEMBLY

403

to dispense the required component to the specific location on the board. All required components are dispensed simultaneously during assembly. The dispensing devices are designed for high reliability since a large number of them are used at each station. The dispensers are affixed to the plates, and their footprint is much larger than the components dispensed. This difference limits the number of dispensers affixed to each plate and the need for multiple stations. The customization process requires cutting or machining of the plates for attachment of the component fixtures. Effectively, proximity of the placements in conjunction with the dispenser footprint determines the number of dispensers that may be affixed to a plate and hence defines the number of work stations required for the assembly process. Another complicating factor is the mechanical actuation mechanism that causes simultaneous placement of all components in one station. Depending on the horizontal/ vertical layout orientation of the components four actuation movement are used: Left (L), Right (R), Up (U) and Down (D). In a station with a mixture of components of various proximities and orientations, one may end up with up to four actuation substructures to accommodate the actuation process. Different actuation movements are needed to avoid collision of the shuttles in releasing components from the dispensers. The two main aspects of a design for mass assembly are: ( 1) minimization of the number of stations required, and (2) the reduction of the actuation subplates per station. Given the number of stations that are required for a board assembly, there is freedom for allocation of a component to a plate as long as proximity relations are not violated and actuation substructures are reduced and simplified. Based on the footprint geometry of the dispensers, for each specific board and mass placement machine, we are able to develop a set of relationships to determine whether two components can be on the same station and what actuation requirements they will entail. These relations range from complete freedom to “must be on different stations.” Given these restrictions the problem of determining the minimum number of plates and minimizing the number of independent actuation devices per plate may be formulated as an integer programming problem. The following notation is used: i,kiscomponenti,k=1,2 ,..., n. j is station numberj = 1, 2, . . . , n. HLii = 1 if a horizontal component i is placed on station j using Left actuator, 0 otherwise. HRii = 1 if a horizontal component i is placed on station j using Right actuator, 0 otherwise. Vu0 = 1 if a vertical component i is placed on station j using Up actuator, 0 otherwise. VDii = 1 if a vertical component i is placed on station j using Down actuator, 0 otherwise. YRj = 1 if a Right actuator is used in station j, 0 otherwise. Yrj = 1 if a Left actuator is used in station j, 0 otherwise. Yuj = 1 if an Up actuator is used in station j, 0 otherwise. Ynj = 1 if a Down actuator is used in station j, 0 otherwise. The problem has a set of assignment constraints. All components must be assigned to exactly one plate. Each component indicates an actuation device choice and collectively the components or choices determine the number and type of actuators needed. At most four actuators per plate may be needed. To simplify the solution procedure, we decide on the decision variables in two stages. In the first stage we fix the number of plates. In the second stage we solve the actuator optimization problem for a given number of plates. To reduce the computational complexity of the procedure, we provide a lower and an upper bound on the optimal number of plates. Therefore, for any given number of plates (n), the actuation problem P(n) can be defined as follows:

404

JAVAD

H. AHMADI,

REZA

H. AHMADI,

AND

JAY

RAO

P(n) Min 2 YRj + YLj + Yuj + Ynj s.t. 2 HRij + HLij = 1

x Vu0 + VDii = 1

Vi

(2)

HRo+HajS

1

Qi,k,i#kandQj

(3)

HL,+HujS

1

Qi,k,i#kandQj

(4)

VUij + VU/rj I 1

Vi, k, i # k and Qj

(5)

V&j + VDkj I 1

Qi,k,i#kandQj

(6)

H~~+H&j+H~j+H~jI

1

VUU + VDQ + V”kj + VD/cj I 1

HL~,

(1)

Vi

HR~,

Qi,k,i#kandQj

(7)

Vi, k, i f k and Qj

(8)

YRj 2 HRo

Vi, j

(9)

YLj 2 HLo

Vi, j

(10)

YUjr

vUij

Qi,j

(11)

yDj2

VDO

Qi,j

(12)

VU~,

VD~,

YRjv

YLj,

Yuj,

YDjE

0,

1

Constraints ( 1) and (2) are assignments of components to stations. Constraints (3 ) through (6) denote that the set of components i and k cannot be on the same station using the same actuation. Constraints (7) and (8) mean that the set of components i and k cannot be on the same station..Finally, constraints (9) through ( 12) specify the actuator requirement for station j. Problem P(n) is a large constrained assignment problem and is known to be NP-complete. [See Garey and Johnson ( 1979) .] To obtain a lower bound on the number of plates required ( n ) , we employ the following approach: reduce the set of all conflicts to one type of conflict, namely whether two components can be on the same station or not. This representation leads to a graph, which we refer to as the reduced conflict graph. Now the problem is similar to a graph coloring problem, in which the chromatic number of the graph provides a lower bound on the number of plates required. We obtain a lower bound by relaxing the integrality constraint and solve the resulting linear program. To get an upper bound on the optimal number of stations, we heuristically solve the graph coloring problem, given by Christofides ( 1975), for the original component conflict graph. We solve the problem P(n), using the standard integer programming solver ( MFSX ), to obtain the optimum number of actuations. Several alternate solutions to the actuation problem were generated and were evaluated for the structural integrity of the design of the plate. A plate with a high number of placement tubes clustered in one zone is considered to be structurally inferior to one in which tubes are uniformly distributed across the plates and the actuators. 2.1. Design Optimization As mentioned earlier, the specific customization each product requires is costly. Certainly, mass placement tools are not for products undergoing rapid change and modification. As a result, possibilities of generic fixturing and design optimization guidelines occur: 1. Avoid mixing orientations: This is possible particularly for passive components. This requirement is very valid and is enforced in many designs not only for assembly

PRODUCT/PROCESS

DESIGN

IN PCB

ASSEMBLY

405

purpose but also for simplification of visual inspection. The number of plates and actuations are easily reduced. 2. Conform to a minimum component spacing: This allows a larger number of components to be placed in one station. 3. Use a common grid and place the components at grid points: It is easy to determine grid structures that once used they would result in the least degree of conflict. In fact, use of a common grid does lead to generic fixturing. In generic fixturing, each plate is machined for a maximum number of fixtures, with each dispenser located at a grid point. Various plates are created with a given offset from each other. Together, they will provide fixtures for any grid conforming design. In our application we were able to demonstrate that if all passive components were allocated to the points of a 50-mil grid, then at most 10 stations using a generic set of plates and a single actuation device are sufficient. Grid conformance is not a rigid design requirement. Most design systems can and do enforce it. There is very little or no impact on the design’s functional performance from slight variations in the location of the passive components. They are placed at logical locations between the interconnection points without affecting the length of the critical electrical nets. In this section, we described the issues that surround plate design and actuation requirements, the number of plates defines the number of mass placement machines needed and the number of shuttles is obtained from the number of actuators. Together, they characterize the configuration of the mass placement assembly cell. In the next section we describe the loading and unloading operations of a placement machine assuming that the dispenser information for assembly, i.e., the number and type of dispensers, is given. 3. Design of the Loading Robot In this section we discuss the design of the loading robot for mass placement machines so as to optimize its operational performance. The SCARA robot used in loading and unloading the dispensers on the mass placement machines is a very flexible robot. The robot’s function in this application is to replenish a fixture plate with new dispensers by iterating through the pick-and-place sequence. The robot removes an empty dispenser from the plate, places the empty dispenser at an empty position in a cartridge, retrieves a full dispenser from the cartridge and places the full dispenser on the plate. This process continues until all empty dispensers on the plate have been replenished with full dispensers. These plates are subsequently stuffed to produce the PCBS. The cartridges are blocked together to ‘form magazines. Prior to the start of the replenishment procedure, the cartridges contain one empty slot and the rest of the slots contain full dispensers. The dispensers on the plate are all empty. “Plate replenishment” is the process of replacing empty dispensers on the plate with full dispensers. “Cartridge replenishment” is the process of replacing full dispensers in the cartridges with empty dispensers from the plate. “Magazine replenishment” is the process of replacing the cartridges containing empty dispensers with cartridges containing full dispensers. We now describe the plate replenishment operation. The pick-and-place sequence consists of cycling through the following moves: 1. Move to empty dispenser on plate 2. Pick up empty dispenser 3. Move to the cartridge 4. Place the dispenser in empty slot within the cartridge 5. Move to the nearest full dispenser within the cartridge 6. Pick up full dispenser 7. Move to initial location on plate 8. Place the full dispenser on plate.

406

JAVAD

H. AHMADI,

REZA

H. AHMADI,

AND

JAY

RAO

The complete cycle is divided between the external path, the internal path and the zmovements of the robot arm. Plate-to-magazine, magazine-to-plate and within-magazine movements constitute the external path. The movement between dispensers on the plate is the internal path. Movement 1 is the internal path. Movements 3, 5 and 7 make up the external path. Movements 2,4, 6 and 8 are the z-movements. Cycle time is defined as the total time taken to replenish all the empty dispensers with full dispensers on a given plate. The cycle time is directly related to the pick-and-place sequence. The robot’s time is divided between dispenser replenishment and magazine replenishment. The robot is idle during the magazine replenishment. Ideally this procedure should be automated, thereby ensuring continuous operation of the robot. However, manual magazine replenishment is a constraint in this set-up. For safety reasons the robot must be shut down when an operator is within the work envelope. When a plate is replenished, it is removed and a new plate is loaded. Any empty or near-empty cartridges are removed and replaced with full cartridges. Multiple magazines located in the work envelope minimize this idle time. In this set-up there are two magazines. The magazine must contain a cartridge for every dispenser type on the plate. Even though some of the plates contain very few of certain types of dispensers, we still need to allocate a complete cartridge to that type of dispenser. 4. Optimization

Problems

In most SCARA work envelopes, an operator manually unloads/loads the plates and replenishes the magazines. During these times the machine is idle. The time to unload/ load the plates is considerably less than the time taken to replenish the magazines. In a given time period, we would like to minimize the number of times that the machine is down for magazine replenishment. This implies the need to maximize the number of plates replenished between two consecutive magazine replenishments. This can be achieved by a good magazine design, which determines the number of cartridges assigned to each type of dispenser. We call this problem the cartridge allocation problem (CAP). Simultaneously, we would like to maximize the throughput. Throughput is defined as the number of plates replenished per unit time. Maximizing the throughput amounts to minimizing the cycle time of replenishing each plate, which depends on the pick-andplace sequence. The pick-and-place sequence consists of the external path and the internal path. Since the external path (approximately 25% of the total) is greater than the internal path (approximately 6% of the total), we optimize it first. The external path is minimized by assigning the dispensers to slots in the magazine such that the sum of their distances is a minimum and similar type dispensers go into the same cartridge. We shall refer to this problem as the dispenser assignment problem ( DAP) . DAP requires knowledge of the number of cartridges allotted to each type of dispenser, and hence the CAP precedes this problem. The minimization of the internal path is done by the plate loading problem ( PLP) . Hence, the cartridge allocation problem (CAP), the dispenser allocation problem ( DAP) and the plate loading problem ( PLP) constitute the three hierarchical problems of maximizing the number of plates replenished between magazine replenishments, minimizing the external paths and minimizing the internal paths.

4.1. Cartridge Allocation Problem ( CAP) This is the first of the three hierarchical problems. Here we determine the number of cartridges assigned to each type of dispenser. The time needed to resupply the magazines is quite significant. Therefore, it is important to allocate the cartridges among the different types of dispensers so that the total number of plates completed before each resupply is maximized. The bill of materials ( BOM) gives us the number of dispensers and their type. To formulate the problem, we introduce the following notation:

PRODUCT/PROCESS

DESIGN

IN

PCB ASSEMBLY

407

j is the type of dispenser, j = 1, 2, * * * J K is the total number of cartridges on the magazines I is the slot index on each cartridge, I = 1, 2, . . * L pj is the number of dispensers of type j per plate Cj is the number of cartridges assigned to dispenser type j (decision variable) LLC’/pjJ is the number of plates completed before type j cartridge is exhausted MinjL LCj/pjJ is the number of plates completed before re-supply Max

(CAP)

Minj

Cj 2 1 and integer Vj can be converted to an integer linear program by setting Z = MinjL LCj/pjJ. Here, Z denotes the number of plates replenished before re-supply ( magazine replenishment ) . We will make use of CAP’S special structure to solve it in a simple manner. The details of the two solution procedures to solve CAP are given in Appendix A. The optimum solution does not guarantee the equality of the first constraint, which means that there may be a few cartridges that are empty. However, if we are to design the magazines the extra cartridges can be eliminated. 4.2. Dispenser Assignment Problem (DAP) After the magazine design we need to set up the work envelope. The robot is known to be fastest in the perimeter of the envelope and in the second quadrant. So the plate is placed there along with the magazines. The magazines are placed closest to the z-axis (shaft) and the plate is placed on the outer side, i.e., closer to the perimeter of the envelope (away from the shaft). This causes the external path to be considerably larger than the internal path. The external path is optimized by assigning the dispensers on the board to cartridges in the magazines so that every cartridge contains the same type of dispensers and simultaneously minimizing the sum of the distances from each dispenser to its position in the cartridge. We now formalize the problem by introducing additional notation: i dispenser index, i = 1, 2, * * * Cj pj k cartridge index, k = 1,2, - * - K dijkl distance from dispenser i of type j to cartridge k’s slot 1 q;.k = 1 if dispenser type j is assigned to cartridge k and 0 otherwise XUk, = 1 if dispenser i, type j is assigned to cartridge k in the Ith position and 0 otherwise CAP

s.t.

;

;

2 c &jk;s i

x,,,

=

‘1

1

Vk, 1

Vi, j

(13) (14)

j

2 rj, = 1

Vk

(15)

Vi, j, k, 1 Vi, j, k, I

(17)

k &jkl &jkl

5 E

YjkE(O,

qk (0,

1) 1)

vj,

k

408

JAVAD H. AHMADI, REZA H. AHMADI, AND JAY RAO

In the above formulation, constraint 13 states that each dispenser is assigned to only one slot in the cartridge. Constraint 14 assures that each slot can get at most one dispenser. Equation 15 limits a cartridge to only one type of dispenser while constraint 16 limits the total number of cartridges assigned to a particular type of dispenser. Here the Cjs are obtained from Algorithm 1. Constraint 17 makes sure that if cartridge k is assigned to type j dispensers, then only dispensers of type j will be assigned to cartridge k. Finally, note that in case Cj Cj < K, DAP also decides which of the cartridges will be assigned to the dispensers. DAP is a large-scale pure integer programming problem. More specifically, it belongs to the class of location-choice problems. We can establish its computational complexity by reducing a general instance of the p-median problem, which is known to be NP-complete (Kariv and Hakimi 1979 ) , to an instance of the DAP. Thus DAP is NPcomplete. 4.2.1. SPECIAL CASE OF DAP. Recall that dj is the number of dispensers of type j per plate. Let d = maxj { 4}. Consider the following instance of DAP; suppose Cj Cj = K and the number of slots in each cartridge is greater than or equal to d, i.e., all dispensers of the same type could be assigned to one cartridge only. This is not an unreasonable situation; due to the increased variety of component types, the maximum number of components in each type may be smaller than the number of slots in a cartridge. Note that for a design parameter, the designers of the robot might configure the magazines such that this condition is satisfied. Now DAP reduces to a straightforward assignment problem, which can be solved optimally in polynomial time. We first need to find the optimal assignment of dispensers of a type to the slots of each cartridge and then find the assignment of dispenser types to the cartridges. Since each cartridge can accommodate all the dispensers of one type, we can calculate the cost of assigning each group (type) to each cartridge in an exact manner. This is achieved by solving the following “assignment problem” for a given j and k: Wjk = Min

2 C du&&

s.t.

Vl c

&jkl

Xijkf

=

E

(03

1

Vi, I

1)

After getting the minimum cost of assigning group (type) j to cartridge k, we can obtain the complete cost matrix by performing J X K such assignment problems. Next we decide which group will be assigned to each cartridge, by solving the following assignment problem: Min

z\ 2

wjkqI;.k

k s.t.

;

q;.k= 1

Vk

In this specific solvable case of DAP, we have limited the number of dispenser types to equal the number of cartridges. Also, the number of slots in each cartridge could accommodate all the dispensers of a given type. However, general DAP may not satisfy

PRODUCT/PROCESS DESIGN IN PCB ASSEMBLY

409

this condition. So, if we can intelligently group the dispensers of the same type into groups whose cardinality is less than or equal to the number of slots on each cartridge, and if the number of groups is less than or equal to Cj, then we can solve the DAP by the assignment procedure, as discussed above.

4.2.2. GROUPING HEURISTIC TO SOLVE THE DAP. In order to achieve this grouping we use a procedure based on “Spacefilling curves” (Bartholdi and Platzmann 1982). Spacefilling curves map higher dimensional spaces onto lower dimensions continuously. For our purpose it is sufficient to map from the unit square onto the unit interval. A property of spacefilling curves that is crucial to our purpose is that they tend to preserve “nearness” among points. That is, if two points are close on the curve, then they are close on the unit interval, and vice versa. The spacefilling curve divides the unit square into identical regions and joins a point with its immediate neighbors before proceeding to a new region. For each location (x, JJ) on the unit square, a relative position p is calculated along the curve, using Bartholdi and Platzman’s ( 1982) algorithm. Within each type, we will let each dispenser be a median. Then we will find the nearest L - 1 dispensers on the unit interval and calculate the sum of the distances from each of these points to the median. Thus, in each dispenser type there will be pj medians and a corresponding distance sum for each median. We rank these distances and pick the median with the lowest distance sum. This procedure is continued by excluding this median and its L - 1 dispensers at every step until all dispensers have been successfully assigned to groups. Having grouped all the types, we can assign these groups to cartridges by the assignment procedure as described before. We now present an algorithm based on Bartholdi and Platzman’s ( 1988) procedure to solve our problem. Algorithm 1 1. For each point calculate, via a spacefilling curve, a corresponding position on the unit interval. 2. Consider a particular type of dispenser. Groups of L or less dispensers are formed in the following manner: let each dispenser be a median, and using the “p” values on the unit interval, get the nearest L - 1 or less dispensers to each median. Choose the group which has the lowest distance sum. 3. Eliminate this group from the list and repeat until all dispensers of that particular type have been assigned to a group. Each type j will have exactly Cj groups, as decided by CAP. 4. Solve assignment problems to generate the distance matrix of each group to each cartridge and the order in which the dispensers are assigned within each cartridge. 5. Use this distance matrix to get the final allotment of groups to cartridges by solving another assignment problem. Algorithm 1 puts dispensers of the same type into groups and assigns them to the cartridges such that the total sum of distances is minimum for this allocation.

4.3. Plate Loading Problem (PLP) The last problem addresses the order in which we are going to replenish the dispensers. Obviously, we want to do so in an order that will minimize the internal path. The dispenser assignment problem (DAP) optimized movement 7 of the pick-and-place sequence. Movement 7, however, is just a part of the external path. We have to minimize the other two movements of the external path, namely movements 3 and 5, in order to optimize the complete external path. There is one empty slot at the front end of each cartridge. For the replenishment it is desirable, both managerially and technically, to place the empty dispenser from the plate in a cartridge from which the nonempty one has to be picked up. Moreover, we would

410

JAVAD

H. AHMADI,

REZA

H. AHMADI,

AND

JAY

RAO

like to move within the cartridge in a cyclic fashion, placing the empty dispenser in the slot immediately in front of a nonempty dispenser. However, this imposes an order on the replenishment of the dispensers, i.e., movement 1. Minimizing the internal path amounts to visiting every dispenser subject to this order or precedence constraint. This problem is a variant of the traveling salesman problem (TSP). Here, a set of cities has to be visited. Cities are partitioned into groups, i.e., dispensers belonging to the same cartridge. Any feasible tour has to respect the precedence imposed for cities in each group. An instance of our precedence constrained replenishment of dispensers can be reduced to the TSP, and the instance is when we have only one dispenser of each type. We now suggest a dynamic programming procedure to solve the plate loading problem ( PLP). 4.3.1. DYNAMIC PROGRAM TO SOLVE PLP. The imposition of precedence among dispensers within a cartridge directly transforms the problem into establishing a precedence among the dispensers on the plate and vice versa. Replenishment of empty dispensers on the plate implies moving the full dispensers in cartridges onto the plate and moving the empty dispensers onto the cartridges. Precedence stipulates replenishing slot 2 before slot 3 and slot 3 before slot 4, within every cartridge. So, at any given instance, there is only a fixed number of candidates for replenishment. We now develop the dynamic programming procedure to solve PLP. Suppose there are K cartridges and L full slots in each cartridge. Define a state space with K + 1 elements; (ai, u2, - . - adm) where a, denotes the number of dispensers replenished in cartridge 12and the last cartridge visited is m, m I K, 0 I a, I L. This state space provides the complete information: the total number of dispensers replenished is a, + a2 + - - - aK; the last dispenser replenished in each cartridge n is a,; and the potential candidates for replenishment are a, + 1 (the dispenser immediately behind a,) in each cartridge n. Definef(ai, q, * * - aK/m) to be the total internal distance traveled when a,, dispensers in each cartridge n have been replenished and the last cartridge replenished belongs to cartridge m . Let d( a,/ q , a,/ t ) be the distance from dispenser r of cartridge q to dispenser s of cartridge t. Initially set f( 0, 0, - - - O/O) = 0. The optimal solution will be given by - * - L/m ) } . The function values can be computed using the following . .’ E2~~Kriittd~

=

minl,,,K

{f(~,

+ - -

a,,

- * -

a,,

- - -

a/m)

+

d(a,,,lm,

an/n)}

(18)

The dynamic program successfully transforms a problem that is exponential in the number of dispensers to a problem that is exponential in the number of cartridges. This is a considerable reduction. 5. Experimental

Results

and Conclusions

We now describe the procedures for generating the data sets and report on the performance of our computational experiments. The characteristics of the random problems generated resemble configurations of commonly produced PCBS in large electronic card assemblies. The data sets used have the following characteristics. The plates measure 10” X 14”. The number of dispenser types (J) is either 15, 20,25 or 30. Dispenser positions are selected for each plate by generating two random numbers from two independent uniform distributions. The random numbers range from 0.5’ to 13.5’ and from 0.5’ to 9.5 “. Each time a new dispenser location is generated, we ensure that the newly generated location has a minimum clearance requirement (MCL) of 0.25 ’ (and 0.5 “) with all other existing dispensers. Additionally, we define dispenser types by generating a discrete random number ranging from 1 to J and assigning it to a generated dispenser. The number of

PRODUCT/PROCESS

DESIGN IN PCB ASSEMBLY

411

TABLE I Computational Results L&DA@

MCL

J

L

0.25

15

5 7 10 5 7 10 5 7 10 5 7 10 5 7 10 5 7 10 5

20 25 30 0.5

15 20 25 30

Average Maximum Minimum

10 5 7 10

V(DAP)/LB(DAP)

1.069 1.071 1.046 1.088 1.059 1.091 1.081 1.077 1.056 1.102 1.068 1.093 1.062 1.074 1.104 1.053 1.084 1.096 1.087 1.069 1.075 1.090 1.115 1.094 1.079 1.115 1.046

PLP

V(DAP) time

time in

in CPU seconds

seconds

Nodes (PLP)

seconds

4.5 7.2 9.3 8.8 10.7 11.9 13.7 15.1 17.2 16.5 18.9 19.8 12.7 14.1 18.9 16.5 19.5 21.2 14.9 17.3 18.1 21.5 23.1 25.4 15.7 25.4 4.5

345 277 361 198 227 307 299 337 389 274 285 188 223 458 273 357 407 168 186 394 503 296 377 407 314 503 168

59.7 76.3 79.2 81.5 87.4 89.7 76.3 82.9 91.7 97.6 104.7 111.3 114.7 117.9 121.2 117.7 119.8 122.5 113.6 115.9 118.3 104.9 119.8 125.4 102.08 125.4 59.7

5.3 6.4 7.1 6.9 9.5 11.2 12.4 13.2 14.1 12.4 13.2 14.5 15.6 16.1 17.2 14.9 18.2 17.9 16.1 15.4 17.6 16.9 18.5 19.7 13.76 19.7 5.3

CPU

time in CPU

dispensers in each type (4) is defined from another discrete uniform distribution ranging from 5 to 20. We set the number of slots on each cartridge (L) at either 5, 7 or 10. The number of cartridges in each magazine (K) is defined by computing the minimum number of cartridges required. The distance between slots on the cartridge is set at 0.5” and the length of cartridges is set at 1.5”. The magazines are assumed to be 5.0” away from the plate edges and the distances between the dispenser location and cartridges (C&J) are computed correspondingly. Overall 24 different classes of problems (4 dispenser categories, 2 minimum clearance requirements, and 3 cartridge sizes) are generated. Each problem instance is defined by these three dimensions. For each class of problem, we generate 10 different problem instances by generating new dispenser locations. All the procedures to solve CAP, DAP and PLP are coded in turbo Pascal and run on HP Vectra 50~ with a 66 MHz processor. The computational results for DAP and PLP are reported in Table 1. In Table 1, V( DAP) indicates the average value of the solution obtained. LB(DAP) provides a lower bound to the optimum solution and is computed to evaluate the quality of the proposed solution to DAP [see Appendix B for the procedure to compute the LB(DAP)]. The average number of nodes generated to compute the optimum solution to PLP is indicated by “Nodes( PLP) .” Each row reports the average result obtained over 10 problems. The average time needed to solve a problem in each category is given in Table 1. The time needed to solve CAP is negligible. The average time required to get LB(DAP) and

JAVAD H. AHMADI,

412

REZA H. AHMADI,

AND JAY RAO

F/(DAP) are 15.7 and 13.76 CPU seconds. These range from 25.4 to 4.5 and 19.7 to 5.3 seconds, respectively. The maximum and minimum values for the ratio V( DAP) : LB( DAP) are 1.115 and 1.046, respectively. The average for this ratio is 1.079. The transportation problems in LB( DAP) are solved using LINDO package. The maximum average number of nodes in the branch and bound procedure is 503 and the minimum is 168. The average time needed to solve PLP is 102.08 CPU seconds. The times range from a maximum average of 125.4 seconds to a minimum average of 59.7 seconds. Overall the problems are solved in less than 256 CPU seconds. In this paper we have addressed the optimization problems that arise in the design and logistic operations of mass placement assembly cells. These models were developed to assist the design and management of the corresponding PCB cells in a large electronic manufacturing firm in the United States.’ ’ We thank the three anonymous referees for their valuable comments and suggestions. Appendix A In this appendix, we provide the details of the two procedures to solve the CAP. In the first algorithm, we can find an upper bound Z., (using 2 and the first constraint) and a lower bound Zib for Z and then do a binary search for the optimal value that satisfiesthe constraint. The second algorithm is a straightforward formalization of a finger-counting method. Algorithm

2

1. 2. 3. 4.

If Z., - Z,, = 1 then go to step 4, else go to step 2. Let Z = L(Z,,~ + Z&21 and C,’ = IpjZ/Ll IfCjCf~Kthen~tZ,~=ZelSe~t&~=Z;gotostepl. If C, C,’ 5 K then Z* = Z,, and CT = rpjZub/L1 else Z* = Z,, and CT = IpjZib/L1. 5. STOP!

Algorithm

3

1. Set Cj = rp,iLi , Vj. 2. If Cj Cj > K then stop; else D = K - Cj Cj. 3. WhileD#Odo,j=minlLCj/pjlandCj=Cj+ 4. Z*

1.

l,D=D-

= milljLLCj/pjJ.

These procedures give us the optimum value Z *, and the CTs for CAP. Appendix B We now suggest a procedure to compute LB( DAP) . Lagrangean relaxation has grown to be a successful tool for solving large-scale integer programming problems. Complicated constraints are replaced with a penalty term in the objective function to create a Lagrangean problem. Usually the Lagrangean problem is easier to solve than the original problem and will provide a bound on the optimal value of the original problem. In problem DAP we can relax constraint set 5 and form the Lagrangean problem:

s.t.

(I),

(2,

(3),

(4),

(6) and (7)

The above Lagrangean problem can be written as two subproblems.

(Sl)

(=I

Min

c

c

i

j

c

k

z

(&I

+

s.t.

(I), (2) and (6)

Min

2 2 2 2 i

s.t.

(3),

j

k

&d&k/

I

hjk&k

I

(4) and (7)

For a given set A = { AtiM 2 0, Vi, j, k, I} , both (Sl ) and (S2) are transportation problems and can be solved optimally in polynomial time. The dual problem can be written as:

(DPA)

Max, u(PA)

s.t.

ArO

PRODUCT/PROCESS

DESIGN IN PCB ASSEMBLY

413

The Lagrangean duals are known to give tight bounds on v(PA) and near optimal values of the multipliers. We use the subgradient optimization technique to solve it (Fisher 1985 ).

References J. J. AND L. K. PLATZMAN ( 1982), “An O(Nlog iV) planar traveling salesman heuristic based on spacefilling curves,” Operations Research Letters, 1,4, 121-125. -and( 1988), “Heuristics based on spacefilling curves for combinatorial problems in Euclidean space,” Management Science, 34, 3,29 I-306. CHRISTORDES, N. ( 1975), Graph Theory: An Algorithmic Approach, Academic Press, NY. FISHER,M. L. ( 1985), “An application oriented guide to Lagrangean relaxation,” INTERFACES, 15,2 (MarchApril), 10-21. GAREY, M. R. AND D. S. JOHNSON ( 1979), Computers and Intractability-A Guide to the Theory of NPCompleteness, W. H. Freeman & Co., New York. KARIV, 0. AND S. L. HAKIMI ( 1979), “An algorithmic approach to network location problems, II: The pmedians,” SIAM Journal ofApplied Mathematics, 37, 6, 539-560. PRASAD, R. P. ( 1989), Surface Mount Technology-Principles and Practice, Van Nostrand Reinhold Publication, Holland. BARTHOLDI,