Int J Adv Manuf Technol (2011) 54:349–360
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 / Published online: 9 September 2010
# Springer-Verlag London Limited 2010
Abstract This paper studies the combined task of determining a favorable machine configuration and line balancing
(MCLB) for an assembly line where a single type of printed
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
work, we give a mathematical formulation for it and transform
the model into a linear integer programming model that can be
solved using a standard solver for problems of moderate size.
The model determines the best machine configuration and
allocation of components to the machine modules with the
objective of minimizing the cycle time. Because the solutions
found in this way are globally optimal, they can be used to
evaluate the efficiency of previous heuristics designed for the
MCLB problem. In our experiments, an evolutionary algorithm gave near optimal results.
A. Rong : O. S. Nevalainen : T. Knuutila (*) : R. Lahdelma
Department of Information Technology and TUCS,
University of Turku,
20014 Turku, Finland
e-mail: knuutila@utu.fi
A. Toth
Juhasz Gyula Faculty of Education, University of Szeged,
Szeged, Hungary
R. Lahdelma
Department of Energy Technology, Aalto University,
00076 Aalto, Finland
A. Rong
CEMAPRE (Center for Applied Mathematics and Economics),
ISEG-Technical University of Lisbon,
Rua do Quelhas 6,
1200-781 Lisbon, Portugal
Keywords Printed circuit board assembly . Reconfigurable
machine modules . Line balancing . Integer programming .
Mixed integer linear programming
1 Introduction
In modern electronics manufacturing, automated assembly
systems are used to mount the electronic components at
prespecified locations onto printed circuit boards (PCBs). A
PCB assembly line is typically laid out as a flow line of
different types of machines. They are connected to each
other by a conveyor which transfers PCBs from one
machine to another in the line. Each PCB has to visit all
the machines before it exits the line [1, 2].
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 placement is generally the most time-consuming [5–7]. It is
frequently a bottleneck of an assembly line and determines
the line’s cycle time [8].
There are three major tasks in planning and scheduling
PCB assembly processes [9]: job grouping, line balancing
(component allocation), and sequencing of placement
operations. The first task is concerned with grouping
various types of PCBs into families to reduce the setup
time of the machines when moving from a product to
another. The second task deals with the allocation of
component types to machines, and it defines the workload
among the machines when producing a single product. The
third task is concerned with sequencing the placement
operations within each machine to speed up the assembly.
All these tasks are highly interrelated. However, each of
them is in most cases very complex when formulated as a
350
mathematical optimization problem. It is therefore in
practice impossible to solve these problems simultaneously.
There is a great diversity in assembly machines
employed in the industry. Ayob and Kendall [1] classified
the surface mount technology (SMT) placement machines
into five categories based on the machine types: dual
delivery, multistation, turret type, multihead, and sequential
pick-and-place. The reconfigurable modular machines
treated in this paper belong according to this classification
to the type of multistation machines, and their modules are
a kind of multihead placement machines, also called
collect-and-place machines [10]. Tirpak et al. [11] provided
a simulation toolkit for optimizing the PCB assembly lines
based on a classification of SMT equipment.
The firms that build flexibility into their manufacturing
systems have a competitive edge [12]. The need for
increased flexibility and productivity in PCB assembly
has recently led to the development of modular reconfigurable placement machines, consisting of a number of small
individual placement units. Besides offering higher assembly speed and lower effort in material handling compared
with conventional machine types, modular reconfigurable
placement machines provide the possibility to change the
setting of machine modules flexibly so that the machine
configuration is suitable for the particular needs of the PCB
type to be processed.
Each reconfigurable module operates with the working
principle of a collect-and-place placement machine, i.e.,
collective fetching and individual placements of the electronic
components [3, 10]. The line-balancing problem of reconfigurable modular machines comprises the simultaneous machine configuration and component allocation among
different machines to balance the workload. This problem
is called the machine configuration and line-balancing
(MCLB) problem (see Toth et al. [13] for heuristic solution
of the problem).
This paper investigates a single PCB assembly line with
a set of reconfigurable machine modules where a single
type of PCB is assembled. A preliminary (and heavily
shortened) presentation of these ideas was earlier given in
[14]. Optimal configuration of a production line consisting
of modular reconfigurable placement machine(s) is a
difficult task. Each module is equipped with a stationary
PCB holding table, stationary component feeder unit, and a
single moveable arm with a single changeable placement
head. There are several different head types. Each of them
may hold a certain set of component nozzles. As a PCB
contains many components in different shapes, sizes, and
patterns, different component types require different nozzle
types. The efficiency of the line depends on the combination of different modules equipped with different types of
heads and nozzles. For each module, the compatibility of
heads, nozzles, and component types must then be
Int J Adv Manuf Technol (2011) 54:349–360
considered. This will give a number of constraints
concerning the settings of a line of reconfigurable machine
modules, making the MCLB problem much more complicated and harder to solve. When the components are
mounted on the PCBs, all the modules are working
concurrently. Therefore, the highest workload among the
modules in the line determines the actual output rate, which
is inversely related to the cycle time (the time for producing
a single PCB). Thus, minimizing the cycle time can be
taken as the objective of the problem. The cycle time is the
maximum time that any of the machine modules needs to
complete its assembly task on the PCB.
The modular reconfigurable placement machines represent one of the most recent developments and popular types
of SMT assembly machines used in electronics industries
(e.g., Fuji NXT or Siemens SIPLACE) to respond to the
application’s demanding high-speed chip placement, highly
flexible end-of-line placement, or a combination of both.
Toth et al. [13] described the MCLB problem and gave a
metaheuristics for it. Here, we use a different approach to
the same problem: we target to find optimal solutions of the
problem and resort to mathematical programming methods.
To our knowledge, there is no such research work existing
up to now because this machine type has not yet received
attention in the academic literature.
The main contribution of this paper is that the combined
MCLB problem is formulated as a mathematical optimization model that can in principle be used to determine the
exact solution to the problem. The first formulation is a
nonlinear model which is then transformed into a linear one.
We also give a formulation for checking just the feasibility of
the MCLB problem. It turns out that one can find optimal
solutions of the model for small- and medium-sized problem
instances. Using these solutions as references, we can
evaluate the performance of heuristic algorithms. This is
demonstrated by verifying the quality of an evolutionary
MCLB algorithm [13].
Due to high cost of placement machines, the optimization
of the assembly process can, no doubt, increase the
manufacturing companies’ competitiveness. Furthermore,
under the mathematical framework, the problem can be
described more rigorously and more accurately under certain
mild assumptions. This facilitates understanding the problem
better. Even though the line-balancing problem in its simple
form is already a NP-hard combinatorial optimization
problem [15], some exact solution approaches such as
branch-and-bound (BB) algorithms have been used to solve
certain variants of the line-balancing problems [16].
The paper is organized as follows: Section 2 gives a brief
overview of the relevant research on the topic. Section 3
presents a mixed integer linear programming (MILP)
formulation for the MCLB problem. In addition to the
MCLB optimization model, a simpler integer formulation
Int J Adv Manuf Technol (2011) 54:349–360
for checking the feasibility of the machine configuration of
PCB assembly line is presented. The problem formulation
of the MCLB problem is slow to solve by means of
standard MILP optimizers. In order to speed up the solution
process, Section 4 gives some relaxations by analyzing the
structure of the problem. In Section 5, we present numerical
results for a set of test problems and evaluate the effect of
the relaxations given in Section 4. The main results of the
paper are summarized in Section 6 with discussion on some
possible future research directions.
2 Literature review
PCB assembly lines are flow-oriented production systems,
which have common characteristics of assembly lines in the
industrial production of high quantity standardized commodities and low volume production of customized products.
Among the optimization problems which arise in managing
such systems, assembly line balancing is important for
manufacturing companies to improve their productivity and
minimize production costs [17, 18]. Assembly line-balancing
problems are in most cases NP-hard [15]. The line-balancing
problems in a general sense or in their basic form have
attracted attention of academic researchers and industrial
practitioners for many years [17, 19, 20].
In PCB assembly, the line-balancing problems appear
when the component types are allocated to the machines in
the line. One can classify the solution approaches for the
line-balancing problem into three categories: mathematical
programming-based approach (optimization approach), tailored heuristics, and metaheuristics.
Ammons et al. [9] were among the first to investigate the
problem of balancing the workload in PCB assembly systems
by allocating the component types to the machines in the line.
They formulated the problem as an integer programming
model and applied both a heuristic approach and a standard
research software package to solve the problem. Lin and
Tardif [21] investigated the PCB assembly line balancing
considering the uncertainty in demand and capacity under
the stochastic mixed integer programming framework. They
also presented an approximate solution procedure based on
solving the expected value model. The research direction of
mathematical programming-based approaches was further
pursued by many other researchers [4, 22–24]. Sze et al. [4]
presented several mathematical models for the line-balancing
problem. Then, the models were compared with some similar
models to search an applicable algorithm. Lapierre et al. [24]
applied Lagrangian relaxation techniques to solve the
problem. Kodek and Krisper [23] developed an efficient
BB algorithm to handle the problem. Hiller and Brandeau
[22] used both the BB algorithm and a specialized heuristic
algorithm to solve the problem.
351
Tailored heuristic approaches have often been used to
solve the line-balancing problem in PCB assembly. For
example, Tazari et al. [25] solved the problem by combing
the network flow approach and shortest-path-based multiexchange local search. Häyrinen et al. [26] and Yildirim et
al. [27] developed dispatching rules to allocate the
component types to the machines in the assembly line.
Choudhury et al. [28] decomposed the process planning
decisions into four related problems and proposed efficient
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.
[8] and Kulak et al. [29] presented a genetic algorithm to
allocate the placement operations to the machines in the
line. Wan and Ji [30] gave a tabu search heuristic approach.
Khoo and Alisantoso [31] proposed an immune algorithm.
For reconfigurable modular machines, Toth et al. [13] used
an evolutionary algorithm (EA) to solve the problem.
3 Problem description and formulation
3.1 Machine configuration and line-balancing problem
The combined MCLB problem consists of two interrelated
decisions: determining the machine configuration and
allocation of components to be placed by the different
machine modules.
Figure 1 illustrates the machine modules and their
arrangement along the production line. A conveyor carries
the PCBs from one module to the next. The different
modules operate concurrently, but their working areas are
fairly narrow. If the PCB is wide, this means that each
module can only access a section of the PCB at a time, and
it may be necessary to advance the conveyor during the
assembly process.
Each module is equipped with a stationary PCB holding
table, a stationary component feeder unit, and a moveable
arm with a multinozzle placement head. The component
feeder unit holds a limited number of positions (slots) for
component feeders. The component feeders may be of
several different types, like tapes, sticks, etc. Each of the
feeders holds components of a single type. Each component
feeder occupies a certain number of slots on the feeder unit
depending on the width of the individual components.
The reconfigurable placement machine module works
similar to a collect-and-place machine [3, 10]. The machine
module operates in cycles of picking up and placing
components on the PCB. During each cycle, the placement
head travels first to the feeder unit and picks up a number
of components from the component feeders one by one
using nozzles attached to the head. Each nozzle can grasp
one component on the same cycle. Then, the placement
352
Int J Adv Manuf Technol (2011) 54:349–360
Fig. 1 Modular component
placement system
head traverses to the PCB and places the components one
by one at their predefined locations. The total time for these
cycles depends on several factors including assignment of
nozzles to head, placement ordering, feeder assignment, etc.
The cycle time is the sum of picking up and placing time
plus the movement time of the placement head between the
feeder unit and the PCB.
Reconfigurable machine design means that each machine module can be equipped with different head types,
nozzle types, and feeder units to match the particular PCB
assembly task. Only one head is assigned to each module,
but the head can carry multiple nozzles based on the
compatibility between the head and nozzle types. The head
can be equipped with different nozzle types or multiple
copies of the same nozzle type. The present study omits the
effect of the topology of the PCB and the ordering of the
arrangement of the component feeders within the feeder
unit. The study thus lets the processing time of a machine
module be linearly dependent on the number of component
placements and on the number of pick-and-place cycles
performed by the module. This simplification is partially
justified by the small physical dimensions of the modules
and thus stresses the importance of the partitioning of the
assembly tasks to different modules.
The compatibility between head types and nozzle types
(meaning that a certain head type can handle a certain set of
nozzle types), the component types and nozzle types
(meaning a certain nozzle type can handle a certain set of
component types), and the component types and head types
(which transitively follows from previous two relations) are
given by binary matrices. A value of one in the compatibility matrix means that the type represented by the row is
compatible to the type represented by the column.
To facilitate modeling, the present study makes the
following assumptions, similar to Toth et al. [13].
&
&
A component type can be handled by only one nozzle type.
A nozzle type can be handled by only one head type.
&
Enough copies of each head type and nozzle type are
available.
The first assumption simplifies computation of the
number of pick-and-place cycles and reduces the number
of constraints in the original formulation. This assumption
is not very restricting, because in reality, there is typically
for each component type a primary nozzle type that is ideal
for placing it. The primary nozzle type is applied whenever
possible. Using a secondary nozzle type may impose
quality problems in form of higher failure rates and lower
quality. A secondary nozzle type is therefore used only if
no feasible configuration using the primary nozzle can be
found. The first and second assumptions together impose
restriction on the module-head assignment because it
follows transitively that a component type can be handled
by only one head type. The corresponding head type that
can handle the component type must be installed in the
module once a component type is assigned to a module.
The third assumption makes it possible to choose any head
type for a module and any nozzle type for a head purely
based on the compatibility of the matrix between head and
nozzle types. However, it would be easy to extend our
model with constraints on the number of copies of head and
nozzle types.
In determining the component allocation, the important
considerations include whether a particular component can
be placed by a particular machine module based on its
configuration, the width of the component, the capacity of
the feeder unit attached to the machine module, the amount
of time required by the machine module to pick and place
the components, and the amount of time required by the
machine module to perform the necessary moves between
the feeder unit area and the PCB area. The last two time
factors can only be estimated when the component
allocation is solved independently of the other tasks as
described in the introduction. Here, these two time factors
are assumed to be given.
Int J Adv Manuf Technol (2011) 54:349–360
353
3.2 Problem formulation
subject to
The following notations are given to formulate the MCLB
problem (see [14]):
X
Indices
zl;j M
i
j
l
k
head type
nozzle type
machine module, and
component type.
X
component types
head types
machine modules, and
nozzle types.
Parameters
Bhn
0–1 matrix stating whether head type i is compatible
i;j
with nozzle type j
Ban
0–1 matrix stating whether component type k is
k;j
compatible with nozzle type j
Dk number of components of type k that need to be
placed on the PCB
Ek
feeder width of component type k
Fl
width (capacity) of the feeder unit attached to module l
Gi
maximum number of nozzles that can be attached to
head type i
M
a big positive number
Tlpp average pick-and-place time of module l for each
component, and
Tltr average traveling time factor per pick-and-place cycle
for module l performing the movements between the
feeder unit and PCB.
Decision variables
xl,k
zl,j
wl
yhl;i
yal;k
number of components of type k that are placed by
module l
number of nozzles of type j that are attached to
module l
number of pick-and-place cycles performed by
module l
binary variable indicating whether head type i is
attached to module l, and
binary variable indicating whether component type k
is allocated to module l.
The MCLB problem can be formulated as follows:
Minimize max
l2L
X
T pp xl;k þ Tltr wl
k2A l
ð1Þ
¼ 1; l 2 L;
X
i2H
z
j2N l;j
yal;k
Sets
A
H
L
N
yh
i2H l;i
X
j2N
h
Bhn
i;j yl;i ; l 2 L; j 2 N;
X
i2H
Gi yhl;i ; l 2 L;
Ban
k;j zl;j ; l 2 L; k 2 A;
ð2Þ
ð3Þ
ð4Þ
ð5Þ
xl;k Myal;k ; l 2 L; k 2 A;
ð6Þ
X
k2A
ð7Þ
X
x
l2L l;k
X
x Ban
k2A l;k k;j
Ek yal;k Fl ; l 2 L;
¼ Dk ; k 2 A;
wl zl;j ; l 2 L; j 2 N;
ð8Þ
ð9Þ
yhl;i 2 f0; 1g; l 2 L; i 2 H;
ð10Þ
yal;k 2 f0; 1g; l 2 L; k 2 A;
ð11Þ
xl ;k 2 f0; . . . ; Dk g; l 2 L; k 2 A;
ð12Þ
wl 2 f0; . . . ; maxk fDk gg; l 2 L;
ð13Þ
zl;j 2 f0; . . . ; maxi fGi gg; l 2 L; j 2 N; i 2 HBhn
i;j ¼ 1:
ð14Þ
The objective function 1 is to minimize the maximum
processing time of the machine modules. The machine
module with the maximum processing time is the bottleneck
module that determines the output of the production system.
The processing time of the machine module is the sum of the
picking up and placing time of the components allocated to
the machine module (the first term) and the traveling time
between the feeder unit and PCB (the second term).
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
compatible with the head assigned to the module. Constraints 4 mean that the total number of nozzles attached to
a head cannot exceed the capacity of the head. Constraints
5 mean that a component can be allocated to a module only
354
Int J Adv Manuf Technol (2011) 54:349–360
if it is compatible with at least one nozzle that has been
attached to the module. Constraints 6 allow one or more
copies of a component type to be placed by a module only
if the component type has been allocated to the module.
Constraints 7 state that the total width of the component
types allocated to a module cannot exceed the capacity of
the feeder unit. Constraints 8 mean that all components of
each type must be allocated to modules. Constraints 9
determine the number of pick-and-place cycles wl for each
module l. These inequality constraints state that for each
nozzle type j, the number of cycles must be large enough to
allow the zl,j copies of the nozzle type to place out those
allocated components that are handled by that nozzle type.
(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 {Gi} is
actually a singleton set due to the assumption above.
The objective function 1 and the constraints 9 introduce
nonlinearity in the model. Therefore, the above model
formulation should be transformed into an equivalent linear
model so that a standard software package can be used to
solve it.
3.3 Linearization of the model
Constraint 17 restricts the value of wl only when exactly
c copies of the nozzle are installed. If the next (c+1)st copy
of the nozzle is present, then the M term deactivates the
constraint. If the (c+1)st copy of the nozzle is missing, then
the constraint is dominated by the previous instance of the
constraint (corresponding to c installed nozzles). Constraint
18 treats the case corresponding to c=|Cj| copies of nozzle
type j.
The new binary variables replace zl,j in the model.
Constraints 3 are replaced by the following two sets of
constraints:
X
ynl;j;1
Bhn yh ; l 2 L; j 2 N;
ð19Þ
i2H i;j l;i
ynl;j;c ynl;j;c 1 ; l 2 L; j 2 N; c ¼ 2; . . . ; Cj :
Constraints 19 state that the first copy of the nozzle can
be assigned to a module only if it is compatible with the
head assigned to the module. Constraints 20 state that the
cth copy of a nozzle can be added only if the (c−1)st copy
exists.
Constraints 4 and 5 are replaced by
X X
X
yn
Gi yhl;i ; l 2 L;
ð21Þ
j2N
c2C l;j;c
j
The objective function 1 can be linearized by standard
P
pp
tr
techniques. By writing t ¼ max
k2A Tl xl;k þ Tl wl ,
l2L
objective 1 can be reduced to
ð15Þ
Minimize t
X
T pp xl;k
k2A l
þ
Tltr wl
t; l 2 L:
x Ban
k2A l;k k;j
X
cwl þ Myhl;j;cþ1 ; l 2 L; j 2 N; c ¼ 1; . . . ; Cj
x Ban
k2A l;k k;j
Cj wl ; l 2 L; j 2 N:
yal;k
X
j2N
i2H
n
Ban
k;j yl;j;1 ; l 2 L; k 2 A:
ð22Þ
Finally, the domain of new variables is defined.
ynl;j;c 2 f0; 1g; l 2 L; j 2 N; c 2 Cj ;
ð23Þ
t 0:
ð24Þ
ð16Þ
Linearization of the product of two variables in
constraints 9 is more complicated. To do that, constraints
9 should be rewritten by counting values of zl,j sequentially,
i.e., 0, 1,.... This produces sets of linear constraints. However,
only one of these constraint sets should be active. To encode
the activation and deactivation of the linear constraints, new
binary variables ynl;j;c need introducing. Variables ynl;j;c
indicate the cth copy of nozzle type j is installed
on
module
l for each c 2 Cj . Cj ¼ f1; . . . ; maxi fGi gg i 2 HBhn
i;j ¼ 1
Here is the set of copies of nozzle type j. Constraints 9 can
now be replaced by the following two sets of linear
constraints:
X
ð20Þ
1;
ð17Þ
ð18Þ
As a result of the above transformation, objective
function 15 with constraints 2, 6–8, 10–13, and 16–24
forms a standard MILP model for the MCLB problem. The
problem can be solved by a standard MILP solver.
However, both the number of constraints and number of
variables increase significantly due to this transformation.
3.4 Finding feasible solutions
It is useful to find out if the MCLB problem is feasible or
not, prior to starting the search for the optimal or
suboptimal solution. If it turns out that no feasible solution
exists, a more time-consuming optimization process can be
avoided. A known feasible solution provides an upper
bound for the optimal solution, and during, e.g., branchand-bound search, this bound can be used to prune
unpromising branches from the search tree. This can greatly
speed up the search, in particular if the upper bound is close
Int J Adv Manuf Technol (2011) 54:349–360
355
to the true optimum. Also, several heuristic methods for
solving the problem can benefit from a known feasible
solution, either as a starting solution or as providing an
upper bound for the optimum.
A simpler version of the MCLB problem can be formulated
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
having enough space in the heads to allocate all required
nozzle types. The possibility of having multiple copies of the
same nozzle type in one head does not affect the feasibility. It
may speed up the operation of a single machine by reducing
the number of cycles made by the machine. Also, the
allocation of a certain component type on multiple machines
does not affect feasibility; however, it may speed up operation
by balancing the workload.
The feasibility of the MCLB problem can therefore be
detected using a relaxed model obtained by removing the
objective function, and the equations related to the
computation of the number of placements and cycles. In
particular, this means
&
&
&
&
&
omitting the wl variables,
replacing the variables xl,k by yal;k
replacing the variables zl,j by ynl;j (binary variable
indicating whether nozzle type j is attached to module l),
omitting constraints 6 and 9, and
setting Dk =1.
As a result, the feasibility can be checked by solving the
following set of constraints as an integer linear programming problem with an arbitrary objective function:
X
yh
i2H l;i
ynl;j
X
X
¼ 1; l 2 L;
i2H
yn
j2N l;j
yal;k
X
X
k2A
X
ya
l2L l;k
j2N
ð25Þ
h
Bhn
i;j yl;i ; l 2 L; j 2 N;
ð26Þ
X
ð27Þ
i2H
Gi yhl;i ; l 2 L;
n
Ban
k;j yl;j ; l 2 L; k 2 A;
Ek yal;k Fl ; l 2 L;
¼ 1; k 2 A;
yhl;i ; ynl;j ; yal;k 2 f0; 1g; l 2 L; i 2 H; j 2 N; k 2 A:
ð28Þ
ð29Þ
ð30Þ
ð31Þ
3.5 A sample MCLB problem
To facilitate understanding the structure of the MCLB
problem, a simple numerical example is presented in
Table 1. The data originate from [13].
4 Relaxations
Generally speaking, a standard MILP solver cannot handle
combinatorial optimization problems of Section 3 efficiently. Here, the structure of the MCLB problem is briefly
analyzed to speed up the solution process. To facilitate this
analysis, it is assumed that the traveling time factors Tltr are
the same for all of the machine modules, i.e.,
a ¼ Tltr ðl 2 LÞ. Then, α=0 means that the traveling time
is totally ignored. When α≠0 (>0), the value of α reflects
the relative value of traveling time as compared with the
pick-and-place-time.
4.1 Ignoring traveling time
When α=0, the second term in objective function 1 is
ignored. The problem becomes easier, and the problem size
decreases significantly. Variable wl and constraints 9 of the
original formulation become then unnecessary. In the
meanwhile, a general integer variable zl, reduces to binary,
and M equals 1 in constraints 3 (see constraints 26). This
means that a single copy of each nozzle type is sufficient,
and all constraints are linear. In fact, the feasibility test
model presented in Section 3.4 is related to the case α=0.
That is, the linearity transformation of the nonlinear
constraints is needed only when α≠0. The objective
function only introduces trivial nonlinearity, which can be
handled by the standard techniques as shown in Section 3.
Consequently, the number of constraints and the number of
decision variables decrease significantly as compared with
the case α≠0.
Under the assumptions made in Section 3.1, since a
component type can be handled by only one nozzle type
and a nozzle type can be handled by one head type, it
follows transitively that a component type can be handled
by only one head type. Consequently, the solution of the
case with α=0 bears some similarity to the case α≠0. Both
the cases with α=0 and α≠0 consider the balance of
component allocation among the machine modules. This
means that the module-head assignment should be the same
for α=0 and for α≠0 because the corresponding head type
must be installed in the module once a component type has
allocated to a module. The difference for α≠0 lies in the
fact that more copies of some nozzle types are needed to
handle some frequently used component types to reduce the
number of pick-and-place cycles for a module.
356
Int J Adv Manuf Technol (2011) 54:349–360
Table 1 A sample MCLB problem
Number
Number
Number
Number
Number
of
of
of
of
of
component types |A|
machine modules |L|
head types |H|
nozzle types |N|
placements for component type k, Dk ðk 2 AÞ
8
4
2
5
D1 =30; D2 =20; D3 =10;
D4 =5;
D5 =3; D6 =3; D7 =2; D8 =1;
1 1 1 0 0
0 0 0 1 1
Head-nozzle compatibility matrix Bhn ðjHj jNj ¼ 2 5Þ
1
1
0
0
0
0
0
0
Component-nozzle compatibility matrix Ban ðjAj jNj ¼ 8 5Þ
Feeder width of component type k, Ek ðk 2 AÞ
Number of nozzles attached to head type i, Gi ði 2 H Þ
Feeder capacity Fl ðl 2 LÞ
pp
Time factors
Picking and placing time, Tl ðl 2 LÞ
tr
Traveling time Tl ðl 2 LÞ
Therefore, when a problem instance α≠0 is solved, one
can fix the module-head assignment based on the solution
for α=0. This can speed up the solution process significantly. In addition, when α=0, the solution can identify the
potential bottleneck modules, and it gives a rough number
of components that the bottleneck modules should handle.
It is possible that more than one module becomes a
potential bottleneck module. However, in a general situation, if a nozzle type can be handled by more than one
head type, and a component type can be handled more
than one nozzle type, then this may cause that a
component type will be handled by more than one head
type. Consequently, the head-module assignment for α=0
may not be same as for α≠0.
4.2 Partial model relaxation
For α≠0, one can relax the integer variables xl,k (the
number of components of type k that are placed by module
l) and wl (the maximum number of pick-and-place cycles of
module l) into real variables. In most cases, such a relaxed
problem is much easier to solve than the original integer
programming problem. The solution of the relaxed problem
serves as a lower bound for the original problem. It gives a
rough number of components that the potential bottleneck
nozzle handles and a rough number of components that the
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
E1 =1; E2 =2; E3 =3; E4 =4;
E5 =5; E6 =5; E7 =5; E8 =7;
G1 =4; G2 =1
F1 =F2 =F3 =F4 =12
T1pp ¼ T2pp ¼ T3pp ¼ T4pp ¼ 2
T1tr ¼ T2tr ¼ T3tr ¼ T4tr ¼ 1
potential bottleneck module handles. What is more important is that the relaxation maintains the feasibility of the
module-head and nozzle-head assignments.
However, a straightforward round-up (down) process
may not give a good feasible solution, especially when α is
relatively large. When α is small, the pick-and-place time
of the components accounts for a large portion of cycle
time, and the amounts of the components allocated to the
potential bottleneck modules are roughly same. However,
for a large α, the traveling time between feeder unit and
PCB would account for a large portion of the total
processing time. Component allocation among the potential
bottleneck modules tends then not to be as even as for
smaller α. There is a trade-off between the traveling time
and pick-and-place time. It is all possible that the bottleneck
module will change if both xl,k and wl are restricted to be
integers. The component allocation among the potential
bottleneck modules needs adjusting to get a good trade-off,
and search for the optimal component allocation becomes a
hard task to do.
5 Computational results
To evaluate the effectiveness of the model presented in
Section 3 and the effect of the partial model relaxation
Int J Adv Manuf Technol (2011) 54:349–360
357
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
1
2
3
4
Component
types |A|
Modules |L|
8
8
10
20
Head types |H|
5
4
5
8
Nozzle types |N|
2
2
3
4
Placements
Σk|Dk|
5
5
8
10
55
74
100
320
Feeder
capacity F
10
12
20
30
Variables
Constraints
α=0
α≠0
α=0
α≠0
121
97
161
441
166
131
331
753
131
108
170
452
248
200
550
1,156
of the two modes are same. All the 40 (4×5×2) test runs
were performed in a 2.79-GHz (1 GB RAM) Pentium 4 PC
under the Windows XP operating system.
Table 3 gives the time used by the MILP solver for
modes O and R with α=0, 1, 2, 5, and 10. The solutions for
α≠0 have been obtained by initializing the optimizer with a
module-head assignment founded by setting α=0. This
improved the time usage of the solver by a factor from 2 to
5 as compared with the situation where the solution process
started from the scratch.
Table 3 indicates that the time for solving the optimization model is sensitive to both the problem size and the
traveling time factor α. The solution efficiency of the
optimization model with the O and R modes differs
significantly. The solution time for the R mode is much
shorter than for the O mode if the problem is solvable.
Generally speaking, for the same problem instance, the
solution times for both modes O and R have the tendency to
increase as α increases (though not strictly monotonically).
For α=0, the solution time is short. This means that the
trade-off between pick-and-place time and traveling time
becomes more difficult to manage as the traveling time
factor α becomes large for both modes. Therefore, it is not
surprising to see that it is even difficult to solve the
relaxed version of the problem for α>1 of the problem
instance 4. In addition, the solution time increases (though
not strictly monotonically) as the problem size increases
(see Table 2). Furthermore, it is easy to check whether the
given in Section 4.2, a standard MILP software package
[32] is used to solve the MCLB instances reported in [13].
The solver is a standard branch-and-bound algorithm,
which solves the underlying linear relaxation problems by
sparse revised simplex code using the product form of
inverse. The smaller test problems reflect real life PCB jobs
in the proportional sense for the number of nozzle types and
number of component types. The bigger test problems
approximate real life cases. Table 2 shows these problem
instances and their sizes as MILP models (number of
constraints×number of decision variables). The detailed
data for case 2 is given in Table 1. It is assumed that the
traveling time factors a ¼ Tltr ðl 2 LÞ are the same for all of
the machine modules. The MCLB problems are solved
using five traveling time factors: α=0, 1, 2, 5, and 10. The
value α=0 means that the arm traveling time is ignored; α=
1, 2 mean moderate traveling time in comparison to the
pick-up time; and α=5, 10 mean large traveling time. The
value of α affects the problem size (see the two last
columns of Table 2). When α=0, the problem size is much
smaller than for α≠0 as discussed in Section 4. When α≠0,
the value of α affects how the components are allocated
among the machines. This also has an impact on the time
used by the MILP solver (see Table 3).
For all these cases, the optimization model was run in
two modes. The first is the relaxation mode (R) of
Section 4.2. The second is the true optimization mode (O)
of the model introduced in Section 3.3. For α=0, the results
Table 3 Times (seconds) used by the MILP solver for the MCLB problem instances with optimization mode (O) and relaxation mode (R)
Instance
1
2
3
4
α=0
α=1
α=2
α=5
α=10
O, R
O
R
O/R
O
R
O/R
O
R
O/R
O
R
O/R
0.31
0.2
0.24
2.2
150
6.7
2,684
51,208
78
4.9
1,437
419
1.9
1.4
1.9
122
832
8.2
1,299
–
72.7
4.8
806
–
11.4
1.7
1.6
–
704
51.7
22,733
–
79.5
3.2
660
–
8.9
16.2
34.4
–
3,215
93
15,339
–
171
7.9
391
–
18.8
11.8
39.2
–
O/R is the ratio of solution time for the optimization mode against relaxation mode. Instance 4 with α>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
358
Int J Adv Manuf Technol (2011) 54:349–360
Table 4 Solution values (formula 15) of the optimization mode (O) and relaxation mode (R) as well as the gap of the relaxed solution
Instance
1
2
3
4
α=0
α=1
α=2
O, R
O
R
34
68
90
112
39
78
96
120
37.8
77.4
95.8
119
GAP (%)
3.08
0.77
0.21
0.75
α=1 0
α=5
O
R
GAP (%)
O
R
GAP (%)
O
R
GAP (%)
44
88
102
–
42.2
86.9
102
–
4.09
1.25
0.29
–
59
116
120
–
55.6
116
119
–
5.76
0.34
0.67
–
84
166
150
–
78
164
149
–
7.38
0.96
0.93
–
Instance 4 with α >1 was too time-consuming to solve
configuration of the modular system is feasible based on
the feasibility test model of Section 3.4 because the
structure of the feasibility test model is similar to the case
α=0 and simpler.
Table 4 gives the solutions (i.e., values of formula 15)
for the two modes with different values of α as well as the
gap between the relaxed and optimal solutions.
GAPð%Þ ¼ 100»ðzo
zR Þ=zo ;
ð32Þ
where zR is the value of the solution for the relaxation
mode, and zo is the optimal solution.
It turns out that GAP varies without any clear trend.
However, a feasible solution of the original problem can
always be obtained based on the relaxed solution.
Table 5 shows for the sample problem of Table 1 (α=
10) the module-head and module-nozzle-nozzle number
assignment found by the R mode. Nozzle type 1 turns out
to be a bottleneck nozzle. A total of six copies of it have
been installed on modules 1 and 3.
Table 6 shows the corresponding module-component
assignment for the sample problem. The index c of variable
ynl;j;c gives the copy number of nozzle type j on module l.
Similarly, yhl;i indicates the assignment of head type i to
module l.
Finally, to show the usage of the mathematical model,
we evaluate the quality of solutions found by the EA of
[13]. EA approach divides the optimization process into
three subproblems which are solved successively: the
assignment of heads to machine modules, the assignment
Table 5 Module-head and module-nozzle-nozzle copy assignment for
the sample problem of Table 1 (problem instance two in Table 2) (α=10)
Module-head
Module-nozzle-nozzle copy
yh1;1 ¼ 1; yh2;2 ¼ 1; yh3;1 ¼ 1; yh4;2 ¼ 1
yn1;1;1 ¼ yn1;1;2 ¼ yn1;1;3 ¼ 1; yn1;3;1 ¼ 1
yn2;4;1 ¼ 1
yn3;1;1 ¼ yn3;1;2 ¼ yn3;1;3 ¼ 1; yn3;2;1 ¼ 1
yn4;5;1 ¼ 1
The index c of variable ynl;j;c means the copy number of nozzle type j
on module l. Similarly, yhl;i indicates the assignment of head type i to
module l
of component placements to machine modules, and the
assignment of nozzles to heads.
The first and the last subproblem are solved using a
greedy method, whereas the second one is solved by an EA.
This algorithm is based on the component-to-machine
mapping, similar to variable xl,k here in the optimization
model, and its objective function is 1 with the difference
that the number of pick-and-place cycles wl is relaxed to a
real number. The EA of Toth et al. [13] was applied by
using 10 individuals in each population and 100 generations. The EA was coded in Toth et al. [13] in MatLab and
performed in a PC with 2.33 GHz (2 GB RAM) under the
Windows Vista operating system. The solution times of EA
are reported in Table 7. To facilitate comparison, an
equivalent relaxation solution was also constructed from
the solution of the mode R, and this approach was called R′
(see Table 8 for the results). It is worth mentioning that the
solutions obtained from approach R′ coincide with the
optimal solution for the related relaxation problems based
on our computational experiences. Table 8 also gives the
GAP (%) of EA against the optimal solution. The GAP
measure is similar to 32.
The solution time of EA (Table 7) is not sensitive to both
problem size and parameter α. Based on Table 8, the
solutions generated by EA are not bad in general. The
optimality gap is reasonably small. This means that the EA
has good potential to handle large size problems with
different traveling factors α based on both the solution
quality and solution time.
Table 6 Module-component assignment for the R mode for the
sample problem of Table 1 (problem instance 2 in Table 2) (α=10)
Component
Module
1
2
3
4
Dk
1
7.8
2
3
20
4
5
5
3
6
7
8
3
22.2
30
10
20
10
5
3
3
2
2
1
1
wl
9.27
3
10
3
Int J Adv Manuf Technol (2011) 54:349–360
359
Table 7 Solution times (seconds) for running 20 independent runs of
the EA
Instance
α=0
α=1
α=10
1
2
3
4
354
306
474
500
350
307
480
510
344
308
480
510
the cycle time and minimizing the amount of nozzles used
are two conflicting objectives.
Benefits of the mathematical optimization are that one
can describe the problem rigorously and get an optimal
solution at least for some smaller problem instances. These
can be used to evaluate the performance of heuristic
approaches (see Tables 4 and 8 for this kind of comparisons). However, even the relaxed version of the model is
difficult to solve for large problem instances, and research
on efficient heuristics is therefore needed.
For the future research, one can follow several directions:
6 Conclusions
This paper investigates the MCLB problem of a PCB
assembly line with modular reconfigurable machines and a
single PCB type to be processed. Such lines are becoming
popular due to their great flexibility. A reconfigurable
machine module can be seen as a multihead placement
machine. However, the mathematical modeling of the
MCLB problem has not been extensively researched so
far. The MCLB problem was formulated as a nonlinear
integer programming model, and then, the nonlinear model
was transformed into a linear form for solution.
The MCLB problem is more complicated than the
traditional versions of the line-balancing problem [15, 16].
It has to consider the component allocation and machine
configuration at the same time. In addition, the machinehead assignment and machine-nozzle-component assignment were needed to solve while considering the compatibility between head and nozzle types, and the compatibility
between nozzle and component types.
Numerical experiments show that standard solvers are
not sufficient for problem instances of practical size.
However, relaxations of the model structure can speed up
the solution process significantly. In our testing, the
speedup from relaxations was 2 to 5 times when compared
to solving the original model. This result implies that the
relaxation could be used as a basis to develop a specialized
BB algorithm for the MCLB problem.
The objective of the current model is to minimize the
cycle time of the placement operations. In order to achieve
this, it is sometimes beneficial to use several nozzles of the
same type to speed up the placement of frequently used
components. With this in mind, it is clear that minimizing
Table 8 Comparison of EA
solutions (the relaxation version
of formula 15) against optimal
solution
The results for the EA are the
best of 20 independent runs
Instance
1
2
3
4
&
&
&
&
&
α=0
A general case of multiple assembly lines with multiple
PCB types is of practical interest.
The assumptions presented in Section 3 can be
removed, i.e., one can then allow that a nozzle type is
carried by multiple head types and a component type is
handled by multiple nozzle types.
It is possible to develop specialized optimization
algorithms by exploring the structure of the problem,
for example, a specialized BB algorithm as mentioned
above.
There may be in certain cases some precedence
relations between component placements. It is relatively
straightforward to extend the current model to cover
these, too.
In the current form of the MCLB problem, the
placement cost was estimated by a linear function of
the number of the number of component placements. In
fact, the time consumed by a PCB job depends on
several computationally hard optimization problems,
like ordering the component types on the feeder unit,
arranging the nozzles on the head, solving the partition
of component placements to placement cycles, ordering
the placement cycles, and performing placement cycles
(see [1] for reference). These problems are normally
solved hierarchically, and many of them heuristically,
perhaps in the above orders. Currently, our assumption
on linear placement time is therefore the best it can be
done. The next natural step is to pursue the lower level
problems mentioned above. While this is a major effort
where full production data will be needed, it is still
noted that these optimization problems should be in
α=1
O(R′)
EA
GAP (%)
34
68
90
112
34
68
90
112
0
0
0
0
α=10
R′
EA
38.3
78
96
120
38.3
78
96.7
121
GAP (%)
0
0
0.73
0.83
R′
EA
GAP (%)
78
166
149.6
–
78
168
152
190
0
1.2
1.6
–
360
Int J Adv Manuf Technol (2011) 54:349–360
principle handled starting from several feasible solutions of the MCLB problem.
Acknowledgments The first author would like to thank postdoctoral
fellowship in University of Turku (Finland) and FCT (Foundation for
Science and Technology) support (Portugal) through program POCI
2010 for partial funding of this research.
References
1. Ayob M, Kendall G (2008) A survey of surface mount device
placement machine optimization: machine classification. Eur J
Oper Res 186:893–914
2. Yilmaz IO, Gunther HO, Jain S (2009) Simulation of mixed
model PCB assembly lines with group setup and bypass conveyors. Int J Adv Manuf Technol 42(3–4):335–347
3. Ho W, Ji P, Dey PK (2008) Optimization of PCB component
placements for the collect-and-place machines. Int J Adv Manuf
Technol 37:828–836
4. Sze MT, Ji P, Lee WB (2001) Modeling component assignment
problem in PCB assembly. Assem Autom 21:55–60
5. Ashayeri J, Selen W (2007) A planning and scheduling model for
onsertion in printed circuit board assembly. Eur J Oper Res
183:909–925
6. Ball OM, Magazine MJ (1988) Sequencing of insertions in printed
circuit board assembly. Oper Res 36(2):192–201
7. Leipälä T, Nevalainen O (1989) Optimization of the movements
of a component placement machine. Eur J Oper Res 38:167–177
8. Ji P, Sze MT, Lee WB (2001) A genetic algorithm of determining
cycle time for printed circuit board assembly. Eur J Oper Res
128:175–184
9. Ammons JC, Carlyle M, Granmer L, Depuy GW, Ellis KP,
McGinnis LF, Tovey CA, Xu H (1997) Component allocation to
balance workloads in printed circuit card assembly. IIE Trans
29:265–275
10. Grunow M, Gunther HO, Schleusener M, Yilmaz IO (2004)
Operations planning for collect-and-place machines in PCB
assembly. Comp Indust Eng 47:409–429
11. Tirpak TM, Mohapatra PK, Nelson PC, Rajbhandari RR (2002) A
generic classification and object-oriented simulation toolkit for
SMT assembly equipment. IEEE Trans Syst Man Cybern Syst
Hum 32(1):104–121
12. Ahmadi RH, Wurgaft H (1994) Design for synchronized flow
manufacturing. Manage Sci 40:1469–1483
13. Toth A, Knuutila T, Nevalainen OS (2010) Reconfiguring flexible
machine modules of a PCB assembly line. Prod Eng Res Dev 4
(1):85–94
14. Rong A, Toth A, Nevalainen O, Knuutila T, Lahdelma R (2009)
PCB assembly line modeling with modular placement machines.
Proceedings of the 2009 IEEE International Conference on
Industrial Engineering and Engineering Management (IEEM
2009), 1097–1101
15. Gutjahr AL, Nemhauser GL (1964) An algorithm for the line
balancing problem. Manage Sci 11:308–315
16. Baybars I (1986) A survey of exact algorithms for the simple
assembly line balancing problem. Manage Sci 32:909–932
17. Becker C, Scholl A (2006) A survey on problems and methods in
generalized assembly line balancing. Eur J Oper Res 168:694–715
18. Lapierre SD, Ruiz A, Soriano P (2006) Balancing assembly lines
with tabu search. Eur J Oper Res 168:826–837
19. Amen M (2006) Cost-oriented assembly line balancing: model
formulations, solution difficulty, upper and lower bounds. Eur J
Oper Res 168:747–770
20. Scholl A, Becker C (2006) State-of-art exact and heuristic solution
procedures for simple assembly line balancing. Eur J Oper Res
168:666–693
21. Lin WL, Tardif V (1999) Component partitioning under demand
and capacity uncertainty in printed circuit board assembly. Int J
Flex Manuf Syst 11:159–176
22. Hiller MS, Brandeau ML (2001) Cost minimization and workload
balancing in printed circuit board assembly. IIE Trans 33:547–557
23. Kodek DM, Krisper M (2004) Optimal algorithm for minimizing
production cycle time of a printed circuit board assembly line. Int
J Prod Res 42(23):5031–5048
24. Lapierre SD, Debargis L, Soumis F (2000) Balancing printed
board assembly line systems. Int J Prod Res 38(16):3899–3911
25. Tazari S, Muller-Hannemann M, Weihe K (2006) Workload
balance in multi-stage production processes. Lect Notes Comput
Sci 4007:49–60
26. Häyrinen T, Johsson M, Johtela T, Smed J, Nevalainen O (2000)
Scheduling algorithms for computer-aided line balancing in
printed circuit board assembly. Prod Plan Control 11:497–510
27. Yildirim MB, Duman E, Duman D (2006) Dispatching rules for
allocation of component types in automated assembly of printed
circuit boards. Lect Notes Comput Sci 4263:55–64
28. Choudhury ND, Wilhelm WE, Rao B, Gott J, Khotekar N (2007)
Process planning for circuit card assembly on a series of dual head
placement machines. Eur J Oper Res 182:626–639
29. Kulak O, Yilmaz IO, Gunther HO (2008) GA-based solution
approach for balancing printed circuit board assembly line. OR
Spectr 30:469–491
30. Wan YF, Ji P (2001) A tabu search heuristic for the component
assignment problem in PCB assembly. Assem Autom 21(3):236–240
31. Khoo LP, Alisantoso D (2003) Line balancing of PCB assembly
line using immune algorithms. Eng Comput 19:92–100
32. Lahdelma R,Nurminen J, Ruuth S (1986) Implementations of LP
and MIP systems. EURO VIII; Lisbon also in Helsinki University
of Technology, Systems Analysis Laboratory Research Reports A18