Determining Supply Requirement in the Salesand-Operations-Planning (S&OP) Process under Demand Uncertainty: A Stochastic Programming Formulation

and a Spreadsheet Implementation
ManMohan S. Sodhi and Christopher S. Tang1 5th May, 2010
Abstract: We show how to extend the demand planning stage of the sales-and-operationsplanning (S&OP) process with a spreadsheet implementation of a stochastic programming model that determines the supply requirement while optimally trading off risks of unmet demand, excess inventory and inadequate liquidity in the presence of demand uncertainty. We first present the model that minimizes the weighted sum of respective conditional valueat-risk (cVaR) metrics over demand scenarios in the form of a binomial tree. The output of this model is the supply requirement to be used in the supply planning stage of the S&OP process. Next we show how row-and-column aggregation of the model reduces its size from exponential (2T) in the number of time periods T in the planning horizon to merely square (T2). Finally, we demonstrate the tractability of this aggregated model in an Excel spreadsheet implementation with a numerical example with 26 time periods.

Keywords: Supply chain risk management, risk models, stochastic programming, supplychain planning, demand planning, demand uncertainty, sales-and-operations planning (S&OP), risk metrics, conditional value-at-risk (cVaR), spreadsheet, newsvendor problem.

Sodhi: Cass Business School, City University of London; email:, and Tang: UCLA Anderson School, University of California Los Angeles; email:



Electronic copy available at:

1. Introduction
The sales-and-operations-planning (S&OP) process is used by many companies to coordinate efforts of different functional units, including Sales, Marketing, Finance and Operations, for medium-term supply-chain planning. This process entails two main stages: (1) demand planning to determine the supply requirement (also known as the risk-adjusted forecast) and (2) supply planning to meet this supply requirement, typically using advanced planning system (APS) technology for planning and scheduling production. This paper proposes an approach for tackling demand uncertainty by augmenting demand planning with a stochastic programming model. We show how aggregation renders this model tractable and demonstrate this tractability with a spreadsheet implementation and an example with 26 periods. In contrast to the research literature that typically focuses on strategic supply-chain planning with investment decisions related to network design (c.f., Poojari, Lucas and Mitra, 2008; Mula et al., 2006; Aghezzaf, 2005; Geoffrion and Powers, 1995; Eppen et al. 1989), the S&OP process focuses on tactical supply-chain planning. The process is of great interest to business and there are many practitioner books and chapters in many operations textbooks devoted to the S&OP process (c.f., Sheldon, 2007; and Vollmann et al, 2005: Chapter 3). The motivation is to get different functions to collaborate with each other. Each function has its own incentives: Sales does not want to miss out on demand; Marketing wants to ensure that any promotional campaigns are backed by supplies; Finance wants to make sure that the plan is funded and meets profitability goals; while Operations wishes to ensure that inventory is not excessive. The S&OP process aims to bring these different functional units to agree on a single supply-chain plan for the medium term that is based on a single agreed-upon demand forecast (supply requirement).


Electronic copy available at:

modelers have to figure out how to make their models more tractable (Sodhi and Tang. 2005. Birge and Louveaux 1997. the computational requirement for solving such models can be quite challenging (c. There are many advantages of using stochastic programming (c. For a company with hundreds of product families. Sodhi 2005b. The problem of scheduling the supply chain to deliver to this requirement is the matter of the supply planning stage and is not in scope of this paper. Poojari et al. a detailed evaluation of each of these choices is left for future 3 . manually running different what-if forecasts for each product family is also quite impractical. 2005. The problem is similar to the newsvendor problem for a single period: the newsvendor seeks to determine the optimal supply requirement (or riskadjusted forecast) by trading off the risk of unmet demand against the risk of excess supply (inventory).. Leung et al. however. Sen 2001). One way to tackle these risks is to run separate “what-if” forecasts to understand the risk implications but doing so does not generate agreement on a single forecast. Our contribution is to present a set of modelling choices that enable the use of stochastic programming in a practical extension of the S&OP process to deal with demand uncertainty. A better way is to use stochastic programming across all the different demand scenarios simultaneously to provide an optimal supply requirement. and inadequate liquidity stemming from demand uncertainty across multiple time periods in the decision horizon. However.. This is because the number of scenarios and the number of scenario-specific variables and constraints increases exponentially with the number of time periods in planning. Here we have multiple time periods and the additional risk of liquidity. 2009). excess inventory. 2008). Dormer at al. As a result.f.f.Demand planning needs to contend with risks associated with unmet demand. Sodhi 2005a.

T being the number of planning periods. In this paper. This approach is practical because it can be implemented in a spreadsheet. 2. Next. We provide numerical results from a spreadsheet implementation in Section 3 before discussing opportunities for further research in Section 4. The risk metrics are conditional value-at-risk (cVaR) metrics while the demand uncertainty representation we propose is a binomial lattice over discrete time planning horizon. Section 2 presents the modeling choices for a stochastic programming model and how we aggregate scenarios to achieve a row-and-column aggregation of the model. Finally. 2009). a tool of choice for demand planning in industrial settings. we briefly discuss choices we have made to to extend demand planning within the S&OP process using the spreadsheet. Table 1 summarizes these choices. we propose a stochastic linear programming model and use aggregation to make it tractable for implementation by using a spreadsheet programme such as MS Excel. The stochastic programme minimizes the weighted sum of the risk metrics associated with the three risks across probabilistic demand scenarios to determine a supply requirement. we implement it in a spreadsheet and we demonstrate an example with MS Excel.research. Our contribution is to demonstrate the practical use of stochastic programming and scenario aggregation to provide the best trade-off among the different risks stemming from demand uncertainty in the demand planning stage of an S&OP process. we use row-and-column aggregation of the resulting linear programme to reduce the size of the model from O(2T) to only O(T2). Although a detailed evaluation of 4 . A Stochastic Model for a Risk-Adjusted Forecast Following earlier discussion on a wide range of modeling choices for the use of stochastic programming in supply-chain planning in different settings (Sodhi and Tang.

these choices is left for future work.7 Solution technique These many weeks and these many months are common in electronics and the chemical industry respectively Weighted sum of the three risk Enables trading off one risk for another measures Only book-keeping constraints Leaves details of joint product capacity – material flow. Many traditional time series models such as the autoregressive integrated moving average (ARIMA) models can be represented as a binary tree if the unbiased error term is discretized 5 . large number of time periods allow smooth discretization. we hope to show in this paper that using stochastic programming to extend the demand planning stage of the S&OP process can be quite practical. excessive inventory. will spur research into better ways of doing so through improved modeling choices in different contexts.3 Decision variables 2. inventory.5 2. Representation of Uncertainty We assume that the demand for the planning horizon can be represented as a binomial lattice over a large number of time periods or stages and use this simple representation above others. Subsection 2.4 2.1. we hope.6 Time periods and the decision horizon Objective function Constraints 2.2. and excessive borrowing Supply requirement by period for the periods in the decision horizon – this is not scenariospecific although there are auxiliary book-keeping variables like inventory or unmet demand that are scenario-specific 20-30 time periods (stages) Rationale Single factor of uncertainty.1 2. easily implemented in spreadsheet Table 1: Modeling choices made to enable use of stochastic programming to extend S&OP process to deal with demand uncertainty 2. Model element Representation of (demand) uncertainty Risk measures Choice made Binomial lattice for the singlefactor uncertainty (demand) Based on cVar (conditional value-at-risk) applied to unmet demand. This. and constraints across multiple products for cash flow for a single product supply planning within S&OP which would use the supply requirements for each product (as generated by our approach) as risk-hedged forecasts Aggregation Decreases the number of variables in stochastic programming from O(2T) to O(T2). simple programming Use of cVar-based metrics enables their use in linear programming Need a single risk-hedged supply requirement for use in the subsequent supply planning stage of S&OP 2.

There are benefits to discretizing to three or even more branches in the lattice when there are multiple factors of uncertainty and only a few stages or time periods – see for instance. if not. we could ask the sales representatives to provide pessimistic. For the second approach. Many commercial tools also use three- 6 . For the first approach. the binomial lattice representation is not a limitation. This is similar to the forecasting technique used in project management with PERT. it simplifies the representation of non-foreseeability constraints in stochastic programming. instead. most likely and optimistic forecasts over the entire decision horizon instead of a single forecast. Hence. one that we used in the numerical example in this paper. obtaining a binomial lattice from a binary tree is trivial: if adjacent pairs of states have the same values. we could use historical sales to infer the demand stochastic process (using the ARIMA or other model) along with the variance of the error term and then generate the corresponding binomial lattice (or first the tree) to generate the lattice node-by-node. Using a binomial lattice is quite practical because obtaining such a lattice from forecasts (and variability) requires only a small amount of incremental effort on part of the individuals engaged in demand planning. combined with the fact we have only one factor of uncertainty and a large number of stages encourages us to use a binomial lattice in the present context. we can replace the two differing values by their mean. each branch from a node is taken to be equiprobable so we can focus on the node values only): (1) generating the lattice (or the underlying binary tree first) node-by-node . or (2) generating the modal and extremal node values of the lattice as a whole and then interpolating the values of the remaining only two values. There are at least two fundamentally different approaches to generating the nodes of the binomial lattice (as we shall argue later. especially in a spreadsheet. Kamrad and Ritchken (1991) in the context of contingent claims – but the simplicity of using only two values. Conceptually.

any demand scenario up to a certain time period is a path on this lattice associated with different states being different demand states σt. a path entails taking a step to either of the two successor states with some probability. and the remainder using linear interpolation assuming the triangular distribution as in PERT. Qty (units) Optimistic Optimistic Most likely Pessimistic Qty (units) Probability distribution of  single‐period forecast Time Three‐point forecast in units Most likely Pessimistic Figure 1: Pessimistic. Now the demand scenarios could be generated in such a way that in all periods. 0 < t ≤ T (Figure 2). Note that states are “nodes” on the path and σt is the node at time t on the path ζ t that ends at time t. there are a total of T(T+1)/2 states that compactly represent a total of 2T+1 -1 paths (or demand scenarios represented by ζ t . the extreme states can be given the optimistic and pessimistic forecast values.number estimates for forecasting. most likely and optimistic forecasts On a binomial lattice. The demand Dζ t for the period t in a particular scenario ζ t is a path in the lattice ending at demand state σt. the most likely given to the modal state. demand across all scenarios is within the pessimistic and optimistic values (Figure 1). On a binomial lattice with T time periods. From each non-terminal state. 7 . Our point is not that there are no better ways. To compute the values of the binomial lattice states for any time period. but rather to show that there are simple practical procedures to generate a binomial lattice to represent demand uncertainty.

2. 2009). Risk Measures In our earlier work. at a 10% probability level α. These risk measures are Demand-at-Risk (DaR) that quantifies the unmet demand at any given period. 2. affords its use in the objective function of a linear programme (Rockafeller and Uryasev. For example. and cBaR). or liquidity). while cVaR is the expected value of the random variable conditional on it being above its 90th percentile (Figure 3). All three measures correspond to a percentile of the probability distribution of the measured quantities at a certain time. Inventory-at-Risk (IaR) that measures the inventory level exceeding a certain threshold in any given period. we proposed three broad risk measures pertaining to Supply Chain Planning under uncertainty. cDaR. VaR is the 90th percentile (i. Moreover. excessive inventory. and Borrowing-at-Risk (BaR) that measures excessive borrowing.e. and liquidity (i. 2000). cIaR. Rather than use VaR directly.. 8 .e.Optimistic forecast t=0 t=1 t=2 t=3 t=4 Most likely forecast Dashed arrows indicate one of  24 scenarios Pessimistic forecast Figure 2: A binomial lattice within the optimistic and pessimistic demand forecast. adapting the Value-at-Risk (VaR) measures from financial risk management to evaluate any supply-chain plan or forecast (Sodhi and Tang. (1-α)) probability distribution of the variable of interest (demand. inventory. we use the “conditional Value at Risk” (cVaR) metrics to capture the expected shortfall for a selected tail probability. use of cVaR as our metric to measure the risks associated with unmet demand..

Unmet demand in the final period T is specific to the demand history.. our interest is in the unmet demand rather than the demand per se. we can aggregate the scenarios to convert these scenario-specific variables to state-specific ones and thus obtain corresponding binomial lattices for each. listed below. as we will show later. cIaR and cBaR) in the final period. we need auxiliary variables for “book-keeping” in the stochastic programming model. Thus. We can then use the same logic to calculate the corresponding cVaR values for the variables of interest (i. the scenario. These variables. However.e. In addition. the decision variables of interest are: yt = Amount of product to be supplied at the beginning of period t .e.cVaR = conditional  expected value in this  region (1‐α)th percentile Figure 3: Calculation of cVaR.. Decision variables The main decision variable is the supply requirement for each period in the planning horizon. The same applies to excessive inventory and to accumulated cash losses or liquidity. 2.3. i. given a probability distribution and a tail probability α We could calculate the cVaR associated with demand using the probabilities specified by the binomial lattice. that ends in the final period and we cannot compute its cVaR using the binomial lattice of demand directly. Still. are scenario-specific: zζ t = Amount of product sold in period t under scenario ζ t gζ t = Inventory level of product at the end of the period t under scenario ζ t 9 .

2007).uζ t = Unmet demand at the end of period t under scenario ζ t lζ t = Amount of cash. appropriate weights have to be partly negotiated among different functional units and partly determined empirically. time is in months. (A petrochemicals company may have a planning horizon of 24 months so T=24. 10%. The values of these variables prior to period 0 are taken to be zero for the purpose of demand planning. Time Periods and the Decision Horizon Demand planning in industries such as consumer electronics or consumer-packaged goods entails time periods in weeks while that in process industries such as petrochemicals. The level of tail probability α for each measure (5%. 2. and inadequate liquidity would be to minimize the weighted sum of the corresponding risk measures: conditional Demand at Risk (cDaR).4. and conditional Borrowing at Risk (cBaR). Likewise. in account during period t in scenario ζ t These variables have the same scenario-specific notation as demand Dζ t for the period t under scenario ζ t . conditional Inventory at Risk (cIaR). excess inventory.) A binary tree will generate more than 134 million (227-1) demand scenarios ζ t for the case when T = 26. we consider these weights as given in this paper. however. etc. a planning horizon of T=26 weeks may be appropriate.5. we are assured that different values of 10 . For a company like Samsung Electronics with replenishment lead times of 16 weeks for major customers (Sodhi and Lee. Objective function One way to capture the trade off among the risks associated with unmet demand. but we take these tail probabilities as given. 2. Owing to the properties of the linear programme representing our stochastic model.) for each risk measure would have to be empirically determined. positive or negative.

We described these cVaR quantities earlier as expected values of the subset of states in the final period of each final-period scenario ζT that fits into the tail probability α. using aggregation we shall see that this matches with a subset of final period states on the demand binomial lattice. depending on industry) 2 This is not the same as list price but that realized in practice after various discounts off the list price. i.weights will give solutions that comprise an efficient frontier of solutions as far as the different risks are concerned.e. Constraints We can avoid many practical constraints like joint-product capacity in the demand-planning stage of the S&OP process and instead focus on incorporating uncertainty. Our objective function is (1) min λ1cDaRα + λ2 cIaRα + λ3 cBaRα where λ1. 11 . λ2 and λ3 are the respective weights for the three cVaR quantities. We also need the following parameters: π = Effective or realized price from selling one unit2 κprod = Marginal cost of “producing” one unit.6.) 2. A key input for the constraints is the demand Dζ t for the period t. (As noted above.. getting it supplied κinv = Cost of carrying inventory κback =Penalty for each item that is backordered by one week (assuming this cost is actually incurred) T = Planning horizon in weeks (or months. we need only the material balance and cash balance constraints. As such. This is because the APS can handle these practical constraints in the supply-planning stage.

t −1 = π zζ t − κ prod yt − κ inv gζ t − κ back uζ t for all demand scenarios ζ t in all time periods t = 0. the constraint in the cash balance is: (4) lζ t − lζ t .) The left-hand side of (2) is the production in this period (yt) plus the change in inventory level during the period t and on the right-hand side is the demand plus the change in the backordered quantity. Likewise.. uς t . we have the non-negativity constraints: (5) yt .By using the decision variables defined in Section 3.T.4. The left-hand side of (4) is the change in the cash level during period t under demand scenario ς t and the right-hand side is the cash generated in this period through sales and costs or penalties incurred for production. The notation ς t . revenues in this period are also considered for this period rather than a few weeks hence as may well be the case depending on the terms the company sells to its customers. (Recall that values of the variables prior to period 0 are set to zero for demand planning.T. we can express material balance more conveniently as: (3) yt + gς t . Finally.t −1 − gς t zς t = zς t = Dς t + uς t .T with lς t unrestricted.t −1 represents the period t-1 in the scenario ς t whereas the latter refers to the final period t of this scenario.. inventory costs and backorder costs owing to inventory or backorders created at the end of this period are considered to be paid during this period rather than the next. For simplicity.. 12 . zς t ≥ 0 for all ς t for all t = 0.t −1 − gς t = Dς t + uς t .t −1 − uς t for all demand scenarios ζ t in all time periods t = 0.. Likewise. inventory and backorders..T. gς t . To account for sales in this period. we can express the constraint for material balance as follows: (2) yt + gς t .t −1 − uς t for all demand scenarios ζ t in all time periods t = 0.

2. one at state σ22 and both of the remaining two at the middle state σ12. σ12. First.1 − gς 2 y2 + gς '2. more than 134 million for T=26 weeks. one coming from the high demand parent state in period 1 and the other from the low demand parent state respectively.e. going from top to bottom ( Figure 2) but four scenario from time 0 to this period of which one terminates at state σ02 . We consider aggregation by using row and/or column aggregation schemes to aggregate the constraints and the variables for all scenarios. aggregation or taking only a small subset of scenarios. our stochastic programming formulation of the problem arising from the demand planning stage of the S&OP process can be expressed as : Model SLP Min (1). we can aggregate these two constraints by using weights of ½ each so that: 13 . consider the constraints (3) that correspond to two demand scenarios. ζ2 and ζ′2.In this case. we have to consider decomposition. In periods 0 and 1. and σ22.7. σ02. The initial values of variables before t=0 are taken to be zero. i. Solution-Technique Due to the large number of scenarios. leaving actual values of inventory and backorders for use with the APS system in the supply-planning stage. subject to (2) – (5). the scenarios correspond one-to-one with demand states. In period 2..1 − gς '2 = zς 2 = zς '2 In this case. there are three demand states. (6) y2 + gς 2. We can aggregate the constraints and the variables of these two “middle” scenarios as follows.

t −1 ] = π zσ t − κ prod yt − κ inv gσ t − κ back uσ t yt .t −1 ] − gσ t (11) (12) (13) = zσ t zσ t = Dσ t + E[uσ t .and the 14 . We can use the same reasoning for the middle three states for t=3 and likewise cascade down the binomial lattice for periods t = 4. the average inventory/backorder level/cash position of the parent state(s) is used in the material. zσ t ≥ 0 where E[.t −1 ] − uσ t lσ t − E[lσ t . we can aggregate the scenario-specific variables to state-specific variables as follows: 1 gσ 2 = [ gς t + gς ' t ].1 + gσ '2.] represents the average state value over the one or two parents of the state in question. 2 1 zσ 2 = [ zς t + zς ' t ] 2 (8) with σ2 signifying the state. until we are left with an aggregated stochastic programming model based on demand states rather than demand scenarios.1 the two parent states in the binomial lattice. uσ t . Thus. 5. gσ t . In this case. 6. The intuitive explanation is that for each demand state. our original stochastic program (SLP) can be aggregated into the following model: Model ASLP (10) min λ1cDaRα + λ2 cIaRα + λ3 cBaRα yt + E[ gσ t . etc.1 and σ′2.1 ] − gσ 2 = zσ 2 2 with σ2.(7) 1 1 1 y2 + [ gς 2. Then we are left with only one constraint and one set of variables instead of two for the middle state in demand 2: (9) 1 y2 + [ gσ 2 . for all periods up to period 2 we have state-specific variables and constraints.1 + gς '2 .1 ] − [ gς 2 + gς '2 ] = [ zς 2 + zς '2 ] 2 2 2 Now.

15 . 1994) with discussion of whether error is bounded owing to such aggregation. (Note that the average or mean forecast is not the same as the most likely forecast in this case as seen in Figure 4). we can afford to avoid sampling scenarios to obtain definitive results with “all” scenarios. Numerical Results We now present numerical results for a stylized constraints. the product has current sales of 100 units per week and there are three scenarios for the coming 26 weeks: optimistic. As our aggregation scheme allows us to aggregate these scenarios at the state level. Wright. In the aggregation scheme we propose. the pessimistic scenario is that demand will fall by 0. Taking such a simple case allows us to intuitively check our numerical results. ). Aggregation of constraints and decision variables has a long history (cf. 3. The optimistic scenario is that demand will grow at 1% (week-on-week). the error is indeed bounded (Sodhi. In our example. Zipkin. 2009). 1980ab.25% (week-onweek) and the most likely scenario is that sales will be flat throughout the horizon (Figure 4). 1985. Sampling only a few scenarios from such a large sample would result in different solutions in different runs although stratified sampling and variance reduction techniques have been tried (Sodhi and Tang. 2005a). and especially so in the context of stochastic programming (Birge. pessimistic and most likely.

5 also results in the middle state for any period to be the mode. 26. We then filled intermediate values for the remaining states for that period using linear interpolation (Figure 5). …. Although we can use any value. We took the optimistic demand and the pessimistic demand as the highest and lowest values respectively and used the most-likely value for the middle (or middle two depending on whether t+1 is even or odd) and therefore most-likely state. For each time period t. We tried different values of p. This makes it easy to mark the most likely scenario. the value of p=0. there are t+1 states..135 130 125 120 115 Optimistic Most‐likely 110 Pessimistic Average 105 100 95 90 0 5 10 15 20 25 30 Figure 4: Sales forecasts in number of units over the coming 20 weeks Using these sales forecasts. This allows us to consider the most varied scenarios between the pessimistic and the optimistic ones. the most likely value. Moreover.5 does not preclude us from representing skewed distributions as our numerical example illustrates because the node values need not be symmetric. i.. the value of 0. for t = 0.e. 16 .5 assures that variance is maximized across scenarios for any time period. we generated a binomial lattice (Figure 2) in a spreadsheet with t+1 states for each period t. The choice of p=0.

94 96.60 113.88 97.68 102.32 102.02 98.40 106.00 99.55 100.64 106.00 102.94 98.21 104.50 99.06 96.76 115.85 111.48 98.49 98.92 95.04 97.88 97.50 121.43 95.86 111.50 Figure 5: The binomial lattice representing demand uncertainty 3 103.31 100.98 98.51 99.50 108.49 98.57 96.00 100.66 104.56 15 116.25 118.30 100.96 97.60 102.69 97. 17 .02 98.40 113.81 118.44 97.50 99.08 120.05 104.55 97.24 106.40 98.53 98.00 100.80 116.20 106.97 124.51 7 107.48 116.75 100.10 111.32 100.00 106.96 106.24 106.12 21 123.08 95.32 111. in the final period 26 is skewed (Figure 6).28 109.38 114.00 99.02 104.41 24 126.32 97.53 98.40 106.62 98.93 104.23 96.00 102.20 111.54 99.93 104.60 102.51 99.50 109.20 119.92 95.31 16 117.28 12 112.01 99.84 97.93 104.00 100.00 99.85 95.30 104.47 122.82 96.80 14 114.00 100.50 98.53 98.45 96.10 102.54 113.59 95.26 8 108.53 98.41 97.08 95.07 17 118.75 122.00 99.75 104.02 9 109.00 115.00 99.51 99.81 111.40 96.68 102.00 99.15 118.55 97.98 117.06 96.15 97.00 100.46 116.45 96.04 97.50 120.47 98.20 106.00 99.00 99.23 106.51 99.94 98.36 95.41 94.92 98.47 97.57 96.00 99.02 98.00 99.69 125.53 98.92 116.61 117.25 109.40 121.76 6 106.00 99.92 97.08 110.62 102.04 13 113.00 99.77 10 110.00 98.59 95.88 96.02 119.48 98.00 98.00 101.08 98.49 98.68 110.40 96.95 112.59 95.94 96.48 104.90 94.46 98.54 109.12 112.80 98.10 100.15 113.72 106.70 109.10 113.39 93.72 116.60 110.04 97.37 107.00 99.60 115.55 97.85 123.92 104.00 106.36 102.24 119.00 99.43 95.80 106.10 100.00 99.04 111.02 98.51 99.98 98.35 96.92 94.00 102.70 102.50 111.62 102.96 97.06 96.08 95.75 113.51 99.06 96.02 98.92 95.35 96.53 98.00 99.00 108.00 100.40 102.20 102.41 94.38 94.88 98.38 123.02 98.20 100.17 113.08 95.25 100.00 99.83 18 119.00 5 105.77 118.51 99.53 11 111.00 100.20 102.06 118.00 99.40 107.41 97.10 108.00 100.00 100.50 99.55 109.64 23 125.00 99.02 104.17 25 128.00 99.00 100.92 97.43 116.31 100.50 109.10 113.98 98.88 22 124.43 95.00 104.86 111.18 100.55 109.06 102.55 97.50 108.57 96.80 111.46 93.31 95.04 97.56 123.00 99.94 96.00 100.36 95.88 126.10 94.96 98.06 96.41 94.61 94.30 100.90 108.26 113.00 99.04 97.02 98.55 97.88 96.60 104.90 104.00 102.53 98.24 129.36 20 122.10 94.00 100.00 100.51 99.96 110.00 99.24 125.46 108.40 100.15 104.31 100.16 100.75 109.26 115.00 104.93 26 129.22 100.53 98.00 99.36 107.25 4 104.02 98.34 100.55 97.50 98.59 19 120.06 96.62 102.90 94.47 98.00 99.44 97.77 96.29 106.34 100.30 104.53 127.54 104.80 117.45 96.04 97.44 102.80 108.88 106.55 97. as expected.96 98.47 97.47 97.44 98.04 97.84 95.00 100.00 100.70 Thus probability distribution of demand.t 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 0 1 2 100.72 123.44 115.50 102.96 97.31 100.57 96.45 114.24 106.64 103.00 100.57 109.57 96.35 100.03 100.90 104.38 97.04 97.62 102.80 102.

00 100.1 0.00 140.12 0.T).1 0.06 0.00 90.00 Figure 6: Probabilities for different levels of demand in the final period 26 although the probabilities of different scenarios comprise a binomial and therefore symmetric distribution (Figure 7)..5 Each scenario is a path from the top-left state (t=0) to using either horizontal move or a downward diagonal move with equal probability to period 1.12 0.06 0.04 0.00 120.02 0 80.18 0.14 0.08 0.16 0.02 0 0 5 10 15 20 25 30 Figure 7: Probabilities of different states in period 26 in any binomial lattice with p=0.18 0. 0.08 0. But.00 130. as we showed via the aggregation scheme in the previous section. we need to concern ourselves with only the states in each period.16 0. In the spreadsheet.04 0.0. 18 . these correspond to the columns for each period Figure 5). likewise from period 1 to period 2 and so on till period t (t=0.14 0.00 110.

−lσT ] and used it for the cBaR computation discussed later. the sales zσ t at any state will be the minimum of (a) total demand including backorders and (b) the total availability including supply and inventory. mσ t . Thus we can represent model ASLP in terms of the following five sets of equations that translate into five binomial lattices represented in tables similar to that for demand (Figure 8): 19 . we have the aggregated material and cash balance constraints based on the current demand and the parent scenario. yt + E[ gσ t . To take advantage of the spreadsheet setting that has the advantage of maintaining all equality constraints defining a single variable. uσ t and zσ t are implicitly non-negative so we don’t need the non-negativity constraints for these variables. Note that the restricted variables gσ t . mσ t = yt + E[ mσ t .t −1 ] − Dζ t gζ t = max[0. mσ t ] uσ t = max[0.t−1 ] + π zσ t − κ yt − κ inv gσ t − κ back uσ t For the purpose of the computing borrowing in the final period. as well as corresponding variables as shown in Model ASLP. we express the model ASLP in a different way by introducing an auxiliary variable for the material balance.t −1 ]] The constraint for cash balance remains unchanged as it is already in the form of a definition: lσ t = E[lσ t . The same applies for the supply vector y(t). − mσ t ] zσ t = min[ Dσ t + E[uσ t . We also take advantage of the fact that in order to minimize unmet demand (and liquidity shortfall).For each state corresponding to each time period t. we took this to be bσT = max[0.t −1 ]. A positive material balance for any state is inventory and a negative one is backorder level.

gσ. we need to make sure the three terms for excessive inventory. and negative liquidity are comparable. we value the inventory at cost κprod and the backorders at price π. unmet demand.43%) (Figure 9). negative liquidity is already in monetary terms. The state-specific values of inventory and of backorders reflect the fact that the high-demand states (states 0 to 9 from the top) have positive levels of backorders and low-demand states (states 17 to 26) have positive levels of inventory corresponding to a tail probability close to 10% (actually 8. As regards the objective function. The states in the final period have binomial probabilities (Figure 7). 20 . uσ.t −1 ] is the same as that of the parent if it is the edges of the binomial lattice while for all other states there are two equally likely parents. zσ and lσ – for a particular set of values of y(t) Recall that the expected value for any variable X over its parents E[ X σ t .Material position m t 0 1 2 3 4 5 0 1 2 3 4 5 Units sold z 3 ‐5 0 1 3 4 ‐8 ‐4 1 3 5 5 ‐12 ‐7 0 3 6 7 0 0 1 ‐1 0 2 ‐2 0 1 0 100 1 100 100 2 100 100 100 3 101 100 100 99 4 101 101 100 100 99 Inventory level g 0 0 0 0 0 1 0 0 1 3 0 0 1 3 5 Cash position l £       493 £       476 £       478 £       480 £       450 £       455 £       490 £       465 £       421 £       424 £       466 £       456 £       421 £       390 5 101 101 100 100 100 99 £       384 £       431 £       462 £       436 £       401 £       357 0 £                    500 0 0 3 6 7 Backorders u 0 1 2 3 4 5 0 1 0 2 0 0 5 0 0 0 8 4 0 0 0 12 7 0 0 0 0 Figure 8: Truncated tables up to period 5 for the five variables in the model – mσ. As such.

000..000 £2. has loss values at both tail ends so we take tail probabilities of about 10% (actually 8.00 £12.000 £  £7.00 £ on both sides.00  £6.00 £4.000 £16.000 £  £1.Value of Inventory £8.00  £6.000.000 £14. however.000.000 £0 0 5 £18.000.00 0 5 10 15 20 25 30 Figure 10: Level of borrowing to cover negative liquidity in the final period states We then identified the sum (with weights of 1 each) of the three cVaR quantities as the “goal” for Microsoft Excel’s Solver to be minimized using the 27 variables y(t).000 £2.00 £6.000.000. Cumulative Loss in Final Period £16.00 £8.00 £10.00 £14. With the equations defined using 21 .000.00  £10.000 Value of Backorders  10 15 20 25 30 Figure 9: Value of inventory and of backorders respectively in the final period states The accumulated cash position.000.000.00  £5.00 £0.000 £12.000. t=0.000. The corresponding cVaR quantities are then obtained by taking the expected value of losses at the two tails. We did not have to specify any constraint because all constraints are explicitly or implicitly handled by the spreadsheet formulation as noted earlier.00  £‐ 0 5 10 15 20 25 30 £4.00  £8.

21%)t.e.. the pessimistic scenario was -0. This robustness gives partial support to our use of aggregation. We then simplified the problem further to only two variables. to check the quality of the optimal solution and the results also show that the quantity indicated is optimum (Figure 11).25% growth and all other scenarios somewhere in between. Excel’s Solver treats the goal.25%.205% period-on-period growth i. the optimal value moves by only 2.9% on one side to 1551 and by only 1. Recall that the optimistic scenario was 1.20% ‐0.3% at the other to 1562.. from r = 0.30% 0.60% Figure 11: Optimum value as a function of week-on-week growth of “supply requirement” y(t) starting with 100 at t=0 22 . 3500 3000 2500 2000 1500 1000 500 0 ‐0. we obtained the optimal solution y*(t) with a risk-adjusted vector starting with y*(0) = 100 (same as the demand in period 0) and having 0.00% 0.40% 0.30% ‐0.e.50% 0..10% 0.min/max functions.10% 0.15% to 0. By solving the aggregated stochastic program (ASLP) presented in Section 3. The optimal value is 1504. y*(t)=100*(1+0. The optimal value is also quite robust: if we vary the growth rate even by 25% on either side of the optimum. i.e.0% growth.8. y(0) and its growth r in subsequent weeks so that y(t)=y(0)(1+r)t. i.40% ‐0. the function to minimize as being nonlinear.20% 0.

we used row-and-column aggregation to change the demand-scenario-based model to an aggregated one based on the much smaller number of demand states. There is plenty of opportunity for future research starting with this work. produces an optimal answer. excessive inventory and excessive borrowing to meet liquidity shortfall.4. we then converted the model to one that could be expressed in the form of (recursive) equations that define the variables of interest because this enables implementation in a spreadsheet that maintains these definitions as constraints. a simulation-based approach requires “judgment” and therefore intervention whereas an optimal approach can be automated. This optimization-model-driven approach is arguably more satisfactory than simulation as it is faster. we proposed a stochastic-programming model.f. Iassinovski et al. First. Still. Conclusion Many companies carry out supply-chain planning in the medium term using the S&OP process in two main stages: demand planning to produce a single forecast and supply planning to create the detailed production and distribution plan. one conclusion is that stochastic programming can be quite effective at least in the present setting of managing demand uncertainty in the demand planning stage of the S&OP process. Third. We have presented a way to extend a company’s S&OP process in its demand planning stage to trade-off these different risks. Moreover. We illustrated the approach with a numerical example in Excel and the built-in Solver.. We have only scratched the surface in terms of how to support the S&OP process from a finance and 23 . Second. Therefore. researchers have tried to combine optimization and simulation (c. Demand uncertainty in the medium term engenders risks pertaining to excessive unmet demand. 2003). and provides consistent solutions across different runs. making our design choices explicit for the setting in question.

. Mathematical Programming 31.f. Although the row-and-column aggregation scheme we used has a bounded error. the spreadsheet is a popular business tool in which programming is fundamentally different from that in procedural programming languages like C or Fortran. by comparing results with the non-aggregated approach (Sodhi. for instance. J. Even with demand uncertainty. Acknowledgement: The authors would like to thank Linus Schrage of University of Chicago for an inspiring presentation at the INFORMS Practice Conference in Phoenix in April 2009 about stochastic programming and spreadsheets. Modeling choices themselves need to be explored further: after all. We found the spreadsheet quite compelling in our situation and perhaps there are other operational research models that benefit similarly from spreadsheet implementation. Introduction to Stochastic Programming. there is process and supply uncertainty that needs to be tackled in the supply planning stage of the S&OP process (c. Springer Verlag. the S&OP process is diverse in its application in different industries and over different time horizons (for a discussion of the S&OP process for long-term decision making. there is the question of how to create demand scenarios of multiple product families. 2001).. 2005. References Aghezzaf. we need to study it further. how to aggregate demand scenarios of multiple products (c. R. Finally. E. 25-41. 1997. 2005b). 2001). 24 . and if these are correlated. R. Birge. 2008). Louveaux. and F. Journal of the Operational Research Society 56.risk perspective. J.f. 1985. Capacity planning and warehouse location in supply chains with uncertain demands. Aggregation bounds in stochastic linear programming. The comments of two anonymous referees have greatly helped us to clarify the approach and the contribution. Hoyland and Wallace. Besides demand uncertainty. Nagali et al. see for instance Olhager et al. Birge. 453–462.

Eppen.” in Encyclopedia of Operations Research and Management Science. Schrage. “Multinomial approximating models for options with k state variables”. S. and R. and Uryasev. 2006.” Operations Research. Wu.D. and F. Martin. “Long-term capacity management: Linking the perspectives from manufacturing strategy and sales-and-operations-planning”. Journal of the Operational Research Society 59. Florida. 2008. Mackenroth. New York. and R. J. and S. Branvold. P.P.. 1995. 295–307. M.” in Supply Chain Optimization. Harris. Gass and C. “Managing tactical supply chain planning risk at a global consumer electronics company. M. 38 (1): 51-60. Hoyland. Integration of Simulation and Optimization for Solving Complex Decision Making Problems. Leung. Shoemaker. A. Vazacopoulos.C. P. S. Olhager. and L. Rockafellar. and F. J. Sanghera. Artiba. 2001.” Journal of the Operational Research Society. T. R. pp. J. Fort Lauderdale. “Procurement Risk Management (PRM) at Hewlett-Packard Company”. Eds. 2007. IJPE 69(25):215-225. and K. “Modeling and Solving Stochastic Programming Problems in Supply Chain Management Using Xpress-SP. Vol. Sodhi. 14(1) 69-79. Lario. 2003. “Models for Production Planning under Uncertainty: A Review. eds. V. Pardalos.C. 2–12. Sheldon. “LP Modeling for Asset-Liability Management: A Survey of Choices and Simplifications. Generating scenario trees for multistage problems. D. 271285. 2005. G. 37(12): 1640-52.H. APICS and J.T. 85 (1) 3-10.” Interfaces 25:5.” International of Production Economics.. K. Management Science 47. Nagali. G.. Garcia-Sabtel. D. Tipi. Mula. M. Scholler. 2008. “A scenario approach to capacity planning. 2005a. Journal of Risk 2 (3). Bachelet. New York. Management Science. International Journal of Production Economics. S. 2000. R.. 103 (1). Poojari CA. 53(2) 181-196. “Twenty Years Of Strategic Distribution System Design: An Evolutionary Perspective. Hwang. World Class Sales-and-operations-planning: A Guide to Successful Implementation and Robust Execution. 1989. 105-127. 2001. Y. Thurston. Sodhi. Sen... and H. J. DH. Iassinovski. A. Kamrad. Springer Publishers. A. N. Gaskins. Lucas C and Mitra G. Rudberg M. V. Verma. Springer. Lai. S. R. Interfaces. 2001. Ritchken. 2005b. 25 . Dormer.. 123-132. Riane. Geoffrion. B. 1991. Geunes and P.K. 21–41. “Stochastic Programming: Computational Issues and Challenges. Robust solutions and risk measures for a supply chain planning problem under uncertainty.” Op Res 37(4): 517-524. Ross Publishing. “A Stochastic Programming Approach for Multisite Aggregate Production Planning. 57. M. and Wikner J. S.K. Poler. Pridgen. 2006. Wallace. Powers..” Production and Operations Management.New York. J.. A. Optimization of conditional value-at-risk.

(forthcoming). 2009.” Journal of the Operational Research Society. Zipkin. and S. Sodhi. Bounds on the effect of aggregating variables in linear programs. 1980a. 2007. P. FR. E. 2005. 5th edition. Bounds for row-aggregation in linear programming. Operations Research 28 (4). P. CS.Sodhi. “An analysis of sources of supply chain risk in the consumer electronics industry. Modeling supply chain planning under demand uncertainty using stochastic programming: A survey motivated by asset-liability management. M and Tang. Primal-dual aggregation and disaggregation for stochastic linear Vollmann TE. 1980b. SSRN download http://ssrn. Wright. International Journal of Production Economics. 903-916. 403-418. Zipkin. Mathematics of Operations Research 19 (4). Whybark DC. 58(11):1430-1439. OperationsResearch 28 (2). M. Lee. Manufacturing planning and control systems for supply chain management. McGraw-Hill Professional. 26 . 1994. Berry WL. and Jacobs. 893-908. S. New York.