Multi-stage Stochastic Linear Programming: Scenarios Versus Events C. Beltran-Royo∗ L. F. Escudero † R. E. Rodriguez-Ravines‡ 17/05/2010 Abstract To solve the multi-stage linear programming problem, one may use a deterministic or a stochastic approach. The drawbacks of the two techniques are well known: the deterministic approach is unrealistic under uncertainty and the stochastic approach suffers from scenario explosion. We introduce a new scheme, whose objective is to overcome both drawbacks. The focus of this new scheme is on events instead of scenarios and for this reason we call it Multi-stage Event Linear Programming (ELP). As we show in the theoretical results and in the preliminary computational experiments, the ELP approach represents a promising compromise between the stochastic and the deterministic approach, regarding capacity to deal with uncertainty and computational tractability. Keywords Multi-stage stochastic linear programming, white noise, time series, scenario tree, news vendor problem. Mathematics Subject Classification (2000) 90C05, 90C15. 1 Introduction To address the Multi-stage Linear Programming (MLP) problem under uncertainty, one can use different approaches such as stochastic programming [6], chance constraint approaches [24] and robust optimization [22, 20], among others. In this paper we concentrate on the stochastic programming approach, which considers all the possible futures or scenarios under a probabilistic framework. As in literature, we will use the term Multistage Stochastic Linear Programming MSLP or for short, SLP, to refer to the MLP problem solved by stochastic programming. The relevance of the SLP approach is well-known in the decision community [16]. The difficultes to solve (multistage) SLP instances are also well known, even in the case of a finite number of possible future scenarios. A first difficulty corresponds to build a tractable scenario tree representative of the underlying stochastic sequence [12, 17, 14]. Another difficulty arises, for example, when one considers integer variables [26]. In this paper, we only consider continuous variables. In the literature we find exact and approximate methods to solve the SLP model. Exact methods are mainly based on augmented Lagrangian relaxation [10, 25], Benders decomposition [11, 13], and interior point [4, 21, 31], among others. If the number of scenarios becomes too large exact methods ∗ Corresponding author, cesar.beltran@urjc.es, Statistics and Operations Research, Rey Juan Carlos University, Madrid, Spain. † laureano.escudero@urjc.es, Statistics and Operations Research, Rey Juan Carlos University, Madrid, Spain. ‡ rerodriguez@bayesforecast.com, Bayes-Forecast, Madrid, Spain. 1 are impractical. In this case, either one solves the SLP model approximately or one solves an approximation to the SLP model. This is the case of schemes such as scenario reduction [15], scenario sampling [23, 7], scenario refinement [8], aggregation of constraints or stages [9], and SLP with decision rules [32, 19], among others. However, even an approximated solution of the SLP model by the Sample Average Approximation method requires an exponential number of sampled scenarios in order to attain a reasonable accuracy [28]. In this context it is useful to have some cost bound in order to assess the quality of approximated solutions. Bounds based on Jensen and Edmundson-Madansky inequalities can be found in [6]. Probably the most popular type of bounds in stochastic linear programming are obtained by constraint or row aggregation [5, 34, 18]. Of course, other approaches can be used, as for example to infer statistical bounds as in [27]. The objective of this paper is to introduce a new approach that can give an effective lower bound based on constraint aggregation, together with a good solution for the MLP problem under uncertainty. The focus of this new approach is on events instead of scenarios and for this reason we call it Multi-stage Event Linear Programming (ELP). To deal with uncertainty, the ELP approach represents a compromise between two extremes: SLP and Multi-stage Linear Deterministic Programming (DLP). On the most realistic extreme we have the SLP approach, where we have an exponential number of scenarios in order to represent the uncertainty. On the most unrealistic extreme we have the DLP approach, where we have one single scenario (the average scenario). In the ELP approach, the potentially huge scenario tree of the SLP approach is replaced by a sequence of small two stage trees, which we call the event wood. The uncertainty associated to each future stage is represented by means of one of these two-stage trees. Of course the ELP representation of uncertainty is more simple than the SLP one. Thus, the ELP falls in between the SLP and DLP approaches regarding computational effort and capacity to represent the uncertainty. The question is, can we get a convenient balance of these two opposite objectives by using the ELP approach, namely, computational tractability and accuracy? The remainder of the paper is organized as follows. Section 2 presents the stochastic control problem we wish to solve. In Section 3 we introduce a new concept: the independent white noise scenario tree. Section 4 introduces the ELP approach, intended to solve the stochastic control problem presented in Section 2 and based on the independent white noise scenario tree concept. In Section 5 we study a new SLP cost bound given by the ELP approach. The results of a preliminary computational experiment are reported in Section 6. 2 The stochastic control problem Inspired by [32], to introduce the Multi-stage Event Linear Programming (ELP) approach, we find useful to consider the following deterministic control problem with horizon T , which is a simple case of Multi-stage Linear Programming (MLP) that we name PM LP : min u,s s. t. zM LP := X ct · ut + t∈Te X Lt (st ) (1) t∈T̄ s1 = s0 , (2) st = At st−1 + Bt ut−1 + Ct u ≥ 0. t ∈ T̄ , (3) (4) In this problem 2 • ut accounts for decisions at the end of stage t. • st accounts for the system state prior to take decision ut . • T = {1, . . . , T }, T̄ = T \ {1} and Te = T \ {T } • ct · ut stands for the scalar product of vectors ct and ut . • Lt is the picewise linear loss function: + − + L(st ) = c− t · [st − St ] + ct · [st − St ] , with c− ≥ 0, c+ ≥ 0, [x]+ = max{0, x}, [x]− = min{0, x}, St is a target vector for stage t. • At and Bt are matrices of appropriate dimensions and Ct is a vector. In real life instances, some of the parameters of PM LP can be stochastic. We collect all the stochastic problem data in vector ξt . For example, if all the problem data are random we will have + ξt := (ct , c− t , ct , At , Bt , Ct ). If dada involves matrices, then their elements can be stacked columnwise to make it a vector. We will use ξet to denote a realization of the random vector ξt . Assumption 1 The stochastic data sequence {ξt }t∈T is independent of the stochastic decision sequence {ut }t∈Te . We assume through this paper that the decision at t is followed by the unfolding of uncertainty at t + 1. We have the sequence: [decision]1 → [chance move]2 → [decision]2 → . . . We also assume that ξ1 is deterministic. The sequential structure of the problem implies that the decision at stage t must be contingent to the history ξ[t] = (ξ1 , . . . ξt ). This implies that ut is a function of ξ[t] and we will write ut (ξ[t] ). Considering equation (3), the state vector st must also be made contingent to ξ[t] . In order to introduce the ELP approach, we consider the simplest stochastic version of PM LP , where Ct is the only random data (ξt = Ct ) X X min zM LP := E ct · ut (ξ[t] ) + Lt (st (ξ[t] )) (5) u, s s. t. t∈Te t∈T̄ 0 s1 = s , (6) st (ξ[t] ) = At st−1 (ξ[t] ) + Bt ut−1 (ξ[t] ) + Ct (ξ[t] ) u(ξ[t] ) ≥ 0, 3 t ∈ T̄ , (7) (8) Independent white noise scenario tree The Multi-stage Event Linear Programming (ELP) approach is based on a new concept: the independent white noise scenario tree. To introduce this new concept, we remind the concepts of white noise and time series. 3 3.1 White noise A one-dimensional white noise [30] is a sequence of random variables that are uncorrelated, have mean zero, and a finite variance (which is denoted σ 2 ). Formally, {t } is a one-dimensional white noise sequence if E[t ] = 0, E[2t ] = σ 2 , and E[t t0 ] = 0 for t 6= t0 . A multi-dimensional white noise, also denoted by {t }, is a random sequence of random vectors t = (1t , . . . , pt ) such that: E[t ] = 0, E[t 0t0 ] = Σ , and E[t 0t0 ] = 0 for t 6= t0 , where matrix Σ is the common covariance matrix containing the covariances σij = cov[it jt ]. Note that variables it may be correlated over the variable identifier i, but are uncorrelated over time. A common slightly stronger condition is that t and t0 are independent from one another; this is an independent white noise sequence. Often one assumes a normal distribution for t ; these are normally distributed or Gaussian white noise sequences. In this paper we will only consider a discrete white noise. If the white noise is continuous, we will discretize it as in Section 6. This will allow us to approximate the PM LP by means of a scenario tree. Of course, the quality of the approximations will depend on the quality of the discretization of the continuous white noise. 3.2 Time series Usually, time series are modeled as functions of a white noise {t }, as for example in the models called autoregressive, moving average, ARMA, ARIMA, etc. [30] (very often, the underlying white noise is assumed to be independent). To illustrate this idea we give the definition of the ARMA (autoregressive moving average) mode. A time series {ξt }t∈Z is said to be ARMA(p, q) if ξt is stationary and ξt ([t] ) = φ1 ξt−1 + · · · φp ξt−p + t + θ1 t−1 + · · · + θq t−q with φp > 0, θq > 0. Assumption 2 1. The random sequence {ξt } in PM LP corresponds to a vector time series ξt = (ξt1 . . . , ξtp ) which contains as its components, p univariate time series (demand, resources, etc.). 2. We assume that there is an underlying independent white noise {τ }τ ∈T , such that ξt is a function of 1 , . . . t . We will write ξt (1 , . . . t ) or for short, ξt ([t] ) where [t] = (1 , . . . t ) is the history up to stage t. We also assume that 1 is deterministic and equal to 0. 3. For any t with t ∈ T̄ , we assume a finite support St = {e tl }l∈Lt , where Lt = {1, . . . , Lt }. The associated probability function is ft (e tl ) = P (t = e tl ) = πtl . 4. For any ξt with t ∈ T̄ , we assume a finite support Sξt . The associated probability function is fξt . One consequence of Assumption 2 is that [t] and ξ[t] will also have a finite supports S[t] and Sξ[t] , respectively. 3.3 Independent white noise scenario tree In the case of a random sequence {ξt ([t] )} with finite number of possible realizations, one represent them by means of a scenario tree in order to proceed with numerical calculations [16, 29]. As we will see later, it will be useful, to consider the scenario tree associated to the underlying independent white noise {t }. 4 Figure 1: Node labels. The scenario tree nodes are indexed by a triple tkl label (stage t, group k and leaf l). Definition 1 Independent white noise scenario tree: The scenario tree associated to an independent white noise {t }. In this particular scenario tree, we will assume that for all t ∈ T , the number of successors (leaves) for each node of stage t is constant and equal to Lt . The scenario tree depicts all the possible realizations of the white noise {t }. By construction of the scenario tree, each realization e [t] of [t] corresponds to a node of the scenario tree, say, n e[t] and viceversa. We say that n e[t] is a realization of n[t] , the random node at stage t. Also, we identify n e[t] with e [t] and n[t] with [t] . Therefore, we have P n[t] = n e[t] = P [t] = e [t] . To introduce the Multi-stage Event Linear Programming (ELP) approach, we find it convenient to reindex nodes n e[t] of the scenario tree by n etkl , where t is the stage, k is the group of events (nodes with the same immediate ancestor) and l the event. For example, in Fig. 1 we observe that at stage 2 we have only one group of events (e n111 is the common ancestor) and at stage 3 we have two groups of events. In general, at each stage t ∈ T the groups of events are indexed by k ∈ Kt := {1, . . . , Kt }. Variables and parameters associated to each node are re-indexed accordingly. At each node n etkl we have the following elements (see Fig 2): • The vector xtkl = (utkl , stkl ), which accounts for the decision and state vector. • ξetkl , the realization of the random vector ξt , which collects all the data parameters of the SLP model at stage t. • ptkl , the probability of reaching node n etkl , that is, ptkl = P n[t] = n etkl . For all stage t ∈ T , we have that P kl∈Kt Lt ptkl = 1. • qtkl , conditional probability of reaching node n etkl from its ancestor node, denoted as n ea(tkl) . That is, qtkl = P n[t] = n etkl | n[t−1] = n ea(tkl) . 5 Figure 2: Scenario tree. At stage t = 1, we have only one node, which accounts for the observed event ξe111 and the current decision and state vector x111 . At each stage t > 1, each node n etkl accounts for its probability ptkl , its conditional probability qtkl , the posible event ξetkl , and the decision and state vector xtkl . At each pair tk ∈ T Kt , we have that P l∈Lt qtkl = 1. Proposition 1 In an independent white noise scenario tree 1. qtkl = πtl for all tkl ∈ T Kt Lt , where {πtl } is the probability distribution associated to t . 2. ptkl = pa(tkl) πtl for all tkl ∈ T Kt Lt . Proof: 1. Taking into account that {t } is an independent white noise and assuming that e [t] = (e 1,l(1) , . . . , e t−1,l(t−1) , e tl ) is the realization of [t] that univoquely determines node n etkl we have: qtkl = P n[t] = n etkl | n[t−1] = n ea(tkl) = P [t] = e [t] | [t−1] = e [t−1] = P e 1,l(1) , . . . , e t−1,l(t−1) , e tl | e 1,l(1) , . . . , e t−1,l(t−1) = P (t = e tl ) = πtl 2. ptkl = pa(tkl) qtkl = pa(tkl) πtl . 6 Figure 3: Average scenario tree. At stage t = 1, we have one node, which accounts for the observed event ξ¯1 and the current decision and state vector x̄1 . At each stage t > 1, we have only one node, which accounts for the expected event ξ¯t and the decision and state vector x̄t . 4 Three approaches for stochastic linear programming So far we have assumed independence of the stochastic data sequence with respect to the decisions. Given that by Assumption 2 we assume finiteness of the support Sξ[T ] , the stochastic control problem PM LP can be formulated as a stochastic linear programming problem. In this section we present three approaches to deal with this problem. The first two approaches are classical (the scenario tree approach and the average scenario tree approach) and the third one is new (the event wood approach). 4.1 The scenario tree approach In the case of a finite support Sξ[T ] , we can formulate the deterministic equivalent model of PM LP based on the scenario tree representation. This model corresponds to what we have called Multi-stage Stochastic Linear Programming (SLP). In this model, each label tkl refers to node n etkl of the scenario tree. Definition 2 SLP objective function and domain X zSLP (u, s) = ptkl ct · utkl + tkl∈TeKt Lt DSLP X + + − ptkl (c− t · stkl + ct · stkl ), (9) tkl∈T̄ Kt Lt = { (u, s) : s111 = s0 stkl = At sa(tkl) + Bt ua(tkl) + Ctkl , tkl ∈ T̄ Kt Lt s+ tkl − s− tkl + = stkl − St tkl ∈ T̄ Kt Lt , − u ≥ 0, s ≥ 0, s ≥ 0 } (10) (11) (12) where n ea(tkl) is the ancestor of node n etkl and T̄ Kt Lt stands for T̄ × Kt × Lt . Definition 3 SLP problem 4.2 min zSLP (u, s) s. t. (u, s) ∈ DSLP The average scenario tree approach In the Multi-stage Deterministic Linear Programming (DLP) one has a ‘scenario tree’ with a single scenario: the average scenario (See Fig 3). In DLP the nodes are just labeled by the stage t. At each node nt we have: 7 Figure 4: Event wood. At each stage t > 1, we have a two-stage tree. Its root node accounts for x̄t−1 , the average decision and state vector. Each leaf node tl accounts for one posible event ξˆtl , for its probability πtl and for the decision and state vector x̂tl . • The vector x̄t = (ūt , s̄t ), which accounts for the decision and state vector. • C̄t , the expected value of the random vector Ct ([t] ). X ptkl Ctkl . C̄t = E[Ct ([t] )] = kl∈Kt Lt Definition 4 DLP objective function and domain zDLP (ū, s̄) = X ct · ūt + t∈Te DDLP X − + + (c− t · s̄t + ct · s̄t ), t∈T̄ = { (ū, s̄) : s̄1 = s0 s̄t = At s̄t−1 + Bt ūt−1 + C̄t , tkl ∈ T̄ Kt Lt − s̄+ t − s̄t = s̄t − St t ∈ T, ū ≥ 0, s̄+ ≥ 0, s̄− ≥ 0 }. Definition 5 DLP problem 4.3 min zDLP (ū, s̄) s. t. (ū, s̄) ∈ DDLP The event wood approach As we said in the introduction, to deal with uncertainty, the ELP represents a compromise between the SLP and the DLP approaches. The potentially huge scenario tree of the SLP approach, is replaced, in the ELP approach, by a sequence of two-stage trees, which we call the event wood (see Fig. 4). The uncertainty associated to each future stage is represented by means of one of these small trees. That is, we have a tree for each t ∈ T̄ . Each tree of the event wood has two types of nodes: one root and several leaves. In the tree associated to stage t, the root summarizes in one vector the relevant information from stage t − 1. This vector is X x̄t−1 := πt−1,l x̂t−1,l l∈Lt−1 8 and accounts for the average decision and average state in stage t − 1. On the other hand, each leaf of the tree associated to stage t, corresponds to a possible event at stage t. We label these leaves by a pair tl ∈ T Lt , where t is the stage and l is the event. The vectors and parameters associated to each leaf tl are indexed accordingly. At each leaf tl we have three elements: • The vector x̂tl = (ûtl , ŝtl ), which accounts for the decision and state vector. • πtl = P (t = e tl ), the probability associated to leave tl. For all stage t, we have P l∈Lt πtl = 1 • ξˆtl , is the conditional expectation of ξt ([t] ) given that t is equal to e tl : ξˆtl = E ξt ([t] ) | t = e tl = E ξt ([t−1] , t ) | t = e tl X f[t] (e [t−1] , e tl ) ξt (e [t−1] , e tl ) = tl ) ft (e e[t−1] ∈ S[t−1] = X ξtkl ptkl πtl ξtkl pa(tkl) πtl πtl k∈Kt = X k∈Kt = X ξtkl pa(tkl) , k∈Kt where f[t] and ft , are joint and marginal distributions, respectively. We propose a new approximation to the PM LP based on the event wood. We will use the label ELP for this model (Multi-stage Event Linear Programming). As we already said, labels tl and t correspond to leaves and root, respectively, of the event wood trees. Definition 6 ELP objective function and domain X X + + − zELP (û, ŝ, ū, s̄) = πtl ct · ûtl + πtl (c− t · ŝtl + ct · ŝtl ), tl∈TeLt DELP tl∈T̄ Lt = { (û, ŝ, ū, s̄) : ŝ1 = s0 ŝtl = At s̄t−1 + Bt ūt−1 + Ĉtl , tl ∈ T̄ Lt ŝ+ tl ŝ− tl = ŝtl − St tl ∈ T̄ Lt , X ūt = πtl ûtl t ∈ Te − (13) (14) (15) l∈Lt s̄t = X πtl ŝtl t ∈ Te (16) l∈Lt û ≥ 0, ŝ+ ≥ 0, ŝ− ≥ 0 } where Ĉtl = P k∈Kt pa(tkl) Ctkl . Definition 7 ELP problem min zELP (û, ŝ, ū, s̄) s. t. (û, ŝ, ū, s̄) ∈ DELP 9 (17) 5 Lower bounds In the stochastic linear programming context, it is well-known that, for the case of only a stochastic right-and-side, the deterministic model gives a cost lower bound for the stochastic optimal cost [5]. In the context of this paper it means: ∗ ∗ zDLP ≤ zSLP , where zP∗ stands for the optimal cost of a given problem P . In this section we will prove ∗ ∗ ∗ zDLP ≤ zELP ≤ zSLP . With this objective in mind, we define the auxiliary problem: Definition 8 Auxiliary objective function and domain zA (u, s, û, ŝ, ū, s̄) = zSLP (u, s) DA = { (u, s, û, ŝ, ū, s̄) : s111 = s0 (18) ŝtl = At s̄t−1 + Bt ūt−1 + Ĉtl , tl ∈ T̄ Lt ŝ+ tl ŝ− tl − = ŝtl − St X ŝtl = pa(tkl) stkl tl ∈ T Lt , (19) (20) tl ∈ T Lt , (21) pa(tkl) s+ tkl tl ∈ T Lt , (22) pa(tkl) s− tkl tl ∈ T Lt , (23) t ∈ TeLt , (24) k∈Kt ŝ+ tl = X k∈Kt ŝ− tl = X k∈Kt X s̄t = ptkl stkl kl∈Kt Lt ûtl = X pa(tkl) utkl tl ∈ TeLt , (25) t ∈ Te, (26) k∈Kt ūt = X ptkl utkl kl∈Kt Lt + u ≥ 0, s ≥ 0, s− ≥ 0 } (27) Definition 9 Auxiliary problem PA Lemma 1 min zA (u, s, û, ŝ, ū, s̄) s. t. (u, s, û, ŝ, ū, s̄) ∈ DA 1. If s̄t = X ptkl stkl and ŝtl = kl∈Kt Lt X pa(tkl) stkl , then s̄t = k∈Kt X πtl ŝtl . l∈Lt 2. If ūt = X ptkl utkl and ûtl = kl∈Kt Lt X k∈Kt 10 pa(tkl) utkl , then ūt = X l∈Lt πtl ûtl . 3. If (u, s, û, ŝ, ū, s̄) ∈ DA , then (û, ŝ, ū, s̄) ∈ DELP , 4. If (u, s, û, ŝ, ū, s̄) ∈ DA , then zA (u, s, û, ŝ, ū, s̄) = zSLP (u, s) = zELP (û, ŝ, ū, s̄). Proof: The first statement can be proved as follows X ptkl stkl = s̄t = X = X πtl l∈Lt pa(tkl) πtl stkl kl∈Kt Lt kl∈Kt Lt X pa(tkl) stkl = k∈Kt X πtl ŝtl . l∈Lt The second statement can be proved in the same way. The third statement, comes directly from the first and second statements. In the fourth statement, the first equality is by definition. To prove the second equality we will use that ptkl = pa(tkl) πtl to rearrange zSLP : X zSLP (u, s) = ptkl ct · utkl + tkl∈TeKt Lt X tkl∈T̄ Kt Lt = X πtl ct · tl∈TeLt X pa(tkl) utkl k∈Kt + X πtl c− t · tl∈TeLt = = X − + + ptkl (c− t · stkl + ct · stkl ), X + pa(tkl) s− tkl k∈Kt X πtl ct · ûtl + tl∈TeLt tl∈TeLt X X πtl ct · ûtl + tl∈TeLt tl∈TeLt − πtl c− t · ŝtl + X πtl c+ t · tl∈TeLt X tl∈TeLt X pa(tkl) s+ tkl , k∈Kt + πtl c+ t · ŝtl − + + πtl (c− t · ŝtl + ct · ŝtl ) = zELP (û, ŝ, ū, s̄). Proposition 2 The optimal cost of the auxiliary problem PA gives a lower bound for the SLP optimal cost: ∗ ∗ zA ≤ zSLP Proof: Let us consider the SLP domain: DSLP = { (u, s) : s111 = s0 stkl = At sa(tkl) + Bt ua(tkl) + Ctkl , tkl ∈ T̄ Kt Lt (28) − s+ tkl − stkl = stkl − St (29) + − tkl ∈ T̄ Kt Lt , u ≥ 0, s ≥ 0, s ≥ 0 } 11 (30) Step 1: In DSLP , for each pair tl ∈ T̄ Lt , we aggregate the constraints (28) that are indexed by tkl with k ∈ Kt and use pa(tkl) as aggregation weights: X pa(tkl) stkl = X pa(tkl) At sa(tkl) + Bt ua(tkl) + Ctkl k∈Kt k∈Kt Equivalently, ŝtl = At s̄t−1 + Bt ūt−1 + Ĉtl where ŝtl = X pa(tkl) stkl (31) k∈Kt s̄t = X ptkl stkl (32) kl∈Kt Lt ūt = X ptkl utkl (33) pa(tkl) Ctkl . (34) k∈Kt Ĉtl = X k∈Kt Step 2: Repeat Step 1 for constraints (29) X X − pa(tkl) s+ − s = pa(tkl) (stkl − St ) . tkl tkl k∈Kt Considering that P k∈Kt k∈Kt pa(tkl) = 1, we can write the equivalent equality − ŝ+ tl − ŝtl = ŝtl − St , where ŝ+ tl = X pa(tkl) s+ tkl (35) pa(tkl) s− tkl (36) k∈Kt ŝ− tl = X k∈Kt Step 3: For each SLP point (u, x) we can define the auxiliary point (u, s, û, ŝ, ū, s̄) where ŝ, s̄, ū, ŝ+ , ŝ− are defined from (u, s) by equations (31-36), respectively and ûtl is defined as X ûtl = pa(tkl) utkl . k∈Kt By construction, if (u, x) ∈ DSLP then the associated auxiliary point (u, s, û, ŝ, ū, s̄) ∈ DA . Furthermore, by definition, zA (u, s, û, ŝ, ū, s̄) = zSLP (u, s). ∗ ≤ z∗ This proves that zA SLP Proposition 3 To solve the auxiliary problem is equivalent to solve the ELP problem. Furthermore, they have the same optimal value ∗ ∗ zA = zELP . 12 Proof: By Lemma 1.3 if (u0 , s0 , û0 , ŝ0 , ū0 , s̄0 ) ∈ DA then (û0 , ŝ0 , ū0 , s̄0 ) ∈ DELP . By Lemma 1.4 zELP (û0 , ŝ0 , ū0 , s̄0 ) = zA (u0 , s0 , û0 , ŝ0 , ū0 , s̄0 ). ∗ ∗. This implies that zELP ≤ zA Second, let us see that if (û0 , ŝ0 , ū0 , s̄0 ) ∈ DELP then there exists (u0 , s0 , û0 , ŝ0 , ū0 , s̄0 ) ∈ DA such that zA (u0 , s0 , û0 , ŝ0 , ū0 , s̄0 ) = zELP (û0 , ŝ0 , ū0 , s̄0 ). Given that as follows: P k∈Kt pa(tkl) = 1 and pa(tkl) ≥ 0, there must exist k̄ such that pa(tk̄l) > 0. We define u0tkl u0tk̄l = 1 û0 pa(tk̄l) tl and u0tkl = 0 for k 6= k̄. From this definition u0 ≥ 0 and û0tl = X pa(tkl) u0tkl . k∈Kt In the same way, we define s0tk̄l = 1 ŝ0 pa(tk̄l) tl and s0tkl = 0 for k 6= k̄. From this definition s0 ≥ 0 and ŝ0tl = X pa(tkl) s0tkl . k∈Kt Therefore, the point (u0 , s0 , û0 , ŝ0 , ū0 , s̄0 ) thus defined is in DA and by Lemma 1.4 zA (u0 , s0 , û0 , ŝ0 , ū0 , s̄0 ) = zELP (û0 , ŝ0 , ū0 , s̄0 ). ∗ ≤ z∗ ∗ ∗ This implies that zA ELP . All in all, zA = zELP and once we have an optimal solution for the auxiliary problem we also have an optimal solution for the ELP problem. Otherwise said, to solve PA is equivalent to solve PELP . Theorem 1 The ELP solution value gives a lower bound for the SLP solution value: ∗ ∗ zELP ≤ zSLP Proof: From propositions 2 and 3 we have ∗ ∗ ∗ zELP = zA ≤ zSLP . Theorem 2 The DLP solution value gives a lower bound for the ELP solution value: ∗ ∗ zDLP ≤ zELP 13 Proof: Let us consider the ELP domain: DELP = { (û, ŝ, ū, s̄) : ŝ1 = s0 ŝtl = At s̄t−1 + Bt ūt−1 + Ĉtl , tl ∈ T̄ Lt ŝ+ tl ŝ− tl − = ŝtl − St tl ∈ T̄ Lt , X πtl ûtl t ∈ Te ūt = (37) (38) (39) l∈Lt s̄t = X πtl ŝtl t ∈ Te (40) l∈Lt + û ≥ 0, ŝ ≥ 0, ŝ− ≥ 0 } (41) Step 1: In DELP , aggregate the constraints (37). Use πtl as aggregation weights.: X X πtl At s̄t−1 + Bt ūt−1 + Ĉtl πtl ŝtl = l∈Lt l∈Lt Considering that P l∈Lt πtl = 1, we can write the equivalent equality s̄t = At s̄t−1 + Bt ūt−1 + C̄t . Step 2: In DELP , aggregate the constraints (38). Use πtl as aggregation weights: X X − πtl ŝ+ − ŝ πtl (ŝtl − St ) tl tl = l∈Lt l∈Lt Equivalently, − s̄+ tl − s̄tl = s̄tl − St . Step 3: We define the following auxiliary objective function and domain zB (û, ŝ, ū, s̄) = zELP (û, ŝ, ū, s̄) (42) 0 DB = { (û, ŝ, ū, s̄) : ŝ11 = s s̄t = At s̄t−1 + Bt ūt−1 + C̄t , t ∈ T̄ s̄+ tl s̄+ t s̄− tl − = s̄tl − St t ∈ T̄ , X + t ∈ T̄ , = πtl ŝtl (43) (44) (45) l∈Lt s̄− t = X πtl ŝ− tl t ∈ T̄ , (46) l∈Lt s̄t = X πtl ŝtl t ∈ T̄ , (47) πtl ûtl t ∈ T̄ , (48) l∈Lt ūt = X l∈Lt + û ≥ 0, ŝ ≥ 0, ŝ− ≥ 0 } We also consider problem PB min ẑB (û, ŝ, ū, s̄) s. t. (û, ŝ, ū, s̄) ∈ DB 14 (49) ∗ ≤ z∗ First, to prove that zB ELP we could proceed in a similar way as in Proposition 2 to prove ∗ ∗ zA ≤ zSLP . ∗ ∗ we could proceed in a similar way like in Proposition 3 to prove Second, to prove that zDLP = zB ∗ ∗ zELP = zA . 6 Preliminary computational experience So far we have introduced the event wood approach and have given some theoretical properties. Now we wish to show its potential usefulness to deal with uncertainty whenever the SLP model becomes too large. Programs have been written in Matlab 7.0 and run in a PC (Pentium-IV, 3.0 GHz, with 3 GB of RAM memory) under the Windows XP operating system. To solve the LP’s associated to these models we have intensively used Cplex 9.1 (default settings) interfaced with Matlab [2]. 6.1 The news vendor problem For this preliminary computational experience we use a multi-stage version of the news vendor problem [29]. The DLP version of this problem is as follows: X X − + + min ct ūt + c− t s̄t + ct s̄t s̄, ū s. t. t∈Te t∈T̄ s̄t = s̄t−1 + ūt−1 − ξ¯t , − s̄− t s̄1 = s01 , s̄+ t t ∈ T̄ , = s̄t t ∈ T̄ − ūt ≥ 0, s̄+ t ≥ 0, s̄t ≥ 0, t ∈ Te. In this model, ūt is the order at stage t and ξ¯t is the demand. The inventory level is s̄t : a positive value means a physical inventory, and a negative one a shortage. Initial inventory is fixed at s01 ≥ 0. − Unsatisfied demand is backlogged. The parameter c+ t is the unit holding cost, and ct the unit shortage cost. The purchase cost is ct . In the SLP version of this problem, stochastic demands ξt are considered. Note that, we will use ξt to denote the random variable and ξet a realization of ξt . As in [3], we assume that the demands form a conditionally heteroskedastic Gaussian sequence with unconditional mean and variance µt and σt . That is, ξt follows a normal distribution, ξt ∼ N (µt , σt ), for t ∈ T̄ . The demand time series {ξt } is based on the independent Gaussian white noise {t } with σt = 1. At t = 2 we have ξ2 = µ2 + σ2 2 (50) and for t = 2, . . . , T − 1 the conditional demands are ξt+1 σt+1 e (ξt − µt ) + σt+1 | ξet = µt+1 + ρt σt q 1 − ρ2t t+1 . Therefore, ξt+1 | ξet follows a normal distribution ξt+1 | ξet ∼ N µt+1 | ξet , σt+1 | ξet for t ∈ T̄ , 15 (51) with the conditional mean µt+1 | ξet = E[ξt+1 | ξet ] = µt+1 + ρt σt+1 e (ξt − µt ) σt and the conditional variance 2 2 σt+1 | ξet = Var[ξt+1 | ξet ] = σt+1 (1 − ρ2t ), where ρt is the correlation coefficient between the successive demands ξt and ξt+1 . To solve the SLP model we have to construct the associated (independent white noise) scenario tree. Our construction of the scenario tree is based on the discretization {et } of the (continuous) Gaussian white noise {t }. We assume that {et } inherits the independent and identically distributed property of {t }. First, we determine the support of et , which is the set {e etl | l ∈ Lt } with Lt = {1, . . . , Lt }. Considering that t ∼ N (0, 1), we partition the interval [−4, +4] into Lt contiguous intervals Itl = [αtl , βtl ] of length 8 δt = . Lt Each interval is represented by its middle point eetl for all l ∈ Lt . In the independent white noise scenario tree the error associated to the node n etkl is equal to eetl for all k ∈ Kt . Second, we compute the probability function of the discrete random variable et , which assigns probability πtl to eetl as follows πtl = Φ(βtl ) − Φ(αtl ), where Φ(·) is the cumulative standard normal distribution. Third, we complete the scenario tree by discretizing {ξt }. We assign to each node of the scenario tree the value ξetkl by using the recursive formulas (50-51) and the error value eetl . Furthermore, by Proposition 1 we know qtkl = πtl and that ptkl = pa(tkl) πtl . 6.2 Test 1: capacity to deal with uncertainty Now we wish to compare the capacity to deal with uncertainty of the approaches DLP and ELP compared to the SLP approach. For this comparison we will use three criteria: ∗ ∗ • The (optimal) expected costs zDLP and zELP as lower bounds of the best possible expected cost ∗ zSLP . • The (optimal) first stage decisin u∗1 given by the DLP model and by the ELP model, respectively. As it was suggested in [33], we will compare them to an optimal first stage decision (which is given by the SLP model). • Following [6], we also give the expected result of using the DLP solution. We call it ẑDLP . To compute this expected result, in the SLP model, we fix the first stage decision to the optimal first stage decision given by the DLP model, and then we solve to optimality the resulting problem. Analogously, we compute ẑELP , expected result of using the ELP solution. The parameters that we have used are: • T = 5, 16 • µt = 100 + 5(t − 1). • at = 1 for t ∈ Te. • ht = 0.1 for t ∈ T̄ . • s01 = 0 • ρt = 0 or 0.5 for all t ∈ T̄ • Lt = 10 for all t ∈ T̄ . In this model, the critical parameters are σt and st . High values of σt stress the uncertainty in the problem, with wider demand ranges. High values of the shortage cost st will produce high expected costs if the model is not well suited to cope with uncertainty. To see the sensitivity respect to σ and s, we solve the news vendor problem for (σ, s) = (1, 1), (10, 10) and (20, 20), first for ρ = 0.5 and second for ρ = 0. The expected costs z ∗ , the expected result ẑ of using the DLP or the ELP solution and the first stage decisions u∗1 , are displayed in Table 1. In Table 1 we observe that, in this test: • The lower bound to the SLP optimal cost given by the ELP model is much tighter that the DLP bound. • The expected result of using the DLP solution can be very bad in the case of high uncertainty and high shortage cost. • In this test, the first stage decisions are the same for models SLP and ELP. Therefore the expected result of using the the ELP solution corresponds to the optimal SLP cost. 6.3 Test 2: Tractability We briefly comment on the tractability of the tree models. In particular we are interested on the impact that the number of stages T has on each model. We study the dimensions of the constraint matrix A, associated to the news vendor problem formulated as a standard LP. The determinant parameters for these dimensions are: the number of stages T and the number of sons per node Lt , with t ∈ T . In this test, we consider 10 sons per node in all the stages, i.e., Lt = L = 10. In Table 2, we report the dimensions m × n of A, where m is the number of constraints and n is the number of variables. In this table, we observe that these dimensions grow, as expected, exponentially o(LT ) and linearly o(T ), for the SLP and DLP models, respectively. In the ELP model, these dimensions also grow linearly, but with order o(L × T ). We have also studied the CPU time required to solve the news vendor problem by the tree approaches. We solved the instance defined by parameters (ρ, σ, s) = (0.5, 1, 1) in Table 1, for different number of stages (T = 3, . . . , 7). The reported CPU time accounts for the time needed to set up the model plus the time that Cplex took to solve the LP instance. In the case of formulations DLP and ELP, this CPU time was under 1 second in all the cases (we wrote in Table 2). The CPU time required for the SLP model was relatively much larger for cases T ≥ 5. Furthermore, for T = 7 we could not solve the SLP formulation within 50,000 seconds. For this case the required memory was 650 MB. Finally, it is worth to mention that the ELP model, by relaxing constraints (15-16), nicely decomposes into T − 1 two-stage stochastic LP problems. 17 Table 1: Influence of the shortage cost s and the standard deviation σ: In this table we have the expected cost z ∗ , the expected result ẑ of using the DLP or the ELP solution and the first stage decision u∗1 , for (σ, s) = (1, 1), (10, 10) and (20, 20), correlated (ρ = 0.5) and uncorrelated (ρ = 0) cases. We also give the variation respect to column SLP (in %). σ/s/ρ 1/ 1 / 0.5 10/ 10 / 0.5 20/ 20 / 0.5 1/ 1 / 0. 10/ 10 / 0. 20/ 20 / 0. SLP z∗ ẑ u∗1 450.4545 450.4545 106.2000 473.2653 473.2653 125.0000 506.4057 506.4057 161.0000 450.5018 450.5018 106.2000 476.4509 476.4509 125.0000 514.2410 514.2410 161.0000 DLP z∗ ẑ u∗1 450.0000 450.7408 105.0000 450.0000 513.0041 105.0000 450.0000 669.5606 105.0000 450.0000 450.7882 105.0000 450.0000 516.1896 105.0000 450.0000 677.3967 105.0000 (%) -0.10 0.06 -1.13 -4.92 8.40 -16.00 -11.14 32.22 -34.78 -0.11 0.06 -1.13 -5.55 8.34 -16.00 -12.49 31.73 -34.78 ELP z∗ ẑ u∗1 450.4543 450.4545 106.2000 473.2653 473.2653 125.0000 506.4053 506.4057 161.0000 450.5016 450.5018 106.2000 476.4508 476.4509 125.0000 514.2409 514.2410 161.0000 (%) -0.00004 0 0 -0.00000 0 0 -0.00008 0 0 -0.00004 0 0 -0.00002 0 0 -0.00002 0 0 Table 2: Size of the LP constraint matrix (m × n), number of scenarios (events) and CPU time in seconds. The symbol means that the CPU time was under 1 second. T 3 4 5 6 7 m 111 1,111 11,111 111,111 1,111,111 SLP n Scenarios 333 100 3,333 1,000 33,333 10,000 333,333 100,000 3,333,333 1,000,000 CPU 15 1760 > 50,000 18 m 3 4 5 6 7 DLP n CPU 9 12 15 18 21 m 27 40 53 66 79 n 69 102 135 168 201 ELP Events 20 30 40 50 60 CPU 3 30 7 Conclusions The contribution of this paper has been in three aspects. First, we have introduced the concept of independent white noise scenario tree. This type of tree allows for a very convenient way to link the time series theory with the scenario tree approach in multi-stage stochastic linear programming (SLP). Second, we have introduced the multi-stage event linear programming (ELP) model, which is based on the so-called event wood instead of the scenario tree. In this new approach, the modeling of uncertainty is simpler than in the SLP approach. It is not intended to replace the SLP model, but to be used in the cases where the SLP model becomes intractable. Of course, in the ELP approach, the modeling of uncertainty is much richer than in the deterministic approach (DLP). Third, we have proved that in a quite general class of multi-stage LP problems, with uncertainty only in the right-hand-side, the ELP model gives a lower bound to the optimal SLP cost. We have also proved that this bound is tighter that the bound given by the DLP model. In the preliminary computational test, carried out with a multistage version of the news vendor problem, the ELP bounds have been very tight. As a future work, we are planning to enhance the computational experience with the ELP approach, as well as, to extend it to treat stochastic mixed integer LP problems by using the branch-and-fix coordination concept introduced in [1]. Acknowledgments We are thankful to Jean-Philippe Vial and Alain Haurie (University of Geneva, Switzerland) for their comments and support at Logilab. We also thank the support of the grant S2009/esp-1594 (Riesgos CM) from the Comunidad de Madrid (Spain) and the grants MTM200914039-C06-03 and MTM2009-14087-C04-01 from the Spanish Science and Innovation Ministry. References [1] A. Alonso-Ayuso, L.F. Escudero, and M.T. Ortuño. BFC, a branch-and-fix coordination algorithmic framework for solving some types of stochastic pure and mixed 0-1 programs. European Journal of Operational Research, 151:503–519, 2003. [2] M. Baotic. Matlab interface for cplex, http://control.ee.ethz.ch/ hybrid/cplexint.php 2004. [3] D. Barnes-Schuster, Y. Bassok, and R. Anupindi. Coordination and flexibility in supply contracts with options. Manufacturing and service operations management, 4(3):171–207, 2002. [4] A. Berkelaar, J. A. S. Gromicho, R. Kouwenberg, and S. Zhang. A primal-dual decomposition algorithm for multistage stochastic convex programming. Mathematical Programming, 104:153– 177, 2005. [5] J. R. Birge. Aggregation bounds in stochastic linear programming. Mathematical Programming, 31:25–41, 1985. [6] J. R. Birge and F. Louveaux. Introduction to stochastic programming. Springer, 1997. [7] J. Blomvall and A. Shapiro. Solving multistage asset investment problems by the sample average approximation method. Mathematical Programming, 108:571–595, 2006. [8] M. S. Casey and S. Sen. The scenario generation algorithm for multistage stochastic linear programming. Mathematics of Operations Research, 30:615–631, 2005. [9] M. Davidson. Primal-dual constraint aggregation with application to stochastic programming. Annals of Operations Research, 99:41–58, 2000. 19 [10] L.F. Escudero, J.L. de la Fuente, C. Garcia, and F.J. Prieto. A parallel computation approach for solving multistage stochastic network problems. Annals of Operations Research, 90:131–160, 1999. [11] E. Fragniere, J. Gondzio, and J-Ph. Vial. Building and solving large-scale stochastic programs on an affordable distributed computing system. Annals of Operations Research, 99:167–187, 2000. [12] K. Frauendorfer. Barycentric scenario trees in convex multistage stochastic programming. Mathematical Programming, 75:277–293, 1995. [13] J. Gondzio, R. Sarkissian, and J.-Ph. Vial. Parallel implementation of a central decomposition method for solving large-scale planning problems. Computational Optimization and Applications, 19:5–29, 2001. [14] H. Heitsch and W. Roemisch. Scenario tree modeling for multistage stochastic programs. Mathematical Programming, 118:371–406, 2009. [15] H. Heitsch and W. Roemisch. Scenario tree reduction for multistage stochastic programs. Computational Management Science, 6(2):117–133, 2009. [16] P. Kall and J. Mayer. Stochastic Linear Programming. Kluwer academic publishers, 2005. [17] R. Kouwenberg. Scenario generation and stochastic programming models for asset liability management. European Journal of Operational Research, 134:279–292, 2001. [18] D. Kuhn. Aggregation and discretization in multistage stochastic programming. Mathematical Programming, 113:61–94, 2008. [19] D. Kuhn, P. Parpas, and B. Rustem. Bound-based decision rules in multistage stochastic programming. Kybernetika, 44(2):134–150, 2008. [20] S. C. H. Leung, S. O. S. Tsang, W. L. Ng, and Y. Wu. A robust optimization model for multisite production planning problem in an uncertain environment. European Journal of Operational Research, 181:224–238, 2007. [21] X. Liu and J. Sun. A new decomposition technique in solving multistage stochastic linear programs by infeasible interior point methods. Journal of Global Optimization, 28:197–215, 2004. [22] J. M. Mulvey, R. J. Vanderbei, and S.A. Zenios. Robust optimization of large-scale systems. Operations Research, 43:264–281, 1995. [23] M. V. F. Pereira and L. M. V. G. Pinto. Multi-stage stochastic optimization applied to energy planning. Mathematical Programming, 52:359–375, 1991. [24] A. Rong and R. Lahdelma. Fuzzy chance constrained linear programming model for optimizing the scrap charge in steel production. European Journal of Operational Research, 186:953–964, 2008. [25] A. Ruszczynski and A. Shapiro. Some advances in decomposition methods for stochastic linear programming. Annals of Operations Research, 85:153–172, 1999. [26] R. Schultz. Stochastic programming with integer variables. 97:285–309, 2003. Mathematical Programming, [27] A. Shapiro. Inference of statistical bounds for multistage stochastic programming problems. Mathematical methods of operations research, 58:57–68, 2003. 20 [28] A. Shapiro. On complexity of multistage stochastic programs. Operations Research Letters, 34:1–8, 2006. [29] A. Shapiro, D. Dentcheva, and A. Ruszczynski. Lectures on stochastic programming - modeling and theory. MPS-SIAM, 2009. [30] R. H. Shumway and D. S. Stoffer. Time series analysis and its applications. Springer, 2000. [31] J. Sun and X. Liu. Scenario formulation of stochastic linear programs and the homogeneous self-dual interior-point method. INFORMS Journal on Computing, 18:444–454, 2006. [32] J. Thenie and J.-Ph. Vial. Step decision rules for multistage stochastic programming: a heuristic approach. Automatica, 44:1569–1584, 2008. [33] R. J.-B. Wets. Challenges in stochastic programming. Mathematical Programming, 75:115–135, 1996. [34] S. E. Wright. Primal-dual aggregation and disaggregation for stochastic linear programming. Mathematics of Operations Research, 19(4):893–908, 1994. 21