an introductory tutorial on stochastic linear programming

29
Copyright q 1999, Institute for Operations Research and the Management Sciences 0092-2102/99/2902–0033/$5.00 This paper was refereed. PROGRAMMING, STOCHASTIC TUTORIAL INTERFACES 29: 2 March–April 1999 (pp. 33–61) An Introductory Tutorial on Stochastic Linear Programming Models Suvrajeet Sen Department of Systems and Industrial Engineering The University of Arizona Tucson, Arizona 85721 Julia L. Higle Department of Systems and Industrial Engineering The University of Arizona Linear programming is a fundamental planning tool. It is often difficult to precisely estimate or forecast certain critical data elements of the linear program. In such cases, it is necessary to address the impact of uncertainty during the planning process. We discuss a variety of LP-based models that can be used for planning under uncertainty. In all cases, we begin with a de- terministic LP model and show how it can be adapted to in- clude the impact of uncertainty. We present models that range from simple recourse policies to more general two-stage and multistage SLP formulations. We also include a discussion of probabilistic constraints. We illustrate the various models us- ing examples taken from the literature. The examples involve models developed for airline yield management, telecommuni- cations, flood control, and production planning. O ver the past several decades, linear programming (LP) has become a fundamental planning tool. It is routinely applied in engineering, business, econom- ics, environmental studies, and other disci- plines. This widespread acceptance may be due to (1) good algorithms, (2) practi- tioners’ understanding of the power and scope of LP, and (3) widely available and reliable software. Furthermore, research on specialized problems, such as assign- ment, transportation, and network prob- lems, has made LP methodology indis- pensable in many industries, including

Upload: others

Post on 15-Oct-2021

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: An Introductory Tutorial on Stochastic Linear Programming

Copyright q 1999, Institute for Operations Researchand the Management Sciences0092-2102/99/2902–0033/$5.00This paper was refereed.

PROGRAMMING, STOCHASTICTUTORIAL

INTERFACES 29: 2 March–April 1999 (pp. 33–61)

An Introductory Tutorial on Stochastic LinearProgramming Models

Suvrajeet Sen Department of Systems and Industrial EngineeringThe University of ArizonaTucson, Arizona 85721

Julia L. Higle Department of Systems and Industrial EngineeringThe University of Arizona

Linear programming is a fundamental planning tool. It is oftendifficult to precisely estimate or forecast certain critical dataelements of the linear program. In such cases, it is necessary toaddress the impact of uncertainty during the planning process.We discuss a variety of LP-based models that can be used forplanning under uncertainty. In all cases, we begin with a de-terministic LP model and show how it can be adapted to in-clude the impact of uncertainty. We present models that rangefrom simple recourse policies to more general two-stage andmultistage SLP formulations. We also include a discussion ofprobabilistic constraints. We illustrate the various models us-ing examples taken from the literature. The examples involvemodels developed for airline yield management, telecommuni-cations, flood control, and production planning.

Over the past several decades, linearprogramming (LP) has become a

fundamental planning tool. It is routinelyapplied in engineering, business, econom-ics, environmental studies, and other disci-plines. This widespread acceptance maybe due to (1) good algorithms, (2) practi-

tioners’ understanding of the power andscope of LP, and (3) widely available andreliable software. Furthermore, researchon specialized problems, such as assign-ment, transportation, and network prob-lems, has made LP methodology indis-pensable in many industries, including

Page 2: An Introductory Tutorial on Stochastic Linear Programming

SEN, HIGLE

INTERFACES 29:2 34

airlines, energy, manufacturing, and tele-communications. Notwithstanding its suc-cesses, however, the assumption that allmodel parameters are known with cer-tainty limits its usefulness in planning un-der uncertainty. When one or more of thedata elements in a linear program is repre-sented by a random variable, a stochasticlinear program (SLP) results.

In deterministic activity analysis, plan-ning consists of choosing activity levelsthat satisfy resource constraints whilemaximizing total profit (or minimizing to-tal cost). All the information necessary fordecision making is assumed to be avail-able at the time of planning. Under uncer-tainty, not all the information is available,and some parameters should be modeledas random variables. We discuss heremodels that can include random variableswithin optimization problems. Since deter-ministic methodology has been prevalentin optimization models, it may be tempt-ing to suggest that random variablesshould be replaced by their means and theresulting optimization problem solved. Ingeneral, this approach provides solutionsthat are structurally different from thoseprovided by stochastic optimizationmodels.

To understand this, consider a networkwith n nodes, as in Figure 1, on whichdemand for connections between the ( )n

2

demand pairs must be accommodated.Networks, such as those in telecommuni-cations systems, are complex and typicallyinclude hundreds of nodes. In the designproblem that we consider, the capacity ofeach network link must be determined inanticipation of future demand require-ments. It is customary to assume that the

requirements between various node pairsare known with certainty. Such determin-istic network-design problems result in atree structure (Figure 2a). With a tree de-sign, all demand pairs have paths throughwhich calls may be routed. However, thedesign is rigid in that only one such pathis available. During periods of high de-mand, the lack of alternative routes resultsin the rejection of calls and a reduced levelof service. Moreover, if a link should failbecause of some catastrophic event, nodeswill be disconnected from the network.Attempts to counter these difficulties byscaling the demand upward, for example,will increase the capacity of the links used;it will not eliminate the rigidity of the de-sign. To obtain a more flexibly designednetwork (Figure 2b), one must incorporatethe need for flexibility within the model.One must construct a model that explicitlyconsiders the likelihood of periodic (andcorrelated) heavy loads on segments of thenetwork and the possibility of catastrophicequipment failures. The improvement pos-sible from the use of a stochastic model in-creases with the size of the network. Infact, in a case study conducted at Bellcore,Sen, Doverspike, and Cosares [1994] re-port a 75-percent reduction in the numberof lost calls using stochastic LP models inplace of deterministic models.

Methods for forecasting importantquantities, such as demand, are wellknown and widely used. Moreover, thefields of statistics and simulation providemethods for obtaining distributional rep-resentations of these quantities when pointestimators are inadequate. Although manypeople routinely formulate LP models,only recently have OR/MS practitioners

Page 3: An Introductory Tutorial on Stochastic Linear Programming

STOCHASTIC LINEAR PROGRAMMING

March–April 1999 35

Figure 1: In this simple network with threenodes, there are ( ), or three point-to-point de-3

2

mand pairs: A-B, B-C, and A-C. The presenceof an edge indicates that capacity may beadded to form a link between the two nodesin the network.

Figure 2: These illustrate alternative networkdesigns. The tree structure in 2a results fromthe use of a deterministic model and yields avery rigid routing protocol. The network in 2bresults from the use of a stochastic model. Itis a more flexible design due to the presenceof multiple routing capabilities for each de-mand pair. In general, the design in 2b pro-vides a greater opportunity to respond to net-work failures and high loads than the designin 2a.

begun using these methods to formulateLP models for decision making under un-

certainty. In this tutorial, we explainlinear-programming models for optimiza-tion under uncertainty at a very elemen-tary level. Consequently, all we assume isthat readers are familiar with LP modelsand elementary probability constructs.The Impact of Uncertainty

The presence of uncertainty affects bothfeasibility and optimality. In fact, formu-lating an appropriate objective function it-self raises interesting modeling and algo-rithmic questions.Feasibility Under Uncertainty

To incorporate uncertainty within anLP, one must define feasibility. Two naiveapproaches have sometimes been adoptedin practice.Example 1: SLPs with Expected Values

Consider the following four variable de-terministic LP:

Minimize 1x2

subject to x1 ` x2 ` x3 4 21x1 ` x2 ` x4 4 2 (1)11 # x1 # 1xj > 0, j 4 2, 3, 4.

Suppose that the coefficients of x1 and x2

in (1) are not known with certainty, andall that is known about these parameters istheir joint distribution

(a , a )21 22

3 11, with probability1 24 2

4 5 15 13, with probability .1 24 2

In this case, E[a21] 4 11 and E[a22] 4 1so that the coefficients in (1) correspond tothe expected values of the random vari-ables. In examining this formulation, wefirst investigate whether its solution, (x1,

Page 4: An Introductory Tutorial on Stochastic Linear Programming

SEN, HIGLE

INTERFACES 29:2 36

x2, x3, x4) 4 (0, 2, 0, 0)), is feasible underuncertainty. Under uncertainty, the con-straint corresponding to (1) is equallylikely to be either

3x ` x ` x 4 21 2 44

or

513x ` x ` x 4 2.1 2 44

The vector (0, 2, 0, 0) does not satisfy ei-ther of these equations and thus is infeasi-ble under uncertainty! Under uncertainty,the formulation in which random vari-ables are replaced by their expected valuesmay not provide a solution that is feasiblewith respect to the random variables.Example 2: Wait and See

Another approach that practitionersoften adopt is based on a wait-and-seeanalysis (sometimes referred to as scenarioanalysis or what-if analysis). This ap-proach mimics the process of delaying alldecisions until the last possible moment,after all uncertainties have been resolved.As a result, the LPs associated with allpossible outcomes of the random quanti-ties are solved. This yields a collection ofdecision vectors, one for each possible out-come of the random variable(s). In gen-eral, none of these solutions may beworthwhile. For example, consider thetwo possible realizations of the problem inExample 1. The solution associated with(a21, a22) 4 (1, 3/4) is (11, 3, 0, 0.75),while the solution associated with (a21, a22)4 (13, 5/4) is (12/17, 32/17, 0, 0.75). Aswith the solution to the expected-valueproblem, neither of these solutions is feasi-ble with respect to the alternate outcome.

That is, if implemented, either solutionwould have a 50-percent chance of failingto satisfy a constraint.

As illustrated by Examples 1 and 2, anappropriate decision-making frameworkunder uncertainty should explicitly con-sider the consequences of future infeasibil-ity within the model. This aspect of mod-eling responses to future infeasibility setsstochastic programs apart from their de-terministic counterparts. In the stochastic-programming literature, two approachesare widely studied: one is based on mod-eling future recourse (response) and an-other restricts the probability of infeasibil-ity (typically equivalent to system failures)to be no greater than a prespecifiedthreshold. The first approach yields theso-called recourse problems, and the sec-ond approach yields problems with proba-bilistic (or chance) constraints. While aspecific application may call for both ap-proaches, we discuss them separately.

The stochastic-programming literaturealso considers another problem: the distri-bution problem. Researchers focus oncharacterizing the distribution of the opti-mal value or optimal solutions of randomLPs. As with wait-and-see problems, thedistribution problem does not provide adecision-making framework. Nevertheless,it provides a mathematical commonground between the second-stage randomLP in recourse problems and the randomLP of the wait-and-see approach. From acomputational point of view, this problemremains a major challenge [Prekopa 1995,chapter 15].Objectives Under Uncertainty

A great deal of research revolvesaround the choice of objectives in decision

Page 5: An Introductory Tutorial on Stochastic Linear Programming

STOCHASTIC LINEAR PROGRAMMING

March–April 1999 37

making under uncertainty. One of themore common objectives is to optimize ex-pected costs (or returns). However, as de-cision makers, we might be interested inthe variability of costs (or returns) associ-ated with a plan. More generally, a deci-sion maker’s choices may be guided by autility function. In decision-making mod-els for an individual, the concept of a util-ity function has many merits, although itsspecification can be elusive. The notion ofa utility function can become even moreelusive in large-scale applications of LP. Inthe following, we discuss four of the morecommon objectives for large-scale LPs un-der uncertainty:(1) Minimization of expected costs is byfar the most common objective used inlarge-scale optimization under uncer-tainty. For such applications as planningpower generation, average seasonal costper day reflects the repetitive cost of sup-plying electricity. For some applications intelecommunications systems, system per-formance is often measured in terms ofaverage unserved demand. Finally, inproduction-and-inventory systems, it iscommon to use average production andholding costs in evaluating the cost effec-tiveness of a system. For such systems, theexpected cost criterion is easily justified.(2) Minimization of expected absolute de-viations from goals is a class of objectivesthat results from extending goal-programming techniques to account foruncertainty. In some cases, it may be ad-vantageous to specify goals that dependupon particular scenarios. For example,production goals may depend upon eco-nomic factors that are modeled as uncer-tain quantities. Thus, the goals associated

with prosperous and recessionary timesmay be decidedly different. To meet suchmanagerial objectives under uncertainty, itmay be appropriate to minimize expectedabsolute deviations from set goals.(3) Vector optimization under uncertaintyis a class of models that generalize the sto-chastic goal-programming approach. Anexample of a multiobjective model wouldbe a traveler’s advisory system to recom-mend routes from origin to destination inTucson, Arizona. Because flash floods oc-cur during the monsoon season in Tucson,the advisory system must include low wa-ter level on the roads as one of the objec-tives. In addition, it should incorporate thetraditional objective of minimal traveltime. Because these objectives are essen-tially noncommensurate, it is appropriateto adopt the vector-optimization frame-work. Furthermore, since the route is to berecommended before a potential down-pour, water levels are random variables(as are travel times). This results in avector-optimization problem underuncertainty.(4) Minimization of maximum costs is analternate class of models. There are vari-ous interpretations of the term minimax instochastic-programming models. In one in-terpretation, no distributional informationis available, and all that is known is theset of possible outcomes. In this case, theminimax objective minimizes the maxi-mum loss among all possible outcomes ofthe random variable. A similar class ofproblems arises in the case of partial infor-mation regarding the probability distribu-tions. For instance, one may have informa-tion regarding some characteristics of thedistribution (for example, support, mean,

Page 6: An Introductory Tutorial on Stochastic Linear Programming

SEN, HIGLE

INTERFACES 29:2 38

and variance), and the set of probabilitymeasures of interest may be those thatshare those characteristics. A worst-caseapproach under partial information is onein which we choose a decision that mini-mizes maximum expected loss, regardlessof the distribution (from among the classwith the specified characteristics). Whenthe class of distributions can be character-ized as a polyhedral set, this class of prob-lems can be solved using generalized LP.This minimax approach is known to beconservative and may be appropriate inmodels that plan to avoid catastrophes.Thus, models associated with environmen-tal planning may appropriately use thisobjective [Pinter 1991].

In this tutorial, we discuss primarilymodels with the expected value objective.Two-Stage Recourse Models

In two-stage recourse models, we explic-itly classify the decision variables accord-ing to whether they are implemented be-fore or after an outcome of the randomvariable is observed. Decisions that are im-plemented before are known as first-stagedecisions while those after are second-stagedecisions. The first-stage decision variablescan be regarded as proactive and are oftenassociated with planning issues, such ascapacity expansion or aggregate produc-tion planning. Second-stage decision vari-ables can be regarded as reactive and areoften associated with operating decisions.These second-stage decisions allow us tomodel a response to the observed out-come, which constitutes our recourse.When outcomes are revealed sequentially,decision making involves a multistageplanning problem.

In recourse planning, we model a re-

sponse for each outcome of the randomelements that might be observed. In gen-eral, this response will also depend uponthe first-stage decisions. In practice, thistype of planning involves setting up poli-cies that will help the organization adaptto the revealed outcome. For example, inproduction and inventory systems, thefirst-stage decision might correspond toproduction quantities, and demand mightbe modeled using random variables.When demand exceeds the amount pro-duced, policy may dictate that customerdemand be backlogged at some cost. Thispolicy constitutes a recourse response. Theexact level of this response (the amountbacklogged) depends on the amounts pro-duced and demanded. Under uncertainty,it is essential to adopt initial policies thatwill accommodate alternative outcomes.Consequently, modeling under uncer-tainty requires that we incorporate amodel of the recourse policy.

In some applications, it is possible to de-viate from prescribed limits, although witha penalty cost. For example, in productionand inventory management, a backloggingpolicy leads to shortage costs wheneverthe demand exceeds the amount in stock.Such a policy is called a simple recoursepolicy, which we illustrate using the datafrom Example 1.Example 3: A Simple Recourse Model

Consider the data for Example 1 andsuppose that the variables (x1, x2, x3, x4)are all first-stage (planning) variables.Suppose that the recourse policy allowsone to compensate for second-stage dis-crepancies by incurring a penalty cost of 5per unit of deviation from the right-hand-side value 2. With this added flexibility,

Page 7: An Introductory Tutorial on Stochastic Linear Programming

STOCHASTIC LINEAR PROGRAMMING

March–April 1999 39

we revisit the issue of future infeasibilityunder uncertainty. The stochastic repre-sentation of Example 1 includes the con-straint (1),

a x ` a x ` x 4 2.21 1 22 2 4

We have already discussed the difficul-ties associated with satisfying this con-straint. In penalizing deviations from theprescribed value of 2, the model uses apenalty cost that is a function of the deci-sion vector (x1,. . ., x4), which is the ran-dom quantity

5|2 1 (a x ` a x ` x )|.21 1 22 2 4

Including the expected value of thispenalty cost in the objective function, wecan state the decision-making problem asfollows:

Minimize1 x2 ` 5E[|2 1 (a21x1 ` a22x2 ` x4)|]subject to x1 ` x2 ` x3 4 211 # x1 # 1xj > 0, j 4 2, 3, 4.

The main difference between this prob-lem and the expected-value LP in Example1 is that due to the simple recourse policy,first-stage decisions that do not satisfy (1)are still considered acceptable, albeit morecostly. Although this problem is stated asa nonlinear-programming problem, thosefamiliar with LP models will recognizethat E[|2 1 (a21x1 ` a22x2 ` x4)|] can bewritten as

1 1` 1 ` 1(y ` y ) ` (y ` y )1 1 2 22 2

where the nonnegative variables , , i` 1y yi i

4 1, 2 satisfy

3 ` 1x ` x ` x ` y 1 y 4 21 2 4 1 145 ` 113x ` x ` x ` y 1 y 4 21 2 4 2 24

as discussed by Murty [1983], for example.Thus, the model in Example 3 can be re-written as in LP1.

In this formulation, (x1,. . ., x4) are first-stage variables; they do not vary with theoutcome of (a21, a22). Instead, they are ap-plied against all outcomes. On the otherhand, there is a separate set of recoursevariables (y`, y1) for each outcome. Thismodel is one of simple recourse; for agiven level of the first-stage variables, theappropriate levels of the recourse vari-ables are trivially determined. Solving this

problem, we obtain ( , , , ) 4* * x* *x x x1 2 3 4

(0.2222, 1.7778, 0, 0.4444). This solutiondiffers from those obtained in Example 1,where we considered the LP with ex-pected values, and Example 2, where weconsidered the wait-and-see problem.

For a generic two-stage formulation un-der a simple recourse policy, we use anextension of the notation used in deter-ministic LP. The rows of a deterministicLP are usually written as Ax 4 b. Underuncertainty, we may think of a submatrixA1 (of A) and a subvector b1 (of b) as rowsthat contain only deterministic parameters.We refer to this portion of the problem asthe deterministic part. It corresponds to afirst stage of the problem. The remainingrows (containing at least one random ele-ment) will be indexed by the set R. We re-fer to ai as the ith row vector in A, and usea ; to reflect the presence of random vari-ables. Let gi . 0 denote the penalty costfor violating the target Then we canb .i

Page 8: An Introductory Tutorial on Stochastic Linear Programming

SEN, HIGLE

INTERFACES 29:2 40

Minimize

1x2 `5 `y12

`5 1y12

`5 `y22

`5 1y22

subject tox1 `x2 `x3 4 2

x1 ` x234

`x4 ` `y1 1 1y1 4 2

13x1 ` x254

`x4 ` `y2 1 1y2 4 2

11 # x1 # 1.All other variables are nonnegative.

LP1: Linear programming problem associated with Example 3.

state a prototypical model allowing a sim-ple recourse policy as follows:

Minimize cx ` giE[| 1 aix|]bo ii[R

subject to A1x 4 b1

L1 # x # U1.

This is an SLP with simple recourse. Insuch an SLP, the first-stage decision vari-ables (x) are the same as the decision vari-ables associated with the “parent” deter-ministic LP. Hence, the formulation is notflexible in its response to uncertainty.

Whenever the random vectors {(ai, b )}i i[R

are discrete random variables as in Exam-ple 2, this model can be rewritten as a lin-ear program as shown below. For i [ R,let Si denote an index set of all outcomesof the random vector {(ai, and let pis 4b )}i

P{(ai, 4 (ais, bis)}.b )i

Minimize cx ` pis( `` 1g y y )o i o is is1 2i[R s[Si

subject to A1x 4 b1

aisx ` 1 4 bis ∀ s [ Si ∀ i [ R.` 1y yis is

L1 # x # U1.

In this formulation, the penalty cost perunit is the same whether ai(x) 1 is posi-bi

tive or negative. In some applications, thecost may be nonzero only in one of these

two cases. More generally, the per unitcost of 1 aix may be for positive val-`b gi i

ues (of this random variable) and for1gi

negative values. In this case, the costsused for compensating variables ( , )` 1y yi i

are and and the objective function` 1g gi i

must be changed to reflect this.Finally, in stating the SLP with simple

recourse, we have assumed that the upperand lower bounds are not subject to uncer-tainty. In some situations, these boundsmay be random. Suppose, for example,that the upper bounds reflect capacity re-strictions. When systems fail, such capac-ity limits may be modeled as random vari-ables. Assuming a simple recourse policy,we can easily extend the statement of themodel to include this situation.

While the simple recourse policy offersa notion of feasibility for first-stage plans,the recourse actions themselves are quitelimited. For example, in a production-and-inventory system that is experiencingshortages, a simple recourse policy is onethat simply allows the manufacturer toadopt an outsourcing option. A more gen-eral recourse policy would allow changesin production rates, thus allowing greaterflexibility. Under uncertainty, greater flexi-

Page 9: An Introductory Tutorial on Stochastic Linear Programming

STOCHASTIC LINEAR PROGRAMMING

March–April 1999 41

Minimize1 x21

12

1 x2212

subject to x1 `x21 `x31 4 2x1

` x2134

`x41 4 2

x1 `x22 `x32 4 2

13x1` x22

54

`x42 4 2.

11 # x1 #1All other variables are nonnegative.

LP2: Linear programming problem for the two-stage program with general recourse.

bility translates into greater responsive-ness and greater profitability.Example 4: A General Recourse Model

Consider the situation described in Ex-ample 1 with the following modification: itis now possible to postpone decisions re-garding x2, x3, and x4 until after an out-come of the random variable is observed.Thus the only first-stage variable is x1,which must be implemented right away.This greater flexibility leads to greater prof-its, as shown below. To formulate thedecision-making problem, we will con-tinue to assume that minimizing expectedcost is an appropriate objective.

Since x2, x3, and x4 are implemented af-ter an outcome is observed, we define oneset of second-stage (recourse) variables foreach outcome. Thus let (x21, x31, x41) de-note the second-stage (recourse) variableswhen the outcome is (1, 3/4) and let (x22,x32, x42) denote the recourse variableswhen the outcome is (13, 5/4). Recallingthat each outcome occurs with probability1/2, we can formulate the two-stage pro-gram with general recourse as in LP2.

Because of the added flexibility of ourrecourse policy, this model need not in-

clude penalty costs for infeasibility. Anoptimal solution for this problem is x1 4

0.1176, while x21 4 x22 4 1.8824, x41 4

0.4706, and all other variables are zero.The cost-effectiveness of this flexibility isreflected in the optimal values of the gen-eral and simple recourse problems. Theoptimal value for the general recourseproblem is 11.8824, which is better thanthe optimal value obtained for the simplerecourse case discussed in Example 2,11.7772. Because of the added flexibilityof our recourse policy, this particularmodel need not include penalty costs forinfeasibility.

As with the formulation of a simple re-course model, we will present the generalrecourse formulation as an extension of anLP problem:

Minimize cxsubject to Ax 4 bL # x # U.

Suppose that the decision maker speci-fies a subvector of x, say x1, as the first-stage decision variables. As in Example 3,these variables cannot be postponed untilbetter information is available. The re-

Page 10: An Introductory Tutorial on Stochastic Linear Programming

SEN, HIGLE

INTERFACES 29:2 42

maining variables, say x2, can be post-poned. Naturally, with this temporal divi-sion of the problem, two types ofconstraints arise: constraints that involveonly the first-stage variables (x1), and con-straints that may involve both sets of vari-ables. Thus, it is convenient to think of asubmatrix A1 (of A) and a subvector b1 (ofb) yielding a subset of the constraints, A1x1

4 b1. The remaining constraints involve x1

and x2, which we write as Bx1 ` A2x2 4

b2. Finally, the cost vector c is partitionedas (c1, c2) so that we may rewrite the for-mulation as

Minimize c1x1 ` c2x2

subject to A1x1 4 b1

Bx1 ` A2x2 4 b2

L1 # x1 # U1, L2 # x2 # U2.

It is convenient to think of this deter-ministic LP as the “core” problem fromwhich the stochastic LP will be derived. Itmodels the time-staged dynamics of theinteractions among the decision variables.

The constraints A1x1 4 b1 include theimmediate constraints, those that involveonly the variables that cannot be delayed.As such, there are no random variables inthe immediate data (c1, A1, b1). The ran-dom variables appear in the second stageof the problem, which includes the vari-ables x2 and can be postponed until theuncertainties are realized. Thus, we con-sider the second-stage data to include ran-dom variables, so that we express them as(c2, B, a2, (here, we use ; to indicate ab )2

random entity).To formulate the stochastic LP, let S de-

note an index set of all possible outcomesof the second-stage quantities (B, a2, c2, b )2

such that each s [ S corresponds to a

unique realization of these quantities (Bs,A2s, c2s, b2s). If S is a discrete set, then for

each s [ S, let ps 4 P{(B, a2, c2, ) 4 (Bs,b2

A2s, c2s, b2s)}. Also, let x2s denote the re-course response associated with scenario s.

The two-stage program with general re-course may now be written as follows:

Minimize c x ` p c x (2)1 1 o s 2s 2ss[S

subject to A1x1 4 b1

B x ` A x 4 b ∀s [ Ss 1 2s 2s 2s

L # x # U , L # x # U ∀s [ S. (3)1 1 1 2 2s 2

This formulation is unlike the simple re-course formulation, in that some (or per-haps all) choices of x1 that satisfy (2) canrender (3) infeasible for some scenarios. Itis possible to include compensating vari-ables (with positive penalty costs) to en-sure that the resulting problem is feasible.Furthermore, it can be shown that this ex-tended formulation always has a loweroptimal value than a formulation in whichthe decision maker restricts all decisionvariables in x (the vector from the deter-ministic LP) to be first-stage decisions andonly a simple recourse policy is allowed inthe second stage.

The stochastic program with general re-course is also referred to as a problemwith random recourse, since the matricesA2s are allowed to depend on the outcomes [ S. However, since the term random re-course might be misconstrued as a case inwhich the decision maker has no controlover the recourse policy, we use the termgeneral recourse. When the matrices A2s arethe same for all s [ S (that is, A2 is notrandom), the stochastic program is said tohave fixed recourse. Even in such cases, the

Page 11: An Introductory Tutorial on Stochastic Linear Programming

STOCHASTIC LINEAR PROGRAMMING

March–April 1999 43

random right-hand-side vector, causesb ,2

the recourse decision itself to vary with s,and hence the fixed-recourse formulationretains the variables x2s, s [ S. Finally, thespecial case of fixed recourse, in which A2s

4 [I, 1I] (where I denotes an identity ma-trix) yields the simple recourse model dis-cussed earlier.

A general recourse problem is said tohave complete recourse if for any choice ofx1, a feasible recourse decision is possiblefor all outcomes s [ S. The simple re-course formulation possesses complete re-course. A slightly less restrictive propertyis that of relatively complete recoursewhereby one requires that a feasible re-course decision be possible for all out-comes s provided the first-stage decision(x1) satisfies the first-stage constraints (A1x1

4 b1, L1 # x1 # U1). By using penaltycosts for deviations from constraint satis-faction, one can ensure complete recoursein any problem.

One of the more important notions in-corporated within a stochastic program-ming formulation is that of implementabil-ity (or nonanticipativity). This term reflectsthe requirement that under uncertainty,the planning decisions (x1) must be imple-mented before an outcome of the randomvariable is observed. That is, the planningdecision is made while the random vari-able is still unknown, and therefore it can-not be based on any particular outcome ofthe random variable. Thus the wait-and-see approach, which is anticipative, is notan appropriate decision-making frame-work for planning. On the other hand, thehere-and-now approach embodied in thetwo-stage SLP with general recourse pro-vides planning decisions (x1) that are not

dependent on any outcome of the randomvariable and hence are nonanticipative. Analternate statement of this requirement isgiven in the scenario formulation below:

Minimize p [c x ` c x ]o s 1 1s 2s 2ss[S

subject to A1x1s 4 b1 ∀s [ SBsx1s ` A2sx2s 4 b2s ∀s [ Sx1 1 x1s 4 0 ∀s [ S (4)L1 # x1s # U1, L2 # x2s # U2 ∀s [ S.

In this formulation, the variables x1s aredependent on the outcome s. However,constraint (4) explicitly enforces imple-mentability by requiring that all outcomesagree on the same planning decision x1.We can obtain a slightly more compactrepresentation of this formulation by re-quiring first A1x1 4 b1 and then requiring(4). By doing so, we avoid replicating thefirst set of constraints for each outcome.Both of these are equivalent representa-tions of the two-stage SLP with general re-course. The particular representation usedtypically depends on the algorithm beingused to solve the problem.

Note that the general recourse problemis a finite-dimensional linear programwhenever S is a finite set. However, when-ever the random variable is continuousthese formulations lead to infinite dimen-sional problems. Under these circum-stances, it is more convenient to state themodel in the following decomposed form:

Minimize cx1 ` ˜E[h(x )]1

subject to A1x1 # b1

L1 # x1 # U1

where each outcome hs(x) of the randomvariable is a function of the LP de-h(x)fined by the outcome (c2s, A2s, Bs, b2s) of

Page 12: An Introductory Tutorial on Stochastic Linear Programming

SEN, HIGLE

INTERFACES 29:2 44

the random variable (c2, a2, B, That is,b ).2

h (x ) 4 Minimize c x (5)s 1 2s 2s

subject to A2sx2s 4 b2s 1 Bsx1

L2 # x2s # U2.

This decomposed formulation is con-venient when the sample space S containseither a large number of atoms (in the caseof discrete random variables) or a contin-uum (in the case of continuous randomvariables). The function is referred˜E[h(x )]1

to as the recourse function. This formulationemphasizes the time-staged nature of thedecision problem. That is, the selection ofx1 is followed by the selection of x2, whichis undertaken in response to the scenariothat unfolds. Thus, the first decision, x1,represents the immediate commitmentmade, while the second decision is de-layed until additional information is ob-tained. For this reason, when solving a re-course problem, one typically reports onlythe first-stage decision vector.

Much of the difficulty associated withrecourse models may be traced to difficul-ties with evaluating and approximatingthe recourse function. In essence, the diffi-culty in solving the recourse problem maybe attributed to the evaluation of the ex-pectation of the random linear-programvalue function, which involves mul-h(x ),1

tidimensional integration. Notwithstand-ing the impracticality of the multidimen-sional integration of this particularfunction, the recourse function possessesone of the most sought-after properties inall of mathematical programming, namelyconvexity.

Theorem 1 [Wets 1974]: The recoursefunction, is convex over its effec-˜E[h(x )],1

tive domain D 4 {x [ X | , `}.˜E[h(x )]1

Although the recourse function is con-vex, it is not, in general, differentiable. It iswell known from LP theory that the valueof a linear program as a function of itsright-hand side is piecewise linear andconvex (when the LP is stated as a mini-mization problem). Hence every outcomeof is a piecewise linear function. It fol-h(•)lows that, if the number of outcomes ofthe random variable is finite, then ˜E[h(x )]1

is a convex combination of finitely manypiecewise linear functions and conse-quently piecewise linear. It is thereforeclear that for problems with discrete ran-dom variables, the recourse function ispiecewise linear and therefore nondiffer-entiable in general. Indeed conditions re-quired to ensure differentiability of therecourse function are quite stringent, re-quiring absolutely continuous randomvariables for all elements of the right-handside in (5) [Kall 1976].Scenario Construction

Each scenario corresponds to a particu-lar outcome of the random quantity (c2, a2,B, B2). It is largely a matter of notationalconvenience that we refer to these vectorsand matrices as being random. In mostcases, only a small number of the elementsare actually random; the rest are constant(that is, degenerate random variables). Inthe examples we’ve presented (Examples1-3), only two coefficients are random. Indefining the set of scenarios, it is necessaryto identify all possible outcomes of (c2, a2,B, B2). This is equivalent to identifying thevalues of those elements that are fixed andthe set of all possible outcomes of thoseelements that vary. In undertaking thislast task, it is important to note the dis-tinctions between models of dependent

Page 13: An Introductory Tutorial on Stochastic Linear Programming

STOCHASTIC LINEAR PROGRAMMING

March–April 1999 45

and independent random variables.From a modeling perspective, depen-

dence results when the random elementsare subject to a common influence and aremost easily described using joint distribu-tions. For example, in a hydroelectric-power-planning model, all hydrologicalreserves are influenced by the weather. Inwet years, reservoirs will tend to be full;in dry years they will tend toward lowerlevels. In such a case, it would be conven-ient to model wet periods and dry periods(or even multiple degrees of wet and dryperiods) and to specify the set of reservoirlevels that correspond to each type of pe-riod. By specifying the probability withwhich each type of period occurs, one ob-tains a joint distribution on the reservoirlevels.

Independent random variables resultwhen there is no apparent link betweenthe various elements. In this case, one canmost easily describe the random elementsindividually using marginal distributions.For example, in the telecommunication-network-planning example, the number ofcalls initiated between any pair of nodes isgenerally not influenced by the calls be-tween any other pair. Thus, one modelsthe pairwise demand as independent ran-dom variables using distributions appro-priate to the application. (For example, if itis reasonable to assume that calls arriveaccording to a Poisson process, then aPoisson distribution is appropriate.) In thiscase, a scenario identifies a value for eachrealization. With independent randomvariables, the set of all possible outcomesis the Cartesian product of the elementaloutcomes for each random variable. Theprobability associated with any given out-

come is the product of the correspondingmarginal probabilities. For example, ifthere are two random variables with fiveoutcomes each and one random variablewith four outcomes and the random vari-ables are independent, there are 5 2 5 2

4 4 100 possible scenarios being modeled.It is easy to see that with independent ran-dom variables, the number of possible sce-narios grows exponentially in the numberof random elements.Probabilistic Constraints

As discussed earlier, one of the mainconsequences of uncertainty within thecontext of decision making is the possibil-ity of infeasibility in the future. In two-stage recourse models, this issue is ad-dressed through the use of penalties in thesimple recourse model and by postponingsome decisions into the second stage inthe general recourse model. However, inthe general recourse model, we mighthave to resort to the introduction of somecompensating variables to eliminate thepossibility of second-stage infeasibility. Inany event, the recourse-based modelingphilosophy requires the decision maker toimpute a price to activities that are under-taken in response to the randomness. Insome applications, such as production-and-inventory models, these costs arestandard. However, in some situations itmay be more appropriate to accept thepossibility of infeasibility under some cir-cumstances, provided the probability ofthis event is restricted below a giventhreshold. For example, in power-generation planning, planners often spec-ify a loss-of-load probability (say one dayin 10,000) to ensure system reliability. Sim-ilarly, in planning emergency medical ser-

Page 14: An Introductory Tutorial on Stochastic Linear Programming

SEN, HIGLE

INTERFACES 29:2 46

vices, it is customary to plan for a grade ofservice based on the probability of an-swering a call within a prespecified timelimit. In such cases, there is an implicit ac-ceptance of the inability to meet system re-quirements at all times. Hence the systemis designed in such a way as to meet crite-ria most of the time. Such models lead tomathematical programs with probabilisticconstraints.

As with the recourse models, we canview this formulation as an extension ofdeterministic LP formulations. Supposethat the constraints of a deterministic LPare represented in the form Ax > b. Underuncertainty, suppose that we partitionthese constraints as inequalities that con-tain only deterministic parameters andthose that contain at least one randomvariable. The former (deterministic) con-straints will be denoted A1x > b1, and thelatter will be stated as a probabilistic con-straint as follows:

Minimize cxsubject to A1x > b1

P(A2x > ) > p,b2

L # x # U

where p [ (0, 1) denotes the reliabilitywith which the system is required tooperate.

The probabilistic constraint in this for-mulation is known as a joint probabilisticconstraint because there may be multipleinequalities in the system A2x > b2. In gen-eral, the set of points x that satisfy the con-straint may be nonconvex. However, whenthe matrix A2 is known with certainty,Prekopa [1971] provides conditions underwhich convexity (of the feasible set) isassured.

Theorem 2 [Prekopa 1971]: Suppose thatthe matrix A2 is deterministic, p [ (0, 1) isgiven, and the vector b2 has a log-concavemultivariate probability density function.

Then {x | P{A2x > } > p} is a convex set.b2

For the sake of completeness, we in-clude the following definition: A function fis said to be log-concave if for all k [ [0, 1]and z1, z2,

k 11kf[kz ` (1 1 k)z ] > f(z ) f(z ) .1 2 1 2

When A2 is fixed, the probabilisticallyconstrained model may be stated asfollows:

Minimize cxsubject to A1x > b1

A2x 1 z 4 0F(z) > p,L # x # U

where F(z) denotes the joint cumulativedistribution function of the right-hand-side vector, (that is, F(z) 4 P{ # z}).˜ ˜b b2 2

Prekopa [1989] has introduced a type ofpolynomial multivariate distribution func-tion that has a product form. This distribu-tion has been shown to be log-concaveand is particularly well suited for geomet-ric programming problems.

Next we illustrate a case in which aprobabilistic constraint leads to a noncon-vex feasible set.Example 5: Nonconvex Feasible Set inProbabilistically Constrained Problems

Consider the following problem:

Minimize x1 ` x2

subject to P(2x1 ` x2 > b ;1

x1 ` 2x2 > > 0.5,b )2

where and are dependent random˜ ˜b b1 2

Page 15: An Introductory Tutorial on Stochastic Linear Programming

STOCHASTIC LINEAR PROGRAMMING

March–April 1999 47

variables with joint probability mass func-tion given by

b1 b2 4 b1, 4 b2)˜ ˜P(b b1 2

0 1 0.51 0 0.5.

The feasible region for this example isshown in Figure 3. Clearly, this set is notconvex.

One of the early stochastic-programming models studied by Charnesand Cooper [1959] was based on multipleprobabilistic statements, such as P(a2ix >

b2i) > pi, where i is a row index. In someapplications, this notion of feasibility maybe appropriate. For example, in some ap-plications within telecommunications-network planning, analysts often specifythe grade of service for each type of cus-tomer. Hence the grade-of-service require-ment for each type of customer may bestated in the form of a single probabilisticconstraint. To ensure that a meaningfulmodel results, one must carefully capturethe various customers’ competition for thenetwork resources. For example, in addi-tion to the probabilistic constraints, onemay use a network-flow model to capturethe manner in which the network will beloaded and thus the potential for blockedcalls. In such cases, one can write probabi-listic constraints involving a single in-equality using the inverse of the cumula-tive distribution function.

Consider a single probabilistic con-

straint, in which is a one-dimensionalb2

random variable, the vector a2 is determin-istic, and we wish to satisfy

˜P(a x > b ) > p.2 2

Let F denote the cumulative distribution

function of and let Kp be chosen so thatb2

F(Kp) 4 p. The constraint P(a2x > > pb )2

can be written as F(a2x) > p, or equiva-lently, a2x > Kp.

Other special cases for which a probabi-listic constraint can be easily converted toa more standard type of constraint havebeen studied. Prekopa [1995] provides anexcellent summary of this subject. In clos-ing this section, we reiterate that probabil-istically constrained models and recoursemodels need not be treated as mutuallyexclusive approaches for modeling uncer-tainty. In certain applications, it is worth-while to combine the two approaches.Alternative Models

We have outlined the more popular ap-proaches in stochastic programming. Toextend the scope of stochastic program-ming models, researchers have proposedsome alternative models. We shall com-ment on these more recent approaches.Integrated Chance Constraints

Prekopa [1973] and Klein Haneveld[1986] have proposed models with so-called integrated chance constraints (ICC).ICCs can be thought of as offering a bal-ance between recourse models and chance(probabilistic) constraint models. That is,ICCs can be used to constrain the expectedor average behavior of some phenomena.In contrast to probabilistic constraints,which are interpreted as imposing reliabil-ity requirements, ICCs may be used toconstrain availability, average perfor-mance, and other similar measures. One ofthe main advantages of this approach isthat, unlike probabilistically constrainedmodels that may result in nonconvex fea-sible sets, models based on ICCs are oftenconvex.

Page 16: An Introductory Tutorial on Stochastic Linear Programming

SEN, HIGLE

INTERFACES 29:2 48

Figure 3: This is an illustration of the feasible region for Example 5. The shaded region depictsthe set of points that satisfy the probabilistic constraint. The lack of convexity is readily appar-ent.

To motivate the discussion, consider asituation in which a target “budget” b [ 5

is given, and the “cost” associated withplan x is given by the random variable cx.A probabilistic constraint that restricts’ theprobability of exceeding the budget to beat most 1 1 p may be written as

P{cx # b} > p.

That is, cost overruns may be permissiblein extraordinary circumstances. This canbe represented using an ICC by restrictingthe long-term-cost overrun to be at mosta:

E[Max {cx 1 b, 0}] # a.

While Klein Haneveld focuses on linearconstraints whose coefficients or right-

hand sides are random, some of his resultsmay be extended to convex functions,whose parameters may be random vari-ables. A particularly relevant convex func-tion that arises in stochastic programmingis the recourse function, and it gives riseto models that can be called recourse con-strained models. To understand this classof models, recall that in a standard two-stage stochastic program with recourse thefirst-stage decision often denotes a strate-gic plan, while the recourse function asso-ciated with the second stage denotes theexpected cost of future operations. Suchrecourse models do not explicitly ac-knowledge a decision maker’s attitude to-ward variability in costs associated withthe second stage. For example, in acapacity-planning study for a large auto-

Page 17: An Introductory Tutorial on Stochastic Linear Programming

STOCHASTIC LINEAR PROGRAMMING

March–April 1999 49

mobile manufacturer, Eppen, Martin, andSchrage [1989] initially studied a puretwo-stage stochastic program with re-course. In this application, denoted thel(x)amount of lost revenue associated withcapacity plan x, which varied by scenarioand thus was a random quantity. The ini-tial application of stochastic programmingused the term in the objective func-˜E[l(x)]tion, which resulted in a two-stage sto-chastic linear program with recourse. Anexamination of the results of this modelrevealed that the minimization of expectedlosses yielded inadequate solutions. Therewas a clear need to guide the choice of ca-pacity plans toward those that held lostrevenues below a given target, b. To con-strain the downside risk, Eppen, Martin,and Schrage [1989] used a recourse-constrained model to successfully restrictthe decision space to plans that would beconsidered acceptable. Higle and Sen[1995] discuss statistical algorithms for thisclass of problems.Robust OptimizationStochastic programming has had severalsuccesses in portfolio-planning models[Carino et al. 1994; Kusy and Ziemba1986]. While these models optimize anexpected-value criterion, they often in-clude constraints on downside risk thatcan be modeled using convex functions[Carino et al. 1994; Dembo 1989]. How-ever, financial planners are often inclinedto model variance as a measure of risk.This approach has its roots in Markowitz[1959], which was based on such assump-tions as normally distributed returns.While these assumptions may not neces-sarily hold in some applications, decision

makers often wish to investigate trade-offsbetween means and variances of costs (orprofits) associated with their decisions.

In an attempt to model such trade-offs,Mulvey, Vanderbei, and Zenios [1995]propose a model referred to as the robustoptimization (RO) model. Assuming thatthe random variable is discrete, they sug-gest that an apparent mean-variance typeof model may be stated as follows:

Minimize c1x1 ` pszs ` h ps(zs 1 z)2o os[S s[S

subject to A1x1 4 b1

Bsx1 ` A2sx2s 4 b2s ∀s [ Sc2sx2s 4 zs

pszs 4 zos[S

L1 # x1 # U1, L2 # x2s # U2 ∀s [ S.

In this formulation, the parameter h . 0may be interpreted as the weight assignedto the variance of the random variable zwhose outcomes are {zs}, each occurringwith probability {ps}. It is typically in-tended as a measure of the decision mak-ers’ aversion to objective function variabil-ity. A solution to this formulation dependson the choice of h and the units used inthe formulation. While it is reminiscent ofthe Markowitz mean-variance portfolio-optimization model, we caution that theobjective differs from the more appropri-ate objective

˜ ˜Minimize c x ` E[h(x )] ` hVar[h(x )].1 1 1 1

As in previous sections, denotes ah(x )1

random variable representing the cost ofthe optimal second-stage response. Thediscrepancy between the two models is at-tributed to the fact that zs need not reflectthe optimal second-stage cost for scenario

Page 18: An Introductory Tutorial on Stochastic Linear Programming

SEN, HIGLE

INTERFACES 29:2 50

2nd-Stage Solutions

Robust Least Cost

x21 26 (26) 26 (26)x22 10.5 (21) 2.5 (5)expected cost 21.5 7.1variance 2.25 39.69Table 1: Output from robust and least-costmodels.

s. That is, the random variables z and hneed not be identical. Once an outcome ofthe random variable has been revealed,the appropriate response in the secondstage is one that yields the least cost.Hence because z is generally differentfrom the RO model paints a misleadingh,picture of the variance of the second-stageobjective. The following example illus-trates this discrepancy.Example 6: A Comparison of the Robustand Mean-Variance Models

Consider a two-stage problem in whichthe first-stage decision is to be chosen inthe range 0 # x1 # 10 with c1 4 16. Sup-pose that the second-stage data are uncer-tain, with scenarios described as follows:For scenario 1, p1 4 0.1 and c21 4 1, A21

4 11, B1 4 3, b21 4 4, so that the con-straint is an inequality of the form 3x1 1 x21

# 4. The cost-minimizing response is x21

4 Maximize {0, 3x1 1 4}. For scenario 2, p2

4 0.9 and c22 4 2, A22 4 12, B2 4 1, b22

4 5, so that the constraint is an inequalityof the form x1 1 2x22 # 5. As in scenario1, the form of the cost-minimizing re-sponse is x22 4 Maximize {0, 0.5x1 1 2.5}.

With these data and h 4 1, we solve therobust optimization model and obtain x1

4 10, x21 4 26, and x22 4 10.5. In this so-lution, x21 is a cost-minimizing value, al-

though x22 is not. Table 1 summarizes thefailure of the RO model to achieve costminimization.

The data in Table 1 illustrate the dra-matic differences between the second-stage response assumed by the RO modeland the least-cost second-stage response.For example, when x1 4 10, x21 is thesame in both cases. However, x22 variesdramatically between the two models. TheRO model uses the suboptimal response x22

4 10.5. This artificially increases the costof scenario 2 to bring it closer to that ofscenario 1, thereby providing the appear-ance of less variability. In our example, theineffiency induced by the RO model re-sults in a cost increase of more than 400percent for the most likely scenario!

For the given value of the first-stagevariable, x1, the robust model yieldssecond-stage costs that are at least as largeas those produced by the least-cost model,with probability one. That is, the least-costresponses, which one obtains from re-course models, dominate the responsesfrom the RO model. This is always thecase for the RO model, which provides astrong argument against its use.

To further illustrate the pitfalls associ-ated with the RO model, we solve themean-variance problem with h 4 1 and

obtain 4 and 4 14.5 and1o* *x 6 x1 216

. The mean and variance of )7o ˜* *x 4 h(x22 112

are 2.45 and 15.8, respectively. Thus, wesee that the solutions obtained from theso-called robust models are, in general,structurally unrelated to the solutions ob-tained from the mean-variance recoursemodel and are dominated by the solutionsobtained from the least-cost model.

Page 19: An Introductory Tutorial on Stochastic Linear Programming

STOCHASTIC LINEAR PROGRAMMING

March–April 1999 51

Multistage Recourse ModelsWith two-stage recourse models, all un-

certainties are resolved when the second-stage decision is made. However, in manydecision-making problems, observations ofthe random variables are revealed sequen-tially over time, and decisions are madeover multiple periods. For example, inproduction-and-inventory problems, fore-casted demands are eventually replacedby firm orders, so that production deci-sions are made in anticipation of currentand future demands. More generally,long-range planning is a multistage deci-sion process in which resources are com-mitted over time, and the goal is to pro-vide a smooth transition into the future.Such applications lead very naturally tomultistage recourse models. Multistagemodels have the advantage of a long-range outlook, which avoids myopicchoices in the first period. An importantbyproduct of this planning process is thegeneration of recourse plans for alterna-tive scenarios in the future. From an orga-nizational viewpoint, this permits greaterresponsiveness at lower cost.

A key feature of multistage models isthe evolution of the random phenomenaover time. That is, the decision problemfaced in a given period, t, can vary dra-matically, depending on the outcomes re-alized in previous periods. For example, ina hydroelectric-power-planning problem,rainfall may be correlated across time pe-riods. In addition, decisions made in oneperiod can influence the options availablein future periods. Finally, at any giventime, planning decisions made under dryconditions vary dramatically from thosemade under wet conditions. It is therefore

important to adopt a modeling frameworkthat reflects this interperiod dependenceamong the random elements and the deci-sions made.

As with the two-stage models, we beginwith a generic multistage linear program.In the following, T denotes the number ofstages being modeled, xt denotes a deci-sion vector in stage t, and so forth.

T

Minimize c xo t tt41

subject to A1x1 4 b1t11

B x ` A x 4 b t [ {2, 3, . . ., T}.o kt k t t tk41

L # x # U t [ {1, 2, . . ., T}.t t t

In this formulation, a variable xt may ap-pear in any of the constraints associatedwith stage t, t ` 1, . . ., T, but it does notappear prior to stage t.

As in the two-stage models, c1, A1, b1, L1,and U1 correspond to the immediate deci-sion x1 and thus are not subject to uncer-tainty. In general, the remaining data ele-ments may contain random variables.Moreover, these random variables gener-ally depend on the values of random vari-ables that precede them. For this reason, itis often convenient to depict the scenariosusing a tree, in which the outcomes in onestage branch out from the outcomes in theprevious stage (Figure 4).

Each complete path through this tree isknown as a scenario, and thus this struc-ture is known as a scenario tree. In Figure4, there are eight scenarios, correspondingto the terminal nodes, which evolve overthree stages. In general, the evolution ofthe scenarios needn’t be balanced; some

Page 20: An Introductory Tutorial on Stochastic Linear Programming

SEN, HIGLE

INTERFACES 29:2 52

Figure 4: The scenario tree is a useful mechanism for depicting the manner in which eventsmay unfold. It can also be used to guide the formulation of a multistage SLP model.

scenarios might be completed before oth-ers. For this reason, it is convenient to in-dex the nodes of the tree, a, b, c, . . ., asdepicted. Of course, each node has a cor-responding stage index (for example, nodec appears in the second stage), so that onecan recover stage information easily ifnecessary.

The scenario tree provides a convenient

mechanism for formulating multistage re-course problems. With the evolution oftime, outcomes are revealed sequentially,and one can trace a sample path throughthe tree, as indicated by the bold line inFigure 4. An underlying tree structure ex-ists even when one uses continuous ran-dom variables. However, in this case, thebranches span a continuum, rather than

Page 21: An Introductory Tutorial on Stochastic Linear Programming

STOCHASTIC LINEAR PROGRAMMING

March–April 1999 53

discrete points as in Figure 4. The set ofnodes of the scenario tree will be denoted1. With each node n [ 1, S(n) , 1 de-notes the set of nodes that are immediatesuccessors to n. We will refer to a node s

as being reachable from node n if a samplepath exists on which node n precedesnode s. Associated with each node n is Pn,which denotes the probability of reachingnode n, as well as the decision vector xn,which denotes the action that will beadopted if the sample path passes throughnode n. Furthermore, with each node n,we will associate constraints that will be inforce if a sample path passes through thatnode. The rows corresponding to thisnode may be referenced by the name rn.The constraint matrix (input/output ma-trix) corresponding to node n will be de-noted An. Furthermore, if a decision xn hasan impact on constraints for a node s thatis reachable from node n, then I/O coeffi-cients reflecting this impact will be de-noted by the matrix Bn,s.

We may now formulate the LP by fol-lowing the paths of the scenario tree. Foreach node n, the variable xn has an objec-tive row coefficient given by Pncn. In addi-tion, the matrix An and right-hand-sidevector bn appear in rows referenced by rn,and Bn,s appears in rows referenced by rs,where node s is reachable from node n.

In general, we can formulate this prob-lem in a manner that is analogous to thetwo-stage SLP with general recourse asfollows:

Minimize Pncnxnon[1

subject to Bsnxs ` Anxn 4 bnos[R(n)

∀ n [1

Ln # xn # Un.

where R(n) , 1 denotes the set of nodesfrom which node n is reachable.

Because the LP formulation of the multi-stage problem grows so rapidly, peoplecommonly use decomposition techniquesto solve multistage recourse problems.These techniques frequently begin with arestatement of the problem. We discusstwo alternative forms below.A Recursive Formulation on a ScenarioTree

This formulation is amenable to compu-tations that combine dynamic-programming-based recursive calculations.To simplify the notation, we state the fol-lowing recursive formulation under theassumption that Bn,s is nonzero only if s [

S(n) (that is, s is an immediate successor ofn). With this assumption we simplify thenotation by writing Bs [ Bn,s. The problemthat resides at node n may be stated as

hn(xl(n)) 4 Minimize cnxn ` E[hs(n)(xn)]subject to Anxn 4 bn 1 Bnxl(n)

Ln # xn # Un

where l(n) denotes the immediate prede-cessor to node n on the path from 1 to nand s(n) is a random variable that denotesa successor of node n. If s is a successor tonode n, then P(s(n) 4 s) is simply the con-ditional probability that node s is reached,given that node n is reached, which is pro-portional to Ps.

In this formulation, which is analogousto the decomposed formulation of thetwo-stage SLP with general recourse, thesuccessor to a node on the scenario tree isa random variable, s(n). With the rootnode designated as node 1, the master

Page 22: An Introductory Tutorial on Stochastic Linear Programming

SEN, HIGLE

INTERFACES 29:2 54

problem may be stated as follows:

Minimize c1x1 ` E[hs(1)(x1)]subject to A1x1 4 b1

L1 # x1 # U1.

Although this formulation is stated inthe form of a decision-making problem ona tree, it can also be stated in a recursivemanner using time as the index overwhich the recursion is performed. How-ever, since this form provides no addedinsights, we omit this alternate form.A Scenario Formulation

One of the more important issues inmultistage models is the notion of imple-mentability. Since information is revealedsequentially, two or more scenarios mayshare a common sequence of outcomes forthe first k periods (k , T, where T denotesthe number of periods). For example, sce-narios 1 and 2, which correspond to thepaths a-b-d-h and a-b-d-i in Figure 4, havethe same sequence of outcomes in the firsttwo periods (that is, a-b, b-d) and hencethese two scenarios are indistinguishableuntil the third period. To maintain imple-mentability, the decisions associated withthese two scenarios must be identical inthe first two periods. In general, if twoscenarios share the same sequence ofnodes during the first k periods, theyshare the same information base duringthese periods, and consequently, decisionsassociated with such scenarios must beidentical through period k. This require-ment is known as the implementability (ornonanticipativity) condition. The formula-tion on the tree honors this requirementimplicitly.

The scenario formulation of the two-stage SLP with general recourse includes a

statement of the implementability require-ment for two-stage problems as (4). To de-velop an analogous formulation for multi-stage problems, recall that with each noden, we associate the decision vector xn. Theset of scenarios passing through node nwill be denoted Sn. Let denote theT{y }ts t41

sequence of decisions associated with sce-nario s, where t denotes a stage in the de-cision problem. The implementability re-quirement may be imposed on theplanning variables by the following con-straint in which t(n) represents the stage inwhich node n appears:

x 1 y 4 0 ∀s [ S .n t(n),s n

There are alternative (equivalent) ways tostate this, and the choice depends largelyon the choice of the solution algorithm (forexample, Rockafellar and Wets [1991]).

One of the advantages of stating the im-plementability restrictions explicitly in themodel is that every scenario can be treatedindependently, with coordination beingprovided through the implementibilityconstraints. Hence what remains to bestated is the deterministic dynamic formu-lation for each scenario s. For each sce-nario s, let (cts, {Bkts}k,t, Ats, bts) denote thevectors and matrices that are associatedwith s, and let denote the decisionT{y }ts t41

vectors associated with each period underscenario s. Let ps denote the probabilitythat scenario s occurs. The multistageformulation may be stated as fol-lows:

Minimize ps [c1y1s ` ctsyts]o os[S t

subject to A1y1s 4 b1 ∀s [ S` Atsyts 4 btsB yo kts ks

k,t

Page 23: An Introductory Tutorial on Stochastic Linear Programming

STOCHASTIC LINEAR PROGRAMMING

March–April 1999 55

t [ {2, . . ., T}, s [ Sxn 1 yt(n),s 4 0 ∀ s [ S(n), ∀ n [ 1

Lts # yts # Uts, t [ {1, . . ., T}, s [ S.

This multistage scenario formulation is astraightforward extension of the two-stagescenario formulation. The main differenceis that the implementability restrictions forthe multistage problem are somewhatmore complicated than those for the two-stage problem.Applications

In the past few years, there have beennumerous applications of models of thetype we have discussed. We won’t surveythese applications. Instead, we describeone application from each of the maintypes of models we have discussed:simple-recourse, general-recourse, proba-bilistically constrained, and multistage-recourse models. With these applications,we shall try to span a variety of settings inwhich SLP has been applied effectively.We describe models for airline-yield man-agement, telecommunications-networkplanning, flood control, and production-and-inventory planning.A Simple-Recourse Formulation forAirline Yield Management

One of the earliest applications of sto-chastic programming discussed in the lit-erature is the aircraft-allocation problem[Ferguson and Dantzig 1956]. More re-cently, the simple-recourse approach hasbeen applied to yield-management prob-lems in the airline industry. In the contextof this application, the formulation issometimes referred to as the probabilisticnonlinear program (PNLP) [Williamson1992]. It turns out that the PNLP approachdoes not capture some of the important

practical considerations in yield manage-ment, and more effective SP approacheshave been developed. However, we re-strict our illustration to PNLP since a dis-cussion of extensions that allow a more re-alistic model would take us too far afield.

In the yield-management problem thatwe consider, passenger itineraries arecomprised of flight segments. The demandfor each itinerary is a random variable,and we wish to allocate flight-segment ca-pacities in such a way as to maximize theexpected value of the profit obtained. Foritinerary i, the demand random variable isdenoted If we let xi (a decision variable)d .idenote the allocation of capacity for itiner-ary i, then the number of passengersserved is given by Min{xi, If the valued }.i

(fare) associated with itinerary i is as-sumed to be known and is denoted vi,then the maximization of expected reve-nue may be written as

Maximize viE[Min{xi, d }].o ii

With each itinerary i, we associate anincidence vector Ai, which consists of asmany elements as there are flight seg-ments. If flight segment l is traveled bypassengers flying itinerary i, then the ele-ment ail 4 1; otherwise ail 4 0. Finally letb denote the vector of capacities for legs ofthe network. Assuming that one ignoresthe possibility of overbooking, the capac-ity constraint (in vector form) may bewritten as

Aixi # b.oi

To view the yield-management problemas a simple-recourse problem, consider the

Page 24: An Introductory Tutorial on Stochastic Linear Programming

SEN, HIGLE

INTERFACES 29:2 56

following formulation:

Maximize {vixi 1 E[hi(xi, d )]}o ii

subject to Aixi # boi

0 # xi, ∀i

where

hi(xi, di) 4 Minimize vi1zi

subject to 1 4 di 1 xi` 1z zi i

, > 0.` 1z zi i

With this statement, hi(xi, di) 4 viMax(0, xi

1 di). It follows that the objective function

vixi 1 E[hi(xi, di)]

4 vixi ` viE [Min(0, 1 xi)]di

4 viE[Min(xi, d )],i

as previously indicated.Since PNLP results in a simple recourse

problem, it follows that the resultingmodel is a convex separable program.While this is an attractive property, themodel itself is inadequate for reasons dis-cussed by Talluri and van Ryzin [1996].A General-Recourse Model forTelecommunications Network Planning

The general-recourse model fortelecommunications-network planning ispresented by Sen, Doverspike, andCosares [1994]. They developed the modelto design networks that provide private-line telecommunication services. Mediumto large corporations that need high speedand reliable communications for datatransfer, video conferencing, and so forthuse private lines. An example of a cus-tomer for private-line services is a broker-age company with its headquarters onWall Street and its research, financial-planning, and computing teams dispersed

throughout the country. Similarly, theFederal Aviation Authority uses private-line networks for interconnecting severalmajor airports.

The telecommunication network com-prises a collection of points (nodes) be-tween which requests for service (calls)arise. The network is connected by a col-lection of links. To satisfy a request forservice, the system must allocate capacity(bandwidth) over a series of links thatconnect the call origin and destination.Such a sequence is called a route. If noroutes have enough capacity available toaccommodate the request, it cannot beserved. The problem is to determine linkcapacities that minimize the expectednumber of unserved requests. Because ofbudgetary restrictions, the total capacityavailable for allocation among the variouslinks is constrained. This planning prob-lem lends itself to a natural two-stage pro-gression of decisions. That is, one mustdetermine the capacity of the links wellbefore the demand for service can beknown. Once the capacity decisions havebeen made, requests for service can berouted in a manner that allows efficientoperation of the network.

To formulate the problem, let the first-stage decision variables be defined as

xj 4 the amount of capacity to be added tothe jth link.

The parameters for the first stage are

n 4 the number of links that are to be con-sidered for capacity expansion,b 4 the total capacity that can be allocatedthroughout the network, and

4 the m dimensional random variabled

Page 25: An Introductory Tutorial on Stochastic Linear Programming

STOCHASTIC LINEAR PROGRAMMING

March–April 1999 57

that represents demands associated withthe m point-to-point pairs served by thenetwork.

With this notation, we summarize themodel as follows:

Minimize E[h(x, d)]

subject to # bn

xo jj41

x > 0.

The function h(x, d) represents the numberof unserved requests when the demandfor service is given by d and the capacityexpansion plan is denoted x. This functionis represented by the optimal value func-tion of a second-stage program. To definethis program, let

m 4 the number of point-to-point pairsserved by the network,R(i) 4 the set of routes that can be used toconnect point-to-point pair i,Air 4 an incidence vector in 5n whose jthelement is 1 if link j belongs to route r [

R(i), and is 0 otherwise, ande 4 is a vector in 5n of current (existing)link capacities.

The decision variables for the secondstage are as follows:

fir 4 the number of calls associated withpoint-to-point pair i that are served viaroute r [ R(i),si 4 the number of unserved requestsassociated with point-to-point pair i.

The network-flow model used to routecalls is

h(x, d) 4 Minimizem

so ii41

subject to Airfir # x ` eo oi r[R(i)

fir ` si 4 di i 4 1, . . ., mor[R(i)

f, s > 0.

Within this statement of the routing prob-lem, the first set of constraints ensures thatlink utilization does not exceed link capac-ity, while the second set of constraints en-sures that demand that cannot be routed iscounted as unserved.A Probabilistically Constrained Flood-Control Model

This model was first developed byPrekopa and Szantai [1978]. Simply stated,the problem is to determine reservoir ca-pacities to be used to control flooding thatmay occur as a result of random streaminputs. A unique feature of this model isthat it includes both a penalty cost (as insimple-recourse models) and probabilisticconstraints that impose limits on the prob-ability that the water level rises abovereservoir capacities. However, to focus thediscussion on probabilistic constraints, weneglect the penalty terms that appear inthe original formulation.LetJ 4 the number of reservoir sites in theriver basin (these sites are fixed),cj 4 the cost per unit of capacity ofreservoir j,uj 4 the maximum capacity of reservoir j,xj 4 the capacity of reservoir j (a decisionvariable), andI 4 the number of tributaries in the riverbasin.

The random variables are4 the amount of water input to tribu-ni

tary i [ I.The task of modeling floods is fairly in-

volved. In essence, Prekopa and Szantai

Page 26: An Introductory Tutorial on Stochastic Linear Programming

SEN, HIGLE

INTERFACES 29:2 58

assume that flooding occurs when thestream flow on a tributary exceeds its ca-pacity. Reservoirs can be used on certaintributaries to contain stream flow and pre-vent it from continuing to a downstreamlocation. This leads to a system of linearinequalities

˜T n # Rx,

which indicate that at each point of inter-est stream flow is contained. That is, T n

models accumulated upstream flows andRx models accumulated capacities. Thus, ifwe let p denote the desired reliability ofthe reservoir system, the following formu-lation results:

Minimize c xo j jj

subject to 0 #xj # uj j 4 1, . . ., J

P{T # Rx} > p.n

A Multistage Production-and-InventoryModel

This model is an extension of a deter-ministic process-selection model presentedby Johnson and Montgomery [1974, Exam-ple 4-11, pp. 243–244]. Within the model,each product can be produced by severalalternative processes. However, productdemand and resource availability aremodeled as random variables. The objec-tive is to minimize the expected produc-tion costs, including inventory and back-order costs, over multiple periods. Giventhe nature of inventory and back-orderquantities, a multistage model with simplerecourse results.

LetT 4 the number of time periods underconsideration,cijt 4 the per-unit production cost of prod-

uct i using process j in period t,aijk 4 the number of units of resource k re-quired to produce a unit of product i byusing process j,hit 4 the cost for each unit of product iheld in inventory at the end of period t,andpit 4 the cost for each unit of product i onback-order at the end of period t.

The uncertain parameters are thefollowing:

4 the demand for product i in period t;dit

dits denotes the value of associated withdit

scenario s.

4 the amount of resource k available inbkt

period t;

bkts denotes the value of of associatedbkt

with scenario s, andps 4 the probability with which scenario soccurs. Note that

ps 4 4 dits, 4 bikts, t 4 1,. . .,T}.˜ ˜P{d bit ikt

Finally, the decision variables are asfollows:Xijts 4 the number of units of product iproduced by process j in period t underscenario s, andIits 4 the inventory of product i in period tunder scenario s.

As time progresses, the collection of out-comes that may unfold can be organizedinto a scenario tree. In addition, a node nin the scenario tree corresponds to a par-ticular time period, t(n) and summarizes aunique unfolding of the random eventsfrom the initial period until period t(n). Toensure that the model yields solutions thatare implementable, one must ensure thatat any given time, scenarios that share acommon history are constrained to yield acommon production-and-inventory plan atthat time. Thus, let 1 denote the set ofnodes in the scenario tree. For each n [ 1,

Page 27: An Introductory Tutorial on Stochastic Linear Programming

STOCHASTIC LINEAR PROGRAMMING

March–April 1999 59

let S(n) 4 {s | s passes through node n}.The implementability constraints may bestated as follows:

Xijt(n)s 4 Yijn ∀ i, j, n and s [ S(n)Iit(n)s 4 Hin ∀ i, j, n and s [ S(n).

In this fashion, the variables {Yijn} and{Hin} represent the production-and-inventory plan associated with node n inthe scenario tree.

With the above parameters, the multi-stage stochastic model may be stated asfollows.

Minimize cijtXijts `p [o s os ijt

(hit ` pit )]` 1I Io its itsit

subject to aijkXijts # bkts ∀k, t, soij

1Iits ` Ii,t11,s ` Xijts 4 Dits ∀i, t, soj

Iits 1 ` 4 0 ∀i, t, s` 1I Iits its

Yijn 1 Xij,t(n),s 4 0 ∀s [ S(n), n [ 1

Hin 1 Iits 4 0 ∀s [ S(n), n [ 1

Xijts > 0, > 0, > 0 ∀ i, j, t, s.` 1I Iits its

Whenever the product demands aretreated as independent random variablesin such multiproduct models, the size ofthe scenario tree grows dramatically.However, if these demands are known todepend on some external parameters, suchas leading economic indicators (for exam-ple, interest rate), then one can make theformulation depend on a scenario tree as-sociated with the economic indicator. Forsome applications, such a tree may bemore manageable.Conclusions

As competition increases, we need mod-els that help hedge against future uncer-tainties. This need has sparked greater in-

terest in stochastic-programming modelsamong practitioners. Furthermore, suc-cesses with industrial applications (for ex-ample, those of Bellcore, General Motors,and Russell Financial Services) have moti-vated practitioners to include uncertaintywithin decision-making models.Assessing the Need for StochasticProgramming Models

The starting point for many stochastic-programming models is a linear-programming model. If some of the pa-rameters in an LP are uncertain and theLP appears to be fairly sensitive tochanges in these parameters, then it maybe appropriate to consider a stochastic-programming model. For example, con-sider a blending model that uses LP to rec-ommend how to produce a blend withspecific characteristics by combining dif-ferent types of ingredients (for example,types of crude oil or mineral ore). In someinstances, the contents of these ingredientsmay vary. If the optimal blend remainsrelatively unaffected within the range ofvariation, then one can justify the certaintyassumption of linear programming. Onthe other hand, if the variations cause theoptimal blend to vary substantially, then itmay be worth pursuing a stochastic-programming model. In such a case, onecan use LP sensitivity analysis for diag-nostic purposes and stochastic program-ming to obtain an optimal blend.

In many instances, one needs stochastic-programming models because of a paucityof information. Such a situation is likely toarise with the introduction of new prod-ucts or services. For example, a telecom-munications company that wants to pro-vide a call-tracing service in its regional

Page 28: An Introductory Tutorial on Stochastic Linear Programming

SEN, HIGLE

INTERFACES 29:2 60

area may try to obtain information on theusage of this new service in multipleways. It may look at usage data from asimilar demographic region in a differentpart of the country. It could also obtainsurrogate data from a computer simula-tion model. And finally, it could carry outa market survey or perform a test within asmall segment of the region. All of theseapproaches provide estimates of marketdemand for the new service, and they arelikely to be different. With a stochastic-programming model, the company can in-clude these alternative forecasts withinone decision-making model to produce amore robust plan.Data Requirements

Many of the data requirements forstochastic-linear-programming models aresimilar to those of linear-programmingmodels. The additional data in stochasticprogramming are needed to represent un-certainty. In some applications, one repre-sents uncertainty by subjectively assessingweights to assign to possible future sce-narios. In such cases, one can build thestochastic-programming model using fewscenarios and set up the model as a large-scale linear program. Such models are of-ten solved using off-the-shelf LP software.The case study (from GM) reported byEppen, Martin, and Schrage [1989] is sucha model. In many applications, however,econometric models and forecasting sys-tems provide detailed information regard-ing some of the random variables. Underthese circumstances, it is difficult to cap-ture the randomness via a handful of sce-narios. Nevertheless, it is advantageous tobe able to represent the uncertainty interms of only a few random variables, if

possible. As one might expect, a modelwith few random variables is easier to rep-resent for computational algorithms andmay be more amenable to exact solutionusing deterministically motivated algo-rithms, such as the method developed byRockafellar and Wets [1991]. In many in-stances, it may also be possible to derivedeterministic upper and lower bounds onthe value of the stochastic program, as inBirge [1982]. Nevertheless, one can easilyrun up against very large-scale stochastic-programming models for which determin-istic methods soon become inadequate. Insuch instances, sample-based algorithms,such as the stochastic decompositionmethod [Higle and Sen 1991], provide apractical solution approach.

For any of the approaches mentionedabove, data on the random variables areusually provided to the algorithms via theSMPS format developed by Birge et al.[1987]. This data format is based on theMPS format of mathematical-programming systems and provides a con-venient representation of random vari-ables in a stochastic-linear program. Amore recent framework for multistage sto-chastic programs is available within theOSL system marketed by IBM. Finally, thestochastic-programming community isworking toward an object-oriented stan-dard for representing this class of prob-lems. We expect it to develop such a stan-dard over the next several years.Acknowledgment

This work was supported in part byGrant No. NSF-DMII-9414680 from theNational Science Foundation.

ReferencesBirge, J. R. 1982, “The value of the stochastic

Page 29: An Introductory Tutorial on Stochastic Linear Programming

STOCHASTIC LINEAR PROGRAMMING

March–April 1999 61

solution in stochastic linear programs withfixed recourse,” Mathematical Programming,Vol. 24, No. 3, pp. 314–325.

Birge, J. R.; Dempster, M. A. H.; Gassmann,H. I.; Gunn, E. A.; King, A. J.; and Wallace,S. W. 1987, “A standard input format formultiperiod stochastic linear programs,”IIASA working paper, IIASA, Laxenburg,Austria.

Carino, D. R.; Kent, T.; Myers, D. H.; Stacy, C.;Sylvanus, M.; Turner, A.; Watanabe, K.; andZiemba, W. T. 1994, “The Russell-YasudaKasai model: An asset/liability model for aJapanese insurance company using multi-stage stochastic programming,” Interfaces,Vol. 24, No. 1, pp. 29–49.

Charnes, A. and Cooper, W. W. 1959, “Chanceconstrained programming,” Management Sci-ence, Vol. 6, No. 1, pp. 73–79.

Dembo, R. S. 1989, “Scenario optimization,”Technical report, Algorithmics, Inc., Toronto,Canada.

Eppen, G. D.; Martin, R. K.; and Schrage, L.1989, “A scenario approach to capacity plan-ning,” Operations Research, Vol. 37, No. 4, pp.517–527.

Ferguson, A. R. and Dantzig, G. B. 1956, “Theallocation of aircraft to routes,” ManagementScience, Vol. 3, No. 1, pp. 45–73.

Higle, J. L. and Sen, S. 1991, “Stochastic decom-position: An algorithm for two-stage linearprograms with recourse,” Mathematics ofOperations Research, Vol. 16, No. 3, pp. 650–669.

Higle, J. L. and Sen, S. 1995, “Recourse con-strained stochastic programs,” Annals ofOperations Research, Vol. 56, pp. 157–175.

Johnson, L. A. and Montgomery, D. C. 1974,Operations Research in Production Planning,Scheduling and Inventory Control, John Wileyand Sons, New York.

Kall, P. 1976, Stochastic Linear Programming,Springer-Verlag, Berlin.

Klein Haneveld, W. K. 1986, Duality in Stochas-tic Linear and Dynamic Programming, Lecturenotes in economics and mathematical sys-tems, No. 274, Springer-Verlag, Berlin.

Kusy, M. I. and Ziemba, W. T. 1986, “A bankasset and liability management model,”Operations Research, Vol. 34, No. 3, pp. 356–376.

Markowitz, H. 1959, Portfolio Selection, Yale

University Press, New Haven, Connecticut.Mulvey, J. M.; Vanderbei, R. J.; and Zenios, S.

1995, “Robust optimization of large scale sys-tems,” Operations Research, Vol. 43, No. 2, pp.264–281.

Murty, K. 1983, Linear Programming, John Wileyand Sons, New York.

Pinter, J. 1991, “Stochastic modeling and opti-mization for environmental management,”Annals of Operations Research, Vol. 31, pp.527–544.

Prekopa, A. 1971, “Logarithmic concave mea-sures with applications to stochastic pro-gramming,” Acta Scientifica Mathematica(Szeged), Vol. 32, No. 3, pp. 301–316.

Prekopa, A. 1973, “Contributions to the theoryof stochastic programming,” MathematicalProgramming, Vol. 4, No. 4, pp. 202–221.

Prekopa, A. 1989, “Numerical solution of prob-abilistic constrained programming prob-lems,” in Numerical Techniques for StochasticOptimization, Eds. Yu. Ermoliev and R. J-B.Wets, Springer-Verlag, Berlin, pp. 123–139.

Prekopa, A. 1995, Stochastic Programming, Klu-wer Academic Publishers, The Netherlands.

Prekopa, A. and Szantai, T. 1978, “Flood con-trol reservoir system design using stochasticprogramming,” Mathematical ProgrammingStudy 9, pp. 138–151.

Rockafellar, R. T. and Wets, R. J-B. 1991, “Sce-narios and policy aggregation in optimiza-tion under uncertainty,” Mathematics ofOperations Research, Vol. 16, No. 1, pp. 119–147.

Sen, S.; Doverspike, R. D.; and Cosares, S. 1994,“Network planning with random demand,”Telecommunications Systems, Vol. 3, No. 1, pp.11–30.

Talluri, K. and van Ryzin, G. 1996, “An analy-sis of bid-price controls for network revenuemanagement,” Technical report, ColumbiaUniversity, New York.

Wets, R. J-B. 1974, “Stochastic programs withfixed recourse: The equivalent deterministicprogram,” SIAM Review, Vol. 16, No. 3, pp.309–339.

Williamson, E. L. 1992, “Airline network seatcontrol,” PhD dissertation, MIT.