© 2011 Operational Research Society Ltd. All rights reserved. 0160-5682/11
Journal of the Operational Research Society (2011) 62, 526–536
www.palgrave-journals.com/jors/
Determining supply requirement in the sales-and-operations-planning (S&OP) process under demand uncertainty: a stochastic programming formulation and a spreadsheet implementation 1
MS Sodhi
2
and CS Tang
1
2
City University of London, London, UK; and University of California Los Angeles, Los Angeles, USA
C
O
PY
We show how to extend the demand-planning stage of the sales-and-operations-planning (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 value-at-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.
R
Journal of the Operational Research Society (2011) 62, 526–536. doi:10.1057/jors.2010.93 Published online 4 August 2010
TH
O
Keywords: stochastic programming; supply-chain planning; demand uncertainty; sales-and-operations planning (S&OP); conditional value-at-risk (cVaR); spreadsheet
1. Introduction
A
U
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
Correspondence: MS Sodhi, Cass Business School, City University London, 106 Bunhill Row, London, EC1Y 8TZ, UK. E-mail:
[email protected]
decisions related to network design (cf. Eppen et al, 1989; Geoffrion and Powers, 1995; Aghezzaf, 2005; Mula et al, 2006; Poojari et al, 2008), 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 (cf. Vollmann et al, 2005, Chapter 3; Sheldon, 2007). 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). Demand planning needs to contend with risks associated with unmet demand, excess inventory, and inadequate liquidity stemming from demand uncertainty across multiple time periods in the decision horizon. The problem is
MS Sodhi and CS Tang—Determining supply requirement in the S&OP process
Section 2 presents the modelling choices for a stochastic programming model and how we aggregate scenarios to achieve a row-and-column aggregation of the model. We provide numerical results from a spreadsheet implementation in Section 3 before discussing opportunities for further research in Section 4.
2. A stochastic model for a risk-adjusted forecast
O
PY
Following earlier discussion on a wide range of modelling choices for the use of stochastic programming in supplychain planning in different settings (Sodhi and Tang, 2009), we briefly discuss choices we have made to extend demand planning within the S&OP process using the spreadsheet. Table 1 summarizes these choices. Although a detailed evaluation of these choices is left for future work, 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. This, we hope, will spur research into better ways of doing so through improved modelling choices in different contexts.
C
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. 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 to only two values. Conceptually, obtaining a binomial lattice from a binary tree is trivial: if adjacent pairs of states have the same values, if not, we can replace the two differing values by their mean. 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 the part of the individuals engaged in demand planning. Hence, the binomial lattice representation is not a limitation; instead, it simplifies the representation of nonforeseeability constraints in stochastic programming. 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, Kamrad and Ritchken (1991) in the context of contingent claims—but the simplicity of using only two values, especially in a spreadsheet, combined with the fact that we have only one factor of uncertainty and a large number of stages encourages us to use a binomial lattice in the present context. There are at least two fundamentally different approaches to generating the nodes of the binomial lattice (as we shall argue later, each branch from a node is taken to be equiprobable so we can focus on the node values
A
U
TH
O
R
similar to the newsvendor problem for a single period: the newsvendor seeks to determine the optimal supply requirement (or risk-adjusted forecast) by trading off the risk of unmet demand against the risk of excess supply (inventory). Here we have multiple time periods and the additional risk of liquidity. The problem of scheduling the supply chain to deliver to this requirement is the matter of the supplyplanning stage and is not in scope of this paper. 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. For a company with hundreds of product families, manually running different what-if forecasts for each product family is also quite impractical. A better way is to use stochastic programming across all the different demand scenarios simultaneously to provide an optimal supply requirement. There are many advantages of using stochastic programming (cf. Birge and Louveaux, 1997; Dormer et al, 2005; Sodhi, 2005a, b; Leung et al, 2006; Poojari et al, 2008); however, the computational requirement for solving such models can be quite challenging (cf. Sen, 2001). This is because the number of scenarios and the number of scenario-specific variables and constraints increase exponentially with the number of time periods in planning. As a result, modellers have to figure out how to make their models more tractable (Sodhi and Tang, 2009). Our contribution is to present a set of modelling choices that enables the use of stochastic programming in a practical extension of the S&OP process to deal with demand uncertainty. However, a detailed evaluation of each of these choices is left for future research. In this paper, 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. The risk metrics are conditional value-at-risk (cVaR) metrics, while the demand uncertainty representation we propose is a binomial lattice over a discrete time planning horizon. Next, 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), T being the number of planning periods. Finally, we implement it in a spreadsheet and we demonstrate an example with MS Excel. 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 demandplanning stage of an S&OP process. This approach is practical because it can be implemented in a spreadsheet, a tool of choice for demand planning in industrial settings.
527
528
Journal of the Operational Research Society Vol. 62, No. 3
Table 1 Modelling choices made to enable use of stochastic programming to extend S&OP process to deal with demand uncertainty Sub-section
Model element
Choice made
Rationale
2.1
Binomial lattice for the single-factor uncertainty (demand)
2.2
Representation of (demand) uncertainty Risk measures
Single factor of uncertainty; large number of time periods allow smooth discretization; simple programming Use of cVar-based metrics enables their use in linear programming
2.3
Decision variables
2.4 2.5 2.6
Time periods and the decision horizon Objective function Constraints
2.7
Solution technique
Based on conditional value-at-risk (cVar) applied to unmet demand, excessive inventory, and excessive borrowing Supply requirement by period for the periods in the decision horizon—this is not scenariospecific although there are auxiliary bookkeeping variables like inventory or unmet demand that are scenario-specific 20–30 time periods (stages)
This number of weeks and months is typical in the electronics and the chemical industry respectively Enables trading off one risk for another Leaves details of joint product capacity constraints across multiple products for supply planning within S&OP, which would use the supply requirements for each product (as generated by our approach) as risk-hedged forecasts Decreases the number of variables in stochastic programming from O(2T) to O(T 2); easily implemented in spreadsheet
PY
Weighted sum of the three risk measures Only book-keeping constraints—material flow, inventory, and cash flow for a single product
Need a single risk-hedged supply requirement for use in the subsequent supply-planning stage of S&OP
R
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 nodes. For the first approach, 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. For the second approach, the one that we used in the numerical example in this paper, we could ask the sales representatives to provide pessimistic, most likely, and optimistic forecasts over the entire decision horizon instead of a single forecast. This is similar to the forecasting technique used in project management with PERT. Many commercial tools also use three-number estimates for forecasting. Now the demand scenarios could be generated in such a way that, in all periods, demand across all scenarios is within the pessimistic and optimistic values (Figure 1). To compute the values of the binomial lattice states for any time period, the extreme states can be given the optimistic and pessimistic forecast values, the most likely given to the modal state, and the remainder using linear interpolation assuming the triangular distribution as in PERT. Our point is not that there are no better ways, but rather to show that there are simple practical procedures to generate a binomial lattice to represent demand uncertainty. On a binomial lattice, any demand scenario up to a certain time period is a path on this lattice associated with
C
O
Aggregation
Qty (units)
Most likely Optimistic
Optimistic
A
U
TH
O
Pessimistic
Most likely Pessimistic Qty (units) Probability distribution of single-period forecast
Time Three-point forecast in units
Figure 1 Pessimistic, most likely, and optimistic forecasts.
different states being different demand states st. On a binomial lattice with T time periods, there are a total of T (T þ 1)/2 states that compactly represent a total of 2T þ 11 paths (or demand scenarios represented by zt, 0otpT (Figure 2). The demand Dzt for the period t in a particular scenario zt is a path in the lattice ending at demand state st. Note that states are ‘nodes’ on the path and st is the node at time t on the path zt that ends at time t. From each nonterminal state, a path entails taking a step to either of the two successor states with some probability.
Risk measures In our earlier work, we proposed three broad risk measures pertaining to supply chain planning under uncertainty, adapting the Value-at-Risk (VaR) measures from financial
MS Sodhi and CS Tang—Determining supply requirement in the S&OP process
Optimistic forecast
Most likely forecast
t=0 t=1
Dashed arrows indicate one of 24 scenarios
t=2 t=3
Pessimistic forecast t=4
Figure 2 A binomial lattice within the optimistic and pessimistic demand forecast.
529
However, our interest is in the unmet demand rather than the demand per se. Unmet demand in the final period T is specific to the demand history, that is, the scenario, that ends in the final period and we cannot compute its cVaR using the binomial lattice of demand directly. The same applies to excessive inventory and to accumulated cash losses or liquidity. Yet, as we will show later, we can aggregate the scenarios to convert these scenario-specific variables to state-specific ones, and thus obtain corresponding binomial lattices for each. We can then use the same logic to calculate the corresponding cVaR values for the variables of interest (ie, cIaR and cBaR) in the final period.
Decision variables
PY
yt ¼ Amount of product to be supplied at the beginning of period t.
O
cVaR = conditional expected value in this region
The main decision variable is the supply requirement for each period in the planning horizon. Thus, the decision variables of interest are:
O
R
Figure 3 Calculation of cVaR, given a probability distribution and a tail probability a.
In addition, we need auxiliary variables for ‘bookkeeping’ in the stochastic programming model. These variables, listed below, are scenario-specific:
C
(1-α)th percentile
A
U
TH
risk management to evaluate any supply-chain plan or forecast (Sodhi and Tang, 2009). These risk measures are Demand-at-Risk (DaR) that quantifies the unmet demand at any given period; Inventory-at-Risk (IaR) that measures the inventory level exceeding a certain threshold in any given period; and Borrowing-at-Risk (BaR) that measures excessive borrowing. All three measures correspond to a percentile of the probability distribution of the measured quantities at a certain time. Rather than use VaR directly, we use the ‘conditional Value at Risk’ (cVaR) metrics to capture the expected shortfall for a selected tail probability. For example, at a 10% probability level a, VaR is the 90th percentile (ie, (1a)) probability distribution of the variable of interest (demand, inventory, or liquidity), while cVaR is the expected value of the random variable conditional on it being above its 90th percentile (Figure 3). Moreover, use of cVaR as our metric to measure the risks associated with unmet demand, excessive inventory, and liquidity (ie, conditional Demand-at-Risk (cDaR), conditional Inventory-at-Risk (cIaR), and conditional Borrowing-atRisk (cBaR)), affords its use in the objective function of a linear programme (Rockafellar and Uryasev, 2000). We could calculate the cVaR associated with demand using the probabilities specified by the binomial lattice.
zzt ¼ Amount of product sold in period t under scenario zt gzt ¼ Inventory level of product at the end of the period t under scenario zt uzt ¼ Unmet demand at the end of period t under scenario zt lzt ¼ Amount of cash, positive or negative, in account during period t in scenario zt
These variables have the same scenario-specific notation as demand Dzt for the period t under scenario zt. 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, time is in months. For a company like Samsung Electronics with replenishment lead times of 16 weeks for major customers (Sodhi and Lee, 2007), a planning horizon of T ¼ 26 weeks may be appropriate. (A petrochemicals company may have a planning horizon of 24 months so T ¼ 24.) A binary tree will generate more than 134 million (2271) demand scenarios zt for the case when T ¼ 26.
Journal of the Operational Research Society Vol. 62, No. 3
min l1 cDaRa þ l2 cIaRa þ l3 cBaRa
ð1Þ
zBt ¼ DBt þ uBt;t1 uBt
ð3Þ
for all demand scenarios zt in all time periods t ¼ 0, . . . , T. The notation zt,t1 represents the period t1 in the scenario Bt, whereas the latter refers to the final period t of this scenario. Likewise, the constraint in the cash balance is: lzt lzt;t1 ¼ pzzt kprod yt kinv gzt kback uzt
ð4Þ
for all demand scenarios zt in all time periods t ¼ 0, . . . , T. The left-hand side of (4) is the change in the cash level during period t under demand scenario Bt and the righthand side is the cash generated in this period through sales and costs or penalties incurred for production, inventory, and backorders. For simplicity, 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. Likewise, 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. Finally, we have the non-negativity constraints:
R
where l1, l2, and l3 are the respective weights for the three cVaR quantities. We described these cVaR quantities earlier as expected values of the subset of states in the final period of each final-period scenario zT that fits into the tail probability a. (As noted above, using aggregation we shall see that this matches with a subset of final period states on the demand binomial lattice.)
yt þ gBt;t1 gBt ¼ zBt
PY
One way to capture the trade-off among the risks associated with unmet demand, excess inventory, and inadequate liquidity would be to minimize the weighted sum of the corresponding risk measures: cDaR, cIaR, and cBaR. A suitable level of tail probability a (5%, 10%, etc) for each risk measure would have to be empirically determined within a company’s context, but we take these tail probabilities as given in this paper. Likewise, appropriate weights have to be partly negotiated among different functional units and partly determined empirically; however, we consider these weights as given in this paper. Owing to the properties of the linear programme representing our stochastic model, we are assured that different values of weights will give solutions that comprise an efficient frontier of solutions as far as the different risks are concerned. Our objective function is
for all demand scenarios zt in all time periods t ¼ 0, . . . , T. (Recall that values of the variables prior to period 0 are set to zero for demand planning.) 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. To account for sales in this period, we can express material balance more conveniently as:
O
Objective function
C
530
O
Constraints
A
U
TH
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. This is because the APS can handle these practical constraints in the supply-planning stage. As such, we need only the material balance and cash balance constraints. A key input for the constraints is the demand Dzt for the period t. We also need the following parameters: p ¼ Effective or realized price from selling one unit1 kprod ¼ Marginal cost of ‘producing’ one unit, that is, getting it supplied kinv ¼ Cost of carrying inventory kback ¼ Penalty for each item that is backordered by 1 week (assuming this cost is actually incurred) T ¼ Planning horizon in weeks (or months, depending on industry)
yt ; gBt ; uBt ; zBt X0
ð5Þ
for all Bt for all t ¼ 0, . . . , T with lBt unrestricted. In this case, 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), subject to (2)–(5). The initial values of variables before t ¼ 0 are taken to be zero, leaving actual values of inventory and backorders for use with the APS system in the supply-planning stage.
Solution-technique By using the decision variables defined in Section 3.4, we can express the constraint for material balance as follows: yt þ gBt;t1 gBt ¼ DBt þ uBt;t1 uBt 1
ð2Þ
This is not the same as list price but that realized in practice after various discounts off the list price.
Owing to the large number of scenarios, more than 134 million for T ¼ 26 weeks, we have to consider decomposition, aggregation or taking only a small subset of scenarios. We consider aggregation by using row and/or column aggregation schemes to aggregate the constraints and the variables for all scenarios. In periods 0 and 1, the scenarios correspond one-to-one with demand states. In period 2,
MS Sodhi and CS Tang—Determining supply requirement in the S&OP process
ð6Þ
In this case, we can aggregate these two constraints by using weights of 12 each so that i 1h i 1h i 1h y2 þ gz2;1 þ gz 02;1 gz2 þ gz 02 ¼ zz2 þ zz 02 ð7Þ 2 2 2 Now, we can aggregate the scenario-specific variables to state-specific variables as follows: 1 gBt þ gB 0t 2 1 ¼ zBt þ zB 0t 2
gs2 ¼ zs2
ð8Þ
We now present numerical results for a stylized example. In our example, the product has current sales of 100 units per week and there are three scenarios for the coming 26 weeks: optimistic, pessimistic, and most likely. The optimistic scenario is that demand will grow at 1% (weekon-week), the pessimistic scenario is that demand will fall by 0.25% (week-on-week), and the most likely scenario is that sales will be flat throughout the horizon (Figure 4). (Note that the average or mean forecast is not the same as the most likely forecast in this case as seen in Figure 4). Taking such a simple case allows us to intuitively check our numerical results. Using these sales forecasts, we generated a binomial lattice (Figure 2) in a spreadsheet with t þ 1 states for each period t, for t ¼ 0, . . . , 26. For each time period t, there are t þ 1 states. 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
O
R
with s2 signifying the state. Then we are left with only one constraint and one set of variables instead of two for the middle state in demand 2: i 1h y2 þ gs2;1 þ gs 02;1 gs2 ¼ zs2 ð9Þ 2
3. Numerical results
PY
y2 þ gz 02;1 gz 02 ¼ zz 02
O
y2 þ gz2;1 gz2 ¼ zz2
state(s) is used in the material- and the cash-balance constraints. Aggregation of constraints and decision variables has a long history (cf. Zipkin, 1980a, b), and especially so in the context of stochastic programming (Birge, 1985; Wright, 1994) with discussion of whether error is bounded owing to such aggregation. In the aggregation scheme we propose, the error is indeed bounded (Sodhi, 2005a). As our aggregation scheme allows us to aggregate these scenarios at the state level, we can afford to avoid sampling scenarios to obtain definitive results with ‘all’ scenarios. 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, 2009).
C
there are three demand states, s02, s12, and s22, going from top to bottom (Figure 2) but four scenarios from time 0 to this period of which one terminates at state s02, one at state s22 and both of the remaining two at the middle state s12. We can aggregate the constraints and the variables of these two ‘middle’ scenarios as follows. First, consider the constraints (3) that correspond to two demand scenarios, z2 and z20 , one coming from the high demand parent state in period 1 and the other from the low demand parent state respectively; that is,
531
A
U
TH
0 the two parent states in the binomial with s2,1 and s2,1 lattice. Thus, for all periods up to period 2 we have statespecific variables and constraints. 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, 5, 6, etc until we are left with an aggregated stochastic programming model based on demand states rather than demand scenarios. In this case, our original stochastic program (SLP) can be aggregated into the following model: Model ASLP
minl1 cDaRa þ l2 cIaRa þ l3 cBaRa yt þ E gst;t1 gst ¼ zst zst ¼ Dst þ E ust;t1 ust lst E½lst;t1 ¼ pzst kprod yt kinv gst kback ust
ð10Þ
135 130 125 120
ð11Þ ð12Þ
Optimistic Most-likely Pessimistic Average
115 110 105 100
yt ; gst ; ust ; zst 0
ð13Þ
where E[.] represents the average state value over the one or two parents of the state in question. The intuitive explanation is that for each demand state, the average inventory/backorder level/cash position of the parent
95 90 0
5
10
15
20
25
30
Figure 4 Sales forecasts in number of units over the coming 20 weeks.
Journal of the Operational Research Society Vol. 62, No. 3
R
C
O
PY
532
TH
O
Figure 5 The binomial lattice representing demand uncertainty.
A
U
(or middle two depending on whether t þ 1 is even or odd) and therefore most-likely state. We then filled intermediate values for the remaining states for that period using linear interpolation (Figure 5). We tried different values of p. Although we can use any value, the value of p ¼ 0.5 assures that variance is maximized across scenarios for any time period. This allows us to consider the most varied scenarios between the pessimistic and the optimistic ones. Moreover, the value of 0.5 also results in the middle state for any period to be the mode, that is, the most likely value. This makes it easy to mark the most likely scenario. The choice of p ¼ 0.5 does not preclude us from representing skewed distributions as our numerical example illustrates because the node values need not be symmetric. Thus probability distribution of demand, as expected, in the final period 26 is skewed (Figure 6), even though the probabilities of different scenarios comprise a binomial and therefore symmetric distribution (Figure 7). Each scenario is a path from the top-left state (t ¼ 0) to using either a horizontal move or a downward diagonal move with equal probability to period 1, likewise from period 1 to period 2 and so on till period t (t ¼ 0, . . . , T).
0.18 0.16 0.14 0.12 0.1 0.08 0.06 0.04 0.02 0 80.00
90.00
100.00
110.00
120.00
130.00
140.00
Figure 6 Probabilities for different levels of demand in the final period 26.
But, as we showed via the aggregation scheme in the previous section, we need to concern ourselves with only the states in each period. In the spreadsheet, these correspond to the columns for each period (Figure 5).
MS Sodhi and CS Tang—Determining supply requirement in the S&OP process
For each state corresponding to each time period t, we have the aggregated material and cash balance constraints based on the current demand and the parent scenario, as well as corresponding variables as shown in model ASLP. To take advantage of the spreadsheet setting that has the advantage of maintaining all equality constraints defining a single variable, we express the model ASLP in a different way by introducing an auxiliary variable for the material balance, mst . A positive material balance for any state is inventory and a negative one is backorder level. We also take advantage of the fact that in order to minimize unmet demand (and liquidity shortfall), the sales zst at any state will be the minimum of (a) total demand including backorders and (b) the total availability including supply and inventory. h i mst ¼ yt þ E mst;t1 Dzt
The constraint for cash balance remains unchanged as it is already in the form of a definition: lst ¼ E lst;t1 þ pzst kyt kinv gst kback ust For the purpose of the computing borrowing in the final period, we took this to be bsT ¼ max½0; lsT and used it for the cBaR computation discussed later. Note that the restricted variables gst ; ust ; and zst are implicitly non-negative so we do not need the non-negativity constraints for these variables. The same applies for the supply vector y(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). Recall that the expected value for any variable X over its parents E Xst;t1 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. As regards the objective function, we need to make sure the three terms for excessive inventory, unmet demand, and negative liquidity are comparable. As such, we value the inventory at cost kprod and the backorders at price p; negative liquidity is already in monetary terms. The states in the final period have binomial probabilities (Figure 7). The state-specific values of inventory and of backorders reflect the fact that the high-demand states (states 0–9 from the top) have positive levels of backorders and low-demand states (states 17–26) have positive levels of inventory corresponding to a tail probability close to 10% (actually 8.43%) (Figure 9). The accumulated cash position, however, has loss values at both tail ends so we take tail probabilities of about 10% (actually 8.43%) on both sides. The corresponding cVaR
C
O
PY
gzt ¼ max½0; mst ust ¼ max½0; mst zst ¼ min Dst þ E ust ;t1 ; yt þ E gst ;t1
533
0
5
10
U
TH
O
R
0.18 0.16 0.14 0.12 0.1 0.08 0.06 0.04 0.02 0 15
20
25
30
A
Figure 7 Probabilities of different states in period 26 in any binomial lattice with p ¼ 0.5.
Figure 8 Truncated tables up to period 5 for the five variables in the model—ms, gs, us, zs, and ls—for a particular set of values of y(t).
534
Journal of the Operational Research Society Vol. 62, No. 3
Value of Backorders
Value of Inventory £8,000.00
£18,000
£7,000.00
£16,000
£6,000.00
£14,000 £12,000
£5,000.00
£10,000
£4,000.00
£8,000
£3,000.00
£6,000
£2,000.00
£4,000
£1,000.00
£2,000
£-
£0 0
5
10
15
20
25
30
0
5
10
15
20
25
30
Figure 9 Value of inventory and of backorders, respectively, in the final period states.
Cumulative Loss in Final Period £16,000.00 £14,000.00
PY
£12,000.00 £10,000.00 £8,000.00
O
£6,000.00
C
£4,000.00 £2,000.00 £0.00 5
10
15
20
25
30
R
0
O
Figure 10 Level of borrowing to cover negative liquidity in the final period states.
A
U
TH
quantities are then obtained by taking the expected value of losses at the two tails (Figure 10). 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), t ¼ 0, . . . , 26. We did not have to specify any constraint because all constraints are explicitly or implicitly handled by the spreadsheet formulation as noted earlier. With the equations defined using min/max functions, Excel’s Solver treats the goal, that is, the function to minimize as being nonlinear. By solving the aggregated stochastic program (ASLP) presented in Section 3.8, 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.205% period-on-period growth, that is, y (t) ¼ 100 (1 þ 0.21%) t. The optimal value is 1504. Recall that the optimistic scenario was 1.0% growth, the pessimistic scenario was 0.25% growth, and all other scenarios somewhere in between. We then simplified the problem further to only two variables, y(0) and its growth r in subsequent weeks so that y(t) ¼ y(0)(1 þ r)t, to check the quality of the optimal solution and the results also show that the quantity indicated is optimum (Figure 11). The optimal value is
Figure 11 Optimum value as a function of week-on-week growth of ‘supply requirement’ y(t) starting with 100 at t ¼ 0.
also quite robust: if we vary the growth rate even by 25% on either side of the optimum, that is, from r ¼ 0.15% to 0.25%, the optimal value moves by only 2.9% on one side to 1551 and by only 1.3% at the other to 1562. This robustness gives partial support to our use of aggregation.
4. 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. Demand uncertainty in the medium term engenders risks pertaining to excessive unmet demand, excessive inventory, and excessive borrowing to meet liquidity shortfall. We have presented a way to extend a company’s S&OP process in its demand-planning stage to trade-off these different risks.
MS Sodhi and CS Tang—Determining supply requirement in the S&OP process
References
C
O
PY
Aghezzaf E (2005). Capacity planning and warehouse location in supply chains with uncertain demands. J Opl Res Soc 56: 453–462. Birge JR (1985). Aggregation bounds in stochastic linear programming. Math Program 31: 25–41. Birge JR and Louveaux F (1997). Introduction to Stochastic Programming. Springer Verlag: New York. Dormer A, Vazacopoulos A, Verma N and Tipi H (2005). Modeling and solving stochastic programming problems in supply chain management using Xpress-SP. In: Geunes J and Pardalos P (eds). Supply Chain Optimization. Springer Publishers: New York, pp. 307–354. Eppen GD, Martin RK and Schrage L (1989). A scenario approach to capacity planning. Opns Res 37: 517–524. Geoffrion A and Powers R (1995). Twenty years of strategic distribution system design: An evolutionary perspective. Interfaces 25(5): 105–127. Hoyland K and Wallace S (2001). Generating scenario trees for multistage decision problems. Mngt Sci 47: 295–307. Iassinovski S, Artiba A, Bachelet V and Riane F (2003). Integration of simulation and optimization for solving complex decision making problems. Int J Prod Econ 85: 3–10. Kamrad B and Ritchken R (1991). Multinomial approximating models for options with k state variables. Mngt Sci 37: 1640–1652. Leung SCH, Wu Y and Lai KK (2006). A stochastic programming approach for multi-site aggregate production planning. J Opl Res Soc 57: 123–132. Mula J, Poler R, Garcia-Sabtel JP and Lario FC (2006). Models for production planning under uncertainty: A review. Int Prod Econ 103: 271–285. Nagali V, Hwang J, Sanghera D, Gaskins M, Pridgen M, Thurston T, Mackenroth P, Branvold D, Scholler P and Shoemaker G (2008). Procurement risk management (PRM) at HewlettPackard company. Interfaces 38: 51–60. Olhager J, Rudberg M and Wikner J (2001). Long-term capacity management: Linking the perspectives from manufacturing strategy and sales and operations planning. Int J Prod Econ 69: 215–225. Poojari CA, Lucas C and Mitra G (2008). Robust solutions and risk measures for a supply chain planning problem under uncertainty. J Opl Res Soc 59: 2–12. Rockafellar RT and Uryasev S (2000). Optimization of conditional value-at-risk. J Risk 2(3): 21–41. Sen S (2001). Stochastic programming: Computational issues and challenges. In: Gass S and Harris C (eds). Encyclopedia of Operations Research and Management Science. Springer: New York, pp. 784–788. Sheldon DH (2007). World Class Sales-and-Operations-Planning: A Guide to Successful Implementation and Robust Execution. APICS and J. Ross Publishing: Fort Lauderdale, Florida. Sodhi M (2005a). LP modeling for asset-liability management: A survey of choices and simplifications. Opns Res 53: 181–196. Sodhi M (2005b). Managing tactical supply chain planning risk at a global consumer electronics company. Prod Opns Mngt 14(1): 69–79. Sodhi M and Lee S (2007). An analysis of sources of risk in the consumer electronics industry. J Opl Res Soc 58: 1430–1439. Sodhi M and Tang CS (2009). Modeling supply chain planning under demand uncertainty using stochastic programming: A survey motivated by asset-liability management. Intl J Prod Econ 121: 728–738.
A
U
TH
O
R
First, we proposed a stochastic-programming model, making our design choices explicit for the setting in question. Second, 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. Third, 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. We illustrated the approach with a numerical example in Excel and the built-in Solver. This optimization-model-driven approach is arguably more satisfactory than simulation as it is faster, produces an optimal answer, and provides consistent solutions across different runs. Moreover, a simulation-based approach requires ‘judgement’ and therefore intervention, whereas an optimal approach can be automated. Therefore, 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. Yet, researchers have tried to combine optimization and simulation (cf. Iassinovski et al, 2003). There is plenty of opportunity for future research starting with this work. We have only scratched the surface in terms of how to support the S&OP process from a finance and risk perspective. In addition to demand uncertainty, there is process and supply uncertainty that needs to be tackled in the supplyplanning stage of the S&OP process (cf. Nagali et al, 2008). Even with demand uncertainty, there is the question of how to create demand scenarios of multiple product families, and if these are correlated, how to aggregate demand scenarios of multiple products (cf. Hoyland and Wallace, 2001). Modelling choices themselves need to be explored further: after all, 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, see for instance Olhager et al, 2001). Although the row-andcolumn aggregation scheme we used has a bounded error, we need to study it further, for instance, by comparing results with the non-aggregated approach (Sodhi, 2005b). Finally, the spreadsheet is a popular business tool in which programming is fundamentally different from that in procedural programming languages like C or Fortran. We found the spreadsheet quite compelling in our situation and perhaps there are other operational research models that benefit similarly from spreadsheet implementation. Acknowledgements —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. The comments of two anonymous referees have greatly helped us to clarify the approach and the contribution.
535
536
Journal of the Operational Research Society Vol. 62, No. 3
Zipkin P (1980b). Bounds for row-aggregation in linear programming. Opns Res 28: 903–916.
Received May 2009; accepted May 2010 after two revisions
A
U
TH
O
R
C
O
PY
Vollmann TE, Berry WL, Whybark DC and Jacobs FR (2005). Manufacturing Planning and Control Systems for Supply Chain Management. 5th edn, McGraw-Hill Professional: New York. Wright SE (1994). Primal-dual aggregation and disaggregation for stochastic linear programs. Math Opns Res 19: 893–908. Zipkin P (1980a). Bounds on the effect of aggregating variables in linear programs. Opns Res 28: 403–418.