A study of the worst case ratio of a simple algorithm for simple assembly line balancing problem
1. A study on a simple heuristic for Simple Assembly Line
Balancing problem
Monard VONG
Optimization Lab.
Seoul National University
December 15th 2009
M. Vong (SNU) SALBP December 15th 2009 1 / 24
2. Outline
1 Introduction to Assembly Line Problems
2 Solving SALBP
3 Worst case performance ratio and computational experiment
M. Vong (SNU) SALBP December 15th 2009 2 / 24
3. Concept of Assembly Line (AL)
Figure: Tasks and precedence
constraints
Figure: Assembly Line Concept
In assembly line balancing
problem, the process (tasks
The amount of time a
and constraints) is known
workpiece can be processed by
a station, before the conveyor The goal is to find a feasible
belt moves the workpiece to assignment of tasks to
the next station is called the stations.
cycle time.
M. Vong (SNU) SALBP December 15th 2009 3 / 24
4. Simple Assembly Line Balancing Problem
Now we consider the simplest case of an AL problem: Simple Assembly Line
Balancing Problem
The objective is to maximize the efficiency of the line.
Characteristics
1 paced serial line;
2 deterministic (and integral) task time tj ;
3 assignment restrictions: precedence constraints ;
From now on, we focus on SALBP-1:
cycle time c is fixed
minimize the number of stations required
This problem is NP-hard.
M. Vong (SNU) SALBP December 15th 2009 4 / 24
5. SALBP-1 as an optimization problem
Input
Set of task V = {1, . . . , n} with task time tj ∈ N, ∀j ∈ V
Precedence digraph G = (V , A) (partial ordering of tasks)
Cycle time c
Goal
Find number of station m to maximize the line efficiency. max tsum
m·c
with total task time tsum = n tj
j=1
Output
S1 , . . . , Sm , m subset of tasks such as ∪k∈1,...,m Sk = V and Sk is
feasible for all station.
M. Vong (SNU) SALBP December 15th 2009 5 / 24
6. Notations
n Number of tasks;
V Set of task V = 1, . . . , n
m Number of stations; index k = 1, . . . , m
m∗ Optimal number of station
m, m Lower, upper bound on m∗
tj Task time of task j = 1, . . . , n
Pj Set of direct predecessors of task j
Pj∗ Set of all predecessors of task j
Fj∗ Set of all followers of task j
Sk Set of task assigned to station k: Station load
t(Sk ) t(Sk ) = j∈Sk tj , k = 1, . . . , m
M. Vong (SNU) SALBP December 15th 2009 6 / 24
7. State of the Art
Lot of research done on SALBP since 50 years.
Many heuristics and optimal procedures have been designed.
Most research is focused on solving the problem with additional
constraints.
But there is few research on worst case ratio of heuristic algorithms.
Queyranne(1985): no polynomial time algorithm achieves an absolute
worst case performance ratio less than 3
2
M. Vong (SNU) SALBP December 15th 2009 7 / 24
8. Outline
1 Introduction to Assembly Line Problems
2 Solving SALBP
3 Worst case performance ratio and computational experiment
M. Vong (SNU) SALBP December 15th 2009 8 / 24
9. Construction schemes for heuristic algorithm
Most existing algorithm enumerates solutions by constructing them
successively assigning tasks or subset of tasks to stations.
Definition
Availability A task j is available if all predecessor h ∈ Pj∗ have been
assigned.
Assignability An available task j is assignable to a station k if the current
idle time of k is sufficient.
Maximal Station Load A station load Sk is maximal if no available task is
assignable to k.
M. Vong (SNU) SALBP December 15th 2009 9 / 24
10. Task-Oriented Greedy Heuristic for SALBP-1 Problem
Adaptation of Next-Fit algorithm
1: topologically sort the tasks
2: k = 1
3: for i = 1 → n do
4: if t(Sk ) + ti ≤ c then
5: Sk ← i
6: else
7: k ←k +1
8: end if
9: end for
M. Vong (SNU) SALBP December 15th 2009 10 / 24
11. For instance c = 10
Figure: Precedence Graph
Figure: Solution Obtained by Next-Fit
M. Vong (SNU) SALBP December 15th 2009 11 / 24
12. Adaptation of First Fit algorithm
1: topologically sort the tasks
2: m ← 1
3: for i = 1 → n do
4: if ∃k ∈ {1, . . . , m} such that
tSk + tj ≤ c and the precedence constraints are respected then
5: Sk ← Sk + {i}
6: else
7: m ←m+1
8: end if
9: end for
M. Vong (SNU) SALBP December 15th 2009 12 / 24
13. For instance c = 10
Figure: Precedence Graph
Figure: Solution Obtained by adaptation of First-Fit
M. Vong (SNU) SALBP December 15th 2009 13 / 24
14. c = 10
Figure: An optimal Solution with 6 stations
M. Vong (SNU) SALBP December 15th 2009 14 / 24
15. Outline
1 Introduction to Assembly Line Problems
2 Solving SALBP
3 Worst case performance ratio and computational experiment
M. Vong (SNU) SALBP December 15th 2009 15 / 24
16. Worst case performance ratio
Notations
I is an instance of our optimization problem.
z ∗ (I ) is the optimal value solution.
z H (I ) is the value of the solution obtained by heuristic H
The worst case ratio of H is defined as the smallest constant ρH such
that z H (I ) ≤ ρH z ∗ (I ) for each instance of I ∈ I
The asymptotic worst case ratio of H is defined as the smallest
constant ρH for which there exist another constant δ such that
z H (I ) ≤ ρH z ∗ (I ) + δ for each instance of I ∈ I.
M. Vong (SNU) SALBP December 15th 2009 16 / 24
17. Upper Bound on the worst case ratio
Proposition
An upper bound of the worst case ratio of any heuristics which build maximal
station load is 2.
Proof.
For any heuristic H which build maximal station load, for any station k built by
this heuristic: t(Sk ) + t(Sk+1 ) > c
mH n
mH mH ·c t(Sk ) j=1 tj
k=1t(Sk ) > 2 . However, m∗ ≥ k=1
c = c , then we obtain
m < 2 · m∗ .
H
Corollary
The worst case ratio of Next Fit is 2, and it is tight.
M. Vong (SNU) SALBP December 15th 2009 17 / 24
18. A 2 worst case instance for SALBP
We will provide an instance for which, even the adaptation of First Fit
algorithm to SALBP cannot beat the 2 worst case factor.
1C
Let consider 0 < δ ≤ 6 k:
2k tasks of task time 3δ,
2k tasks of task time 1 C − 2δ,
2
2 ∗ (2k − 1) tasks of task time δ
Figure: 2 Worst case instance
M. Vong (SNU) SALBP December 15th 2009 18 / 24
19. Figure: Optimal Solution
Figure: Solution given by the algorithm
A(I ) 2k
lim = lim =2
k→∞ OPT (I ) k→∞ k + 1
M. Vong (SNU) SALBP December 15th 2009 19 / 24
20. Ranked Positional Weight
Using a topological sorting is not enough, the quality of the sorting may be
improved.
Ranking Positional Weight (RPW) of task i is the sum of the task time ti
and the task time of all followers of i. RPWi = ti + j∈F ∗ tj
i
Tasks are sorted by non-increasing RPW.
Example
RPW1 = 38 RPW6 = 18
RPW2 = 23 RPW7 = 17
RPW3 = 32 RPW8 = 13
RPW4 = 27 RPW9 = 11
RPW5 = 22 RPW10 = 2
Sorting by non increasing RPW, the following order is considered.
1, 3, 4, 2, 5, 6, 7, 8, 9, 10
M. Vong (SNU) SALBP December 15th 2009 20 / 24
21. Using RPW as topological sorting, the optimal solution is obtained for the
previous worst case instance with the same first fit algorithm.
Ranked Positional Weight algorithm
1: Sort the tasks by non-increasing ranked positional weight
2: Use First Fit rule
What about the worst case of the improved algorithm then?
M. Vong (SNU) SALBP December 15th 2009 21 / 24
22. If we used Next fit algorithm, instead of First Fit, it is still possible to find
instances for which the (asymptotic) worst case ratio is 2.
Consider n integer and δ > 0 such that 2nδ < 1.
The instance is made of:
n tasks of task time 1 C + δ
2
n tasks of task time 1 C − δ
2
2n tasks of task time δ
The optimal packing packs all tasks of task time 1 C + δ and 1 C − δ in n
2 2
stations, and all tasks δ in 1 station. Thus giving n + 1 stations.
After the RPW sorting, the Next Fit algorithm packs into one station tasks
1 1
2 C + δ and δ and in another station 2 C − δ and δ. Thus giving 2n stations.
M. Vong (SNU) SALBP December 15th 2009 22 / 24
23. Worst case ratio found in the instances
Name n c m∗ mFF mRPW CPU FF CPU RPW CPU B
Arcus 2 111 5755 27 29 27 < 1ms < 1ms 0.016s
Barthold2 148 85 50 55 53 0.016s 0.031s 3600s
Heskiaoff 28 256 4 5 4 < 1ms < 1ms < 1ms
Lutz2 89 14 37 43 40 < 1ms < 1ms 3.094s
Scholl 297 1699 42 43 42 0.015s 0.078s 2603s
Warnecke 58 56 29 34 33 0.016s 0.015s 0.906s
The previously devised algorithms were implemented using C programming
language and tested on 20 instances provided by the literature.
The optimal solution was obtained using an efficient Branch and Bound Algorithm
(SALOME devised by Scholl).
The RPW sorting as a preprocessing is found to ameliorate the objective value of
the solution.
M. Vong (SNU) SALBP December 15th 2009 23 / 24
24. Conclusion
A simple case of Assembly Line Balancing Problem was studied.
A simple heuristic was proposed and implemented using C
programming language.
Computational results were compared to optimal one obtained by the
current best Branch and Bound algorithm.
Worst case analysis of our simple heuristic was studied.
We found out that the factor 2 is a tight worst case ratio even for the
adaptation of First Fit algorithm.
M. Vong (SNU) SALBP December 15th 2009 24 / 24