Willems Th 1-25-99

131
 TWO PAPERS IN SUPPLY CHAIN DESIGN: SUPPLY CHAIN CONFIGURATION AND PART SELECTION IN MULTIGENERATION PRODUCTS  by Sean Peter Willems B.S.E. Economics Wharton School, University of Pennsylvania, 1993 S.M. Operations Research Massachusetts Institute of Technology, 1996 Submitted to the Alfred P. Sloan School of Management in partial fulfillment of the requirement for the degree of Doctor of Philosophy in Management at the Massachusetts Institute of Technology February 1999 Copyright © Massachusetts Institute of Technology, 1999. All rights res erved. Signat ure of Author _______ Alfred P. Sloan School of Management January 26, 1999 Certified by _____ Stephen C. Graves Abraham J. Siegel Professor of Management Co-director, Leaders for Manufacturing Program Accept ed by ________________ ________ ______ 

description

vjvuvjv iuiig

Transcript of Willems Th 1-25-99

 
TWO PAPERS IN SUPPLY CHAIN DESIGN: SUPPLY CHAIN CONFIGURATION AND PART SELECTION IN MULTIGENERATION PRODUCTS
 by
Submitted to the
in partial fulfillment of the requirement for the degree of 
Doctor of Philosophy in Management
at the Massachusetts Institute of Technology
February 1999
January 26, 1999
Abraham J. Siegel Professor of Management Co-director, Leaders for Manufacturing Program
Accepted by ___________________________________________________________ 
 
3
TWO PAPERS IN SUPPLY CHAIN DESIGN: SUPPLY CHAIN CONFIGURATION AND PART SELECTION IN MULTIGENERATION PRODUCTS
 by
Sean Peter Willems
Submitted to the Alfred P. Sloan School of Management on January 26, 1999 in Partial Fulfillment of the
Requirements for the Degree of  Doctor of Philosophy in Management
Abstract
Increasing competitive pressures are forcing companies to increase their rates of  innovation. The increasing rate of innovation shortens each product’s duration in the market, thereby compressing each product’s life cycle. Without proper management, increasing  product turnover will increase design and manufacturing costs. More frequent product development cycles require additional product development resources. Shorter production runs inhibit a company’s ability to achieve manufacturing cost reductions by exploiting the learning curve and scale economies. Unless companies can efficiently manage multiple generations of the product, there is a substantial risk that costs will spiral out of control.
Focusing on supply chain design is one way companies can combat the problems caused by increased competition and shorter product life cycles. Supply chain design attempts to create the appropriate supply chain for the company’s operating environment. This dissertation addresses two problems that are relevant to supply chain design.
The first problem addresses how to configure a new product’s supply chain. In this  problem, the product’s design has already been fixed. The central question is determining what parts and processes to select. For example, various vendors can supply a certain raw material, multiple machines or processes can manufacture the assembly, and multiple shipping options can deliver the completed product to the final customer. Each of these different options is differentiated by its production time and direct cost added. Given these various choices along the supply chain, the problem is to select the options that minimize the total supply chain cost.
The second problem addresses part selection for multigeneration products. When  product life cycles are short, the company could opt to overengineer certain components or  subsystems in the current generation. This would increase the current period’s costs but allow the company to forgo a development cycle in the next period and gain cost efficiencies by exploiting the higher volume from two generations of demand. This research considers development costs, manufacturing costs and part functionality requirements in order to determine the optimal upgrade path for components across multiple product generations.
 
 
5
Acknowledgments
I have worked with Steve Graves for five years now. I will be forever grateful to
Steve for giving me the opportunity to achieve my potential at MIT. I can’t even begin to
articulate how much I have learned from him.
Steve Eppinger and Yashan Wang formed the rest of my committee. They were both
very giving of their time and energy in order to improve this research. I sincerely appreciate
the direction and feedback that they provided.
I gratefully acknowledge the support and resources made available to me through the
Leaders for Manufacturing Program, a partnership between MIT and major U.S.
manufacturing companies. It would be impossible to overstate how much of an impact LFM
has had on my research. The sponsor companies that I have interacted with have been very
willing to spend the time and effort required to help make my research relevant to their 
 problems.
The close bond I formed with several classmates significantly enhanced my learning at
MIT. David Kletter, Steve’s senior student when I first came to MIT, was the model student
that I wanted to become. He took the time to make sure that I really understood the concepts
that I thought I understood. John Ruark, probably the smartest non-faculty member I have
ever met, taught me a tremendous amount about operations research and how to make it
accessible. Brian Tomlin was the close friend that I progressed through the program with.
This dissertation represents a tremendous achievement for me and my wife Anjanette.
 
 
 
1.3 OPTIMAL PART SELECTION STRATEGIES IN MULTIGENERATION PRODUCTS ...............................19
Part I - Optimal Supply Chain Configuration Strategies for New Products
2 INTRODUCTION..............................................................................................................26
3.2.1 Option definition ....................................................................................................30
3.2.3 External demand ....................................................................................................31
 
3.5 MULTI-STAGE MULTI-OPTION OBJECTIVE FUNCTION DETERMINATION ..................................40
3.5.1 Safety Stock Cost....................................................................................................41
3.5.2 Pipeline Stock Cost.................................................................................................41
3.7.1 State space determination.......................................................................................44
4.2.1 Internal demand.....................................................................................................50
 
6.3.2 Functional equation development ...........................................................................66 
7.2.1 Minimizing UMC heuristic......................................................................................77 
7.3 GENERAL CONCLUSIONS .......................................................................................................90
8.1 ALGORITHM FOR SPANNING TREE..........................................................................................94
9 INTRODUCTION..............................................................................................................98
10.5.1 Demand process characterization .........................................................................103
11.1.1 Hard constraint definition.....................................................................................106 
11.2.1 Shortest path formulation .....................................................................................108
11.3.1 Hard constraint case ............................................................................................111
11.3.2 Target constraint case ..........................................................................................112
14 REFERENCES.................................................................................................................130
Increasing competitive pressures are forcing companies to increase their rates of 
innovation. The increasing rate of innovation shortens each product’s duration in the market,
thereby compressing each product’s life cycle. Product categories, like networking
equipment, which used to have a life span of two to four years are now obsolete after one to
two years.
Without proper management, increasing product turnover will increase design and
manufacturing costs. More frequent product development cycles require additional product
development resources. Shorter production runs inhibit a company’s ability to achieve
manufacturing cost reductions by exploiting the learning curve and scale economies. Unless
companies can efficiently manage multiple generations of the product, there is a substantial
risk that costs will spiral out of control.
This dissertation addresses two problems that are relevant to supply chain design. The
first problem is how to configure a new product’s supply chain. In this problem, there are
various vendors that can supply a certain raw material, multiple machines or processes that
can manufacture the base subassembly, and multiple shipping options to deliver the
completed product to the final customer. Each of these different options is differentiated by
its production time and direct cost added. For example, the company has two available
options to deliver the product to the final customer. The product can be sent by air at a unit
 
14
day transit time. Given these various choices along the supply chain, the problem is to select
the options that minimize the total supply chain cost.
The second problem addresses part selection for multigeneration products. When
 product life cycles are short, the company could opt to overengineer certain components or 
subsystems in the current generation. This would increase the current period’s costs but allow
the company to forgo a development cycle in the next period and gain cost efficiencies by
exploiting the higher volume from two generations of demand.
These are by no means the only relevant problems when designing supply chains.
Another significant problem considers the impact of quality on the supplier-manufacturer 
relationship. Examples of this work include work on optimal sampling policies for incoming
 parts ( Nurani et al. (1995) ), illustrating the benefits of highly robust part designs (Clausing
(1993) ), and calculating the cost of quality implications from poor quality vendors. Another 
stream of research has worked on ensuring that the supplier is capable of meeting the
manufacturer’s volume requirements. This research, which falls broadly under the category
of supplier certification ( Grieco and Gozzo (1992) ), designs practices to ensure that the
supplier is able to keep up as the manufacturer ramps up production. There are also relevant
strategic issues including the proper organizational structure for complex supply chains (
Laseter (1998) ).
An essential element of both of the problems presented in this dissertation is that they
develop quantitative models that advance the state of decision making beyond the
consideration of just unit manufacturing cost (UMC). UMC is defined here as the per unit
cost of a completed finished goods item. This is typically the sum of two sets of costs: direct
 
15
directly attributed to the production of the product. Examples include raw material,
transportation, and processing costs. Overhead costs include those costs that are necessary to
support the product family but can not be attributed to specific units of production. Examples
of engineering costs include quality auditing and process engineering costs. These two
components of UMC are often treated independently. That is, engineering costs are based on
volume projections for the product and then divided by the total number of units sold in order 
to yield a per unit cost. Direct costs are just the sum of the direct costs added across the
supply chain. In this dissertation, UMC will refer to just the direct portion of the product’s
cost.
In practice, UMC is the dominant criterion in the design of a supply chain for several
reasons. First, in most structured product development processes a product must achieve a
gross margin target before it gains approval. Gross margin is calculated by dividing the
difference between selling price and UMC by the selling price. Since the price is typically
dictated by exogenous factors, the team must focus on UMC in order to meet the gross margin
target. This gives UMC a disproportionate influence during the product development process.
Second, it can be measured directly, without any ambiguity. This is in contrast to the
calculation of costs like expected safety stock cost which require an estimate of quantities like
demand variability. Since, by construction, these estimates of variability are only estimates,
the actual realization of the safety stock cost will almost surely deviate from its expected
value. Although materials managers understand this fact, it nonetheless greatly complicates
their budgeting process if they choose to include safety stock cost since it will make their 
 budget numbers incorrect. UMC does not have this problem because it equals the sum of 
 
16
negotiated. Third, the buyers that negotiate the part purchases are not the same employees
that deal with the consequences of the purchasing decisions. They do not see the effects of 
choosing a cheaper, less responsive, supplier. Finally, few quantitative tools exist to assess
the impact of UMC-based decisions on the rest of the supply chain. In the absence of a model
that directly proves that minimizing UMC is a bad decision rule, they will continue applying a
rule that they know with certainty minimizes one cost: the cost-of-goods sold.
The rest of this chapter discusses each problem in more detail. The objective is to
frame the problem in light of previous research, discuss the solution technique, and articulate
why the problem is worth studying.
1.2 Optimal supply chain configuration strategies for new products
A supply chain can be viewed as a network where the nodes represent functionality
that must be provided and the arcs capture precedence constraints among the functions. A
function might be the procurement of a raw material, the manufacture of an assembly, or the
shipment of a product to a distribution center. For each of these functions, there are one or 
more options available to satisfy the function. As an example, two options might exist for the
 procurement of a resistor: a high cost local distributor and a lower cost multinational
manufacturer.
For most structured product development processes, there comes a time when the
materials management organization (MMO) is called in to source the new product’s supply
chain. The supply chain’s functions have already been determined at this point. The role of 
MMO is to identify the options that can satisfy each function and then to decide which
 
17
cost, but more responsive, supply chain versus a lower manufacturing cost, less responsive
supply chain.
We define a configuration as an assignment where each function is assigned an option.
If there are N functions and two options per function, then there are 2  N
 possible supply chain
configurations. This research focuses on finding the optimal supply chain configuration.
Since the supply chain has not yet been established, numerous costs are configuration-
dependent. That is, the options selected will impact multiple supply chain design costs. The
most obvious cost is the cost-of-goods sold where COGS is defined as the direct variable cost
of the product time the number of units sold. Traditionally, sourcing decisions have
minimized this cost by minimizing the UMC of the product. In most industrial contexts,
minimizing UMC is equivalent to minimizing COGS because UMC can be broken into two
components: material-related costs and engineering-related costs. If both types of costs are
independent then COGS equals the direction portion of UMC times the number of units sold.
However, there are also other costs that are determined by the configuration of the supply
chain. These costs include the cost of the inventory necessary to provide the desired level of 
service to the customer. In particular, this model quantifies both pipeline and safety stock 
inventory holding costs, based on the costs and production times for the configuration, as well
as the customer demand requirements.
This model seeks to optimize jointly the supply chain’s cost-of-goods-sold and
inventory holding costs. To the best of my knowledge, these costs have not previously been
considered jointly. Certain aspects of the problem have been extensively studied in the areas
of multi-echelon inventory theory and product development, but these studies have only
 
On the multi-echelon inventory side, numerous papers address optimizing safety stock 
 placement across the supply chain. The papers that are the most relevant to our work are the
 papers by Ettl et al. (1996) and Graves and Willems (1998). These papers, and many of their 
cited references, optimize safety stock levels for an established supply chain. That is, these
models consider supply chains that are already in existence. Because these supply chains are
established, several of the relevant costs in the supply chain are already fixed. In particular,
the expected pipeline stock cost and COGS are determined by the problem’s inputs.
Therefore, these costs are constants that do not enter into the analysis.
Inderfurth (1993) does jointly consider the optimization of safety stock costs and
 production times for a supply chain where the final production stage produces multiple end
items. The optimization captures the impact that the finished goods’ lead-times have on the
overall safety stock cost in the supply chain. However, the model only considers changing the
configuration at one stage in the supply chain and only considers safety stock costs.
Assessing the time-to-market costs for new products has also been well studied.
Quantitative models that evaluate the cost of development times are considered in Ulrich et al.
(1993) and Cohen et al. (1996). Several empirical studies also quantify the benefits of a
shorter time-to-market. Hendricks and Singhal (1997) have examined the impact of delayed
 product introductions on firms’ stock price and Datar et al. (1997) have shown that faster 
 product development correlates positively with increased market share in the computer 
component industry.
To summarize, this model seeks to minimize safety stock cost, pipeline stock cost, and
cost of goods sold when sourcing a new supply chain. To accomplish this, a two-state
 
19
Willems (1998). In Graves and Willems (1998), a single-state dynamic program is
formulated to minimize the safety stock cost in an existing supply chain. The single-state
formulation allows each stage in the supply chain to be solved with only local information
from adjacent stages; this formulation significantly reduces the computational complexity of 
the problem. This dissertation extends the approach to the case where there are now multiple
options at each stage in the supply chain. Algorithms are presented to solve assembly,
distribution, and spanning trees. An example of this model’s application at Kodak is provided
in order to illustrate the trade-offs that this model captures.
1.3 Optimal part selection strategies in multigeneration products
A product can be thought of as consisting of two sets of parts: custom parts and
standard parts. In networking equipment, custom parts include microprocessors and ASICs.
These are the parts that dictate the performance level of the product and hence the product’s
relative attractiveness to consumers. Standard parts include memory and system boards.
These parts act to support the custom parts; they are necessary for the operation of the
 product, but they do not differentiate the product from the competition. Because custom parts
dictate the product’s performance, typically they will have to be revised each generation.
However, there is no such requirement on standard parts. Standard parts only need to be
revised when they conflict with custom parts or constrain the performance of the product or 
when they become too expensive. For example, 66 megahertz system boards become
impractical to use when microprocessor speeds exceed 333 megahertz since the board’s slow
speed acts to constrain the entire product’s performance thereby negating the effect of the
 
20
such can become prohibitively expensive to use as supply options decrease over time; this
explains the move from four-megabyte memory chips to sixteen-megabyte memory chips.
Another fact that complicates this problem is the fact that performance requirements
for future periods are uncertain. For example, a computer manufacturer may know that the
current product requires a 266 megahertz processor but there may be significant uncertainty
whether the requirement for the next period will exceed 333 megahertz. In the unlikely event
that the design team knows that the next generation processor will not exceed 333 megahertz,
then the 66 megahertz system board will be their choice for the current generation. But if 
there is a high likelihood that the next generation’s processor will exceed 333 megahertz, it
may be cost-effective to switch to the 100 megahertz system board in the current generation.
The exact part that will be chosen each period will depend on the cost of changing the
 part from one period to the next, the per generation part cost, and the level of uncertainty with
regards to future performance requirements. To solve this problem, a multi-period two-state
 backward dynamic programming problem is formulated and solved.
This research problem has been expressed in terms of part selection due to the
industrial context that is motivating the problem. As far as I know there has been no work 
that specifically addresses the problem that I have posed. However, the product development,
equipment selection, and technology choice domains have all addressed aspects of this
 problem.
In the product development domain, Sanderson (1991) presents a stylized model that
examines the cost implication of different ratios of standard to custom parts. The cost
function is composed of product development, fixed equipment and variable manufacturing
 
21
custom parts. For a given ratio of standard to custom parts, the cost function can be examined
in order to identify ranges where adopting one set of parts versus another is beneficial. In
contrast, our model’s focus is at a lower level of detail. Given a function’s requirements over 
several generations, we are concerned with finding the optimal set of parts to meet the
requirements at a minimum cost. For a single product generation, Krishnan et al. (1998)
determines the optimal set of common parts and the optimal number of products to offer that
maximizes the product family’s profitability. The attractiveness of a product offering, and
hence its profitability, is dictated by the product’s performance level. The authors show that
the problem can be converted into a shortest path problem. Because Krishnan et al. (1998) is
a single generation problem, the requirements for the period are known with certainty and as
such only appear in the demand function. In contrast, our model focuses on the multi-
generation issues when making a sourcing decision in the current period.
In the equipment replacement problem, a decision has to be made to either replace a
machine in the current period or to replace it in a future period. The classic work in this field
is by Terborgh (1949). Relevant factors affecting this decision are the cost of operating the
existing machine and the operating characteristics of machines that will become available in
the future. For the deterministic version of the problem, extensive planning horizon results
have been developed, leading to the creation of efficient forward dynamic programs; refer to
Chand and Sethi (1982) for an example of this approach.
The part selection problem differs in several ways from the equipment replacement
 problem. First, equipment replacement focuses on the role of depreciation and salvage costs
for the existing piece of equipment. There is no real analog to these costs in the part selection
 
22
suitable to the task at hand, albeit with different operating costs. This may be a reasonable
assumption for machinery but it is not a reasonable assumption for parts. That is, there comes
a time when some parts are simply unable to satisfy a generation’s performance requirement.
Finally, equipment replacement models assume that the cost of different machines move in
lock step. That is, a newer machine is cheaper to operate than an older machine. A corollary
to this is that the newer machine will not become more expensive to operate than older 
machines when the newer machine is no longer the newest; the assumption here is that costs
tend to move together. For the part selection problem, this is not the case. In fact, different
technologies can have radically different cost profiles over time. Understanding the impact of 
these cost differences is a key focus of this research.
The technology choice literature is distinct from the equipment replacement literature
in its focus on determining which technology to use given the characterization of demand and
the fixed and variable costs associated with each technology. In the equipment replacement
 problem, the objective is to minimize cost whereas in the technology choice literature the
objective is to maximize revenue. The two approaches are not equivalent because the
technology literature allows the choice of technology to impact the firm’s profitability.
Examples of this work include Cohen and Halperin (1986) and Fine and Freund (1990).
In Cohen and Halperin (1986), the authors develop a model that jointly optimizes
 production levels and the technology chosen each period. That is, different technologies will
have different optimal production levels. The authors provide a condition that, if satisfied,
 proves that any future technology adopted will have a lower per unit variable cost than the
existing technology in place. The part costs in our model violate the condition in Cohen and
Halperin (1986).
Oftentimes, technology choice considers flexible manufacturing equipment that is
capable of satisfying demand from multiple end items. Fine and Freund (1990) consider a
multiproduct firm that has a two-stage decision process. In the first stage, they must
determine which technologies to adopt. They can choose flexible equipment, at a higher cost,
that can produce any product or they can choose dedicated equipment that can only produce a
certain product. In the second stage, the capacity purchased in the first period is used to
satisfy demand. The authors solve this as a nonlinear stochastic program and prove properties
of the optimal solution.
Finally, the work of Rajagopalan et al. (1998) deserves special consideration due to its
close relation to our work. The authors present a model that jointly optimizes technology
choice, capacity, and replacement decisions. The sources of uncertainty in their model are the
times between technology breakthroughs and the new technology that will emerge. This is
modeled as a semi-markov process where the transition from one technology to the next is
dependent on the best technology currently available. Assumptions are that the set of possible
technologies is known at the start of the planning horizon, that the technologies can be
indexed from worst to best, and that the likelihood of moving from one technology to each
superior technology can be assigned a probability by the user. That is, at the start of the
horizon the user needs to specify the possible interrelationships between all technologies. Our 
model differs in that it focuses on what level of functionality the part must provide, not on
which technology will provide the functionality. For example, when a supporting part like a
system board is being designed, it is only relevant to know that Moore’s law still holds. It is
 
24
future is not technological, but a requirement by the consumer. In the example we will see
later in this dissertation, the performance constraint is the size of the product. Each
generation, the same plastics will be used. The key issue is whether it is optimal to purchase a
smaller, but more expensive, circuit board.
Thus, the part selection problem can be viewed as a more constrained version of the
technology choice problem. The added constraint is the per period performance requirement.
An example where this type of constraint would be useful to the equipment replacement or 
technology choice literature is for a product like a photolithography machine. In the current
generation, machines capable of .25 micron widths are sufficient but in two periods they will
need to be capable of .18 micron widths. The question is do you buy a .25 micron width
machine now and install a .18 micron width machine in two periods or do you install the .18
micron now; it is assumed that the .18 machine is capable of producing .25 micron widths. If 
you install the .18 micron machine now, your current period costs will increase but they may
 
Strategies for New Products
2 Introduction
This project will look at determining optimal configuration strategies for new product
supply chains. The goal is to develop a decision support tool that product managers can use
during the product development process where the product’s design has been fixed, but the
vendors, manufacturing technologies, and shipment options have not yet been determined.
Our supply chain design framework considers three specific costs that are relevant when
designing new supply chains: unit manufacturing cost, safety stock cost, and pipeline stock 
cost. The supply chain design problem minimizes the sum of these costs when creating a new
supply chain.
The problem is a design problem because there are several available sourcing options
at each stage. Examples include multiple vendors available to supply a raw material and
several manufacturing processes capable of assembling the finished product. These different
options have different direct costs and production lead-times. Therefore, choices in one
 portion of the supply chain can affect the costs and responsiveness of the rest of the supply
chain. The optimal configuration of the supply chain will choose one option per stage such
that the costs of the resulting supply chain are minimized.
The paper is structured as follows. In Section 3, the algorithm for a serial line supply
chain is formulated. This section forms the building block of the more general algorithm.
Section 4 extends the serial line framework to solve assembly networks. Assembly networks
are networks where a stage can have several suppliers but can itself supply only one stage.
Section 5 extends the serial line framework to solve distribution networks. Distribution
 
27
Section 6 combines the results from Sections 4 and 5 to solve spanning tree networks. While
still having a specialized structure, spanning trees allow the modeling of numerous real-world
supply chains. In Section 7, the algorithm and several heuristics are applied to an industry
example.
3.1 Network Representation
We consider an N-stage serial system, where stage i is the immediate upstream
supplier for stage i+1, for i = 1, 2, …, N-1. Hence, stage 1 is the raw material stage and has
no supplier; and stage N is the finished goods inventory stage, from which customer demand
is served. Each stage represents a major processing function in the supply chain. A typical
stage might represent the procurement of a raw material or the manufacturing of a
subassembly or the shipment of the finished product from a regional warehouse to the
customer’s distribution center. Each stage is a potential location for holding a safety-stock 
inventory of the item processed at the stage.
For each stage, one or more options exist that can satisfy the stage’s processing
requirement. We denote the total number of options available at stage i by Oi. For example,
if a stage represents the procurement of a metal housing, then one option might be a locally-
 based high-cost provider and another option could be a low-cost multinational company. If 
these are the only two options available at stage 1, then O1 = 2 and the individual options will
 be denoted O11 and O12 where Oij denotes the jth available option at stage i. Options are
differentiated by their direct costs and production lead-times. For each stage, only one option
will be used in the completed supply chain. Thus, this model restricts itself to sole sourcing at
each stage.
 
Figure 3-1: Depiction of a typical serial supply chain
and the options at each stage are shown in Table 3-1:
Stage Option Description Direct Cost Lead-time
1 1 Local supplier $45 20 days
1 2 Multinational supplier $20 40 days
2 1 Manual assembly $10 10 days
2 2 Automated assembly $40 2 days
2 3 Hybrid assembly line $20 4 days
3 1 Company-owned trucks $15 4 days
3 2 Third party carrier $30 2 days
4 1 Ground transportation $25 5 days
4 2 Air freight $45 3 days
4 3 Premium air freight $60 1 day
Table 3-1: Options available for supply chain example
Figure 3-1 represents a stylized supply chain where a raw material is purchased from
an external vendor, transformed and then sent through the company’s distribution center.
Customers then place orders directly on the distribution center to receive the product. Table
3-1 lists the options available at each stage in the supply chain.
Just looking at the numbers, it is not immediately obvious which option should be
selected at each stage. At the extremes, one can create a high-cost, short production lead-time
supply chain or a low-cost, long production lead-time supply chain. The goal of this research
is twofold. First, for a given set of options, we want to provide an algorithm that determines
the optimal supply chain configuration that minimizes the total supply chain cost. Second, we
want to provide general insights and conditions on when certain supply chain structures are
appropriate.
3.2.1 Option definition
An option at a stage is defined as a {direct cost added, production lead-time} pairing.
There are Oi options to choose from at stage i and we define the jth available option by Oij =
{cij , Tij} where cij denotes the direct cost added and Tij denotes the production lead-time of 
the jth option at stage i; note that 1 ≤ j ≤ Oi. When a stage reorders, the production lead-time
is the time to process an item at the stage, assuming all of the inputs are available. The
 production lead-time includes both the waiting and processing time at the stage, plus any
transportation time required to put the item into inventory. For instance, suppose stage i’s
selected option has a three-day production lead-time. If we make a production request on
stage i in time period t, then stage i completes the production at time t+3, provided that there
is an adequate supply from stage i-1 at time t.
Since we assume that the production lead-time is not impacted by the size of the order,
we in effect assume that there are no capacity constraints that limit production at a stage.
An option’s direct cost represents the direct material and direct labor costs associated
with the option. If the option is the procurement of a raw material from a vendor then the
direct costs would be the purchase price and the labor cost to unpack and inspect the product.
3.2.2 Periodic-review base-stock replenishment policy
We assume that all stages operate according to a periodic review policy with a
 
 
31
customer or from its downstream stage, and places an order on its supplier to replenish the
observed demand. In effect, each stage operates with a one-for-one or base-stock 
replenishment policy. There is no time delay in ordering; hence, in each period the ordering
 policy passes the external customer demand back up the supply chain so that all stages see the
customer demand.
3.2.3 External demand
Without loss of generality, we assume that external demand occurs only at node N.
Let d N(t) denote the demand at stage N in period t. We assume that the demand for the end
item comes from a stationary process for which the average demand per time period is µ N.
We also assume that the demand process is bounded by the function D N(τ), for τ = 1, 2, 3, ...
M N, where M N is the maximum possible replenishment time for the item. That is, D N(τ) ≥
d N(t) + d N(t+1) + ... + d N(t+τ-1) for all t and for τ = 1, 2, 3, ... M N. We define D N(0) = 0 and
assume that D N(τ) is increasing and concave on τ = d i (t) = i,i+1di+1(t)φ , 2, 3, ... M N;
thus, D N(τ) – D N(τ-1) is nonnegative and decreases as τ increases.
3.2.4 Internal demand
We term an internal stage to be one with internal customers or successors. In the
serial line formulation, these are stages with labels 1, 2, …, N-1. For an internal stage, the
demand at time t equals the order placed by its immediate successor. Since each stage orders
according to a base stock policy, the demand at internal stage i is denoted as di(t) and given
 by:
di (t) = i,i+1di+1(t)φ
for i = 1, 2, …, N-1 where φi,i+1 denotes the number of units of stage’s i’s product necessary
to produce one unit of stage i+1’s product.
We assume that the demand at each internal node of the supply chain is also stationary
and bounded. The average demand rate for component i is:
µ φ µi   = i, i+1 i+1.
We also assume that demand for the component i is bounded by the function Di(τ), for 
τ = 1, 2, 3, ... Mi, where Mi is the maximum possible replenishment time for the item. For the
serial case, the demand bound at stage i is derived directly from the demand bound at stage
i+1.
3.2.5 Guaranteed service times
We assume that the demand node N promises a guaranteed service time S N by which
the stage will satisfy customer demand. For instance, if S N = 0, then the stage provides
immediate service from inventory to the final customer; if S N > 0, then the customer demand
at time t, d N(t), must be filled by time t + S N. Furthermore, we assume that stage N provides
100% service for the specified service time: stage N delivers exactly d N(t) to the customer at
time t + S N. These guaranteed service times for the end items are model inputs.
 
33
on stage i at time t; then stage i delivers exactly this amount to stage i+1 at time t + Si. For 
instance, if Si = 3, then stage i will fulfill at time t + 3 an order placed at time t by stage i+1.
These internal service times are decision variables for the optimization model, as will be seen.
3.3 Single-Stage Single-Option Model2
In this section, we present a model for the inventory at a single stage, where there is
only one option available at the stage. The single-stage model serves as the building block for 
modeling a multi-stage supply chain. Since we assume that there is only one option per stage,
we can suppress the option-specific index and denote the production lead-time at stage i by Ti.
We have already noted that each stage quotes and guarantees a service time Si by
which stage i will deliver product to its immediate successor. For a serial supply chain, it
must also be the case that stage i is being quoted a service time by its upstream supplier. That
is, the inbound service time to stage i is the service time that stage i-1 quotes to stage i. By
definition, this inbound service time is equal to Si-1. For the case where i = 1, we assume that
S0 = 0; this corresponds to the case where there is an infinite supply of material available to
the supply chain.
3.3.1 Inventory model
We define Ii(t) to be the finished inventory at stage i at the end of period t, where we
assume the inventory system starts at time t=0. Under the assumptions of perfect service and
a base-stock replenishment policy, we can express Ii(t) as
 
Ii(t) = Bi – di(t – Si-1 – Ti, t – Si) (1)
where Bi = Ii(0) ≥ 0 denotes the base stock and where di(a, b) denotes the demand at stage i
over the time interval (a, b]. [see Kimball 1955, Simpson 1958 or Graves 1988] Since we
assume a periodic-review replenishment policy, then without loss of generality we express all
time parameters as integer units of the underlying time period. Hence, we understand di(a, b),
the demand at stage i over the time interval (a, b], to be given by
di(a, b) = di(a+1) + di(a+2) + …. + di(b)
for a<b and di(t) being the demand observed at stage i in time period t. When a≥  b, we
define di(a, b) = 0. And for (1) to be true for small t, we define di(a, b) = di(0, b) for a<0.
To explain (1), we observe that the replenishment time for the inventory at stage i is
Si-1 + Ti. Thus, in time period t stage i completes the replenishment of the demand observed
in time period t – Si-1 – Ti. Hence, at the end of time period t, the cumulative replenishment
to the inventory at stage i equals di(0, t – Si-1 – Ti). For a given service time Si, in time
 period t stage i fills the demand observed in time period t – Si from its inventory. By the end
of time period t the cumulative shipments from the inventory at stage i equal di(0, t – Si). The
difference between the cumulative replenishment and the cumulative shipments is the
inventory shortfall, di(t – Si-1 – Ti, t – Si). The on-hand inventory at stage i is the initial
 
 
3.3.2 Determination of base stock
We require that Ii(t) ≥ 0 with probability 1 in order for the stage to provide 100%
service to its customers. From (1) we see that 100% service requires that
Bi ≥ di(t – Si-1 – Ti, t – Si) with probability 1.
Since we assume demand is bounded, we can satisfy the above requirement with the least
inventory by setting the base stock as follows:
Bi = Di(τ) where τ = max {0, Si-1 + Ti – Si}. (2)
By assumption, any smaller value for the base stock can not assure that Ii(t) ≥ 0 with
 probability 1, and thus cannot guarantee 100% service.
In words, we set the base stock equal to the maximum possible demand over the net 
replenishment time for the stage. The replenishment time for stage i is the time to get the
inputs (Si-1) plus the production time at stage i (Ti). The net  replenishment time for stage i is
the replenishment time minus the service time (Si) quoted by the stage. The demand over the
net replenishment time is demand that has been filled but that has not yet been replenished.
The base stock must cover this time interval of exposure; thus the base stock is set to the
maximum demand over this time interval.
It is possible that the promised service time is longer than the replenishment time, i.e.,
Si-1 + Ti < Si, and thus the net replenishment time is negative. For example, it may take five
days for the stage to replenish its inventory, but the promised service time is eight days. In
 
36
 base stock Bi to zero and still provide 100% service. Indeed, in such a case, the stage would
delay each order on its suppliers by Si – Si-1 – Ti periods, so that the supplies arrive when
needed.
With no loss of generality, we can redefine the inbound service time so that the net
replenishment time is nonnegative. In particular we redefine Si-1 to be the smallest value that
satisfies the following constraints:
Si-1 + Ti ≥  Si  .
If the inbound service time is such that Si-1 > Si for some i = 1, 2, …, N, then stage i
delays orders from stage i by Si-1 - Si periods.
3.3.3 Safety stock model
We use (1) and (2) to find the expected inventory level E[Ii]:
  E[Ii] = Bi – E[di(t – Si-1 – Ti, t – Si)]
= Di(Si-1 + Ti – Si ) – (Si-1 + Ti – Si ) µi (3)
for Si-1 + Ti – Si ≥  0. The expected inventory represents the safety stock held at stage i. The
 
3.3.4 Pipeline Inventory
In addition to the safety stock, we want to account for the in-process or pipeline stock 
at the stage. Following the argument for the development for equation (1), we observe that
the work-in-process inventory at time t is given by
Wi(t) = di(t – Si-1 – Ti, t – Si-1) .
That is, the work-in-process corresponds to Ti periods of demand given the assumption of a
deterministic production lead-time for the stage. The amount of inventory on order at time t is
Oi(t) = di(t – Si-1, t)
where the units of Oi(t) are in terms of finished items at stage i, and denote the amount of 
component kits on order from stage i-1 to stage i. Similar to the work-in-process, the amount
on order equals Si-1 periods of demand.
From (1) we see that the finished inventory plus the work-in-process plus the on-order 
inventory is a constant, namely the base stock. Furthermore, we see that the expected work-
in-process depends only on the lead-time at stage i and is not a function of the service times:
E[Wi] = Ti µi . (4)
3.3.5 Safety stock cost calculation
To determine the safety stock cost at stage i, we need to determine stage i’s holding
cost. Since this section is considering only the single-option model for each stage we know
 
38
including the current stage. For stage i, denote Ci as the total direct cost added up to and
including stage i; i.e., the cumulative cost at stage i. Since the supply chain is a serial line by
assumption, Ci is determined by the trivial recursion Ci = Ci-1 + ci for stages i = 1, …, N and
C0 = 0.
If we assume a holding cost rate of α then the per unit holding cost at stage i equals
αCi. Therefore, the expected safety stock cost at stage i equalsαCiE[Ii].
3.3.6 Pipeline stock cost calculation
To determine the cost of the pipeline stock at stage i, we multiply the pipeline stock at
the stage by the average value of the stock at the stage. If we assume that the costs accrue as
a linear function of the time spent at the stage, then the average value of a unit of pipeline
stock at stage i equals (Ci-1 + Ci)/2. This can also be written as Ci-1 + ci/2. Therefore, the
expected pipeline stock cost at stage i equalsα(Ci-1 + ci/2)E[Wi]. This assumption of a linear 
cost-accrual process approximates the real process; it can be changed to a more complicated
function if conditions justify this.
3.4 Multi-Stage Multi-Option Serial Supply Chain Model
This section uses Section 3.3 as the building block in order to model the expected
safety stock levels and pipeline stock levels across the serial supply chain. The consideration
of multiple options at a stage does introduce some additional complexity to the formulation.
In particular, we need to explicitly account for the fact that only one option will be selected at
 
39
Oi. yij equals 1 if option j is selected for stage i and equals 0 otherwise; i.e., yij = 1 implies
Oij is selected. Given this additional notation, we can formulate the model for stage i as:
E Ii yij Di Si Tij Si Si Tij Si i  j
Oi = −   + − − −   + −
Oi =
= ∑   µ
1
(6)
yij Si Tij Si for j Oi−   + − ≥ ≤ ≤1 0 1e (7)
yij  j
yij for j Oi∈ ≤ ≤0 1 1, (9)
Equation (5) expresses the expected safety stock as a function of the net replenishment time
and demand characterization given that option j is selected at stage i. In (6), the expected
 pipeline stock equals the mean demand times the selected option’s production time. Equation
(7) ensures that the net replenishment time is nonnegative. Finally, equations (8) and (9)
require that exactly one option be selected at each stage.
We see from (5)-(9) that the expected inventory in the supply chain is a function of the
demand process, the options selected and the service times. We assume that the options’
 production lead-times, and the means and bounds of the demand processes are known input
 parameters. The guaranteed service time for stage N is also an input. Thus, in any
 
40
In order to determine which options and service times are optimal, we need to know
how choosing a particular option and service time configuration affects the supply chain’s
costs. This is the subject of Section 3.5.
3.5 Multi-Stage Multi-Option Objective Function Determination
This section presents the formulation of the supply chain costs that are relevant to the
supply chain configuration problem. There are three relevant costs: manufacturing cost,
safety stock cost, and pipeline stock cost. Safety stock and pipeline stock costs have already
 been introduced and only need to be modified to handle the addition of multiple options at a
stage. Cost of goods sold equals the total direct cost of all the units of product that are
shipped to consumers.
 Note that all three of these costs are influenced by the option chosen at each stage.
For example, a supply chain comprised of stages with low direct costs and long lead times
may have a low cost of goods sold but a high safety stock cost. To make this statement more
rigorous, we must first know the direct and cumulative cost added at each stage. In particular,
our calculation of Ci must take the selected options into account. This is done as follows:
Ci Ci yijcij  j
Oi = −   +
= ∑1
1
(10)
for i = 1, 2, …, N where C0 = 0. With this cost information, we can now determine the supply
chain’s cost.
3.5.1 Safety Stock Cost
By definition, safety stock is held at the end of the stage, after its processing activity
has occurred. Therefore, the value of a unit of safety stock at stage i is equal to the
cumulative cost of the product at stage i. The expected safety stock cost at stage i is:
αCiE Ii (11)
3.5.2 Pipeline Stock Cost
To determine the cost of the pipeline stock for stage i, we multiply the expected
 pipeline stock by the average cost of the product at the stage. Two equivalent cost
calculations are shown below:
3.5.3 Cost of Goods Sold
Cost of goods sold (COGS) represents the total cost of all the units that are delivered
to customers during a company-defined interval of time. Typically, the interval of time is one
year. The cost of goods sold is determined by multiplying the end item’s annual demand
times the end item’s unit manufacturing cost. That is,
COGS C N N= β µ (13)
where β is a scalar that converts the model’s underlying time unit into the company’s time
interval of interest; β is the scalar that expresses (13) in the same units as (11) and (12).
Recall that the model has an underlying time unit that is common to all stages. For example,
 
42
year, then we would need to multiply µ N by 365 to get the expected annual volume of the
 product. This annual volume would then be multiplied by the unit manufacturing cost, C N, to
get the expected cost of goods sold per year.
The above derivation of COGS is formulated from the perspective of the end item.
For an intuitive understanding of the cost, this is an easier interpretation. However, when
formulating the objective function, we will find it useful to divide the cost among the stages in
the supply chain. To do this, we note that the cumulative cost at stage N is just the summation
of the chosen direct costs at each of the stages. Therefore, we can calculate COGS as follows:
COGS yijcij i  j
11
(14)
This formulation is analogous to the echelon stock cost seen in many classic multiechelon
inventory works, including Clark and Scarf (1960).
3.6 Math Programming Formulation
With the inventory calculations in Section 3.4 and the cost calculations in Section 3.5,
we are now in a position to formulate an optimization problem for finding the optimal option
and service time configuration for the entire serial supply chain:
P
min yij Ci Di Si Tij Si Si Tij Si i  j
Oi
i
 N
S N s N
Si and for i N
−   −   −
=
= =
−   + − ≥ = ≤ ≤

=
= =
∈ = ≤ ≤
≥ =


k p integer 
where s N is the guaranteed service time for demand node N; s N is a user-specified input to the
model. Thus, the objective of problem P is to minimize the sum of the supply chain’s safety
stock cost, pipeline stock cost, and cost of goods sold. The constraints assure that exactly one
option is chosen per stage, that the net replenishment time for each stage is nonnegative and
that Stage N satisfies its service guarantee. The decision variables are the service times and
the options selected.
Problem P is an integer nonlinear optimization problem. For a fixed set of feasible yij
(corresponding to the case where the user specifies the option selected at each stage), Graves
and Willems (1998) show that the objective function is a concave function provided that the
demand bound Di( ) is a concave function for each stage i. Hence, in the single-option case,
we minimize a concave function over a set of linear constraints. Although the feasible region
is not necessarily bounded, one can show that the optimal service times need not exceed the
sum of the production lead-times, provided that the demand bound Di( ) is a non-decreasing
 
44
concave function over a closed, bounded convex set. An optimum for such problems is at an
extreme point of the feasible region (e.g., Luenberger, 1973).
3.7 Dynamic Programming Solution Procedure
The serial line case can be solved to optimality by dynamic programming. Section
3.7.1 constructs the dynamic program’s state space and section 3.7.2 provides the solution
 procedure.
3.7.1 State space determination
In order to solve the dynamic program efficiently, we need to define a state space that
allows the algorithm to solve the network in a node-by-node fashion, using only information
that is locally available at the node. When there is only one available option per stage, Graves
and Willems (1998) show how to formulate the dynamic program with a single state variable.
The state variable is either the inbound or outbound service time at the stage. The type of 
service time that is used at a stage depends on the where the stage resides in the network.
The single-option problem only requires one state variable because several key
 parameters are uniquely determined by the options. In particular, the maximum
replenishment time and the cumulative cost at each stage are known constants if there is only
one available option per stage. Having a constant cumulative cost is important because this
makes the pipeline stock and cost of goods sold deterministic quantities. These two costs do
not depend on service times so the options chosen entirely determine their values. Therefore,
when there is only one available option per stage, the optimization problem simplifies to
determining the optimal set of service times that minimize the supply chain’s safety stock 
cost.
45
The multi-option serial supply chain problem can be modeled using two state
variables. As in Graves and Willems (1998), one state variable will represent the outbound
service time at the stage. The additional state variable will be the cumulative cost at the stage.
We define the set of feasible cumulative costs at stage i by Xi. Since the cumulative
cost at stage i is determined by the options selected at stages 1 to i, and there are a finite
number of options at each stage, the cumulative cost at stage i can only take on a set of 
discrete values. For example, if stage 1 has two options then it can have at most two
cumulative costs; in this case, each possible cumulative cost is equal to the direct cost for one
of the options. If stage 2 also has two options, then stage 2 can have at most four cumulative
costs; these are created by adding each option’s cost element to stage 1’s cumulative costs.
We will also find it useful to define XIi as the set of incoming cumulative costs to
stage i. For the serial line supply chain, these are just the cumulative costs at stage i-1. In set
notation, XIi ⊂ Xi-1.
3.7.2 Forward recursive formulation
The dynamic program is a forward recursion starting at stage 1 and proceeding to
stage N. For each stage, the dynamic program evaluates a functional equation denoted by
f i(C, S). f i(C, S) is defined as the minimum supply chain cost for node 1 to i given that stage
i’s cumulative cost is C and stage i quotes a service time of S.
To develop the functional equation, we first define the supply chain cost at stage i as a
function of the service time quoted to stage i (SI), plus stage i’s service time (S), cumulative
cost (C) and option (Oij) selected:
 
46
gij SI C S C Di SI Tij S SI Tij S i C cij
Tij i cij i, ,a f    e j e j= + − − + − + −HG K  J   +α µ α µ β µ 2
(15)
gij(SI, C, S) is the summation of the safety stock cost, pipeline stock cost, and direct
manufacturing cost contributed by the stage. By observation, gij(SI, C, S) is strictly
decreasing in S over the interval 0 ≤ S ≤ SI + Tij and strictly increasing in SI over the interval
[S - Tij] +  ≤ SI ≤ Mi-1.
There are three conditions on gij(SI, C, S); one condition corresponding to each of the
function’s parameters. First, we require [S - Tij] +  ≤ SI ≤ Mi-1. The left inequality constrains
the service time quoted to stage i (SI) so that the net replenishment time at stage i is
nonnegative. The right inequality restricts the service time at stage i-1 to not exceed the
maximum service time that stage i-1 can quote. The second condition is that 0≤ S ≤ SI + Tij.
The service time at stage i must be nonnegative and can not exceed the net replenishment
time. Third, we require that the incoming cumulative cost to stage i equal a cost that the
upstream configuration can produce. This requires the cumulative cost (C) minus option j’s
direct cost (cij) to equal a feasible cumulative cost at stage i-1. Thus, for C to be feasible, we
must have {C - cij} ∈ Xi-1.
We now want to define the minimum supply chain cost for stages 1 through i given
that stage i utilizes option Oij. Let f ij(C, S) denote this option-specific optimal cost-to-go
function. It is defined below:
 
f ij C S SI
gij SI C S f  i C cij SI, min , , ,a a   e= +   −   −1 (16)
The first term represents the supply chain’s costs incurred at stage i and is defined in (15).
The second term corresponds to the minimum cost for the stages that are upstream of stage i.
For these upstream stages, we include their minimum supply chain costs as a function of stage
i-1’s service time, SI, and its cumulative cost C – cij. The three conditions on (15) also apply
to (16).
f i C S  j
f ij C S, min ,a ao= (17)
where the minimization is over the options at stage i that are feasible given a cumulative cost
of C at stage i and a service time of S.
The functional equation is evaluated for all {cumulative cost, service time} states that
are feasible at stage i. Thus, for each C ∈ Xi, we solve for S = 0, 1, …, Mi. Mi, the
maximum replenishment time at stage i, is calculated by the recursion Mi = Mi-1 + max {Tij}.
The set Xi is defined by the recursion Xi = {xi-1 + cij | xi-1 ∈ Xi-1, j = 1 , … , Oi }.
To find the optimal solution, we first note that the service time at stage N can not
exceed s N. Therefore, for each feasible cumulative cost C at stage N, we can evaluate f  N(C,
s N) and choose the option with the minimum cost. We can then backtrack through the
 
4.1 Network Representation
A supply chain that can be modeled as an assembly network is one in which each
stage can receive inputs from several adjacent suppliers but can directly supply only one
downstream stage. In network terms, an assembly network is a graph where each node can
have multiple incoming arcs but only one outgoing arc. We assume the nodes are
topologically ordered. That is, for every arc (i,j)∈ A, i < j. By construction, this implies that
the finished goods node will be labeled node N.
Let B(i) denote the set of stages that are backwards adjacent to stage i;
B(i)={h:(h,i)∈A}. The cardinality of B(i), denoted |B(i)|, equals the number of stages directly
supplying stage i.
For each node i we define Ni to be the subset of nodes {1, 2, ... i} that are connected to
i on the sub-graph consisting of nodes {1, 2, … i}. That is, Ni is the set of nodes that form an
in-tree rooted at node i. We will use Ni to explain the dynamic programming recursion later 
in this section. We can determine Ni by the following equation:
 Ni i N h h B i
= +
∈ ( )
U .
 
Figure 4-1: Assembly network supply chain
and the options at each stage are shown in Table 4-1:
Stage Option Description Direct Cost Lead-time
1 1 Multinational Supplier $5 10 days
1 2 Local Supplier $10 4 days
2 1 Multinational Supplier $5 10 days
2 2 Local Supplier $10 4 days
3 1 Local Vendor #1 $15 20 days
3 2 Local Vendor #2 $20 10 days
4 1 Manual Assembly $25 10 days
4 2 Automated Assembly $30 8 days
5 1 Low Volume Equipment $10 30 days
5 2 High Volume Equipment $15 15 days
Table 4-1: Options available for assembly network supply chain
Figure 4-1 represents a stylized supply chain for a subassembly that is created by inserting a
circuit board into a metal housing. The circuit board has two main components, a
motherboard and a controller. All of the stages have two sourcing options, consisting of a low
cost, long lead-time supplier and a higher cost, shorter lead time supplier.
In Figure 4-1, Ni is {3} for i=3 and {1, 2, 4} for i=4.
4.2 Stage Notation and Assumptions
The assumptions and notation adopted for the serial network are still valid for 
assembly networks. This section addresses two differences between the serial line and
 
50
that the network is not a serial line. Second, the incoming service time to a stage has to be
defined since a stage can have several upstream suppliers, each quoting the stage a different
service time.
4.2.1 Internal demand
For an internal stage, the demand at time t equals the order placed by its immediate
successor. Since each stage orders according to a base stock policy, the demand at internal
stage i is denoted as di(t) and given by:
di (t) = ijd j (t)φ
where φij denotes the number of units of stage’s i’s product necessary to produce one unit of 
stage j’s product.
We assume that the demand at each internal node of the supply chain is also stationary
and bounded. The average demand rate for component i is:
µ φ µi   = ij j .
We also assume that demand for the component i is bounded by the function Di(τ), for τ = 1,
2, 3, ... Mi, where Mi is the maximum possible replenishment time for the item. For the
assembly case, the demand bound at stage i is derived from the demand bound at its
downstream adjacent stage j.
4.2.2 Guaranteed service times
Since each stage has only one downstream customer, Si still represents the service
time that stage i quotes to its downstream customer. However, the possibility of multiple
upstream adjacent stages requires additional notation to characterize the incoming service
 
51
time quoted to a stage. Let SIi denote the maximum incoming service time quoted to stage i.
That is, SIi = max { Sh } for all h such that (h,i) ∈ A. This assumes that stage i must wait
until all of its raw materials arrive before it can begin its processing function.
4.3 Solution Procedure
4.3.1 Dynamic programming formulation
As in the serial line formulation, the state variables for the assembly network 
formulation are service time and cumulative cost. However, the assembly case is complicated
 by the fact that different configurations at upstream stages can produce the identical
cumulative cost at the downstream stage. Since these different configurations will have
different supply chain costs, we need a way to efficiently enumerate and evaluate these
configurations in order to determine the optimal cost-to-go for the downstream stage.
Therefore, before the dynamic programming algorithm can be presented, a new data structure
must first be created.
4.3.1.1 Incoming cumulative cost combinations
Let CIi denote the incoming cumulative cost to stage i. This is equal to the cumulative
cost at stage i, Ci, minus the stage’s direct cost added, cij. For the assembly network case, we
need a data structure that allocates CIi across the stages in B(i). In the serial network case, the
allocation is immediate; CIi = Ci-1 since B(i) = {i-1}. In the assembly network case, we
 
52
corresponding to a feasible cumulative cost for one of the stages in B(i). Summing the
elements of the combination will equal the incoming cumulative cost CIi.
Let Qi(CI) denote the set of combinations where the summation of each combination
equals CI. For a combination q∈ Qi(CI), we define vqh as the cumulative cost at stage h
associated with combination q; that is, vqh ∈ Xh.
For example, in Figure 4-1, two combinations produce an incoming cumulative cost of 
$65 at stage 5. The configurations are {$45, $20} and {$50, $15} where the first term of each
combination is the cumulative cost at stage 3 and the second term is the cumulative cost at
stage 4. In the notation above: B(5) = {3, 4}; |Q5($65)| = 2; Q5($65) = { {$45, $20}, {$50,
$15} }; v13 = {$45}, v14 = {$20} and v23 = {$50} , v24 = {$15}.
4.3.1.2 Forward recursive formulation
The dynamic program is a forward recursion, starting at stage 1 and proceeding to
stage N. For each stage, the dynamic program evaluates a functional equation denoted by
f i(C, S). f i(C, S) is defined as the minimum supply chain cost for the in-tree rooted at node i
given that stage i has a cumulative cost C and quotes a service time of S.
To develop the functional equation, we first define the supply chain cost for stage i as
a function of the maximum service time quoted to stage i (SI), plus stage i’s service time (S),
cumulative cost (C) and option selected (Oij):
gij SI C S C Di SI Tij S SI Tij S i C cij
Tij i cij i, ,a f    e j e j= + − − + − + −HG K  J   +α µ α µ β µ 2
(18)
53
 Note that (18) is exactly the same as (15). It is only included here for completeness.
We next want to characterize the minimum total supply chain cost for each of the sub-
networks that are upstream of stage i. That is, we want to calculate the total cost-to-go for 
each subnetwork Nh, where h ∈ B(i). Let FIi(CI,SI) denote the minimum total upstream
cost-to-go given that the incoming cumulative cost to stage i is CI and the maximum
incoming service time to stage i is SI. FIi(CI,SI) is defined below:
FIi CI SI q Qi CI
f h vqh SI
S|  T|
  V||∑ (19)
Equation (19) finds the minimum total supply chain cost for the in-trees rooted at stage i’s
upstream adjacent stages. For a given combination q, the function loops over all of the
upstream adjacent stages and returns the minimum cost-to-go for each stage given the
maximum service time it can quote and its allocated portion of stage i’s incoming cumulative
cost. The summation of these |B(i)| terms equals the cost of the combination quoting a
maximum service time of SI. To find the minimum total supply chain cost, we must
minimize over all upstream combinations belonging to the set Qi(CI).
We now define the minimum cost-to-go at stage i given that stage i utilizes option Oij.
Let f ij(C, S) denote this option-specific optimal cost-to-go function. It is defined below:
f ij C S SI
gij SI C S FIi C cij SI, min , , ,a a   e= + − (20)
The first term represents the supply chain costs incurred at stage i and is defined in (18). The
 
54
that is upstream adjacent to stage i. Since the cumulative cost at stage i is C, this subgraph’s
cumulative cost must equal C – cij.
We can now use (20) to develop the functional equation for f i(C, S):
f i C S  j
f ij C S, min ,a ao= (21)
where the minimization is over the available options at stage i. The minimization can be done
 by enumeration.
The functional equation is evaluated for all {cumulative cost, service time} states that
are feasible at stage i. Thus, for each C ∈ Xi, we solve for S = 0, 1, …, Mi. Mi, the
maximum replenishment time at stage i, is calculated by the recursion
Mi h B i
.
To find the optimal solution, we first note that the service time at stage N can not
exceed s N. Therefore, for each feasible cumulative cost C at stage N, we can evaluate f  N(C,
s N) and choose the option with the minimum cost. We can then backtrack through the
 
5.1 Network Representation
A supply chain that can be modeled as a distribution network is one in which each
stage can have only one supplier and one or more customers. In network terms, a distribution
network is a graph where each node can have multiple outgoing arcs but only one incoming
arc. We assume the nodes are topologically ordered. That is, for every arc (i,j)∈ A, i < j. By
construction, this implies that the raw material node will be labeled node 1.
Let D(i) denote the set of stages that are forward adjacent to stage i; D(i)={k:(i,k)∈A}.
The cardinality of D(i), denoted |D(i)|, equals the number of stages directly served by stage i.
For each node i we define Ni to be the subset of nodes {i, i+1, ... N} that are connected
to i on the sub-graph consisting of nodes {i, i+1, ... N}. We will use Ni to explain the
dynamic programming recursion. We can determine Ni by the following equation:
 Ni i Nk  k D i
= +
∈ ( )
U .
 
Figure 5-1: Distribution network supply chain
and the options at each stage are shown in Table 5-1:
Stage Option Description Direct Cost Lead-time
1 1 Low Volume Equipment $10 30 days 1 2 High Volume Equipment $15 15 days 2 1 3rd Party Carrier $3 5 2 2 Premium Carrier $6 2 3 1 Shipment by Boat $5 30 days 3 2 Shipment by Air $25 3 days 4 1 3rd Party Carrier $6 10 days 4 2 Premium Carrier $12 3 days 5 1 3rd Party Carrier $6 10 days 5 2 Premium Carrier $12 3 days
Table 5-1: Options available for distribution network supply chain
Figure 5-1 represents a stylized supply chain for a product’s distribution system. The product
serves both a domestic and export market. For the domestic market, there are two classes of 
customers. All of the stages have two sourcing options, consisting of premium and basic
transportation vendors.
In Figure 5-1, Ni is {3} for i=3 and {2, 4 ,5} for i=2.
5.2 Additional Stage Assumptions
The assumptions and notation adopted for the serial network are still valid for 
distribution networks. However, the demand process and the impact on service times have to
 be clarified.
5.2.1 Demand assumptions3
5.2.1.1 External demand
We assume that the demand process for each end item behaves in the same manner as
the demand process for the single end item in the serial case. We also assume that the service
time for each external node is bounded. For each stage i that is an external stage, let si denote
the maximum service time the stage can quote.
5.2.1.2 Internal demand
We term an internal stage to be one with internal customers or successors. For an
internal stage, the demand at time t is the sum of the orders placed by the immediate
successors. Since each stage orders according to a base-stock policy, the demand at internal
stage i is given by:
di (t) = ij d j (t)
(i, j) A


where A is the arc set for the network representation of the supply chain.
We assume that the demand at each internal node of the supply chain is stationary and
 bounded. The average demand rate for component i is:
µ φ µi   = ij   j (i, j) A∈
∑ .
We assume that demand for the component i is bounded by the function Di(τ), for τ =
 
 
58
a given input or it may be derived from the demand bounds for the downstream, or customer,
stages for stage i. We discuss in Graves and Willems (1998) how this might be done.
5.2.2 Service times4
5.2.2.1 Internal service times
An internal stage i quotes and guarantees a service time Sij for each downstream stage
 j, (i, j) ∈ A.
For the initial development of the model, we assume that stage i quotes the same
service time to all of its downstream customers; that is, we assume that Sij = Si for each
downstream stage j, (i, j) ∈ A. We describe in Graves and Willems (1998) how to extend the
model to permit customer-specific service times. In brief, if there is more than one
downstream customer, we can insert zero-cost, zero production lead-time dummy nodes
 between a stage and its customers to enable the stage to quote different service times to each
of its customers. The stage quotes the same service time to the dummy nodes and each
dummy node is free to quote any valid service time to its customer stage.
The service times for both the end items and the internal stages are decision variables
for the optimization model. However, as a model input, we may impose bounds on the
service times for each stage. In particular, we assume that for each end item we are given a
maximum service time as an input.
 
 
5.3.1 Dynamic programming formulation
The state variables for the distribution network formulation are service time and
cumulative cost. However, in contrast to the serial and assembly network cases, the service
time state variable refers to the incoming service time quoted to the stage and the cumulative
cost state variable refers to the incoming cumulative cost to the stage.
It is also worth noting that the Qi(C) data structure developed for the assembly
network case is not necessary for distribution networks. Since each stage only has one
upstream supplier, the option selected at the current stage uniquely determines the incoming
cumulative cost to the stage.
5.3.1.1 Recursive formulation
In contrast to the previous two sections, in the distribution network the algorithm
 proceeds from the leaves of the network and works back towards the node with no incoming
arcs. For each stage, the dynamic program evaluates a functional equation denoted by Fi(CI,
SI). Fi(CI, SI) is defined as the minimum supply chain cost for the out-tree rooted at node i
given that stage i’s incoming cumulative cost is CI and stage i is quoted a service time of SI.
To develop the functional equation, we first define the supply chain cost for stage i as
a function of the maximum service time quoted to stage i, plus stage i’s service time,
cumulative cost and option selected:
gij SI C S C Di SI Tij S SI Tij S i C cij
 
G K  J   +α µ α µ β µ 2
(22)
60
 Note that (22) is exactly the same as (15) and (18). It is only included here for completeness.
We now want to define the minimum supply chain cost for the out-tree rooted at stage
i given that stage i utilizes option Oij. Let Fij(C, S) denote this option-specific optimal cost-
to-go function. It is defined below:
Fij CI SI S
k D(i
∈ S|  T|
  V||∑ (23)
The first term represents the supply chain costs incurred at stage i and is defined in (22). The
second term represents the minimum total supply chain cost for the subgraph that is
downstream adjacent to stage i. Since the cumulative cost at stage i is CI + cij, the incoming
cumulative cost to each of these downstream customers must equal CI + cij.
There are two conditions on (23). First, if stage i is an internal stage then the service
time (S) must be nonnegative and it must not exceed the incoming service time (SI) plus the
option’s production time (Tij). This condition prevents the net replenishment time from
 becoming negative. If stage i is an external stage, then the upper bound on S is the minimum
of SI + Tij and si. Second, the incoming cumulative cost CI must be a feasible incoming
cumulative cost at stage i. That is, CI∈ XIi.
We can now use (23) to develop the functional equation for Fi(CI, SI):
Fi CI SI  j
Fij CI SI, min ,a ao t= (24)
where the minimization is over the available options at stage i. The minimization can be done
 by enumeration.
61
The functional equation is evaluated for all {incoming cumulative cost, incoming
service time} states that are feasible at stage i. Thus, for each CI∈ XIi, we solve for S = 0, 1,
…, Mi – min (Tij) for 1 ≤ j ≤ Oi. Mi, the maximum replenishment time at stage i, is
calculated by the recursion Mi h B i
Mh  j Oi
.
To find the optimal solution, note that there is only one {incoming cumulative cost,
incoming service time} state at stage 1; by construction this state is {$0, 0}. Therefore to find
the optimal solution we just pick the option associated with Fi(0, 0) and progress through the
 
6.1 Network Representation
A spanning tree is a connected graph that contains N nodes and N-1 arcs. Assembly
networks and distribution network are both special cases of spanning trees. Spanning trees
allow the flexibility to capture numerous kinds of real world supply chains. In particular, they
can model networks where a common component goes into different final assemblies that
each have different distribution channels.
This section presents a generalization of the previous three sections. We again let B(i)
denote the set of backwards adjacent nodes and let D(i) denote the set of forward adjacent
nodes. The spanning tree uses the node labeling procedure defined in Graves and Willems
(1998) and included in Appendix I. This labeling procedure differs significantly from the
labeling procedures employed in previous sections. For each node i we define Ni to be the
subset of nodes {1, 2, ... i} that are connected to i on the sub-graph consisting of nodes {1, 2,
… i}. We will use Ni to explain the dynamic programming recursion. We can determine Ni
 by the following equation:
= + +
∈ < ∈ <{ : ( ), } { : ( ), }
U U .
 
Figure 6-1: Spanning Tree network supply chain
Figure 6-1 represents a stylized supply chain for a product family that consists of two
variants. The two variants share a common circuit board and are differentiated by their other 
assemblies. The standard product is distributed through both computer superstores and retail
wholesalers. The premium product is sold only through specialty retailers.
In Figure 6-1, Ni is {1, 2, 8} for i=8 and {4, 6, 7, 8, 10} for i=10.
6.2 Stage Notation and Assumptions
The assumptions and notation adopted for the previous cases are still valid for 
spanning tree networks. No additional assumptions are necessary.
6.3 Solution Procedure
As with the previous network topologies, spanning tree networks can be solved as a
two-state dynamic program. However, in the case of a spanning tree, there will be two forms
of the functional equation, depending on the node’s orientation in the network. The first form
 
64
as the minimum supply chain cost for the subgraph Ni given that stage i’s incoming
cumulative cost is CI and stage i is quoted a service time of SI. These two functional
equations are generalizations of the functional equation for assembly networks and
distribution networks, respectively.
An important property of the node labeling procedure reproduced in Appendix I is that
for each node in the spanning tree, excluding the root node, there is exactly one adjacent node
that has a higher label. The root node is the last node that is labeled by the labeling
 procedure. This adjacent node with a higher label is referred to as the parent node, and the
 parent node to node i is denoted p(i).
At node i for 1 ≤ i ≤ N-1, the dynamic programming algorithm will evaluate either 
f i(C, S) or Fi(CI, SI), depending upon on the orientation of node i relative to p(i). If p(i) is
downstream of node i, then the algorithm evaluates f i(C, S). If p(i) is upstream of node i, then
the algorithm evaluates Fi(CI, SI). For node N, as will be seen, either functional equation can
 be evaluated.
6.3.1 Forward cumulative cost combination
Before the functional equations can be developed, a new data structure has to be
introduced. To some extent, this data structure is an analog to thecombination data structure
that was introduced in section 4.3.1.1. In summary, the incoming cumulative cost 
combination addressed the fact that multiple upstream configurations could produce the same
incoming cumulative cost at the downstream stage.
 
65
In the context of spanning trees, a similar type of situation can arise when evaluating a
node with downstream adjacent stages. Recall that when solving distribution networks, if 
stage i supplies stage k then the incoming cumulative cost at stage k equals the outgoing
cumulative cost at stage i. By the definition of a distribution network, stage i can be the only
stage that supplies stage k, and hence there is a one-to-one correspondence between the
upstream stage’s outgoing cumulative cost and the downstream stage’s incoming cumulative
cost.
However, in the case of a spanning tree, a downstream stage can have more than one
supplier. For example, stages i and j can both supply stage k. Therefore, when solving node
i, we need to take into account that the incoming cumulative cost at stage k will not equal the
outgoing cumulative cost at stage i. In fact, it is quite possible that multiple incoming
cumulative costs at stage k can be associated with each outgoing cumulative cost at stage i.
Let R ik (C) denote the set of incoming cumulative costs at stage k that are feasible if 
stage i’s cumulative cost is C. R ik (C) is defined for each k ∈ D(i) and C ∈ Xi.
To relate the forward cumulative cost combination to the incoming cumulative cost
combination, we note that CI ∈ R ik (C) implies there exists a q ∈ Qk (CI) such that vqi equals
C. Whereas the incoming cumulative cost combination acts to tie all of a stage’s upstream
adjacent stages together, the forward cumulative cost combination individually relates a stage
to its downstream adjacent customers. This difference is due to the fact that when solving a
stage involves evaluating a forward adjacent stage, all of the stages adjacent to the forward
 
66
when a node is solved, it can have at most one adjacent node unsolved. Therefore, there is
nothing besides the current stage being solved that relates the forward stages to one another.
6.3.2 Functional equation development
To develop the functional equation, we first define th