Sie sind auf Seite 1von 13

Int J Adv Manuf

Technol
DOI 10.1007/s00170-010-2920-
z
ORIGINAL
ARTICLE

Modeling the machine configuration and line-balancing


problem of a PCB assembly line with modular
placement machines

Aiying Rong & Attila Toth & Olli S. Nevalainen &


Timo Knuutila & Risto Lahdelma

Received: 10 May 2010 /Accepted: 25 August


2010
# Springer-Verlag London Limited
2010

Abstract This paper studies the combined task of determin- Keywords Printed circuit board assembly . Reconfigurable
ing a favorable machine configuration and line balancing machine modules . Line balancing . Integer programming .
(MCLB) for an assembly line where a single type of printed Mixed integer linear programming
circuit board is assembled by a set of interconnected,
reconfigurable machine modules. The MCLB problem has
been solved previously by heuristic methods. In the present 1 Introduction
work, we give a mathematical formulation for it and transform
the model into a linear integer programming model that can be In modern electronics manufacturing, automated assembly
solved using a standard solver for problems of moderate size. systems are used to mount the electronic components at
The model determines the best machine configuration and prespecified locations onto printed circuit boards (PCBs). A
allocation of components to the machine modules with the PCB assembly line is typically laid out as a flow line of
objective of minimizing the cycle time. Because the solutions different types of machines. They are connected to each
found in this way are globally optimal, they can be used to other by a conveyor which transfers PCBs from one
evaluate the efficiency of previous heuristics designed for the machine to another in the line. Each PCB has to visit all
MCLB problem. In our experiments, an evolutionary algo- the machines before it exits the line [ 1, 2 ].
rithm gave near optimal results. The PCB assembly process consists of five major
operations [ 3 , 4 ]: application of adhesive or solder,
component placement, reflow, cleaning, and testing and
inspection. Among these operations, the component place-
ment is generally the most time-consuming [ 5– 7]. It is
A. Rong
: O. S. Nevalainen : T. Knuutila (*) : R. Lahdelma
frequently a bottleneck of an assembly line and determines
Department of Information Technology and
TUCS,
University of the line’s cycle time [ 8 ].
Turku,
20014 Turku, There are three major tasks in planning and scheduling
Finland
e-mail: PCB assembly processes [ 9 ]: job grouping, line balancing
knuutila@utu.fi
(component allocation), and sequencing of placement
A. Toth
Juhasz Gyula Faculty of Education, University of operations. The first task is concerned with grouping
Szeged, Hungary various types of PCBs into families to reduce the setup
time of the machines when moving from a product to
R. Lahdelma
ano ther. The second task deals with the allocation of
Department of Energy Technology, Aalto
University,
00076 Aalto, component types to machines, and it defines the workload
Finland among the machines when producing a single product. The
A. Rong third task is concerned with sequencing the placement
CEMAPRE (Center for Applied Mathematics and
operations within each machine to speed up the assembly.
Economics),
ISEG-Technical University of
Lisbon,
Rua do Quelhas All these tasks are highly interrelated. However, each of
6,
1200-781 Lisbon, them is in most cases very complex when formulated as a
Portugal
Int J Adv Manuf
Technol

mathematical optimization problem. It is therefore in considered. This will give a number of constraints
practice impossible to solve these problems simultaneously. concerning the settings of a line of reconfigurable machine
There is a great diversity in assembly machines modules, making the MCLB problem much more compli-
employed in the industry. Ayob and Kendall [ 1 ] classified cated and harder to solve. When the components are
the surface mount technology (SMT) placement machines mounted on the PCBs, all the modules are working
into five categories based on the machine types: dual concurrently. Therefore, the highest workload among the
delivery, multistation, turret type, multihead, and sequential modules in the line determines the actual output rate, which
pick-and-place. The reconfigurable modular machines is inversely related to the cycle time (the time for producing
treated in this paper belong according to this classification a single PCB). Thus, minimizing the cy cle time can be
to the type of multistation machines, and their modules are taken as the objective of the problem. The cycle time is the
a kind of multihead placement machines, also called maximum time that any of the machine modules needs to
collect-and-place machines [ 10 ]. Tirpak et al. [ 11 ] provided complete its assembly task on the PCB.
a simulation toolkit for optimizing the PCB assembly lines The modular reconfigurable placement machines repre-
based on a classification of SMT equipment. sent one of the most recent developments and popular types
The firms that build flexibility into their manufacturing of SMT assembly machines used in electronics industries
systems have a competitive edge [ 12 ]. The need for (e.g., Fuji NXT or Siemens SIPLACE) to respond to the
increased flexibility and productivity in PCB assembly application’s demanding high-speed chip placement, highly
has recently led to the development of modular reconfig- flexible end-of-line placement, or a combination of both.
urable placement machines, consisting of a number of small Toth et al. [ 13 ] described the MCLB problem and gave a
individual placement units. Besides offering higher assem- metaheuristics for it. Here, we use a different approach to
bly speed and lower effort in material handling compared the same problem: we target to find optimal solutions of the
with conventional machine types, modular reconfigurable problem and resort to mathematical programming methods.
placement machines provide the possibility to change the To our knowledge, there is no such research work existing
setting of machine modules flexibly so that the machine up to now because this machine type has not yet received
configuration is suitable for the particular needs of the PCB attention in the academic literature.
type to be processed. The main contribution of this paper is that the combined
Each reconfigurable module operates with the working MCLB problem is formulated as a mathematical optimiza-
principle of a collect-and-place placement machine, i.e., tion model that can in principle be used to determine the
collective fetching and individual placements of the electronic exact solution to the problem. The first formulation is a
components [ 3 , 10]. The line-balancing problem of reconfig- nonlin ear model which is then transformed into a linear one.
urable modular machines comprises the simultaneous ma- We also give a formulation for checking just the feasibility of
chine configuration and component allocation among the MCLB problem. It turns out that one can find optimal
different machines to balance the workload. This problem solutions of the model for small- and medium-sized problem
is called the machine configuration and line-balancing instances. Using these solutions as references, we can
(MCLB) problem (see Toth et al. [ 13 ] for heuristic solution evaluate the performance of heuristic algorithms. This is
of the problem). demonstrated by verifying the quality of an evolutionary
This paper investigates a single PCB assembly line with MCLB algorithm [ 13 ].
a set of reconfigurable machine modules where a single Due to high cost of placement machines, the optimization
type of PCB is assembled. A preliminary (and heavily of the assembly process can, no doubt, increase the
shortened) presentation of these ideas was earlier given in manufacturing companies’ competitiveness. Furthermore,
[14 ]. Optimal configuration of a production line consisting under the mathematical framework, the problem can be
of modular reconfigurable placement machine(s) is a described more rigorously and more accurately under certain
difficult task. Each module is equipped with a stationary mild assumptions. This facilitates understanding the problem
PCB holding table, stationary component feeder unit, and a better. Even though the line-balancing problem in its simple
single moveable arm with a single changeable placement form is already a NP-hard combinatorial optimization
head. There are several different head types. Each of them problem [ 15 ], some exact solution approaches such as
may hold a certain set of component nozzles. As a PCB branch-and-bound (BB) algorithms have been used to solve
contains many components in different shapes, sizes, and certain variants of the line-balancing problems [ 16 ].
patterns, different component types require different nozzle The paper is organized as follows: Section 2 gives a brief
types. The efficiency of the line depends on the combina- overview of the relevant research on the topic. Section 3
tion of different modules equipped with different types of presents a mixed integer linear programming (MILP)
heads and nozzles. For each module, the compatibility of formulation for the MCLB problem. In addition to the
heads, nozzles, and component types must then be MCLB optimization model, a simpler integer formulation
Int J Adv Manuf
Technol

for checking the feasibility of the machine configuration of Tailored heuristic approaches have often been used to
PCB assembly line is presen ted. The problem formulation solve the line-balancing problem in PCB assembly. For
of the MCLB problem is slow to solve by means of example, Tazari et al. [ 25 ] solved the problem by combing
standard MILP optimizers. In order to speed up the solution the network flow approach and shortest-path-based multi-
process, Section 4 gives some relaxations by analyzing the exchange local search. Häyrinen et al. [ 26 ] and Yildirim et
structure of the problem. In Section 5 , we present numerical al. [ 27 ] developed dispatching rules to allocate the
results for a set of test problems and evaluate the effect of component types to the machines in the assembly line.
the relaxations given in Section 4 . The main results of the Choudhury et al. [ 28 ] decomposed the process planning
paper are summarized in Section 6 with discu ssion on some decisions into four related problems and proposed efficient
possible future research directions. heuristics to solve them. Yilmaz et al. [ 2] applied some
specialized heuristics under the simulation framework.
Application of metaheuristics is also common. Ji et al.
2 Literature review [8 ] and Kulak et al. [ 29 ] presented a genetic algorithm to
allocate the placement operations to the machines in the
PCB assembly lines are flow-oriented production systems, line. Wan and Ji [ 30 ] gave a tabu search heuristic approach.
which have common characteristics of assembly lines in the Khoo and Alisantoso [ 31 ] proposed an immune algorithm.
industrial production of high quantity standardized commod- For reconfigurable modular machines, Toth et al. [ 13 ] used
ities and low volume production of customized products. an evolutionary algorithm (EA) to solve the problem.
Among the optimization problems which arise in managing
such systems, assembly line balancing is important for
manufacturing companies to improve their productivity and 3 Problem description and formulation
minimize production costs [ 17 , 18 ]. Assembly line-balancing
problems are in most cases NP-hard [ 15 ]. The line-balancing 3.1 Machine configuration and line-balancing problem
problems in a general sense or in their basic form have
attracted attention of academic researchers and industrial The combined MCLB problem consists of two interrelated
practitioners for many years [ 17 , 19 , 20 ]. decisions: determining the machine configuration and
In PCB assembly, the line-balancing problems appear allocation of components to be placed by the different
when the component types are allocated to the machines in machine modules.
the line. One can classify the solution approaches for the Figure 1 illu strates the machine modules and their
line-balancing problem into three categories: mathematical arrangement along the production line. A conveyor carries
programming-based approach (optimization approach), tai- the PCBs from one module to the next. The different
lored heuristics, and metaheuristics. modules operate concurrently, but their working areas are
Ammons et al. [ 9 ] were among the first to investigate the fairly narrow. If the PCB is wide, this means that each
problem of balancing the workload in PCB assembly systems module can only access a section of the PCB at a time, and
by allocating the component types to the machines in the line. it may be necessary to advance the conveyor during the
They formulated the problem as an integer programming assembly process.
model and applied both a heuristic approach and a standard Each module is equipped with a stationary PCB holding
research software package to solve the problem. Lin and table, a stationary component feeder unit, and a moveable
Ta rdif [ 21 ] investigated the PCB assembly line balancing arm with a multinozzle placement head. The component
considering the uncertainty in demand and capacity under feeder unit holds a limited number of positions (slots) for
the stochastic mixed integer programming framework. They component feeders. The component feeders may be of
also presented an approximate solution procedure based on several different types, like tapes, sticks, etc. Each of the
solving the expected value model. The research direction of feeders holds components of a single type. Each component
mathematical programming-based approaches was further feeder occupies a certain number of slots on the feeder unit
pursued by many other researchers [ 4 , 22 – 24 ]. Sze et al. [ 4] depending on the width of the individual components.
presented several mathematical models for the line-balancing The reconfigurable placement machine module works
problem. Then, the models were compared with some similar similar to a collect-and -place machine [ 3 , 10 ]. The machine
models to search an applicable algorithm. Lapierre et al. [ 24 ] module operates in cycles of pickin g up and placing
applied Lagrangian relaxation techniques to solve the components on the PCB. During each cycle, the placement
problem. Kodek and Krisper [ 23 ] developed an efficient head travels first to the feeder unit and picks up a number
BB algorithm to handle the problem. Hiller and Brandeau of components from the component feeders one by one
[22 ] used both the BB algorithm and a specialized heuristic using nozzles attached to the head. Each nozzle can grasp
algorithm to solve the problem. one component on the same cycle. Then, the placement
Int J Adv Manuf
Technol
Fig. 1 Modular
component
placement
system

head traverses to the PCB and places the components one & Enough copies of each head type and nozzle type are
by one at their predefined locations. The total time for these available.
cycles depends on several factors including assignment of
The first assumption simplifies computation of the
nozzles to head, placement ordering, feeder assignment, etc.
number of pick-and-place cycles and reduces the number
The cycle time is the sum of picking up and placing time
of constraints in the original formulation. This assumption
plus the movement time of the placement head between the
is not very restricting, because in reality, there is typically
feeder unit and the PCB.
for each component type a primary nozzle type that is ideal
Reconfigurable machine design means that each ma-
for placing it. The primary nozzle type is applied whenever
chine module can be equipped with different head types,
possible. Using a secondary nozzle type may impose
nozzle types, and feeder units to match the particular PCB
quality problems in form of higher failure rates and lower
assembly task. Only one head is assigned to each module,
quality. A secondary nozzle type is therefore used only if
but the head can carry multiple nozzles based on the
no feasible configuration using the primary nozzle can be
compatibility between the head and nozzle types. The head
found. The first and second assumptions together impose
can be equipped with different nozzle types or multiple
restriction on the module-head assignment because it
copies of the same nozzle type. The present study omits the
follows transitively that a component type can be handled
effect of the topology of the PCB and the ordering of the
by only one head type. The corresponding head type that
arrangement of the component feeders within the feeder
can handle the component type must be installed in the
unit. The study thus lets the processing time of a machine
module once a component type is assigned to a module.
module be linearly dependent on the number of component
The third assumption makes it possible to choose any head
placements and on the number of pick-and-place cycles
type for a module and any no zzle type for a head purely
performed by the module. This simplification is partially
based on the compatibility of the matrix between head and
justified by the small physical dimensions of the modules
nozzle types. However, it would be easy to extend our
and thus stresses the importance of the partitioning of the
model with constraints on the number of copies of head and
assembly tasks to different modules.
nozzle types.
The compatibility between head types and nozzle types
In determining the component allocation, the important
(meaning that a certain head type can handle a certain set of
considerations include whether a particular component can
nozzle types), the component types and nozzle types
be placed by a particular machine module based on its
(meaning a certain nozzle type can handle a certain set of
configuration, the width of the component, the capacity of
component types), and the component types and head types
the feeder u nit attached to the machine module, the amount
(which transitively follows from previous two relations) are
of time required by the machine module to pick and place
given by binary matrices. A value of one in the compati-
the components, and the amount of time required by the
bility matrix means that the type represented by the row is
machine module to perform the necessary moves between
compatible to the type represented by the column.
the feeder unit area and the PCB area. The last two time
To facilitate modeling, the present study makes the
factors can only be estimated when the component
following assumptions, similar to Toth et al. [ 13 ].
allocation is solved independently of the other tasks as
& A component type can be handled by only one nozzle type. described in the introduction. Here, these two time factors
& A nozzle type can be handled by only one head type. are assumed to be given.
Int J Adv Manuf
Technol

3.2 Problem formulation subject to

The following notations are given to formulate the MCLB X


yhl ; i ¼ 1; l 2 L; ð2Þ
problem (see [ 14 ]): i2H

Indices X
zl ; j M Bhn yh ; l 2 L; j 2 N; ð3Þ
i 2H i;j l;i
i head type
j nozzle type X X
l machine module, and zl ; j Gi yh ; l 2 L; ð4Þ
j2N i 2H l;i
k component type.
X
Sets ya Ban zl ; j ; l 2 L; k 2 A; ð5Þ
l;k j2N k; j

A component types
H head types xl ; k Myal ; k; l 2 L; k 2 A; ð6Þ
L machine modules, and
X
N nozzle types. Ek ya F l ; l 2 L; ð7Þ
k2A l;k

Parameters X
Bh n 0–1 matrix stating whether head type i is compatible xl ; k ¼ D k ; k 2 A; ð8Þ
i;j l 2L
with nozzle type j
Ba n 0–1 matrix stating whether component type k is
k ;j X
compatible with nozzle type j xl ; kBa n wl zl ; j ; l 2 L; j 2 N; ð9Þ
k2A k ;j
Dk number of components of type k that need to be
placed on the PCB
Ek feeder width of component type k yh 2 0;fg;1 l 2 L; i 2 H; ð10Þ
l;i
Fl width (capacity) of the feeder unit attached to module l
Gi maximum number of nozzles that can be attached to
ya 2 0;fg;
1 l 2 L; k 2 A; ð11Þ
head type i l;k

M a big positive number


T pp average pick-and-place time of module l for each xl ; k 2 0;fg;...;l 2DL; k k2 A; ð12Þ
l
component, and
T tr average traveling time factor per pick-and-place cycle
l
for module l performing the movements between the wl 2 0;fg;...;l 2max
L; ð13Þk fgDk
feeder unit and PCB.

hn
zl ; j 2 0;fg;...;l 2max
L; j 2 N;i fgiG2i H B ¼ 1: ð14Þ
Decision variables i;j

x number of components of type k that are placed by


l, k
module l The objective function 1 is to minimize the maximum
zl, j number of nozzles of type j that are attached to processing time of the machine modules. The machine

module l module with the maximum processing time is the bottleneck


w number of pick-and-place cycles performed by module that determines the output of the production system.
l
module l The processing time of the machine module is the sum of the
yh binary variable indicating whether head type i is picking up and placing time of the components allocated to
l;i
attached to module l, and the machine module (the first term) and the traveling time
ya binary variable indicating whether component type k between the feeder unit and PCB (the second term).
l;k
is allocated to module l. Constraints 2 mean that exactly one head is attached to
each module. Constraints 3 state that one or more copies of
a nozzle type can be assigned to a module only if it is
The MCLB problem can be formulated as follows: compatible with the head assigned to the module. Con-
straints 4 mean that the total number of nozzles attached to
X a head cannot exceed the capacity of the head. Constraints
Minimize max T pp xl ; k þ T tr wl ð1Þ
l 2L k 2A l l 5 mean that a component can be allocated to a module only
Int J Adv Manuf
Technol

if it is compatible with at least one nozzle that has been Constraint 17 restricts the value of w only when exactly
l
attached to the module. Constraints 6 allow one or more c copies of the nozzle are installed. If the next (c+1) st
copy
copies of a component type to be placed by a module only of the nozzle is present, then the M term deactivates the
if the component type has been allocated to the module. constraint. If the (c+1) s t copy of the nozzle is missing, then

Constraints 7 state that the total width of the component the constraint is dominated by the previous instan ce of the
types allocated to a module cannot exceed the capacity of constraint (corresponding to c installed nozzles). Constraint
the feeder unit. Constraints 8 mean that all compo nents of 18 treats the case corresponding to c =|C j
| copies of nozzle
each type must be allocated to modules. Constraints 9 type j.
determine the number of pick-and-place cycles w l
for each The new binary variables replace z l, j
in the model.
module l. These inequality constraints state that for each Constraints 3 are replaced by the following two sets of
nozzle type j, the number of cycles must be large enough to constraints:
allow the z l, j copies of the nozzle type to place out those X
allocated components that are handled by that nozzle type. ynl ; j; 1 Bhn yh ; l 2 L; j 2 N; ð19Þ
i;j l;i
i 2H
(Recall the assumption that each component type is handled
by a single nozzle type). Constraints 10 – 14 define the
domains of the decision variables. In 14 , each {G }is yn yn ; l 2 L; j 2 N; c ¼ 2; ...; C j
: ð20Þ
l ; j; c l ;j ; c 1
i
actually a singleton set due to the assumption above.
Constraints 19 state that the first copy of the no zzle can
The objective function 1 and the constraints 9 introduce
be assigned to a module only if it is compatible with the
nonlinearity in the model. Therefore, the above model
head assigned to the module. Constraints 20 state that the
formulation should be transformed into an equivalent linear
c th copy of a nozzle can be added only if the (c-1) s t copy
model so that a standard software package can be used to
exists.
solve it.
Constraints 4 and 5 are replaced by
X X X
3.3 Linearization of the model yn G yh ; l 2 L; ð21Þ
l;j;c i l;i
j2N c2 C j
i2H
The objective function 1 can be linearized by stand ard
P
techniques. By writing t ¼ max Tp p x þ T t rw , X
k 2A l l;k l l
l2L
objective 1 can be reduced to ya Ban yn ; l 2 L; k 2 A: ð22Þ
l;k j2N k; j l ; j ; 1

Minimize t ð15Þ Finally, the domain of new variables is defined.

ynl ; j; c 2 0;fg;1 l 2 L; j 2 N; c 2 C ; ð23Þ


X j

Tp p xl ; k þ T t rw
l
t ; l 2 L: ð16Þ
k 2A l l

t 0: ð24Þ
Linearization of the product of two variables in
constraints 9 is more complicated. To do that, constraints As a result of the above transformation, objective
9 should be rewritten by counting values of z sequentially, function 15 with constraints 2 , 6 – 8, 10 –13 , and 16 –24
l, j
i.e., 0, 1,.... This produces sets of linear constraints. However, forms a standard MILP model for the MCLB problem. The
only one of these constraint sets should be active. To encode problem can be solved by a standard MILP solver.
the activation and deactivation of the linear constraints, new However, both the number of constraints and number of
binary variables y n need introducing. Variables y n
variables increase significantly due to this transformation.
l ; j ;c l;j;c
indicate the c th copy of nozzle type j is installed on module
l for each c 2 C j
. C j ¼ 1;
fgi...;2 max
HB i
fgG i hn ¼1 3.4 Finding feasible solutions
i; j
Here is the set of copies of nozzle type j.Constraints 9 can
now be replaced by the following two sets of linear It is useful to find out if the MCLB problem is feasible or
constraints: not, prior to starting the search for the optimal or
suboptimal solution. If it turns out that no feasible solution
X
x l; kBan cw l þ My h ;l 2 L; j 2 N; c ¼ 1; ...; 1; exists, a more time-consuming optimization process can be
k;j l ; j ;c þ 1 j
k 2A C avoided. A known feasible solution provides an upper
ð17Þ
bound for the optimal solution, and during, e.g., branch-
and-bound search, this bound can be used to prune
X unpromising branches from the search tree. This can greatly
xl ; kBan C j wl ; l 2 L; j 2 N: ð18Þ speed up the search, in particular if the upper bound is close
k 2A k; j
Int J Adv Manuf
Technol

to the true optimum. Also, several heuristic methods for 3.5 A sample MCLB problem
solving the problem can benefit from a known feasible
solution, either as a starting solution or as providing an To facilitate understanding the structure of the MCLB
upper bound for the optimum. problem, a simple numerical example is presented in
A simpler version of the MCLB problem can be formulated Table 1 . The data originate from [ 13 ].
in order to test the feasibility of a particular MCLB instance.
Infeasibility can be caused by not having enough space in the
feeder units to accommodate all component types or by not 4 Relaxations
having enough space in the heads to allocate all required
nozzle types. The possibility of having multiple copies of the Generally speaking, a standard MILP solver cannot handle
same nozzle type in one head does not affect the feasibility. It combinatorial optimization problems of Section 3 efficient-
may speed up the operation of a single machine by reducing ly. Here, the structure of the MCLB problem is briefly
the number of cycles made by the machine. Also, the analyzed to speed up the solution process. To facilitate this
allocation of a certain component type on multiple machines analysis, it is assumed that the traveling time factors T t r are
l
does not affect feasibility; however, it may speed up operation the same for all of the machine modules, i.e.,
by balancing the workload. a ¼ T t r ðÞ.
l 2 Then,
L a=0 means that the traveling time
l
The feasibility of the MCLB problem can therefore be is totally ignored. When a 0 (>0), the value of a reflects
detected using a relaxed model obtained by removing the the relative value of traveling time as compared with the
objective function, and the equations related to the pick-and-place-time.
computation of the number of placements and cycles. In
particular, this means 4.1 Ignoring traveling time

& omitting the w l


variables,
When a= 0, the second term in objective function 1 is
& replacing the variables x l, k
by y a
l ;k ignored. The problem becomes easier, and the problem size
& replacing the variables z l, j
by y n (binary variable
l;j decreases significantly. Variable w and constraints 9 of the
indicating whether nozzle type j is attached to module l), l
original formulation become then unnecessary. In the
& omitting constraints 6 and 9 , and
meanwhile, a general integer variable z reduces to binary,
& setting D k
=1. l,
and M equals 1 in constraints 3 (see constraints 26 ). This
As a result, the feasibility can be checked by solving the means that a single copy of each nozzle type is sufficient,
following set of constraints as an integer linear program- and all constraints are linear. In fact, the feasibility test
ming problem with an arbitrary objective function: model presented in Section 3.4 is related to the case a= 0.
X That is, the linearity transformation of the nonlinear
yh ¼ 1; l 2 L; ð25Þ constraints is needed only when a 0. The objective
i2H l;i
function only introduces trivial nonlinearity, which can be

X handled by the standard techniques as shown in Section 3.


yn Bh n yh ; l 2 L; j 2 N; ð26Þ Consequently, the number of constraints and the number of
l;j i2H i;j l;i
decision variables decrease significantly as compared with
the case a 0.
X X
Under the assumptions made in Section 3.1 , since a
ynl ; j G i yhl ; i ; l 2 L; ð27Þ
j2N i2H component type can be handled by only one nozzle type
and a nozzle type can be handled by o ne head type, it
X follows transitively that a component type can be handled
ya Ban yn ; l 2 L; k 2 A; ð28Þ by only one head type. Consequently, the solution of the
l;k j 2N k; j l ; j
case with a= 0 bears some similarity to the case a 0. Both
the cases with a=0 and a 0 consider the balance of
X
E ya F ; l 2 L; ð29Þ component allocation among the machine modules. This
k l;k l
k 2A
means that the module-head assignment should be the same
for a=0 and for a 0 because the corresponding head type
X must be installed in the module once a component type has
ya ¼ 1; k 2 A; ð30Þ
l;k
l2L allocated to a module. The difference for a 0 lies in the
fact that more copies of some nozzle types are needed to
handle some frequently used component types to reduce the
yh ; yn ; ya 2 0;fg;
1 l 2 L; i 2 H; j 2 N; k 2 A: ð31Þ
l;i l ;j l;k number of pick-and-place cycles for a module.
Int J Adv Manuf
Technol

Table 1 A sample MCLB


problem
Number of component types | 8
A|
Number of machine modules | 4
L|
Number of head types |H| 2
Number of nozzle types |N| 5
Number of placements for component type k, k
ðÞ
k2A D1 =30; D 2
=20; D 3
=10;
D
D4 =5;
D5 =3; D 6 =3; D 7 =2; D 8 =1;

hn ðÞ
11100
Head-nozzle compatibility matrix jjHN jj¼ 2 5
00011
B

10000
10000
01000
00100
Component-nozzle compatibility matrix a nðÞ
jA
jN jj¼ 8 5
B 00100
00010
00001
00001

Feeder width of component type k, k ðÞ


k2 A E1 =1; E 2 =2; E 3 =3; E 4 =4;
E
E5 =5; E 6 =5; E 7 =5; E 8 =7;
Number of nozzles attached to head type i, i ðÞ
i2 H G1 =4; G 2 =1
G
Feeder capacity F l ðÞ
l2L F1 =F 2 = F3 =F 4 =12
pp ðÞ pp ¼ T pp ¼ T pp ¼ T pp ¼2
Time factors Picking and placing time, l
l 2TL 1 2 3 4
T Traveling time tr ðÞ
l 2TL tr ¼ T t r ¼ T t r ¼ T t r ¼ 1
l 1 2 3 4
T

Therefore, when a problem instance a 0 is solved, one potential bottleneck module handles. What is more impor-
can fix the module-head assig nment based on the solution tant is that the relaxation maintains the feasibility of the
for a=0. This can speed up the solution process signifi- module-head and nozzle-head assignments.
cantly. In addition, when a=0, the solution can identify the However, a straightforward round-up (down) process
potential bottleneck modules, and it gives a rough number may not give a good feasible solution, especially when a is
of components that the bottleneck modules should handle. relatively large. When a is small, the pick-and-place time
It is possible that more than one module becomes a of the components accounts for a large portion of cycle
potential bottleneck module. However, in a general situa- time, and the amounts of the components allocated to the
tion, if a no zzle type can be handled by more than one potential bottleneck modules are roughly same. However,
head type, and a component type can be handled more for a large a, the traveling time between feeder unit and
than one nozzle type, then this may cause that a PCB would account for a large portion of the total
component type will be handled by more than one head processing time. Component allocation among the potential
type. Consequently, the head-module assignment for a =0 bottleneck modules tends then not to be as even as for
may not be same as for a 0. smaller a. There is a trade-off between the traveling time
and pick-and-place time. It is all possible that the bottleneck
4.2 Partial model relaxation module will change if both x and w are restricted to be
l, k l
integers. The component allocation among the potential
For a 0, one can relax the integer variables x l, k
(the bottleneck modules needs adjusting to get a good trade-off,
number of compo nents of type k that are placed by module and search for the optimal component allocation becomes a
l) and w l (the maximum number of pick-and-place cycles of hard task to do.
module l) into real variables. In most cases, such a relaxed
problem is much easier to solve than the origin al integer
programming problem. The solution of the relaxed problem 5 Computational results
serves as a lower bound for the original problem. It gives a
rough number of components that the potential bottleneck To evaluate the effectiveness of the model presented in
nozzle handles and a rough number of components that the Section 3 and the effect of the partial model relax ation
Int J Adv Manuf
Technol

Table 2 Three small-sized problem instances and one big problem instance (instance 4) and related sizes of the MILP model (number
of
constraints×number of variables)

Instance Modules |L| Head types |H| Nozzle types |N| Placements Feeder Variables
Component types |A| S k |Dk | capacity F Constraints
a=0 a 0 a=0 a 0

1 8 5 2 5 55 10 121 166 131


2248
8 4 2 5 74 12 97 131 108
200
3 10 5 3 8 100 20 161 331 170
550
4 20 8 4 10 320 30 441 753 452
1,156

given in Section 4.2 , a standard MILP software package of the two modes are same. All the 40 (4 × 5× 2) test runs
[32 ] is used to solve the MCLB instances reported in [ 13 ]. were performed in a 2.79-GHz (1 GB RAM) Pentium 4 PC
The solver is a standard branch-and-bound algorithm, under the Windows XP operating system.
which solves the underlying linear relaxation problems by Table 3 gives the time used by the MILP solver for
sparse revised simplex code using the product form of modes O and R with a=0, 1, 2, 5, and 10. The solutions for
inverse. The smaller test problems reflect real life PCB jobs a 0 have been obtained by initializing the optimizer with a
in the proportional sense for the number of nozzle types and module-head assignment founded by setting a=0. This
number of component types. The bigger test problems improved the time usage of the solver by a factor from 2 to
approximate real life cases. Table 2 shows these problem 5 as compared with the situation where the solution process
instances and their sizes as MILP models (number of started from the scratch.
constraints ×number of decision variables). The detailed Table 3 indicates that the time for solving the optimiza-
data for case 2 is given in Table 1 . It is assumed that the tion model is sensitive to both the problem size and the
traveling time factors a ¼ T t r ðÞare
l 2 L the same for all of traveling time factor a. The solution efficiency of the
l
the machine modules. The MCLB problems are solved optimization model with the O and R modes differs
using five traveling time factors: a= 0, 1, 2, 5, and 10. The significantly. The solution time for the R mode is much
value a= 0 means that the arm traveling time is ignored; a= shorter than for the O mode if the problem is solvable.
1, 2 mean moderate traveling time in comparison to the Generally speaking, for the same problem instance, the
pick-up time; and a= 5, 10 mean large traveling time. The solution times for both modes O and R have the tendency to
value of a affects the problem size (see the two last increase as a increases (though not strictly monotonically).
columns of Table 2 ). When a=0, the problem size is much For a=0, the solution time is short. This mean s that the
smaller than for a 0 as discussed in Section 4 . When a 0, trade-off between pick-and-place time and traveling time
the value of a affects how the components are allocated becomes more difficult to manage as the traveling time
among the machines. This also has an impact on the time factor a becomes large for both modes. Therefore, it is not
used by the MILP solver (see Table 3 ). surprising to see that it is even difficult to solve the
For all these cases, the optimization model was run in relaxed version of the problem for a>1 of the problem
two modes. The first is the relaxation mode (R) of instance 4. In addition, the solution time increases (though
Section 4.2 . The second is the true optimization mode (O) not strictly monotonically) as the problem size increases
of the model introduced in Section 3.3 . For a= 0, the results (see Table 2 ). Furthermore, it is easy to check whether the

Table 3 Times (seconds) used by the MILP solver for the MCLB problem instances with optimization mode (O) and relaxation mode
(R)
Instance a=0 a=1 a=2 a=5 a=10

O, R O R O/R O R O/R O R O/R O R


O/R
1 0.31 150 78 1.9 832 72.7 11.4 704 79.5 8.9 3,215 171
218.8
0.2 6.7 4.9 1.4 8.2 4.8 1.7 51.7 3.2 16.2 93 7.9
11.8
3 0.24 2,684 1,437 1.9 1,299 806 1.6 22,733 660 34.4 15,339 391
39.2
4 2.2 51,208 419 122 – ––– –––
––
O/R is the ratio of solution time for the optimization mode against relaxation mode. Instance 4 with a> 1 was too time-consuming to solve.
The
tests were performed in a 2.79-GHz (1 GB RAM) Pentium 4 PC under the Windows XP operating
system
Int J Adv Manuf
Technol

Table 4 Solution values 15) of the optimization mode (O) and relaxation mode (R) as well as the gap of the relaxed
(formula solution
Instance a=0 a=1 a=2 a=5 a=1 0

O, R O R GAP (%) O R GAP (%) O R GAP (%) O R GAP


(%)
1 34 39 37.8 3.08 44 42.2 4.09 59 55.6 5.76 84 78
27.38
68 78 77.4 0.77 88 86.9 1.25 116 116 0.34 166 164
0.96
3 90 96 95.8 0.21 102 102 0.29 120 119 0.67 150 149
0.93
4 112 120 119 0.75 –– – –– –
–––
Instance 4 with a >1 was too time-consuming to
solve

configuration of the modular system is feasible based on of component placements to machine modules, and the
the feasibility test model of Section 3.4 because the assignment of nozzles to heads.
structure of the feasibility test model is similar to the case The first and the last subproblem are solved using a
a= 0 and simpler. greedy method, whereas the second one is solved by an EA.
Table 4 gives the solutions (i.e., values of formula 15 ) This algorithm is based on the component-to-machine
for the two modes with different values of a as well as the mapping, similar to variable x l, k
here in the optimization
gap between the relaxed and optimal solution s. model, and its objective function is 1 with the difference
that the number of pick-and-place cycles w l
is relaxed to a
GAP %
ðÞ¼100 » ðÞ=z
z z ; ð32Þ
o R o real number. The EA of Toth et al. [ 13 ] was applied by
where z is the value of the solution for the relaxation using 10 individuals in each population and 100 gener-
R
mode, and z o is the optimal solution. ations. The EA was coded in Toth et al. [ 13 ] in MatLab and
It turns out that GAP varies without any clear trend. performed in a PC with 2.33 GHz (2 GB RAM) under the
However, a feasible solution of the original problem can Windows Vista operating system. The solution times of EA
always be obtained based on the relaxed solution. are reported in Table 7 . To facilitate comparison, an
Table 5 shows for the sample problem of Table 1 (a = equivalent relaxation solution was also constructed from
10) the module-head and module-nozzle-nozzle number the solution of the mode R, and this approach was called R'
assignment found by the R mode. Nozzle type 1 turns out (see Table 8 for the results). It is worth mentioning that the
to be a bottleneck nozzle. A total of six copies of it have solutions obtained from approach R' coincide with the
been installed on modules 1 and 3. optimal solution for the related relaxation problems based
Table 6 shows the corresponding module-component on our computational experiences. Table 8 also gives the
assignment for the sample problem. The index c of variable GAP (%) of EA against the optimal solution. The GAP
yn gives the copy number of nozzle type j on module l. measure is similar to 32 .
l;j;c
Similarly, y h indicates the assignment of head type i to The solution time of EA (Table 7 ) is not sensitive to both
l;i
module l. problem size and parameter a. Based on Table 8 , the
Finally, to show the usage of the mathematical model, solutions gen erated by EA are not bad in general. The
we evaluate the quality of solutions found by the EA of optimality gap is reasonably small. This means that the EA
[13 ]. EA approach divides the optimization process into has good potential to handle large size problems with
three subproblems which are solved successively: the different traveling factors a based on both the solution
assignment of heads to machine modules, the assignment quality and solution time.

Table 6 Module-component assignment for the R mode for


Table 5 Module-head and module-nozzle-nozzle copy assignment the
sample problem of 1 (problem instance 2 in 2)(a =10)
for
the sample problem of 1 (problem instance two in 2)(a=10) Table Table
Table Table
h ¼ 1; y h ¼ 1; y h ¼ 1; y h ¼ 1 Component 1 2 3 4 5 6 7 8
Module-head y l
1; 1 2; 2 3; 1 4;2 w
Module-nozzle-nozzle copy y n ¼ y n1; 1;2 ¼ y n1; 1; 3 ¼ 1; y n1; 3; 1 ¼ 1
1; 1;1 Module
y n2; 4;1 ¼ 1
1 7.8 20 5 3
y n3; 1;1 ¼ y n3; 1;2 ¼ y n3; 1; 3 ¼ 1; y n3; 2; 1 ¼ 1 9.27
233
y n4; 5;1 ¼1
3 22.2 10
n 10
The index c of variable y l ;j ; c
means the copy number of nozzle type 4213
on module l. Similarly, j
h indicates the assignment of head type i Dk 30 20 10 5 3 3 2
l ;i
y
module l to 1
Int J Adv Manuf
Technol

Table 7 Solution times (seconds) for running 20 independent runs the cycle time and minimizing the amount of nozzles used
of EA
the
are two conflicting objectives.
Instance a=0 a =1 a=10 Ben efits of the mathematical optimizatio n are that one
can describe the problem rigorously and get an optimal
1 354 350 solution at least for some smaller problem instances. These
2344 306 307 can be used to evaluate the performance of heuristic
308
3 474 480 approaches (see Tables 4 and 8 for this kind of compar-
480
4 500 510 isons). However, even the relaxed version of the model is
510
difficult to solve for large problem instances, and research
on efficient heuristics is therefore needed.
6 Conclusions For the future research, one can follow several directions:

This p aper investigates the MCLB problem of a PCB & A general case of multiple assembly lines with multiple
assembly line with modular reconfigurable machines and a PCB types is of practical interest.
single PCB type to be processed. Such lines are becoming & The assumptions presented in Section 3 can be
popular due to their great flexibility. A reconfigurable removed, i.e., one can then allow that a nozzle type is
machine module can be seen as a multihead placement carried by multiple head types and a component type is
machin e. However, the mathematical modeling of the handled by multiple nozzle types.
MCLB problem has not been extensively researched so & It is possible to develop specialized optimization
far. The MCLB problem was formulated as a nonlinear algorithms by exploring the structure of the problem,
integer programming model, and then, the nonlinear model for examp le, a specialized BB algorithm as mentioned
was transformed into a linear form for solution. above.
The MCLB problem is more comp licated than the & There may be in certain cases some precedence
traditional versions of the line-balancing problem [ 15 , 16 ]. relations between component placements. It is relatively
It has to consider the component allocation and machine straightforward to extend the curren t model to cover
configuration at the same time. In addition, the machine- these, too.
head assignment and machine-nozzle-component assign- & In the current form of the MCLB problem, the
ment were needed to solve while considering the compat- placement cost was estimated by a linear function of
ibility between head and nozzle types, and the compatibility the number of the number of component placements. In
between nozzle and component types. fact, the time consumed by a PCB job depends on
Numerical experiments show that standard solvers are several computationally hard optimization problems,
not sufficient for problem instances of practical size. like ordering the component types on the feeder unit,
However, relaxations of the model structure can speed up arranging the nozzles on the head, solving the partition
the solution process significantly. In our testing, the of component placements to placement cycles, ordering
speedup from relaxations was 2 to 5 times when compared the placement cycles, and performing placement cycles
to solving the original model. This result implies that the (see [ 1] for reference). These problems are normally
relaxation could be used as a basis to develop a specialized solved hierarchically, and many of them heuristically,
BB algorithm for the MCLB problem. perhaps in the above orders. Currently, our assumption
The objective of the current model is to minimize the on linear placement time is therefore the best it can be
cycle time of the placement operations. In order to achieve done. The next natural step is to pursue the lower level
this, it is sometimes beneficial to use several nozzles of the problems mentioned above. While this is a major effort
same type to speed up the placement of frequently used where full production data will be needed, it is still
components. With this in min d, it is clear that minimizing noted that these optimization problems should be in

Ta ble 8 Comparison of
EA
solutions (the relaxation Instance a=0 a=1 a=10
version
of formula 15) against
solutio optimal O(R') EA GAP (%) R' EA GAP (%) R' EA GAP
n (%)
1 34 34 0 38.3 38.3 0 78 78
0
2 68 68 0 78 78 0 166 168
1.2
3 90 90 0 96 96.7 0.73 149.6 152
The results for the EA are the 1.6
4 112 112 0 120 121 0.83 – 190
best of 20 independent –
runs
Int J Adv Manuf
Technol

principle handled starting from several feasible solu- 14. Rong A, Toth A, Nevalainen O, Knuutila T, Lahdelma R
(2009)
PCB assembly line modeling with modular placement
tions of the MCLB problem.
machines. of the 2009 IEEE International Conference
Proceedings
on
Industrial Engineering and Engineering Management
(IEEM
2009), 1097–
Acknowledgments The first author would like to thank
postdoctoral 1101 AL, Nemhauser GL (1964) An algorithm for the
15. Gutjahr
fellowship in University of Turku (Finland) and FCT (Foundation
for line balancing problem. Manage Sci 11:308–
Science and Technology) support (Portugal) through program
POCI 315
16. Baybars I (1986) A survey of exact algorithms for the
2010 for partial funding of this
research. simple
assembly line balancing problem. Manage Sci 32:909–
932 C, Scholl A (2006) A survey on problems and methods
17. Becker
in generalized assembly line balancing. Eur J Oper Res 168:694–
715
18. Lapierre SD, Ruiz A, Soriano P (2006) Balancing assembly
References
lineswith tabu search. Eur J Oper Res 168:826–
837
19. Amen M (2006) Cost-oriented assembly line balancing:
1. Ayob M, Kendall G (2008) A survey of surface mount modelformulations, solution difficulty, upper and lower bounds. Eur
device
placement machine optimization: machine classification. Eur JOper Res 168:747–
JOper Res 186:893– 20. 770Scholl A, Becker C (2006) State-of-art exact and heuristic
914
2. Yilmaz IO, Gunther HO, Jain S (2009) Simulation of solution
procedures for simple assembly line balancing. Eur J Oper
mixedmodel PCB assembly lines with group setup and bypass Res
168:666–
convey-
ors. Int J Adv Manuf Technol 42(3–4):335– 21. 693Lin WL, Tardif V (1999) Component partitioning under
3. 347
Ho W, Ji P, Dey PK (2008) Optimization of PCB demandand capacity uncertainty in printed circuit board assembly. Int
component
placements for the collect-and-place machines. Int J Adv J
Flex Manuf Syst 11:159–
Manuf
Technol 37:828– 22. 176Hiller MS, Brandeau ML (2001) Cost minimization and
4. 836
Sze MT, Ji P, Lee WB (2001) Modeling component workload
balancing in printed circuit board assembly. IIE Trans 33:547–
assignment
problem in PCB assembly. Assem Autom 21:55– 23. 557 Kodek DM, Krisper M (2004) Optimal algorithm for
60
5. Ashayeri J, Selen W (2007) A planning and scheduling model minimizing
production cycle time of a printed circuit board assembly line.
for onsertion in printed circuit board assembly. Eur J Oper JInt Prod Res 42(23):5031–
Res
183:909– 5048
24. Lapierre SD, Debargis L, Soumis F (2000) Balancing
925 OM, Magazine MJ (1988) Sequencing of insertions in
6. Ball printedboard assembly line systems. Int J Prod Res 38(16):3899–
printed
circuit board assembly. Oper Res 36(2):192– 25. 3911Tazari S, Muller-Hannemann M, Weihe K (2006)
7. 201Leipälä T, Nevalainen O (1989) Optimization of the Workload
balance in multi-stage production processes. Lect Notes
movements
of a component placement machine. Eur J Oper Res 38:167– Comput
Sci 4007:49–
8. 177
Ji P, Sze MT, Lee WB (2001) A genetic algorithm of 60
26. Häyrinen T, Johsson M, Johtela T, Smed J, Nevalainen O
determining
cycle time for printed circuit board assembly. Eur J Oper (2000) Scheduling algorithms for computer-aided line balancing
Res
128:175– in
printed circuit board assembly. Prod Plan Control 11:497–
184
9. Ammons JC, Carlyle M, Granmer L, Depuy GW, Ellis 510
27. Yildirim MB, Duman E, Duman D (2006) Dispatching rules
KP,McGinnis LF, Tovey CA, Xu H (1997) Component allocation for allocation of component types in automated assembly of
to
balance workloads in printed circuit card assembly. IIE printed boards. Lect Notes Comput Sci 4263:55–
circuit
Trans
29:265– 64
28. Choudhury ND, Wilhelm WE, Rao B, Gott J, Khotekar N
275
10. Grunow M, Gunther HO, Schleusener M, Yilmaz IO (2007) Process planning for circuit card assembly on a series of dual
(2004) Operations planning for collect-and-place machines in head
placement machines. Eur J Oper Res 182:626–
PCB
assembly. Comp Indust Eng 47:409– 29. 639Kulak O, Yilmaz IO, Gunther HO (2008) GA-based
429 TM, Mohapatra PK, Nelson PC, Rajbhandari RR (2002)
11. Tirpak solution
approach for balancing printed circuit board assembly line.
A generic classification and object-oriented simulation toolkit OR
Spectr 30:469–
for
SMT assembly equipment. IEEE Trans Syst Man Cybern 30. 491Wan YF, Ji P (2001) A tabu search heuristic for the
Syst
Hum 32(1):104– component
assignment problem in PCB assembly. Assem Autom 21(3):236–
121
12. Ahmadi RH, Wurgaft H (1994) Design for synchronized 31. 240Khoo LP, Alisantoso D (2003) Line balancing of PCB
flowmanufacturing. Manage Sci 40:1469– assembly
line using immune algorithms. Eng Comput 19:92–
1483 A, Knuutila T, Nevalainen OS (2010) Reconfiguring
13. Toth 100
32. Lahdelma R,Nurminen J, Ruuth S (1986) Implementations of
flexible
machine modules of a PCB assembly line. Prod Eng Res Dev LP and MIP systems. EURO VIII; Lisbon also in Helsinki
4
(1):85–94 University
of Technology, Systems Analysis Laboratory Research Reports
A18

Das könnte Ihnen auch gefallen