Selection Of Inventory Control PointsIn Multi-Stage Pull Production Systems
Item Type text; Electronic Dissertation
Authors Krishnan, Shravan K
Publisher The University of Arizona.
Rights Copyright © is held by the author. Digital access to this materialis made possible by the University Libraries, University of Arizona.Further transmission, reproduction or presentation (such aspublic display or performance) of protected items is prohibitedexcept with permission of the author.
Download date 05/06/2018 07:54:41
Link to Item http://hdl.handle.net/10150/193725
SELECTION OF INVENTORY CONTROL POINTS IN MULTI-STAGE
PULL PRODUCTION SYSTEMS
By
SHRAVAN K. KRISHNAN
A Dissertation Submitted to the Faculty of the
DEPARTMENT OF SYSTEMS AND INDUSTRIAL ENGINEERING
In Partial Fulfillment of the Requirements for the Degree of
DOCTOR OF PHILOSOPHY
In the Graduate College
THE UNIVERSITY OF ARIZONA
2 0 0 7
2
THE UNIVERSITY OF ARIZONA
GRADUATE COLLEGE
As members of the Dissertation Committee, we certify that we have read the dissertation
prepared by Shravan K. Krishnan
entitled Selection of Inventory Control Points in Multi-Stage Pull Production Systems
and recommend that it be accepted as fulfilling the dissertation requirement for the
Degree of Doctor of Philosophy.
_______________________________________________________________________ Date: 4/22/07
Ronald G. Askin
_______________________________________________________________________ Date: 4/22/07
Young Jun Son
_______________________________________________________________________ Date: 4/22/07
Jeffrey Goldberg
_______________________________________________________________________ Date: 4/22/07
Srini Raghavan
Final approval and acceptance of this dissertation is contingent upon the candidate‟s
submission of the final copies of the dissertation to the Graduate College.
I hereby certify that I have read this dissertation prepared under my direction and
recommend that it be accepted as fulfilling the dissertation requirement.
________________________________________________ Date: 4/22/07
Dissertation Director: Ronald G. Askin
________________________________________________ Date: 4/22/07
Dissertation Director: Young Jun Son
3
STATEMENT BY AUTHOR
This dissertation has been submitted in partial fulfillment of requirements for an
advanced degree at The University of Arizona and is deposited in the University Library
to be made available to borrowers under rules of the Library.
Brief quotations from this dissertation are allowable without special permission, provided
that accurate acknowledgment of source is made. Requests for permission for extended
quotation from or reproduction of this manuscript in whole or in part may be granted by
the head of the major department or the Dean of the Graduate College when in his or her
judgment the proposed use of the material is in the interests of scholarship. In all other
instances, however, permission must be obtained from the author.
SIGNED: Shravan K. Krishnan
4
ACKNOWLEDGEMENTS
I would like to especially thank my advisor Dr. Ronald Askin, whose guidance and
valuable suggestions helped me to complete my thesis. I would also like to thank my co-
advisor, Dr. Young-Jun Son and my committee members, Dr. Jeffrey Goldberg and Dr.
Srini Raghavan for expressing their willingness to serve on my committee.
I am forever indebted to my parents and my sister for their continuous support and
encouragement.
Finally, I extend my thanks to all my friends in the Systems and Industrial Engineering
Department at the University of Arizona for all their help, especially Karthik Krishna
Vasudevan, who helped me with the Arena models.
5
TABLE OF CONTENTS
ABSTRACT .................................................................................................................................................... 9
CHAPTER 1: INTRODUCTION .................................................................................................................. 11
1.1 BACKGROUND ..................................................................................................................................... 11
1.1.1 A Brief Introduction to Supply Chains ........................................................................................ 13
1.1.2 Production Control Strategies .................................................................................................... 15
1.1.3 Reorder Point (ROP) Models ...................................................................................................... 18
1.1.4 Materials Requirements Planning (MRP) Systems ..................................................................... 19
1.1.5 Kanban Systems .......................................................................................................................... 20
1.1.5.1 Single-card kanban system .................................................................................................................. 21
1.1.5.2 Dual-card kanban system .................................................................................................................... 21
1.1.6 CONWIP Systems ....................................................................................................................... 22
1.1.7 Advantages of Pull Systems over MRP ....................................................................................... 23
1.1.8 Requirements of Pull Systems ..................................................................................................... 24
1.1.9 A Brief Introduction to Queuing Theory ..................................................................................... 25
1.1.9.1 Queuing system ................................................................................................................................... 25
1.1.9.2 Queuing models................................................................................................................................... 25
1.2 MOTIVATION BEHIND OUR RESEARCH ................................................................................................ 27
CHAPTER 2: LITERATURE REVIEW ....................................................................................................... 29
2.1 REORDER POINT RESEARCH ................................................................................................................ 30
2.2 MRP RESEARCH .................................................................................................................................. 37
2.3 KANBAN RESEARCH ............................................................................................................................ 40
2.4 CONWIP RESEARCH ........................................................................................................................... 43
2.5 PROBLEM STATEMENT ......................................................................................................................... 47
CHAPTER 3: SINGLE PRODUCT, DETERMINISTIC MODEL .............................................................. 49
3.1 MODEL 1: CONSTANT CONTAINER SIZE .............................................................................................. 49
3.1.1 Notation ...................................................................................................................................... 50
3.1.2 Model Formulation ..................................................................................................................... 51
3.1.3 Selecting Control Points ............................................................................................................. 53
3.1.4 Choosing Container Size............................................................................................................. 58
3.2 MODEL 2: SECTION DEPENDENT CONTAINER SIZE .............................................................................. 65
6
TABLE OF CONTENTS -- Continued
3.2.1 Solution Procedure ..................................................................................................................... 66
3.3 COMPUTATIONAL RESULTS ................................................................................................................. 71
3.3.1 Experiment Design ...................................................................................................................... 71
3.3.2 Discussion of Results .................................................................................................................. 72
3.3.3 Effect of Value Added Structure on Number of Control Sections ............................................... 79
CHAPTER 4: MULTI-PRODUCT STOCHASTIC MODEL....................................................................... 82
4.1 INTRODUCTION .................................................................................................................................... 82
4.2 ASSUMPTIONS...................................................................................................................................... 83
4.3 MODEL FORMULATION ........................................................................................................................ 84
4.4 DETERMINING THE CONTROL POINTS .................................................................................................. 92
4.5 DETERMINING CONTAINER SIZES ........................................................................................................ 95
4.6 COMPUTATIONAL RESULTS ................................................................................................................. 98
4.6.1 Experiment Design ...................................................................................................................... 98
4.6.2 Discussion of Results ................................................................................................................ 102
4.6.2.1 Effect of factors on cost and control structure ................................................................................... 102
4.6.2.2 Effect of holding cost distribution ..................................................................................................... 105
CHAPTER 5: MODEL VERIFICATION AND VALIDATION ............................................................... 110
5.1 SIMULATION MODEL LOGIC ............................................................................................................... 110
5.1.1 Determining the Number of Kanbans ....................................................................................... 110
5.1.2 Creation of Orders: .................................................................................................................. 111
5.1.3 Simulation Logic ....................................................................................................................... 113
5.1.4 Creation of Entities Corresponding to Containers of Parts and Workstation Logic ................ 114
5.2 MODEL VALIDATION ......................................................................................................................... 118
5.2.1 Methods to Ensure That Both Models Are Equivalent .............................................................. 118
5.2.2 Single Product, Deterministic model ........................................................................................ 119
5.2.3 Single Product Stochastic Model .............................................................................................. 122
5.2.4 Multi Product Stochastic Model ............................................................................................... 125
CHAPTER 6: SUMMARY AND CONCLUSIONS ................................................................................... 129
APPENDIX A: CODE ................................................................................................................................ 131
APPENDIX B: DESIGN TABLE FOR EXPERIMENTS IN SECTION 4.6.2 .......................................... 150
REFERENCES ............................................................................................................................................ 153
7
LIST OF ILLUSTRATIONS
Figure 1.1: The supply chain process ............................................................................... 14
Figure 1.2: Pure pull, CONWIP, and coordinated push systems ...................................... 17
Figure 2.1: System under consideration............................................................................ 48
Figure 3.1: Shortest path representation of Model 1........................................................ 53
Figure 3.2: Shortest path representation for a two-stage control problem ........................ 55
Figure 4.1: Hypothetical structure where stages 4 and 6 are control points ..................... 89
Figure 4.2: Graph showing holding cost at each stage for a 20 stage system with linear
growth. The dotted line indicates a holding cost ratio of 20, while the solid line
indicates a holding cost ratio of 6. .......................................................................... 100
Figure 4.3: Graph showing holding cost at each stage for a 20 stage system with delayed
capitalization. The dotted line indicates a holding cost ratio of 20, while the solid
line indicates a holding cost ratio of 6. ................................................................... 101
Figure 4.4: Graph showing the effect of each factor on system cost. ............................. 104
Figure 4.5: Graph showing the effect of each factor on system control structure. ......... 105
Figure 4.6: Graph showing the combined effect of transportation time and number of
products on the average cost. .................................................................................. 107
Figure 4.7: Graph showing the combined effect of transportation time and number of
products on the ratio of total cost to the number of control points. ........................ 108
Figure 4.8: Graph showing the combined effect of number of stages and number of
products on the system control structure. ............................................................... 109
Figure 5.1: Arrival of orders ........................................................................................... 112
Figure 5.2: Signal code 231 logic ................................................................................... 112
Figure 5.3: Workstations ................................................................................................. 114
Figure 5.4: Logic for signal code: 123 ............................................................................ 116
8
LIST OF TABLES
Table 2.1: Summary of previous relevant research .......................................................... 36
Table 3.1: Comparison of models 1 and 2 ........................................................................ 70
Table 3.2: Comparison of results for model 1 and model 2 .............................................. 74
Table 3.3: Combination of Factors for which model 1 case 1 gives a two-control point 75
Solution ............................................................................................................................. 75
Table 3.4: Combination of Factors for which model 1 case 2 gives a two-control point
solution ...................................................................................................................... 76
Table 3.5: Combination of Factors for which model 2 case 1 gives a two-control point
solution ...................................................................................................................... 77
Table 3.6: Combination of Factors for which model 2 case 2 gives a two-control point
solution ...................................................................................................................... 78
Table 3.7: Summary of Experiments in Section 4.3 ......................................................... 81
Table 4.1: Summary of experiments described in Section 4.6.1 .................................... 103
Table 5.1: Results of experiments described in Section 5.2.2 ........................................ 121
Table 5.2: Results for a single product with Exponential demand. ................................ 124
Table 5.3: Results for a single product with Normal demand. ....................................... 125
Table 5.4: Results of experiments described in Section 5.2.4 ........................................ 127
Table A2.1 Effect of factors on number of control points .............................................. 151
Table A2.2 Effect of factors on system cost ................................................................... 152
9
ABSTRACT
We consider multistage, stochastic production systems using pull control for production
authorization in discrete parts manufacturing. These systems have been widely
implemented in recent years and constitute a significant aspect of lean manufacturing.
Extensive research has appeared on the optimal sizing of buffer inventory levels in such
systems. However the issue of control points, i.e. where in the multistage sequence to
locate the output buffers, has not been addressed for pull systems. Allowable
container/batch sizes, optimal inventory levels, and ability of systems to automatically
adjust to stochastic demand depend on the location of these control points.
We begin by examining a serial production system producing a single part type. Two
models are examined in this regard. In the first, container size is independent of the
control section, while in the second, container sizes are section dependent. Additionally, a
nesting policy is introduced which introduces the additional constraint that the container
size in a section is related to the container size in any other section by a power of two.
Necessary and sufficient conditions are derived for ensuring that a single, end-of-line
accumulation point is optimal. When this is not the case, an algorithm is provided to
determine the optimal control points. Effects of factors such as value added structure,
fixed location cost, setup and material handling cost, kanban collection time, and material
transportation time on the control structure are investigated. Results are extended to
10
determine the optimal container size when lead time at a stage is a concave function of
container size.
The study is then extended to a multi-product case. Queuing aspects are introduced to
account for the interaction between the different part types. The queuing model used is a
modification of the Decomposition/Recomposition model described in Shantikumar and
Buzacott (1981). The models in the chapter do not assume a serial structure any longer.
Additionally, general interarrival and service time distributions are considered. The effect
of number of products, demand arrival distribution, value added structure, and number of
stages on the control structure and system cost is investigated.
Finally, a simulation model is developed in Chapter 5 to verify and validate the
mathematical models described in Chapters 3 and 4.
11
CHAPTER 1: INTRODUCTION
1.1 Background
A manufacturing firm can be thought of as a set of resources and procedures involved in
converting raw material into products and delivering them to the customers. Thus, from
the above definition, among the most important functions of a firm are production and
logistics. Production includes decisions relating to the timing and quantity of production.
The firm also has to decide when to order raw materials from its suppliers. All these
issues come under the realm of inventory control. Single and multi item inventory control
has been widely studied in the past, dating back to 1913 when Harris introduced the EOQ
model. Several distribution strategies too have been examined but they are beyond the
scope of this research. Some of them are discussed in Krishnan (2003) and Krishnan and
Askin (2006), which concentrated on the entire supply chain, encompassing production
and distribution.
A production and distribution system consists of several stages or echelons where each
stage aids in the smooth flow of goods from production to consumption. Beginning with
raw materials, value is added at each stage as the materials are converted into finished
products. The intermediate stages may or may not hold inventory depending on their
function. This type of a system is referred to as a Multi-Echelon System or a Supply
Chain, as it has come to be known. Over the years, the study of multi-echelon systems
12
has generated considerable interest among researchers. The research in this area can find
its roots in the classical work of Clark and Scarf (1960) and Scarf (1960). However much
of the research carried out in this area focuses mainly on simple two-stage systems. In
general a production/distribution system consists of many stages. Viewed from a high
level, a typical system for a large manufacturer may, for instance, consist of six stages,
three for production, and three for distribution. Such would be the case for raw materials,
parts fabrication, and assembly, followed by distribution centers, warehousing, and
retailers. However, within fabrication and assembly, there may be many individual value-
added and transport operations. This research focuses on the control of inventory within a
facility, but the results also provide insights for multi-echelon systems with physically
disbursed stages. In this chapter, we define the relevant terms pertaining to production
control strategies. A brief introduction to supply chain management is also provided. In
Chapter 2, we review some of the relevant research in this area. In Chapter 3, we answer
the important question of where to locate inventory buffers in deterministic, single-
product pull-type serial production systems. Chapter 4 extends these results to a more
general multi-product setting with stochastic demand and interarrival and service times,
and a general structure as opposed to a serial structure. Chapter 5 uses simulation models
to validate the mathematical models described in Chapters 3 and 4.
13
1.1.1 A Brief Introduction to Supply Chains
Various analogous definitions have been proposed for the supply chain. Min and Zhou
(2002) define the supply chain as:
“an integrated system which synchronizes a series of inter-related business processes in
order to: (1) acquire raw materials and parts; (2) transform these raw materials and parts
into finished products; (3) add value to these products; (4) distribute and promote these
products to either retailers or customers; (5) facilitate information exchange among
various business entities (e.g. suppliers, manufacturers, distributors, third-party logistics
providers, and retailers).”
Lee and Billington (1995) have a similar definition:
“A supply chain is a network of facilities that procure raw materials, transform them
into intermediate goods and then final products, and deliver the products to customers
through a distribution system. “
Swaminathan et al. (1996) define the supply chain to be:
“a network of autonomous or semi-autonomous business entities collectively
responsible for procurement, manufacturing, and distribution activities associated
with one or more families of related products. “
14
In short, a supply chain can be said to consist of “all the stages involved, directly or
indirectly, in fulfilling a customer request.” (Chopra and Meindl (2001)).
In general, the supply chain can be viewed as a network of facilities that can be
characterized by a flow of goods and information. Materials flow forward as they are
transformed into goods. In most cases the information flows are backward, from retail to
suppliers. However, there has been a recent surge in interest in forward flows of
information, from supplier to retailer. Refer to Chen (2003) for details. A general supply
chain configuration with forward flows of material and information sharing is shown in
Fig. 1.1.
Suppliers
Customers
Retailers
Distributors
Manufacturers
Materials management
Outbound logistics
Physical Distribution
Inbound logistics
Flow of goods
Flow of information
Product
Assembly
Figure 1.1: The supply chain process
While our research could be applied to the high level stages shown in Figure 1.1, we are
primarily concerned with the operations within a manufacturing facility for fabrication or
15
assembly. In the following sections we provide an overview of the systems and control
elements within these environments.
1.1.2 Production Control Strategies
Single stage production control models frequently use Reorder Point (ROP) inventory
models. These models are based on the EOQ model and will be discussed briefly in the
following section. Production and inventory control strategies used in multi-echelon
systems can be divided into three basic categories depending on the protocol for
authorizing production or distribution and the timing of process execution. A push system
is one in which processes are executed based on a centrally coordinated plan, often
external to the local process and based on demand forecast. Production authorization is
based on upstream conditions or centralized control and the approach is to actually plan
production levels. Push systems can be of two types: coordinated push systems and open
systems. A coordinated push system is one in which an external coordinator uses
forecasts to coordinate production and distribution decisions for all stages. An open
system reacts to the arrival of orders. Once released, orders are executed as soon as
resources are available. A Materials Requirement Planning (MRP) system is a commonly
used push system. A pull system is one in which processes are executed in response to
status changes in the downstream process. In a pull-based system, production is demand
driven so that it is coordinated with actual customer demand rather than a forecast. In
pull systems, the level of inventory in the system is controlled. Production authorization
16
is determined by downstream conditions. Commonly used Kanban pull systems control
the level of each part in between inventory storage locations. CONWIP (Constant Work-
In-Process) is a hybrid system. Orders are released as in a pull system but thereafter,
follow a push protocol generally. The three systems are shown Fig. 1.2. The ROP model
and Kanban, MRP and CONWIP systems will be discussed in the following sections.
17
`
Pull system
Demand forecasts
(possibly)
Manufacturing stage
Flow of material
Flow of information
CONWIP system
Information
Material
Base stock system
Orders
Demand
information
Coordinated Push system
Coordinator
Production/ distribution
decisions
Demand
information
Buffer
Figure 1.2: Pure pull, CONWIP, and coordinated push systems
18
1.1.3 Reorder Point (ROP) Models
Reorder point models are inventory control models that determine how many parts to
order or produce and the timing of orders. The simplest model of this type is the
Economic Order Quantity (EOQ) model. This model specifies a (Q, r) inventory policy,
which indicates that an order for Q units is placed when the inventory level falls below r
units. The assumptions of the model are as follows:
1. Known, static, continuous, deterministic demand
2. The fixed cost to place an order is constant
3. Lead times are deterministic and replenishment is instantaneous
4. Shortages are not allowed
5. All replenishment orders are for the same quantity
6. Continuous inventory tracking
The model determines the optimal order quantity and timing by minimizing the total cost.
Total cost is the sum of the inventory holding cost, fixed cost of placing and order, and
total purchase cost. Thus,2
*AD
Qh
and r D , where A is the fixed cost to place an
order, D is the demand rate in units per time, h is the inventory holding cost per unit-time,
τ is the lead time for order delivery. This type of policy is known as a Continuous Review
Policy, since inventory level is constantly observed and as soon as it drops to r units, an
order for Q units is placed. A periodic review model, on the other hand, is a (R, r, t)
model where inventory level is observed every t time periods, and, if it has dropped to r
19
units, an order is placed to bring the inventory position to R. EOQ-type models are used
for bulk materials and make-to-stock environments. More sophisticated continuous and
periodic review models are discussed in Askin and Goldberg [2002] and other production
planning textbooks. Section 2.1 contains a review of these models applied to multi-stage
production systems.
1.1.4 Materials Requirements Planning (MRP) Systems
An MRP system, as mentioned earlier, is a type of push system. In an MRP system,
orders for all the component parts that go into a product are timed so that they coincide
with the production schedule of that product. This is the basis for a dependent demand
relationship. In the best case, there is very little safety stock carried, since production is
carried out only when parts are required. This system is designed for low to intermediate
volume production with moderate to high product variety.
The various data requirements of an MRP system include:
1. Item master data for each part: this contains data pertaining to the annual
demand, order quantity, cost, and scrap rate for each product. In addition, for
internally created products, there is a link to engineering drawings and process
plans.
2. Inventory status records for each item: contains data relating to on-hand
inventory for each item.
20
3. Lead times: this helps in determining when to place an order for each item.
Lead times are assumed to be deterministic.
4. Bill of materials: bill of materials is a listing of all the materials and
components required to make each item produced in the factory. This includes
all manufactured parts, subassemblies and end items.
5. Master Production Schedule (MPS): this shows planned production quantities
for each end item in each period of the planning horizon.
MRP systems suffer from several inherent problems, some of which are discussed in
Section 2.2.
1.1.5 Kanban Systems
A kanban system, as mentioned earlier, is a type of pull system. In this system,
production authorization to produce a part at a workstation comes from the downstream
stage. This production authorization comes in the form of a kanban card (virtual or
physical). Each kanban card authorizes the production of one container of parts. Each
workstation is in charge of keeping a full container of parts in its output buffer for each
kanban allocated to it. Thus, the maximum number of parts (units) at any given time at a
workstation is given by the product of the number of kanbans and the number of parts
authorized by each kanban (usually, container size). There are two important types of
kanban systems, single-card kanban systems and dual-card kanban systems. These
systems are briefly discussed in the next two sections.
21
1.1.5.1 Single-card kanban system: This system is preferred when workstations are close
to each other. In this system, there is a single set of kanbans, known as production
ordering kanbans (POK). When an operator at work station i produces a container of
parts (after receiving the authorization to produce it), he puts the kanban associated with
it into the container and sends the container to the output buffer. When the operator at
workstation i+1 requires the parts, he withdraws the container from the output buffer of
workstation i and places the kanban into a collection box. Kanbans are regularly collected
from the collection box and arranged in a schedule board. When the operator at
workstation i becomes free, he checks the schedule board for kanbans.
1.1.5.2 Dual-card kanban system: A dual kanban system is used when distances between
workstations are large. In addition to production ordering kanbans (POKs), this system
uses withdrawal ordering kanbans (WOKs). The system has two loops, the first loop is
the same as in Section 1.1.4.1 – the POKs move from the input buffer to the output buffer
to the collection box to the schedule board. The WOKs loop from the input buffer of
stage i+1 to their own collection box at i+1 to the output buffer of stage i, back to the
input buffer of stage i+1. The material handler at stage i+1 checks the collection box
frequently. If there are any WOKs present, the material handler moves to the output
buffer at stage i to collect containers of parts authorized by the kanban. It removes the
POKs from the container and places them in the collection bin and places the WOKs into
the container instead. Thus, production and transportation are both controlled by this
22
method. Workstations have an input buffer for their raw material and an output buffer for
their finished product.
A review of literature related to kanban systems is carried out in Section 2.3.
1.1.6 CONWIP Systems
CONWIP (Constant Work-In-Process) could be thought of as a hybrid system. Orders are
released as in a pull system but thereafter, follow a push protocol generally. Like the
kanban system, a CONWIP system maintains a constant WIP in the system. However,
unlike a kanban system that has a WIP cap at each stage and for each part, a CONWIP
system maintains a WIP cap at the system level, that is, there is a total of N parts in the
system at all times (irrespective of the part type). A backlog list is maintained, which
contains a list of parts to be manufactured. As soon as one batch completes processing,
the next batch on the backlog list for which all raw materials are available is sent for
processing. Whereas in a kanban system the internal distribution of jobs among part types
and workstations is controlled, only total inventory is controlled in a CONWIP system.
This makes it easier to manage the system. Especially when there are a large number of
parts to produce, a CONWIP system is easier to manage than a kanban system. On the
other hand, a CONWIP system requires more storage space, since, all N jobs need to be
potentially accommodated at a workstation. Some of the methods for determining job
23
ordering in the backlog list are discussed in Section 2.4. Variants of CONWIP exist such
as only controlling the inventory upstream of a bottleneck workstation.
1.1.7 Advantages of Pull Systems over MRP
A pull system has several advantages over an MRP system. Some of these advantages are
briefly discussed in this Section.
1. Efficiency - pull systems attain the same throughput as push systems with less
average WIP.
2. Ease of control – it is easier to set WIP levels than to set release rates (throughput)
3. Robustness - pull systems are less affected by data errors and random events than
push systems. They are also self adjusting to minor variations.
4. Low Information System Requirement – due to the manner in which they are
designed, pull systems have lower information requirements than push systems.
5. Support for improving quality – since WIP levels are low in pull systems, they
not only require quality in order to prevent disruptions, but also promote it by
shortening queues and quickening defect detection.
(Source: Askin & Goldberg (2002) and Hopp & Spearman (1996))
24
1.1.8 Requirements of Pull Systems
Pull systems, although they have several advantages over MRP systems, operate under
some limitations. Some of the requirements of pull systems (specifically kanban) are as
follows:
1. Low to Moderate Product Variety – a kanban system is suited for high volume
production for a few products. As the number of products increases, the number
of kanbans increases too, making it more difficult to manage the system.
2. Moderate to High Volume Production – a kanban system is suited for high
volume production. Excessive changes in demand may lead to inefficiencies.
3. Low Demand Variability – while a kanban system can correct itself for small
changes in demand, larger variability will require changing the number of
kanbans. A CONWIP system takes care of this during the backlog calculations.
4. Reliable Processes (Predictable Lead Time) – because pull systems maintain low
WIP levels, they require that lead times be predictable. Excessive variations in the
lead time may result in inefficiencies in the system
5. Raw material availability (Co-location) – pull systems need frequent, small orders
of raw material, rather than infrequent bulk orders. This is facilitated by having
supplier parks located close to the manufacturing plant.
25
6. High Quality Requirements (lower setup times, higher machine availability, lower
defect percentage) – as a result of low WIP levels maintained, pull systems
demand high quality.
7. Small setup times – since pull systems react instead of planning, a pull system
requires low setup times to rapid response and low inventory levels.
1.1.9 A Brief Introduction to Queuing Theory
Queuing theory is extensively used to analyze manufacturing systems and supply chains.
In this Section, we provide a brief introduction to some of the concepts.
1.1.9.1 Queuing system: A queuing system protocol provides the basis for how items
enter and leave the queue. Some examples of queuing system protocols are:
FIFO (First In First Out) also known as FCFS (First Come First Serve) – parts are
processed in the order in which they arrive.
LIFO (Last In First Out) also known as LCFS (Last Come First Serve) – similar
to a stack where the last part to arrive is served first.
Priority Queue where certain parts have higher processing priority than others.
Random order
1.1.9.2 Queuing models: Queuing models are used to model systems. They describe the
following characteristics of the queuing systems:
26
Part arrival process: this describes the arrival distribution, whether parts arrive
individually or in batches.
Service times
Server capacity: the number of available servers.
Queue capacity: the number of available spaces in the queue.
Queue discipline: as explained in section 1.1.9.1.
Kendall introduced a shorthand notation to characterize a range of these queuing models.
It is a three-part code a/b/c. The first letter specifies the interarrival time distribution, the
second the service time distribution, while the third letter indicates the number of servers.
For example, a (b) can be „M‟, which indicates an exponential interarrival (service time)
distribution, „D‟, which indicates a deterministic times or „G‟, which indicates a general
distribution. The parameter c can be any number equal to or greater than 1. In case the
queue has a finite capacity, a fourth letter is added to the notation to indicate queue
capacity, for example, M/M/1/5, which means that interarrival and service times are
exponential, there is a single server, and the queue has room only for five parts.
Some of the performance measures include
1. The distribution of number of customers in the system
2. The distribution of service times of customers in the system and in queue (amount
of work in the system).
3. The distribution of the busy period of the server
27
An extensive theory survey of queuing theory in manufacturing systems has been carried
out by Govil and Fu (1999). Little‟s Law (1961) relates the queue length to service rate
and waiting time for systems in steady state.
1.2 Motivation Behind Our Research
Extensive research has been carried out on pull control based production systems as one
aspect of lean manufacturing. In such systems, each inventory storage buffer is
designated with a desired level of inventory for each part type. This level is typically
defined as a desired number of containers with each container holding a designated
quantity of the product. This quantity is referred to as the container size. Following the
procedure popularized by the successful Toyota Production System, “kanbans” or cards
are used to authorize production. Each kanban corresponds to one container. Kanbans
are kept in the output buffer attached to a full container of parts. When the first part from
that container is required by the succeeding work area, the container is removed from
storage and the kanban is recirculated to the production station to authorize replenishment
of those items. The system automatically paces and prioritizes orders within workstations
based on downstream consumption. This makes the system easy to implement and self-
adjusting. If the proper level of kanbans is selected, and the replenishment and demand
processes are highly predictable and deterministic, then the system can be operated such
that a completed container of parts reenters the output buffer just in time for its need at
28
the downstream workstation. Hence, such systems are often considered part of the JIT
(Just-in-Time) production control philosophy.
Most of the previous pull-system research focused on determining the number of
kanbans, with lesser emphasis placed on container sizes and product sequence in a just-
in-time (JIT) shop. However, in a multistage system, it is not necessary to include an
output buffer at each stage. Within control sections (the area or sequence of workstations
between buffers), a push philosophy can be incorporated. Once production is authorized
by the removal of a container from the control sections‟ output buffer, a replenishment
order is released to the first workstation in the control section. These orders then have
authorization to flow through each stage of the control section until again reaching the
output buffer, i.e. they are pushed through without waiting for a customer request. The
issue of where to locate control points, although important, has not been effectively
addressed in the past. In our study, we attempt to find a set of production stages in a JIT
system that will act as inventory control points. These control points are the only stages
that store inventory. In addition, we determine the number of kanbans and container
sizes that should be used in specific conditions. Chapter 3 deals with a single product
deterministic case. In Chapter 4, this is extended to a multi-product stochastic case.
29
CHAPTER 2: LITERATURE REVIEW
During the last few years there has been considerable interest in studying problems
pertaining to inventory management in multistage production/distribution systems.
Multistage problems are complex and the same solution procedures used for single-stage
systems are not appropriate to be used to solve them. According to Clark and Scarf
(1960), in studying single-stage systems, the main assumption that was made was that
when the installation requests a shipment of stock, this shipment is delivered in a fixed or
random length of time, but the time lag is independent of the order placed. However there
are several situations where this assumption may not be valid and hence the need to study
multi-echelon systems arose. It has also been shown by Muckstadt and Thomas (1980)
that specialized multi-level methods may reduce the total costs substantially over general
methods for single stage systems. In this Chapter we first review research in multistage
systems using general reorder point policies. Next we will discuss research on MRP,
Kanban, and CONWIP systems.
30
2.1 Reorder Point Research
One of the first studies in this area is the seminal work of Clark and Scarf (1960), who
analyze a serial system under a periodic review policy and uncertain end-item demand.
They show that for such a system, the problem can be decomposed and the optimal policy
at each echelon can be computed separately to get approximate solutions that provide
upper and lower bounds on the actual costs. Each echelon in this case is linked by a
penalty function, which represents the cost of failing to fulfill a downstream stage‟s
order. The late eighties and the early nineties saw a surge in papers related to these areas.
For a comprehensive review of the research in this area, the reader is referred to Axsater
(1993). In this Section we summarize some of the recent research in this area and classify
the models based on certain characteristics, such as, whether a periodic review or a
continuous review policy is used, whether end-item demand is stochastic or deterministic,
and whether a finite or infinite horizon is used. In addition, some of the recent models for
solving this problem will be discussed.
We begin by looking at a serial system with N stages. For this system, it has been shown
that the base quantities at different stages follow the integer ratio property, i.e., the base
quantity at a stage is an integer multiple of the base quantity at the next stage (assuming
that demand occurs at the last stage). Clark and Scarf (1960, 1962) examine the problem
of determining optimal purchasing quantities using base-stock policies in a finite-horizon,
by decomposing the problem and solving for the optimal quantity at ever stage. They
31
show that in the absence of economies of scale, these policies are optimal. A base stock
system is similar to a pull system. It can be defined as an (S, S) order up to policy where
each stage acts in unison to replace consumed stock. An (s, S) inventory system is one
where whenever inventory level falls below s, an order is placed to raise the level up to S.
In (S, S), once a retailer sells one unit of product, he places an order with the previous
stage to replenish its stock. Thus the stock level is kept constant. The model makes the
following assumptions:
The cost of purchasing and shipping an item from any stage to the next will be
linear, without any setup cost. The only exception to this is at the first stage.
At the last stage, a linear holding cost and shortage cost will be operative.
Excess demand is backlogged.
Federgruen and Zipkin (1984) extend this model to an infinite horizon and prove that the
results of Clark and Scarf (1960) are applicable for this case. Roundy (1986) and
Maxwell and Muckstadt (1985) devise simple policies that are within 2% of the optimal
solution. This results from restricting order intervals to powers-of-two times some base
time period . Thus, if nT is the order interval for product n, then: 2 nk
nT where
1 2 and nk is some integer. It is assumed that Zero-Inventory Policy holds, i.e., an
order is placed for a product only when its inventory drops to zero. Dong and Lee (2003)
prove that the results of Clark and Scarf (1960) can be extended to a time-correlated
demand process using Martingale Model of Forecast Evolution (MMFE), a forecasting
technique that takes into account past demand and other factors affecting demand.
32
A substantial amount of research has gone into determining the size and location of safety
stock inventory under various production control strategies. Inderfuth (1991) provides a
technique for determining safety stock distribution in serial and divergent
production/distribution systems operating under base stock policies. The paper assumes
100% reliable workstations. Inderfuth and Minner (1997) look at divergent systems with
normally distributed demands where each stage follows a base stock policy. Inderfuth
(1994) contains a review of relevant research in this area. The paper is a survey on
concepts and specific approaches for determining safety stocks in divergent inventory
systems as a measure of protection against risk. Graves and Willems (2000) develop an
approach to optimize the inventory in a supply chain. Each stage in the supply chain is
modeled as a network. They make the following assumptions:
Each stage in the supply chain operates under a periodic-review, base-stock
policy.
Production lead times are assumed to be known and deterministic.
Demand occurs at stages without successors and is bounded.
Each demand node promises a guaranteed service time by which it will satisfy
customer demand.
For a serial system based with the above assumptions and without any capacity
constraints, Simpson (1958) provides a technique to optimize the inventory. van Houtum
et al (1996) also review relevant research in the theoretical and numerical analysis of
stochastic multistage systems where a periodic review base-stock policy is used.
33
Magnanti et al (2005) show that adding a set off redundant constraints and iteratively
refining the approximation speeds up the time required on a commercial solver to solve
moderately sized safety stock placement problems in acyclic supply chain networks.
Minner (2001) analyzes the problem of safety stock placement in reverse supply chains
with the integration of internal and external product return and reuse.
For assembly systems where two components are assembled into one so that each stage
has a unique successor, Crowston, Wagner, and Williams (1973) state that in an optimal
solution, an Integer-Ratio property holds, i.e., the batch size at a stage is an integer
multiple of the batch sizes at its downstream stages. It was shown by Szendrovits (1981)
and Williams (1982) that their results were highly dependent on the assumptions they
used. For example, Williams (1982) shows that when the assumption that production
occurs at a constant rate at a stage is ignored, the proposition no longer holds. Schmidt
and Nahmias (1985) use the decomposition technique of Clark and Scarf to characterize
the optimal policy for an assembly system where two components are assembled into
one. Rosling (1989) states that under appropriate conditions, a general assembly system is
equivalent to a serial system and so the result of Clark and Scarf holds. Chen (2000)
extends these results to an assembly system with batch-ordering. Cachon (1995), Graves
(1996), Chen and Zheng (1997), Tarim and Miguel (2004) all study distribution systems.
DeBodt and Graves (1985) design approximate echelon stock policies for a serial system
with setup costs under a continuous review policy with batch ordering. Echelon stock for
34
a component is defined as the inventory of that component plus all the inventory of
downstream items that use that component. Installation stock, on the other hand, is
inventory of the component without considering downstream inventories. Echelon stock
policies use echelon stock information to make decisions. The end customer demand is
stationary and stochastic and each stage has a deterministic lead time. They assume
nested policies, where, whenever one stage reorders, all downstream stages also reorder.
Chen and Zheng (1994) provide an exact cost evaluation procedure for such systems.
Axsater and Rosling (1993) prove that echelon stock policies are superior to installation
stock policies for serial and assembly systems. Axsater (1997) provide an exact cost
evaluation technique for a two-stage system with one warehouse and N retailers, where
all facilities use a continuous review echelon-stock policy with different reorder points
and batch quantities. An echelon stock policy requires centralized demand information.
Chen and Zheng (1998) study serial systems with compound Poisson demand and batch-
ordering and provide a near-optimal solution. Chen (1998) determines the relative cost
difference between the two policies for a serial system. This cost difference can be
thought of as the value of centralized demand information. Mitra and Chatterjee (2003)
extend the results of DeBodt and Graves (1985) to fast moving items.
Information sharing and coordination are two topics that have been extensively studied in
multi stage systems, but more so from a supply chain perspective. Papers by Lee et al.
(1997a & b), Gavirneni et al. (1999), Chen et al. (1998, 2000a & b) and more recently,
35
Krishnan and Askin (2006) have studied the effect of information sharing and
coordination between supply chain partners on the system performance.
Table 2.1 below summarizes some of the papers on production planning in multi-echelon
systems.
36
Table 2.1: Summary of previous relevant research
Continuous/
Periodic
Review (p/c) Structure
Echelon/
Installation
stochastic/
deterministic
demand (s/d) stationary? nested? batch? lead times
other
features
Clark and Scarf (1960) P serial Echelon s y n n d
Clark and Scarf (1962) P serial Echelon s y n n d
DeBodt and Graves
(1985) C serial Echelon s y y y d
Moinzadeh and Lee
(1986) C distribution Installation s y n y d
repairable
items
Roundy (1986) C
serial/
assembly Echelon d y y n d
Lee and Moinzadeh
(1987) C distribution installation s y n y d
repairable
items
Lee and Moinzadeh
(1987) C distribution installation s y n y d
repairable
items
Chen and zheng (1994) C/ P serial echelon s y y y d
Graves (1996) C serial echelon s y n y d
Axsater (1997) C distribution echelon s y n y d
Chen (1998) C serial echelon s y y y d
Chen and zheng (1998) C serial echelon s y y y d
Chen (1999) C serial echelon s y y y d
Graves and Willems
(2000) P general echelon s y y n d
Chen (2000) C
serial/
assembly echelon s n y y d
Mitra and chatterjee
(2004) P distribution echelon s y y n d
Dong and lee (2003) C serial echelon s n n y d
non stationary
demand
Mitra and chatterjee
(2003) C
serial/
assembly echelon s y y y d
fast moving
items
Liu et al. (2004) C distribution echelon s y y y d
37
2.2 MRP Research
A Materials Requirement Planning (MRP) system is a type of push system where
production authorization is based on a production plan. In contrast, in pull systems,
production authorization depends on realized demand. A significant amount of the early
research in this area focused on lot sizing decisions associated with MRP. Several lot
sizing models have been developed in the last couple of decades. The simplest lot sizing
model is the Economic Order Quantity (EOQ) model, which dates back to 1913. Another
model used for lot sizing in MRP systems is the Wagner-Whitin (WW) model (Wagner
and Whitin, 1958). This model was originally developed for a multi-period single-stage
model under a periodic review policy with known time-varying demands. They assume
linear holding costs and fixed order costs and that shortages are not permitted. For this
cost structure they determine that in an optimal policy production is carried out only in
periods with positive starting inventory. Dynamic programming can be used to determine
optimal production quantities. However, the WW model has not been frequently used in
MRP systems. This is due to the fact that the model has an inherent property that causes
nervousness in the system, i.e., alterations or changes in schedules for later periods may
cause changes in lot sizes during the early periods. Another model that is used is a
heuristic developed by Silver and Meal (1973). It involves computing the cost of holding
and setup per period as a function of the number of periods in the current order horizon
and using it to calculate the order quantity. Lot-for-lot (LFL) is a strategy where order
quantities are equal to the requirements, offset by the lead time. Another popular
38
technique known as Periodic Order Quantity (POQ) calculates the optimal order interval,
T as a ratio of the EOQ to the demand rate and assigns the first T periods‟ demands to the
first period and so on. The Least Period Cost (LPC) method determines the first local
minimum cost per unit time and sets the first lot size quantity and proceeds to the next lot
size. Other lot sizing techniques have been developed by Veral and LaForge (1985),
Blackburn and Millen (1982), Afentakis et al. (1983), Afentakis and Gavish (1983),
Afentakis (1987) etc. Texts and articles such as Askin and Goldberg (2002) and Baker
(1993) contain a thorough description of these models.
Molinder and Olhager (1998) study the effect of different lot sizing techniques on
cumulative lead times. Here, cumulative lead time is the total lead time for each bill of
material path below the item. Buzacott and Shantikumar (1994) study the influence of
accuracy of forecasts, processing time variability, and degree of congestion, along with
inventory and shortage costs on system lead time and safety stock, in order to determine
whether safety stock or safety time is more useful. They conclude that safety stock is
more robust than safety time, except when it is possible to make accurate forecasts over
the lead time. Other studies on MRP system performance include, Whybark and Williams
(1976), Grasso and Taylor (1984), and Ritzman and King (1991).
MRP uses fixed lead times for planning. However in reality, lead times are variable. This
lead time variability may result in inefficiency in planning. Melnyk and Piper (1985)
suggest the following two options to overcome these problems:
39
Track lead time error, i.e., the difference between planned lead times and
observed lead times, and update planned lead times appropriately.
Minimize the effect of lead time error by constructing planned lead times that
provide an appropriate probability that actual lead times will not exceed the
planned lead times.
Several comparative studies have been carried out comparing the performance of MRP
with Kanban, CONWIP, and Reorder Point Policies. Benton and Shin (1998) classify
existing MRP/ JIT comparison literature. Recently, Krishnamurthy et al. (2004) have
shown using simulation experiments that Kanban may result in significant inefficiencies
in a manufacturing setting where a fabrication cell supplies different products to several
assembly cells. It is assumed that the assembly cells fix their assembly schedules in
advance and share this information with the supplier cells. Axsater and Rosling (1994)
have shown that MRP outperforms installation stock (Q, r), Kanban, and order-up-to-R
policies for a general acyclic inventory system. More of the literature on these
comparative studies will be discussed in the following two sections.
The MRP system suffers from several drawbacks, both due to the assumptions that it
makes and due to its basic structure. One of the most important assumptions that MRP
makes is that there is always sufficient capacity to meet production demands, which is
unrealistic. As mentioned earlier, MRP uses fixed lead times for planning. Also, MRP
plans for periods, not continuous time, thus requiring inventory to be pre-staged. Our
40
research focuses on pull systems, such as CONWIP and Kanban, which will be discussed
in the following two Sections.
2.3 Kanban Research
One of the earliest descriptions of the single kanban system was given by Monden (1983)
as being used in the Toyota Production System for serial systems with closely located
sequential stages. An overview of various extensions and refinements is given in Askin
and Goldberg (2002). A thorough review of the research in Kanban systems is available
in Huang and Kusiak (1996).
Most research into Kanban systems has emphasized the choice of the number of kanbans
to use in such systems. Monden (1983) suggests the following model:
(1 )i ii
i
D lk
n
where ki is the number of kanbans for part type i, i is the total lead time, Di is the
demand rate and ni is the container size. l is a safety factor, introduced to counter
variability. The container size associated with each part type can be determined using the
EOQ expression:
2 i ii
i
a Dn
h ,
41
where ai is the setup cost and hi is the holding cost per unit for product i. Schonberger
and Schniederjans (1984) suggest that the EOQ model may be inappropriate for the JIT
manufacturing environment. They claim that reductions in setup time and a proper value
of holding costs will result in an optimal batch size of one. The value of setup time
reduction is discussed in papers by Spence and Porteus (1987) and Hahn et al. (1988).
Davis and Stubitz (1987) determined the number of kanbans at each station using
simulation and response surface techniques. Philipoom et al. (1987) showed
experimentally that the lead time demand distribution constitutes a major determinant of
the number of kanbans needed. For modeling a kanban system with a fixed parameter
specification or to determine the number of kanbans needed, stochastic analytical models
with discrete time periods (Deleersnyder et al. 1989) and continuous time (Mitra and
Mitrani 1990, Wang and Wang 1990, Askin et al. 1993) have also been presented.
Deleersnyder et al. (1989) use a discrete time markov chain to determine the number of
kanbans. They take machine reliability, demand variability, and safety stocks into
account. Askin et. al (1993) develop a mathematical programming model to determine
the number of kanbans under time dependent backorder costs and occurrence based
shortage costs by minimizing total system costs. Philipoom et al. (1996) present a
solution procedure known as JACKS (JIT Algorithm for Containers, Kanbans and
Sequence) that provides an integrated approach to simultaneously determine container
sizes, number of kanbans, and product sequence.
42
Karmarkar and Kekre (1989) model two-stage, single and dual card kanbans as a
Continuous Time Markov Chain in order to study the effect of container size and number
of kanbans on the expected inventory holding costs and shortage costs. They conclude
that when the number of kanbans was constant, the total inventory cost was a convex
function of the container size. In another experiment, the optimal container size was seen
to be inversely proportional to the number of kanbans. Berkeley (1996) studies the effect
of container size on average inventory and customer service levels in a two-card kanban
system processing multiple part types. The study concludes that, as expected, smaller
container sizes resulted in smaller average inventories. However, they do not necessarily
lead to lower service levels. Some other studies that consider the effect of container sizes
on the system performance include, Gupta and Gupta (1989a & b) and Lee (1987).
Another area of research in Kanban system compares the performance of kanban systems
with other systems, notably MRP systems. Rees et al. (1989) compared an MRP lot-for-
lot system and a Kanban system in an ill-structured production environment and
concluded that the MRP lot-for-lot system is comparatively more cost effective since it
carries less inventory. Sarker and Fitzsimmons (1989) concluded that an MRP lot-for-lot
handles lumpy demand better than a Kanban system, although difficulties may be caused
by stochastic processing times.
43
2.4 CONWIP Research
The Constant Work In Process (CONWIP) system was proposed by Spearmann et al.
(1990) as an alternative to the Kanban production system. Spearmann and Zazanis (1992)
present the following conjectures about pull systems:
There is less congestion in pull systems
1. Pull systems are inherently easier to control than push systems.
2. The benefits of a pull environment owe more to the fact that WIP is bounded than
to the practice of “pulling” everywhere.
The CONWIP system imposes a WIP cap on the entire system, rather than on individual
workstations, as in a Kanban system. In fact, CONWIP could be thought of as a hybrid
pull-push system, where parts enter the system according to a pull philosophy, but within
the system, a push policy is used. A backlog list is used to determine the order in which
jobs are processed.
Initial studies into the CONWIP system were comparisons of this system with MRP and
Kanban systems. Spearmann et al (1990) provide a brief comparison of CONWIP with
MRP and kanban systems and conclude that a CONWIP system is more effective than the
other two systems. Buzacott and Shantikumar (1991) show that if the value added at each
stage in the workstation is negligible, then CONWIP systems exhibit superior
performance to Kanban and MRP systems with respect to maximizing customer service,
subject to WIP constraint. Spearmann and Zazanis (1992) compare Kanban and
44
CONWIP and conclude that CONWIP produces higher mean throughput. Spearmann and
Zazanis (1992) and Hopp and Spearmann (1996) suggest that CONWIP systems possess
the following advantages over MRP systems:
1. Pull systems are easier to control than push systems. This is because pull systems
control WIP and observe throughput, whereas push systems control throughput
and observe WIP. It is easier to control the total number of parts currently in the
system than to control the production rate.
2. For the same throughput, push systems will have more WIP on an average than
CONWIP systems. A corollary of this is that for the same throughput, push
systems will have longer average cycle times than an equivalent CONWIP
system.
3. A CONWIP system is more robust to errors and breakdowns than a pure push
system.
Muckstadt and Tayur (1995a, b) show that the CONWIP system has less variable
throughput and lower inventory than a Kanban system. Golany et al. (1999) investigate
CONWIP based Shop Floor Control (SFC) where products are grouped into families
(Group Technology (GT) design). The main reason for GT grouping is to cluster different
parts having almost identical routings into families. This creates a flowshop-like
environment within each family of parts. The authors propose that within each cell, parts
be scheduled as a CONWIP system. They attempt to simultaneously answer two
questions: 1. what is the best WIP level? and 2. how to arrange the backlog level for a
given system? They formulate a deterministic mathematical programming formulation to
45
describe the scenario and solve it using simulated annealing. They compare two systems.
In the first, a multi-loop CONWIP system, containers are restricted to stay in given cells,
while in the second, a single-loop CONWIP system, containers can circulate anywhere in
the system. Based on their results they find the latter system to be superior. A recent
study by Yang (2000) uses simulation based techniques to compare Kanban and
CONWIP systems. He concludes that CONWIP outperforms Kanban in most cases,
consistently producing the smallest mean customer wait and total WIP. Recent textbooks
by Hopp and Spearmann (1996) and Askin and Goldberg (2002) contain in depth
comparisons of the two systems with each other and with MRP systems.
Recent research has focused on determining system parameters, such as, how to order
jobs in a backlog list and how many containers to use. CONWIP is a type of closed
queueing nework. In these networks, the number of parts in the system never changes. In
essence, if a part leaves the system, it is immediately replaced with another part, which
keeps the WIP constant. This results in a negative correlation between the parts at each
stage. A product form expression for such a system may not be computationally very
effective, instead, a technique known as Mean Value Analysis (MVA) (Reiser and
Lavenberg 1980, Suri and Hildebrant 1985) is used to determine system paramenters,
such as throughput and cycle time. Starting with an initial guess of queue lengths, the
system parameters are calculated iteratively, until there is a convergence in the solution.
Duenyas and Hopp (1990) and Duenyas et al. (1993) provide approximations to describe
the distribution of the output from a CONWIP system. Herer and Masin (1997) develop a
46
nonlinear integer model to address the allocation of WIP to different products in a serial
system. Optimal job orders and schedules are obtained based on demands and forecasts.
The model minimizes total cost. Hopp and Roof (1998) use a process known as Statistical
Throughput Control (STC) to set WIP levels in a CONWIP system, where they set a
target production rate and cycle time and use it to determine capacity. Zhang and Chen
(2001) formulate an integer programming model that minimizes the total setup cost and
production smoothness to determine optimal production sequence and lot sizes in a linear
system. Ryan et al. (2000) address the issue of determining the number of cards for each
product type in a multiproduct job shop type system. Cao and Chen (2005) study an
assembly system fed by two CONWIP-based feeder lines and use an MIP model to
determine system parameters for this type of a system.
47
2.5 Problem Statement
Figure 2.1 below shows a single kanban Just-in-time (JIT) system. Circles represent
workstations or stages and triangles represent inventory locations (output buffers). Each
production-ordering kanban, either physical or as an electronic token, authorizes one
container of parts of a given part type. The kanbans flow within a given control section,
circulating from the output buffer, where they are attached to a full container, back
through all production stages within the control section once they are detached upon
withdrawal of the container. A proper design of system control points may improve
coordination and reduce total costs. Our study aims to define a characterization of system
control points for different environmental conditions and using a set of increasingly
complete models.
The main problem we wish to address is which stages should serve as the control points
for such a system. We assume that production batch and unit load sizes correspond to the
container size. We begin by examining a serial production system producing a single part
type. Two models are examined in this regard. In the first, container size is independent
of the control section, while in the second, container sizes are section dependent.
Additionally, a nesting policy is introduced which introduces an additional constraint, the
container size in a section is related to the container size in any other section by a factor
of two.
48
The study is then extended to a multi-product case. Due to the interaction between the
different part types, the total time spent by a part in the system increases because of the
time spent in queue waiting for the part in the machine to be processed (we assume that
this time is zero in the single product models). A variation of the decomposition/
recomposition algorithm of Shantikumar and Buzacott (1981) is proposed. This variation
takes into account the hybrid (open/ closed) aspects of our system. Finally, a simulation
model is developed to verify our mathematical models.
Figure 2.1: System under consideration
1a
2n 1n …. 1b
…. 2a 2b
Information flow (kanban)
Material flow
….
Control Section i Control Section i+1
Material and information flow
49
CHAPTER 3: SINGLE PRODUCT, DETERMINISTIC MODEL
The main problem we wish to address is which stages should serve as the control points
for such a system. We assume that production batch and unit load sizes correspond to the
container size. In this Chapter we consider a single-product, deterministic model. Two
different models are considered. In the first, the container size is constant across all
sections. In the second, container sizes are dependent on the control section. Optimality
conditions for a single control section for both models are presented. Additionally, a
methodology for determining the number and location of control points is provided.
3.1 Model 1: Constant Container Size
We initially consider a serial production line, producing a single part type. The batch
size at each stage is assumed to be known and fixed across all stages. Demand occurs at
stage m and is stochastic and independent in non-overlapping time segments. (For
notational simplicity we will assume demand is Normally distributed.) There is a fixed
cost associated with setting up a control point. We assume that the lead time at any stage
is known. The lead time demand distribution is likewise therefore known for each stage.
The number of kanbans is set to provide coverage against a defined upper percentage
point (assumed to be close to 1) of the lead time demand distribution. Also, we assume a
value added structure so that the holding cost at any stage is greater than the holding cost
at its preceding stages. The objective is to select a set of control points and container size
50
that minimize the location cost plus setup cost plus inventory holding cost. The system
under consideration is shown in Figure 2.1.
3.1.1 Notation
The notation that we use is as follows:
ci - collection time for kanbans at stage i
( )f d - probability distribution function of demand per time at stage m. E( ) = D and V(
) = 2
if - Fixed cost per time for locating and maintaining inventory at stage i
- Percentage of orders satisfied without delay (service rate)
z - Standard Normal Variate such that { }P Z Z
M - Set of all stages {1, …., m}
ih - Inventory holding cost per unit at stage i, i M
iL -Production Lead time at stage i
ti - transport time from stage i to stage i+1
iX - 1 if stage is a control point
0 otherwise
i
ijY - 1 if stage is a control point that serves stage
0 otherwise
j i
ijY defined for , 1,....,j i i m
51
ia = Setup cost plus material handling cost per container at stage i
n = Container size
An important component of system performance is lead time. Assume a control section
extends from stage i through j. Using the notation above and the dynamics of pull
operation, the lead time, ij , for a container from the time its kanban is removed at stage j
until it reenters the buffer at stage j with replenished stock is
1
1
j j
ij j r r
r i r i
c L t
(3.1)
Lead time includes kanban collection at the final stage, production at each stage, and
transit between stages within the control section.
3.1.2 Model Formulation
Initially assume that the container size, n, is known. The decision problem then becomes
minimization of expected cost per period or
1 1
( 1)( ) ( )
2
i mi i j j j ij i i j j j
i M i M j M i j j M
a D h nMin f X z h X c Y L t D h L t
n
(3.2)
Subject to:
1ij
j i
Y i M
(3.3)
52
, , ij jY X i j M i j (3.4)
1, ,ij i jY Y i j M (3.5)
1mX (3.6)
[0,1]jX , [0,1]ijY (3.7)
Here, the objective function, Equation(3.2), minimizes the sum of the total location cost,
setup cost, work-in-process (WIP) inventory holding cost and finished goods inventory
cost for partial containers, safety stock holding cost. The first term in the objective
function represents the fixed cost of locating a control point. The second term represents
the total period setup and material cost. The third term represents the WIP inventory
holding cost of the partial container available for final demand where we assume units are
consumed one at a time. The fourth term represents the safety stock holding cost at each
control point. The fifth term represents WIP inventory cost for units flowing through the
system. For the system described, expected on-hand inventory in the control buffers is
excess of maximum inventory from expected lead time demand. Although in practice the
number of kanbans may need to be integer and constant, our model implicitly allows for a
fractional number of kanbans to achieve the targeted service level. This relaxation
facilitates modeling and solution but could also be used in practice to improve system
performance by embedding a planned delay into planning replenishments so as to reduce
safety stock to this optimal level. Note that if the system is fully deterministic with 0 ,
the system is completely synchronized and output buffers are always empty.
53
Constraint (3.3) ensures that each stage is served only by one control point. Constraint
(3.4) ensures that a stage can be controlled only by a control point. Constraint (3.5)
ensures integrity in assigning all workstations within a control section to the same control
point. Constraint (3.6) ensures that stage m (the last stage) is always chosen to be a
control point. Constraint (3.7) defines the binary restrictions on the variables.
3.1.3 Selecting Control Points
We first reformulate our system design problem defined in Equations (3.2) to (3.7) as a
shortest path problem. Consider stage 0 to be the input stage. Also, let Moj be the cost of
selecting stage j as the first inventory control point and Mjk, the cost of having j and k as
two consecutive control points. This is shown in Figure 3.1 below.
0 1 2 m …………
…
M02
M01
M12
M1m
M2m
M0m
Figure 3.1: Shortest path representation of Model 1
54
Also define
1 if stages and are two consecutive control points
0 otherwiseij
i jx
The ijx ‟s can be thought of as arcs connecting successive control points. Then, the above
formulation ((3.2) to (3.7)) can be modified as follows:
Constraints (3.3) through (3.6) specify that each stage is served by a unique control point.
Additionally, if a stage is chosen as a control point, it serves all stages in between it and
the previous control point. This is analogous to saying that stage m will have exactly one
arc entering into it and none leaving while stages 1 through m-1 will either have no arcs
entering into them and leaving them or exactly one entering and one leaving. Finally,
stage 0 will have one arc leaving it. The formulation (3.2) through (3.7) can therefore be
rewritten in terms of the number of arcs entering and leaving them.
ij ij
i M j M
Min M x
(3.8)
Subject to:
1 if 0
0 if 0 or where , , ,
1 if
ij km
k M
i
x x i m i j k M k i j
i m
j M
(3.9)
[0,1] ,ijx i j M (3.10)
55
If Lj and tj are fixed, 1( )j j j
j M
D L t h
is a constant. If n is fixed, 1
( 1)
2
i m
i M
a D h nk
n
, is a constant for all feasible solutions. Thus, in order to find the optimal solution to the
model, we can ignore these terms from the objective function. In general then:
1, 0,..., 1; 1,...,jk k k j kM f z h j m k j m (3.11)
For this model with predetermined lead times, positive echelon holding costs, and
constant container size, analysis leads to the following result on locating buffers:
Theorem 1: For the cost structure defined in model 1, a single control point is always
optimal if for all stages j=1,…,m-1, 1, 1,j m m j ij m j mf z h h h .
Proof: We will prove the theorem for a two-stage problem and then for a general case
using mathematical induction.
The proof is simple for a two-stage problem. This problem can be represented as shown
in Figure 3.2.
0 1 2 M01 M12
M02
Figure 3.2: Shortest path representation for a two-stage control problem
56
In the figure it is clear that a single control point is optimal if and only if
02 01 12M M M ,
where the costs can be calculated using Equation (3.11). Therefore,
02 2 2 12M f z h , 01 1 1 11M f z h , and 12 2 2 22M f z h .
Substituting in these expressions and rearranging terms, the sufficient condition for a
single control point becomes
1 2 12 1 11 2 22f z h h h (3.12)
Thus, the theorem is true for m = 2.
For an m+1-stage problem, if a single control point is optimal for all k-stage problems
such that k m , we need to consider only the two-arc solutions. This is because any path
to a node k m that uses two or more arcs is dominated. Therefore, for an m+1-stage
problem, a single control point is optimal if:
0, 1 0 , 1 , 1m j j mM M M j M j m (3.13)
Once again we can use Equation (3.11) to compute the costs. Therefore,
0, 1 1 1 1, 1m m m mM f z h , 0 1,j j j jM f z h , and
, 1 1 1 1, 1j m m m j mM f z h .
Substituting the above terms into Equation (3.13) and rearranging terms gives:
1 1, 1 1, 1 1, 1j m m j j m j mf z h h h (3.14)
57
Thus, based on the assumption that the theorem is true for an m-stage problem, it is true
for an m+1-stage problem. Hence it is true for all j M .
In general, the RHS of Equation (3.14) is negative. Since for a, b > 0, a b a b it
can only be positive if the ratio /m jh h , m > j, is large. If we assume that m jh h h , and
noting we are interested in an m state system, Equation (3.14) reduces to:
11 1
1 0 1 0 1
j jm m m m
j m r r j r r m r r
r r r r r j r j
f z h c L t c L t c L t
(3.15)
The right hand side in Equation (3.15) is clearly negative. In this case, a single control
point is always optimal even if there is no fixed cost to maintain an inventory buffer.
58
3.1.4 Choosing Container Size
The formulation in Section 3.1.2 assumed that the batch size, n was known. We now
consider the selection of n. The formulation remains the same, except for one additional
constraint:
max
jn n j M (3.16)
Here, max
jn is the maximum container size that stage j can handle. This would typically be
dictated by the material handling technology or part form at stage j. We will consider
two cases.
Case i) Fixed processing time operations: Here, the production lead time, L is
independent of the container size. In this case the problems of container size and location
of control points are readily seen to be separable in the formulation Equations (3.2) to
(3.7) and (3.16) if we assume a single control point. The results of Askin and Goldberg
(2002) can be extended to multiple stages to conclude *
2 i
i M
m
a D
nh
. If any constraint
(3.16) is violated, then set maxmin j jn n .
Case ii) Variable processing time operations: Here, production lead time is a function of
container size n and is given by the equation: ( )i i iL w s p n
where,
59
is - setup time at stage i.
ip - processing time per unit at stage i.
w - a flow time constant.
In this case, the lead time at a stage is dependent on the container size. WIP cost should
therefore be included in the objective function. The term 1( )j j j
j M
D L t h
is no longer
constant in this case.
For a given n, the model can still be represented as a shortest path problem. Also, since
the container size is fixed across all stages, Theorem 1 is valid for this case too. It is
likely that a single control point will be optimal, thus, a two stage solution approach
seems reasonable. First, determine n. Setting Xm = 1, and Xi = 0, i < m, converts the
objective function into a single variable function that can be readily solved for the
optimal batch size. (The upper bounds for each stage must still be checked for feasibility
and n adjusted accordingly if necessary.) Given n, the Li can be computed and model 1
applied to ensure a single buffer.
60
To determine n, the following heuristics are proposed:
Fixed Point Iterative Heuristic:
To simplify the notation for a general control section, we define j
ij r
r i
P p
and let
1, if stages through form a control section
0, otherwiseij
i jZ
.
The optimal container size can be obtained (as a function of the control structure) by
solving the objective function in Equation (3.2).
The objective function in Equation (3.2) can first be solved as an unconstrained
optimization problem in n and the optimal container size can be determined as
maxmin( *,min )jj M
n n
, where n* is the solution from solving Equation (3.2).
Noting that ( )i i iL w s p n and 1
1
j j
ij j r r
r i r i
c L t
, differentiating Equation (3.2)
with respect to n and setting it to zero, gives:
2
1
02 2
mij j iji m
i i
i M j i j i Mij
Z h Pa D hz w w D h p
n
(3.17)
Therefore:
1
1 1
2
*
2
m
i
i
m mj ij
m ij i i
j i j iij
D a
nh P
h z w Z w D h p
(3.18)
61
For a single control section incorporating the entire line,
1
1
11
2
*
2
m
i
i
mm m
m i i
im
D a
nh P
h z w w D h p
(3.19)
In Equations (3.18) and (3.19), 1m is a function of the batch size n*. It is easy to prove
that Equation (3.17) is convex in n.
Because the control structure depends on the optimal batch size and the optimal batch
size itself depends on the control structure (Equation (3.18)), an iterative procedure is
considered.
Preprocessing (iter = 0): Determine the optimal batch size, assuming a single control
point:
0 1
1
11
2
2
m
i
i
mm m
m i i
im
D a
nh P
h z w w D h p
Iterations: Repeat until niter
= niter-1
:
62
Calculate the optimal control points using niter
for the batch size, by solving
the shortest path problem.
Set iter = iter + 1
Update niter
for the control structure determined above
Remark: The optimal system cost for model 2 is not necessarily a convex function in n.
Mjk,the cost of having stages j and k as two consecutive control points is the intersection
of a monotonically decreasing convex term (1
ki
i j
a D
n
) and a monotonically increasing
concave term (1,k j kz h
). Clearly, the function is continuous and unimodal in n and
has a unique minimum. The total cost is the sum of costs of all individual control sections
from stage 1 to stage m. And, since the sum of unimodal functions is not necessarily
unimodal, for any specified set of control points, the total cost does not necessarily have
unique global minimum. The optimal cost function could change control sections as n
varies. Let Ms(n) represent the total cost of having a particular control section structure,
where s belongs to the index set S. Let M(n) represent the optimal cost. Therefore,
{ }( ) ( )s
s SM n Min M n
. M(n) is not necessarily convex or unimodal. In such a case, we
cannot be certain if this solution will converge to the global optimum. As such, we can
find limits on the feasible range for the optimum n and search over that range. However,
we note in Equation (3.18) that the middle term in the denominator is proportional to
1/ 2
i ijh p and is therefore bounded in influence by either the first or third terms
(depending on pij). In our experiments, we have failed to find any cases in which n*
63
varied as a function of the control points selected. Nevertheless, we include below a
search algorithm that will ensure finding an optimal solution.
Bounded Search Algorithm:
An alternative solution procedure is to search over n as follows:
Let * 1max
1
2
2
m
i
i
m
m i i
i
D a
n
h z w w D h p
(3.20)
where,
The search procedure involves increasing n from 1 to *
max max{ }
( , )i
i IMin n n
and iteratively
calculating the total cost and the optimal control structure. This procedure guarantees an
optimal n.
We will prove that Equation (3.20) gives an upper bound on the optimal batch size,
irrespective of the control structure.
Proof: It is sufficient to show that *
maxn from (3.20) is at least as large as *n defined in
Equations (3.18) and (3.19). Comparing Equations(3.18) and (3.19), which represent the
batch sizes with multiple control sections and one control section respectively, with
Equation (3.20) , we note that all the difference between the two equations is in the
second term of the denominator. We will show that is a lower bound on this term for
1
11
max min ,i m
j ij i M
i j mij m
Min h Ph P
64
both equations ((3.18) and (3.19)). (Note: We exclude the constant z w term for
simplicity since it appears identically in all cases.)
Let 11min
j ij
i j mij
h P
and 1
{ }{ } 12
11
1 0
m
i ri mi Mi M r
m mm
m r r
r r
Min h pMin h P
c L t
.
Consider 1 . 1
1m m
ij
h P
by definition. Likewise,
1 is the smallest term in any
1
mj ij
ij
j i j ij
h PZ
.
Now consider 2 . 12
m m
ij
h P
since i m
i M
Min h h
and 1m ij .
Assuming that the number of control sections goes up to two and that stages j and m are
the two control stages, the relevant term is now:
1 1, 112
1 11 1,
11 0
mj
m rj rj j m j m r jr
j j m mj j m
m r rj r rr j r jr r
h ph ph P h P
T
c L tc L t
(3.21)
A comparison of Equations (3.20) and (3.21) reveals that 2 2T (since
1 11 1
1 1
( )where 0, 0
( )
a a aaa a b b
b b b b
). The proof can similarly be extended to
more than two control sections.
65
3.2 Model 2: Section Dependent Container Size
We no longer assume that the container sizes are constant across stages; each control
section selects a container size. All the other assumptions for model 1 apply. Since an
entire container must be removed at a time from the output buffer and likewise we
assume that an entire container is started into production instantaneously at the beginning
of a control section, there should be a nesting relationship. The upstream container size
is an integer multiple of that used in its immediate downstream section, i.e. 1
1j j jn r n
for some non-negative integer rj. (Note, following the work or Roundy (1986), rj may be
restricted to powers of two with limited loss). Remaining units from the partially
emptied upstream container are kept as input staging at the downstream section until
needed.
The objective function for this model will now be:
1
1
1
(1 ) ( 1)
2 2
( )
j j j ji m mj j
j M i M j Mij j
j i
j j ij ij i i i
j M i j i M
h X n ra D h nMin f X
Y n
z h X Y h L t D
(3.22)
where jn is the container size at stage j.
In addition to the constraints in model 1, we have:
max ; ; 1,...,j ij in Y n j M i j (3.23)
66
; i j ij
j i
n n Y i M
(3.24)
Objective (3.22) incorporates the residual container quantity at the input to a control
section. Constraint (3.23) ensures that the container size in each control section does not
exceed the maximum allowable container size for the stages covered. Constraint (3.24)
holds the container size constant with a section.
3.2.1 Solution Procedure
Because the container size in this model is not constant, Theorem 1 is not valid for this
model. Moreover, we cannot directly estimate the container size as it depends on the
control structure and the control structure itself depends on the container size. For this
reason, we provide a heuristic technique for this model. We can still formulate the model
as a shortest path problem, as in Figure 3.2 if we can estimate container sizes. We first
preprocess the data to estimate a container size for each stage using an EOQ model.
Working backwards from stage m to 1
1/ 2
0 0
1
1/ 20
0
1
2
2
max , }
k
k k
k
m
kl
l k
k
k
Daif n n
h
n D a
n otherwiseh
(3.25)
Equation (3.25) ensures that the container size at a stage is greater than that at its
downstream stages.
67
The arc costs for the two cases of fixed and size dependent lead times are then:
Case i)
In general:
* 0
1 1
1 1,*( , ]
( )( )
2
0,..., 1; 1,...,
k
l
l j k jk k
jk k l l l k j k
l j kjk
a Dh n n
M f h L t D z hn
j m k j m
(3.26)
where,
1* max max
1
2
min ,...., ,
k
l
l j
jk j k
k
D a
n n nh
(3.27)
Once we have the optimal container sizes and the control sections, the actual costs are
recalculated by replacing the estimated container sizes given by Equation (3.25) with the
actual container sizes, in the cost expression. Here, we use two techniques. In the first
technique, the nesting property discussed earlier is ignored and the container sizes are
calculated according to Equation (3.27) for both models. In the second technique, the
container size in the last section is calculated using Equation (3.27). For a range of rj
values from the set, {1, 2, 4, 8, 16}, all other section container sizes are simultaneously
calculated by minimizing the cost expression given in Equation (3.22) using a one-
dimensional search technique over n.
68
Theorem 1 can be modified for evaluating the shortest path model in this case.
Theorem 2: For the cost structure defined in model 2 a single control point is always
optimal, i.e., stage m is the only control point, if for all stages j,
* *
1 0, ,1 1
* * *
0, 0, ,
* 0
0, 1
1, 1, 1,
( )
2
( )
2
mjm
ll ll j m m j ml l
j
m j j m
j j j
m m j j m j k
a Da a Dh n n
f Dn n n
h n nz h h h
.
Proof: The proof follows the same procedure used in Theorem 1.
Case ii) The only difference between Case (i) and Case (ii) is that the lead time depends
on the container size in Case (ii). Arguments similar to those used in Theorem 2 can be
applied to Case (ii) after including WIP cost. However, the difference is in the
calculation of the optimal container size at each control section. In general:
* 0
1 1 *
1,*1
( )( )
2
0,1,..., 1; 1,...,
k
l kl j k jk k
jk k l l jk k j k
l jjk
a Dh n n
M f h L n D z hn
j m k j m
(3.28)
where, *
jkn can be determined by minimizing:
0
1 1
1 1,
1
( )( ) ( ( ) )
2
0,1,..., 1; 1,...,
k
l kl j k jk k
jk l l jk l k j k
l jjk
a Dh n n
f n h L n t D z hn
j m k j m
(3.29)
69
Subject to:
max ( , ]jk ln n l j k (3.30)
0
1 1mn (3.31)
0 0 *
1max , 1,...,k k kkn n n k m (3.32)
and ( ) ( )l jk l l jkL n k s p n . (3.33)
Note that the optimal solution to model 1 is always feasible to model 2. Therefore model
1 costs represent an upper bound on the optimal model 2 costs. However, since the
solution to model 2 is only a heuristic, it may not give better solutions than model 1 on all
occasions. Thus it is necessary to consider the model 1 solution as well as the model 2
heuristic solution and select the best. This is evident from a comparison of rows 3 and 11
and 4 and 12 respectively in Table 3.1.
70
Table 3.1: Comparison of models 1 and 2
Model f h a D
Control
Points n Cost
1 0 1,1,1,1,1,1 1,1,1,1,1,1 100 6 35 1276.08
1 0 1,1,1,1,1,1 32,16,8,4,2,1 100 6 100 1354.44
1 0 1,2,3,4,5,6 1,1,1,1,1,1 100 6 1 15 4533.61
1 0 1,2,3,4,5,6 32,16,8,4,2,1 100 6 1 46 4723.57
1 1000 1,1,1,1,1,1 1,1,1,1,1,1 100 6 35 2276.08
1 1000 1,1,1,1,1,1 32,16,8,4,2,1 100 6 100 2354.44
1 1000 1,2,3,4,5,6 1,1,1,1,1,1 100 6 15 5533.63
1 1000 1,2,3,4,5,6 32,16,8,4,2,1 100 6 46 5723.58
2 0 1,1,1,1,1,1 1,1,1,1,1,1 100 6 35 1276.08
2 0 1,1,1,1,1,1 32,16,8,4,2,1 100 6 100 1354.44
2 0 1,2,3,4,5,6 1,1,1,1,1,1 100 6 15 4533.63
2 0 1,2,3,4,5,6 32,16,8,4,2,1 100 6 2 70 23 4705.05
2 1000 1,1,1,1,1,1 1,1,1,1,1,1 100 6 35 2276.08
2 1000 1,1,1,1,1,1 32,16,8,4,2,1 100 6 100 2354.44
2 1000 1,2,3,4,5,6 1,1,1,1,1,1 100 6 15 5533.63
2 1000 1,2,3,4,5,6 32,16,8,4,2,1 100 6 46 5723.58
71
3.3 Computational Results
Experiments are conducted to evaluate the conditions under which a single control
section is optimal and the comparison of costs and buffer locations when multiple control
sections are preferred.
3.3.1 Experiment Design
An experiment is conducted to compare the performance of models 1 and 2 for both
cases. For model 2, experiments are run both with and without nesting. The different
factors used in the experiment and the levels of each factor are shown below:
For cases 1 and 2
f = $0, $100
a = [1, 2, 3, 4, 5, 6], [1, 1, 1, 1, 1, 1], [6, 5, 4, 3, 2, 1]
h = [1, 1, 1, 1, 1, 1], [1, 1.2, 1.4, 1.6, 1.8, 2.0],[1, 2, 3, 4, 5, 6]
D = 100 units per day
maxn = , 25 units (maximum allowable container size at each stage)
α = 0.99 (service level)
σ = 5 units.
c = [1, 1, 1, 1, 1, 1], [0.1, 0.1, 0.1, 0.1, 0.1, 0.1] day (collection time)
t = [1, 1, 1, 1, 1, 1], [0.01, 0.01, 0.01, 0.01, 0.01, 0.01] day (transfer time)
72
For case 1
L = [1, 1, 1, 1, 1, 1], [0.1, 0.1, 0.1, 0.1, 0.1, 0.1] days (case 1 production lead time)
For case 2
s = 0.05
p = 0.005
w = 1
Therefore, a total of 288 runs are carried out for case 1 of each model and 144 runs for
case 2. The programs are written in C++. Golden Section Search is used to determine the
batch size for case 2 of both models. Each run took less than one second to run.
3.3.2 Discussion of Results
An analysis of the results of the experiments shows that for case 1, for both models 1 and
2, the average cost is around $1495, and for case 2, it is around $1714. The costs for both
models are approximately equal because in a majority of the experiments, model 1 and
model 2 gave similar solutions. Table 3.2 below summarizes the results of the analysis.
The table indicates that model 2 does not increase the number of control points in most
cases, especially for Case 1. From row 3 of the table it is evident that this occurs only
once for case 1 and only fourteen times for case 2, whereas, from row 4 it is evident that
model 2 reduces costs by having different container sizes in different control sections,
five times and twenty times for Case 1 and Case 2 respectively.
73
For both models, the maximum number of control points found is two for Case 1, while
for Case 2, the number of control points is 2 for Model 1 and 3 for Model 2. . Also, from
rows 5 and 6 it is clear that on an average, model 1 has approximately the same number
of control points as model 2. It is seen that in most cases, model 2 reduces cost without
increasing the number of control sections. When the nesting property is enforced, the
container size in the one section is either equal to or twice the container size in the
following section. When the container sizes in the two sections are equal, model 2 is no
different from model 1. When they are different, it is seen that the nested model
outperforms model 1 and model 2 without nesting eight times for case 2
Tables 3.3 and 3.4 list the combination of factors for which cases 1 and 2 of model 1 give
a two control point solution. It is obvious from the two tables that the holding cost has a
significant effect on this, whereas none of the other factors do. It is seen that a two
control point solution is optimal only when h goes from 1 to 6 for the stages. Similarly,
Tables 3.5 and 3.6 list the combination of factors for which cases 1 and 2 of model 2 give
a two control point solution. While, in general, a similar pattern is observed, it can be
seen that Model 2 does increase the number of control sections. This increase in the
number of control sections may or may not be accompanied by a resulting decrease in
cost over Model 1. Further experimentation reveals that there is a relation between the
value-added structure and the number of control sections. These experiments are
discussed in the following section.
74
Table 3.2: Summary of results for experiment in Section 3.3.1
Case 1 Case 2
1
# (%) of times model 2
cost < model 1 cost
(without nesting)
5 (1.74%) 10 (6.9%)
2
# (%) of times model 2
cost < model 1 cost (with
nesting)
0 (0%) 8 (5.56%)
3 # (%) of times model 2
CP > model 1 CP 1 (0.35%) 14 (9.72%)
4
# of times models 2
reduces cost by having
different batch sizes in
different sections
(without nesting)
5 20
5 Average # of CP for
model 1 1.08 1.08
6 Average # of CP for
model 2 1.06 1.15
7 Maximum # of CP for
model 1 2 2
8 Maximum # of CP for
model 2 2 3
75
Table 3.3: Combination of Factors for which model 1 case 1 gives a two-control point
Solution
a h nmax L c t Cost N control
points
cost
(assuming
single
control
point)
[1,...,6] [1,...,6] inf [1,...,1] 0.1 1 4594.43 27 6 1 4640.3
[1,...,6] [1,...,6] inf [1,...,1] 0.1 0.01 2447.41 27 6 1 2491.75
[1,...,6] [1,...,6] inf [0.1,...,0.1] 0.1 1 2643.67 27 6 1 2688.18
[1,...,6] [1,...,6] 25 [1,...,1] 1 1 4607.61 25 6 1 4649.17
[1,...,6] [1,...,6] 25 [1,...,1] 0.1 1 4594.65 25 6 1 4640.3
[1,...,6] [1,...,6] 25 [1,...,1] 0.1 0.01 2447.63 25 6 1 2491.75
[1,...,6] [1,...,6] 25 [0.1,...,0.1] 0.1 1 2643.89 25 6 1 2688.18
[1,...,1] [1,...,6] inf [1,...,1] 1 1 4533.61 15 6 1 4533.78
[1,...,1] [1,...,6] inf [1,...,1] 0.1 1 4520.65 15 6 1 4524.92
[1,...,1] [1,...,6] inf [1,...,1] 0.1 0.01 2373.63 15 6 1 2376.37
[1,...,1] [1,...,6] inf [0.1,...,0.1] 0.1 1 2569.89 15 6 1 2572.8
[1,...,1] [1,...,6] 25 [1,...,1] 1 1 4533.61 15 6 1 4533.78
[1,...,1] [1,...,6] 25 [1,...,1] 0.1 1 4520.65 15 6 1 4524.92
[1,...,1] [1,...,6] 25 [1,...,1] 0.1 0.01 2373.63 15 6 1 2376.37
[1,...,1] [1,...,6] 25 [0.1,...,0.1] 0.1 1 2569.89 15 6 1 2572.8
[6,...,1] [1,...,6] inf [1,...,1] 1 1 4607.39 27 6 1 4649.17
[6,...,1] [1,...,6] inf [1,...,1] 0.1 1 4594.43 27 6 1 4640.3
[6,...,1] [1,...,6] inf [1,...,1] 0.1 0.01 2447.41 27 6 1 2491.75
[6,...,1] [1,...,6] inf [0.1,...,0.1] 0.1 1 2643.67 27 6 1 2688.18
[6,...,1] [1,...,6] 25 [1,...,1] 1 1 4607.61 25 6 1 4649.17
[6,...,1] [1,...,6] 25 [1,...,1] 0.1 1 4594.65 25 6 1 4640.3
[6,...,1] [1,...,6] 25 [1,...,1] 0.1 0.01 2447.63 25 6 1 2491.75
[6,...,1] [1,...,6] 25 [0.1,...,0.1] 0.1 1 2643.89 25 6 1 2688.18
76
Table 3.4: Combination of Factors for which model 1 case 2 gives a two-control point
solution
for single control
point
a h c t nmax cost n control
points n cost
[1,…,6] [1,…,6] 0.1 1 inf 2717.68 12 6 1 12 2720.45
[1,…,6] [1,…,6] 0.1 1 inf 2717.68 12 6 1 12 2720.45
[1,…,6] [1,…,6] 0.1 1 25 2717.68 12 6 1 12 2720.45
[1,…,6] [1,…,6] 0.1 1 25 2717.68 12 6 1 12 2720.45
[1,…,1] [1,…,6] 0.1 1 inf 2558.92 7 6 1 6 2562.02
[1,…,1] [1,…,6] 0.1 1 inf 2558.92 7 6 1 6 2562.02
[1,…,1] [1,…,6] 0.1 1 25 2558.92 7 6 1 6 2562.02
[1,…,1] [1,…,6] 0.1 1 25 2558.92 7 6 1 6 2562.02
[6,…1] [1,…,6] 0.1 1 inf 2717.68 12 6 1 12 2720.45
[6,…1] [1,…,6] 0.1 1 inf 2717.68 12 6 1 12 2720.45
[6,…1] [1,…,6] 0.1 1 25 2717.68 12 6 1 12 2720.45
[6,…1] [1,…,6] 0.1 1 25 2717.68 12 6 1 12 2720.45
77
Table 3.5: Combination of Factors for which model 2 case 1 gives a two-control point
solution
For single
control point
a h nmax L c t Cost n control
points n cost
[1,...,6] [1,...,6] inf [1,...,1] 0.1 1 4594.42 26 26 6 1 27 4640.3
[1,...,6] [1,...,6] 25 [1,...,1] 0.1 1 4594.65 25 25 6 1 25 4640.3
[1,...,6] [1,...,6] 25 [0.1,...,0.1] 0.1 1 2643.89 25 25 6 1 25 2688.18
[1,...,1] [1,...,6] inf [1,...,1] 0.1 1 4520.8 13 13 6 1 15 4524.92
[1,...,1] [1,...,6] inf [1,...,1] 0.1 0.01 2373.78 13 13 6 1 15 2376.37
[1,...,1] [1,...,6] inf [0.1,...,0.1] 0.1 1 2570.05 13 13 6 1 15 2572.8
[1,...,1] [1,...,6] 25 [1,...,1] 0.1 1 4520.8 13 13 6 1 15 4524.92
[1,...,1] [1,...,6] 25 [1,...,1] 0.1 0.01 2373.78 13 13 6 1 15 2376.37
[1,...,1] [1,...,6] 25 [0.1,...,0.1] 0.1 1 2570.05 13 13 6 1 15 2572.8
[6,...,1] [1,...,6] inf [1,...,1] 1 1 4607.37 46 23 6 1 27 4649.17
[6,...,1] [1,...,6] inf [1,...,1] 0.1 1 4594.41 46 23 6 1 27 4640.3
[6,...,1] [1,...,6] inf [1,...,1] 0.1 0.01 2447.39 46 23 6 1 27 2491.75
[6,...,1] [1,...,6] inf [0.1,...,0.1] 0.1 1 2643.65 46 23 6 1 27 2688.18
[6,...,1] [1,...,6] inf [0.1,...,0.1] 0.1 0.01 448.357 46 23 6 1 27 489.379
[6,...,1] [1,...,6] 25 [1,...,1] 0.1 1 4594.41 46 23 6 1 25 4640.3
[6,...,1] [1,...,6] 25 [1,...,1] 0.1 0.01 2447.39 46 23 6 1 25 2491.75
[6,...,1] [1,...,6] 25 [0.1,...,0.1] 0.1 1 2643.65 46 23 6 1 25 2688.18
78
Table 3.6: Combination of Factors for which model 2 case 2 gives a two-control point
solution
for single control
point
a h c t n control points
n cost
[1,…,6] [1,…,6] 0.1 1 10 13 6 1 12 2720.45
[1,…,6] [1,…,6] 0.1 1 10 13 6 1 12 2720.45
[1,…,6] [1,…,6] 0.1 1 10 13 6 1 12 2720.45
[1,…,6] [1,…,6] 0.1 1 10 13 6 1 12 2720.45
[1,…,1] [1,…,6] 1 1 10 7 6 1 6 2573.87
[1,…,1] [1,…,6] 0.1 1 10 7 6 1 6 2562.02
[1,…,1] [1,…,6] 0.1 0.01 9 6 6 2 6 359.831
[1,…,1] [1,…,6] 1 1 10 7 6 1 6 2573.87
[1,…,1] [1,…,6] 0.1 1 10 7 6 1 6 2562.02
[1,…,1] [1,…,6] 0.1 0.01 9 6 6 2 6 359.831
[1,…,1] [1,…,6] 1 1 10 7 6 1 6 2573.87
[1,…,1] [1,…,6] 0.1 1 10 7 6 1 6 2562.02
[1,…,1] [1,…,6] 0.1 0.01 9 6 6 2 6 359.831
[1,…,1] [1,…,6] 1 1 10 7 6 1 6 2573.87
[1,…,1] [1,…,6] 0.1 1 10 7 6 1 6 2562.02
[1,…,1] [1,…,6] 0.1 0.01 9 6 6 2 6 359.831
[6,…1] [1,…,2] 0.1 0.01 25 13 6 3 18 291.93
[6,…1] [1,…,2] 0.1 0.01 25 13 6 3 18 291.93
[6,…1] [1,…,2] 0.1 0.01 25 13 6 3 18 291.93
[6,…1] [1,…,2] 0.1 0.01 25 13 6 3 18 291.93
[6,…1] [1,…,6] 1 1 25 11 6 1 12 2732.15
[6,…1] [1,…,6] 1 0.01 25 11 6 1 12 551.527
[6,…1] [1,…,6] 0.1 1 25 15 8 6 3 1 12 2720.45
[6,…1] [1,…,6] 0.1 0.01 25 15 8 6 3 1 11 524.439
[6,…1] [1,…,6] 1 1 25 11 6 1 12 2732.15
[6,…1] [1,…,6] 1 0.01 25 11 6 1 12 551.527
[6,…1] [1,…,6] 0.1 1 25 15 8 6 3 1 12 2720.45
[6,…1] [1,…,6] 0.1 0.01 25 15 8 6 3 1 11 524.439
[6,…1] [1,…,6] 1 1 25 11 6 1 12 2732.15
[6,…1] [1,…,6] 1 0.01 25 11 6 1 12 551.527
[6,…1] [1,…,6] 0.1 1 25 15 8 6 3 1 12 2720.45
[6,…1] [1,…,6] 0.1 0.01 25 15 8 6 3 1 11 524.439
[6,…1] [1,…,6] 1 1 25 11 6 1 12 2732.15
[6,…1] [1,…,6] 1 0.01 25 11 6 1 12 551.527
[6,…1] [1,…,6] 0.1 1 25 15 8 6 3 1 12 2720.45
[6,…1] [1,…,6] 0.1 0.01 25 15 8 6 3 1 11 524.439
79
3.3.3 Effect of Value Added Structure on Number of Control Sections
From theorems 1 and 2, it is clear that the number of control points is dependent on the
value added structure and to a much lesser extent on the lead times. In this section we
perform a small experiment on a 20-stage pull system. Fixed parameters for the
experiment are as follows:
f = $0
a = [1, 2, 3, … ,20]
D = 100 units per day
maxn = (maximum allowable container size at each stage)
α = 0.99 (service level)
σ = 5 units.
c = [0.1, 0.1, …. ,0.1] day (collection time)
t = [1, 1, …… ,1] day (transfer time)
The value added structure is carried for the experiment. We consider only case 1 of
model 1 because of the similarity between the control structures obtained using models 1
and 2. The results are displayed in Table 3.7. For the parameters described above, when
the increase in holding costs is gradual, there are only 2 control points. For example,
whether the holding costs go from 1 to 20 in steps of 1 or from 1 to 1000 in steps of 50, a
two control point solution is optimal. However, when the holding costs are [1, 2,…19,
24] stages 1, 4, and 20 are selected as control points. When the holding costs are [1, 2, …
80
19, 25 (and above)], the optimal solution changes to 2, 19, and 20 as control points.
Clearly, the holding cost at the final stage has a significant impact on the control
structure. In a postponement type strategy where the maximum value-added strategies are
carried out at the end, the model tries to push more control points to the end.
When the holding cost increases in batches, with the first five stages having a holding
cost of 1, the next five having a holding cost of 50, the next five 100, and the final five
150 ([1,...,1,50,…,50,100,…,100,150,…150]), the result is similar to the gradually
increasing holding cost case. A two control point solution is optimal with control points
at stages 5 and 20. When we have a structure where the holding cost for the first ten
stages is 50 and for the next ten stages is 100, a single control point is optimal. However,
when the holding cost for the next ten stages increases above 130, two control points are
setup at stages 10 and 20. The same solution is obtained when only the holding cost at the
final stage is changed to 130. and locations will stay the same or move downstream.
From Equation (3.14) it is clear that a single control point is optimal if:
1 1,
j j ij
m
m m
f z hh
z
for all j M . In all of our test cases, the algorithm places a
control point at the first stage where this constraint is violated.
81
Table 3.7: Summary of Experiments in Section 4.3
Holding cost structure n control points cost
[1,…,20] 46 20 2 44373.6
[1,50,…,950,1000] 7 20 2 2.16E6
[1,2,…19,24] 42 20 4 1 25805
[1,2,…19,25] 41 20 19 2 25974.2
[1,…,1,50,…,50,100,…,100,150,…,150] 17 20 5 175121
[50,…,50,100,…,100] 21 20 172468
[50,…,50,130,…,130] 18 20 10 207247
[50,…,50,100,…,100,130] 18 20 10 180847
[1,…,1,10,100,1000] 7 20 19 18 17 144164
82
CHAPTER 4: MULTI-PRODUCT STOCHASTIC MODEL
4.1 Introduction
In the previous chapter, we discussed the issue of locating control points for a shop
manufacturing a single part type, where the part visits each machine once. Queuing
aspects were not considered. Processing times were assumed to be deterministic. In this
chapter, we extend the models in the previous chapter to a multi-product serial system.
Service times and demand interarrival times are now assumed to be random. We assume
that sufficient average capacity is available. Since more than one product type is
produced, the products compete with each other for the limited machine resources. This
results in an increase in the production lead time mean and variance at each stage as
compared to the models in the previous chapter. This increase is due to the additional
time spent by each part, waiting for service. We still assume a serial product flowing
through all stages, i.e., product merge/split issues are not considered. We model the
system as a GI/G/1 queue and determine the approximate waiting times by using a
Decomposition/Recomposition Technique modeled after Shantikumar and Buzacott
(1981). We then build a simulation model to test the accuracy of our expression. This
model is described in Chapter 5. Although an approximation, we believe that an open
queueing network model for flow between stages within a control section will be accurate
unless the system is consistently operating above capacity. Since we have assumed
sufficient average capacity, this situation will not occur too often.
83
4.2 Assumptions
All products have the same set of control points. This assumption is reasonable
because it makes the system easier to operate when the manufacturing system
produces a large number of parts.
All products have the same serial flow. The modeling assumption is applicable for
p distinct products or p customized versions of a single product type.
Sufficient average capacity is available.
Raw materials are always available.
The waiting time for a transporter is assumed to be known.
FCFS queuing discipline is assumed.
84
4.3 Model Formulation
The notation used in this model is as follows:
p - product index (p = 1…P)
ci - collection time for kanbans at stage i
( )pf d - probability density function of demand per time for product p at stage m.
2( ) , ( )p p p p pE D V
if - Fixed cost per time for locating and maintaining inventory at stage i
- Percentage of orders satisfied without delay (service rate)
z - Standard Normal Variate such that { }P Z Z
M - Set of all stages {1, …., m}
iph - Inventory holding cost per unit per period of product p at stage i, i M
ipL - Production Lead time at stage i for product p (total time spent by each unit of
product p at machine i)
ti - transport time from stage i to stage i+1 (including time to wait for move if
applicable)
iX - 1 if stage is a control point
0 otherwise
i
ijY - 1 if stage is a control point that serves stage
0 otherwise
j i
ijY defined for , 1,....,j i i m
85
ipa - Setup cost plus material handling cost per container of product p at stage i
pn - Container size for product p
ijp - Lead time from stage i to stage j for product p, defined for i being the first stage in a
control section
ip - Processing time for each unit of product p at machine i
ipS - Setup time for part p at machine i
iqW - Expected average waiting time (in queue) at machine i
ip - Average arrival rate of product p containers at machine i
ip - Average service rate of product p containers at machine i
i - Traffic intensity at machine i
In order to determine the control structure, we need to know the container size for each
product. We use a model, similar to the ones described in Karmarkar et al (1985) and
Karmarkar (1987). We first determine the expected waiting time and processing time for
each part type at each machine separately. The equations are as follows:
( )iip q ip p ipL W S n (4.1)
1
1
j j
ijp j rp r
r i r i
c L t
(4.2)
p
ip
p
D
n
(4.3)
86
1
P
i ip
p
(4.4)
1 1
( )i
ip
ip q ip p ipL W S n
(4.5)
1
Pip
p ip
i
i
E
, (4.6)
where iE is the expected service time at machine i
1
Pip
i
p ip
(4.7)
Thus, the lead time equation (4.1) now includes the time spent by a part waiting for
service. Equation (4.2) states that ijp , the total lead time for a container from the time its
kanban is removed at stage j until it reenters the buffer at stage j with replenished stock,
is the sum of kanban collection at the final stage, production at each stage, and transit
between stages within the control section. Equations (4.3) through (4.7) determine the
queuing parameters (See Karmarkar (1987) for details).
The expected waiting time can be approximated by the following GI/G/1 approximation:
2 2
( )2 1
i i
i
a iq ip p ip
i
C CW S n
(4.8)
For an M/M/1 system, Equation(4.8) reduces to:
(1 )i
iq
i i
W
(4.9)
87
Here, 2
iC is the squared coefficient of variance (scv) of service times at stage i and is
given by:
2
2
Var[ ]
{ [ ] }i
i
i
CE
(4.10)
[ ]iE is given in Equation (4.6). Var[ ]i is determined from the distribution of the
service process at each machine.
To determine 2
iaC , the scv of interarrival times, each workstation is treated as a separate
GI/G/1 queue. Arrivals to a workstation are treated as a renewal process. The mean time
between arrivals is still the reciprocal of the effective arrival rate. If 2
jdC is the scv of the
time between departures at j, 2
iaC , the scv of interarrival times can be calculated by
solving the following system of linear equations:
2 2 2 2 2 2
1 1
(1 ) ( 1 ) 1k i k
m me
k ki k a i a k ki ki k ki i
k k
p C C p p C p i m
(4.11)
(for derivation details the reader is referred to Shantikumar and Buzacott [1981])
where e
i is the external arrival rate to workstation i. Note that in our situation, e
i is zero
for all workstations except the last one, i.e.,
1
0 for ,
e Ppi
p p
i M i m
Di m
n
(4.12)
88
kip is the probability with which a job transfers from station k to station i on completion
at k. Since we have assumed a serial production system, kip is either 1 or 0 and
1
1m
ki
k
p i M
(4.13)
In our situation, there exists a unique 1jij M p for each i. Let j(i) indicate
1jij p . Equation (4.11) reduces to:
( ) ( )
2 2 2 2 2
( ) ( ) ( ) ( )(1 ) ( )j i i j i
e
j i j i a i a j i j i iC C C i M (4.14)
Therefore,
( ) ( ) ( )
2 2 2 2
( ) ( )2{ ( ) }
j i j i j i
i
e
i j i j i a a
a
i
C C CC
(4.15)
Additionally, the following rules apply:
Rule 1: Arrivals at the first stage in the last control section are generated by
customer demand, aggregated into batches of size defined by the container size.
Rule 2: At the first stage in all other control sections, arrivals are generated by the
first stage in the next control section.
Rule 3: At all other stages, arrivals are generated by the previous stage.
Note that,
1, 1 where 1j i ijp Y 1 1iX . (4.16)
89
We summarize the flow relations as:
If 1 1iX then:
1, 1 for smallest index > and 1
0 otherwise
j i j
ji
p j i X
p
(4.17)
If 1 0iX then:
1, 1
0 -1
i i
ji
p
p j i
(4.18)
Consider a hypothetical case in a six-stage serial system where stages 4 and 6 are chosen
as control points. This situation is shown in Figure 4.1. Conceptually, in this system,
arrivals at stages 2, 3, and 6 are generated by stages 1, 2, and 5 respectively. Arrivals at
stage 1 are generated by stage 5 and arrivals at stage 5 are generated by end customer
demand.
1 5 3 2
Flow of material
Flow of information
i Workstation i
buffer
4 6
Figure 4.1: Hypothetical structure where stages 4 and 6 are control points
Therefore , if stage i is the first stage in the last control section (Case 1), then:
90
For deterministic arrivals,2 0iaC . Otherwise, for each part type, p,
2
iaC is the scv of an
entire container. Therefore, ,
2
i paC , the scv for each product at the first stage in the last CS,
can be calculated from the distribution of the sum of np end customer demands. For
exponential end customer demand arrivals, the distribution of the entire container is a
gamma random variable with a mean of (n/Dp) and a variance of (n/Dp2). Therefore:
,
2 1i pa
p
Cn
2
iaC is the weighted sum of the scv for each product:
12
1
/
i
P
p p
p
a P
p
p
D n
C
D
(4.19)
If stage i is the first stage in a control section and stage l is the first stage in the next
control section (Case 2), then:
2 2 2 2
2{ ( ) }
l l l
i
e
i l l a a
a
i
C C CC
(4.20)
If stage i is not the first stage in a control section (Case 3) then:
1 1 1
2 2 2 2
12{ ( ) }
i i i
i
e
i j i a a
a
i
C C CC
(4.21)
In order to combine Equations (4.19) through (4.21), we define a new variable, ij as
follows:
91
1 if stage is the first stage in control section
0 otherwiseib
i b
Then,
1 1 1
2 2 2 2
1 12
12 2 2 2
, 1
1
{ ( ) }(1 )
{ ( ) }
( ) 1 ,
i i i
i
l l l
e
i i i a a
a ib
i
me
i l b l l a a
l iib
i
C C CC
C C C
i m i b
(4.22)
To determine ib
Let bi represent the control section in which stage i is. bi is a function of the total number
of control points before stage i. For example, in Figure 1, b is 1 for stages 1, 2, and 3 and
2 for stages 4, 5, and 6.
( ) 1i j
j i
b X
(4.23)
The subscript i in Equation(4.23) indicates that b is calculated for each stage.
ib is therefore 1 if both, i and bi are 1 and zero otherwise. Therefore:
1
if 1
max{0, } otherwise
i
ib
i i
b i
b b
(4.24)
92
4.4 Determining the Control Points
Assuming that the container sizes for each product are known, the optimal set of control
points can be determined by solving the following problem:
1 1
1
1 1
( 1)
2
( )
P Pip p mp p
i i
i M i M p pp
P P
jp j ij ijp ip ip i
j M p i j i M p
a D h nMin f X
n
z h X Y h L t D
(4.25)
Subject to:
1ij
j i
Y i M
(4.26)
, ,ij jY X i j M i j (4.27)
1, ,ij i jY Y i j M (4.28)
1mX (4.29)
[0,1]jX j M (4.30)
[0,1] ,ijY i j M (4.31)
Here, the objective function, Equation (4.25), minimizes the sum of the total location
cost, setup cost, work-in-process (WIP) inventory holding cost and finished goods
inventory cost for partial containers, safety stock holding cost. The first term in the
objective function represents the fixed cost of locating a control point. The second term
represents the total period setup and material cost. The third term represents the WIP
93
inventory holding cost of the partial container available for final demand where we
assume units are consumed one at a time. The fourth term represents the safety stock
holding cost at each control point. Note that in evaluating the safety stock, we assume
that the number of kanbans is continuous. A more accurate technique of calculating the
number of kanbans is described in Section 5.1.1. The fifth term represents WIP inventory
cost for units flowing through the system.
Once again we will use the shortest path transformation for locating the control points.
Consider stage 0 to be the input stage. Also, let Moj be the cost of selecting stage j as the
first inventory control point and Mjk, the cost of having j and k as two consecutive control
points. Also define
1 if stages and are two consecutive control points
0 otherwiseij
i jx
The ijx ‟s can be thought of as arcs connecting successive control points. Then, the above
formulation ((4.25) to(4.31)) can be modified as a shortest path problem as shown in
Chapter 3 as:
ij ij
i M j M
Min M x
(4.32)
Subject to:
1 if 0
0 if 0 or where , , ,
1 if
ij km
k M
i
x x i m i j k M k i j
i m
j M
(4.33)
94
[0,1] ,ijx i j M (4.34)
If np is fixed, 1
1 1
( 1)
2
P Pip p mp p
i M p pp
a D h nk
n
, is a constant for all feasible solutions.
Thus, in order to find the optimal solution to the model, we can ignore these two terms
from the objective function. In general:
1 1,
1 1 1
( )k P P
jk k ip ip i p kp j kp
i j p p
M f h L t D z h
(4.35)
Theorem 1 can be modified for evaluating the shortest path model in this case.
Theorem 3: For the cost structure defined in Equation (4.35), a single control point is
always optimal, i.e., stage m is the only control point, if for all stages j,
1 1 1,
1
1 1 1
1 1 1 1 1 1
( ) ( ) ( )
P
j mp mp jp jp mp j mp
p
jm P P m P
ip p ip i ip p ip i ip p ip i
i p i p i j p
f z h h h
h D L t h D L t h D L t
.
Proof: The proof follows the same procedure used in Theorem 1.
95
4.5 Determining Container Sizes
The formulation in Section 4.4 assumes that the container sizes are known. The
formulation for determining the optimal container sizes remains the same, with additional
constraints:
max
p in n i M (4.36)
0 1...pn p P (4.37)
1i i M (4.38)
Equation (4.38) can be rewritten as:
1
( ) 1P
p
ip p ip
p p
DS n
n
(4.39)
The decision variables here are np, Xj, and Yij. We consider two cases here:
Case 1 – Equal container sizes: Every product has the same container size n.
The above formulation is modified to:
1
i M 1 1 1 1
( 1)Min ( )
2
P P P Pip p mp
ip ip i p jp j ij ijp
p i M p j M p i j p
a D h nh L t D z h X Y
n
(4.40)
Subject to:
1ij
j i
Y i M
(4.41)
, ,ij jY X i j M i j (4.42)
96
1, ,ij i jY Y i j M (4.43)
1mX (4.44)
[0,1]jX j M (4.45)
[0,1] ,ijY i j M (4.46)
max
in n i M (4.47)
0n (4.48)
1i i M (4.49)
Constraint (4.49) can be rewritten as:
1
1
(1 )
P
p ip
p
P
ip
p
D S
n
(4.50)
We can solve (4.40) as an unconstrained optimization problem. The optimal container
size is then (the derivation is similar to the single product one shown in Chapter 3):
1
'
'
1 1
2
( )
( )i
i
P
ip ip
i M popt
j
rp qP Pr i
ij ip ip p q
j M i j p i M pijp
a D
n
W
z Z h D W
(4.51)
97
Constraint (4.50) gives us a lower limit on the container size, nmin (1
min
1
(1 )
P
p ip
p
P
ip
p
D S
n
).
Therefore, the optimal container size, * max( , )opt
minn n n
where ' i
i
q
q
dWW
dn . Because the waiting time at a stage depends on its location in the
control section, it is convenient to calculate '
iqW numerically. Here,
2 2
1
1
2 2
1
1
( ) ( )( ) ( 1) ( )
21
( 1) ( 1) 1( ( 1))
21
1
i i
i i
i i
Pp
p
a p
q q ip pPp
p
p
Pp
p
a p
ip pPp
p
p
Dp
C n C n nW n W n S n
Dp
n
Dp
C n C n nS n
Dp
n
The solution procedures in this case are similar to the ones described in Section 3.1.4.
Note that when setup costs are zero, the optimal solution is to have the same n for all p
products. This is clear from the objective function(4.40). Here, the objective function is
minimized when each np is 1.
Case 2 – Product dependent container size: The container size once again does not vary
across sections but each product has a different container size. The optimal container
sizes can be determined by solving the formulation given in Equations (4.25) to (4.31)
and (4.36) (4.38). Due to the interaction between the different products, finding a closed
98
form is not as trivial as in Case 1 and the container sizes and the control structure can be
determined by solving the Mixed Integer Non-Linear Programming (MINLP) problem.
4.6 Computational Results
Experiments are conducted to answer the following questions:
Does the control structure differ for a stochastic model and a deterministic model?
Is the control structure dependent on the number of products? As the number of
products increases, does the number of control points decrease?
The experiment design is described in Section 4.6.1.
4.6.1 Experiment Design
The following parameters are used:
P = 1, 2, 5, and 20 (number of products)
Dp = D/p (Daily demand for each product) – we assume that every product has
the same demand rate.
End customer demand distribution = deterministic, exponential with rate D/p
Sip = 0 (Setup time in days for a container of parts)
t = 0, 0.5 (transportation time in days for a container of parts)
c = 0.1 (collection time in days for a kanban)
m = 6, 20 (total number of stages)
99
All products are assumed to have the same Uniform processing time
distribution per unit. To calculate the upper and lower bounds, utilization
factors of 60% and 90% are used. Utilization is the ratio of number of arrivals
of containers per day to the number containers of parts served during the day.
Therefore,
1 1
10.6 or 0.9
1/( )
P Pp p
i ip p ip
p pp ip p ip p
D DS D
n S n n
(4.52)
Since the setup time in our experiments is equal to zero at all stages and the
demand per product is known, the processing time per product can be easily
computed from the above equation.
Holding cost ratio: ratio of hm to h1 = 6 and 20
Value added structure: increase in h from stage 1 to stage m = linear and
delayed capitalization. Figure 4.2 plots the holding cost increase for the
delayed linear pattern and Figure 4.3 for the capitalization pattern.
100
Figure 4.2: Graph showing holding cost at each stage for a 20 stage system with linear
growth. The dotted line indicates a holding cost ratio of 20, while the solid line indicates
a holding cost ratio of 6.
0
2
4
6
8
10
12
14
16
18
20
0 2 4 6 8 10 12 14 16 18 20
Holding cost
Sta
ge h(20)
h(6)
101
Figure 4.3: Graph showing holding cost at each stage for a 20 stage system with delayed
capitalization. The dotted line indicates a holding cost ratio of 20, while the solid line
indicates a holding cost ratio of 6.
This results in a total of 128 design points. The container size for each product is
determined assuming a single control point. For simplicity, we assume ' 0iqW .
0
2
4
6
8
10
12
14
16
18
20
0 2 4 6 8 10 12 14 16 18 20
Holding cost
Sta
ge
h(20)
h(6)
102
4.6.2 Discussion of Results
The effect of various factors on the system cost and control structure is discussed in this
Section.
4.6.2.1 Effect of factors on cost and control structure: Table 4.1 summarizes the results of
the experiments. Column A and B list the main effect of each factor on system cost and
the number of control points located respectively. Column C lists the total number of
solutions with multiple control points for each level while Column D lists the maximum
number of control points obtained for each factor level. A complete design table is
provided in Appendix 3.
103
Table 4.1: Summary of experiments described in Section 4.6.1
A B C D
Avg. cost Avg. # CP
# of multiple CP
solutions Max CP
Prod
1 2366 1.09 3 2
2 2577.2 1.13 4 2
5 3185 1.25 7 3
20 6011 1.41 10 3
Stage 6 2291.7 1.17 10 2
20 4777.9 1.27 14 3
h-ratio 6 2008.8 1.11 7 2
20 5060.8 1.33 17 3
h-pattern linear 4539.7 1.08 5 2
delayed comp. 2529.9 1.36 19 3
Arr. Dist. det 2500.9 1.11 6 3
expo 4568.7 1.33 18 3
t 0 890.7 1 0 1
0.5 6178.9 1.44 24 3
Figure 4.3 is a plot of the effect of the various factors on system cost. As expected, the
average cost goes up with the number of products even though the total demand across all
products remains the same. This is due to the increase in the number of parts in the
system at a given time. Similarly, the average cost increases with an increase in the
number of stages, holding cost ratio, and the transportation time. Also, the cost with
deterministic demand is lower than the cost with exponential demand. The average cost
for a delayed compensation model is lower than that for the models with linear increase
in holding costs. The reasons are discussed in Section 4.6.2.2.
104
Figure 4.4: Graph showing the effect of each factor on system cost.
Figure 4.5 is a plot of the effect of the various factors on the number of control points.
From the Figure, it is obvious that the average number of control points increases with
the number of products. Section 4.6.2.3 discusses the true difference in cost, taking into
account the time average of inventory value. The average number of control points
located also increases with the number of stages, holding cost ratio, and the transportation
time. Additionally, there is an increase in the average number of control points when the
arrival distribution changes from deterministic to exponential.
20521
6000
4000
2000
206 206
del_complin
6000
4000
2000
detexpo 0.50.0
prod
Me
an
stage h-ratio
h-pattern arr dist t
Main Effects Plot for cost
Data Means
105
Figure 4.5: Graph showing the effect of each factor on system control structure.
4.6.2.2 Effect of holding cost distribution: The average number of control points
increases as we move from a linear increase in holding costs to a delayed differentiation
scenario. This is consistent with the observations for the single product model (see
Section 3.3.3). The average cost however goes down for a delayed differentiation model.
It is clear that in a delayed differentiation model, cost is reduced by locating more control
points at earlier stages where the holding costs are lower.
4.6.2.3 Effect of number of products: Since all products have the same set of control
points, an increase in the number of products obviously results in a corresponding
20521
1.4
1.3
1.2
1.1
1.0
206 206
del_complin
1.4
1.3
1.2
1.1
1.0
detexpo 0.50.0
prod
Me
an
stage h-ratio
h-pattern arr dist t
Main Effects Plot for num cpData Means
106
increase in the total holding cost at the control points. Figure 4.6 plots the effect of the
number of products on total cost for different values of the transportation time. From the
figure, it is clear that the total cost is directly related to the number of products held at
that stage and the lead time demand that is to be satisfied.
Therefore, having more control points not only decreases the number of parts held at each
control point but also reduces the transportation lead time that needs to be accounted for.
Figure 4.7, which plots the effect of the number of products on the ratio of total average
cost to the number of control points for different values of the transportation time shows
that the model tries to keep the ratio constant as the number of products increases. Figure
4.8 plots the combined effect of number of products and number of stages the system
control structure. It is clear from the figure that the average number of control points
increases consistently with an increase in the number of products, irrespective of the
number of stages in the manufacturing system.
107
Figure 4.6: Graph showing the combined effect of transportation time and number of
products on the average cost.
Effect of number of products on cost
1378.1
633.6 713.7 837.4
4098.4
4440.7 5532.6
10644
0
2000
4000
6000
8000
10000
12000
0 5 10 15 20
# of products
t=0.0
t=0.5
To
tal C
os
t
108
Figure 4.7: Graph showing the combined effect of transportation time and number of
products on the ratio of total cost to the number of control points.
0.50.0
7000
6000
5000
4000
3000
2000
1000
0
t
Me
an
1
2
5
20
prod
Interaction Plot for cost/cp
Data Means
109
Figure 4.8: Graph showing the combined effect of number of stages and number
of products on the system control structure.
206
1.45
1.40
1.35
1.30
1.25
1.20
1.15
1.10
1.05
stage
Me
an
1
2
5
20
prod
Interaction Plot for num cp
Data Means
110
CHAPTER 5: MODEL VERIFICATION AND VALIDATION
A simulation model is built in Arena to verify the validity of our mathematical models. A
separate model is constructed for each control system architecture. We first discuss the
single part deterministic model. Additionally, comparative results for the models in
Chapters 3 and 4 with the simulation model will be presented.
5.1 Simulation Model logic
In this Section, the logic behind the simulation model is presented.
5.1.1 Determining the Number of Kanbans
We use the following equation to determine the number of kanbans in any control secti
on:
1 1* ( ) ( )j ij i i j j j ij i i
i j j M i j
j
D c Y L t z h X c Y L t
kn
(5.1)
The first term in the numerator of Equation (5.1) represents the total lead time demand,
and the second term represents the safety stock. Since each kanban authorizes the
111
production of one container of parts, the expression is normalized by the container size.
The number of kanbans in process at any time at the control section controlled by stage j
is determined using Little‟s law, p
j j ijk , where p
jk is the number of kanbans in
process, ij is the total processing time for a container of parts, and j is the arrival rate of
orders for containers. Here, i is the first stage in the control section controlled by stage j.
5.1.2 Creation of Orders
The logic for the single-part, single control point model will be discussed in this section.
Figure 5.1 shows the arrival of orders in the system. We model the arrival of containers
of parts, rather than individual parts in this simulation model. Since the demand for parts
is D units every day and each container n parts, this corresponds to the arrival of an order
for a container order every n/D days on an average. The orders enter an orders queue and
wait there until they receive a signal code of 231. The logic for this signal code is shown
in Figure 5.2 and is explained in Section 5.1.3.
113
5.1.3 Simulation Logic
An entity is created every 0.01 days (to ensure that this even occurs more often than the
arrival and service events, thus ensuring more accurate wait times) and it checks to see if
there are containers parts waiting in the output queue of workstation 6 and in the orders
queue. If so, a signal code of 231 is generated. This signal results in the removal of a
single container of part from the output queue of machine 6 and one order from the orders
queue. Once a container of parts is removed from the output queue of workstation 6, the
number of kanbans at workstation 6 is incremented by after c days. Note that in our
model the kanban is modeled as a variable, rather than an entity for simplicity. Figure 5.3
shows the workstations. The logic is discussed in the following Section.
114
Figure 5.3: Workstations
5.1.4 Creation of Entities Corresponding to Containers of Parts and Workstation Logic
The number of kanbans at each control section is first calculated as described in Section
5.1.1. Each kanban corresponds to a container of parts. Initially, at time zero, k6
containers of parts are introduced at stage 1 in a single control section environment and at
the first stage of each control section in an environment with multiple control sections.
For each entity that enters into the system, the number of kanbans at stage 6 is
decremented by one. This corresponds to the removal of a kanban from the schedule
board and placing it into a container. Entities that finish processing at one workstation are
either transported to the next workstation (for entities coming out of workstations 1
115
through 5) or they are sent to the output queue at workstation 6. At the output queue,
these entities wait for signal code 231 (discussed in Section 5.1.3). Once an entity gets a
signal, it is duplicated. One of these duplicate entities is sent to an input queue (thus
keeping the WIP in the system constant) where it waits for a signal 123, while the other
increments the number of kanbans by one after a delay corresponding to the collection
time, after which it is disposed. Figure 5.4 shows the logic for signal code 123. An entity
is created every 0.01 days, which checks to see if there are any kanbans in the schedule
board. If there is, a container of parts (one entity) is released into the system.
116
Figure 5.4: Logic for signal code: 123
The cost expression is:
66
6 6
1
6 6
1 1
( -1)( ( ) / ) ( )
2
( ( . ) . + ( . )
i
i
i i i i i
i i
h nf a D n h nq b n
n h nq wss Queue WIP wss h WIP trans
(5.2)
where,
( . )inq wss Queue corresponds to the average number of entities in the input queue for
workstation i.
6( )nq b is the average number of parts in the output queue at workstation 6.
WIP.wssi represents the average WIP inventory at workstation i.
WIP.transi is the average number of containers in the transporter between workstation i
and i+1.
The first term in Equation (5.2) corresponds to the fixed location cost. The second term
corresponds to the setup cost. The third term represents the WIP inventory holding cost
of the partial container available for final demand where we assume units are consumed
one at a time. These three terms are the same as the first three terms in Equation (3.2).
117
The fourth term represents the safety stock holding cost, the fifth term, the WIP holding
cost and the last term, the holding cost during transportation.
Seven workstations are defined in the resources, six representing the six workstations,
and the seventh representing the transportation system (with infinite capacity). The
simulation model is verified by comparing it to a hand simulation model.
118
5.2 Model Validation
In this Section, experiments to validate both the Simulation model and the Mathematical
models described in earlier chapters are described. Note that the simulation model is
allowed to run for twenty three days with one replication (with a startup period of three
days) for the deterministic models and one hundred and fifty days, with 20 replications
(with a startup period of 20 days) for the stochastic models. Costs are averaged to find the
average daily cost.
5.2.1 Methods to Ensure That Both Models Are Equivalent
The mathematical model assumes a real number of kanbans while calculating the safety
stock inventory, whereas the simulation model rounds it up the next highest integer. The
following two methods are provided to ensure consistency between the simulation model
and the mathematical model:
computing mathematical model costs with integer number of kanbans (as
described in Section 5.1.1).
running simulation model with increased container collection time to reflect
partial container. Thus: ( )new
nc c k k
D
.
For our models, we use the first technique.
119
5.2.2 Single Product, Deterministic model
An initial experiment is carried out to compare the simulation model with the
mathematical models described in Chapter 3. Only Case 2 is examined. It is clear from
Equation(5.2) that the variables f and a have a fixed effect on the total cost, irrespective
of the location of control points.
f = $100
a = [1, 1, 1, 1, 1, 1]
h = [1,2,3,4,5,6], [1,2,3,4,5,12], [1,1,1,1,1,1]
D = 100 units per day (deterministic)
n = 10, 20, 30, 50 units
α = 0.99 (service level)
σ = 0.01 units (for calculating safety stock levels)
c = [0.1, 0.1, 0.1, 0.1, 0.1, 0.1] day (collection time)
t = [0.1, 0.1, 0.1, 0.1, 0.1, 0.1], [0.01, 0.01, 0.01, 0.01, 0.01, 0.01] day (transfer
time)
s = 0.05
p = 0.005
w = 1
120
The results of the simulation model are compared with a hand simulation for validation.
The results of the experiment are shown in Table 5.1. The total WIP holding cost during
production and transportation, Safety stock holding cost, and the total cost are compared
for the simulation model and the mathematical model for different design configurations.
In order to ensure a level playing field, the number of kanbans is rounded up to the
nearest integer in calculating safety stocks for the mathematical model. It is clear that in
general, the simulation model and the mathematical model follow the same pattern and
the cost components are almost identical for both models. The average cost difference
between the two models, 32
1
( )0.018.r r
r r
SC OC
SC
Here, SCr is the simulation cost for
design run r, while OCr is the mathematical model cost for design run r.
It is also to be noted that both the simulation model and mathematical model behave in a
similar manner to changes in the container size. Additionally, it is noted that when a two
control point solution is optimal for the mathematical model, the simulation cost for a
single control point solution is higher than that for a two-control-point solution (not
indicated in Table 5.1).
121
Table 5.1: Results of experiments described in Section 5.2.2
Simulation Mathematical Model
L h n t (in days) WIP Trans SS Cost WIP+trans SS Cost
0.1 [1,1,1,1,1,1] 10 0.1 60.01 50 19.063 283.56 110 10 284.5
0.1 [1,2,3,4,5,6] 10 0.1 209.97 200 54.36 651.34 410 60 657
0.1 [1,2,3,4,5,6,12] 10 0.1 269.94 260 108.72 852.67 530 120 864
0.1 [1,2,3,4,10,100] 10 0.1 1317.4 1190.9 1059 4277.4 2390 1300 4400
0.15 [1,1,1,1,1,1] 20 0.1 89.83 49.95 9.33 288.61 140 10 289.5
0.15 [1,2,3,4,5,6] 20 0.1 313.97 199.59 55.99 756.56 515 60 762
0.15 [1,2,3,4,5,6,12] 20 0.1 402.86 259.29 111.97 1018.1 665 120 1029
0.15 [1,2,3,4,10,100] 20 0.1 1800.2 1192.1 574.34 4746.6 2990 900 5070
0.2 [1,1,1,1,1,1] 30 0.1 119.67 49.6 29.84 333.61 170 30 334.5
0.2 [1,2,3,4,5,6] 30 0.1 417.42 198.09 179.06 1001.5 620 180 1007
0.2 [1,2,3,4,5,6,12] 30 0.1 534.91 256.88 358.13 1443.9 800 360 1454
0.2 [1,2,3,4,10,100] 30 0.1 2407.6 1188.8 2225.7 7492.2 3590 1450 7860
0.3 [1,1,1,1,1,1] 50 0.1 180.37 50.23 8.67 375.77 230 10 376.5
0.3 [1,2,3,4,5,6] 50 0.1 629.17 119.44 52.03 1139.6 830 60 1149
0.3 [1,2,3,4,5,6,12] 50 0.1 808.56 258.24 104.05 1576.8 1070 120 1596
0.3 [1,2,3,4,10,100] 50 0.1 3670.9 1196.2 5214.8 12744 4790 5900 13352
0.1 [1,1,1,1,1,1] 10 0.01 60.01 5 4.06 233.56 65 5 234.5
0.1 [1,2,3,4,5,6] 10 0.01 210.01 20 24.33 441.34 230 30 447
0.1 [1,2,3,4,5,6,12] 10 0.01 270.01 26 48.66 558.67 296 60 570
0.1 [1,2,3,4,10,100] 10 0.01 1319.4 119 1434.4 2967.4 1319 1070 3099
0.15 [1,1,1,1,1,1] 20 0.01 90.01 5.005 14.1 248.61 95 15 249.5
0.15 [1,2,3,4,5,6] 20 0.01 314.94 20.05 84.57 606.56 335 90 612
0.15 [1,2,3,4,5,6,12] 20 0.01 405.03 26.08 169.14 844.26 431 180 855
0.15 [1,2,3,4,10,100] 20 0.01 1802.3 119 1434.4 4535.8 1919 1670 4769
0.2 [1,1,1,1,1,1] 30 0.01 119.96 5.005 14.14 273.61 125 15 274.5
0.2 [1,2,3,4,5,6] 30 0.01 419.75 20.04 84.82 731.6 440 90 737
0.2 [1,2,3,4,5,6,12] 30 0.01 539.51 26.1 169.63 1029.2 566 180 1040
0.2 [1,2,3,4,10,100] 30 0.01 2409 118.4 2884.2 7081.7 2519 3170 7359
0.3 [1,1,1,1,1,1] 50 0.01 179.29 4.98 5.005 325.77 185 5 326.5
0.3 [1,2,3,4,5,6] 50 0.01 625.42 19.85 30.03 934.3 650 30 939
0.3 [1,2,3,4,5,6,12] 50 0.01 801.8 25.73 60.06 1293.5 836 60 1302
0.3 [1,2,3,4,10,100] 50 0.01 3645.3 119.33 1125.3 7552 3719 1570 7951
122
5.2.3 Single Product Stochastic Model
We continue to use deterministic service times in this Section but interarrival times are
stochastic. This may result in an increase in wait times in the system. We still compare
the results of the simulation model to those of the single product, deterministic model
described in Chapter 3. The model parameters are:
[ ]E = 100 units/ day = 100/n containers per day
L = 0.05 + 0.005n days
The holding costs and setup costs are as described in the previous section.
t = 0.1, 0.01 days
Interarrival time (in days) for an order for a part:
o Case 1: Exponential with parameter 100 ( )
o Case 2: Gaussian with parameters (0.01, 0.001) ( , )
To determine the number of kanbans, we need to first determine the distribution of
arrivals during the lead time . The probability that there are a or more arrivals during the
lead time is equal to the probability that the ath
arrival occurs before time . The
distribution of arrivals can be found by calculating the probability that there are exactly n
arrivals during the lead time. Thus:
{ ( ) } { ( ) } { ( ) 1}P N a P N a P N t a or
1{ ( ) } { } { }a aP N a P S P S
123
When the interarrival time between orders for individual parts is exponential with
parameter , the number of orders that arrive during a given time is given by a
Poisson distribution with a rate of . Therefore the number of parts that arrive
during the lead time is given by and has a variance of too.
When the interarrival time between orders for individual parts is Normal ( , ) ,
the number of arrivals during a day is empirically determined by generating 1000
inter-arrival times and analyzing the distribution of number of arrivals during a
given time period. The distribution for daily arrivals is approximately with a mean
of 10 and a standard deviation of 1. (Note that this is in tune with the predictions
of the Central Limit Theorem for renewal processes, which states that the limiting
distribution of number of arrivals is approximately Normal.)
The simulation model lumps orders together into containers. Therefore, for Case 1, with
exponential inter-arrival times between orders for individual parts the arrival of orders for
a container of parts follows a Gamma distribution with parameters 1/ and n. For Case
2, the distribution is Normal with a mean of n and a variance of 2n . Table 5.2
contains the results of the model for Case 1 while Table 5.3 contains the results for Case
2. It is clear from the Table that even with a high variance in the arrival distribution; the
deterministic mathematical model is reasonably accurate. The average cost difference
between the two models, 32
1
( )0.38r r
r r
SC OC
SC
with Exponential demand and 0.55 with
Normal demand. Again, SCr is the simulation cost for design run r, while OCr is the
optimization model cost for design run r. The 95% confidence interval for the simulation
124
cost is $2835.6 ± 27.37 with an Exponential demand distribution and $2578.1 ± 11.56
with a Normal demand distribution.
Table 5.2: Results for a single product with Exponential demand.
Simulation Mathematical Model
h n t (in days) WIP Trans SS Cost WIP+trans SS Cost
[1,1,1,1,1,1] 10 0.1 76.67 48.3 24.25 313.72 110 30 304.5
[1,2,3,4,5,6] 10 0.1 221.57 193.21 145.51 747.3 410 180 777
[1,2,3,4,5,6,12] 10 0.1 279.54 251.18 291.02 1035.7 530 360 1104
[1,2,3,4,10,100] 10 0.1 2837 1146.7 1460.4 6154.2 2390 2300 5400
[1,1,1,1,1,1] 20 0.1 86.84 48.02 35.16 309.51 140 30 309.5
[1,2,3,4,5,6] 20 0.1 303.43 192.04 210.93 893.41 515 180 882
[1,2,3,4,5,6,12] 20 0.1 390.62 249.7 421.86 1306.1 665 360 1269
[1,2,3,4,10,100] 20 0.1 1771.1 1150.1 2937.2 7038.5 2990 2850 7020
[1,1,1,1,1,1] 30 0.1 117.58 48.94 63.48 364.49 170 60 364.5
[1,2,3,4,5,6] 30 0.1 413.05 196.17 380.86 1197 620 360 1187
[1,2,3,4,5,6,12] 30 0.1 531.15 255.2 761.72 1842 800 720 1814
[1,2,3,4,10,100] 30 0.1 2339.4 1160 2377.5 7547 3590 2300 7560
[1,1,1,1,1,1] 50 0.1 183.72 51.32 54.43 425.97 230 60 426.5
[1,2,3,4,5,6] 50 0.1 644.73 205.09 326.6 1435.4 830 360 1449
[1,2,3,4,5,6,12] 50 0.1 831.65 267.32 653.21 2158.1 1070 720 2196
[1,2,3,4,10,100] 50 0.1 3579.1 1174.9 5185.8 12601 4790 5500 12952
125
Table 5.3: Results for a single product with Normal demand.
Simulation Mathematical Model
h n t (in days) WIP Trans SS Cost WIP+trans SS Cost
[1,1,1,1,1,1] 10 0.1 61.89 49.85 8.86 285.1 110 10 284.5
[1,2,3,4,5,6] 10 0.1 211.44 199.4 53.17 651.01 410 60 657
[1,2,3,4,5,6,12] 10 0.1 271.26 259.22 106.34 805.83 530 120 864
[1,2,3,4,10,100] 10 0.1 1482.3 1187.5 1056.4 4436.3 2390 1100 4200
[1,1,1,1,1,1] 20 0.1 89.72 49.82 10.03 289.07 140 10 289.5
[1,2,3,4,5,6] 20 0.1 314.09 199.25 60.19 760.52 515 60 762
[1,2,3,4,5,6,12] 20 0.1 403.96 259.13 120.37 1027.4 665 120 1029
[1,2,3,4,10,100] 20 0.1 1794.6 1186.4 2792.6 6953.7 2990 650 4820
[1,1,1,1,1,1] 30 0.1 120.9 50.09 28.5 333.99 170 30 334.5
[1,2,3,4,5,6] 30 0.1 424.35 200.8 170.97 1003.1 620 180 1007
[1,2,3,4,5,6,12] 30 0.1 545.1 261.23 361.94 1442.2 800 360 1454
[1,2,3,4,10,100] 30 0.1 2400.1 1183.6 2245.3 7499.1 3590 2300 7560
[1,1,1,1,1,1] 50 0.1 185.26 51.36 2.4 375.52 230 10 376.5
[1,2,3,4,5,6] 50 0.1 646.57 204.44 14.41 1124.4 830 60 1149
[1,2,3,4,5,6,12] 50 0.1 831.11 265.15 28.81 1531 1070 120 1596
[1,2,3,4,10,100] 50 0.1 3659 1193.6 5217.3 12731 4790 5500 12952
5.2.4 Multi Product Stochastic Model
In order to validate the mathematical models developed in Chapter 4, the simulation
models described in Section 5.1 are modified so that each part has a separate input queue.
Raw materials for each product are generated as a separate entity. Moreover, since
processing times and subsequently, number of kanbans are different for each product,
they are now defined as attributes rather than variables. Additionally, separate output
queues are defined for each entity.
126
The parameters used and the results are shown below:
p = 2 products
f = $100
a = [1, 1, 1, 1, 1, 1] for both products
h = [1,2,3,4,5,6] for both products
α = 0.99 (service level)
σ = 0.01 units (for calculating safety stock levels)
c = [0.1, 0.1, 0.1, 0.1, 0.1, 0.1] day (collection time)
t = [0.1, 0.1, 0.1, 0.1, 0.1, 0.1] day (transfer time)
s = 0.05
p = Discrete[0.004, 0.006] (indicating that the processing time at a machine is
either 0.004 days or 0.006 days)
w = 1
n = 15
End customer demand for each product is Exponential with a rate of 50 units per day.
Table 5.4 contains the results of the experiments. The waiting times at each of the six
stages, safety stock cost, WIP and transportation cost and the total cost are listed for each
model. For example, for a container size of 10, the waiting time at the first stage obtained
with the simulation model (Sim) is 0.03691 days, while the waiting time predicted by the
mathematical model (Math) is 0.02553. Similarly, for the second stage, the simulation
127
model gives a waiting time of 0.00912 days while the mathematical model predicts a
waiting time of 0.01399 days.
Table 5.4: Results of experiments described in Section 5.2.4
Cost Sim Math
n=10
Waiting times
0.03691, 0.00912,
0.01103, 0.01217,
0.01319, 0.01395
0.02533, 0.01399,
0.01052, 0.009466,
0.009143, 0.00904
SS 314.43 484.77
WIP+Trans 315.64+197.02 403.52
Total 1009.1 1053.64
n=20
Waiting times
0.08173, 0.00777,
0.00778, 0.00793,
0.00792, 0.00792
0.04525, 0.0112,
0.0094, 0.0086,
0.0083, 0.0081
SS 535.19 534.02
WIP+Trans 293.11 + 165.75 383.55
Total 1176 1137
n=30
Waiting times
0.03689, 0.01622,
0.01869, 0.02199,
0.02602, 0.02852
0.01112, 0.01021,
0.0097, 0.00937,
0.00901, 0.00912
SS 442.75 639.88
WIP+Trans 526.7 + 201.4 504.8
Total 1377.8 1324.16
There is clearly a difference in the waiting times predicted by the mathematical model
and the waiting times given by the simulation model, especially for higher container
sizes. In order to verify if this difference is due to a difference in the squared coefficient
of variation of arrivals, we run another experiment with the following parameters:
128
σ = 0.01 units (for calculating safety stock levels)
c = [0.001, 0.001, 0.001, 0.001, 0.001, 0.001] day (collection time)
t = [0.001, 0.001, 0.001, 0.001, 0.001, 0.001] day (transfer time)
s = 0.004
p = Discrete[0.001, 0.009]
n = 1
The squared coefficient of variation of arrivals and the waiting times at each of the six
stages obtained with the simulation model are:
Simulation:
Ca2 = 0.79, 0.3028, 0.261, 0.26, 0.25, 0.24
Waiting times: 0.03966, 0.02421, 0.01967, 0.02265, 0.02583, 0.02369
The values predicted by the mathematical model are:
Mathematical Model
Ca2 = 1, 0.35, 0.2265, 0.2031, 0.199 , 0.198
Waiting times: 0.0485, 0.02218, 0.01717, 0.01623, 0.01604, 0.01601
It is clear that the squared coefficients of variance are almost alike for the simulation and
mathematical model and the simulation model. The difference in the waiting times can
therefore be attributed to the fact that the formula used for calculating waiting times at
machines are simply approximations.
129
CHAPTER 6: SUMMARY AND CONCLUSIONS
In this dissertation, we have shown that under reasonable conditions on inventory holding
costs, and a predetermined container size, a pull system should combine stages into a
single control sector and use a single output buffer. However, multiple buffers may be
preferable if lead times are significant and the value added between stages is significant.
Choice of container size and minimum production batch can be incorporated into the
model.
Chapter 3 models a single product production system with deterministic arrival and
service times. The shortest path model describes or serves as a useful subproblem for
several extensions of the basic formulation. Although we consider only a single-product
scenario here, the results and theorems in this chapter are valid in a multi-product case if
every product visits the same set of workstations.
Chapter 4 incorporates the stochastic effect of workstation variability, multiple products
and structures, and queuing effects. A similar methodology to the one used in Chapter 3
is used for determining the optimal buffer location. The effect of arrival distribution,
number of products, value added structure, and transit times for containers of parts on the
total system cost and the system control structure is investigated.
130
Finally, in Chapter 5, a simulation model is presented in order to validate the models in
Chapters 3 and 4.
131
APPENDIX A: CODE
Model to determine the optimal continer sizes and optimal control structure for a single-
product, deterministic model:
#include "mainfun.h"
//Global variables
int numstage; //number of stages
int F; //Fixed cost of locating an IC pt
float c; //collection time
float t; //transfer time
float sigma; //std. dev. of daily demand
double z; //std. normal variate
double p; //processing time per unit
double s; //setup time
int D; //Daily demand
double alpha; //service level
int pathlen; //number of nodes on shortest path
double *A;
double *h;
int *nmax;
double old_n; //value of n from previous iteration
vector <vector <double> > M; //cost vector
//int **M;
vector <int> chosen; //stages on shortest path
int n; //batch size
int nupper; // upper bound on n
double batch; //min of max allowable batch sizes
ofstream fout; // for file writing
//Function to calculate batch sizes
double f(double n, double b){
double sumA=0;
double sumH=0;
for(int iter_j=0;iter_j<numstage;iter_j++){
sumA+=A[iter_j+1];
sumH+=h[iter_j+1];
}
double numer = 2*D*sumA; //numerator
//Denominator
132
int temp=pathlen-1;
double den=0;
while (temp>0){
double p_sum=0;
double tau_sum=0;
for(int iter_j=chosen[temp]+1;iter_j<=chosen[temp-
1];iter_j++){
p_sum=p_sum+p;
tau_sum = tau_sum + ( s + p*n) + t;
}
den+=(min(h,numstage)*p_sum/sqrt(c+tau_sum));
//cout<<"den is :\n"<<den;
temp--;
}
den+=h[numstage]+(2*D*sumH*p);
double fract = sqrt(numer/den);
/*
cout<<"\n the value of n: "<<n;
cout<<"\n the value of numer: "<<numer;
cout<<"\n the value of den: "<<den;*/
return(abs(n-fract));
}//end function
//Function to determine n
double golden_search(double b){
double X=0;
double t=0.618034;
double a=0; //lower bound on batch size
double epsilon=0.00001; // Precision
double lambk=a + ((1-t)*(b-a));
double muk=a + t*(b-a);
double fxr=f(lambk,b);
double fxl=f(muk,b);
while((b-a)>epsilon){
if(fxr>fxl){
a=lambk;
lambk=muk;
fxr=fxl;
muk=a+t*(b-a);
fxl=f(muk,b);
}
else{
b=muk;
muk=lambk;
133
fxl=fxr;
lambk=a+(1-t)*(b-a);
fxr=f(lambk,b);
}
}
return((b+a)/2);
}// end function golden
//Function to calculate cost matrix
void cost_cal(int n){
//int **M; //cost matrix
/*M = new int * [numstage+1];
for(int iter_i = 0; iter_i < numstage+1; iter_i ++)
M[iter_i] = new int [numstage+1];*/
M.resize(numstage+1);
for(int iter_i=0;iter_i<=numstage;iter_i++)
M[iter_i].resize(numstage+1);
double A1;
double L1;
double hL;
double nmin=1000;
double sumh;
for(int iter_j= 0;iter_j<numstage;iter_j++){
for(int iter_k=iter_j+1;iter_k<=numstage;iter_k++){
A1=0;
L1=0;
hL=0;
nmin=1000;
sumh=0;
double L=(s+p*n);
for(int iter_l = iter_j+1;iter_l<=iter_k;iter_l++){
// cout<<iter_l;
A1=A1+A[iter_l];
L1=L1+L;
hL=hL+(h[iter_l]*L*D)+(h[iter_l]*D*t);
//hL+=1;
//cout<<"ldkjfksj "<<L;
sumh=sumh+h[iter_l];
}
M[iter_j][iter_k]= (double)F+ (double)(A1*D/n)+
(double)(floor((double)(iter_k/numstage)))*(h[iter_k]*(n-1)/2)+
(double)(hL)+(double)(z*sigma*h[iter_k]*sqrt(L1 + c + (double)(iter_k-
iter_j)*t));
}
}
134
for(int iter_k = 0;iter_k<=numstage;iter_k++){
M[numstage][iter_k]=0;
}
}// end cost_cal
//Use Djikstra's algorithm to find the shortest path
void djikstra(){
chosen.erase(chosen.begin(),chosen.end());//Erase vector
pathlen=0; //set pathlen back to zero
double *label;
label =new double[numstage+1];
label[0]=0;
double epsilon=0.05;
for(int iter_i=1;iter_i<=numstage;iter_i++)
label[iter_i]=100000000; //initially set label to a very
high value
for(int iter_j = 0;iter_j<numstage;iter_j++){
for(int iter_k=iter_j+1;iter_k<=numstage;iter_k++){
label[iter_k] =
min(label[iter_k],label[iter_j]+M[iter_j][iter_k]);
}
}
/*cout<<"dji\n";
for(int temp=0;temp<numstage;temp++)
cout<<label[temp]<<"\t";*/
//chosen.resize(1);
chosen.push_back(numstage);
//pathlen++;//increment pathlen, since an element has been added
to chosen
int j=numstage;
while ( j>0){
int path=1;
for(int k=j-1;k>=0;k--){
//cout<<"Djikstra"<<"\n";
//cout<<"\n";
//cout<<k<<"\t"<<abs(label[j]-M[k][j]-label[k]);
if(abs(label[j]-M[k][j]-label[k])<epsilon){
path++;
chosen.push_back(k);
j=k;
}
}
}
pathlen = (int)chosen.size();
cout<<"CHOSEN\n";
135
for(int temp=0;temp<pathlen;temp++)
cout<<chosen[temp]<<"\t";
cout<<"\n";
}//end djikstra
//MAIN FUNCTION
int main(int argc, char * argv[]){
// X. Need filename
if (argc < 2)
{
cerr << "Usage: " << argv[0] << " filename.txt\n";
exit(1);
}
ifstream fin;
fin.open(argv[1]);
if (!fin.is_open())
{
cerr << "\nCouldn't open file " << argv[1] << " ... Abort";
fin.clear(); // reset failbit
return false;
}
cout<<endl;
fin>>numstage;
A= new double[numstage+1];//Setup cost
h = new double[numstage+1]; //holding cost matrix
vector <double> L(numstage+1); //lead time
nmax = new int[numstage+1]; //max allowable batch size
fin>>F;
for(int iter_i=0;iter_i<=numstage;iter_i++) fin>>A[iter_i];
for(int iter_i=0;iter_i<=numstage;iter_i++) fin>>h[iter_i];
fin >>c;
fin>>t;
fin>>D;
fin>>sigma;
for(int iter_i=0;iter_i<=numstage;iter_i++) fin>>nmax[iter_i];
fin>>alpha;
fin>>z;
fin>>p;
fin>>s;
// Time calculation variables
time_t wallclock_start;
time_t wallclock_stop;
double wallclock;
cout << endl << "********* PROCEDURE BEGIN ********* " << endl;
wallclock_start = clock();
/*
136
//Print values for verifications
cout<<"\nnumstage\t"<<numstage;
cout<<"\nF\t"<<F;
cout<<"\nA\t";
for(int iter_i=0;iter_i<=numstage;iter_i++)
cout<<A[iter_i]<<"\t";
cout<<"\nh\t";
for(int iter_i=0;iter_i<=numstage;iter_i++)
cout<<h[iter_i]<<"\t";
cout<<"\nc\t"<<c;
cout<<"\nt\t"<<t;
cout<<"\nD\t"<<D;
cout<<"\nsigma\t"<<sigma;
cout<<"\nnmax\t";
for(int iter_i=0;iter_i<=numstage;iter_i++)
cout<<nmax[iter_i]<<"\t";
cout<<"\nalpha\t"<<alpha;
cout<<"\nz\t"<<z;
cout<<"\np\t"<<p;
cout<<"\ns\t"<<s;
*/
//Initially, to calculate batch size, assume a single control
point
//int chosen[] ={numstage,0}; //nodes on the shortest path
//chosen.resize(2);
chosen.push_back(numstage);
chosen.push_back(0);
pathlen=(int)chosen.size();
//Calculate the smallest of the max batch sizes
batch=10000;
for(int iter_i=1;iter_i<=numstage;iter_i++){
if (nmax[iter_i]<batch) batch=nmax[iter_i];
}
nupper = (int)ceil(golden_search(batch)); //Upper bound on n
n=1;
//define mincost to be the minimum total cost
double Totcost; //total cost for each n value
double mincost=10000000; //set mincost to a big number
int opt_n=1; //n that gives the minimum cost
vector <int> opt_chosen; //stages on optimal path
//cout<<"\n\n"<<n;
while(n<=nupper){
cost_cal(n);
djikstra();
Totcost = 0;
for(int temp= pathlen-1;temp>=1;temp--){
Totcost=Totcost + M[chosen[temp]][chosen[temp-1]];
}
if(Totcost<=mincost){
mincost=Totcost;
137
opt_n = n;
opt_chosen = chosen;
}
n++;
}
n--;
//open file results.txt for writing (append).
for(int iter_i=0;iter_i<=numstage;iter_i++){
for(int iter_j=0;iter_j<=numstage;iter_j++){
cout<<M[iter_i][iter_j]<<" ";
}
cout<<endl;
}
fout.open("C:\\results22.xls",ofstream::app);
if(!fout.is_open()){
cerr<<"\n couldn't open file"<<" results22.xls"<<" to
write....program aborted";
fout.clear(); //reset failbit
return false;
}
else{
cout<<"Opened file for writing"<<endl;
}
wallclock_stop = clock();
wallclock = (double) (wallclock_stop - wallclock_start) /
CLOCKS_PER_SEC;
cout << "\nTotal wallclock time (in seconds) = " << wallclock <<
endl;
cout << "********* PROCEDURE END *********" << endl;
vector <int> chosen1;
chosen1=opt_chosen;
vector<int>::iterator endIterator;
endIterator = chosen1.end()-1;
chosen1.erase(endIterator);
fout<<endl;
print(mincost);
print(opt_n);
print(chosen1);
fout<<"\t";
print((int)chosen1.size());
fout.close();
cout<<"Total cost is: "<<mincost;
cout<<"\nOptimal batch size: "<<opt_n;
delete [] A,h,nmax;
A=NULL;
h=NULL;
nmax=NULL;
138
chosen.clear();
}//end main
void print(double d1){
fout<<d1<<"\t";
}
void print(int d1){
fout<<d1<<"\t";
}
void print(vector <int> &v1){
int temp=(int)v1.size();
for(int iter_i=0;iter_i<temp;iter_i++){
fout<<v1[iter_i]<<" ";
}
}
double min(double *array, int size){
double mini = 100000;
for(int i=0;i<numstage;i++){
if(array[i]<=mini) mini = array[i];
}
return(mini);
}
Multi-product, stochastic model (known container size)
//stochastic multiproduct case
#include "mainfun.h"
//Global variables
char dist[20];
int numstage; //number of stages
int F; //Fixed cost of locating an IC pt
float c; //collection time
float t; //transfer time
int p; //number of products
//Per product type variables
double *n; //batch size
double *sigma; //std. dev. of end customer demand for each product
double z; //std. normal variate
double **theta; //processing time per unit
double *s; //setup time
double *D; //Daily demand
double **A; //Setup + mat. handling cost
double **h; //Holding cost
//End of per product type variables
double cstara; //scv of arrivals
double cstars; //scv of service
double alpha; //service level
int pathlen; //number of nodes on shortest path
139
double tmax; //maximum container processing time
double old_n; //value of n from previous iteration
vector <vector <double> > M; //cost vector
//int **M;
vector <int> chosen; //stages on shortest path
int nupper; // upper bound on n
double batch; //min of max allowable batch sizes
ofstream fout; // for file writing
//Function to calculate batch sizes
void f(){
//double *temp;
//temp=new double[numstage+1];
//for(int iter_i=0;iter_i<p;iter_i++){
// for(int iter_j =0; iter_j<=numstage;iter_j++){
// temp[iter_j]= (tmax-s[iter_i])/theta[iter_i][iter_j];
// }
// n[iter_i]=min(temp,numstage+1);
// cout<<endl<<n[iter_i];
//}
// n[iter_i]=704
n[0]=4;
//n[1]=2;
}//end function
//Function to calculate cost matrix
void cost_cal(){
double **lambda; //Average arrival rate for each product at each
stage
double *lambda_i; //Avg. arrival rate at stage
double **mu; //service rate
double *ser; //expected service time
double *varser; //var. of service time
double *rho; //utilization
double *csq_s; //scv of service
double *csq_a; //scv of arrival
lambda = new double * [p];
for(int iter_i = 0; iter_i < p; iter_i ++)
lambda[iter_i] = new double [numstage+1];
mu = new double * [p];
for(int iter_i = 0; iter_i < p; iter_i ++)
mu[iter_i] = new double [numstage+1];
vector <vector <double> > L; //lead time
L.resize(p);
for(int iter_i=0;iter_i<p;iter_i++) L[iter_i].resize(numstage+1);
140
//Calculation of lead time (without waiting time)
for(int iter_j= 0;iter_j<p;iter_j++){
for(int iter_k=0;iter_k<=numstage;iter_k++){
L[iter_j][iter_k]=s[iter_j]+(n[iter_j]*theta[iter_j][iter_k]);
//
}
}
//Calculation of lambda[i][p] and mu[i][p]
for(int iter_j= 0;iter_j<p;iter_j++){
for(int iter_k=0;iter_k<=numstage;iter_k++){
if(iter_k==0){
lambda[iter_j][iter_k]=0;
mu[iter_j][iter_k]=0;
}
else{
lambda[iter_j][iter_k]=D[iter_j]/n[iter_j];
mu[iter_j][iter_k]=1/(L[iter_j][iter_k]);
}
}
}
lambda_i = new double [numstage+1];
//Calculation of lamdba[i]
for(int iter_k= 0;iter_k<=numstage;iter_k++){
lambda_i[iter_k]=0;
for(int iter_j=0;iter_j<p;iter_j++){
lambda_i[iter_k]+=lambda[iter_j][iter_k];
}
}
//Calculation of expected service time and rho
ser=new double[numstage+1];
rho = new double[numstage+1];
for(int iter_k= 0;iter_k<=numstage;iter_k++){
ser[iter_k]=0;
rho[iter_k]=0;
for(int iter_j=0;iter_j<p;iter_j++){
ser[iter_k]+=(lambda[iter_j][iter_k]/mu[iter_j][iter_k]);
}
if(iter_k==0){
rho[iter_k]=0;
ser[iter_k]=0;
}
else{
rho[iter_k]=ser[iter_k];
ser[iter_k]=ser[iter_k]/lambda_i[iter_k];
}
}
//Calculation of variance of service time
varser=new double[numstage+1];
for(int iter_k= 0;iter_k<=numstage;iter_k++){
141
varser[iter_k]=0;
for(int iter_j=0;iter_j<p;iter_j++){
double temp=(1/mu[iter_j][iter_k])-ser[iter_k];
varser[iter_k]+=lambda[iter_j][iter_k]*sqr(temp);
}
if(iter_k==0) varser[iter_k]=0;
else varser[iter_k]=varser[iter_k]/lambda_i[iter_k];
}
//Calculation of C-square(si)
csq_s = new double[numstage+1];
for(int iter_k= 0;iter_k<=numstage;iter_k++){
csq_s[iter_k]=varser[iter_k]/sqr(ser[iter_k]);
}
M.resize(numstage+1);
for(int iter_i=0;iter_i<=numstage;iter_i++)
M[iter_i].resize(numstage+1);
double A1;
double *L1;
double hL;
double nmin=1000;
double sumh;
L1= new double(p);
csq_a=new double[numstage+1];
double *W;
W=new double[numstage+1];
vector <vector <double> > L2; //actual lead time
L2.resize(p);
for(int iter_i=0;iter_i<p;iter_i++)
L2[iter_i].resize(numstage+1);
csq_a[0]=0;
W[0]=0;
//Cost Calculations (waiting time at station is also calculated
here)
//Note that the lead time, L calculated earlier does not include
the waiting time
//for(int iter_j= 0;iter_j<numstage;iter_j++){
// for(int iter_k=iter_j+1;iter_k<=numstage;iter_k++){
for(int iter_k= numstage;iter_k>=1;iter_k--){
for(int iter_j=0;iter_j<iter_k;iter_j++){
//cout<<iter_k;
A1=0;
for (int iter_t=0;iter_t<p;iter_t++) L1[iter_t]=0;
hL=0;
sumh=0;
double ss = 0;
142
for(int iter_l = iter_j+1;iter_l<=iter_k;iter_l++){
if(iter_l==iter_j+1){
//ASSUMPTION**************************************
if(iter_k==numstage){
if(strcmp(dist,"none")==0)csq_a[iter_l]=0.0; //for now
else if(strcmp(dist,"expo")==0){
double temp =0;
csq_a[iter_l]=0;
for(int
iter_m=0;iter_m<p;iter_m++){
csq_a[iter_l]+=D[iter_m]/n[iter_m];
temp+=D[iter_m];
}
csq_a[iter_l]=csq_a[iter_l]/temp;
//csq_a[iter_l]=0.1;
//cout<<dist<<"
"<<csq_a[iter_l]<<" "<<iter_l<<endl;
}
}//end if
else{
csq_a[iter_l]=max(0.0,(lambda_i[iter_l]+lambda_i[iter_k+1]*(sqr(r
ho[iter_k+1]) * (sqr(csq_s[iter_k+1])-sqr(csq_a[iter_k+1]))
+sqr(csq_a[iter_k+1])))/lambda_i[iter_l]);
}//end else if
}//end if iter_l==iter_j+1
else{
csq_a[iter_l]=max(0.0,(lambda_i[iter_l-
1]*(sqr(rho[iter_l-1]) *(sqr(csq_s[iter_l-1])-sqr(csq_a[iter_l-
1]))+sqr(csq_a[iter_l-1])))/lambda_i[iter_l]);
//cout<<"kjhskjs "<<iter_l-1<<"
"<<iter_k<<" "<<csq_a[iter_l-1]<<endl;
//csq_a[iter_l]=0;
}//end else if
if(iter_l==0) W[iter_l]=0;
else
W[iter_l]=max(0.0,sqr(rho[iter_l])*(1+sqr(csq_s[iter_l]))/(1+sqr(
rho[iter_l]*csq_s[iter_l]))*(sqr(csq_a[iter_l])+sqr(rho[iter_l]*csq_s[i
ter_l]))/2*lambda_i[iter_l]*(1-rho[iter_l]));
//W[iter_l]=sqr(rho[iter_l])*(1+sqr(csq_s[iter_l]))/(1+sqr(rho[it
er_l]*csq_s[iter_l]))*(sqr(csq_a[iter_l])+sqr(rho[iter_l]*csq_s[iter_l]
))/2*lambda_i[iter_l]*(1-rho[iter_l]);
for(int iter_m=0;iter_m<p;iter_m++){
W[iter_l]=0;
143
L2[iter_m][iter_l]=L[iter_m][iter_l]+W[iter_l];
cout<<"dfj "<<iter_l<<"
"<<W[iter_l]<<"\n";
}
L1[iter_m]=0;
//hL=0;
for(int iter_m=0;iter_m<p;iter_m++){
// cout<<iter_l;
A1=A1+(A[iter_m][iter_l]*D[iter_m]/n[iter_m]);
L1[iter_m]=L1[iter_m]+L2[iter_m][iter_l];
hL=hL+(h[iter_m][iter_l]*L2[iter_m][iter_l]*D[iter_m])+(h[iter_m]
[iter_l]*D[iter_m]*t);
//hL+=1;
//cout<<"dfj
"<<L[iter_m][iter_l]<<"\n";
//sumh=sumh+h[iter_l];
}
if(iter_l==numstage){
for(int iter_m=0;iter_m<p;iter_m++){
sumh= sumh+
(h[iter_m][iter_l]*(n[iter_m]-1));
}
}
//cout<<iter_k;
}
//cout<<iter_l;
for(int iter_m=0;iter_m<p;iter_m++){
if (strcmp(dist, "expo")==0) sigma[iter_m] =
D[iter_m];
ss+=(z*sigma[iter_m]*h[iter_m][iter_k]*sqrt(L1[iter_m] + c +
(double)(iter_k-iter_j)*t));
//cout<<L1[iter_m]<<" ";
cout<<"dfsdf "<<sigma[iter_m];
}
//ss=0.0;
//hL=0.0;
M[iter_j][iter_k]= (double)F+ (double)(A1)+
(double)(floor((double)(iter_k/numstage)))*(sumh/2)+
(double)(hL)+(double)ss;
// cout<<iter_l;
}
144
}
//for(int iter_k = 0;iter_k<=numstage;iter_k++){
//M[numstage][iter_k]=0;
//}
cout<<endl;
for(int iter_i=0;iter_i<=numstage;iter_i++){
for(int iter_j=0;iter_j<=numstage;iter_j++){
cout<<M[iter_i][iter_j]<<" ";
}
cout<<endl;
}
//for(int iter_i=0;iter_i<=numstage;iter_i++)
// cout<<csq_a[iter_i]<<" ";
// cout<<endl;
}// end cost_cal
//Use Djikstra's algorithm to find the shortest path
void djikstra(){
chosen.erase(chosen.begin(),chosen.end());//Erase vector
pathlen=0; //set pathlen back to zero
double *label;
label =new double[numstage+1];
label[0]=0;
double epsilon=0.05;
for(int iter_i=1;iter_i<=numstage;iter_i++)
label[iter_i]=100000000; //initially set label to a very
high value
for(int iter_j = 0;iter_j<numstage;iter_j++){
for(int iter_k=iter_j+1;iter_k<=numstage;iter_k++){
label[iter_k] =
min(label[iter_k],label[iter_j]+M[iter_j][iter_k]);
}
}
chosen.push_back(numstage);
int j=numstage;
while ( j>0){
int path=1;
for(int k=j-1;k>=0;k--){
if(abs(label[j]-M[k][j]-label[k])<epsilon){
path++;
chosen.push_back(k);
j=k;
}
145
}
}
pathlen = (int)chosen.size();
cout<<"CHOSEN\n";
for(int temp=0;temp<pathlen;temp++)
cout<<chosen[temp]<<"\t";
cout<<"\n";
}//end djikstra
//MAIN FUNCTION
int main(int argc, char * argv[]){
// X. Need filename
//If no file name is specified:
if (argc < 2)
{
cerr << "Usage: " << argv[0] << " filename.txt\n";
exit(1);
}
ifstream fin;
fin.open(argv[1]);
if (!fin.is_open())
{
cerr << "\nCouldn't open file " << argv[1] << " ... Abort";
fin.clear(); // reset failbit
return false;
}
cout<<endl;
fin.getline(dist, sizeof(dist), '\n');
fin>>numstage;
fin >>p;
//VARIABLE DECLARATION
D=new double[p]; //demand
A = new double * [p];//Setup cost
for(int iter_i = 0; iter_i < p; iter_i ++)
A[iter_i] = new double [numstage+1];
h = new double * [p];//holding cost matrix
for(int iter_i = 0; iter_i < p; iter_i ++)
h[iter_i] = new double [numstage+1];
theta = new double * [p];//processing time matrix
for(int iter_i = 0; iter_i < p; iter_i ++)
theta[iter_i] = new double [numstage+1];
//lambda = new double[p];
sigma = new double[p];
s=new double[p];
146
//theta = new double[p];
//nmax = new int[p]; //max allowable batch size
//END VARIABLE DECLARATION - START TAKING VALUES
fin>>F;
for(int iter_i=0;iter_i<p;iter_i++) {
for(int iter_j=0;iter_j<=numstage;iter_j++)
fin>>A[iter_i][iter_j];
}
for(int iter_i=0;iter_i<p;iter_i++) {
for(int iter_j=0;iter_j<=numstage;iter_j++)
fin>>h[iter_i][iter_j];
}
for(int iter_i=0;iter_i<p;iter_i++) {
for(int iter_j=0;iter_j<=numstage;iter_j++)
fin>>theta[iter_i][iter_j];
}
for(int iter_i=0;iter_i<p;iter_i++)
fin>>D[iter_i];
for(int iter_i=0;iter_i<p;iter_i++)
fin>>sigma[iter_i];
for(int iter_i=0;iter_i<p;iter_i++)
fin>>s[iter_i];
//for(int iter_i=0;iter_i<p;iter_i++)
// fin>>theta[iter_i];
//for(int iter_i=0;iter_i<p;iter_i++)
// fin>>lambda[iter_i];
//for(int iter_i=0;iter_i<p;iter_i++)
// fin>>nmax[iter_i];
fin>>tmax;
fin >>c;
fin>>t;
fin>>z;
fin>>cstara;
fin>>cstars;
fin>>alpha;
// Time calculation variables
time_t wallclock_start;
time_t wallclock_stop;
double wallclock;
cout << endl << "********* PROCEDURE BEGIN ********* " << endl;
wallclock_start = clock();
//Print values for verifications
cout<<dist<<endl;
cout<<"\nnumstage\t"<<numstage;
cout<<"\np\t"<<p;
cout<<"\nF\t"<<F;
147
cout<<"\nA\n";
for(int iter_i=0;iter_i<p;iter_i++) {
//cout<<iter_i<<endl;
for(int iter_j=0;iter_j<=numstage;iter_j++){
cout<<A[iter_i][iter_j]<<"\t";}
cout<<endl;
}
cout<<"\nh\n";
for(int iter_i=0;iter_i<p;iter_i++) {
for(int iter_j=0;iter_j<=numstage;iter_j++){
cout<<h[iter_i][iter_j]<<"\t";}
cout<<endl;
}
cout<<"\ntheta\n";
for(int iter_i=0;iter_i<p;iter_i++) {
for(int iter_j=0;iter_j<=numstage;iter_j++){
cout<<theta[iter_i][iter_j]<<"\t";}
cout<<endl;
}
cout<<"\nD\n";
for(int iter_i=0;iter_i<p;iter_i++) cout<<D[iter_i]<<"\t";
cout<<"\nsigma\n";
for(int iter_i=0;iter_i<p;iter_i++) cout<<sigma[iter_i]<<"\t";
cout<<"\ns\n";
for(int iter_i=0;iter_i<p;iter_i++) cout<<s[iter_i]<<"\t";
//cout<<"\ntheta\n";
//for(int iter_i=0;iter_i<p;iter_i++) cout<<theta[iter_i]<<"\t";
//cout<<"\nlambda\n";
//for(int iter_i=0;iter_i<p;iter_i++) cout<<lambda[iter_i]<<"\t";
cout<<"\ntmax\n"<<tmax;
cout<<"\nc\t"<<c;
cout<<"\nt\t"<<t;
cout<<"\nz\t"<<z;
cout<<"\nCstara\t"<<cstara;
cout<<"\nCstars\t"<<cstars;
cout<<"\nalpha\t"<<alpha;
cout<<endl<<"END"<<endl;
//Initially, to calculate batch size, assume a single control
point
//int chosen[] ={numstage,0}; //nodes on the shortest path
//chosen.resize(2);
chosen.push_back(numstage);
chosen.push_back(0);
pathlen=(int)chosen.size();
//define mincost to be the minimum total cost
double Totcost; //total cost for each n value
n=new double[p]; //set size of batch size array
vector <int> opt_chosen; //stages on optimal path
//cout<<"\n\n"<<n;
f();
148
cost_cal();
cout<<"END1";
djikstra();
Totcost = 0;
for(int temp= pathlen-1;temp>=1;temp--){
Totcost=Totcost + M[chosen[temp]][chosen[temp-1]];
}
//open file results.txt for writing (append).
fout.open("C:\\results22.xls",ofstream::app);
if(!fout.is_open()){
cerr<<"\n couldn't open file"<<" results22.xls"<<" to
write....program aborted";
fout.clear(); //reset failbit
return false;
}
else{
cout<<"Opened file for writing"<<endl;
}
wallclock_stop = clock();
wallclock = (double) (wallclock_stop - wallclock_start) /
CLOCKS_PER_SEC;
cout << "\nTotal wallclock time (in seconds) = " << wallclock <<
endl;
cout << "********* PROCEDURE END *********" << endl;
vector <int> chosen1;
chosen1=opt_chosen;
vector<int>::iterator endIterator;
endIterator = chosen1.end()-1;
chosen1.erase(endIterator);
fout<<endl;
print(Totcost);
print(*n);
print(chosen1);
fout<<"\t";
print((int)chosen1.size());
fout.close();
cout<<"Total cost is: "<<Totcost;
cout<<"\nOptimal batch size: "<<n[p-1];
delete [] A,h,tmax;
A=NULL;
h=NULL;
tmax=NULL;
chosen.clear();
}//end main
void print(double d1){
fout<<d1<<"\t";
}
149
void print(int d1){
fout<<d1<<"\t";
}
void print(vector <int> &v1){
int temp=(int)v1.size();
for(int iter_i=0;iter_i<temp;iter_i++){
fout<<v1[iter_i]<<" ";
}
}
void print (double* s){
for(int iter_i=0;iter_i<sizeof(s);iter_i++){
fout<<s[iter_i]<<" ";
}
}
double min(double *array, int size){
double mini = 100000;
for(int i=0;i<numstage;i++){
if(array[i]<=mini) mini = array[i];
}
return(mini);
}
//function to calculate square of a number
double sqr(double a){
return (a*a);
}
double max(double a, double b){
if(a>b) return(a);
else return(b);
}
150
APPENDIX B: DESIGN TABLE FOR EXPERIMENTS IN SECTION
4.6.2
The complete design table is shown in Tables A2.1 and A2.2. The first table shows the
effect of the factors on the number of control points located while the second table shows
their effect on the total system cost. The tables indicate the main effect of each factor as
well as the interactions between factors. For example, the cell corresponding to the row
with prod = 1 and the column with prod = 1 gives the number of control points located
(1.1) as well as the total cost ($2366) when the number of products is equal to 1.
Similarly, the cell corresponding to the row with prod = 1 and the column with stage = 6
gives the number of control points located (1.1) and the total cost ($3353.8).
151
Table A2.1 Effect of factors on number of control points
prod
stage
h_ratio
h-pattern
arr_dist
t
1 2 5 20 6 20 6 20 lin del_comp expo det 0 0.5
prod 1 1.1 - - - 1.1 1.1 1.1 1.1 1 1.2 1.2 1 1 1.2
2 - 1.1 - - 1.1 1.2 1.1 1.2 1 1.3 1.2 1.1 1 1.3
5 - - 1.3 1.2 1.3 1.1 1.4 1.1 1.4 1.4 1.1 1 1.5
20 - - - 1.4 1.4 1.4 1.2 1.6 1.2 1.6 1.5 1.3 1 1.8
stage 6 - - - - 1.2 - 1.1 1.3 1.1 1.3 1.3 1.1 1 1.3
20 - - - - - 1.3 1.2 1.4 1.1 1.5 1.4 1.2 1 1.5
h_ratio 6 - - - - - - 1.1 - 1 1.2 1.2 1 1 1.2
20 - - - - - - - 1.3 1.2 1.5 1.5 1.2 1.5 1.2
h_pattern lin - - - - - - - - 1.1 - 1.1 1 1 1.2
del_comp - - - - - - - - - 1.4 1.5 1.2 1 1.7
arr_dist expo - - - - - - - - - - 1.3 - 1 1.7
det - - - - - - - - - - - 1.4 1 1.2
t 0 - - - - - - - - - - - - 1 -
0.5 - - - - - - - - - - - - - 1.4
152
Table A2.2 Effect of factors on system cost
prod
stage
h_ratio
h-pattern
arr_dist
t
1 2 5 20 6 20 6 20 lin del_comp expo det 0 0.5
prod 1 2366 - - - 1378.1 3353.8 1405.6 3326.4 3172.7 1559.2 2530.2 2201.8 633.6 4098.4
2 - 2577.2 - - 1544.7 3609.6 1489.3 3665 3435.4 1718.9 2916.8 2237.6 713.7 4440.7
5 - 3185 - 2022.7 4347.3 1835.6 4534.4 4110.6 2259.4 3935.4 2434.6 837.4 5532.6
20 - 6011 4221.3 7800.8 3304.5 8717.5 7440 4582 8892.6 3129.5 1378.1 10644
stage 6 - - - - 2291.7 - 1265.8 3317.6 2557.3 2026.1 3115.3 1468.1 620.5 3962.9
20 - - - - - 4777.9 2751.8 6804 6522.1 3033.7 6022.2 3533.6 1160.9 8394.9
h_ratio 6 - - - - - - 2008.8 - 2426.7 1590.8 2531 1468.5 652.7 3364.8
20 - - - - - - - 5060.8 6652.7 3469 6606.4 3515.2 1128.6 8993
h_patter lin - - - - - - - - 4539.7 - 5766.2 3313.2 984.1 8095.3
del_comp - - - - - - - - - 2529.9 3371.3 1688.5 797.2 4262.6
arr_dist expo - - - - - - - - - - 4568.7 - 1050 8087.5
det - - - - - - - - - - - 2500.9 731.3 4370.4
t 0 - - - - - - - - - - - - 890.7 -
0.5 - - - - - - - - - - - - - 6178.9
153
REFERENCES
1. Afentakis, P., 1987, “A parallel heuristic algorithm for lot-sizing in multi-stage
production systems.” IIE Trans., 19, 34-42.
2. Afentakis, P., and B. Gavish, 1983, “Optimal lot-sizing algorithms for complex
product structures.” Oper. Res., 34(2), 237-249.
3. Afentakis, P., B. Gavish, and R.A. Millen, 1983, “Computationally efficient
optimal solutions to the lot-sizing problem in multistage assembly systems.”
Management Sci., 30, 222-239.
4. Askin, R. G., M. G. Mitwasi and J. B. Goldberg, 1993, “Determining the number
of kanbans in multi-item just-in-time systems.” IIE Transactions, 25(1), 89-98.
5. Askin, R. G. and J. W. Goldberg, 2002, “Design and analysis of lean production
systems.” Wiley, New York, NY.
6. Axsater, S., 1993, “Continuous review policies for multi-level inventory systems
with stochastic demand.” S. Graves, A. Rinooy Kan, and P. Zipkin (Eds.), in
Handbook in Operations Research and Management Science, Vol. 4, Logistics of
Production and Inventory. North Holland, 175-196.
7. Axsater, S., 1997, “Simple evaluation of echelon stock (R,Q) policies for two-
level inventory systems.” IIE Transactions, 29, 661-669.
8. Axsater, S. and K. Rosling, 1993, “Installation versus echelon inventory stocking
policies for multi-level inventory control.” Management Sci. 39(10), 1274-1280.
154
9. Axsater, S. and K. Rosling, 1994, “Multi level production-inventory control:
materials requirements planning or reorder point policies?” European Journal of
Operational Research, 75(2), 405-412.
10. Baker, K. R., 1993, “Requirements planning.” in S. C. Graves, A. Rinooy kan,
and P. Zipkin (Eds.), Logistics of Production and Inventory, North-Holland,
Amsterdam, 571-628.
11. Benton, W. C. and H. Shin, 1998, “Manufacturing planning and control: the
evolution of MRP and JIT integration.” European Journal of Oper. Res., 110,
411-440.
12. Berkeley, B. J., 1996, “A simulation study of container size in two card kanban
systems.” Int. J. Prod. Res., 34(12), 3417-3445.
13. Blackburn, J. D. and R.A. Millen, 1982, “Improved heuristics for multistage
requirements planning systems.” Management Sci., 28, 44-56.
14. Buzacott, J. A., and J. G. Shantikumar, 1994, “Safety stock versus safety time in
MRP controlled production systems.” Management Sci., 40(12), 1678-1689.
15. Buzacott, J. A. and J. G. Shantikumar, 1991, “The PAC system: a general
approach for coordinating multiple cell manufacturing systems.” Conference on
Multi-Echelon Inventory Systems, Berkeley, CA.
16. Cachon, G, 1995, “Exact evaluation of batch-ordering inventory policies in two-
echelon supply chains with periodic review.” Working paper, Duke University.
155
17. Cao, D. and M. Chen, 2005, “A mixed integer programming model for a two line
CONWIP-based production and assembly system.” International Journal of
Production Economics, 95, 317-326.
18. Chen, F, and Y.S. Zheng, 1994, “Evaluating echelon stock (R, nQ) policies in
serial production/ inventory systems with stochastic demand.” Management Sci.
40, 1262-1275.
19. Chen, F (2003), “Information Sharing and Supply Chain Coordination.” Ton G.
de Kok and Stephen C. Graves (Eds.) in Handbooks of Operations Research and
Management Science.
20. Chen, F., 1998, “Echelon reorder points, installation reorder points, and the value
of centralized demand information.” Management Sci. 44, pp. S221-S234.
21. Chen, F., 1999, “94%-effective policies for a two-stage serial inventory system
with stochastic demand.” Management Sci. 45, 1679-1696.
22. Chen, F., 2000, “Optimal policies for multi-echelon inventory problems with
batch ordering.” Oper. Res. 48, 376-389.
23. Chen, F., Z. Drezner, J.K. Ryan, and D. Simchi-Levi, 1998, “The Bullwhip
Effect: Managerial Insights on the Impact of Forecasting and Information on
Variability in a Supply Chain.” Sridhar Tayur, Ram Ganeshan and Michael
Magazine (Eds.) in Quantitative Models for Supply Chain Management. Boston:
Kluwer‟s International Series, 417-440.
156
24. Chen, F., Z. Drezner, J. Ryan, and D. Simchi-Levi, 2000a, “Quantifying the
Bullwhip Effect: the impact of Forecasting, Lead Times and Information.”
Management Science, 46, 436-443
25. Chen, F., Z. Drezner, J. Ryan, and D. Simchi-Levi, 2000b, “The Impact of
Exponential Smoothing Forecasts on the Bullwhip Effect.” Naval Research
Logistics, 47, 269-286.
26. Chen, F. and Y.S. Zheng, 1997, “One-warehouse, multi-retailer systems with
centralized stock information.” Oper. Res., 45(2), 275-287.
27. Chen, F. and Y.S. Zheng, 1998, “Near-optimal echelon-stock (R,nQ) policies in
multi-stage serial systems.” Oper. Res. 46, 592-602.
28. Chopra, S., and Meindl, P. (2001), “Supply chain management: Strategy, planning
and operation.” Upper Saddle River, NJ: Prentice-Hall.
29. Clark, A, and H. Scarf, 1960, “Optimal policies for a multi-echelon inventory
problem.” Management Sci., 6, 465-490.
30. Clark, A, and H. Scarf, 1962, “Approximate solutions to a simple multi-echelon
inventory problem.” Arrow, K. J. et al. (Ed.) in Studies in Applied Probability and
Management Science, Stanford University Press, CA, 88-100.
31. Crowston, W. B., Wagner, M., and Williams, J. F., 1973, “Economic lot size
determination in multi-stage assembly systems.” Management Sci., 19, 5, 517-
527.
157
32. Davis, W. J. and S. J. Stubitz, 1987, “Configuring a kanban system using a
discrete optimization of multiple stochastic responses.” Int. J. Prod. Res., 25, 721-
740.
33. De Bodt, M.A., and S.C. Graves, 1985, “Continuous review policies for multi-
echelon inventory problem with stochastic demand.” Management Sci. 31(10),
1286-1295.
34. Deleersnyder, J. L., T. J. Hodgson, H. Muller(-Malek) and P. J. Grady, 1989,
“Controlled pull systems: an analytic approach.” Management Sci., 35, 1079-
1091.
35. Dong, L., and H.L. Lee, 2003, “Optimal policies and approximations for a serial
multiechelon inventory system with time-correlated demand.” Oper. Res. 51, pp.
969-980.
36. Duenyas, I., W. J. Hopp, and M. L. Spearman. 1993, “Characterizing the output
process of a CONWIP line with determinisitic processing and random outages.”
Management Sci., 39(8), 975-988.
37. Duenyas, I. and W. J. Hopp, 1990, “Estimating variance of output from cyclical
exponential queueing systems.” Queueing Systems, 7, 337-354.
38. Federgruen, A., and P. Zipkin, 1984, “Computational issues in an infinite horizon,
multi-echelon inventory problem.” Oper. Res. 32, pp. 818-836.
39. Gavirneni, S, R. Kapuscinski, and S. Tayur, 1999, “Value of Information in
Capacitated Supply Chains.” Management Sci., 45, 16-24.
158
40. Golany, B., E.M. Dar-el, and N. Zeev, 1999, “Controlling shop floor operations in
a multi-family, multi-cell manufacturing environment through constant work-in-
process.” IIE Transactions, 31, 771-781.
41. Govil, M. K. and M.C. Fu, 1999, “Queueing Theory in manufacturing: a survey.”
Journal of Manufacturing Systems, 18(3), 214-240.
42. Grasso, E. T. and B.W. Taylor, 1984, “A simulation-based investigation of
supply/ timing uncertainty in MRP systems.” Int. J. Prod. Res., 22, 485-497.
43. Graves, S. C. and S.P. Willems, 2000,“Optimizing strategic safety stock
placement in supply chains.” Manufacturing & Service Oper. Mgmt., 2(1), 68-83.
44. Graves, S.C., 1996, “A multiechelon inventory model with fixed replenishment
intervals.” Management Sci. 42, 1-18.
45. Graves, S.C., and S.P. Willems, 2000, “Optimizing strategic safety stock
placement in supply chains.” Manufacturing and Oper. Management, 2, 68-83.
46. Gupta, Y. P. and M. C. Gupta, 1989a, “A system dynamics model of a JIT kanban
system.” Engr. Costs & Prod. Econ., 18, 117-130.
47. Gupta, Y. P. and M. C. Gupta, 1989b, “A system dynamics model for a multi-
stage dual-card JIT kanban system.” Engr. Costs & Prod. Econ., 18, 117-130.
48. Hahn, C. K., D.J. Bragg, and D. Shin, 1988, “Impact of the setup variable on
capacity and inventory decisions.” Academy of Mgmt. Review, 13(1), 91-103.
159
49. Herer, Y. T. and M. Masin, 1997, “Mathematical programming formulation of
CONWIP-based production lines; and relationships to MRP.” Int. J. Prod. Res.,
35(4), 1067-1076.
50. Hopp, W. J., and M. L. Roof, 1998, “Setting WIP levels with statistical
throughput control (STC) in CONWIP production lines; and relationships to
MRP.” Int. J. Prod. Res., 36(4), 867-882.
51. Hopp, W. J. and Spearmann, M. L. 1996, “Factory Physics: Foundations of
Manufacturing Management.” Irwin, Chicago, IL
52. Huang, C. and A. Kusiak, 1996, “Overview of kanban systems.” Int. J. Computer
Integrated Manufacturing, 9(3), 169-189.
53. Inderfuth, K., 1991, “Safety stock optimization in multi-stage inventory systems.”
Int. J. Prod. Econ., 24, 103-113.
54. Inderfuth, K., 1994, “Safety stocks in multistage divergent inventory systems: a
survey.” Int. J. of Prod. Econ, 35, 321-329.
55. Inderfuth, K. and S. Minner, 1998, “Safety stocks in multi-stage inventory
systems under different service measures.” European Journal of Oper. Res., 106,
57-73.
56. Karmarkar, U. S., S. Kekre, and S. Kekre, 1985, “Lot sizing in multi-item, multi-
machine job shops.” IIE Transactions, 17, 290-298.
57. Karmarkar, U. S. and S. Kekre, 1989, “Batching policy in kanban systems.”
Journal of Manuf. Sys., 8, 317-328.
160
58. Karmarkar, U.S., 1987, “Lot sizes, lead times and in-process inventories.” Mgmt.
Sci. 33(3), 409-418.
59. Krishnamurthy, A., R. Suri, and M. Vernon, 2004, “Re-examining the
performance of MRP and kanban material control policies for multi-product
flexible manufacturing systems.” The International Journal of Flexible
Manufacturing Systems, 16, 123-150.
60. Krishnan, S., 2003, “Analyzing the effect of ordering policies on the performance
of a four-stage supply chain.” A Master’s Thesis submitted to the Department of
Systems and Industrial Engineering, University of Arizona, Tucson, AZ.
61. Krishnan, S. and R. G. Askin, 2006, “Evaluating the effect of information sharing
and production control strategies on the economic performance of supply chains.”
Accepted for publication in the International Journal of Simulation and Process
Modelling, Special Issue on supply chain modeling and simulation.
62. Lee, H., P. Padmanabhan, and S. Whang, 1997a, “The Bullwhip Effect in supply
Chains.” Sloan Management Review, 38, 93-102
63. Lee, H., P. Padmanabhan, and S. Whang, 1997b, “Information Distortion in a
Supply Chain: The Bullwhip Effect.” Management Sci., 43, 546-58.
64. Lee, H. L. and Billington, C., 1995, “The Evolution of Supply-Chain-
Management Models and Practice at Hewlett-Packard.” Interfaces, 25, pp.42-63.
161
65. Lee, H.L., and K. Moinzadeh, 1987a, “Two-parameter approximations for multi-
echelon repairable inventory models with batch ordering policy.” IIE Trans., 19,
140-149.
66. Lee, H.L., and K. Moinzadeh, 1987b, “Operating characteristics of a two-echelon
inventory system for repairable and consumable items under batch ordering and
shipment policy.” Naval Res. Logist. Quart. 34, 365-380.
67. Lee, L. C., 1987, “Parametric appraisal of the JIT system.” Int. J. Prod. Res.,
25(10), 1415-1429.
68. Little, I. D. C., 1961, “A proof for queueing formula L W .” Oper. Res., 9,
383-387.
69. Liu, L.M., X.M. Liu, and D.D. Yao, 2004, “Analysis and optimization of a
multistage inventory-queue system.” Management Sci., 50,365-380.
70. Magnanti, T. L., Z.J.M. Shen, J. Shu, D. Simchi-Levi and C.P. Teo, 2006,
“Inventory placement in acyclic supply chain networks.” Oper. Res. Letters,
34(2), 228-238.
71. Maxwell, W. L. and J.A. Muckstadt, 1985, “Establishing consistent and realistic
reorder intervals in production-distribution systems.” Oper. Res., 33(6), 1316-
1341.
72. Melnky, S. A. and C. J. Piper, 1985, “Lead time errors in MRP: the lot sizing
effect.” Int. J. Prod. Res., 23, 253-264.
162
73. Min, H and Zhou, G., 2002, “Supply Chain modeling: past, present and future.
“Computers and Industrial Engineering, 43, 231-249.
74. Minner, S., 2001, “Strategic safety stocks in reverse logistics supply chains.” Int.
J. of Prod. Econ., 71(1-3), 417-428.
75. Mitra, D. and T. Mitrani, 1990, “Analysis of a kanban discipline for cell
coordination in production lines.” Management Sci., 36, 1548-1566.
76. Mitra, S. and A.K. Chatterjee, 2003, “Echelon stock based continuous review
(R,Q) policy for fast moving items.” Omega International Journal of
Management Sci., 32, 161-164.
77. Mitra, S. and A.K. Chatterjee, 2004, “Leveraging information in multi-echelon
inventory systems.” European Journal of Oper. Res. To be published
78. Moinzadeh, K. and H.L, Lee, 1986, “Batch size and stocking levels in multi-
echelon repairable systems.” Management Sci. 32, 1567-1581.
79. Molinder, A, and J. Olhager, 1998, “The effect of MRP lot sizing on cumulative
lead times in multi-level systems.” Production Planning & Control, 9(3), 293-
302.
80. Monden, Y., 1983, “Toyota production system: practical approach to production
management.” Industrial Engg. And Mgmt. Press, Norcross, GA.
81. Monden, Y., 1983, “The Toyota production system.” Industrial Engineering and
Management Press, Norfolk: GA.
163
82. Muckstadt, J. A., and S. R. Tayur, 1995a, “A comparison of alternative kanban
control mechanisms. 1. Background and structural results.” IIE Transactions,
27(2), 140-150.
83. Muckstadt, J. A., and S. R. Tayur, 1995b, “A comparison of alternative kanban
control mechanisms. 1. Background and structural results.” IIE Transactions,
27(2), 151-161.
84. Muckstadt, J.A., and L.J. Thomas, 1980 “Are multi-echelon inventorty methods
worth implementing in systems with low-demand rates?” Management Sci. 26,
483-494.
85. Philipoom, P. R, L. P. Rees, B. W. Taylor III and P. Y. Huang, 1987, “An
investigation of factors influencing the number of kanbans required in the
implementation of the JIT technique with kanbans.” Int. J. Prod. Res. 33, 1171-
1177.
86. Philipoom, P. R, L.P. Rees, and B.W. Taylor III, 1996, “Simultaneously
determining the number of kanbans, container sizes, and the final-assembly
sequence of products in a just-in-time shop.” Int. J. Prod. Res., 1996, 34(1), 51-
69.
87. Rees, L. P., P. Y. Huang and B. W. Taylor III, 1989, “A comparative analysis of
an MRP lot-for-lot system and a kanban for a multistage production operation.”
Int. J. Prod. Res., 27, 1427-1443.
164
88. Reiser, M. and S.S. Lavenberg, (ed.), 1980, “Mean-value analysis of closed
multichain queuing networks” Journal of the Association for Computer
Machinery, 27(2), 313-322.
89. Ritzman, L. and B. King, 1991, “The impact of forecast errors in multistage
production systems.” G. Fandel and G. Zapfel (Eds.) in Modern Production
Concepts, Springer, Berlin, 178-194.
90. Rosling, K. 1989, “On properties of stochastic inventory systems.” Oper. Res., 37,
565-569
91. Roundy, R, 1986, “A 98%-effective lot-sizing rule for a multi-product, multi-
stage production/inventory system.” Mathematics of Operations Research, 11(4),
699-727.
92. Ryan, S. M., B. Baynat and F. F. Choobineh, 2000, “Determining inventory levels
in a CONWIP controlled job shop.” IIE Transactions, 32, 105-114.
93. Sarker, B. R. and J. A. Fitzsimmons, 1989, “The performance of push and pull
systems: a simulation and comparative study.” Int. J. Prod. Res. 27, 1715-1731.
94. Scarf, H, 1960, “The optimality of (S, s) policies for the dynamic inventory
problem.” Proceedings of the First Stanford Symposium on Mathematical Models
in the Social Sciences.
95. Schmidt, C. and S. Nahmias, 1985, “Optimal policy for a two-stage assembly
system under random demand.” Oper. Res. 33, 1130-1145.
165
96. Schonberger, R. J. and R.J. Schniederjans, 1984, “Reinventing inventory control.”
Interfaces, 14(3), 76-83.
97. Shantikumar, J. G. and J.A. Buzacott, 1981, “Open queuing network models of
dynamic job shops.” Int. J. of Prod. Res., 19(3),255-266.
98. Silver, E. A., and H.C. Meal, 1973, “A heuristic for selecting lot-size quantities
for the case of deterministic time-varying demand rate and discrete opportunities
for replenishment.” Product. Invent. Mgmt., Second Quarter, 64-77.
99. Simpson, K. F. Jr., 1958, “In-process inventories” Oper. Res. 6(6), 863-873.
100. Spearman, M. L., D. L. Woodruff, and W.J. Hopp, 1990, “CONWIP: a
pull alternative to Kanban.” Int. J. Prod. Res., 28(5), 879-894.
101. Spearman, M. L. and W. Zazanis, 1992, “Push and pull production
systems: issues and comparison.” Oper. Res., 40(3), 521-532.
102. Spence, A. M., and E.L. Porteus, 1987, “Setup reduction and increased
effective capacity.” Mgmt. Sci., 33(10), 1291-1301.
103. Suri, R. and Hildebrandt, 1985, “Modeling flexible manufacturing systems
using mean value analysis.” Journal of Manufacturing Systems, 1(3), 27-38.
104. Swaminathan, J. M., Smith, S. F., and Sadeh, N. M., 1996, “A Multi
Agent Framework for Modeling Supply Chain Dynamics.” Technical Report, The
Robotics Institute, Carnegie Mellon University.
166
105. Szendrovits, A., 1981, “Comments on the optimality in optimal and
system myopic policies for multi-echelon production/inventory assembly
systems.” Mgmt. Sci., 27, 1081-1087.
106. Tarim, S. A. and I. Migue, 2004, “Echelon stock formulation of the
arborescent distribution systems: an application to the Wagner-Whitin problem.”
In Integration of AI and OR techniques in Constraint Programming for
Combinatorial Optimization Problems. Springer, Berlin/ Heidelberg.
107. van Houtum, G.J., K. Inderfuth, W.H.M. Zijm, 1996, “Materials
coordination in stochastic multi-echelon systems.” Euro. Journal of Oper. Res.,
1-23.
108. Veral, E. and R.L. LaForge, 1985, "The performance of a simple
incremental lot sizing rule in a multi-level inventory environment." Decision
Sciences, 16, 57-72.
109. Wagner, H. M. and T.M. Whitin, 1958, “A dynamic version of the
economic lot-size model.” Management Sci., 5, 89-96.
110. Wang, H. and H. P. Wang, 1990, “Determining the number of kanbans: a
step towards non-stock production.” Int. J. Prod. Res., 28, 2101-2115.
111. Wang, H. and H.P. Wang, 1990, “Determining the number of kanbans: a
step toward non-stock production.” Int. J. Prod. Res., 21, 2101-2115.
112. Whybark, D. C. and J. G. Williams, 1976, “Materials Requirements
Planning under uncertainty.” Decision Sci., 7, 595-606.
167
113. Williams, J. “On the optimality of integer lot size ratios in economic lot
size determination in multi-stage assembly systems.” Mgmt. Sci., 28, 1341-1349.
114. Yang, K. K. 2000, “Managing a flow line with single-kanban dual-kanban
or CONWIP.” Production and Operations Management, 9(4), 349-366
115. Zhang, W. and M. Chen, 2001, “A Mathematical Programming Model for
Production Planning using CONWIP.” Int. J. Prod. Res., 39(12), 2723-2724.