Discrete OptimizationProcess planning for circuit card assembly on a series of dual head placement machines
Introduction
Virtually all electronic products contain circuit cards (CCs) as fundamental building blocks. Process planners seek to minimize cycle time (equivalently maximize the throughput rate) (e.g., see Nof et al., 1997) that a series of dual head (also called dual gantry) placement machines (DHPMs) can achieve in assembling a given type of CC by balancing workloads assigned to individual heads.
The DHPM offers the capability of placing large or odd-shaped components (e.g., ball grid arrays, quad flat packs, column grid arrays, and flip-chips) with a high degree of accuracy. Our study dealt largely with the GSM2 machine manufactured and marketed by Universal Instruments, but a number of companies make and market related types of DHPMs, including Universal Instruments, Contact Systems, Fuji, Juki, Phillips, Samsung, and Yamaha.
We follow an approach that decomposes process planning into a novel series of four related, manageable problems (recently, approaches have been devised to optimize P2 (Choudhury et al., 2006) and P3 (Wilhelm et al., 2006):
- (P1)
Assign each component type (CT), a set of identical components, to one feeder slot.
- (P2)
Prescribe CT picking combinations (CTPCs) to minimize picking time.
- (P3)
Prescribe components placed on each placing step to minimize placement time.
- (P4)
Sequence of picking, placing, and nozzle-change steps to balance workloads.
The objectives of this paper are to investigate list-processing heuristics for P1, adapt an optimizing method for P4, report computational tests that evaluate the overall approach to all four problems, assess the degree to which the decomposition approach is able to balance workloads assigned to heads and the run time require to do so, and determine whether the overall approach provides a good means of prescribing process plans that industry can use to improve cycle times. The goal of this work is to prescribe – within a computation time acceptable to process planners – an effective process plan that seeks to minimize the cycle time the series of DHPMs can achieve when assembling a given type of circuit card. The impact that P1 decisions make on performance measures cannot be assessed until P2, P3, and P4 are also solved. Thus, it does not appear possible to optimize all decisions; a single, integrated model encompassing all four decisions would be huge and, we expect, require prohibitive run times.
Methods for solving problems P1, P2, P3, and P4 can be used individually, should a process planner be interested in focusing on one of the problems. They can also be used in series, forming a heuristic that seeks to minimize cycle time by balancing workloads on heads. We solve P2, P3, and P4, each conditioned on the solution to earlier problems in the series.
The remainder of this section comprises three subsections. They describe DHPMs and their operation, discuss performance measures, and overview the paper, respectively.
This section describes aspects of the DHPM system (see Fig. 1) that are relevant to P1 and P4. Choudhury et al., 2006, Wilhelm et al., 2006 review details related to picking and placing, respectively. This discussion relates important practical considerations; in particular, a solution to P1 must assign CTs to slots to promote efficient picking operations (P2) and seek to minimize nozzle changes (P4) to manage workload.
DHPMs place components on pre-applied solder paste. A set of CTs populate each CC. Our industrial collaborators related the tenet that each CT comprises a set of identical components with the same width and orientation requirement. All components of one CT are staged in a feeder. Our industrial collaborators related the tenet that a unique CT-to-slot assignment should be used for each CC type. Before assembly begins, head h = 1 uses a camera to position and orient the CC accurately in a fixed position on the xy worktable using marks called fiducial marks that are incorporated in the CC for that purpose. Using the x and y coordinate axes of the worktable, the fiducial marks, and the dimensions of the CC, the machine controller can easily determine coordinates (xi, yi) for each component i that populates the CC.
Each head is mounted on an individual beam and can move independently of the other to populate the CC, except, to avoid collisions, only one head can be in the airspace over the CC at any time. Four spindles are mounted along the centerline of each head. A motor rotates all four spindles simultaneously (if necessary) to orient components for placement. A nozzle uses a vacuum to pick each component.
Each feeder rack has a series of 36 slots. Depending on its width, a feeder may require 1–6 slots. Each head picks from one feeder rack. A camera is mounted at the center of each rack, effectively dividing it into two (r = 1 and r = 2), each typically with 16 slots. Cameras may be configured with “circular” or “standard” (i.e., front, back, and side) lighting.
Some 10 types of nozzles are available. To assure the greatest possible placement accuracy, our industrial collaborators related the tenet that each CT must be picked by one predetermined type of nozzle, defined according to size and support for either circular or standard lighting. Some CTs may be restricted to a particular head, depending upon the lighting, camera resolution, and nozzle configurations.
Two nozzle-change racks, each comprising seven pads, are associated with each head. A pad holds a nozzle in place using a vacuum. A drive lowers and raises spindles (along the z axis) to grasp or deposit a nozzle. Our industrial collaborators related the tenet that a process planner assigns a set of nozzles to each head. The assignment is not altered because changes may require costly inventories of nozzles to be maintained and cause quality control problems.
Each head makes a series of rounds as it places components on a CC. Each round begins with a picking step on which the head picks (up to) four components, rotating spindles if necessary to orient components, and then moves to its camera to display them. On the placing step, the head moves to the CC and places the picked components at their individual (x, y) locations. The pick/place step is followed by a nozzle-change step in which the head moves from the (x, y) location at which it places the last component on the step to the nozzle change rack (if necessary) to change or swap nozzles and then to the feeder rack location where it will begin the next picking step. If two successive picking steps use the same nozzle-to-spindle assignment, the head need not detour to the nozzle-change rack.
Some attempts to balance workloads may lead to paradoxes. For example, assigning a CT that can be viewed by a low-resolution camera to a head with a high-resolution camera is feasible and may help to balance workloads but it artificially inflates workload because the latter takes longer to view the component so that the minimum cycle time would not be achieved.
We use the following notation to define measures of workloads:
- H
set of heads associated with the series of DHPMs
- Wh
the total picking, placing, and nozzle change time assigned to head h for a CC type
- WM
maximum workload assigned to any head h ∈ H, WM = maxh∈H{Wh}
- WT
total workload assigned to all heads h ∈ H,
average workload per head in set H,
- %IMBAL
percent imbalance = (100), and
- MTWL%
maximum/total workload percent = (100)WM/WT
The ideal workload balance measure %IMBAL is 0% and that for MTWL% is 100/∣H∣%. These bounds are tight only if ; that is, for each h ∈ H. A number of practical considerations prevent attainment of these ideal values, which provide valid lower bounds for our performance measures. For example, it may be possible to achieve the ideal only by splitting a CT, assigning some components to each of two different racks. Some shifts may increase workloads in nonlinear ways; for example, by requiring additional nozzle changes or more lengthy viewing time at a high resolution camera.
The solution to P4 orders the set of pick⧹place steps prescribed by P2 and P3, respectively, for head h ∈ Hm on DHPM m ∈ M. These two series must be interleaved to specify Km for DHPM m, assuring that heads do not collide over the CC and that the ordering is retained for each head. Some additional notation needed to specify cycle time follows:
= 3 − h
- km
- Hm
set of heads associated with DHPM m
- Km
ordered set of placing steps made by DHPM m over the CC, where
time duration for head h on machine m to perform the kth placing step (from P3)
time duration for head h on machine m to perform the kth nozzle change step (from P4)
time duration for h on machine m to perform the kth picking step (from P2)
time duration for h to move from the location of the last placement to clear the CC
time duration for h to move from the camera to the safe position
- γ
time required for a DHPM to changeover from one CC to the next
- ΠB
cycle time required by a series of DHPMs to assemble batch of B CCs of the same type
Note that () includes (). Head h begins the kth placing step at the camera (after it has displayed components on the kth picking step) and moves (requiring time ) to the safe position, which provides sufficient clearance (as determined by the machine controller) while head is still over the CC completing the (k − 1)st placing step. When completes the (k − 1)st placing step and moves (requiring time ) sufficiently far to allow clearance (as determined by the machine controller), h can move to complete the kth placing step.
Head h = 2 performs the first picking step, begins the first placing step at time 0 (we account for changeover time γ later) and completes it at time . In the meantime, head h = 1 checks fiducial marks, performs the k = 2 picking step, and stops at the safe position; it begins placing step k = 2 at time . If the solution to P1 balances workloads and assigns the same number of placing steps to both heads on a DHPM, , and can complete the (k + 1)st nozzle change and picking steps before h can complete the kth placing step (i.e., placing time dominates the sum of picking and nozzle-change times on each step) so that heads will alternate placing steps and the cycle time for a CC on DHPM m, Γm, can be calculated usingIf , efficiency is reduced because the CC be idle for duration while the head that determines , say h, completes nozzle changing and picking steps between successive placing steps. In this case, the cycle time for a CC on DHPM m is(1), (2) show that cycle time depends upon the workload balance as well as the number of pick/place steps assigned by the solution to P1 (cycle time could be minimized even if ). The cycle time for a series of DHPMs to assemble one CC is Π1 = maxm∈M (Γm) and that to assemble a batch of B CCs of the same type is ΠB = B(Π1 + γ).
Placing time may not dominate under certain conditions (e.g., if the CC were small, components placed on a step were located very close to each other, nozzle change times were long, and/or picking times were long due to using inefficient CTPCs). It is, however, better to prescribe efficient CTPCs (e.g., gang picks) and nozzle changing steps than to purposefully perform inefficient ones that use more energy; cause more wear on precision mechanisms; and may delay the head, causing the CC to idle, waiting between successive placing steps.
The body of this paper comprises five sections. Section 2 reviews relevant literature. Section 3 presents three heuristics we devised to address P1 and Section 4 describes our approach to P4. Section 5 relates computational tests, and Section 6 gives conclusions and recommendations for future research.
Section snippets
Literature review
McGinnis et al. (1992) overviewed process planning, categorizing related decisions and types of machines. CC assembly can involve a single machine (e.g., Rossetti and Stanford, 2003), parallel machines (e.g., Hop and Nagarur, 2004), or, as is most typical, a flow shop (e.g., Schaller et al., 2000, Logendran et al., 2003). Although process planning for CC assembly has been studied extensively (e.g., Spieksma et al., 2000), relatively little research has addressed dual-head systems and, to our
Problem P1: Assign CTs to heads and to feeder slots associated with each head
The DHPM process-planning problem presents a challenge to modeling philosophy. Since rounds are inter-dependent, traditional OR models (e.g., multiple-vehicle routing to model picking/placing steps) do not apply. Our industrial collaborators emphatically provided four tenets upon which our models rely:
- (T1)
All components of a given CT are identical; they have the same width and orientation.
- (T2)
A unique CT-to-slot assignment is used for each CC type.
- (T3)
A pre-specified nozzle type must be used to grasp
Problem P4: Sequence pick/place steps, including nozzle changes/swaps
Inputs to P4 include CTPCs p ∈ P∗ and placement steps t ∈ T∗, prescribed, for example, by P2 and P3. P4 seeks to minimize the sum of sequence-dependent, nozzle-change times. According to (T3), we solve P4 for each head h on each DHPM machine m, where m ∈ M and h ∈ Hm.
We formulate P4 (for each hm) as an asymmetric traveling salesman problem (ATSP), based on network G(N, A) (note that we suppress subscripts hm to facilitate presentation) in which N is the set of nodes and A is the set of arcs. Node t ∈ N
Computational evaluation
This section describes the factors we used to evaluate our approach, the way we generated test instances, and computational results. We performed all tests on a 667 MHz Pentium III PC (with 128 MB of RAM) using the C language in the Watcom C++ editor (H2 was programmed in Java using the Microsoft J++ editor and jdk 3.1 compiler) and interfacing with the Fortran code of Carpaneto et al. (1990), which solves ATSP to optimality. Our industrial collaborator enabled this study but required a
Conclusions and recommendations for future research
This paper achieves its objectives of investigating list-processing schemes to resolve P1, adapting an optimizing method for P4, and reporting computational tests that evaluate our overall approach to solving P1, P2, P3, and P4. It assesses the degree to which the overall approach is able to balance workloads assigned to heads and the run time require to do so. This paper, along with its two companion papers, achieves the goal of prescribing an effective process plan to assemble a given type of
Acknowledgements
This material is based in part upon work supported by the Texas Advanced Technology Program on Grant Numbers ATP-036327-140 and 000512-0248-2001 and by the National Science Foundation on Grants DMI-9500211 and DMI-0217265. The authors gratefully acknowledge industrial collaborators Luis Giraldo, Gordon O’Hara, Richard Evans and Shelli Farr, who provided information that allowed us to model the system realistically and to generate tests using instances that reflect industrial practice. We
References (35)
- et al.
A review of scheduling research involving setup considerations
Omega
(1999) - et al.
Optimization of printed circuit board manufacturing
European Journal of Operational Research
(2000) - et al.
The assembly of printed circuit boards
European Journal of Operational Research
(1997) - et al.
Overview of the operations analysis of a two-head flexible assembly machine with interference avoidance
Computers and Industrial Engineering
(1997) - et al.
A comparison of set-up strategies for printed circuit board assembly
Computers and Industrial Engineering
(1998) - et al.
Minimizing the mean flow time in a two-machine group-scheduling problem with carryover sequence dependency
Robotics and Computer Integrated Manufacturing
(2003) - et al.
Group sequencing a PCB assembly system via an expected sequence dependent setup heuristic
Computers and Industrial Engineering
(2003) - et al.
Scheduling a flowline manufacturing cell with sequence dependent family setup times
European Journal of Operational Research
(2000) - et al.
Staging problem of a dual delivery pick-and-place machine in PCB assembly
Operations Research
(1994) - et al.
Component allocation and partitioning for a dual delivery placement machine
Operations Research
(1988)