
 
 
assembled in the plant f
j
.  The PCT of the product A 
is shown in Table 2. 
4 SOLUTION USING PARTICLE 
SWARM OPTIMIZATION (PSO)  
A PSO algorithm is presented for simultaneously 
performing assembly sequence planning and plant 
assignment.  The PSO algorithm is an evolutionary 
computation method introduced by Kennedy and 
Eberhard (1995, 1997).  In PSO, each particle 
moves around in the multi-dimensional space with a 
position and a velocity.  The velocity and position 
are constantly updated by the particle’s own 
experience and the experience of the whole swarm.  
Given a problem, a particle can be encoded to 
represent a solution.  Each solution, called a particle, 
flies in the search space towards the optimal 
position. 
A particle is defined by its position and velocity.  
The position of a  particle  i  in the D-dimension 
search space can be represented as X
i
=[x
i1
,  x
i2
, …, 
x
id
, …, x
iD
].  The velocity of the particle i in the D-
dimension search space can be represented as 
V
i
=[v
i1
,  v
i2
, …, v
id
, …, v
iD
].   Each particle has its 
own best position P
i
=[p
i1
,  p
i2
, …, p
id
, …, p
iD
] 
representing the particle’s personal best objective 
(pbest) at time t.  The global best particle is denoted 
as  p
g
 and the best position of the entire swarm 
(gbest) is denoted as P
g
=[p
g1
, p
g2
, …, p
gd
, …, p
gD
] at 
time  t.  To search for the optimal solution, each 
particle adjusts its velocity according to the velocity 
updating equation and position updating equation.   
()
()
idgdidid
old
idi
new
id
xprcxprcvwv −⋅⋅+−⋅⋅+⋅=
2211
, 
(3) 
where d =1, …, D, i =1, …, E (number of particles),  
new
id
v
: the new velocity of i in the current iteration t,  
old
id
v
: the velocity of i in the previous iteration (t - 1),  
c
1
 and c
2
: constants called acceleration coefficients, 
w
i
: the inertia weight,  
r
1
 and r
2
: two independent random numbers with a 
uniform distribution [0, 1],  
p
id
: the best position of each individual particle i, 
p
gd
: the best position of the entire swarm. 
                     
new
id
old
id
new
id
vxx +=
, 
 (4)   
where 
new
id
x
 is the new position in the current 
iteration t, 
old
id
x  is in the previous iteration (t - 1). 
 
4.1 Encoding Scheme 
In the developed encoding scheme, a particle 
represents a feasible multi-plant assembly sequence.  
A heuristic sequencing and assignment rule for 
encoding and decoding is introduced as follows. 
The position of particle i is represented by a 
position matrix, denoted as X
ijk
, j = 1, …, (M+1), k = 
1, …, N, where N is the number of components and 
M is the number of plants.  In the heuristic 
sequencing rule, the values in the first row S of R
s1
, 
R
s2
, …, R
sN
 represent the ranked order values of the 
N components in an assembly sequence.   
In each column, the values from row F
1
 to row 
F
M
 represent the ranked assignment values for plant 
assignment of a component.  In the heuristic 
assignment rule, the component C
k
 is assigned to the 
plant with the smallest value in the column of R
1k
, 
R
2k
, …, R
Mk
.   
X
ijk
 =,
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎣
⎡
MNMkMM
jk
Nk
Nk
sNskss
M
j
Nk
RRRR
R
RRRR
RRRR
RRRR
F
F
F
F
S
CCCC
""
##
""
""
""
#
#
""
21
222221
111211
21
2
1
21
 
               
 
(5
where i = 1, …, E, where F
j
 is a plant, j =1, …, M, 
and C
k
 is a component, k =1, …, N, 
R
sk
 represents the ranked order value of a 
component k, 
R
jk
 represents the ranked assignment value for 
component k assigned to plant j. 
In the heuristic rule for assembly sequencing, 
the values in [R
s1
, R
s2
, …, R
sk
, …,  R
sN
] are sorted in 
an ascending order. The ranked order values 
represent the ordered position of component C
k
 in 
the assembly sequence.  For example, if the values 
of row S are [4.5  1.1  3.2  7.6  5.3], then the ordered 
positions of (C
1
,  C
2
, C
3
,  C
4
,  C
5
) are (third, first, 
second, fifth, fourth).  The assembly sequence is 
determined as (C
2
, C
3
, C
1
, C
5
, C
4
).   
In the heuristic rule for plant assignment, in 
each column of C
k
, the component C
k
 is assigned to 
the plant with the smallest ranked assignment value 
in  R
jk
, for j = 1, …, M.  For example, if there are 
four plants, the values of column C
2
 are [3.1  5.8  
1.5  6.9]
T
, then the smallest value is 1.5 of plant F
3
.  
Therefore, the component C
2
 is assigned to plant F
3
.   
4.2 Fitness Function 
The cost functions include two major items. The 
assembly operational costs are mainly related to 
ICEIS 2009 - International Conference on Enterprise Information Systems
126