Professional Documents
Culture Documents
(p,j)
+
qP
(p,j)
(p,q)
(1)
L
(p,j)
=
K +1
(p,j)
+
qF
(p,j)
(p,q)
(2)
where pP, j J
p
(P: set of products; J
p
: set of tasks for product P).
E
(p,j)
, L
(p,j)
are the earliest and latest stations for task (p,j), respec-
tively.
K denotes the maximum number of stations.
(p,j)
=t
(p,j)
/c.
t
(p,j)
is the task time of task j of product p and c is the cycle time of
the lines. P
(p,j)
denotes the set of direct and indirect predecessors
of task (p,j). F
(p,j)
denotes the set of direct and indirect successors
of task (p,j).
Under these explanations, assignment of all tasks to worksta-
tions is performed by using the following steps:
L. Ozbakir et al. / Applied Soft Computing 11 (2011) 31863198 3189
START
Initilization
Assign ants to
sub-colonies
Compute quality
function
Calculate heuristic
values
Update candidate
task list
Select task-station
pair
Generate candidate
task list
Open new station
Initialize ant
t(p,j)=Station
remaining time
Is iteration
limit reached?
All sub-colonies
completed?
Are all ants
completed tour?
Are all
tasks assigned?
Is candidate
task list empty?
Assign heuristics to
sub-colonies
Update global
best solution
Update global
pheremone matrix
Update local
pheremone matrix
Return the best
solution
END
J1: Exploitation
J2: Biased
Exploitation
Calculate earliest & latest station
for each task
Assign Rand(0.1, 0.5) pheromone
amount to each possible
task-station pair
PALBP Data
Yes
Yes
Yes
Yes
No
No
No
No
No
Yes
Fig. 3. Flowchart of the multiple-colony ant algorithm.
3190 L. Ozbakir et al. / Applied Soft Computing 11 (2011) 31863198
Repeat (until all tasks have been assigned)
Open a new station
Determine candidate task list by considering neighboring assembly lines.
Candidate task list contains available tasks.
Available task: immediate predecessors must be assigned and its task time must
be less than or equal to remaining station time.
Select task-workstation pair by using the ant cycle algorithm
Assign the selected task to the station
Until all tasks have been assigned
3.1.1. Task selection strategy
The task selection from the set of candidate tasks depends on
the pheromone trail between the task and previously assigned sta-
tions and the information provided by the heuristic for each task
in the candidate list. Similar to Vilarinho and Simaria [12] equa-
tions 3-4 are employed as task selection strategy. Eq. (3) is used for
exploitation and equation 4 is used to enable biased exploration.
J
1
= arg max
(p,j) A
k
(p,j)
{[
(p,j),z
]
[
(p,j)
]
} if r 0.5 (3)
J
2
= p((p, i), (p, J
2
)) =
[
(p.J
2
),z
]
[
(p,J
2
)
]
(p,j) A
k
(p,i)
[
(p.j),z
]
[
(p,j)
]
k
(p,j),z
(t) = (1 w)
k
local(p,j),z
(t) +w
k
global(p,j),z
(t) w[0, 1] (5)
Heuristic information is obtained from the priority rules
assigned to eachsub-colony. Instead of assigning static priority val-
ues to tasks, a rank based structure is implemented. The priority
values of tasks are updated when a task is assigned and candidate
task list is updated. The priority values of tasks incandidate list vary
between1for the least desirable task andthe number of tasks inthe
candidate list for the most desirable task. This structure increased
the importance of heuristic information when the priority values
are close to each other.
The operation of the proposed algorithm is depicted in a
owchart in Fig. 3. In the owchart rst ants and heuristics are
assigned to sub-colonies. After obtaining problem data and cycle
time information, earliest and latest assignable workstations are
determined for each task. Random(0.1, 0.5) amount of pheromone
is assigned between tasks and workstations. Ants in each sub-
colony complete their tours based on their own heuristic rule and
pheromone amount. Local pheromone matrices are updated. After
all sub-colony tours are completed global pheromone matrix and
the best solution is updated.
Assigning tasks to workstations: Open a workstation, generate
assignable tasks list from the tasks whose predecessors were
assigned and their processing times t into remaining worksta-
tion time. If there is a task with a processing time equal to the
remaining station time, assign this task. Otherwise, select the
task to be assigned based on the pheromone information in the
global/local pheromone matrices and heuristic knowledge (Eqs.
(3)(5)). Update the assignable tasks list and heuristic values.
By this way an ant completes its tour and its tness (see Section
3.2) is computed, local pheromone matrix is updated. After all ants
in all sub-colonies nish their tours global pheromone matrix is
updated.
Table 1
Parameter setting.
Parameters level
Number of ants 30, 9
Number of iterations 100, 250
Q 5
Constant pheromone amount between iterations 1
Importance of pheromone intensity () 1
Importance of heuristic information () 5
Pheromone evaporation coefcient 0.1
w (Importance of global pheromone) 0.7
R number of iteration for restart 25
3.2. Fitness function
In this study, two different performance criteria are taken into
consideration, minimizing the idle time of workstations and
maximizing the line efciency. The function f
1
(Eq. (6)) repre-
sents the line efciency. The function f
2
(Eq. (7)) as proposed by
Leu et al. [25] is adopted for minimizing the idle time. This function
aims tominimizethenumber of workstations andstationidletimes
in order to obtain a balanced solution. These objective functions
are combined into a single objective function by using Minimum
Deviation Method (MDM). MDM tries to nd the best compromise
solution by minimizing the sum of the fractional deviations of the
objective functions [26]. In relation to MDM approach the tness
of a solution is computed by using Eq. (8). f
max
1
and f
min
2
in Eq. (8)
are target values. The target value of line efciency is set to 100 and
the target value of total idle time is set to 0. f
0
1
and f
0
2
are the least
desired values. The least desired value of f
0
1
and f
0
2
are obtained
from the initial ant tour.
f
1
=
(
m
s=1
(ST
s
)) 100
(m c)
(6)
f
2
=
m
s=1
((c ST
s
)
2
)
m
+
m
s=1
(c ST
s
)
m
(7)
Minimize f =
f
max
1
f
1
f
max
1
f
0
1
+
f
min
2
f
2
f
min
2
f
0
2
(8)
3.3. Pheromone trail update
In general, initialization of the pheromone on every arc is set
to a constant initial value. In this study a random number in the
interval (0.1, 0.5) is determined as the initial pheromone value
on each path in order to enforce the diversication at the begin-
ning of the algorithm. After the ants in a sub-colony complete their
tours, the pheromone amount on the explored paths is updated.
The pheromone amount that ant k deposit to arc ((p,i),z) is dened
by Eq. (9). f
k
denotes the tness function value of ant k and Q
is the predened constant for pheromone update. The amount of
pheromone deposition after iteration is computed by Eqs. (10) and
(11), respectively. is the pheromone evaporation coefcient and
Q is the predened constant for pheromone update.
k
(p,i),z
(t, t +n) =
Q
f
k
(9)
(p,i),z
(t, t +n) =
m
k=1
k
(p,i),z
(t, t +n) (10)
(p,i),z
(t +n) = (1 )
(p,i),z
(t) +
(p,i),z
(t, t +n) (11)
After completion of iteration, constant amount of pheromone is
depositedtoall arcs toprevent the premature convergence. Manual
solution of a small sized sample problem is shown in Appendix A
L. Ozbakir et al. / Applied Soft Computing 11 (2011) 31863198 3191
Table 2
Comparative results for PALBP.
Test problems # Tasks (Line1-Line2) Cycle time Theoretical min Independent balance GOK MOD ABS TS mc-ACO
Merten 7 9 6 4+3 7 7 7 7
6 11 5 3+3 5 5 5 5
13 5 3+2 5 5 5 5
17 4 2+2 4 4 4 4
Jaeschke 9 9 8 5+4 8 8 8 8
8 11 7 4+4 7 7 7 7
13 6 3+3 6 6 6 6
15 5 3+3 5 5 5 5
17 4 3+2 4 4 4 4
Jackson 11 8 11 7+6 13 13 13 13
10 10 9 5+5 9 9 9 9
13 7 4+4 7 7 7 7
15 6 4+3 6 6 6 6
19 5 3+3 5 5 5 5
Roszieg 25 14 18 10+10 18 20 18 18
24 16 16 8+8 16 16 16 16
17 15 8+8 15 16 15 15
22 12 6+6 12 12 12 12
30 9 5+5 9 9 9 9
Sawyer 30 25 26 14+13 26 28 26 26
28 27 24 13+12 25 26 24 24
30 22 12+11 22 23 22 22
36 18 10+9 18 19 18 18
41 16 8+8 16 16 16 16
54 12 7+6 12 12 12 12
Kilbridge 45 57 20 10+10 20 20 20 20 20
43 79 14 7+7 14 15 14 14 14
92 12 6+6 12 12 12 12 12
110 10 6+5 10 10 10 10 10
138 8 4+4 8 8 8 8 8
184 6 3+3 6 6 6 6 6
Hahn 53 2004 14 8+7 14 17 14 14 14
51 2338 12 7+7 12 15 12 12 12
2806 10 6+5 10 11 10 10 10
3507 8 5+4 8 9 8 8 8
4676 6 4+3 6 7 6 6 6
Tonge 70 160 43 23+22 45 46 44 44
66 168 41 22+22 43 45 42 42
207 34 18+17 34 35 34 34
234 30 16+15 30 32 30 30
270 26 14+13 26 27 26 26
293 24 13+12 24 25 24 24
Wee-Mag 75 28 105 63+60 123 123 123 123 123
71 29 102 63+60 123 123 123 123 123
31 95 62+60 121 122 121 121 121
33 89 61+59 119 120 119 119 119
34 87 61+59 119 120 119 119 119
41 72 59+57 116 116 116 116 116
42 70 55+53 107 108 107 107 107
43 69 50+48 98 98 98 98 98
49 60 32+31 62 63 62 63 62
54 55 31+30 60 61 60 60 60
Arcus1 83 3786 39 21+19 40 42 40 40 40
79 3985 37 20+19 38 40 37 38 38
4206 35 19+17 36 38 36 36 36
4454 33 18+17 34 35 34 34 34
4732 31 17+16 32 33 32 32 32
5853 25 14+12 26 26 25 26 25
6842 22 12+11 22 23 22 22 22
7571 20 11+10 20 21 20 20 20
8412 18 10+9 18 19 18 18 18
10816 14 8+7 14 14 14 14 14
Lutz2 89 11 86 49+46 90 97 88 88
85 12 79 44+41 82 88 79 80
13 73 40+38 75 81 73 73
14 68 37+35 71 79 69 68
15 63 34+32 64 68 63 63
16 59 31+30 60 66 59 59
17 56 29+28 56 60 56 56
19 50 26+25 50 53 50 50
3192 L. Ozbakir et al. / Applied Soft Computing 11 (2011) 31863198
Table 2 (Continued)
Test problems # Tasks (Line1-Line2) Cycle time Theoretical min Independent balance GOK MOD ABS TS mc-ACO
20 47 25+24 48 51 47 48
Lutz3 89 75 43 23+22 45 46 44 44 44
85 79 41 22+22 43 45 41 42 41
83 39 21+21 40 43 39 40 39
87 37 20+19 38 40 37 38 38
92 35 19+18 36 37 35 36 35
Mukherje 94 176 47 25+24 48 49 48 48 47
90 183 45 24+23 46 47 45 46 45
192 43 23+21 44 44 43 44 43
201 41 22+20 42 44 41 42 41
211 39 21+19 40 40 39 40 39
222 37 20+18 38 40 38 38 37
234 35 19+18 36 37 36 36 35
248 33 18+17 34 35 33 34 33
263 31 17+16 32 33 32 32 32
281 29 16+15 30 31 30 30 29
301 27 15+14 28 29 28 28 28
324 26 14+13 26 27 26 26 26
351 24 13+12 24 25 24 24 24
Arcus2 111 5785 52 27+28 55 54 53 54 53
107 6016 50 26+27 53 52 51 51 51
6267 48 25+26 50 50 49 50 49
6540 46 24+25 48 50 47 48 47
6837 44 23+24 46 48 45 45 45
7162 42 22+22 44 44 43 43 43
in order to provide a more detailed explanation of the proposed
algorithm.
4. Computational study
In order to analyze the efciency of the multi-colony ACO
algorithm, test problems from the literature are solved. The data
set for the test problems can be obtained from www.assembly-
line-balancing.de. The performance of the proposed algorithm is
comparedwiththe heuristic of Gokcenet al. [1] (GOKfor short); the
mathematical programming model of Scholl and Boysen [3] which
was solved by XPressMP solver (MOD for short) and the branch
and bound based exact solution procedure of Scholl and Boysen
[2,3] (ABS for short) and tabu search algorithm of Ozcan et al. [16]
(TS for short). For GOK, MOD and ABS, 95 common cycle times are
taken into consideration. For TS, since Ozcan et al. [16] reported the
results for 55 cycle times, the comparisons are achieved on these
cycle times. The proposed multiple-colony ACOalgorithmis imple-
mented by C# programming language and runs are performed on a
Intel Core 2 Duo 2.4GHz computer with 2 GB RAM. The parameter
values of the proposed algorithm for solving the test problems are
shown in Table 1.
Number of ants in ACO directly affects the performance of the
algorithm. Dorigo and Sttzle [27] presented that the number of
ants must be greater than 1. Dorigo et al. [21] suggested that the
performance of the algorithmgetting better as number of ants close
to number of cities in travelling salesmen problem. In this study,
test problems are divided into two groups as small and large sized
problems. Small sized problems are the test problems which have
13136 tasks. Large sized problems have 146217 tasks. Usually,
the number of ants is suggested to be less than 10 for large sized
problems due to the excessive computation time [11]. Since we
have 3 sub-colonies in this study, the number of ants is determined
as 9 and 30 for large and small sized problems, respectively.
For parameters , , Q and w; different combinations of the
={1,2,5}, ={1,2,5}, Q={1,5,10} w = {0.5, 0.7} are evaluated.
Different combinations of these parameters yield better results
for different problems. But the differences are not distinctive, so
similar parameters setting is used for all problems as shown in
Table 1.
Adirect comparison of the results is given in Table 2 and Table 3.
In Gokcen et al. [1] and Ozcan et al. [16] computation times for their
procedures GOK and TS are not given. Since they only present the
number of workstations, wecomparedthesolutions withrespect to
number of workstations. In Table 2, results are presented in terms
on minimum number of workstations obtained from each algo-
rithm (GOK, MOD, ABS, TS and multiple-colony ACO: mc-ACO).
Scholl and Boysen [2,3] were run their algorithms on a personal
computer withanIntel PentiumIVprocessor of 3.0GHz clock speed
and 1.5 GByte of RAM. For each MPALBP-instance a time limit of
500s was set for their procedures MODand ABS. Therefore making
a one-to-one comparison in terms of computational time perfor-
mance is not possible. However, we can say that our algorithm
generates high quality solutions in very short CPU times, much
smaller than 500 cpu sec. In Table 3 we presented details of the
computational time performance and results for 10 independent
runs of the proposed algorithm.
Theresults of mc-ACOarecomparedwithGOK, MOD, ABSandTS
by using statistical tests. In this study paired-t test is used as a para-
metric test in order to compare the means of two samples. The test
computes the differences between values of the two samples for
each case and test whether the average differs from 0. The paired-
t test procedure is used to test the hypothesis of no difference
between two samples. The results of the paired-t test are presented
inTable4. InTable4therst columnrepresents thecomparedpairs.
Mean difference column displays the average difference between
mc-ACO and the compared results. N and df columns represent the
sample size anddegree of freedom, respectively. The Sig (p) column
displays the probability of obtaining a t statistics whose absolute
value is equal to or greater than the obtained t statistics. Since the
signicance value for pair mc-ACO-GOK is less than 0.05 (=0.05)
we canconclude that there is a signicant difference betweenthese
pairs. The negative sign of average difference between mc-ACO-
GOK means that mc-ACO consists of less number of workstations
than GOK. Similar conclusions are repeated for mc-ACO-MOD and
mc-ACO-TS pairs. The differences between these pairs are also sig-
nicant. And the negative sign of mean difference values denotes
L. Ozbakir et al. / Applied Soft Computing 11 (2011) 31863198 3193
Table 3
Detailed results of multiple-colony ACO.
Test problems Cycle time CPU time (seconds) Fitness function value Number of stations
Average Average Min Max
Merten 9 0.001 2.040 7/10
11 0.002 2.000 5/10
13 0.002 2.063 5/10
17 0.001 2.067 4/10
Jaeschke 9 0.002 2.034 8/10
11 0.001 2.000 7/10
13 0.002 2.110 6/10
15 0.002 2.088 5/10
17 0.002 0.000 4/10
Jackson 8 0.004 2.012 13/10
10 0.049 1.528 9/10
13 0.002 2.000 7/10
15 0.002 2.026 6/10
19 0.004 2.048 5/10
Roszieg 14 0.027 2.000 18/10
16 0.020 2.076 16/10
17 0.509 1.672 15/10
22 0.016 2.057 12/10
30 0.011 2.047 9/10
Sawyer 25 12.943 0.919 26/3 27/7
27 78.478 0.881 24/5 25/5
30 0.152 2.010 22/10
36 0.217 1.364 18/10
41 0.031 2.149 16/10
54 0.022 2.034 12/10
Kilbridge 57 0.084 2.125 20/10
79 0.055 2.024 14/10
92 0.047 2.095 12/10
110 0.038 2.034 10/10
138 0.038 2.054 8/10
184 0.025 2.094 6/10
Hahn 2004 0.067 2.066 14/10
2338 0.064 2.049 12/10
2806 0.038 2.074 10/10
3507 0.039 2.166 8/10
4676 0.031 2.033 6/10
Tonge 160 21.047 1.140 44/10
168 22.655 1.094 42/10
207 10.470 1.687 34/10
234 0.297 2.058 30/10
270 0.213 2.075 26/10
293 0.202 2.063 24/10
Wee-Mag 28 1.806 2.001 123/10
29 1.783 2.002 123/10
31 6.458 2.002 121/10
33 1.720 2.001 119/10
34 1.686 2.000 119/10
41 1.689 2.000 116/10
42 1.664 2.001 107/10
43 1.497 2.001 98/10
49 1.603 2.016 62/10
54 13.636 2.002 60/10
Arcus1 3786 1.053 1.959 40/10
3985 4.622 1.999 38/10
4206 0.264 2.018 36/10
4454 0.394 2.035 34/10
4732 0.203 2.069 32/10
5853 212.449 0.634 25/4 26/6
6842 0.142 2.065 22/10
7571 0.114 2.064 20/10
8412 0.109 2.150 18/10
10816 0.081 2.096 14/10
Lutz2 11 335.672 0.618 88/4 89/6
12 208.594 0.548 80/2 81/8
13 243.544 0.425 73/6 74/4
14 272.620 0.499 68/6 69/4
15 205.817 0.364 63/7 64/3
16 123.772 0.374 59/5 60/5
17 2.939 0.961 56/10
3194 L. Ozbakir et al. / Applied Soft Computing 11 (2011) 31863198
Table 3 (Continued)
Test problems Cycle time CPU time (seconds) Fitness function value Number of stations
Average Average Min Max
19 6.239 0.561 50/10
20 1.117 2.087 48/10
Lutz3 75 0.516 1.045 44/10
79 230.516 0.771 41/4 42/6
83 105.656 0.672 39/3 40/7
87 0.458 1.022 38/10
92 124.953 0.437 35/2 36/8
Mukherje 176 0.484 1.000 47/10
183 158.534 0.580 45/10
192 42.752 0.546 43/10
201 227.448 0.416 41/10
211 331.078 0.401 39/8 40/2
222 2.617 0.863 37/10
234 55.513 0.334 35/10
248 210.097 0.258 33/10
263 0.298 1.109 32/10
281 152.75 0.262 29/2 30/8
301 0.247 1.129 28/10
324 0.228 1.048 26/10
351 0.200 1.129 24/10
Arcus2 5785 26.603 0.868 53/10
6016 200.231 0.658 51/10
6267 126.925 0.733 49/10
6540 20.858 0.894 47/10
6837 13.681 0.934 45/10
7162 0.602 1.059 43/10
Table 4
Paired-t test results of comparisons.
Pair Mean difference N df Sig.(p)
mc-ACO-GOK 0.38947 95 94 9.80641E08
mc-ACO-MOD 1.58947 95 94 2.02711E11
mc-ACO-ABS 0.01053 95 94 0.740803
mc-ACO-TS 0.30909 55 54 8.65235E06
that mc-ACO generates better results than MOD and TS. Since the
signicance value for pair mc-ACO-ABS is greater than 0.05, the
difference between this pair is not statistically signicant. But the
negative sign of average difference denotes that mc-ACOgenerates
better values than ABS. ABS was proposed as an exact solution pro-
cedure byScholl andBoysen[2,3]. The proposedalgorithmis able to
ndthe same solutions withABS for all of the smaller size test prob-
lems. For larger size problems ABS generated better solutions for
four problems andACOgeneratedbetter solutions for ve problems
(however the difference between themis very small, i.e. 1 worksta-
tion for all cases, moreover ACO seems better for relatively larger
problems). A similar comparison is performed on TS and mc-ACO.
Because these two solution approaches are meta-heuristic search
algorithms. mc-ACOalgorithmgenerates better results for 17 of 55
test problems than TS. The results of remainder test problems are
the same.
Table 5 presents the summary of the results for all compared
algorithms. These results denote the average deviationratios (ADR)
which are calculated by using equation 12. For each test case, the
Table 5
Summary of results.
Algorithms #Test cases Average deviation
ratio (Opt/LB)
GOK 95 0.013888
MOD 95 0.049722
ABS 95 0.005734
TS 55 0.011373
mc-ACO 95 0.005333
ratio of deviation from optimum or lower bound is calculated and
average of all test cases is reported.
ADR :
#testcases
i=1
(WS
i
Opt
i
)/Opt
i
#testcases
(12)
where: WS
i
represents the number of workstation found by the
algorithmfor test casei, Opt
i
denotes theoptimumnumber of work-
stations. If the optimumis not provenfor this test case, lower bound
value is taken. These optimum and lower bound values were pre-
sented by Scholl and Boysen [2,3]. As it can be seen from Table 5,
mc-ACOalgorithmgenerates the minimumaverage deviationratio.
Based on the computational results we can safely conclude that
the proposedmc-ACOalgorithmis a very promising meta-heuristic
approach for solving the multi product PALBP.
5. Conclusion
In this paper, an ACO is proposed for balancing multi product
parallel assembly lines. The proposed ACO algorithm is a multi-
ple colony type and multiple criteria (minimizing the idle time
of workstations and maximizing the line efciency) are consid-
ered in evaluating the performance of the generated solutions.
The proposed ACO algorithm is also one of the rst meta-heuristic
approaches for solving the present problem which is known as a
NP-hard problem. The proposed algorithm is also compared with
four other existing approaches form the literature. After statisti-
cal analyses it is found out that the proposed algorithm is very
competitive and eligible solution approach for solving the present
problem. It is able to generate high quality solutions in very short
CPU times.
Acknowledgements
Prof. Dr. Adil Baykasoglu is grateful to Turkish Academy of Sci-
ences (TBA) for supporting his scientic studies.
L. Ozbakir et al. / Applied Soft Computing 11 (2011) 31863198 3195
1,1
1,2
1,3
1,5
1,4
5
4
3
1
3
2,1
2,2
2,3
1
5
3
Fig. A1. Precedence diagrams and task times of the sample problem.
Appendix A.
A.1. Sample problem
A sample problem is used to present how the proposed algo-
rithm works. Precedence diagrams and task times of the sample
problem for two parallel lines are illustrated in Fig. A1. Cycle time
for assembly lines is set to 12.
A.2. Solution
Parameter setting for the sample problemis shown in Table A1.
A.2.1. Initial solution generation
Determine the earliest and latest possible stations for each task
by using equations 1 and 2. For task 1,1 earliest station is 1, latest
station is 2. And for the other tasks, earliest station is 1, latest
station is 3.
Generate solutions for each colony. Tables A3A5 show the solu-
tionstrings andtness functions of solutions whichare generated
by ants for each colony.
Update the local bests and the global best, and pheromone
amount of the arcs. The pheromone amount on the arcs is given
in Table A6.
A.2.2. New solution generation
Assignment of the rst task (for the rst ant of the rst colony):
Calculate the
k
(1,1),1
(t) by using Eq. (5).
k
(1,1),1
(t) = (1 0.7) 8.8 +0.7 8.7 = 8.7
k
(2,1),1
(t) = (1 0.7) 8.5 +0.7 8.5 = 8.5
k
(1,1),1
(t, t +n) =
5
2
k
(1,1),1
(t, t +n) = 7.4
(1,1),1
(t +n) = (1 0.1)8.8 +7.4 = 15.3