0% found this document useful (0 votes)
24 views104 pages

Eindhoven University of Technology: Award Date: 2010

Uploaded by

Adeyemi Aderoju
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views104 pages

Eindhoven University of Technology: Award Date: 2010

Uploaded by

Adeyemi Aderoju
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 104

Eindhoven University of Technology

MASTER

Performance analysis of production lines at Heineken

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

DEPARTMENT OF MATHEMATICS AND COMPUTER SCIENCE


TECHNISCHE UNIVERSITEIT EINDHOVEN
DEN DOLECH 2, EINDHOVEN
AUGUST 2009
To My family

iv
Table of Contents

Table of Contents v

List of Tables vii

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

4 Decomposition of Long Flow Lines 40


4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.2 Decomposition Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.2.1 Interruption of Flow Equations . . . . . . . . . . . . . . . . . . . . . 45
4.2.2 Resumption of Flow Equations . . . . . . . . . . . . . . . . . . . . . 50
4.2.3 Processing Rate Equations . . . . . . . . . . . . . . . . . . . . . . . 51
4.2.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.3 The Dallery-David-Xie Algorithm . . . . . . . . . . . . . . . . . . . . . . . . 53
4.4 Numerical Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

5 Performance Analysis at Heineken 60


5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.2 Production Line 15A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.3 Other Production Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

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

1.1 Comparison between simulation and analytical model . . . . . . . . . . . . 1

2.1 Line Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9


2.2 Operating Range of some machines . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 T-test ETIMA 8B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.1 The importance of failure rate function . . . . . . . . . . . . . . . . . . . . . 36


3.2 Throughput for changing p2 and N . . . . . . . . . . . . . . . . . . . . . . . 37
3.3 Throughput for changing r2 and N . . . . . . . . . . . . . . . . . . . . . . . 38
3.4 Throughput of changing µ2 and N . . . . . . . . . . . . . . . . . . . . . . . 38

4.1 Result of Glassey and Hong & GADDX . . . . . . . . . . . . . . . . . . . . 57


4.2 Result of GADDX & Glassey and Hong & Simulation . . . . . . . . . . . . 58
4.3 Results of 3-machine model . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.4 The importance of the failure rate function . . . . . . . . . . . . . . . . . . 59

5.1 OPI Comparison Line 15A . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62


5.2 Other Performance Measures of Line 15A . . . . . . . . . . . . . . . . . . . 63
5.3 Optimization of Line 15A . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5.4 The constraints of machine speeds . . . . . . . . . . . . . . . . . . . . . . . 67
5.5 OPI Comparison Line 8A & 8B . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.6 OPI Comparison Line 16A & 16B . . . . . . . . . . . . . . . . . . . . . . . . 68

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

C.1 Optimization of Line 8A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77


C.2 Optimization of Line 8B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
C.3 Optimization of Line 16A . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
C.4 Optimization of Line 16B . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

viii
List of Figures

1.1 Map of Production Line 15A . . . . . . . . . . . . . . . . . . . . . . . . . . 3


1.2 Problem illustration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Framework of the thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.1 Diagram of OPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10


2.2 OPI Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3 Diagram of OPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4 Linear relation: Valinpakker 16B . . . . . . . . . . . . . . . . . . . . . . . . 13
2.5 Linear relation: ETIMA 16B . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.6 Quadratic relation: Inpakker 15A . . . . . . . . . . . . . . . . . . . . . . . . 14
2.7 Two different means: ETIMA 8B . . . . . . . . . . . . . . . . . . . . . . . . 14
2.8 Speed vs Breakdown duration . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.1 Two-stage model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17


3.2 Experiment 2 with N = 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.3 Experiment 4c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

4.1 Decomposition Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

5.1 Buffer Analysis Line 15A . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63


5.2 Failure Rate Analysis Line 15A . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.3 Repair Rate Analysis(1) Line 15A . . . . . . . . . . . . . . . . . . . . . . . 65
5.4 Repair Rate Analysis(2) Line 15A . . . . . . . . . . . . . . . . . . . . . . . 66
5.5 Speed Sensitivity Analysis Line 15A . . . . . . . . . . . . . . . . . . . . . . 66

D.1 Performance Analysis Interface . . . . . . . . . . . . . . . . . . . . . . . . . 80

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.

Eindhoven, Noord Brabant Grant Patrizio Kesuma


July 31, 2009

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

Simulation model Analytical model


Model complexity unlimited limited
Run time long short
Data requirement large small
Flexibility high low

Table 1.1: Comparison between simulation and analytical model

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.

1.2 Problem Description


Heineken ’s-Hertogenbosch has many production lines. In this thesis, we mainly focus on
production lines 15A, 8A, 8B, 16A and 16B. These lines consist of several machines in a
sequence with a conveyor belt as a buffer in between two machines. Since the conveyor belt
has a certain width and length, the capacity of these conveyor belts are different. The term
’buffer’ will be used in the rest of this thesis which refers to conveyor belt. As an example,
the map of the line 15A can be seen in Figure 1.1. Each machine has a different task. As an
example, in production line 15A, the depalletizer (A) takes the crates with empty bottles
out from the pallets. The bottle unpacker (B) takes out empty bottles from a crate and
puts them in the bottle washer (D). Machine C which is the crate-logo detector, selects
crates with the correct logo before being washed. After being washed, the EBI (E) checks
the quality of the washed bottles. EBI stands for ’empty bottle inspector’, so this machine
looks whether there is a crack in the bottle or whether there is still something inside the
bottle. After being inspected the bottles go to the filler machine (F) to be filled with beer.
After that, in the pasteurizer (G), the bottles are heated up to 60◦ . The next machine,
labeler (H), puts a label on the bottles. At the labeler, the bottles get two big labels and
one small label on the neck. After that the bottles is either packed directly into a crate by
machine I1 or six-packed by machine I2 and then place it on a crate. The machine before
Palletizer will check whether a crate is completely filled or not. Finally the filled crates go
to the Palletizer (J) to be placed on the pallets. It is noted that Production line 15A has
also a possibility to put in new glass. The new glass comes directly into the line before EBI.
Even though it does not need to be washed, it does have to be inspected by EBI.
To see the dynamic behavior of this line, an illustration is given by Figure 1.2. Suppose
that machine 2 breaks down, but the other machines are still operational. This causes
Figure 1.1: Map of Production Line 15A
3
4

Figure 1.2: Problem illustration

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.3 Project Goal


The goal of this project is to predict and investigate the performance of Heineken’s pro-
duction lines by using an analytical model. The performance measures include throughput,
buffer contents, blocking and starvation probabilities. An optimization method is also de-
veloped to find the optimal speed configurations as well as buffer allocation. Furthermore,
user friendly graphical user interface software is built to help Heineken to investigate the
performance of their other lines in the future.

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.

• Up-and-down times of machines are exponentially distributed.

• 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.

1.6 Thesis Outline


In this chapter we have introduced the background, problem description, the goal of the
project and some assumptions to develop the model and the framework of this thesis. In
6

Figure 1.3: Framework of the thesis


7

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.

2.1 Data System


In Heineken, there are 2 database systems. The first one is the Manufacturing Execution
System (MES). In this system, all the data of the last few years are stored. This system
records every action of each machine of the production line such as producing, blockage,
starvation, cleaning, changeover, internal storing, operator stop. Date and time of the
action are also stored. The second data system is V-Online. In this system, the speed of
a machines is recorded every minute. However, this system only records the speed of some
machines.

2.2 Line Parameters


The parameters given in the tables below will be used, together with the throughput,
to calculate OPI. These parameters are Average Change Over Time (ACOT), Average
Planned Down Time (APDT) and filler nominal speed. Table 2.1 presents the parameters
for production lines 8A, 8B, 15A, 16A and 16B. Others parameters such as average speed,
failure rate (or mean up-time), repair rate (or mean down-time) and buffer capacity will be
given in Appendix.

8
9

Production Lines ACOT APDT Filler Nominal Speed


Line 15A 2.817 1.700 36000
Line 8A 2.876 0.775 40000
Line 8B 3.137 1.198 36000
Line 16A 1.927 2.537 45000
Line 16B 2.859 2.443 45000

Table 2.1: Line Parameters

2.3 OPI NONA


As stated before, to measure the performance of the production line, Heineken uses OPI
NONA. That means that the times that there are no orders available are not taken into
account. The diagram of OPI calculation is shown in Figure 2.1. In the model, we use the
following formula to calculate the OPI:
TH 24 − AP DT − ACOT
OP I = × × 100 (2.3.1)
vn 24

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.

2.4 Relation between Speed and Breakdown


Based on the experienced people at Heineken, it is believed that there is a relation between
speed and breakdown. The breakdown is defined as an operation stop and an internal
storing. In this section we investigate the existence of this relation. First we investigate
the relation between speed and breakdown rate. After that, we also investigate the relation
between speed and breakdown duration.

2.4.1 Speed and Breakdown Rate


To investigate the relation between speed and breakdown rate, we extract the data from
Heineken’s database systems, MES and V-Online. The interesting production lines to inves-
tigate are production line 8A, 8B, 15A, 16A and 16B. Samples were taken from July 2008
until December 2008. It is noted that not all samples are available, for instance produc-
tion line 15A consists of 10 machines, but the available samples are only from 7 machines.
Before investigating the relation between speed and breakdown rate, the first thing to do is
to screen the data. Heineken is interested to find the relation in the operating range only
10

Figure 2.1: Diagram of OPI

Machine Operating Range


ETIMA 8B [22000,28000] and [37000,46000]
Valinpakker 8B [22000,29000] and [44000,54000]
Inpakker 15A [29000,47000]
ETIMA 16B [44000,51000]
Valinpakker 16B [37000,59000]

Table 2.2: Operating Range of some machines


11

Figure 2.2: OPI Calculation

(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

Y = 2.023 · 10−4 X + 1.344 (2.4.1)

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

Y = 4.209 · 10−4 X − 14.557 (2.4.2)

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

Figure 2.3: Diagram of OPI

The regression model of Inpakker 15A is given by

Y = 1.068 · 10−8 X 2 − 8.764 · 10−4 X + 19.397 (2.4.3)

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

Figure 2.4: Linear relation: Valinpakker 16B

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

Figure 2.5: Linear relation: ETIMA 16B


14

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

Figure 2.6: Quadratic relation: Inpakker 15A

Figure 2.7: Two different means: ETIMA 8B


15

High Speeds Low Speeds


Mean 3.8989 3.02
Variance 0.3935 3.898
Observation 17 12
df 27
p-value 0.001158

Table 2.3: T-test ETIMA 8B

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.

2.4.2 Speed and Breakdown Duration


Another relation we would like to investigate is the relation between speed and breakdown
duration. We took samples from Heineken’s database systems, MES and V-Online, from
July 2008 until December 2008. Samples were taken for production lines 8A, 8B, 15A, 16A
and 16B. Here, we did the same thing as before. We used a regression model to investigate
this relation. We implemented this method to all production lines and fortunately we did
not find any relation. This results imply that if the Heineken’s operators run machines at
high speed, the breakdown duration or down-time (if breakdown happens) will be the same
as the breakdown duration when the machines run at any other speeds. However, we believe
that the machine speed is not the only factor which causes the length of the breakdown.
In the beginning, we mentioned that the breakdown can be caused by an internal storing
or an operator stop. As an example, when the breakdown happens the machine will not be
repaired immediately. It takes sometime for the ’long stop team’ or ’short stop team’ at
Heineken to fix the problem. The breakdown caused by internal storing cannot be predicted
by these teams while the operator stop can be predicted since it is the operator who stops
the machine. Another interesting feature that we can see from the scatter plots is that the
operators have their favorite speeds. See Figure 2.8 as an example. In this example, we can
see that there are some favorite speeds which are used by the operators. For this machine,
16

Figure 2.8: Speed vs Breakdown duration

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.

Figure 3.1: Two-stage model

17
18

3.2 Continuous Two-Machine Line


In this section, we determine the analytic solution of the two-stage model as shown in Figure
3.1. The line consists of two machines (M1 and M2 ) and one finite buffer (B) in between.
We assume that the first machine is never starved which means that there are always raw
materials available to be processed. This machine has failure rate p1 , repair rate r1 and
processing rate µ1 . The buffer capacity of the buffer B between machine 1 and machine 2 is
N . Moreover, we also assume that the second machine cannot be blocked. The parameters
of machine 2 are failure rate p2 , repair rate r2 , and processing rate µ2 .

3.2.1 Model Assumption and Terminology


Let x be the buffer content. We also define α1 (t) and α2 (t) as the status of machine 1 and
machine 2, respectively, at time t. This value equals zero if the machine is under repair and
equals 1 if the machine is operational.
Define the system state as
s = (x, α1 (t), α2 (t)) (3.2.1)
Further, we define also the failure rate functions, g1 (·) respectively g2 (·) as the failure rate
function of machine 1 respectively machine 2. During time interval (t, t + δt),
When 0 < x < N

1. the change in x is (α1 µ1 − α2 µ2 )δt

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.

2. the probability of repair is ri δt

3. if machine 1 is down, machine 2 cannot fail. If machine 1 is up, the probability of


failure of machine 2 is g2 (µ)δt, where µ = min(µ1 , µ2 ) and g2 (·) is the failure rate
function of machine 2

4. the probability failure of machine 1 is p1 δt


19

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.

2. the probability of repair is ri δt

3. if machine 2 is down, machine 1 cannot fail since it is not operational. If machine 2


is up, the probability of failure of machine 1 is g1 (µ)δt, where µ = min(µ1 , µ2 ) and
g1 (·) is the failure rate function of machine 1

4. the probability of failure of machine 2 is p2 δt

3.2.2 Performance Measures


First we define:

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

The isolated efficiency ei of machine Mi is


ri
ei = , i = 1, 2 (3.2.10)
ri + pi
and it represents the fraction of time that Mi is operational. The isolated production rate,
ρi is given by
ρi = µi ei , i = 1, 2 (3.2.11)
and it represents what the production rate of Mi would be if it were never impeded by other
machines or buffers. In fact, the actual production rate Pi is less because of blocking and
starvation. This actual production rate is given by (3.2.57) or (3.2.58) below. It is noted
that in the continuous model, the machines can be starved and blocked simultaneously,
while in the discrete model, it is not possible.
21

3.2.3 Transition Equations


To describe the system behaviors, differential equations are used. In the continuous model,
the change of state is a very small amount during a very short time interval. As an example,
the buffer content can rise or fall depending on the states of adjacent machines.
Below, we will derive 4 equations that describe the internal storage behavior.
Both machines are up
First we define the probability that both machines are operational with a storage level
between x and x+δx at time t+δt as f (x, 1, 1, t+δt)δx. This probability can be determined
by

f (x, 1, 1, t + δt) = (1 − (p1 + p2 )δt)f (x − µ1 δt + µ2 δt, 1, 1, t)


+ r1 δtf (x + µ2 δt, 0, 1, t) + r2 δtf (x − µ1 δt, 1, 0, t)

The explanation of this equation is as follows.


• If both machines are operational at time t and the storage level is between x − µ1 δt +
µ2 δt and x − µ1 δt + µ2 δt + δx then there will be no failures between t and t + δt with
probability
(1 − p1 δt)(1 − p2 δt)
and moreover, the storage level will be between x and x + δx at time t + δt.

• 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)

Machine 1 is up and Machine 2 is down


In this case the probability of finding machine 1 up and machine 2 down with storage level
between x and x + δx at time t + δt is given by f (x, 1, 0, t + δt)δx, where

f (x, 1, 0, t + δt) = (1 − (p1 + r2 )δt)f (x − µ1 δt, 1, 0, t) +


p2 δtf (x − µ1 δt + µ2 δt, 1, 1, t) + r1 δtf (x, 0, 0, t)

The explanation of this equation is as follows


22

• 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.

By letting δt → 0, this equation becomes


∂f ∂f
(x, 1, 0, t) = −µ1 (x, 1, 0, t) − (p1 + r2 )f (x, 1, 0, t) + p2 f (x, 1, 1, t) + r1 f (x, 0, 0, t)
∂t ∂x
(3.2.13)

Machine 1 is down and Machine 2 is up


The probability that machine 1 is down and machine 2 is up at time t + δt with storage
level between x and x + δx is given by f (x, 0, 1, t + δt)δx, where

f (x, 0, 1, t + δt) = (1 − (r1 + p2 )δt)f (x + µ2 δt, 0, 1, t) + p1 δtf (x − µ1 δt +


µ2 δt, 1, 1, t) + r2 δtf (x, 0, 0, t)

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

By letting δt → 0, this equation becomes


∂f ∂f
(x, 0, 1, t) = µ2 (x, 0, 1, t)−(p2 +r1 )f (x, 0, 1, t)+p1 f (x, 1, 1, t)+r2 f (x, 0, 0, t) (3.2.14)
∂t ∂x

Both machines are down


In this case, both machines are not operational at time t + δt. The probability of finding
this situation at time t + δt with a storage level between x and x + δx is f (x, 0, 0, t + δt)δx,
where

f (x, 0, 0, t + δt) = (1 − (r1 + r2 )δt)f (x, 0, 0, t) + p1 δtf (x − µ1 δt, 1, 0, t) + p2 δtf (x + µ2 δt, 0, 1, t)

Almost similar explanation as before,

• 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),

and at time t + δt, the storage level remains the same.

• 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.

By letting δt → 0, this equation becomes


∂f
(x, 0, 0, t) = −(r1 + r2 )f (x, 0, 0, t) + p1 f (x, 1, 0, t) + p2 f (x, 0, 1, t) (3.2.15)
∂t
If we can solve these equations, (3.2.12), (3.2.13),(3.2.14),(3.2.15), we can determine the
performance measures such as production rate, average buffer content and others. Before
we solve these equations, we need some boundary conditions of the model.

3.2.4 Boundary Behavior


Lower Boundary
Here we have x = 0.
24

• 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

p(0, 0, 0, t + δt) = (1 − (r1 + r2 )δt)p(0, 0, 0, t) + (1 − r2 δt)p1 δtp(0, 1, 0, t) (3.2.16)

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

p(0, 0, 1, t + δt) = (1 − r1 δt)r2 δtp(0, 0, 0, t) + (1 − r1 δt)p(0, 0, 1, t)


+ p1 δt(1 − g2 (µ1 )δt)p(0, 1, 1, t) +
Z µ2 δt
f (x, 0, 1, t)dx (3.2.19)
0

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

p(0, 1, 1, t + δt) = (1 − p1 δt)(1 − g2 (µ1 )δt)p(0, 1, 1, t) + r1 δtp(0, 0, 1, t)


Z (µ2 −µ1 )δt
+ f (x, 1, 1, t)dx, (3.2.22)
0
or,
d
p(0, 1, 1, t) = −(p1 +g2 (µ1 ))p(0, 0, 1, t)+r1 p(0, 0, 1, t)+(µ2 −µ1 )f (0, 1, 1, t) (3.2.23)
dt

• 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

µ1 f (0, 1, 0, t) = r1 p(0, 0, 0, t) + g2 (µ1 )p(0, 1, 1, t) (3.2.26)

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

p(N, 0, 0, t + δt) = (1 − r1 δt)(1 − r2 δt)p(N, 0, 0, t)

By letting δt → 0, the above equation becomes


d
p(N, 0, 0, t) = −(r1 + r2 )p(N, 0, 0, t) (3.2.29)
dt

• 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

p(N, 1, 0, t + δt) = (1 − r2 δt)p(N, 1, 0, t) + r1 δtp(N, 0, 0, t)


Z N
+ (1 − r1 δt)p2 δtp(N, 1, 1, t) + f (x, 1, 0, t)dx
N −µ1 δt

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 .

p(N, 1, 1, t + δt) = (1 − g1 (µ2 )δt)(1 − p2 δt)p(N, 1, 1, t)


Z N
+ f (x, 1, 1, t)dx + r2 p(N, 1, 0, t)
N −(µ1 −µ2 )δt

By letting δt → 0, the previous equation becomes


d
p(N, 1, 1, t) = −(g1 (µ2 ) + p2 )p(N, 1, 1, t) + (µ1 − µ2 )f (N, 1, 1, t)
dt
+ r2 p(N, 1, 0, t) (3.2.32)

• 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)

µ2 f (N, 0, 1, t) = r2 p(N, 0, 0, t) + g1 (µ2 )p(N, 1, 1, t) (3.2.35)

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

(µ2 − µ1 )f (x, 1, 1) + µ2 f (x, 0, 1) − µ1 f (x, 1, 0) = 0 ,0 ≤ x ≤ N (3.2.39)

Proof. In steady state equations (3.2.12),(3.2.13),(3.2.14) and (3.2.15) become

δ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)

If we add these equations, we obtain

d
0= [(µ2 − µ1 )f (x, 1, 1) + µ2 f (x, 0, 1) − µ1 f (x, 1, 0)] (3.2.40)
dx

Therefore,

(µ2 − µ1 )f (x, 1, 1) + µ2 f (x, 0, 1) − µ1 f (x, 1, 0) = K


29

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.

x = 0 or x = N . Let x = 0. If µ1 > µ2 , equation (3.2.20) is

r1 p(0, 0, 1) = µ2 f (0, 0, 1) (3.2.41)

Combining this with equation (3.2.28),

(µ2 − µ1 )f (0, 1, 1) + µ2 f (0, 0, 1) = 0 (3.2.42)

Furthermore, when µ1 > µ2 , equation (3.2.26) implies µ1 f (0, 1, 0) = 0. Thus,

(µ2 − µ1 )f (x, 1, 1) + µ2 f (x, 1, 0) − µ1 f (x, 1, 0) = 0 (3.2.43)

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

obtained at x = N in a similar manner.

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

Average Buffer Content


1
X 1 ·Z
X N ¸
x̄ = xf (x, α1 , α2 )dx + N p(N, α1 , α2 ) (3.2.46)
α1 =0 α2 =0 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

By equation (3.2.39), the proof is complete.

Blocking and Starvation


Since we assume that the first machine is saturated, it will never be starved. The blocking
is only applicable to machine 1.
µ2
pb = p(N, 1, 0) + (1 − )p(N, 1, 1) (3.2.48)
µ1
where pb is the probability that machine 1 is unable to operate. This can happen because

• machine 2 is down and the buffer becomes full

• both machines are operational and the buffer is full

The starvation is only applicable to machine 2.


µ1
ps = p(0, 0, 1) + (1 − )p(0, 1, 1) (3.2.49)
µ2
where ps is the probability that machine 2 is unable to operate. This happens because

• machine 1 is down and the buffer becomes empty

• both machines are operational and the buffer is empty

Repair Frequency and Failure Frequency


Here, we derive an important relation between repair frequency and failure frequency. It
will be proved that these frequencies are the same. First, we define Di as the probability
that machine i is under repair.
Z N
D1 = p(0, 0, 1) + (f (x, 0, 0) + f (x, 0, 1))dx (3.2.50)
0
Z N
D2 = p(N, 1, 0) + (f (x, 0, 0) + f (x, 1, 0))dx (3.2.51)
0

Then
F Fi = ri Di , i = 1, 2 (3.2.52)
31

where F Fi is a failure frequency defined as follows.

(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 .

Proof. Here, we only present for i = 1. A similar proof holds for i = 2.

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

(3.2.20), this becomes

F F1 − r1 D1 = −µ2 f (N, 0, 1) + g1 (µ2 ) (3.2.56)

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

Flow Rate-Idle Time(FR-IT)


p(N, 1, 1)(p1 µ2 − g1 (µ2 )µ1 )
P1 = µ1 e1 (1 − Pb ) + (3.2.57)
(r1 + p1 )
p(0, 1, 1)(p2 µ1 − g2 (µ1 )µ2 )
P2 = µ2 e2 (1 − Ps ) + (3.2.58)
(r2 + p2 )

Proof. We only prove equation (3.2.57). Equation (3.2.58) can be proved in a similar way.

First we note that

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

using equation (3.2.52) gives


h i
(max)
µ1 p1 E1 + g1 (µ2 )p(N, 1, 1)
P1 + = µ1 (1 − pb )
r1

By equation (3.2.9), last equation can be rewritten as

r1 P1 + p1 P1 p(N, 1, 1) [p1 µ2 − g1 (µ2 )µ1 ]


= µ1 (1 − pb ) +
r1 r1

The proof is complete by using the definition from equation (3.2.10).

3.3 Analytic Solution


In this section, the solution of the equations (3.2.12)-(3.2.15) is given. Here we distinguish
between 2 cases. The equations (3.2.12)-(3.2.15) are ordinary differential equations. It is
well-known that the solution of (3.2.12)-(3.2.15) is in the exponential form:

f (x, α1 , α2 ) = Ceλx Y1α1 Y2α2 (3.3.1)

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

The equations (3.3.2)-(3.3.4) can be reduced to a single quadratic equation in Y1 :

−(µ2 − µ1 )p1 Y12 + [(µ2 − µ1 )(r1 + r2 ) − (µ2 p1 + µ1 p2 )] Y1 + µ2 (r1 + r2 ) = 0 (3.3.5)


33

3.3.1 General Case


In this case, the processing rates of machines are different, i.e. µ1 6= µ2 . We replace (3.3.1)
by a sum of two terms corresponding to the two solutions Y1j of (3.3.5):
2
X
f (x, α1 , α2 ) = Cj eλj x Y1jα1 Y2jα2 (3.3.6)
j=1

We consider two cases.


Case 1: µ1 > µ2
In the steady state, we have from (3.2.21) or identities

p(0, 1, 1) = 0 (3.3.7)

Equation (3.2.28) implies that

(µ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

To obtain p(N, 1, 1), equation (3.2.35) is required. Since p(N, 0, 0) = 0, it gives


µ2
p(N, 1, 1) = f (N, 0, 1)
g1 (µ2 )
2
µ2 X
= Cj eλj N Y2j (3.3.10)
g1 (µ2 )
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

r1 p(0, 0, 1) = p1 p(0, 1, 1) + µ2 f (0, 0, 1) (3.3.13)


(p1 + g2 (µ1 ))p(0, 1, 1) = r1 p(0, 0, 1) + (µ2 − µ1 )f (0, 1, 1) (3.3.14)

Combining (3.3.13) and (3.3.14) gives

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

Two linear equations (3.2.38) and (3.3.18) is sufficient to solve C1 and C2 .

3.3.2 Special Case


Here, we have µ1 = µ2 . Equation (3.3.5) gives
r1 + r2
Y1 = (3.3.19)
p1 + p2
35

From (3.3.2), Y2 can be determined.


r1 + r2
Y2 = (3.3.20)
p1 + p2
Then, equation (3.3.3) or (3.3.4) gives
µ ¶
1 1 1
λ = (r1 p2 − r2 p1 ) + (3.3.21)
µ p1 + p2 r1 + r2
In the same way as before, the boundary conditions yield
µ(r1 + r2 )
p(0, 1, 1) = C (3.3.22)
g2 (µ)(p1 + p2 )
p1 µ(r1 + r2 )
p(0, 0, 1) = p(0, 1, 1) + C (3.3.23)
r1 r1 (p1 + p2 )
µ(r1 + r2 )
p(N, 1, 1) = CeλN (3.3.24)
g1 (µ)(p1 + p2 )
· ¸
λN (r1 + r2 ) p2 1
p(N, 1, 0) = Cµe + (3.3.25)
(p1 + p2 ) r2 g1 (µ) r2
The constant C can be obtained easily from normalization equation (3.2.38).

3.3.3 Performance Measures


Production Rate
Production rate can be computed from (3.2.44) or (3.2.45) but it is easier to use equation
(3.2.57) or (3.2.58). Blocking and starvation probabilities can be computed using equations
(3.2.48) and (3.2.49).

Average Buffer Content


If µ1 = µ2 and λ 6= 0, (3.2.46) becomes
1 + Y 2 h λN i
x̄ = C( ) e (λN − 1) + 1 + N (p(N, 1, 0) + p(N, 1, 1)) (3.3.26)
λ
If µ1 = µ2 and λ = 0, this must be replaced by
C
x̄ = (N (1 + Y )))2 + N (p(N, 1, 0) + p(N, 1, 1)) (3.3.27)
2
If µ1 6= µ2 , the average buffer content is
2
X 1 + Y1j 1 + Y2j λj N
x̄ = Cj ( )( )[e (λj N − 1) + 1]
λj λj
j=1
= + N (p(N, 1, 0) + p(N, 1, 1)) (3.3.28)
36

Model Throughput Average Buffer Content


Linear 0.8928 0.7944
Proportional 0.8436 1.1587
Constant 0.7616 1.7659

Table 3.1: The importance of failure rate function

as long as both λj 6= 0. If λ1 or λ2 is zero, the corresponding term in the summation must


be replaced by
Cj 2
N (1 + Y1j )(1 + Y2j ) (3.3.29)
2

3.4 Numerical Results


In this section we present some numerical results of two-stage model. The first experiment
shows the importance of considering the failure rate as a function of speed. In the second
experiment, we can see the effect of changing the failure rate parameters while in third
experiment we can see the effect of changing repair rate parameters. The last experiment
we vary the speed of machine 2. It is noted that for these three experiments, we assume
that the failure rate is constant at any speeds.
Experiment 1
Suppose that the first machine is a reliable machine with µ1 = 1. The other parameters
are p2 = 0.05, r2 = 0.09, µ2 = 2 and N = 5. We compare three different models. The first
model is ’Linear’ where the second machine has a linear failure rate function given by

g2 (µ) = 0.035µ − 0.02

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.

• p1 = 0.01 and p2 varying

• 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

Table 3.2: Throughput for changing p2 and N

Figure 3.2: Experiment 2 with N = 10

• µ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

• r1 = 0.09 and r2 varying

• µ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

Table 3.3: Throughput for changing r2 and N

µ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

Table 3.4: Throughput of changing µ2 and N

• 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

Figure 3.3: Experiment 4c


Chapter 4

Decomposition of Long Flow Lines

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.

• Mi = machine i of original line

• pi = failure rate of machine i in original line

• ri = repair rate of machine i in original line

40
41

Figure 4.1: Decomposition Method

• µi =processing rate of machine i in original line

• Ni = buffer capacity of Buffer i

• Mu (i) = upstream machine of subsystem i

• Md (i) = downstream machine of subsystem i

• pu (i) = failure rate of Mu in subsystem i while pd (i) for Md

• ru (i) = repair rate of Mu in subsystem i while rd (i) for Md

• µu (i) = effective average production rate of Mu in subsystem i

• µd (i) = effective average production rate of Md in subsystem i

• ni (t) = the amount of material in buffer i at time t i = 1, . . . , k − 1

By convention, for all t, let

n0 (t) = ∞
nk (t) = 0 (4.1.1)
42

We introduce the definition of Mu (i) and Md (i) being up or down.

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

Mu (i) is up = Mu (i) is not down, i = 1, . . . , k − 1 (4.1.2)

Md (i) is down = material is not flowing out of Bi because of failure of


downstream
 machine
 M
i+1 is down, i=k−1
=
 Mi+1 is down or (Md (i + 1) is down and ni+1 = Ni+1 ), i = 1 . . . , k − 2

Md (i) is up = Md (i) is not down, i = 1, . . . , k − 1 (4.1.3)

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

ju∗ (i, t) = max[j : j ≤ i and nj−1 (t) > 0] i = 1, . . . , k − 1 (4.1.5)


jd∗ (i, t) = min[j : j ≥ i and nj (t) < Nj ] i = 1, . . . , k − 1 (4.1.6)

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

µi (t) = the instantaneous production rate of Machine i at time t


= min[µi , µju∗ (i,t) , µjd∗ (i,t) ] (4.1.7)
µi (t)δt = the amount of material processed by Mi in (t, t + δt) (4.1.8)

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:

ni (t) = µi (t) − µi+1 (t) (4.1.9)

The efficiency of Mu (i) and Md (i) are Eu (i) and Ed (i) which are defined (for i = 1, . . . , k):

Eu (i) = Eu (i)(max) + Eu (i)(min) (4.1.10)


(max) (min)
Ed (i) = Ed (i) + Ed (i) (4.1.11)

where

Eu (i)(max) = prob[αu (i) = 1, ni < Ni ] (4.1.12)


Ed (i)(max) = prob[αd (i) = 1, ni > 0] (4.1.13)
µd (i)
Eu (i)(min) = pi (N, 1, 1) (4.1.14)
µu (i)
µu (i)
Ed (i)(min) = pi (0, 1, 1) (4.1.15)
µd (i)

where µu (i) and µd (i) are defined as follows

• µ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 .

• µd (i − 1)δt = the amount of material produced by Md (i − 1) in (t, t + δt) for small δt


when αd (i − 1) = 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

when it is part of a large system. We define

Pu (i) = the steady state non-isolated production rate of Mu (i)


= Eu (i)µu (i), i = 1, . . . , k − 1
Pd (i) = the steady state non-isolated production rate of Md (i)
= Ed (i)µd (i), i = 1, . . . , k − 1
P (i) = the steady state non-isolated production rate of L(i)
= Pu (i) = Pd (i), i = 1, . . . , k − 1
P = the steady state production rate of a k − stage line (4.1.16)

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.

P (i) = P (1) i = 2, . . . , k − 1 (4.1.18)

We also define an isolated efficiency as follows

ei = the steady state isolated efficiency of machine i


ri
= , i = 1, . . . , k (4.1.19)
ri + pi
Flow-Rate Idle-Time (FR-IT)
pi (N, 1, 1)(pu (i)µd (i) − gu (µd (i))µu (i))
P (i) = ei µi (1 − pb − ps ) + +
(ru (i) + pu (i))
pi (0, 1, 1)(pd (i)µu (i) − gd (µu (i))µd (i))
(4.1.20)
(rd (i) + pd (i))
where ps respectively pb is the probability that Stage i is being starved respectively being
blocked.
45

4.2 Decomposition Equations


In this section we derive a set of decomposition equations. There are 3 decomposition
equations which are Interruption of Flow equations (IOF), Resumption of Flow equations
(ROF) and Processing Rate equations. Here, we only derive the decomposition equations
for the upstream machines while the downstream machines derivations are analogous.

4.2.1 Interruption of Flow Equations


This subsection presents the IOF equations which are related to the failure rates of up-and-
down stream machines. We use the terms Mu (i) and Md (i) for upstream and downstream
machines of subsystem i, respectively. The failure of the upstream machine, say Mu (i), from
the perspective of buffer Bi could be caused by either a failure of machine Mi or starvation
caused by Bi−1 being empty simultaneously with Mu (i − 1) being down. Our IOF equations
take into account these two cases. Since we consider a continuous flow line, it is possible
that when the buffer Bi−1 is empty, the upstream machine Mu (i) is running at slower speed
due to a starvation. In this case machine Mu (i) is running slower than µi . On the other
hand, the failure rate of this machine changes corresponding to its failure rate function. It
is also noted that we consider the flow lines under the assumption of operation dependent
failure (ODF) in which a machine cannot breakdown when it is not operational.
First we define the upstream failure rate of L(i).

pu (i)δt = prob [Mu (i) is down at t + δt|Mu (i) up and ni < Ni at t]


i = 2, . . . , k − 1 (4.2.1)

Using the definition of Mu (i) is down from (4.1.2), we obtain

pu (i)δt = prob [Mi is down or (ni−1 = 0 and Mu (i − 1) is down) at t + δt


|Mu (i) is up and ni < Ni at t] (4.2.2)

Since {Mi is down} and {Mu (i−1) is down and ni−1 = 0} are mutually exclusive, we obtain

pu (i)δt = prob[Mi is down at t + δt|Mu (i) is up and ni < Ni at t] +


prob[ni−1 = 0 and Mu (i − 1) is down at t + δt
|Mu (i) is up and ni < Ni at t] (4.2.3)
46

We define the mutually exclusive events

a = Mi is up at t + δt and Mu (i) is up , ni < Ni , and ni−1 = 0 at t


b = Mi is down at t + δt and Mu (i) is up , ni < Ni , and ni−1 = 0 at t
c = Mi is down at t + δt and Mu (i) is up , ni < Ni , and ni−1 6= 0 at t
d = Mi is up at t + δt and Mu (i) is up , ni < Ni , and ni−1 6= 0 at t

From probability theory, we know that

prob(A and B)
prob(A and B|B) = = prob(A|B) (4.2.4)
prob(B)

Using this, the first term of equation (4.2.3) is equal to


b or c
z }| {
prob[Mi is down at t + δt, Mu (i) is up and ni < Ni at t
| Mu (i) is up and , ni < Ni at t] (4.2.5)
| {z }
a or b or c or d

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

We use (4.2.4) to obtain


 ³ ´ 
prob[Mi is down at t + δt|Mu (i) is up , ni < Ni and ni−1 = 0 at t] ×
 ³ ´ +
prob(M (i) is up ,n <N and n
u i i =0 at t)
i−1
prob(Mu (i) is up and ni <Ni at t)
 ³ ´ 
prob[Mi is down at t + δt|Mu (i) is up , ni < Ni and ni−1 6= 0 at t] ×
 ³ ´  (4.2.6)
prob(Mu (i) is up ,ni <Ni and ni−1 6=0 at t)
prob(Mu (i) is up and ni <Ni at t)

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

prob[Mi is down at t + δt|Mu (i) is up , ni < Ni , and ni−1 = 0 at t]


= gi (µu (i − 1))δt (4.2.7)

and zero, otherwise.


Since blocking and starvation cannot occur at the same time in the continuous flow line
model, we have

prob(ni−1 = 0, and ni = Ni at time t) = 0 i = 2, . . . , k − 1 (4.2.8)

By the definition of Mu up and (4.2.8), we have

pi−1 (0, 1, 1) = prob(Mu (i − 1) is up and, ni−1 = 0, Md (i − 1) is up, at t)


= prob(Mu (i − 1) is up, Mi is up,(ni < Ni or (ni = Ni and Md (i) is up))
and ni−1 = 0 at t)
= prob(Mu (i − 1) is up, Mi is up, (ni < Ni and ni−1 = 0 at t)
= prob(Mu (i) is up, ni < Ni and ni−1 = 0 at t) (4.2.9)

By (4.1.10), the second factor of the first term of (4.2.6) is


pi−1 (0, 1, 1)
(4.2.10)
Eu (i) − pi (Ni , 1, 1) µµud (i)
(i)

The first factor of the second term of (4.2.6) is pi δt.


The second factor of the second term of (4.2.6) can be written as
1 − prob(Mu (i) is up , ni < Ni , and ni−1 = 0 at t)
prob(Mu (i) is up , ni < Ni at t)
pi−1 (0, 1, 1)
=1− (4.2.11)
Eu (i) − pi (N, 1, 1) µµud (i)
(i)
48

We can conclude that the first term of (4.2.3) is


µ ¶ µ ¶
pi−1 (0, 1, 1)µu (i) pi−1 (0, 1, 1)µu (i)
gi (µu (i − 1)) + pi 1 − (4.2.12)
P (i) − pi (N, 1, 1)µd (i) P (i) − pi (N, 1, 1)µd (i)

Now, we investigate the second term of (4.2.3).

prob[ni−1 = 0 and Mu (i − 1) is down at t + δt|Mu (i) up and ni < Ni at t]

= prob[ni−1 = 0 and Mu (i − 1) is down and Md (i − 1) is up at t + δt


|Mu (i) is up and ni < Ni at t] +
prob[ni−1 = 0 and Mu (i − 1) is down and Md (i − 1) is down at t + δt
|Mu (i) is up and ni < Ni at t] (4.2.13)

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

• 0 < ni−1 < µd (i − 1)δt, Mu (i − 1) is down and Md (i − 1) is up at t, the buffer empties


in (t, t + δt), with probability 1 − ru (i − 1)δt − pd (i − 1)δt

• ni−1 = 0, Mu (i − 1) is up and Md (i − 1) is up at t, and Mu (i − 1) fails in (t, t + δt),


with probability pu (i − 1)δt

By definition (4.1.2), if Mu (i) is up at t, then Mi is up. If Mi is up and ni < Ni at t, then


Mu (i − 1) must also be up. Thus, the first term is zero. The second term can be written
as, by the definition of conditional probability,
 
0 < ni−1 < µd (i − 1)δt and Mu (i − 1) is down and
prob  
Md (i − 1)is up and Mu (i)is up and ni < Ni at t
= ×
prob [Mu (i) is up and ni < Ni at t]
(1 − ru (i − 1)δt − pd (i − 1)δt) (4.2.14)

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

numerator. By definition (4.1.2), if Md (i − 1) is up and ni−1 > 0, then Mi must be up and


therefore Mu (i) must also be up. Hence, we can simplify (4.2.14) to
 
0 < ni−1 ≤ µd (i − 1)δt and
prob  
Mu (i − 1) is down and Md (i − 1)up at t
×
prob [Mu (i) is up and ni < Ni at t]
(1 − ru (i − 1)δt − pd (i − 1)δt)
R µd (i−1)δt
0 fi−1 (x, 0, 1)dx
= ×
prob[Mu (i) is up and ni < Ni at t]
(1 − ru (i − 1)δt − pd (i − 1)δt)
µ ¶
fi−1 (0, 0, 1)
= µd (i − 1)δt
prob[Mu (i) is up and ni < Ni at t]
 
f i−1 (0, 0, 1)
=  µd (i − 1)δt (4.2.15)
Eu (i) − pi (Ni , 1, 1) µµud (i)
(i)

The third term is  


 pi−1 (0, 1, 1)  pu (i − 1)δt (4.2.16)
Eu (i) − pi (Ni , 1, 1) µµud (i)
(i)

Similar to the two-stage model (see equation (3.2.20))we have

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.

4.2.2 Resumption of Flow Equations


Here we derive the decomposition equations that provide the repair rate of Mu (i) and Md (i).
These equations are called Resumption of Flow equations (ROF). As mentioned before the
failure of machine i from the perspective of Buffer i could be caused by either Machine i
failing or a starvation caused by Buffer Bi−1 being empty simultaneously with Mu (i − 1)
being down. The ROF equations derived here account for the recovery from both of these
conditions. The repair rate of Mu (i) is approximated as a weighted average of the rates of
repair as follows:

ru (i)δt = A(i − 1)X(i) + B(i)(1 − X(i)) i = 2, . . . , k − 1 (4.2.21)

where

A(i − 1) = prob[Mi is up and NOT(ni−1 = 0 and Mu (i − 1) is down at t + δt


|ni−1 = 0 and Mu (i − 1) is down at t]
= ru (i − 1)δt (4.2.22)
B(i) = prob[Mi up and NOT(ni−1 = 0 and Mu (i − 1) is down ) at t + δt
|Mi is down at t]
= ri δt (4.2.23)

X(i) = prob[ni−1 = 0 and Mu (i − 1) is down at t


|Mi is down or (ni−1 = 0 and Mu (i − 1) is down ) at t]
prob[ni−1 = 0 and Mu (i − 1) is down at t]
=
prob[Mi is down or (ni−1 = 0 and Mu (i − 1) is down ) at t]
pi−1 (0, 0, 1)
= (4.2.24)
prob[Mu (i) is down]
51

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

ru (i)prob[Mu (i) is down ] = pu (i)Eu(max) (i) + gu (µd (i))pi−1 (N, 1, 1) (4.2.25)

Combining this with (4.1.16), X(i) can be rewritten as

pi−1 (0, 0, 1)ru (i)µu (i)


X(i) = (4.2.26)
pu (i)P (i) + pi−1 (N, 1, 1)(µu (i)gu (µd (i)) − pu (i)µd (i))

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))

4.2.3 Processing Rate Equations


The last decomposition equations are derived for µu (i) (processing rate of the first stage in
L(i)) and µd (i) (processing rate of the second stage in L(i)). These equations are derived
directly from the FR-IT equation (4.1.20) and the COF equation (4.1.18). It is noted that
in the case of a longer line equations (3.2.57) and (3.2.58) can be rewritten as

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

p(N, 1, 1) [pu (i)µd (i) − gu (µd (i))µu (i)]


Bu = (4.2.32)
ru (i)
By a little algebraic manipulation, the COF equation (4.1.18) results in
 
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.33)
eu (i)P (i)
By a similar derivation, we can obtain the processing rate equation for the downstream
machine:
 
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.34)
ed (i)P (i)
where
p(0, 1, 1) [pd (i)µu (i) − gd (µu (i))µd (i)]
Ad = (4.2.35)
rd (i + 1)
p(N, 1, 1) [pu (i + 1)µd (i + 1) − gu (µd (i + 1))µu (i + 1)]
Bd = (4.2.36)
ru (i + 1)

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

p(0, 1, 1) [pd (i − 1)µu (i − 1) − gd (µu (i − 1))µd (i − 1)]


Au = (4.2.40)
rd (i)
p(N, 1, 1) [pu (i)µd (i) − gu (µd (i))µu (i)]
Bu = (4.2.41)
ru (i)
Downstream equations
µ ¶ µ ¶
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.42)
P (i) − pi (0, 1, 1)µu (i)

µ ¶
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)

4.3 The Dallery-David-Xie Algorithm


In this section we present the algorithm, the so-called General Accelerated David-Dallery-
Xie (GADDX), to solve the decomposition equations which were developed in the previous
section. The following algorithm is almost identical to the algorithm presented in Burman
(1995). The difference is that our decomposition equations are more general than Burman’s.
In our decomposition equations, we express the failure rate as a function of the speed while
Burman only assumes that the failure rate is proportional to the speed. Furthermore, we
also use the same substitutions as Burman proposed to improve the algorithm. The first
one is based on the Conservation of Flow equation (COF). P (i − 1) is substituted for P (i)
in all the upstream equations and P (i + 1) for P (i) in all of the downstream equations.
54

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:

pu (i) = µu (i)K1 + pi (4.3.3)


ru (i)µu (i)K2
ru (i) = + ri (4.3.4)
pu (i)
µ ¶µ ¶
1 pu (i)
µu (i) = 1+ (4.3.5)
K3 ru (i)

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).

pd (i) = µd (i)K4 + pi+1 (4.3.9)


rd (i)µd (i)K5
rd (i) = + ri+1 (4.3.10)
pd (i)
µ ¶µ ¶
1 pd (i)
µd (i) = 1+ (4.3.11)
K6 rd (i)

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

pu (i) = f (pu (i), ru (i), µu (i))


ru (i) = f 0 (pu (i), ru (i), µu (i))
µu (i) = f 00 (pu (i), ru (i), µu (i)) (4.3.15)

Equations (4.3.9)-(4.3.11) have an equivalent representation for the downstream equations

pd (i) = f ∗ (pd (i), rd (i), µd (i))


rd (i) = f 0∗ (pd (i), rd (i), µd (i))
µd (i) = f 00∗ (pd (i), rd (i), µd (i)) (4.3.16)

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

The closed form solutions of (4.3.16) are the following


ri pi K6 + pi K5 + ri K4
pd (i) = (4.3.20)
ri K6 + K5 − K4
ri pi K6 + pi K5 + ri K4
rd (i) = (4.3.21)
pi K6 + K4 − K5
ri + pi
µd (i) = (4.3.22)
ri K6 + K5 − K4
Finally, below we present the General Accelerated David-Dallery-Xie (GADDX) to solve
our decomposition equations.
Algorithm (GADDX)

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)

2. Perform Step 1 and Step 2 until the termination condition is satisfied.


Step 1. Let i range over values from 2 to k − 1. Evaluate L(i − 1) using the two-
stage model with the most recent values of rd (i − 1), pd (i − 1), µd (i − 1), ru (i − 1),
pu (i − 1), µu (i − 1). Then substitute these parameters and the resulting P (i − 1) into
the upstream decomposition equations (4.3.17)-(4.3.19).
Step 2. Let i range over values from k − 2 to 1. Evaluate L(i + 1) using the two-
stage model with the most recent values of rd (i + 1), pd (i + 1), µd (i + 1), ru (i + 1),
pu (i + 1), µu (i + 1). Then substitute these parameters and the resulting P (i + 1) into
the downstream decomposition equations (4.3.20)-(4.3.22).

3. Termination Condition. Terminate the algorithm when the greatest value of

kP (i) − P (1)k (4.3.24)

is less than some specified value, for i = 2, . . . , k − 1

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

4.4 Numerical Results


In this section we present some numerical results to investigate the accuracy and the effi-
ciency of the algorithm described before. The first ten numerical experiments, case 1-10,

Glassey and Hong GADDX


Case Throughput Buffer Content ] call Throughput Buffer Content ] call
1 0.4680 N1 = 3.1723 20 0.4680 N1 = 3.1723 8
N2 = 1.8277 N2 = 1.8270
2 0.9026 N1 = 3.2530 20 0.9026 N1 = 3.2521 6
N2 = 1.7470 N2 = 1.7479
3 0.3207 N1 = 3.1494 34 0.3207 N1 = 3.1495 10
N2 = 1.8506 N2 = 1.8505
4 0.3558 N1 = 6.1220 22 0.3588 N1 = 6.1211 12
N2 = 3.8780 N2 = 3.8789
5 0.7604 N1 = 6.3439 20 0.7604 N1 = 6.3511 8
N2 = 3.1344 N2 = 3.1342
6 0.3015 - 441 0.3015 - 256
7 0.6351 - 572 0.6351 - 200
8 0.2315 - 640 0.2315 - 720
9 0.2296 N1 = 3.9877 3819 0.2296 N1 = 3.9880 1044
N5 = 2.9602 N5 = 2.9600
N10 = 2.5000 N10 = 2.5000
N19 = 1.0123 N19 = 1.0120
10 0.2927 - 1976 0.2927 - 1332

Table 4.1: Result of Glassey and Hong & GADDX

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

GADDX Glassey and Hong Simulation


Case Throughput Error ] call Throughput Error ] call Throughput
11 0.8332 0.24% 12 0.8356 0.53% 28 0.8312
12 0.8564 -0.57% 8 0.8588 -0.29% 46 0.8613
13 0.7250 0.15% 10 0.7280 0.57% 46 0.7239
14 0.8170 0.12% 12 0.8170 0.12% 50 0.8160
15 0.8738 0.09% 20 0.8754 0.27% 28 0.8730
16 0.8258 -0.55% 32 0.8352 0.58% 402 0.8304
17 0.7992 0.38% 24 0.8056 1.18% 495 0.7962
18 0.7472 0.62% 36 0.7476 0.67% 102 0.7426
19 0.8312 1.29% 48 0.8256 0.61% 116 0.8206
20 0.8313 0.65% 48 0.8323 0.77% 112 0.8259

Table 4.2: Result of GADDX & Glassey and Hong & Simulation

GADDX constant Simulation


Case TH Error N1 Error N2 Error TH N1 N2
21 0.8624 0.09% 29.045 -2.00% 20.955 2.91% 0.8616 29.638 20.362
22 0.8525 -0.29% 10.448 1.80% 24.238 -0.55% 0.8550 10.264 24.373
23 0.7446 0.42% 32.172 4.82% 40.225 2.77% 0.7415 30.692 39.141
24 0.7454 0.96% 17.184 6.80% 54.691 4.46% 0.7383 16.089 52.355
25 0.8622 -0.13% 29.422 1.86% 24.647 1.98% 0.8633 28.885 24.168
26 0.8572 0.36% 46.115 0.08% 15.538 1.47% 0.8541 46.078 15.306
27 0.8332 -0.39% 30.889 1.33% 22.563 -0.60% 0.8365 30.484 22.700
28 0.8198 -0.07% 50.001 -2.53% 14.279 3.77% 0.8204 51.297 13.759
29 0.8962 0.82% 7.009 3.07% 12.657 2.00% 0.8889 6.800 12.409
30 0.8807 0.17% 3.361 1.03% 13.033 10.9% 0.8792 3.327 11.753
31 0.9011 -0.09% 41.890 0.16% 37.909 1.50% 0.9019 41.824 37.348
32 0.9032 -0.12% 23.921 1.46% 52.257 0.18% 0.9043 23.577 52.161

Table 4.3: Results of 3-machine model


59

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

Table 4.4: The importance of the failure rate function

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

Performance Analysis at Heineken

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:

1. Generation of a sample of random data according to a specified random mechanism.

2. Update the parameters of the random mechanism, typically parameters of probability


density functions (pdf), on the basis of the data, to produce a ”better” sample in the
next iteration.

Below we present the algorithm of the Cross-Entropy method. As an example we use a


truncated normal distribution for generating the random sample. The n-dimensional normal
distribution with independent components, mean vector µ = (µ1 , . . . , µn ) and variance
vector σ 2 = (σ12 , . . . , σn2 ), is denoted by N(µ,σ 2 ).
Algorithm

1. initialize: Choose µ̂0 and σ̂02 . Set t := 0.

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:

µ̂t := αµ̃t + (1 − α)µ̂t−1 (5.1.3)


σ̂t := ασ̃t2 + (1 − α)σ̂t−1 (5.1.4)

3. repeat step 2 until: maxj (σtj ) < ²

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].

5.2 Production Line 15A


In this section we analyze production line 15A. As an illustration that in the reality the
up-and-down times behaviors are not exponentially distributed. However, as the first step
of analyzing the production lines, we assume that these rates are exponentially distributed.
Later on, we will see that under these assumptions the analytical model still perform well
to approximate the throughput of the production lines. For the future model, the more
general model based on this model should be developed so that the model will be more
realistic.
Now, we would like to analyze the production line 15A which consists of 10 machines.
Each machine has a failure rate (mean up time), a repair rate (mean down time), and a
deterministic speed. There is also a buffer between each pair of machines. The parameters
of this line are given in Appendix B. Furthermore, we also use the results from Chapter 2
for the failure rate functions of the machines. In production line 15A, the Inpakker/Crate-
packer is the only machine for which we use a failure rate function. The failure rates of the
62

Depalletizer, Depacker, Bottle-washer, Filler, Labeler/ETIMA, Palletizer do not depend on


the speed. We use a constant failure rate for these machines. Unfortunately, Heineken has
no data available of the other three machines. According to their experience, the failure
rates of the Crate-logo and Pasteurizer do not depend on the speed, whereas the failure
rate of the EBI does. Hence, we assume that that Crate-logo and Pasterizer have constant
failure rates while the EBI failure rate is proportional to its speed. Using these parameters
as an input to our analytical model as described in Chapter 4, we calculate the OPI value
for this production line. We also calculate the OPI value under the assumption that all
machines have constant failure rates as well as the assumption that all machines have
failure rates which are proportional to their speeds. Next to our analytical approximation
we calculate the OPI value by using simulation. The results are presented in Table 5.1.
This table shows that both the analytical model and the simulation model approximate
the actual OPI value well. In addition to the calculation of OPI value, we also calculate
the other performance measures such as average buffer contents, blocking probabilities and
starvation probabilities by using an analytical model. These results are presented in Table
5.2. One of the interesting thing from this table is that both blocking probabilities and
starvation probabilities of the Bottle-washer, EBI, Filler and ETIMA are quite small. The
reason of this is that the Filler is the bottleneck of the system. Moreover, the EBI has many
short stops. Later we will see that these 4 machines play an important role to improve the
OPI value.

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

Approximation 95% Confidence Interval Error to


Methods OPI Lower Bound Upper Bound Actual OPI
GADDX (Line15A) 71.629 - - 0.07%
GADDX (constant) 71.628 - - 0.07%
GADDX (proportional) 71.740 - - 0.22%
Simulation (exponential) 71.560 71.550 71.580 -0.03%
Actual OPI 71.581 -

Table 5.1: OPI Comparison Line 15A


63

Machine Percentage Blocking Starvation


Name Buffer Content Probability Probability
Depalletizer 94.46% 0.3055 0
Cratelogo 90.19% 0.2274 0.0168
Depacker 88.07% 0.1658 0.0103
Bottle washer 62.53% 0.0716 0.0006
EBI 45.29% 0.0545 0.0569
Filler 6.97% 0.0059 0.0894
Pasterizer 31.94% 0.0073 0.1527
ETIMA 4.60% 0.0005 0.0597
Crate-packer 1.59% 0.0001 0.1904
Palletizer n/a 0 0.2427

Table 5.2: Other Performance Measures of Line 15A

Figure 5.1: Buffer Analysis Line 15A


64

Average Speed Buffer Size


Machine (botlle/hour) (in bottle)
Name Current Optimal Current Optimal
Depalletizer 48349 48160 1809 92
Cratelogo 43284 39671 1464 690
Depacker 43284 39659 6895 1901
Bottle washer 40389 44971 3851 3825
EBI 37406 39365 270 2129
Filler 37406 37493 1088 1508
Pasterizer 38154 39062 7013 1872
ETIMA 37094 41743 4595 897
Crate-packer 40988 39738 8736 30
Palletizer 43037 42567 n/a n/a
OPI value 71.629 73.660 71.629 71.654

Table 5.3: Optimization of Line 15A

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

Figure 5.2: Failure Rate Analysis Line 15A

Figure 5.3: Repair Rate Analysis(1) Line 15A


66

Figure 5.4: Repair Rate Analysis(2) Line 15A

Figure 5.5: Speed Sensitivity Analysis Line 15A


67

Name Speed Range


Depalletizer [0,54000]
Cratelogo [0,53000]
Depacker [0,53000]
Bottle washer [0,45000]
EBI [0,39400]
Filler [0,37500]
Pasterizer [0,40170]
ETIMA [0,43600]
Crate-packer [0,45700]
Palletizer [0,47700]

Table 5.4: The constraints of machine speeds

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%

4. the average speeds do not exceed the maximum speeds

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

Approximation Line 8A Line 8B


Methods OPI Error OPI Error
GADDX (Line8A/8B) 66.601 1.28% 73.431 -0.15%
GADDX (constant) 66.601 1.28% 74.135 0.81%
GADDX (proportional) 66.639 1.34% 74.172 0.86%
Simulation (exponential) 66.370 0.93% 74.100 0.76%
Actual OPI 65.756 - 73.541 -

Table 5.5: OPI Comparison Line 8A & 8B

Approximation Line 16A Line 16B


Methods OPI Error OPI Error
GADDX (Line16A/16B) 64.242 -2.27% 58.573 0.68%
GADDX (constant) 64.241 -2.27% 58.591 0.71%
GADDX (proportional) 64.263 -2.23% 58.602 0.73%
Simulation (exponential) 63.260 -3.76% 57.150 -1.76%
Actual OPI 65.731 - 58.177 -

Table 5.6: OPI Comparison Line 16A & 16B

5.3 Other Production Lines


In the previous section, we analyzed production line 15A in detail. In this section, we only
present the overview of the performance analysis results of the other production lines. We
analyze production lines 8A, 8B, 16A and 16B. These production lines consist of 6 machines
which are the Depalletizer, Filler, Pasterizer, Labeler, Carton-packer and Palletizer. To
analyze these production lines, we assume that the failure rate functions of the Depalletizer,
Filler and Palletizer are proportional to their speeds, while the failure rate of the Pasteurizer
is constant. For the Labeler and Carton-packer, we use the results from Chapter 2.
Using the parameters as presented in Appendix B, we calculate the OPI values. Table
5.5 and Table 5.6 show the OPI values which are calculated by using GADDX, GADDX
(constant), GADDX (proportional) and simulation. It can be seen that both the analytical
model and the simulation model are able to predict the OPI values of Heineken’s production
lines quite well. From the failure rate analysis and the repair rate analysis, we find that
the improvement of the reliability of the Labeler/ETIMA significantly increases the OPI
values. From the machine speed analysis, it is suggested to increase the speed of the
Labeler/ETIMA to achieve a higher OPI value. Furthermore, we also calculated the optimal
speed configurations as well as the optimal buffer allocations for these production lines by
using the Cross-Entropy method. The results are presented in Appendix C.
Chapter 6

Conclusion

In this thesis, we use an analytical model based on a decomposition method to predict,


approximate and analyze the production lines of Heineken. This model is able to analyze
non-homogeneous flow lines with finite buffers, unreliable machines, deterministic processing
times, operation dependent failures, exponentially distributed up-and-down times behavior.
Since the failure rates of some machines at Heineken depend on their speeds, we also take
this into account into the model. Furthermore, we use the GADDX algorithm which is very
fast and accurate to approximate some performance measures such as throughput, average
buffer content, blocking probability and starvation probability. A friendly software based
on this analytical model was built to help the users to analyze the production lines. This
software is able to calculate the performance measures, to do a buffer analysis, failure and
repair rate analysis, machine speed analysis and to find the optimal speed configurations
of the production lines as well as the optimal buffer allocation. At the end, we use this
software to analyze and optimize some production lines at Heineken.

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.

6.2 Future Work


In this thesis we made some assumptions to build the model such as failure rates and
repair rates are exponentially distributed. For the future improvement, a more advanced
model can be developed by relaxing these assumptions to be more general. If our model
assumes that the yield of the production is always 100%, in the future it is also possible
to take into account a scrapped product/loss quality in the model. For example, we can
include the probability that the machines produce a defect product. Furthermore, we
assumed that the machine can only have one type of failure, in the next step we can
also consider multiple types of failures. Finally, the continuous model can be extended by
including assembly/disassembly components such that the model can handle a large number
of important cases in industry.
Appendix A

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,

prob[U |V or W ] = prob[U |V ]prob[V |V or W ] + prob[U |W ]prob[W |V or W ] (A.0.1)

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

prob(U and V ) = prob[U |V ]prob(V ) (A.0.3)

prob(U and W ) = prob[U |W ]prob(W ) (A.0.4)

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

It is also noted that


prob[V and (V or W )]
prob[V |V or W ] =
prob(V or W )
prob(V )
= (A.0.6)
prob(V or W )
In a similar way,
prob(W )
prob[W |V or W ] = (A.0.7)
prob(V or W )
The proof is complete by combing equations(A.0.5),(A.0.6) and (A.0.7).

Proposition A.0.2. Let A, B, C and D be disjoint events. Then,


prob(B|A or B)prob(A or B)
prob[B or C|A or B or C or D] =
prob(A or B or C or D)
prob(C|C or D)prob(C or D)
+ (A.0.8)
prob(A or B or C or D)
Proof. Since B and C are disjoint, the left term of (A.0.8) can be written as

prob[B or C|A or B or C or D] = prob[B|A or B or C or D]

+ prob[C|A or B or C or D] (A.0.9)

The first term of (A.0.9) is given by


prob[B and (A or B or C or D)]
prob[B|A or B or C or D] =
prob[A or B or C or D]
prob(B)
= (A.0.10)
prob[A or B or C or D]
It is also noted that from equation (A.0.7)
prob(B)
prob[B|A or B] = (A.0.11)
prob(A or B)
Substituting this into the previous equation results in
prob(B|A or B)prob(A or B)
prob[B|A or B or C or D] = (A.0.12)
prob(A or B or C or D)
The second term can be obtained in a similar manner. Combining first term and second

term completes the proof.


Appendix B

Experiment Parameters

In this Appendix we present the parameters which are used for numerical experiments in
Chapter 4 and Chapter 5 .

Case Parameters: (pi , ri , µi ), Ni


1 (3 machines) (0.05, 0.1, 1), i = 1, 2, 3, N1 = N2 = 5
2 (3 machines) (0.002, 0.05, 1), i = 1, 2, 3, N1 = N2 = 5
3 (3 machines) (0.1, 0.1, 1), i = 1, 2, 3, N1 = N2 = 5
4 (3 machines) (0.1, 0.1, 1), i = 1, 2, 3, N1 = N2 = 10
5 (3 machines) (0.01, 0.07, 1), (0.013, 0.1, 1), (0.007, 0.05, 1), N1 = N2 = 10
6 (10 machines) (0.1, 0.1, 1), i = 1, . . . , 10, Ni = 10, i = 1, . . . , 9
7 (12 machines) (0.01, 0.07, 1), i = 1, 4, 7, 10, (0.013, 0.1, 1), i = 2, 5, 8, 11
(0.007, 0.05, 1), i = 3, 6, 9, 12, Ni = 10, i = 1, . . . , 11
8 (17 machines) (0.1, 0.1, 1), i = 1, . . . , 17, Ni = 5, i = 1, . . . , 16
9 (20 machines) (0.1, 0.1, 1), i = 1, . . . , 20, Ni = 5, i = 1, . . . , 19
10 (20 machines) (0.1, 0.1, 1), i = 1, . . . , 20, Ni = 10, i = 1, . . . , 19

Table B.1: Parameter values for comparison with Glassey and Hong (1993)

73
74

Case Parameters: (pi , ri , µi ), Ni


11 (3 machines) (0.01, 0.09, 1), (0.02, 0.09, 1.1), (0.03, 0.09, 1.2), N1 = N2 = 50
12 (3 machines) (0.02, 0.1, 1.1), (0.01, 0.08, 1), (0.01, 0.1, 1), N1 = N2 = 50
13 (3 machines) (0.05, 0.1, 1.5), (0.02, 0.08, 1), (0.03, 0.07, 1.1), N1 = 30, N2 = 70
14 (3 machines) (0.01, 0.08, 1), (0.02, 0.2, 1), (0.05, 0.5, 0.9), N1 = 70, N2 = 30
15 (3 machines) (0.005, 0.05, 1), (0.005, 0.05, 1.1), (0.005, 0.05, 1), N1 = N2 = 50
16 (4 machines) (0.01, 0.08, 1), i = 1, 4, (0.01, 0.07, 1), i = 2, 3, Ni = 50, i = 1, . . . , 3
17 (4 machines) (0.01, 0.09, 1), (0.01, 0.07, 1), (0.01, 0.1, 0.9), (0.01, 0.08, 1),
N1 = N2 = N3 = 50
18 (4 machines) (0.02, 0.08, 1.1), (0.01, 0.07, 1), (0.01, 0.09, 1), (0.01, 0.05, 0.9),
N1 = 40, N2 = 50, N3 = 60
19 (5 machines) (0.01, 0.09, 1), i = 1, 3, 5, (0.02, 0.09, 1.1), i = 2, 4,
Ni = 50, i = 1, . . . , 4
20 (5 machines) (0.01, 0.09, 1), (0.005, 0.009, 0.9), (0.012, 0.09, 1.1), (0.015, 0.09, 1.2),
(0.01, 0.09, 1), N1 = 30, N2 = 40, N3 = 50, N4 = 60

Table B.2: Parameter values for comparison with simulation

Case Parameters: (pi , ri , µi ), Ni


21 (3 machines) (0.01, 0.09, 1), i = 1, 2, 3, N1 = N2 = 50
22 (3 machines) (0.01, 0.09, 1), i = 1, 2, 3, N1 = 20, N2 = 80
23 (3 machines) (0.02, 0.09, 1), (0.01, 0.09, 1), (0.03, 0.09, 1), N1 = N2 = 50
24 (3 machines) (0.02, 0.09, 1), (0.01, 0.09, 1), (0.03, 0.09, 1), N1 = 30, N2 = 70
25 (3 machines) (0.01, 0.09, 1), (0.01, 0.1, 1), (0.01, 0.08, 1), N1 = N2 = 50
26 (3 machines) (0.01, 0.09, 1), (0.01, 0.1, 1.1), (0.01, 0.08, 1), N1 = 70, N2 = 30
27 (3 machines) (0.01, 0.09, 1), (0.02, 0.09, 1.1), (0.03, 0.09, 1.2), N1 = N2 = 50
28 (3 machines) (0.01, 0.09, 1), (0.02, 0.09, 1.1), (0.03, 0.09, 1.2), N1 = 70, N2 = 30
29 (3 machines) (0.01, 0.09, 1), (0.01, 0.09, 1.2), (0.01, 0.09, 1.1), N1 = N2 = 50
30 (3 machines) (0.01, 0.09, 1), (0.01, 0.09, 1.2), (0.01, 0.09, 1.1), N1 = 10, N2 = 80
31 (3 machines) (0.01, 0.08, 1.2), (0.01, 0.09, 1.1), (0.01, 0.1, 1), N1 = N2 = 50
32 (3 machines) (0.01, 0.08, 1.2), (0.01, 0.09, 1.1), (0.01, 0.1, 1), N1 = 30, N2 = 70

Table B.3: Parameter values of 3-machine model

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

Table B.4: Parameter values Case 33


75

Machine Failure rate Repair rate Average Speed Buffer size


Name (per hour) (per hour) (bottle/hour) (in bottle)
Depalletizer 0.1995 10.4758 41072 11364
Filler 2.8599 29.3875 39116 5510
Pasterizer 0.3302 10.5884 39898 6405
ETIMA 6.9412 31.8541 38571 5866
Crate-packer 10.3141 39.1237 49531 7930
Palletizer 0.4083 22.3431 52007 -

Table B.5: Input Production Line 8A

Machine Failure rate Repair rate Average Speed Buffer size


Name (per hour) (per hour) (bottle/hour) (in bottle)
Depalletizer 0.6702 17.7516 40248 7637
Filler 2.5889 27.4351 38331 4212
Pasterizer 0.3170 10.9333 39098 5043
ETIMA 3.8988∗) 30.0412 36843 5977
Crate-packer 5.2876 35.3768 41858 5712
Palletizer 0.3286 18.4479 43951 -
∗) This value becomes 3.5434 if we assume the failure rate is constant or proportional.

Table B.6: Input Production Line 8B

Machine Failure rate Repair rate Average Speed Buffer size


Name (per hour) (per hour) (bottle/hour) (in bottle)
Depalletizer 0.8103 16.1677 48349 1809
Cratelogo 1.6250 57.3408 43284 1464
Depacker 7.3333 62.3070 43284 6895
Bottle washer 2.5532 14.6104 40389 3851
EBI 1.4270 30.7223 37406 270
Filler 1.9570 29.9690 37406 1088
Pasterizer 0.1383 15.9100 38154 7013
ETIMA 4.5838 46.9876 37094 4595
Crate-packer 1.4177∗) 37.6381 40988 8736
Palletizer 0.6120 23.4593 43037 -
∗) This value becomes 1.7765 if we assume the failure rate is constant or proportional.

Table B.7: Input Production Line 15A


76

Machine Failure rate Repair rate Average Speed Buffer size


Name (per hour) (per hour) (bottle/hour) (in bottle)
Depalletizer 0.6929 15.1524 42457 8540
Filler 1.9432 23.0954 40435 4722
Pasterizer 1.0801 17.1538 43306 8041
ETIMA 5.0351 37.1917 40629 7558
Crate-packer 9.4956 45.1286 53922 6039
Palletizer 0.2937 24.8429 56618 -

Table B.8: Input Production Line 16A

Machine Failure rate Repair rate Average Speed Buffer size


Name (per hour) (per hour) (bottle/hour) (in bottle)
Depalletizer 1.2288 28.9817 41373 9211
Filler 2.4842 24.0920 39403 5099
Pasterizer 0.9335 13.4260 40191 8471
ETIMA 7.4975 37.1482 41245 10495
Crate-packer 11.8658∗) 38.8106 52011 7161
Palletizer 0.6957 20.5631 54611 -
∗) This value becomes 11.2277 if we assume the failure rate is constant or proportional.

Table B.9: Input Production Line 16B


Appendix C

Other Results

Below, we present the other results of performance analysis in Heineken. As mentioned


before we applied the cross-entropy method to find the optimal speed configurations and
optimal buffer sizes. The tables below show the optimal speed configurations, and buffer
sizes as well as the OPI values of production line 8A, 8B, 16A and 16B.

Average Speed Buffer Size


Machine (bottle/hour) (in bottle)
Name Current Optimal Current Optimal
Depalletizer 41072 38835 11364 60
Filler 39116 39179 5510 1832
Pasterizer 39898 40699 6405 6679
ETIMA 38571 41998 5866 7111
Crate-packer 49531 54908 7930 60
Palletizer 52007 47878 n/a n/a
OPI value 66.601 72.235 66.601 66.601

Table C.1: Optimization of Line 8A

77
78

Average Speed Buffer Size


Machine (bottle/hour) (in bottle)
Name Current Optimal Current Optimal
Depalletizer 40248 41933 7637 744
Filler 38331 38396 4212 3009
Pasterizer 39098 40771 5043 6994
ETIMA 36843 41828 5977 7691
Crate-packer 41858 47952 5712 9
Palletizer 43951 41531 n/a n/a
OPI value 73.431 79.035 73.431 73.538

Table C.2: Optimization of Line 8B

Average Speed Buffer Size


Machine (bottle/hour) (in bottle)
Name Current Optimal Current Optimal
Depalletizer 42457 46819 8540 2416
Filler 40435 40497 4722 6050
Pasterizer 43306 45900 8041 11780
ETIMA 40629 45852 7558 6957
Crate-packer 53922 54473 6039 43
Palletizer 56618 57708 n/a n/a
OPI value 64.242 66.775 64.242 64.397

Table C.3: Optimization of Line 16A

Average Speed Buffer Size


Machine (bottle/hour) (in bottle)
Name Current Optimal Current Optimal
Depalletizer 41373 44727 9211 1891
Filler 39403 39489 5099 6422
Pasterizer 40191 45402 8471 12837
ETIMA 41245 46093 10495 10159
Crate-packer 52011 46545 7161 268
Palletizer 54611 50057 n/a n/a
OPI value 58.573 61.229 58.573 58.820

Table C.4: Optimization of Line 16B


Appendix D

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.

D.1 Performance Analysis


Performance Analysis and Optimization feature is able to calculate some performance mea-
sures such us throughput, average buffer content, the percentage of the average buffer
content, blocking probabilities and starvation probabilities. The standard performance
measurement, OPI NONA, used by Heineken is also included. Moreover this feature can
also help Heineken to optimize their production lines. The optimization consists of finding
an optimal speed configuration and determining the minimum buffer allocation to obtain
the desired throughput. The details of this feature (see the red circles in the picture) are
the following. See Figure D.1.

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

Figure D.1: Performance Analysis Interface

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

Figure D.2: Excel file input data

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’.

D.2 Sensitivity Analysis


The second feature of this software is sensitivity analysis. This feature will appear if the
users press the button ’Sensitivity Analysis’ in the performance analysis and optimization
feature before. The following explains the red circles in the Figure D.2.

Figure D.3: Sensitivity Analysis Interface

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

[1] R. Alvarez-Vargas, Y. Dallery, R. David, ” A Study of the Continuous Flow Model of


Production Lines with Unreliable Machines and Finite Buffers”, Journal of Manufac-
turing Systems, Volume 13, No.3 pp. 221-234, 1994

[2] M. H. Burman, ” New Results in Flow Line Analysis”, PhD thesis, MIT, June 1995

[3] M. H. Burman, S. Gershwin, abd C. Suyematsu, ” Hewlett-Packard Uses Operation


Research to Improve the Design of a Printer Production Line”, INTERFACE Vol. 28
No.1 pp.24-36, 1998

[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

[12] De Koster, ”Estimation of line efficiency by aggregation”, International Journal of


Production Research, 25:615-626, 1987

[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

[15] R. Levantesi, A. Matta, T. Talio, ”Performance evaluation of continuous production


lines with machines having different processing times and multiple failure modes”,
Performance Evaluation 51: 247-268, 2003

[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

[18] H. T. Papadopoulos and C. Heavey, ”Queueing theory in manufacturing systems analy-


sis and design: A Classification of models for production and transfer lines”, European
Journal of Operation Research 92: 1-27, 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

You might also like