Eindhoven University of Technology: Award Date: 2010
Eindhoven University of Technology: Award Date: 2010
MASTER
Kesuma, G.P.
Award date:
2010
Link to publication
Disclaimer
This document contains a student thesis (bachelor's or master's), as authored by a student at Eindhoven University of Technology. Student
theses are made available in the TU/e repository upon obtaining the required degree. The grade received is not published on the document
as presented in the repository. The required complexity or quality of research of student theses may vary by program, and the required
minimum study period may vary in duration.
General rights
Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners
and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights.
• Users may download and print one copy of any publication from the public portal for the purpose of private study or research.
• You may not further distribute the material or use it for any profit-making activity or commercial gain
PERFORMANCE ANALYSIS OF
PRODUCTION LINES AT HEINEKEN
By
Grant Patrizio Kesuma
0641220
iv
Table of Contents
Table of Contents v
List of Figures ix
Abstract xi
Acknowledgements xii
1 Introduction 1
1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Problem Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Project Goal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5 Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.6 Thesis Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Data Analysis 8
2.1 Data System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Line Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 OPI NONA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.4 Relation between Speed and Breakdown . . . . . . . . . . . . . . . . . . . . 9
2.4.1 Speed and Breakdown Rate . . . . . . . . . . . . . . . . . . . . . . . 9
2.4.2 Speed and Breakdown Duration . . . . . . . . . . . . . . . . . . . . 15
3 Continuous Model 17
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2 Continuous Two-Machine Line . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.1 Model Assumption and Terminology . . . . . . . . . . . . . . . . . . 18
3.2.2 Performance Measures . . . . . . . . . . . . . . . . . . . . . . . . . . 19
v
3.2.3 Transition Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2.4 Boundary Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.5 Identities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.3 Analytic Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3.1 General Case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.3.2 Special Case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3.3 Performance Measures . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.4 Numerical Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6 Conclusion 69
6.1 Suggestions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
6.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
A Conditional Probability 71
B Experiment Parameters 73
C Other Results 77
D Software Guide 79
D.1 Performance Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
D.2 Sensitivity Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
E Scatter Plots 84
F Speed Usage 90
Bibliography 92
vi
List of Tables
B.1 Parameter values for comparison with Glassey and Hong (1993) . . . . . . . 73
B.2 Parameter values for comparison with simulation . . . . . . . . . . . . . . . 74
B.3 Parameter values of 3-machine model . . . . . . . . . . . . . . . . . . . . . . 74
vii
B.4 Parameter values Case 33 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
B.5 Input Production Line 8A . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
B.6 Input Production Line 8B . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
B.7 Input Production Line 15A . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
B.8 Input Production Line 16A . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
B.9 Input Production Line 16B . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
viii
List of Figures
ix
D.2 Excel file input data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
D.3 Sensitivity Analysis Interface . . . . . . . . . . . . . . . . . . . . . . . . . . 82
x
Abstract
The design and improvement of manufacturing flow lines are very important. To be able to
design and improve the flow lines, a fast and accurate method is needed. This method should
be able to estimate the performance characteristics. In this thesis we use an approximation
method which is fast and accurate to analyze unreliable single-machine tandem lines with
finite buffers; each machine can have different speeds, with exponentially distributed up-and-
down times behavior. The main idea of this method is that the original line is decomposed
into subsystems. Each subsystem consists of two machines and one buffer in between. To
link the decomposed two-machine subsystems together, a set of decomposition equations
is derived. We use an extended version of The David-Dallery-Xie algorithm to solve these
decomposition equations. Some performance measures are evaluated such as throughput,
buffer contents, blocking and starvation probabilities. At the end, we implement our method
to analyze Heineken’s production lines. We also implement the cross-entropy method to
improve and design their production lines by finding optimal speed configurations and buffer
allocations.
Key words: tandem lines, decomposition, finite buffers, blocking, unreliable, exponential,
optimization, cross-entropy
xi
Acknowledgements
First and foremost, I would like to thank my academic supervisors, Ivo Adan and Onno
Boxma, for being excellent supervisors in the past 8 months. Their excellent supervision
made it possible for me to accomplish this thesis. I am also very grateful to my company
supervisor, Annemieke Moerkerken, who guided me to accomplish the research at Heineken.
I would like to thank ’Mathematics for Industry’ for the financial support I received. I would
also like to express my thanks to Heineken ’s-Hertogenbosch and EURANDOM for providing
me a cozy office.
I am also grateful to Koo Rijpkema who gave me a valuable suggestion and comment
related to data analysis. I would also like to thank Remco Bierbooms for the discussion
related to an analytical model. I want to thank Edward Christian who also did a similar
project at Heineken and built a simulation model.
A special thanks to my lovely girlfriend, Jian Jingxian, who always supports me all the
time. Because of her, my life is so meaningful in Netherlands. And last, but not least, I
would like to thank my father, my mother and my sister for their continuous support and
encouragement.
xii
Chapter 1
Introduction
In this chapter we present the background of this thesis, the problem description as well as
the goal of the thesis. To be able to develop an analytical model, some assumptions are also
made. The framework and the outline of this thesis are given at the end of this chapter.
1.1 Background
Since 2003 Heineken ’s-Hertogenbosch has implemented a method, developed by the Japan
Institute of Plant Maintenance (JIPM), which is called Total Productive Maintenance
(TPM) to minimize production losses. Heineken ’s-Hertogenbosch applied for JIPM certi-
fication and it was noted that the conveyor belt of production line 15A should be reduced.
At the end of 2008, Heineken reduced the conveyor belt of production line 15A. The effect
of this reduction was investigated by Ellen Weerts [19] and Edward Christian [6]. Ellen
Weerts used an analytical model to investigate it, while Edward used a simulation model.
Both models have advantages and disadvantages. Table 1.1 shows the difference between
an analytical model and a simulation model.
In their project, the approximation using the analytical model developed by Ellen was not
as good as the simulation model. Ellen used an analytical model based on an aggrega-
tion method developed by De Koster (see [12] and [11]). In this thesis, we use a different
1
2
analytical model based on a decomposition method which turns out to be better. The
decomposition method that we will use is based on the decomposition method developed
by Burman [2]. The motivation why we choose Burman’s method is that this method has
successfully been implemented to the Hewlett Packard, Johnson and Johnson production
lines and gave an immense financial benefit to them [3]. Using this analytical model we
analyze not only production line 15A, but also production lines 8A, 8B, 16A and 16B. The
performance of these lines is measured using the Operational Performance Indicator No
Order No Activity (OPI NONA). OPI NONA is a ratio between the theoretical production
time and the effective working time (see Figure 2.1 and Figure 2.2 in Chapter 2). No Order
No Activity means that the times when there are no orders available are not taken into
account in the OPI calculation. In this thesis, we want to investigate the line performance
by calculating OPI. For the rest of this thesis we refer to OPI NONA as OPI.
buffer 2 to decrease while buffer 1 increases. Once buffer 2 is empty, machine 3 will be
starved. On the other hand, once buffer 1 is full, machine 1 will be blocked. Moreover,
it is also possible that machines slow down. As an example, suppose that machine 1 and
machine 2 are operational. We assume that machine 2 works faster than machine 1. When
the buffer between these machines is empty, machine 2 will slow down and run at the same
speed as machine 1. The case machine 1 works faster than machine 2 is analogous. Since
all machines can breakdown and work at many speeds, the throughput of this production
system depends on the breakdown rate, the breakdown duration and processing rate/speed.
1.4 Assumptions
Some important assumptions are made in order to build the analytical model.
5
• The transport time between two machine is zero which means that the product that
comes out of the first machine can go immediately to the next machine if the buffer
is empty.
• The system input (Line 15A) only consists of the bottles that are going to the de-
palletizer. The new glass which comes into the line before EBI is not taken into
account.
• Breakdown can only occur when the machines are producing, which means that we
have operational dependent failures instead of time dependent failures.
1.5 Framework
The framework of this thesis is the following. First, we find the analytic solution of the two-
machine model. This solution is based on the Gershwin and Schick model (see [9]). In their
model, they assume that the failure rate is proportional to the speed while we assume that
the failure rate is a function of the speed. Burman [2] derives a new set of decomposition
equations for a longer line. He also assumes that the failure rate is proportional to speed.
Based on this, we derive a set of decomposition equations which are almost similar to
his. The difference is that in our decomposition equations we assume that the failure rate
is a function of speed. To solve the decomposition equations, Burman adapted the David-
Dallery-Xie algorithm [4]. In his dissertation, Burman also proposed a method to accelerate
this algorithm. We use the same method as Burman’s to accelerate the algorithm. We
call our algorithm the General Accelerated David-Dallery-Xie (GADDX) algorithm. The
analytical model mentioned before needs input to approximate the throughput of the lines.
The required inputs are failure rate, repair rate, processing rate, and buffer capacity. We
obtain these inputs from Heineken’s database. Some statistical methods are used to extract
this data from their database system. The next step is to analyze Heineken’s current
production lines and optimize it. Finally, we develop an independent user-friendly GUI
software in which three features are integrated such as performance evaluation, sensitivity
analysis and optimization. This software can help Heineken to analyze their production
lines in the future.
Chapter 2 we explain the data system, the performance measure used at Heineken as well as
the investigation of the relationship between machine speed and breakdown rate. Chapter 3
deals with a continuous model of a two-machine system which is used to analyze the perfor-
mance of a longer line. Chapter 4 introduces a decomposition method to approximate the
behavior of a longer line as well as the algorithm to solve a set of decomposition equations.
In Chapter 5, we analyze Heineken’s production lines. In this Chapter we also present the
optimal speed configurations and the optimal buffer allocations of their production lines.
Finally, we conclude this thesis by giving suggestions and recommendations to Heineken in
Chapter 6.
Chapter 2
Data Analysis
This chapter introduces the database systems at Heineken. The formula to calculate OPI is
also given. Some parameters for calculating the OPI values of production lines 8A, 8B, 15A,
16A and 16B are presented. These parameters will be used as inputs of the analytical model
which is developed in Chapter 4. In the last section we investigate the relation between
speed and breakdown rate as well as the relation between speed and breakdown duration.
These relations are very important for the input of the analytical model.
8
9
The nominal speed of the filler (vn ) is the installed filler speed in bottles per hour. APDT
is the average planned down time of the filler and ACOT is the average change-over time
of the filler.
(see Table 2.2). The complete scatter plots of all production lines are in Appendix E. We
use SPSS software to find the relation. We use the regression feature to obtain the linear or
nonlinear regression. See [8], [16], and [18] for some references related to regression model
and see [7] for the reference related to SPSS. Here, we present some results. We found a
linear relation for Valinpakker 16B and ETIMA 16B. See Figure 2.4 and Figure 2.5 The
regression model of Valinpakker 16B is given by
where X is speed and Y is breakdown rate. We use this equation to make a prediction. The
red line is the mean response of our regression model and the blue lines are 95% confidence
interval. The coefficient determination R2 of the regression model is 0.614. This means
that our model can explain around 61.4% of the variance. We can do the same thing to
ETIMA 16B. The regression model of ETIMA 16B is given by
where X is speed and Y is breakdown rate. It is noted for this machine that the coefficient
determination R2 is 0.501.
The next result is that there is a quadratic relation between speed and breakdown rate for
Inpakker 15A. See Figure 2.6.
12
where X is speed and Y is breakdown rate. The coefficient determination (R2 ) is 0.617.
A special treatment is needed for production line 8B since this production line is used by
two different types of bottles. When it is producing a big bottle, its speed will be slow. On
the other hand, when it is producing a small bottle, its speed will be fast. For instance,
the operating range of ETIMA 8B is between 22000 and 28000 for big bottles, and between
37000 and 46000 for small bottles (see Figure 2.7). Heineken is interested in investigating
whether the breakdown rate between these two groups of operating ranges are different. In
order to do that, we use a t-test method to compare the means of these two groups.
H0 : µ1 = µ2
H1 : µ1 6= µ2 (2.4.4)
Equation (2.4.4) shows the hypothesis of the t-test. The term µi is the mean of ith group.
The results are shown in Table 2.3. The table shows the mean, variance and number of
observations of each group as well as the degree of freedom (df). Since the p-value is less than
0.05 (95% confidence interval), we can not accept H0 , hence we conclude that for ETIMA
13
Valinpakker 16B
15
Observation
14 Predicted Values
95% CI
13
Breakdown rate (per hour)
12
11
10
7
3.8 4 4.2 4.4 4.6 4.8 5 5.2 5.4 5.6 5.8
Speed (bottle/hour) 4
x 10
ETIMA 16B
7.5
6.5
6
Breakdown (per hour)
5.5
4.5
4 Observation
Predicted Values
95% CI
3.5
3
4.4 4.5 4.6 4.7 4.8 4.9 5
Speed (bottle/hour) x 10
4
Inpakker 15A
3.5
Observed
Predicted Values
95% CI
3
Breakdown rate (per hour)
2.5
1.5
0.5
3 3.2 3.4 3.6 3.8 4 4.2 4.4 4.6
Speed (bottle/hour) x 10
4
8B, the operating range for small bottles is statistically different from the operating range for
big bottles. We did the same thing to Valinpakker 8B. As shown in Table 2.2, for producing
small bottles Heineken runs the machine at speed 22000 to 29000 while for big bottles from
44000 to 54000. The result of our investigation for this machine is that the breakdown
rates of these operating ranges are statistically equal. It means that the breakdown rate
does not depend on the machine speeds. For other machines, we did the same investigation
using regression methods or t-test (if applicable). All scatter plots in Appendix E indicate
that there is no relation except for Valinpakker 16A which has a positive linear relation.
However, its small coefficient of determination (R2 = 0.182) indicates that the model is not
good enough to be used for prediction. All these relations will be implemented to analyze
Heineken’s production lines in Chapter 5.
Filler 16A, the favorite speeds are around 45000 and 18000. This causes that most of the
breakdowns, including long breakdowns occur at these speeds. The complete lists of speed
usages are presented in Appendix F.
Chapter 3
Continuous Model
In this chapter, a continuous model is presented. The first section begins with an introduc-
tion, some assumptions and terminologies of the model. The two-stage model is given in
Section 3.2. Section 3.3 gives the solution of the two-stage model. Finally, the last section
presents the numerical results of the model.
3.1 Introduction
We model the flow line as a continuous time, mixed state Markov process. In this model,
the material is treated as though it is a continuous fluid. Each machine has a processing
rate (µ), failure rate (p), and repair rate (r). We assume that the failure rate and the repair
rate are exponentially distributed. Furthermore, there is also a finite buffer with capacity N
between the two machines. The machine produces material at these processing rates unless
impeded by a failure, blockage or a starvation of raw material. Unlike discrete material flow
line models, the machine holds no material. The machine functions like a random water
faucet. It allows the liquid to pass, but all the liquid is stored either before or after the
faucet itself.
17
18
2. the probability of repair of machine i, that is, the probability that αi (t + δt) = 1 given
that αi (t) = 0 is ri δt
3. the probability of failure of machine i, that is, the probability that αi (t+δt) = 0 given
that αi (t) = 1 is pi δt
When x = 0
1. the change in x is (α1 µ1 − α2 µ2 )+ . It means that when the buffer is zero, the value
of x can only increase.
Since we have an operation dependent failure, the machines cannot break down when they
are not operational. If the buffer is empty, the second machine cannot operate faster than
the first machine. If the first machine speed is faster than the second one, the second
operates as it does normally, and the buffer is immediately not empty.
When x = N
1. the change in x is (α1 µ1 − α2 µ2 )− . It means that when the buffer is full, the value of
x can only decrease.
1. p(0, α1 , α2 ) as the probability that the system is in the state where there is 0 material
in the buffer, and machine 1, respectively machine 2, have status α1 , respectively α2
2. p(N, α1 , α2 ) as the probability that the system is in the state where there is N material
in the buffer, and machine 1, respectively machine 2, have status α1 , respectively α2
R x+δx
3. x f (y, α1 , α2 )dy as the probability of finding machine 1 in state α1 and machine
2 in state α2 and finding between x and x + δx unit of material in Buffer B.
Next, the efficiency of machine Mi is defined as the probability that machine Mi is processing
a workpiece. We use notation Ei for the efficiency of machine Mi . It is given by
(max) (min)
Ei = Ei + Ei (3.2.2)
where
(max)
E1 = prob[α1 = 1, x < N ] (3.2.3)
(max)
E2 = prob[α2 = 1, x > 0] (3.2.4)
(min) µ2
E1 = p(N, 1, 1) (3.2.5)
µ1
(min) µ1
E2 = p(0, 1, 1) (3.2.6)
µ2
20
(max)
Ei can be interpreted as the probability that machine i is processing material at speed
(min)
µi while Ei is the probability that machine i is processing material at speed lower than
(max)
µi . The value of Ei can be computed as follows.
(max)
E1 = prob[α1 = 1, x < N ]
Z N
= (f (x, 1, 0) + f (x, 1, 1))dx + p(0, 1, 1) (3.2.7)
0
(max)
E2 = prob[α2 = 1, x > 0]
Z N
= (f (x, 0, 1) + f (x, 1, 1))dx + p(N, 1, 1) (3.2.8)
0
The most important performance measure is the production rate (throughput rate) of ma-
chine Mi which is defined as
Pi = µi Ei i = 1, 2 (3.2.9)
Since there is no creation or destruction of material, flow is conserved. It is called conserva-
tion of flow (COF). Here, we also assume that the yield of the system is 100% which means
no defect products. COF of the two-stage model is defined as
P = P1 = P2
• If, at time t, machine 1 is under repair and machine 2 is operational, then the prob-
ability that both machines will be operational at time t + δt is (1 − p2 δt)r1 δt. In
addition, during that interval, the buffer loses µ2 δt.
• Similarly, if, at time t, machine 2 is under repair and machine 1 is operational, then
the probability that both machines will be operational at time t + δt is (1 − p1 δt)r2 δt.
In addition, the buffer increases µ1 δt during that interval.
By letting δt → 0, this equation becomes
∂f ∂f
(x, 1, 1, t) = −(p1 + p2 )f (x, 1, 1, t) + (µ2 − µ1 ) (x, 1, 1, t) + r1 f (x, 0, 1, t)
∂t ∂x
+ r2 f (x, 1, 0, t) (3.2.12)
• If machine 1 is operational and machine 2 is down, the storage level is between x−µ1 δt
and x − µ1 δt + δx then there will be no failure of machine 1 and no finished repair of
machine 2 before t + δt with probability
(1 − p1 δt)(1 − r2 δt)
and at time t + δt, the storage level will be between x and x + δx.
• If at time t both machines are operational, the probability that machine 1 will remain
operational at time t+δt is (1−p1 δt). In the meantime, the second machine will break
down with probability p2 δt. During that time period, the storage changes −µ1 δt+µ2 δt
• If both machines are down at time t, the probability that machine 1 will be operational
and machine 2 will remain under repair is r1 δt(1 − r2 δt). During this period, the
storage level does not change.
This is because
• If machine 1 is down and machine 2 is up at time t and the storage level is between
x + µ2 δt and x + µ2 δt + δx then nothing will happen with probability
(1 − p2 δt)(1 − r1 δt)
and at time t + δt, the storage level will be between x and x + δx.
• If at time t, both machines are operational, the probability that machine 1 will be
down and machine 2 will remain up is p1 δt(1 − p2 )δt. During that time interval, the
storage changes −µ1 δt + µ2 δt.
• If both machines are down at time t, the probability that machine 2 will be operational
and machine 1 will remain under repair is r2 δt(1 − r1 δt). During this period, the
storage level does not change.
23
• If both machines are down at time t and the storage level is x, then the probability
that nothing happens before t + δt is
(1 − r1 δt)(1 − r2 δt),
• If ,at time t, the first machine is up and the second one is down, the probability that
both machines will be down at time t + δt is p1 δt(1 − r2 δt). During this time interval,
the storage level increases µ1 δt
• Same argument as before, if at time t, the second machine is up and the first one is
down, the probability that both machines will be down at time t + δt is p2 δt(1 − p1 δt).
During this time interval, the storage level decreases µ2 δt.
• Boundary-to-Boundary Equations
Suppose the system is in state (0, 0, 0) at time t + δt, then the possible previous states
at time t are state (0, 0, 0) in which nothing happens or state (0, 1, 0) in which machine
1 will be down before t + δt. The transition probability from (0, 0, 0) to (0, 0, 0) is
(1 − (r1 + r2 )δt) and the transition probability from state (0, 1, 0) to state (0, 0, 0) is
(1 − r2 δt)p1 δt. Thus, we have
As δt → 0, (3.2.16) becomes
d
p(0, 0, 0, t) = −(r1 + r2 )p(0, 0, 0, t) + p1 p(0, 1, 0, t) (3.2.17)
dt
Moreover, we can also conclude that
p(0, 1, 0, t) = 0 (3.2.18)
The reason is that if the system ever reaches that state, it leaves instantly because
the buffer immediately accumulates material and the state changes instantly.
• Interior-to-Boundary Equations
If the system is in state (0, 0, 1) at time t + δt, the system could have been in one of
four states at time t. It could have been in state (0,0,0) with a repair of the second
machine. It could have been in state (0,0,1) if nothing happens. It could have been
in state (0,1,1) with the first machine failing and the second one not failing. It could
have been in any state (x, 0, 1) where 0 < x < µ2 δt if no repair of the first machine
or failure of the second occurred. It can be written as
or,
d
p(0, 0, 1, t) = r2 p(0, 0, 0, t) − r1 p(0, 0, 1, t) + p1 p(0, 1, 1, t) + µ2 f (0, 0, 1, t) (3.2.20)
dt
Now, we consider two cases. The first case is µ1 > µ2 . In this case, it is impossible
to get from (0, 1, 1) at t to (0, 1, 1) at t + δt if δt is small. The same reason as before,
when both machines are operational, material accumulates in the buffer instantly. The
same things happen if the system is in state (0, 0, 1) at time t and the first machine
is repaired during (t, t + δt), there will be some material in the buffer at time t + δt.
25
Finally, if at t the state is (x, 1, 1), and no failure occurs in (t, t+δt) the material in the
buffer will increase. Thus, there is no way of getting to state (0, 1, 1). In conclusion,
if µ1 > µ2
p(0, 1, 1, t) = 0 (3.2.21)
The second case is µ1 ≤ µ2 . Here, it is possible to get to (0, 1, 1) from (0, 0, 1) if
machine 1 is repaired, and from (x, 1, 1) where 0 ≤ x ≤ (µ2 − µ1 )δt if no failures
occur. It is also possible to get to state (0,1,1) from state (0,1,1) if no failures occur.
Hence, the probability that the system is in state (0,1,1) can be written as
• Boundary-to-Interior Equations
Consider the state (x, 1, 0) at time t + δt, where 0 < x < µ1 δt; the system could either
have been in an internal state at time t or at a boundary state sometime during the
time interval (t, t + δt). The only possible internal states are (x, 1, 1) or (x, 0, 0), but
their probabilities would contribute second order terms in the following equation.
Z µ1 δt Z t+δt
f (x, 1, 0, t + δt)dx = (r1 p(0, 0, 0, s) + g2 (µ1 )p(0, 1, 1, s))ds
0 t
+ (1 − p1 δt)(1 − r2 δt)p(0, 1, 0, t) (3.2.24)
As stated before, the zero’th order term in the equation above is p(0, 1, 0, t) = 0
Hence, the equation (3.2.17) can be rewritten as
d
p(0, 0, 0, t) = −(r1 + r2 )p(0, 0, 0, t) (3.2.25)
dt
The first order terms in (3.2.24) are
We consider two cases. The first case is µ1 > µ2 . In this case, it is possible to reach
state (x, 1, 1) where 0 < x ≤ (µ1 − µ2 )δt from the boundary. Due to equation (3.2.21)
and equation (3.2.18), the balance equation is (first order)
Z (µ1 −µ2 )δt Z t+δt
f (x, 1, 1, t + δt)dx = r1 p(0, 0, 1, s)ds (3.2.27)
0 t
26
or,
(µ1 − µ2 )f (0, 1, 1, t) = r1 p(0, 0, 1, t) (3.2.28)
The next case is µ1 ≤ µ2 . In this case, state (x, 1, 1) can only be reached from
state(x0 , α1 , α2 ) where x0 ≥ x. Consequently, there is no counterpart to (3.2.28).
Upper Boundary
Below the derivation of the upper boundary is given. In this case we have x = N . Analogous
phenomena occur on the upper boundary.
• Boundary-to-Boundary Equations
Suppose the system is in state (N, 0, 0) at time t + δt. The only possible previous
state at time t is state (N, 0, 0) itself. Since we assume that the system has operation
dependent failure, it is not possible to get to state (N, 0, 0) from state (N, 1, 0). If
at time t the system is in state (N, 0, 1), the material will instantaneously leave the
buffer which means that p(N, 1, 0) = 0. Hence, it can be written as
• Interior-to-Boundary Equations
To arrive at state (N, 1, 0) at time t + δt, the system could have been in one of four
states at time t. It could have been in state (N, 1, 0) at time t with no repair of the
second machine. (The first machine could not have failed since it was not running due
to blocking). It could have been in state (N, 0, 0) with a repair of the first machine.
It could have been in state (N, 1, 1) with a failure of second machine. Finally, it could
have been in any state (x, 1, 0) where N − µ1 δt ≤ x ≤ N . Symbolically
As δt → 0, it becomes
d
p(N, 1, 0, t) = −r2 p(N, 1, 0, t) + r1 p(N, 0, 0, t) + p2 p(N, 1, 1, t) + µ1 f (N, 1, 0, t)
dt
(3.2.30)
Consider the case when µ2 > µ1 .
In this case, it is impossible to get from (N, 1, 1) at t to (N, 1, 1) at time t + δt if δt
is small. The reason is that when both machines are operational, material leaves the
27
buffer instantly. The same thing happens if the system is in state (N, 1, 0) at time t
and the second machine is repaired during (t, t + δt), there will be some material that
leaves the buffer at time t + δt. Finally, if at t the state is (x, 1, 1), the material in
the buffer will decrease, so there is no way of getting to state (N, 1, 1). Thus, we can
conclude that, if µ2 > µ1
p(N, 1, 1, t) = 0 (3.2.31)
Consider the other case when µ1 ≥ µ2 .
• Boundary-to-Interior Equations
Suppose that at time t + δt the system is in state (x, 0, 1) where N − µ2 δt < x < N .
The system could have been in an internal state at time t or at a boundary state
some time during the time interval (t, t + δt). The only possible internal states are
(x, 1, 1) or (x, 0, 0), but their probabilities would contribute second order terms in the
following equation.
Z N Z t+δt
f (x, 0, 1, t + δt)δx = (r2 p(N, 0, 0, s) + g1 (µ2 )p(N, 1, 1, s))ds
N −µ2 δt t
+ (1 − r1 δt)(1 − p2 δt)p(N, 0, 1, t) (3.2.33)
Since we have
p(N, 0, 1, t) = 0 (3.2.34)
the last equation becomes (the first order)
Consider the case when µ2 > µ1 . In this case, it is possible to reach state (x, 1, 1)
where N − (µ2 − µ1 )δt ≤ x < N from the boundary. Due to (3.2.34) and (3.2.31), the
balance equation is
Z N Z t+δt
f (x, 1, 1, t + δt)dx = r2 p(N, 1, 0, s)ds (3.2.36)
N −(µ2 −µ1 )δt t
28
or,
(µ2 − µ1 )f (N, 1, 1, t) = r2 p(N, 1, 0, t) (3.2.37)
If µ1 ≥ µ2 , state (x, 1, 1) can only be reached from state (x0 , α1 , α2 ) where x0 < x.
Consequently, there is no counterpart to (3.2.37).
Normalization
Since the sum of all probabilities is always 1, we have
X 1 X1 ·Z N ¸
f (x, α1 , α2 )dx + p(0, α1 , α2 ) + p(N, α1 , α2 ) = 1 (3.2.38)
α1 =0 α2 =0 0
3.2.5 Identities
Some important identities are given below. These identities are applied in the rest of the
thesis.
p(0, 0, 0) = 0
p(0, 1, 0) = 0
p(N, 0, 0) = 0
p(N, 0, 1) = 0
p(0, 1, 1) = 0 if µ1 > µ2
p(N, 1, 1) = 0 if µ2 > µ1
Another identity which is used in establishing conservation flow
δf
0 = −(p1 + p2 )f (x, 1, 1) + (µ2 − µ1 ) (x, 1, 1) + r1 f (x, 0, 1) + r2 f (x, 1, 0)
δx
δf
0 = −µ1 (x, 1, 0) − (p1 + r2 )f (x, 1, 0) + p2 f (x, 1, 1) + r1 f (x, 0, 0)
δx
δf
0 = µ2 (x, 0, 1) − (r1 + p2 )f (x, 0, 1) + p1 f (x, 1, 1) + r2 f (x, 0, 0)
δx
0 = −(r1 + r2 )f (x, 0, 0) + p1 f (x, 1, 0) + p2 f (x, 0, 1)
d
0= [(µ2 − µ1 )f (x, 1, 1) + µ2 f (x, 0, 1) − µ1 f (x, 1, 0)] (3.2.40)
dx
Therefore,
where K is some constant to be determined. The proof is complete when K = 0. The value
of K can be obtained by evaluating the last equation for some particular value of x, e.g.
If µ2 < µ1 , equation (3.2.42) can be obtained by combining (3.2.20) and (3.2.23). The
proof is complete by combining it with equation (3.2.26). The corresponding result can be
Production Rate
·Z N ¸
P1 = µ1 (f (x, 1, 0) + f (x, 1, 1))dx + p(0, 1, 1) + µ2 p(N, 1, 1) (3.2.44)
0
·Z N ¸
P2 = µ2 (f (x, 0, 1) + f (x, 1, 1))dx + p(N, 1, 1) + µ1 p(0, 1, 1) (3.2.45)
0
Conservation of Flow
P1 = P2 (3.2.47)
As mentioned before, the conservation of flow is applicable for two-stage model. Below, we
give the proof.
30
Proof. P1 and P2 are given by equation (3.2.44) and (3.2.45), respectively. Subtract these
to obtain
Z N
P2 − P1 = [(µ2 − µ1 )f (x, 1, 1) + µ2 f (x, 1, 1) − µ1 f (x, 1, 0)] dx
0
Then
F Fi = ri Di , i = 1, 2 (3.2.52)
31
(max)
F F1 = p1 E1 + g1 (µ2 )p(N, 1, 1) (3.2.53)
(max)
F F2 = p2 E2 + g2 (µ1 )p(0, 1, 1) (3.2.54)
Note that, if µ1 > µ2 , then g2 (µ1 ) = p2 and also if µ2 > µ1 , then g1 (µ2 ) = p1 .
F F1 − r1 D1 = p1 p(0, 1, 1) − r1 p(0, 0, 1)
Z N
+ [p1 (f (x, 1, 0) + f (x, 1, 1)) − r1 (f (x, 0, 0) + f (x, 0, 1))] dx
0
+ g1 (µ2 )p(N, 1, 1) (3.2.55)
Combining equation (3.2.14) and (3.2.15), the terms inside the integral in the previous
d
equation can be transformed to −µ2 dx f (x, 0, 1). By the steady state version of equation
In the steady state, the equation (3.2.35) implies g1 (µ2 ) = µ2 f (N, 0, 1) since p(N, 0, 0) = 0.
Thus,
F F1 = r1 D1
Proof. We only prove equation (3.2.57). Equation (3.2.58) can be proved in a similar way.
E1 + D1 + pb + ps = 1 (3.2.59)
32
Since the first machine can not be starved, then ps = 0. Multiplying both sides by µ1 and
Note that C, λ, Y1 and Y2 are parameters to be determined. Substituting (3.3.1) into the
steady state version of equation (3.2.12)-(3.2.15) requires
2
X
(pi Yi − ri ) = 0 (3.3.2)
i=1
1 + Y1
(p1 Y1 − r1 ) = −µ1 λ (3.3.3)
Y1
1 + Y2
(p2 Y2 − r2 ) = µ2 λ (3.3.4)
Y2
One solution of these equations is
r1
Y1 =
p1
r2
Y2 =
p2
λ = 0
p(0, 1, 1) = 0 (3.3.7)
(µ1 − µ2 )f (0, 1, 1)
p(0, 0, 1) =
r1
2
µ1 − µ2 X
= Cj Y1j Y2j (3.3.8)
r1
j=1
Since p(0, 1, 1) = 0 and p(0, 0, 0) = 0, equation (3.2.26) requires that f (0, 1, 0) = 0. It gives
2
X
Cj Y1j = 0 (3.3.9)
j=1
The steady state version of equation(3.2.30) can be used to determine p(N, 1, 0). It gives
p2 µ1
p(N, 1, 0) = p(N, 1, 1) + f (N, 1, 0)
r2 r2
2 2
p2 µ2 X µ1 X
= Cj eλj N Y2j + Cj eλj N Y1j (3.3.11)
r2 g1 (µ2 ) r2
j=1 j=1
Now, the constants C1 and C2 will be determined. It requires two equations to solve it.
34
The first one is equation (3.3.9) and the other one is the normalization equation which is
given by (3.2.38). The normalization equation can be reduced in the form of
A1 C1 + A2 C2 = 1 (3.3.12)
where Aj depends on the data. If we already determined A1 and A2 , the constants C1 and
C2 are easy to solve from (3.3.12) and (3.3.9).
Case 2: µ2 > µ1
From the steady state version of (3.2.20) and (3.2.23), we obtain
C1 Y21 C2 Y22
p(0, 1, 1) = (µ2 + (µ2 − µ1 )Y11 ) + (µ2 + (µ2 − µ1 )Y12 ) (3.3.15)
g2 (µ1 ) g2 (µ1 )
p1 µ2
p(0, 0, 1) = p(0, 1, 1) + (C1 Y21 + C2 Y22 ) (3.3.16)
r1 r1
The value of p(N, 1, 0) can be determined from equation (3.2.37). It gives
(µ2 − µ1 )
p(N, 1, 0) = f (N, 1, 1)
r2
2
X
(µ2 − µ1 )
= Cj eλj N Y1j Y2j (3.3.17)
r2
j=1
It is noted that p(N, 1, 1) = 0 in this case. The coefficients C1 and C2 are determined from
(3.2.38) and (3.2.35). Since p(N, 1, 1) = 0 and p(N, 0, 0) = 0, equation (3.2.35) requires
f (N, 0, 1) = 0. It gives
X2
Cj eλj N Y2j = 0 (3.3.18)
j=1
The second model is ’Proportional’ where the failure rate of the machine 2 is proportional
to its speed. The third model is ’Constant’ where the failure rate of machine 2 is constant
at any speeds. The results are shown in Table 3.1.
In this experiment, the two-stage model with constant failure rate has a lower throughput
than the other two models with a linear failure rate function or proportional failure rate.
This happens because in the constant model, when machine 2 slows down (in the case of
an empty buffer), its failure rate is constant while in the proportional model its failure rate
is lower.
Experiment 2
In this experiment we use the following parameters.
• r1 = r2 = 0.09
37
p2 N =0 10 20 30 40 50 ∞
a 0.0110 0.8108 0.8372 0.8511 0.8595 0.8653 0.8694 0.891
b 0.0153 0.7806 0.8093 0.8240 0.8328 0.8386 0.8425 0.855
c 0.0300 0.6923 0.7214 0.7347 0.7415 0.7452 0.7473 0.750
d 0.0600 0.5625 0.5857 0.5943 0.5977 0.5991 0.5996 0.600
• µ1 = µ2 = 1
From Table 3.2, it can conclude that if the failure rate of the machine increases then the
throughput of the system will decrease. As an illustration see Figure 3.2.
Experiment 3
In this experiment we use the following parameters.
• p1 = p2 = 0.01
• µ1 = µ2 = 1
Table (3.3) shows that if the repair rate decreases then the throughput of the system will
decrease as well.
Experiment 4
In this experiment we use the following parameters.
38
r2 N =0 10 20 30 40 50 ∞
a 0.0817 0.8107 0.8363 0.8500 0.8585 0.8643 0.8685 0.891
b 0.0590 0.7809 0.8059 0.8200 0.8290 0.8350 0.8394 0.855
c 0.0300 0.6923 0.7135 0.7260 0.7338 0.7390 0.7424 0.750
d 0.0015 0.5625 0.5770 0.5857 0.5910 0.5943 0.5964 0.600
µ2 N =0 10 20 30 40 50 ∞
a 0.9900 0.8100 0.8384 0.8522 0.8605 0.8662 0.8762 0.891
b 0.9500 0.7773 0.8134 0.8281 0.8365 0.8418 0.8454 0.855
c 0.8333 0.6791 0.7208 0.7352 0.7414 0.7443 0.7457 0.750
d 0.6667 0.5482 0.5879 0.5984 0.6016 0.6026 0.6029 0.600
• p1 = p2 = 0.01
• r1 = r2 = 0.09
• µ1 = 1 and µ2 vary
From Table 3.4, it can be concluded that if the speed of machine 2 decreases, then the
throughput will also decrease. Furthermore, all experiments show that increasing the buffer
capacity will increase the throughput of the system. As an example we plot the result of
experiment 4c (see Figure 3.3).
39
In the previous chapter, we have seen how to find the analytic solution of a two-stage model.
For a longer line, we can only approximate the throughput or other performance measures.
In order to do that a decomposition method is introduced here. The first section gives a
general picture of the decomposition method. Section 4.2 presents the detail derivation of
decomposition equations which are Interruption of Flow equations (IOF), Resumption of
Flow equations (ROF) and Processing Rate equations. After that an algorithm, so-called
General Accelerated David-Dallery-Xie (GADDX) is given to solve these decomposition
equations in Section 4.3. Some numerical results are presented in the last section to demon-
strate the accuracy and speed of this algorithm.
4.1 Introduction
A decomposition method to approximate a long flow line is given here. This decomposition
method consists of three important set of equations which are Interruption of Flow equa-
tions (IOF), Resumption of Flow equations (ROF) and Processing Rate equations. The
decomposition equations which will be derived here are proposed for analyzing an unreli-
able k−stage continuous material flow line. It is assumed that the flow line is saturated,
asynchronous, and has finite buffer. In general, the decomposition method works as follows.
The original line is broken into k − 1 two-stage lines (L(i) for i = 1, . . . , k − 1) as shown
in figure 4.1. The equations that link these decomposed subsystem will be derived. The
purpose of this chapter is to present the derivation these equations, while next chapter
presents the algorithm to solve these equations. Some notations are defined first.
40
41
n0 (t) = ∞
nk (t) = 0 (4.1.1)
42
Mu (i) is down = material is not flowing into Bi because of failure of upstream machine
M is down, i=1
i
=
Mi is down or (Mu (i − 1) is down and ni−1 = 0), i = 2 . . . , k − 1
The probability of finding Mu (i) in state αu (i), Md (i) in state αd (i) and finding between x
and x + δx units of material in Buffer Bi is defined as
Z x+δx
fi (y, αu (i), αd (i)) dy (4.1.4)
x
Buffer Bi can hold a maximum amount of material up to Ni . It is noted that in the flow
line model, when the buffer becomes full, the upstream machine immediately cannot process
material faster than the downstream machine of the buffer. Similarly, if the buffer becomes
empty, the downstream machine immediately cannot process faster than the upstream ma-
chine of the buffer. We also define
Equation (4.1.5) states that all buffers between Mju∗ (i,t) and Mi are empty. It means that
Mi cannot be producing at a rate faster than Mjd∗ (i,t) . Analogously, equation (4.1.6) states
that all buffers between Mjd∗ (i,t) and Mi are full. It means that Mi cannot be producing at
a rate faster than Mjd∗ (i,t) . The actual production rate of Mi can be determined by finding
the minimum of µi , µju∗ (i,t) , µjd∗ (i,t) . Formally, for i = 1, . . . , k − 1
We also define:
43
• pi δt as the probability that Mi goes from up to down during (t, t + δt) when ni < N
for small δt
• ri δt as the probability that Mi goes from down to up during (t, t + δt) for small δt
It is noted that the failure rate is dependent on whether the machine is blocked or starved,
while the repair rate is independent of such external activity. In the Chapter 2, we found
the failure rate function of Heineken’s machines. Therefore, we define the probability that
Mi goes from up to down in (t, t + δt) for small δt at t as pi (t)δt = gi (·)δt where gi (·) is the
failure rate function of machine i. The dynamics of the buffer level is defined as follows:
The efficiency of Mu (i) and Md (i) are Eu (i) and Ed (i) which are defined (for i = 1, . . . , k):
where
• µu (i)δt = the amount of material produced by Mu (i) in (t, t + δt) for small δt when
αu (i) = 1, ni−1 > 0 , and Ni < ni .
The second terms of (4.1.10) and (4.1.11) are required for the continuous material model
because a machine can be partially blocked or starved and producing at reduced rate. The
non-isolated production rate of machine i is the effective production rate of the machine
44
Similar to the two-stage model, since there is no creation and destruction in the entire line,
flow is conserved. Pu (i) and Pd (j) for all i and j from 1 to k should be equal. Therefore,
the calculation of Pu (i) or Pd (i) for any L(i) should provide the throughput of the entire
flow line (P ). In principle, we have to show that the decomposition equations derived in
this chapter satisfy this condition.
Average Buffer Level
Since Bi is assumed to have identical behavior in both the long line and in L(i), the average
buffer level of Bi , n̄i is defined by (for i = 1, . . . , k − 1)
1
X 1
X ·Z Ni ¸
n̄i = ni fi (ni , αu (i), αd (i))dni + Ni p(Ni , αu (i), αd (i)) (4.1.17)
αu (i)=0 αd (i)=0 0
Conservation of Flow
The conservation of flow equations (COF) are identical to those of the two-stage model.
Since {Mi is down} and {Mu (i−1) is down and ni−1 = 0} are mutually exclusive, we obtain
prob(A and B)
prob(A and B|B) = = prob(A|B) (4.2.4)
prob(B)
We use proposition (A.0.2) from Appendix A to analyze equation (4.2.5). The first term of
(4.2.3) can be written as
b
z }| {
prob[M is down at t + δt, M (i) is up , n < N and n
i u i i i−1 = 0 at t
×
| Mu (i) is up and ni < Ni and ni−1 = 0 at t]
| {z }
a or b
+
µ ¶
prob(Mu (i) is up and, ni < Ni , and ni−1 = 0 at t)
prob(M u (i) is up and n i < Ni at t)
| {z }
prob(a or b)
prob(a or b or c or d)
c
z }| {
prob[M i is down at t + δt, M u (i) is up and ni < Ni and n i−1 =
6 0 at t
×
| Mu (i) is up , ni < Ni and ni−1 6= 0 at t]
| {z }
c or d
µ ¶
prob(Mu (i) is up , ni < Ni and ni−1 6= 0 at t)
prob(Mu (i) is up and ni < Ni at t)
| {z }
prob(a or b)
prob(a or b or c or d)
47
From (4.1.2), if Mu (i) is up and ni−1 = 0 at t, then Mi and Mi−1 must be up at t. Same
argument as a two-stage model, to reach the state where ni−1 = 0, Mi is up and Mi−1 is
up at t, the upstream machine must be slower than the downstream machine. Moreover,
the probability of Mi failing at time t + δt is reduced corresponding to failure rate function
gi (µu (i − 1)). Therefore, when µu (i − 1) ≤ µd (i − 1), we have
The second term of (4.2.13) is zero. The probability of the first term of (4.2.13) can be
divided into 3.
• ni−1 = 0, Mu (i−1) is down and Md (i−1) is up at t, and nothing happens in (t, t+δt),
with probability 1 − ru (i − 1)δt
As mentioned before, the probability of stage i being simultaneously blocked and starved
is zero. We can approximate the previous equation by assuming that the probability that
the stage i is blocked and almost starved (0 < ni−1 ≤ µd (i − 1)δt) simultaneously is also
zero. Therefore, the statement that Mu (i) is up and ni < Ni at t is not required in the
49
pi (0, 0, 1)ru (i) = fi (0, 0, 1)µd (i) + pi (0, 1, 1)pu (i) (4.2.17)
By using this, we can combine (4.2.14) and (4.2.15). Hence the second term of (4.2.3)
becomes µ ¶
pi−1 (0, 0, 1)µu (i)
ru (i − 1) (4.2.18)
P (i) − pi (N, 1, 1)µd (i)
Equations (4.2.12) and (4.2.18) give the solution of equation (4.2.3) which is the IOF equa-
tion for upstream.
µ ¶ µ ¶
pi−1 (0, 1, 1)µu (i) pi−1 (0, 1, 1)µu (i)
pu (i) = gi (µu (i − 1)) + pi 1 −
P (i) − pi (N, 1, 1)µd (i) P (i) − pi (N, 1, 1)µd (i)
µ ¶
pi−1 (0, 0, 1)µu (i)
+ru (i − 1) (4.2.19)
P (i) − pi (N, 1, 1)µd (i)
The first two terms of this equation is the probability that the machine Mi will be down
given that it is now operational and the buffer behind it is not full. The third term of this
equation is the probability that the machine Mi−1 is down and the buffer behind it is empty
given that the machine Mi is operational and the buffer behind it is not full. It is noted
50
that when µu (i − 1) > µd (i − 1), the value of the first two terms of this equation reduces to
pi , as in Gershwin (1989). An almost identical derivation for downstream equations results:
µ ¶ µ ¶
pi+1 (N, 1, 1)µd (i) pi+1 (N, 1, 1)µd (i)
pd (i) = gi+1 (µd (i + 1)) + pi+1 1 −
P (i) − pi (0, 1, 1)µu (i) P (i) − pi (0, 1, 1)µu (i)
µ ¶
pi+1 (N, 1, 0)µd (i)
+rd (i + 1) (4.2.20)
P (i) − pi (0, 1, 1)µu (i)
When the failure rate function is proportional to machine speed, the decomposition equa-
tions pu (i) and pd (i) reduce to the Burman (1995) decomposition equations.
where
To determine X(i), we use the fact that the rate of transitions Mi makes in and out of the
failed state must be equal (see equation (3.2.52) for a two-stage model). In the case of a
longer line, we have the following balance equation
Finally, after substituting (4.2.22), (4.2.23) and (4.2.26) into (4.2.21), we obtain the ROF
equation for the upstream machine:
µ ¶
pi−1 (0, 0, 1)ru (i)µu (i)
ru (i) = ru (i − 1)
pu (i)P (i) + pi−1 (N, 1, 1) (µu (i)gu (µd (i)) − pu (i)µd (i))
ri pi−1 (0, 0, 1)ru (i)µu (i)
ri − (4.2.27)
pu (i)P (i) + pi−1 (N, 1, 1) (µu (i)gu (µd (i)) − pu (i)µd (i))
By a similar derivation, we can obtain the ROF equation for the downstream machine:
µ ¶
pi+1 (N, 1, 0)rd (i)µd (i)
rd (i) = rd (i + 1)
pd (i)P (i) + pi+1 (0, 1, 1) (µd (i)gd (µu (i)) − pd (i)µu (i))
ri+1 pi+1 (0, 0, 1)rd (i)µd (i)
ri+1 − (4.2.28)
pd (i)P (i) + pi+1 (0, 1, 1) (µd (i)gd (µu (i)) − pd (i)µu (i))
P (i) Au
ps = 1 − + (4.2.29)
µd (i − 1)ed (i − 1) µd (i − 1)
P (i) Bu
pb = 1− + (4.2.30)
µu (i)eu (i) µu (i)
where
p(0, 1, 1) [pd (i − 1)µu (i − 1) − gd (µu (i − 1))µd (i − 1)]
Au = (4.2.31)
rd (i)
52
4.2.4 Summary
In this section we summarize all the derived decomposition equations.
Upstream equations
µ ¶ µ ¶
pi−1 (0, 1, 1)µu (i) pi−1 (0, 1, 1)µu (i)
pu (i) = gi (µu (i − 1)) + pi 1 −
P (i) − pi (N, 1, 1)µd (i) P (i) − pi (N, 1, 1)µd (i)
µ ¶
pi−1 (0, 0, 1)µu (i)
+ru (i − 1) (4.2.37)
P (i) − pi (N, 1, 1)µd (i)
µ ¶
pi−1 (0, 0, 1)ru (i)µu (i)
ru (i) = ru (i − 1)
pu (i)P (i) + pi−1 (N, 1, 1) (µu (i)gu (µd (i)) − pu (i)µd (i))
ri pi−1 (0, 0, 1)ru (i)µu (i)
ri − (4.2.38)
pu (i)P (i) + pi−1 (N, 1, 1) (µu (i)gu (µd (i)) − pu (i)µd (i))
1
µu (i) = (ed (i−1)Au +eu (i)Bu )
×
1 1 Au 1
ei µi − P (i)ei µi + P (i) + P (i)µd (i−1) − µd (i−1)ed (i−1)
µ ¶
P (i) − eu (i)Bu
(4.2.39)
eu (i)P (i)
53
µ ¶
pi+1 (N, 1, 0)rd (i)µd (i)
rd (i) = rd (i + 1)
pd (i)P (i) + pi+1 (0, 1, 1) (µd (i)gd (µu (i)) − pd (i)µu (i))
ri+1 pi+1 (0, 0, 1)rd (i)µd (i)
ri+1 − (4.2.43)
pd (i)P (i) + pi+1 (0, 1, 1) (µd (i)gd (µu (i)) − pd (i)µu (i))
1
µd (i) = (eu (i+1)Bd +ed (i)Ad ) Bd
×
1 1 1
ei+1 µi+1 − P (i)ei+1 µi+1 + P (i) + P (i)µu (i+1) − µu (i+1)eu (i+1)
µ ¶
P (i) − ed (i)Ad
(4.2.44)
ed (i)P (i)
where
p(0, 1, 1) [pd (i)µu (i) − gd (µu (i))µd (i)]
Ad = (4.2.45)
rd (i + 1)
p(N, 1, 1) [pu (i + 1)µd (i + 1) − gu (µd (i + 1))µu (i + 1)]
Bd = (4.2.46)
ru (i + 1)
Without this substitution in the processing rate equations (4.2.39) and (4.2.44) there would
not be enough equations to solve for all the unknowns because each upstream processing
rate equation would have an equivalent downstream equation. Burman also proposed the
following adjustments:
P (i) − pi (Ni , 1, 1)µd (i) ⇒ P (i) (4.3.1)
P (i) − pi (0, 1, 1)µu (i) ⇒ P (i) (4.3.2)
These substitutions are made to achieve a high rate of convergence of the algorithm. The
motivation for these substitutions is that the current values of pi (N, 1, 1) and pi (0, 1, 1)
are used to estimate the values of pu (i) and pd (i) at each step of the algorithm. However,
pu (i) and pd (i) are also required to estimate pi (Ni , 1, 1) and pi (0, 1, 1). The effect of this is
that one is forced to use values pi (Ni , 1, 1) and pi (0, 1, 1) from a previous iteration of the
algorithm to obtain the current estimate of pu (i) and pd (i), while most of the other values
used to estimate pu (i) and pd (i) are from the current iteration. He did some spot checks
about the omission of pi (Ni , 1, 1) and pi (0, 1, 1), the results still appeared to be accurate
even in case with machines with significantly different production rates. We believe that
the biases in the experiment on long lines in the next section are at least partially due
to these substitutions. However, from the experiments performed later, it still shows that
the algorithm performs very well. Moreover, we also tried the algorithm with or without
these substitutions and these substitutions are really substantial to achieve a high rate of
convergence of the algorithm.
After all substitutions mentioned above, we can rewrite the equations (4.2.37)-(4.2.39) into
the following form:
where
1
K1 = [p (0, 1, 1)(gi (µu (i − 1)) − pi )
P (i − 1) i−1
+ru (i − 1)pi−1 (0, 0, 1)] (4.3.6)
pi−1 (0, 0, 1)(ru (i − 1) − ri )
K2 = (4.3.7)
P (i − 1)
1
K3 = ed (i−1)Au
(4.3.8)
1 1 Au 1
ei µi + P (i−1) + P (i−1)µd (i−1) − µd (i−1)ed (i−1) − P (i−1)ei µi
55
A similar procedure can be used to generate the decomposition equations for the downstream
machine from equation (4.2.42)-(4.2.44).
where
1
K4 = [p (N, 1, 1)(gi+1 (µd (i + 1)) − pi+1 )
P (i + 1) i+1
+rd (i + 1)pi+1 (N, 1, 0)] (4.3.12)
pi+1 (N, 1, 1)(rd (i + 1) − ri+1 )
K5 = (4.3.13)
P (i + 1)
1
K6 = B eu (i+1)Bd
(4.3.14)
1 1 1
ei+1 µi+1 + P (i+1) + P (i+1)µu (i+1) − µu (i+1)eu (i+1) −
d
P (i+1)ei+1 µi+1
If we analyze carefully, we see a dependency among equations (4.3.3)-(4.3.5), e.g. the right
side of (4.3.3) contains a µu (i). In other words, the upstream equations (4.3.3)-(4.3.5) are
a set of three non-linear equations in three unknowns which can be represented as
To find the solution of (4.3.15) and (4.3.16), we can use a solver software such as Maple or
others. The closed form solutions of (4.3.15) are the following
ri pi K3 + pi K2 + ri K1
pu (i) = (4.3.17)
ri K3 + K2 − K1
ri pi K3 + pi K2 + ri K1
ru (i) = (4.3.18)
pi K3 + K1 − K2
ri + pi
µu (i) = (4.3.19)
ri K3 + K2 − K1
56
1. Initialization. Provide the following initial guesses for the parameters of each two-
stage line:
pu (i) = pi
ru (i) = ri
µu (i) = µi
pd (i) = pi+1
rd (i) = ri+1
µd (i) = µi+1 i = 1, . . . , k − 1 (4.3.23)
It is noted that each equation is evaluated with the most recent values of each parameter,
and this makes the order of evaluation very important. Similarly, in Step 2, each equation
is also evaluated with the most recent value of each parameter.
57
were carried out using the parameters given in Glassey and Hong [10]. The parameters are
presented in Appendix B. The purpose of these ten cases is to investigate the computational
efficiency of the algorithm in homogeneous lines (have equal processing rate). We took the
results of Glassey and Hong’s continuous model and from Glassey and Hong’s paper [10].
These results of the comparison are presented in Table 4.1. To compare the computational
efficiency of our method versus that of Glassey and Hong, the number of evaluations of
two-stage lines are examined. The symbol ] call in the tables represents the number of
evaluations of two-stage lines. From Table 4.1, we can conclude that our continuous model
converges more rapidly than the Glassey and Hong model in the case of homogeneous lines.
It is noted that in these experiments the failure rate functions are constant, since all ma-
chines have the same processing rates. The next ten experiments, case 11-20, were carried
out with the parameters presented in Appendix B to see how well our method performs
for cases where machines have unequal production rates. To make a comparison fair, since
the Glassey and Hong continuous model assumes that the failure rates are constant for all
58
Table 4.2: Result of GADDX & Glassey and Hong & Simulation
Case 33
Model Throughput N1 N2
GADDX (proportional) 0.800 10.000 4.000
GADDX (constant) 0.750 10.000 5.275
Simulation 0.799 9.996 3.998
machines, we also use constant failure rates for the failure rate function of all machines in
our model. Table 4.2 shows that our continuous model not only converges more rapidly
than the Glassey and Hong continuous model but also is more accurate for most of the
cases.
The next twelve cases of the three-stage line were also examined to compare the analytical
solution of lines with constant failure rates to the simulation results. The performance
measures such as throughput and buffer contents are presented. In the first six cases, all
stages of the lines have equal processing rate while in the next six cases, stages of the line
have unequal processing rates. All the parameters of these cases are given in Appendix B.
As shown in Table 4.3, the analytical approximation performs very well both in cases of
equal processing rates and in cases of unequal processing rates.
The numerical results presented above are only some of the numerical results from our ex-
periments. For example, we also successfully reproduced the numerical results presented in
Burman [2]. One of the most important of the results is shown in Table 4.4. This experiment
shows the importance of failure rate functions. Case 33 represents a three-machine system
of two reliable machines feeding an unreliable machine that processes material at twice the
rate of the first two machines when it is operational (see the parameters in Appendix B). It
is noted that in Burman’s model, the failure rates are proportional to the speeds. For this
case, we can reduce our model to Burman’s model by using failure rate functions which are
proportional to the speeds.
Chapter 5
After developing an analytical model in the previous chapter, in this chapter we imple-
ment this analytical model to approximate and predict the performance measures of some
production lines at Heineken. The production line under our consideration is production
line 15A. For other production lines such as 8A, 8B, 16A and 16B, we present only the
important results. The purpose of this chapter is not only to analyze the production lines
but also to optimize them by finding the optimal speed configurations or the optimal buffer
allocations. For this, we use an optimization method called the Cross-Entropy method.
5.1 Introduction
Before we analyze Heineken’s production lines in detail, we first give an overview of the
method which is used to optimize their production lines. This method is called the Cross-
Entropy method and was developed by R.Y. Rubinstein [14]. The Cross-Entropy method
involves the following iterative phases:
60
61
2 )
2. draw: Increase t by 1. Generate a random sample X1 , . . . , XN from the N (µ̂t−1 ,σ̂t−1
distribution.
select: Let I be the indices of the N elite best performing (=elite) samples.
update: for all j = 1, . . . , n let
X
µ̃tj := Xij /N elite (5.1.1)
i∈I
and X
2
σ̃tj := (Xij − µtj )2 /N elite (5.1.2)
i∈I
smooth:
The term α is called the smoothing parameter, with 0.7 < α ≤ 1. The reasons of using
smoothing are to smooth out the values of smoothed parameters and to reduce the prob-
ability that some component of the smoothed parameters will be zero or or one at the
first few iterations which lead the algorithm converge to a wrong solution. By using the
algorithm, we can find the optimal speed configurations or optimal buffer allocations for
Heineken production lines. The detailed explanation of this method is given in [14].
Sensitivity Analysis
We perform a sensitivity analysis to investigate the behavior of the production lines. We
start with a sensitivity analysis on the buffer size. In this analysis, we see what happens
to the OPI value if we vary the buffer capacities. We do this by varying the capacity of
one buffer at a time while keeping the other capacities constant. Figure 5.1 shows the
sensitivity results for all buffers. It can be seen that the OPI value is the most sensitive
to the capacity of Buffers 4, and 5. This means that the current OPI value (71.629), can
be increased significantly if we increase one of these buffers. Some buffers such as buffer
1,2 and 9, can be decreased without a big influence on the current OPI. We implemented
the cross-entropy method to find the minimum total buffer capacity to achieve the desired
OPI. For example, we want to find the minimum buffer capacities to achieve at least the
current OPI (71.629). The result is presented in Table 5.3. The second sensitivity analysis
we can perform is failure rate analysis. In this case, we try to vary the failure rate of
each machine while keeping the other failure rates constant. The result are plotted in
Figure 5.2. As calculated using GADDX, the current OPI value is 71.629. This value can
increase significantly if we can improve the reliability of the Bottle-washer, EBI and Filler.
The improvement will be around 2 − 3% if we can improve the reliability of one of these
machines. Furthermore, Heineken has to pay attention to the failure rate of the Pasteurizer
and Bottle-washer. If these values even increase only a little bit, the OPI value can drop
sharply.
In addition to the failure rate analysis, we also analyze the sensitivity of the repair rate to
support our failure rate analysis. The first results are plotted in Figures 5.3. We see that
the increment of the repair rates of these machines cannot increase the current OPI. In
Figure 5.4 we see that the current OPI can be increased if we are able to improve the repair
rates of the Bottle-washer, EBI and Filler. The improvement of the Bottle-washer has the
largest impact on the OPI value. Increasing the repair rate of the Filler and EBI has also a
significant impact on the OPI. These results support the failure rate analysis results. Thus,
we can conclude that both improving the reliability and improving the repair rate of the
Bottle-washer, Filler and EBI gives a significant increase of the current OPI value.
The last sensitivity analysis is the machine speed analysis. The results of the machine speed
analysis are easier to implement since the operator of Heineken can easily change the speed
configurations of the machines. For this analysis, we try to vary each machine speed, while
65
keeping the other machine speeds constant. Figure 5.5 shows the results of this analysis.
From this figure, it can be seen that the speed of the Bottle-washer speed has the highest
influence on the OPI, followed by the EBI and Filler. For example, if we can increase the
average speed of the Bottle washer from 40389 up to 44000, the current OPI value will
increase around 1%.
The cross-entropy method as introduced before can help us to find the optimal speed
configurations which maximize the OPI value. Heineken is interested in finding the optimal
speed configurations which maximize the OPI value under the following constraints:
1. the average buffer content of all buffers before the filler is more than 10%, the average
content of the buffer exactly before the filler is more than 50%;
2. the average buffer content of all buffers behind the filler is less than 60%;
3. the fraction of time that the filler is running at the current speed is more than 75%
It is noted that the maximum speed of the filler is 39400, however from the historical data
of speed usage, it seems that this maximum speed is only used for about 50% of the time.
Because of that, we set the average speed at 37500 (close to the current average speed).
The result of the optimization is presented in Table 5.3. We can see that by using these
optimal speed configurations, the OPI value increases to 73.660. It can also be seen that
this speed configurations consist of the increase of the speeds of the Bottle-washer and EBI,
as recommended before from the machine speed analysis.
68
Conclusion
6.1 Suggestions
Below, some suggestions are made as a conclusion of the study at Heineken.
1. To increase the throughput of production line 15A, Heineken can do the following
things:
• increase the buffer capacity of the buffer behind the Bottle washer or EBI
• improve the reliability of the Bottle-washer, EBI and Filler
• reduce the down-time of the Bottle-washer, Filler and EBI
• use the optimal speed configurations
69
70
2. The throughput of production line 8A, 8B, 16A and 16B can be increased by improving
the reliability of the Labeler or by increasing the speed of the Labeler.
3. Use the software that we built to analyze the production lines using the up-to-date
data.
Conditional Probability
In this Appendix, we will prove two propositions which are used in Chapter 4. These two
propositions are related to conditional probability.
Proposition A.0.1. Let U , V and W be events. Let V and W are disjoint. Then,
Proof. Since V and W are disjoint, then (U or V ) and (U or W ) are disjoint. As a conse-
quence
prob(U and V ) prob(U and W )
prob[U |V or W ] = + (A.0.2)
prob(V or W ) prob(V or W )
To analyze the first and second terms, note that
Then
prob[U |V ]prob(V ) prob[U |W ]prob(W )
prob[U |V or W ] = + (A.0.5)
prob(V or W ) prob(V or W )
71
72
+ prob[C|A or B or C or D] (A.0.9)
Experiment Parameters
In this Appendix we present the parameters which are used for numerical experiments in
Chapter 4 and Chapter 5 .
Table B.1: Parameter values for comparison with Glassey and Hong (1993)
73
74
Parameters
i ri pi µi Ni
1 1.000 0.000 1.000 10
2 1.000 0.000 1.000 10
3 0.100 0.100 2.000 n/a
Other Results
77
78
Software Guide
In this Appendix, we explain how to use the software to analyze a flow line. The software
consists of 2 main features. The first feature which is related to performance analysis and
optimization will be explained in section D.1. Section D.2 explains the sensitivity analysis
feature.
A. This box contains the input data. The users should load the data from Excel files
(*.xlsx). The first column of Excel file should be the machine names. The second
column is the failure rate of the machines (per hour). The third column is the repair
rate of the machines (per hour). The fourth column is the average machine speeds
(bottle/hour). The last column is the buffer capacities. As an example see Figure D.1.
After the users load the data, this data will be displayed in the Table on this box.
The users are also allowed to change this data. The software calculates automatically
the isolated production rate of each machine. From this calculation we can see which
79
80
machines have the lowest efficiency if they are isolated. Furthermore, the users have to
input the parameters which are used to calculate the OPI value e.g. Average Planned
Down Time (APDT), Average Change Over Time (ACOT), Filler Nominal speed.
The last input is failure rate functions. The users have to choose which failure rate
function should be used for the analytical model. If we assume that the failure rates of
all machines are proportional to speeds, then we should choose option ’proportional’,
if we assume that it is constant, we choose option ’constant’. Other options can be
used if we want to analyze some production lines based on our finding about the
relation between speed and failure rates.
B. This box aims to calculate the performance evaluation using the analytical model. The
users simply click the button ’Calculate’ to get the results. The table will display the
results of the calculation of performance measures such as throughput, OPI value,
average buffer contents, blocking probabilities, and starvation probabilities. It is also
possible to save these results into Excel file.
C. If the users would like to optimize the current production lines, there are two possible
optimizations. The first one is the optimal speed configurations and the second one
is the optimal buffer allocation.
D. In this box, the users are allowed to change the optimization parameters e.g. standard
81
deviation of the samples. It is noted that if the standard deviation is small, then the
optimization method will converge slower.
E. This box displays the input file name, status of the algorithm, and the number of
iterations to find the optimal speeds/buffer capacities (if we use optimization feature).
F. Once we choose the optimization problem (box C), this box will be enabled. As an
example, if we choose ’buffer allocation’ problem in box C, then we should input the
desired throughput. It is noted that the desired throughput cannot be greater than
the minimum of isolated production rates in box A. Another example, if we choose
’speed configuration’ in box C, then we can input the speed constraints (minimum
and maximum) and also the percentage average buffer content constraints (minimum
and maximum). Another constraint is the minimum fraction of time that the Filler
is running at normal speed. The value is between 0 until 1.
82
G. Once we already input the data and the constraints, we can press the button ’Opti-
mize’ to get the optimal speeds/buffer capacities. This box will display the optimal
speed/buffer capacities as well as the 95% confidence interval of these optimal values.
Moreover, the throughput, OPI value and the fraction of time the Filler running at
normal speed which are calculated using these optimal values are also given.
H. Here, we have 3 buttons. The first one is ’Sensitivity analysis’ which is aimed to do a
sensitivity analysis such as buffer analysis, failure rate analysis, repair rate analysis
and speed analysis (see D.2). The second button is ’Reset All’ which is used to clear
all the input data and the results. The last button is ’Exit’.
I. This box contains the list of the machines which we would like to analyze.
J. In this box the users can choose the type of analysis. For example, Buffer Analysis
where the users can see which buffer capacity is the most sensitive to the chosen
performance measure in the box K. The possible sensitivity analysis is the buffer
analysis, the failure rate analysis, the repair rate analysis and the speed analysis.
83
K. The users should choose one of the performance measures which they would like to
investigate. For example, if we choose speed analysis in box J and choose the option
K in this box, it means that we investigate the effect of changing speed to the OPI
value.
L. This box provides the parameters such as ACOT, APDT and filler nominal speed to
calculate OPI. Moreover, the users are also allowed to choose the failure rate function
as explained in the performance analysis and optimization feature (see box A).
M. In this box, the users can specify the interval of analysis; the lower and upper bounds
of the interval as well as the step size.
N. This box shows the status of the file and the input data.
Others. The other parts are buttons ’Analyze’, ’Load data’, ’Save Output’, ’Reset all’,
and ’Close’. It is noted that the input data should be in Excel file as described in
the performance analysis and optimization feature. Finally, the axes on the right side
of Figure D.2 will display the graphic after the users load the data and choose the
parameters and type of the analysis.
Appendix E
Scatter Plots
Below are the scatter plots of speed (bottle/hour) versus breakdown rate (per hour).
84
85
86
87
88
89
Appendix F
Speed Usage
This Appendix presents the speed usage of all 5 production lines. The data was taken from
July 2008 until December 2008. The speeds displayed below are only the speeds which are
used often.
90
91
Bibliography
[2] M. H. Burman, ” New Results in Flow Line Analysis”, PhD thesis, MIT, June 1995
[4] Y. Dallery, R. David, X.L. Xie, ”Approximate analysis of transfer lines with unreliable
machines and finite buffers”, IEEE Trans. Automat. Contr. 34 (1989) 943-953
[5] Y. Dallery and S. Gershwin, ” Manufacturing flow line systems: A Review of models
and analytic results”, Queueing Systems: Theory and Applications, 12(1-2): 3-94,
December 1992
[6] C. Edward, ”Simulation Model of Packaging Line at Heineken”, Intern Report, Tech-
nische Universiteit of Eindhoven, 2009
[7] A. Field, ”Discovering Statistics using SPSS” , second edition, SAGE Publication, 2006
[8] A. Franklin et al.,” Regression Analysis: Concepts and Applications”, Duxbury Press,
1994
[9] S. Gershwin, ”Manufacturing System Engineering”, Prentice Hall, Inc., New Jersey,
1994.
[10] C. Glassey and Y. Hong, ”The analysis behavior of an unreliable N-stage automatic
transfer line with (N-1) inter-stage buffer storages”, International Journal of Production
Research, 31(3): 519-530, 1993.
[11] De Koster, ”An Improved algorithm to approximate the behavior of flow lines”, Inter-
national Journal of Production Research, Vol. 26 (4): 461-700, 1988
92
93
[13] De Koster and J. Wijngaard, ”Continuous vs Discrete Model for Production Lines with
blocking”, in H. G. Perros and T. Altiok, editors Queueing Networks with Blocking,
1989
[14] D. P. Kroese, S. Porotsky, and R. Y. Rubinstein, ” The Cross-Entropy Method for Con-
tinuous Multi-Extremal Optimization”, Methodology Computng Applied Probability
8: 383-407, 2006
[16] D. C. Montgomery, ”Applied Statistics and Probability for Engineers”, Third edition,
John Willey & Sons, Inc., 2003
[17] Neter et al., ”Applied Linear Statistical Model”, fourth edition, IRWIN, 1996
[19] E. Weerts, ”Performance Analysis of Production Line 15a”, Intern Report, Technische
Universiteit of Eindhoven, 2008
[20] J. Wijngaard, ”The effect of inter-stage buffer storage on the output of two unreliable
production units in series with different production rates”, AIIE Transaction, 11:42-47,
1979