Discrete Optimization
Process planning for circuit card assembly on a series of dual head placement machines

https://doi.org/10.1016/j.ejor.2006.08.059Get rights and content

Abstract

This paper proposes an approach for prescribing the inter-related decisions that prescribe a process plan for a series of dual head placement machines. The goal is to provide a means of rapidly prescribing a process plan that seeks to minimize cycle time (equivalently, maximize throughput rate) by balancing workloads assigned to heads when assembling a given type of circuit card. Our approach decomposes process planning decisions into four related problems. This paper explores list-processing heuristics for the first of these problems and adapts an optimizing method for the fourth. It also integrates these two methods with others to optimize the second and third of these problems, reporting computational tests that evaluate the overall approach to all four problems and assessing the degree to which the decomposition approach is able to balance workloads assigned and the run time required to do so. Resulting cycle times are also analyzed. These test results demonstrate that the overall approach provides a means of prescribing effective process plans within a run time acceptable to process planners.

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 = maxhH{Wh}

    WT

    total workload assigned to all heads h  H, WT=hHWh

    W¯

    average workload per head in set H, W¯=WT/|H|

    %IMBAL

    percent imbalance = (100)(WM-W¯)/W¯, 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 WM=W¯; that is, Wh=W¯ 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 Thm 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 Thm is retained for each head. Some additional notation needed to specify cycle time follows:

    hˆ

    = 3  h

    km

    =min{|T1m|,|T2m|}

    k¯m

    =max{|T1m|,|T2m|}

    Hm

    set of heads associated with DHPM m

    Km

    ordered set of placing steps made by DHPM m over the CC, where |Km|=hHm|Thm|

    τhkmL

    time duration for head h on machine m to perform the kth placing step (from P3)

    τhkmN

    time duration for head h on machine m to perform the kth nozzle change step (from P4)

    τhkmP

    time duration for h on machine m to perform the kth picking step (from P2)

    δhkmr

    time duration for h to move from the location of the last placement to clear the CC

    δhkmR

    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 τhkmP (τhkmN) includes δhkmR (δhkmr). Head h begins the kth placing step at the camera (after it has displayed components on the kth picking step) and moves (requiring time δhkmR) to the safe position, which provides sufficient clearance (as determined by the machine controller) while head hˆ is still over the CC completing the (k  1)st placing step. When hˆ completes the (k  1)st placing step and moves (requiring time δhkmr) 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 τ21mL. 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 τ21mL+δ21mr. If the solution to P1 balances workloads and assigns the same number of placing steps to both heads on a DHPM, k̲m=k¯m, and hˆ 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 usingΓm=hHmk=12k̲mτhkmL-δhkmR+k=12k̲m-2δh,k+2,mr.If k̲mk¯m, efficiency is reduced because the CC be idle for duration k=2k̲m+12k̲m+k¯mτhkmN+τhkmP+δhkmR while the head that determines k¯m, 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Γm=hHmk=12k̲mτhkmL-δhkmR+k=12k̲m-2δh,k+2,mr+k=2k̲m+1k̲m+k¯mτhkmN+τhkmP+τhkmL.(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 k̲mk¯m). The cycle time for a series of DHPMs to assemble one CC is Π1 = maxmM (Γ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)

  • J. Ahmadi et al.

    Component fixture positioning/sequencing for printed circuit board assembly with concurrent operations

    Operations Research

    (1995)
  • Ammons, J.C., McGinnis, L.F., Tovey, C.A., 1991. Process planning for surface mount. In: Proceedings SMI ’91, San Jose,...
  • R.G. Askin et al.

    Printed circuit board family grouping and component allocation for multimachine

    Open Shop Assembly Cell, Naval Research Logistics

    (1994)
  • A. Balakrishnan et al.

    A tactical planning model for mixed-model electronics assembly operations

    Operations Research

    (1999)
  • J.F. Bard et al.

    Machine setup and component placement in printed circuit board assembly

    The International Journal of Flexible Manufacturing Systems

    (1994)
  • G. Carpaneto et al.

    A Branch-and-Bound Algorithm for Large-Scale Asymmetric Traveling Salesman Problems

    (1990)
  • D. Chan et al.

    IC insertion: An application of the traveling salesman problem

    International Journal of Production Research

    (1989)
  • Cited by (0)

    View full text