SOT FOR QUOTATIOS WITHOUT PERKISSIOK OF THE AUTHOR
DESIGN AND MPLEMENTATION OF A ETOCHASTIC
P R O G W M W G OPTMIZER WITH RECOURSE A h 9 TENDERS.
J .L. Nazareth
Working Papers are interim r e p o r t s on work of t h e I n t e r n a t i o n a l I n s t i t u t e f o r Applied Systems Analysis and h a v e r e c e i v e d oniy lim- ited review. Views o r opinions e x p r e s s e d h e r e i n d o n o t neces- s a r i l y r e p r e s e n t t h o s e of t h e I n s t i t u t e o r of i t s Nationa! Member Organizations.
INTERNATIONAL IYSTITUTE FOR APPLIED SYSTEgS ANALYSIS 2361 L a x e n b u r g , Austria
ABSTRACT
This p a p e r s e r v e s two purposes, t o which w e give equal emphasis.
F i r s t , it d e s c r i b e s a n optimization system f o r solving large-scale stochastic l i n e a r programs with simple (i.e. decision-free in t h e second s t a g e ) r e c o u r s e and s t o c h a s t i c right-hand-side elements. Second, i t is a study of t h e means whereby large-scale Mathematical Programming Systems may b e readily extended t o handle c e r t a i n forms of uncertainty, through post- optima! options akin t o sensitivity on p a r a m e t r i c analysis, which w e t e r m
" r e c o u r s e analysis". This l a t t e r theme (implicit throughout t h e p a p e r ) i s e x p l o r e 6 in a proselytizing manner, in t h e concluding section.
I t is a p l e a s u r e t o t h a n k Yichael S a u n d e r s f o r making MINOS 5.0 (and a n e a r l i e r version) a v a i l a b l e t o u s a n d f o r h i s v e r y helpful a d v i c e on i t s usage in t h i s c o n t e s t .
CONTENTS
1
.
Introduction2. Overview of t h e SPORT System 2 . 1 Problem
2 . 2 Algorithms 2.3 Implementation
3. Problem S e t u p a n d G e n e r a t i o n 3.1 Corefile
3.2 S t o c h a s t i c File 3.3 Control File
3.4 Implementation of Problem S e t u p 4. Specialized Setu:, a n d Solution
4 . 1 ISSRDD 4.2 BVSRDD 4.3 ELASTIC 4.4 MIYOS 5. Output P h a s e 6. Testing 7. Sportmanship 8. Availability
9. S t o c h a s t i c Programming with R e c o u r s e as a Form of
Post-Optimal Analysis in a Mathematical Programming System R e f e r e n c e s
DESIGN AND ELEXENTATION OF A STOCHASTIC PROGRAMMING OPTIMIZER WlTH RECOURSE AND TENDERS
J.L. Nazareth
1. Introduction
This p a p e r i s a sequel t o Nazareth and Wets [21] and s e r v e s two purposes, t o which w e give equal emphasis. First, i t d e s c r i b e s a n optimization system f o r solving a r e s t r i c t e d but important c l a s s of large-scale s t o c h a s t i c l i n e a r programs with r e c o u r s e . Second, i t i s a study and detailed illustration of t h e means whereby any large-scale Mathematical Programming System (MPS) designed f o r solving d e t e r - ministic l i n e a r programs, could b e readily extended t o handle some forms of uncer- tainty, in p a r t i c u l a r , via post-optimal analysis options. This latter theme (implicit throughout t h e p a p e r ) i s explored, in a proselytizing manner, in t h e concluding section.
The c l a s s of p r a c t i c a l s t o c h a s t i c l i n e a r programs with which w e are con- c e r n e d (termed C 1 problems in [21]) a r i s e as a n a t u r a l extension of t h e l i n e a r pro- gramming model as follows: given a l i n e a r program with matrix A , i t i s often t h e case t h a t some of t h e components of t h e right-hand-side (exogenous) v e c t o r of r e s o u r c e availability o r r e s o u r c e demand, are known only in probability and have been r e p l a c e d (in t h e deterministic LP formulation) by some expected value. W e s e e k t o extend t h i s l i n e a r program, using t h e r e c o u r s e formulation. Rows of A corresponding t o t h e s t o c h a s t i c right-hand-side are used t o define t h e technology matrix T (we follow t h e notation and terminology of [21]) and t h e remaining rows of A are used t o define t h e c o n s t r a i n t matrix A , both A and T being typically l a r g e , s p a r s e matrices. The r e c o u r s e i s assumed t o b e simple (i.e. decision-free in t h e second-stage problem) and specified in terms of c o s t s ( o r penalties) on s h o r t a g e and surplus. Furthermore, w e r e s t r i c t attention t o t h e case where e a c h component T h i s paper is a draft for Chapter 1 4 of Numerical Techniques for Stochastic C&timization
Roblems, Y . Ermoliev and RJ.-B. Wets, eds., Springer-Verlag, t o appear.
of t h e stochastic right-hand-side h a s a given d i s c r e t e probability distribution.
There are many applications f o r such a model, see Ziemba [Z?], and more complex stochastic l i n e a r programs with r e c o u r s e can sometimes b e solved by a n i t e r a t i v e discretization or sampling p r o c e d u r e involving definition and solution of a sequence of C1 problems.
The above considerations are very much in t h e background of o u r implementa- tion design, o u r choice of algorithms and of t h e more g e n e r a l issues which w e wish to discuss r e g a r d i n g t h e extension of conventional Mathematical Programming Sys- tems, so as to b e a b l e t o handle
at
least some forms of uncertainty. Our optimiza- tion system i s based primarily upon a version of Wolfe's generalized programming algorithm ( s e e Dantzig [4]) given in Nazareth and W e t s [21] Section 3.2.1 and, in more detail, in Nazareth [18]. I t a l s o includes a version of a n algorithm based upon bounded variables ( s e e Wets [25]) given in [21] Section 2.1 and, again in more detail, in [20]. Two simpler options, namely to solve a n initial l i n e a r program and to permit some of i t s c o n s t r a i n t s t o b e "elastic" are a l s o included t o help g e t a r e c o u r s e problem "off t h e ground." In our implementation (see Nazareth [I91 f o r a n overview of o u r o v e r a l l a p p r o a c h ) w e have utilized c u r r e n t mathematical pro- gramming technology f o r specifying t h e problem (using s t a n d a r d MPS conventions [14] for t h e LP portion and a suitable extension t o provide t h e added stochastic information), t o r e p r e s e n t t h e d a t a internally (in packed d a t a s t r u c t u r e s , s p a c e for which i s dynamically allocated within a work s t o r a g e a r r a y ) and to implement o u r solution s t r a t e g i e s (using a n efficient and numerically s t a b l e implementation of t h e simplex method, namely t h e MINOS System of Murtagh and S a u n d e r s [15], [16]).Finally, w e want o u r design to mesh as naturally as possible with c u r r e n t Mathematical Programming Systems. In p a r t i c u l a r , w e a r g u e in t h e concluding sec- tion of o u r p a p e r , t h a t t'recourse analysis" (simple recourse t o start off with, b u t a l s o more g e n e r a l forms of r e c o u r s e ) could b e provided as a post-optimal analysis option in any large-scale MPS, t o augment t h e options f o r p a r a m e t r i c and sensi- tivity analysis t h a t are now usually available.
2. Overview of the
SPORT System
2.1.
Problem
SPORT (pronounced SUPPORT) i s a n acronym f o r Stochastic R-ogramming Gptimizer with Recourse and Zknders. The c u r r e n t version solves large-scale sto- c h a s t i c programs with simple (decision-free in t h e second s t a g e ) r e c o u r s e and d i s c r e t e distribution of right-hand-side elements (termed C1 problems). The f o r - mal statement of such problems may be found in [21] ( s e e (1.1) through (1.3) where W
=
[I , -I ] and where t h e right-hand-side h (a) i s t h e only s t o c h a s t i c quantity, with a known d i s c r e t e distribution) and w e shall n o t r e p e a t h e r e . Instead, w e shall state t h e problem from t h e p e r s p e c t i v e emphasized in t h i s p a p e r , namely t h a t of a given l i n e a r program in which i n h e r e n t uncertainty in some of t h e right-hand-side (exogenous) elements i s t o b e more fully t a k e n i n t o account. Consider t h e r e f o r e t h e l i n e a r programminimize cz
s u b j e c t t o A z
=
d z 2 0where A i s a n m x n matrix (which i s generally l a r g e and s p a r s e ) . d i s a given m- v e c t o r and c is a given n - v e c t o r . Some of t h e elements of d which c o r r e s p o n d t o demands ( o r available r e s o u r c e s ) may b e , in r e a l i t y , only known in probability and defined in (2.1) by taking some e x p e c t e d value. F o r simplicity, let us suppose t h a t t h e corresponding "technology" c o n s t r a i n t s of (2.1) are t h e last m 2 c o n s t r a i n t s and l e t us denote them by Tz
= K ,
where T i s a n m 2 x n matrix. Let t h e remaining m c o n s t r a i n t s b e A x=
b where A i s a n m X n matrix and dI = [: .
A useful extension t o t h e LP model (2.1) i s t o permit t h e c o n s t r a i n t s Tz
= h
t o b e "elastic" (Tomlin [24]) by imposing a penalty q< on s h o r t a g e in t h e i t h technol- ogy c o n s t r a i n t when demand (corresponding t o t h e right-hand-side element6
)e x c e e d s t h e supply (Tz),, s o t h a t y;
= Ef
-(%), 2 0. Similarly let qf- b e t h e penalty imposed on s u r p l u s (when t h e r e v e r s e of t h e e a r l i e r conditions holds) s o t h a t y,-=
(Tz),-Kf
2 0. (The choice of notation q< f o r s h o r t a g e and q,- f o r s u r p l u s i s a l i t t l e unfortunate, b u t i s now s t a n d a r d . ) Thus associated with t h e deci- sion z f o r t h e ''first-stage" o r decision variables, w e h a v e a penalty of- I
qi+(Kf -(%),) when (K, -(Tz),)r
04 ( z 1 h f )
=
qf7(%), - h i ) when- (K,
-(TI),) S O .To minimize f i r s t s t a g e c o s t s and all penalty c o s t s w e c a n formulate t h e extension of (2.1) as a problem with "elastic" c o n s t r a i n t s as follows:
+ +
minimize c z
+
q y+
q -y -s u b j e c t t o h = b
RE
+ y + - y -=
jiz
2 0 , y + 2 0 , y - 2 0where q + and q - are m - v e c t o r s with components q: and qt- respectively.
Unfortunately (2.2) d o e s not a d d r e s s t h e uncertainty in t h e right-hand side v e c t o r , which s o f a r h a s been r e p l a c e d by
h.
One way t o a d d r e s s uncertainty i s t o compute t h e penalty c o s t associated with e a c hrealization
of t h e random v e c t o r h ( a ) . Let u s a l s o define t h e "tender" o r 'bill of goods" associated with a decisionz
byx =
RE. Thus w e h a v em e m e m e
Let
* ( X I
EC $<
( x i 9 hi ( a ) )= C
E a($<(x<
1 hi ( a ) )C *< (x< 1.
W e s e e k t ot =l t =l t =l
minimize t h e c o s t of t h e decision c z and t h e e x p e c t e d value of t h e penalty costs.
Thus we c a n formulate t h i s extension of (2.1) as m e
maximize c z
+
*t(xi
) t =ls u b j e c t t o Ax = b
=
- X=
0x
r o
For C 1 problems i t c a n b e r e a d i l y demonstrated (see, f o r example [ 2 5 ] , [ 2 0 ] ) t h a t
where stL and etL are defined from t h e probability distribution of hi (.). Let t h i s b e given by values hi l,ht 2,.
..
,h*, with htL S h i l l +1, with associated probabilities pi l , p t,..., psi.
Then, f o rl
= O,...,
kt0
where, by convention,
=
0 , qt=
(qi+ +qi-) > 0 andKi
i s t h e expected value ofi=1
h i ( o ) . Finally, using a theorem in [18], i t i s possible t o s t a t e (2.3) in a n e q u i v a l e n t form and in s o doing a l s o unify with (2.2) as follows:
me
minimize c z + q + y + + q - ~ - + ~ * ~ ( x ~ )
i =1 s u b j e c t t o
Az
T x + y + - y - - x
For j &
- h
w e obtain (2.2) since+(K)
i s then a constant t e r m . (2.5) i s a piecewise- l i n e a r s e p a r a b l e convex programming problem with which w e shall b e concerned henceforth. I t makes possible both convenient implementation of t h e algorithms which we employ and t h e various options t h a t w e provide, as discussed in t h e n e x t section.2.2 Algorithms
The system i s based primarily upon t h e Wolfe generalized programming a p p r o a c h as discussed in [21], Section 3.2.1. The p a r t i c u l a r algorithm imple- mented h e r e termed ILSRDD (Inner Linearization
-
Simple Recourse-
D i s c r e t e Dis- tribution) i s d e s c r i b e d , in detail, in [18]. The generalized programming a p p r o a c h was chosen because i t p r o v e d effective in e a r l i e r experimental versions (see [18]) and because of i t s potential applicability t o a wide c l a s s of s t o c h a s t i c programs (including problems with complete r e c o u r s e and problems with probabilistic con- s t r a i n t s , s e e [18]). We a l s o include a n a l t e r n a t i v e t o ILSRDD. This i s algorithm based upon problem redefinition and t h e introduction of bounded v a r i a b l e s given by Wets [25] and implemented in t h e simpler form given in Nazareth and Wets [20].The algorithm i s termed BVSRDD (Bounded Variables-Simple Recourse-Discrete Distribution). This a p p r o a c h i s much more limited in i t s r a n g e of possible applica- tion as w e have discussed in [21], but we include i t f o r t h e following reasons: (a) i t is v e r y convenient t o h a v e a second algorithm t h a t works on basically t h e same input as ILSRDD, f o r p u r p o s e s of comparisons of answers and validation of imple- mentation. Two identical answers on a p a r t i c u l a r problem from two different algo- rithms a r e r a t h e r comforting in t h i s world of u n c e r t a i n t y and although t h i s i s n o g u a r a n t e e of c o r r e c t n e s s , i t provides some indication t h a t a n e r r o r (if any) i s in t h e input d a t a o r i t s conversion into internal r e p r e s e n t a t i o n s . (b) A f a i r amount of e x p e r i e n c e h a s been accumulated with a n e a r l y implementation of t h i s method
for dense problems ( s e e Kallberg & Kusy [ I l l ) and a more advanced implementa- tion (which handles s p a r s i t y ) should b e available. (When t h e r e a r e relatively few points in e a c h distribution of h i ( . ) t h e n this may even b e a quite efficient way t o solve C1 problems. (c) The algorithm BVSRDD makes possible a simpler and more d i r e c t extension of a deterministic MPS when t h e aim i s only t o handle simple r e c o u r s e .
Two f u r t h e r options a r e provided in o r d e r to b e a b l e t o solve (2.5) with
x =
h-
(ELASTIC option) and in o r d e r t o solve a n initial l i n e a r program, equivalent to
-
-(2.5) with
x =
h , qif=
qi= -
(MINOS option). H e r e , denotes a n a r b i t r a r y right-hand-side v e c t o r . Both of t h e s e options a r e useful as preliminaries to t h e r e c o u r s e formulation.2.9 Implementation
From a p r a c t i c a l standpoint, t h e l i n e a r programs which w e want t o solve and extend a r e of t h e more g e n e r a l form:
minimize cz
where
I:] =
indicates t h a t c o n s t r a i n t s t a k e one of t h r e e possible forms and u and L are v e c t o r s of u p p e r and lower bounds. F u r t h e r m o r e , w e cannot usually e x p e c t t h e p a r t i t i o n A= 11
with technology rows T coming last in t h e matrix A . In gen- eral, rows of A and rows of T will b e interleaved in A . In addition, i t i s worthwhile t o explicitly include a s c a l e f a c t o r p to permit a weighting of t h e second-stage objective r e l a t i v e to t h e f i r s t ( s e e [18]). Thus t h e p r a c t i c a l problems which we s e e k t o solve, a r e derived from (2.5) and (2.6) and t a k e t h e formmi?
minimize c z
+
q +y ++
q -V -+
pqt
( x i ) i =1s u b j e c t to (Aai)z ( S
=
2 ) bi. q
T ~ ~ Z
+
:y-
yi-- x i = O ,
T i El-' L S Zs u ,
y + , Y - 2 0 .where A a i , ai E A defines t h e rows of A , T ~ ' , ri E
r
defines t h e rows of T , and A and rare index sets with1
Al = n i l ,I ri
= n i 2 (I A ( denotes t h e number of indices in A).Our system f o r solving r e c o u r s e problems of t h e form (2.7) h a s t h r e e main phases:
P h a s e 1 : Problem S e t u p and Generation P h a s e 2: Specialized S e t u p a n d Solution P h a s e 3: Output
This i s summarized in Figure 2.1. A design goal w a s t h a t all algorithms work on essentially t h e same input and e a c h ignore input d a t a t h a t i s only r e q u i r e d by t h e o t h e r s , e.g. t h e limit on t h e number of cycles, which i s only r e q u i r e d by ILSRDD. The input i s specified in t h e form of t h r e e files of information which are d e s c r i b e d in more detail in t h e n e x t section. All t h a t i s often n e c e s s a r y t o switch options i s t o change t h e algorithm c a r d in t h e "control" f i l e and check t h a t enough work s p a c e h a s been provided f o r various items. The Problem S e t u p and Genera- tion P h a s e r e s u l t s in t h e c r e a t i o n of two files r e q u i r e d by MINOS
-
t h e SPECS f i l e and t h e MPS file. The n e x t main p h a s e consists of reading in t h e s e files by MINOS, inserting additional columns into i t s packed d a t a s t r u c t u r e s and finding t h e solu- tion of t h e problem. Finally t h e Output P h a s e augments t h e solution output by MINOS with some additional information about t h e solution of t h e s t o c h a s t i c pro- gram with r e c o u r s e .The n e x t t h r e e sections go into t h i s in more detail.
3. Problem Setup and Generation
To b e specific, w e discuss t h i s within t h e c o n t e x t of a n example. Consider t h e following product-mix example (due t o J. Ho [lo]). The problem h a s two p r o d u c t s and t h r e e ingredients. W e s e e k t o minimize c o s t of production while maintaining t h e levels of f a t and p r o t e i n at a c c e p t a b l e levels, and not exceeding availability of ingredients. The demand f o r e a c h p r o d u c t i s a random v a r i a b l e with d i s c r e t e dis- tribution b u t in a n LP formulation t h i s must b e r e p l a c e d by some e x p e c t e d value.
The problem is summarized as follows, where x i , yi, zi denote t h e amount of e a c h ingredient in p r o d u c t i (i =1,2).
Figure 2.1 Overview
STOCHASTICS
MOD1 FY
YF 1r
SPECIALIZED SETUP & SOLUTION MINOS
I
EXTRACT RELEVANT INFO.I
I I
STOCHASTICS
PROBLEM SETUP GENERATION
PHASE
I
-- ---
T
SOLUTION PHASE
- --?--
OUTPUTI -
PHASE
minimize z l + 2 y l
+
3 2 ,+
z z+
2 y z+
3 2 ~ (OB J) subject t oFat/Protein : 0 . 3 ~ ~
+
0 . 4 ~ ~+
0.22, Content of Pro-duct 1 Fat/Protein Content of Pro- duct 2
Amount of In- : Z i gredient 1
Amount of In- : Y i + Y 2 C 12.0 ( A 2 )
gredient 2
Amount of Pro- : z i + Y l + 21
=
hi-
( T I )duct 1
Amount of Pro- : duct 2
The penalties f o r under and o v e r production are 2.0 and 1.0 units, r e s p e c - tively, f o r e a c h product, and t h e probability distribution on demand h (e) i s as fol- lows:
P r o d u c t 1 P r o d u c t 2
Level 8.0 10.0 12.0 15.0 18.0 20.0
Probability 0.25 0.5 0.25 0.2 0.4 0.4
hi
=
10.0 and h z=
18.2. The r e c o u r s e function * ( x ) i s defined in t h e usual way with q +=
(2.0.2.0) and q -=
(1.0,l.O).3.1 Corefile
The input d a t a corresponding t o t h e decision v a r i a b l e s z of t h e problem forms t h e "corefile". This specifies
-
t h e names and t y p e s of e a c h row of t h e problem-
t h e objective c-
t h e coefficients of A and T-
t h e deterministic right-hand-side elements-
t h e bounds on v a r i a b l e s and r a n g e s on rowsThe "corefile" i s specified in s t a n d a r d MPS format, see 1141 and will often ori- ginate in a p r i o r LP formulation. A and T c a n have interleaved rows and rows corresponding t o T should normally b e equality rows. However if t h e s e c o r r e s p o n d t o 2 o r 5 rows i.e if t h e r e i s no penalty on s u r p l u s o r s h o r t a g e , respectively, t h e n provision i s made in t h e system t o change t h e s e t o equality rows and a warning message i s p r i n t e d t o t h a t effect. This means t h a t qc or qi- must b e chosen a p p r o p r i a t e l y at value z e r o . Note a l s o t h a t if t h e r e w e r e non-zero elements in t h e right-hand-side v e c t o r corresponding t o rows in t h e technology matrix t h e y will b e ignored by ILSRDD or BVSRDD and a message p r i n t e d t o t h i s e f f e c t .
F o r o u r example, t h e c o r e f i l e i s given in Figure 3.1. (Slack v a r i a b l e s were introduced explicitly in t h i s c a s e , but t h i s i s not n e c e s s a r y and could h a v e been avoided by a p p r o p r i a t e definition of row types.)
3.2 Stochastics File
The "stochastics" f i l e specifies t h e information pertaining t o t h e r e c o u r s e problem. I t gives:
-
t h e row names identifying t h e technology matrix-
t h e probability distribution f o r e a c h s t o c h a s t i c right-hand s i d e-
t h e penalties q + and q - on s h o r t a g e and s u r p l u s-
t h e set of initial t e n d e r s f o r ILSRDD o r t h e b a s e t e n d e r f o r BVSRDDAn MPS-like format w a s designed f o r e a c h of t h e s e items of information and i s explained in t h e rest of t h i s subsection. (An extension of t h i s format i s given in Edwards e t al. [7].)
NAME This i s a h e a d e r c a r d . The u s e r may e n t e r any c h a r a c t e r s in columns 15 t o 72.
TECHNOLOGY The d a t a consists of a list of names, o n e f o r e a c h row in t h e tech- nology matrix. These must b e a s u b s e t of t h e list of rownames in t h e "corefile". The submatrix corresponding t o t h i s set of rows in t h e COLUMNS section of t h e "corefile" defines t h e technology matrix. One name a p p e a r s p e r line in columns 5 through 12.
DISTRIBUTION The d a t a consists of s e t s of e n t r i e s of t h e form "rowname value probability". T h e r e i s one such set f o r e a c h of t h e rows named in t h e TECHNOLOGY section. "rowname" specifies t h e row associated with t h e e n t r y (columns 5 through 12). "value" and "probability"
OBJECTIVE
E T I
e T2
c O L m 5
c1-q
CLM?
C L m C L ! CLM3 CLM3 C L M
m
C L 5
c w c m
C L M
c w
CLMB
c m
CLMlO R E
FW RW
m s
RTH EI\DP.TAO S J
a3
O B J
A3
O B J
T 1 A3
O B J
?2
O B J
.44O B J
Figure 3-1 The c o r e f i l e
specify t h e point and i t s associated probability. They occupy t h e f i r s t and second numeric fields (columns 25 through 36 and 50 through 61) respectively and must b e specified as real numbers.
The "rowname" r e p e a t s itself f o r e a c h possible value associated with t h e row and t h e probabilities f o r t h i s "rowname" must sum t o unity.
The d a t a consists of e n t r i e s of t h e form "name value value" where name i s a rowname of T and t h e f i r s t value gives t h e value of qi+
and t h e second t h e value of qi- i.e t h e penalties on s h o r t a g e and s u r p l u s respectively. The name occupies t h e f i r s t field (columns 5 through 12) and t h e values t h e f i r s t and second numeric fields
(columns 25 through 36 and 50 through 61) respectively. They must b e specified as r e a l numbers.
TENDERS The d a t a consists of e n t r i e s of t h e form "name rowname value"
where name i s t h e name associated with t e n d e r , "rowname" speci- f i e s t h e row associated with t h e e n t r y and "value" is t h e level of t h e t e n d e r f o r t h i s row. "name" r e p e a t s itself o v e r all e n t r i e s associated with t h e t e n d e r and t h e r e i s one such "name" f o r each t e n d e r specified. "name" and "rowname" occupy t h e f i r s t two name fields (columns 5 through 1 2 ) and (15 through 22) r e s p e c - tively and "value" t h e f i r s t numeric field (columns 2 5 through 36).
(If a set of t h e s e a r e provided f o r ILSRDD t h e n t h e f i r s t one i s used by
BVRDD
as i t s b a s e t e n d e r , see Sec. 2.1 of [21].)ENDATA This c a r d must b e specified and flags t h e end of t h e "stochastics"
file.
For o u r example t h e "stochastics" file i s given in Figure 3.2.
Figure 3.2.The stochastics file
9.9 Control File
The "control" file provides t h e information needed t o guide t h e solution pro- cess. I t gives:
-
algorithm selected (generalized l i n e a r programming, bounded v a r i a b l e algo- rithm, elastic c o n s t r a i n t s o r l i n e a r programming)-
input/output units f o r t h e files used by t h e system-
dimensioning information f o r various a r r a y s within t h e system-
names of objective and right-hand-side v e c t o r s-
additional c o n t r o l p a r a m e t e r s e.g. output level, c y c l e limit, e t c .-
specification c a r d s f o r MINOSOur design h e r e i s similar t o t h e MINOS SPECS file, but o u r format specifica- tion i s more rigid and i s based upon fields of f o u r c h a r a c t e r s . Each main section is identified by a principal keyword which begins in column 1. Within e a c h of t h e s e f u r t h e r options are identified by a second keyword which begins in column 5. Each of t h e s e options may h a v e f u r t h e r suboptions and t h e s e are in t u r n identified by keywords beginning in column 9. The numerical s t r i n g s o r i n t e g e r s which provide t h e information t h a t goes with a keyword are specified in a d a t a field given by columns 23 through 30. I n t e g e r s must of c o u r s e b e r i g h t justified. Only t h e f i r s t f o u r c h a r a c t e r s (including blanks) of any keyword a r e significant.
The principal keywords, i.e. t h e keywords beginning in column 1, must b e specified even when a l l defaults are selected.
The keywords a r e a s follows:
BEGIN This i s a delimiter identifying t h e beginning of t h e c o n t r o l file ALGORITHM This identifies t h e selected algorithm. Options are ILSRDD,
BVSRDD, ELASTIC o r MINOS.
UNIT The unit numbers are specified as follows:
CORE unit number of "corefile". Default
=
5STOCHASTICS unit number of "stochastics" file. Default
=
7 SPECS unit number of t h e MINOS SPECS file. Default=
8 MPS unit numbers of t h e MINOS file specifying t h ematrix. Default
=
9DEBUG unit number f o r debugging information. Default
=
0 (no output)
LOG unit number of t h e log file. Default
=
0 (no out- put>DIMENSIONS This specifies information f o r setting up t h e work a r r a y
ELEMENTS a n upper bound on t h e number of elements in t h e matrix (including s p a c e f o r input and generated tenders). Default
=
1500ROWS a n upper bound on t h e number of rows (including technology). Default
=
100TECHNOLOGY a n upper bound on t h e number of technology rows. Default
=
20COLUMNS a n u p p e r bound on t h e number of columns in t h e matrix (including tenders). Default
=
300PROBABILITIES a n u p p e r bound on t h e number of d i s c r e t e levels associated with each stochastic right-hand side.
Default
=
30TENDERS This provides information on t e n d e r s as follows:
INPUT a n u p p e r bound on t h e number specified in t h e "sto- c h a s t i c ~ " file. Default
=
1GENERATED a n u p p e r bound on t h e number of t e n d e r s saved.
Used in t h e round robin s t r a t e g y . Default
=
20 ELEMENTS a n upper bound on t h e t o t a l number of t e n d e r ele-ments. Default
=
2000Note: One must b e c a r e f u l about specifying t h e s e quantities.
SELECTORS
OBJECTIVE name of t h e objective row
-
up t o 8 c h a r a c t e r s (must b e provided)RHS name of t h e right-hand-side v e c t o r
-
up t o 8 c h a r - a c t e r s (must b e provided)BOUNDS name of t h e bounds v e c t o r
-
up t o 8 c h a r a c t e r sRANGES name of t h e r a n g e s v e c t o r
-
up t o 8 c h a r a c t e r s CONTROL OPTIONSOUTPUT output level. Options are 1, 2 o r 3, which provide increasingly v e r b o s e output. Default
=
2CYCLE limit on number of t e n d e r s g e n e r a t e d . Default
=
1 SCALE s c a l e factor (see (2.1)), e x p r e s s e d as a p e r c e n t a g e( p
=
SCALE/100). Default=
100.MINOS SPECIFICATIONS H e r e o n e specifies any MINOS options which are t h e n echoed into t h e MINOS SPECS file.
END Delimiter indicating t h e end of t h e c o n t r o l section In o u r example t h e "control" file i s given in Figure 3.3.
3 E t I N
NEW I i i ! LSD3
' N I T % 9 2 5 C S E F I L E
STOC!+AST!CS 'ILE SPECS FILE PllPS 'ILE 3FsLG =!IF I%=!LE 3!YEVSIGh5
ELEENTS
R o w s
C C L L M PRrn!%!L!T!ES
?-E?CcpE;
IVY
m . 4 m ELE."I!=?!?S
Figure 3.3.The c o n t r o l file
3.4 Implementation of Problem Setup
This is done using some modules from LPKIT ( s e e Nazareth [I?]) suitably modi- fied t o suit o u r purposes. Additional routines have been written t o set up informa- tion specified in t h e "stochastics" file into packed d a t a s t r u c t u r e s and t o g e n e r a t e t h e MINOS SPECS and MPS files.
4. Specialized Setup and Solution
This p a r t of t h e implementation i s built around MINOS Version 5.0 whose outermost routines MINOSl and MINOS2 were modified f o r o u r purposes. In p a r t i c - u l a r , t h e PHANTOM COLUMNS option of MINOS (simply a device t o provide some
"elbow-room" in t h e d a t a s t r u c t u r e s holding t h e problem) i s extensively used in o r d e r t o complete t h e s e t u p of t h e r e c o u r s e problem in t h e packed d a t a s t r u c t u r e s used by t h e MINOS system.
4.1 ILSRDD
The master program i s defined by expression (3.7) in [21] with W
4 -
[ I , -I ] and t h e obvious extension t o match expression (2.7) in t h i s p a p e r . MINOS 5.0 sets up t h e A and T matrices in packed d a t a s t r u c t u r e s from t h e MPS file which w a s g e n e r a t e d in t h e previous phase. Then o u r modifications t o subroutine MINOS2 pack in t h e additional columns corresponding t o t e n d e r s . Other routines developed by us, which are called within t h e subroutine MINOS2, implement t h e generalized l i n e a r programming algorithm in coordination with t h e solution of e a c h m a s t e r program by MINOS 5.0. The detailed algorithm i s given in [18].This i s a n implementation of t h e bounded v a r i a b l e method of Wets [25] in t h e form given in [21], Section 2.1. F u r t h e r details of t h e algorithm may b e found in [20]. T h e r e i s a d a n g e r of performing a l a r g e number of pivot operations when t h e probability distribution of e a c h right-hand-side element h a s many points ( t h e so- called epsilon-to-death problem) but t h e associated computational e f f o r t i s allevi- a t e d by t h e way in which MINOS updates i t s basis matrix r e p r e s e n t a t i o n . I t i s pos- sible t o improve t h e implementation (a) by using some of t h e a c c e l e r a t i o n tech- niques discussed in Wets [25] which, in e f f e c t , c a r r y o u t s e v e r a l basis changes a t t h e same time, (b) by specifying a good s t a r t i n g basis from t h e s p e c i a l s t r u c t u r e in
(2.7).
In contrast t o ILSRDD, implementation is much more straightforward because only an initial linear program must be set up.
4.3 ELASTIC
This option implements t h e linear program (2.2) (see Section 2.1 of this paper), thereby permitting t h e "technology rows" t o be elastic. The row names defining t h e technology rows and t h e penalties q + and q - are defined by t h e sto- c h a s t i c ~ file. Other d a t a in this file is ignored.
4.4 MINOS
This simply provides t h e preliminary option of solving an initial linear pro- gram. The d a t a in t h e stochastics file i s not required h e r e .
5.
Output PhaseThe output consists of two parts:
(a) MINOS output in standard MPS format. For a description of this see Murtagh &
Saunders [16].
(b) SPORT output. This gives t h e first-stage and second-stage costs t h e optimal t e n d e r , t h e dual multipliers (prices) associated with t h e technology rows in t h e optimal solution and t h e probability levels of t h e equivalent chance- constrained program.
For t h e e a r l i e r example t h e output is given in Figure 5.1.
Pigare 5.1 The output f o r the earlier example
9 3 0 R T ( I W ) : O P T I N SOUrrION OF RECCCRSE RmBl FOU9
OBJECTIK W 4.36&500000d+01
STATLS (PTIPW, saJlr ITERATION 1 -I= 0
O B J U T I K OBJ (HIN)
Fb6 m
R P M S 80U95
SECTION 1
-
Ra6NSeER ...ROW.. STATE
...
ACTIVITY...
9PM K T I V I T Y ..L= L I M I T . . . L P E R L I M I T . .DLYIL ACTIVITYn
AZ A M 12.00000 0. 12.00000 12.00000 0.28 A3 EQ 3. MOO0 0. 3.30000 3. MOO0 5.62'500
29 AI, EQ 4.00000 0. 4.00000 4.00000 1.12500
30 T I EQ 0. 0. 0. 0. 4. 25000
31 f2 EQ 0. 0. 0. 0. 1.4-
32 CCWXITY M 1. OOOOD 0. 1.00000 1. O O O M 26.962'50
...
ACTIVITY...
.m m!mImT.1. oomo
2. C0000 3.00000 0.
1
.
ooom2.00000 3. WOOO 0.
C.
0.
2.0co00 2.00000 1 .00000 1 .00000 3.660W 10.400m 7.90000 4.20000 8.40WO 0.
0.
0.
0.
0.
..L= L I M I T .
.
.LPER L I H I T .w
U@J's ffi
CLPIb 85
CLM7 LL
CL*
u
CLPR !L
CLnlO 85
M l O O l LL
i u m o r n LL M 1 0 0 3 LL M l O D G U M l O E LL M l O W LL M I 0 0 7 85 M l O O B
u
M I 0 0 9 ffi M l O l O A EQ M I 0 1 1 A Ea RNTlOlZ A M M 1 0 1 3 A Ea RNT1014 A Ea
0.56250 0. m o o
2.4-
0 . ~ 0
3.00000
4. oomo
0.
COSrS PeSOCIATED UITH aeOK SOUrrION
W.uZ% D I R T
-
35. MOO0 RECOLRQ-
Q W n I T I n ABSOCIATED UITH MUX U I M
R W m TPOERS RlIQS KfQJIvPlLPm
T I 10.25000 4.325000 0 . m W
R 15. woo0 1 . 4 ~ 0 . 1 ~ 7 ~
6 . Testing
The p r o g r a m h a s b e e n e x e r c i s e d on s e v e r a l test problems as follows:
(a) The product-mix example of Section 3 due to J. Ho. This is a "toy" problem with 5 rows of which 2 are technology rows and 6 f i r s t - s t a g e decision vari- ables.
(b) The test problem given by Kallberg & Kusy [ll]. This too i s a ' t o y " problem with 3 rows of which 2 are technology rows and 6 f i r s t - s t a g e decision vari- ables. (Documented in King [12].)
(c) The test problem given by Cleef [3]. This h a s 9 rows of which 6 are technology rows and 1 6 first-stage decision variables. (Documented in King [12].)
(d) The problem of allocating a i r c r a f t to r o u t e s given in Dantzig [4]. This h a s 9 rows of which 5 are technology rows and 29 first-stage decision v a r i a b l e s .
(Documented in King [12].)
(e) A discretized v e r s i o n of t h e s t o c h a s t i c t r a n s p o r t a t i o n problem given by Qi [23] formulated as a s t a n d a r d s t o c h a s t i c l i n e a r program with simple r e c o u r s e . This h a s 78 rows of which 44 are technology rows and 1496 first-stage deci- sion v a r i a b l e s .
The bank a s s e t and liability model given by Kusy & Ziemba [13] and a full- s c a l e version of problem (d) above both provide good illustrations of t h e p r a c t i c a l applications f o r which o u r p r o g r a m i s designed.
7 . Sportsmanship
The c u r r e n t system c a n b e applied to a wider r a n g e of problems t h a n would a p p e a r at f i r s t sight. F o r example when t h e s t o c h a s t i c l i n e a r program h a s sto- c h a s t i c technology m a t r i c e s with a few d i s c r e t e probability levels (which are independent of t h e right-hand-side distribution) s a y ,
TI, ...,
Tt with probabilities pi, ...,pi, t h e n w e c a n e x p r e s s t h i s as a n equivalent problemminimize cz
+
P ' ~ Q + Y ~ + + P ' ~ Q - U ~+
' * + P ' ~ Q+vt+
+ P t Q -Yt- s u b j e c t t odx
=
b=
h ( o )(7.1)
=
h ( o )Let us treat T defined by
as a technology matrix in t h e usual way. Then w e c a n set up t h e problem s o t h a t i t c a n b e solved by t h e system, as d e s c r i b e d e a r l i e r , with a p p r o p r i a t e definition of penalties and distribution determined by (7.1).
In some situations t h e underlying probability distribution of h (.) i s only known implicitly through a simulation model involving t h e random elements o. Nazareth [I81 discusses how t h e system c a n b e extended t o t h i s c a s e (see, in p a r t i c u l a r , Sec- tion 3.2 of
[la]
f o r some numerical experiments).When t h e probability distribution of h(.) is not d i s c r e t e , SPORT 2.0 c a n b e used in conjunction with some i t e r a t i v e discretization p r o c e d u r e and computation of e r r o r bounds (see, f o r example, [26]).
When a more complex penalty s t r u c t u r e i s imposed on t h e second s t a g e , pro- gram modifications would b e r e q u i r e d . This could, in many c a s e s , b e done f a i r l y easily.
8. Availability
The F o r t r a n implementation d e s c r i b e d h e r e , SPORT 2.0 (pronounced SUPPORT Version 2.0) w a s developed f o r use at IIASA on t h e VAX 11/780 (under t h e UNIX operating system). I t u s e s MINOS 5.0 ( t h e latest documented version), which i s available in-house. Using t h e terminology in Nazareth 1191, t h e c u r r e n t version of o u r system i s a level-2 implementation, designed f o r algorithmic experimentation
and f o r problem solving by a n experienced u s e r (one e x p e c t e d t o b e familiar both with his problem and with t h e implemented algorithm).
To use SPORT 2.0 at a n o t h e r s i t e , i t would b e n e c e s s a r y t o obtain MINOS 5.0 independently from Stanford University and t o substitute o u r set of F o r t r a n rou- tines f o r t h e two MINOS 5.0 files MIOOMAIN and MIIOMACH. (Note t h a t SPORT 2.0 will not r u n with versions of MINOS below 5.0.)
An e a r l i e r version of o u r system, designed f o r MINOS 4.9, SPORT 1.1, i s avail- a b l e on t h e SDS/ADO t a p e , which i s a collection of a number of routines f o r sto- c h a s t i c programming. This version provides r e a d a b l e F o r t r a n and a manual (see Edwards [6]) t o document o u r implementation. Note t h a t i t i s not executable, since MINOS 4.9 i s not included with it.
In o r d e r t o obtain a copy of SPORT 2.0, please c o n t a c t t h e a u t h o r of t h i s a r t i - cle at e i t h e r of t h e following addresses:
IIASA, System & Decision Sciences, A-2361, Laxenburg, Austria o r
CDSS, P.O. Box 4908, Berkeley, California 94704, USA
9. Stochastic Programming with Recourse as a Form of Post-Optimal Analysis in a Mathematical Programming System
Many large-scale Mathematical Programming Systems ( f o r example, MPSX/370 [I]) provide options f o r performing parametric and sensitivity analysis in t h e optimal solution of a l i n e a r program and f o r r e p e a t e d (and efficient) reoptimiza- tion through a dual simplex p r o c e d u r e , when t h e right-hand-side i s changed. (For MINOS, post-optimal analysis r o u t i n e s h a v e been developed by Dobrowski, et a1 [51.)
A common a p p r o a c h f o r handling uncertainty in t h e right-hand-side i s t o use scenario analysis, which i s indeed g r e a t l y facilitated by t h e above post-optimal options. Ermoliev and Wets [8] c h a r a c t e r i z e this a p p r o a c h t o dealing with uncer- tainty as being "seriously flawed" and explain why as follows: "Although i t (scenario analysis) c a n identify 'optimal' solutions f o r e a c h s c e n a r i o ( t h a t speci- f i e s some values f o r t h e unknown p a r a m e t e r s ) , i t does not provide any clue as t o how t h e s e 'optimal' solutions should b e combined t o produce a merely reasonable decision." Another a p p r o a c h t h a t h a s been utilized by mathematical programmers as discussed in Section 2 . 1 i s t o introduce elastic constraints by defining
penalties on s h o r t a g e and s u r p l u s f o r a given right-hand-side. This, as we have noted, i s in t h e s p i r i t of t h e r e c o u r s e model, but i t does not y e t a d d r e s s t h e sto- chastic a s p e c t of t h e right-hand-side elements.
One aim of o u r p a p e r h a s been t o demonstrate (hopefully convincingly) t h a t recourse analysis could b e introduced in a v e r y n a t u r a l way as a post-optimal analysis option in a n MPS and t h a t i t s implementation i s not substantially more dif- ficult t h a n t h a t of o t h e r post-optimal analysis options c u r r e n t l y provided within them. I t could b e a r g u e d , of c o u r s e , since problem (2.7) c a n b e d i r e c t l y e x p r e s s e d as a l i n e a r program, t h a t i t could b e left up t o t h e u s e r t o set up t h i s l i n e a r pro- gram, c r e a t e t h e a p p r o p r i a t e MPS file and solve it in t h e conventional way. This i s t o impose upon him o r h e r a laborious and e r r o r p r o n e task. To d o s o would b e as unreasonable as requiring t h a t t h e u s e r implement his own post-optimal p a r a m e t r i c and sensitivity analysis. Another a p p r o a c h is t o u s e a n extended LP system based upon piecewise-linear ( s e p a r a b l e ) programming ( s e e F o u r e r 191) t o solve (2.5) o r (2.7). Unfortunately such systems a r e not available as g e n e r a l p u r p o s e software.
Thus i t i s n e c e s s a r y t o fall back upon t h e more conventional mathematical pro- gramming systems.
The p a r t i c u l a r implementation described in e a r l i e r sections of t h i s p a p e r w a s developed f o r MINOS (specifically Version 5.0) in i t s l i n e a r programming mode, but a n implementation f o r a n o t h e r large-scale l i n e a r programming system (MPS) could b e p a t t e r n e d along r a t h e r similar lines (see, in p a r t i c u l a r , Figure 2.1). This would r e q u i r e t h e following:
(a) Firstly, augmentation of t h e s t a n d a r d MPS description of a l i n e a r program (which may b e formulated and solved as a f i r s t s t e p ) by some standardized description of t h e s t o c h a s t i c information. A format along similar iines t o Sec- tion 3.2 would b e quite a p p r o p r i a t e . Note t h a t t h i s d o e s not conflict with t h e t r e n d toward high-level modeling systems f o r defining mathematical program- ming problems (see, f o r example, t h e GAMS System of Brooke, et al. 121). MPS format (and i t s extension t o s t o c h a s t i c problems) primarily s e r v e s t h e pur- pose of formalizing t h e interface t o optimization codes and indeed MPS format continues t o play t h i s r o l e in systems like GAMS. (With r e g a r d t o t h e t h i r d
"control" file of Figure 2.1, note t h a t t h i s is specific t o t h e MINOS implementa- tion and would obviously v a r y with different MPS systems.)
(b) Secondly, s e t up of one o r more l i n e a r programming problems corresponding t o (2.7) by augmenting i n t e r n a l d a t a s t r u c t u r e s . The more straightforward implementation (because i t involves only one augmentation) i s t o use some v e r - sion of t h e bounded v a r i a b l e method of Wets [25] as in BVSRDD (see Section 4.2.). Assuming t h a t a deterministic version of t h e problem h a s already been solved, t h e additional columns could b e i n s e r t e d d i r e c t l y into t h e packed d a t a r e p r e s e n t a t i o n used by t h e MPS from t h e s t o c h a s t i c information supplied as described in (a) above, and t h e problem reoptimized. (It would b e wasteful t o g e n e r a t e a f r e s h MPS file f o r (2.7).) In MPSX/370, t h e augmentation and reop- timization could b e done through t h e Extended Control Language ( s e e [I]).
The difficulty with t h e bounded variable a p p r o a c h a r i s e s when t h e distribu- tion h a s many points, f o r example, when i t i s obtained by discretizing a con- tinuous distribution. S e e t h e discussion in Section 4.2. Also i t does not gen- e r a l i z e t o non-simple r e c o u r s e . The a l t e r n a t i v e i s t o implement t h e general- ized l i n e a r programming a p p r o a c h , again d i r e c t l y inserting t h e added columns into i n t e r n a l d a t a s t r u c t u r e s and solving a sequence of l i n e a r programs, e a c h s t a r t i n g off where t h e previous one left off ( a s in ILSRDD, Section 4.1). A s w e have s e e n , implementation r e q u i r e d modification only of t h e outermost level of MINOS and we believe t h i s would b e t r u e f o r o t h e r MPS systems as well. The ILSRDD algorithm i s v e r y efficient in t h i s c o n t e x t and as w e may note, t h e a p p r o a c h applies t o more g e n e r a l forms of r e c o u r s e .
(c) Thirdly, t h e output of t h e solution in a n a p p r o p r i a t e way, again done most con- veniently through a c c e s s t o t h e internal d a t a s t r u c t u r e .
To summarize, t h e mathematical programming field i s r i p e f o r incorporating some forms of s t o c h a s t i c programming with r e c o u r s e into c u r r e n t large-scale MPS systems. W e have provided a detailed illustration of how i t c a n b e done f o r one c u r r e n t l y available MPS and how i t could (possibly e v e n should) b e done f o r o t h e r systems.
References
M. Benichou, J.M. G a u t h i e r , G. Hentges a n d G. R i b i e r e , ' T h e e f f i c i e n t solution of l a r g e - s c a l e l i n e a r programming problems
-
some algorithmic t e c h n i q u e s a n d computational r e s u l t s , " Mathematical P r o g r a m m i n g 13(1977) 280-322.A. Brooke, A. Drud a n d A. Meeraus, "High l e v e l modelling systems a n d nonlinear programming,
"
Development R e s e a r c h Department, World Bank. ( P r e s e n t e d atl z t h
I n t e r n a t i o n a l Symposium o n Mathematical Pro- gramming, Boston, Mass. 1985).H. Cleef, "A solution p r o c e d u r e f o r t h e two-stage s t o c h a s t i c p r o g r a m with simple r e c o u r s e , " 2. m e r a t i o n s R e s e a r c h 35(1981) 1-13.
G .B. Dantzig , L i n e a r R o g r a m m i n g a n d E x t e n s i o n s , P r i n c e t o n Univer- s i t y P r e s s , 1963.
G. Dobrowolski, T. Rys, J. Hadjuk a n d A. Korytowski, TOSTAN 2
-
E x t e n d e d postoptimal a n a l y s i s p a c k a g e f o r MINOS," i n A. Lewandowski a n d A. Wierzbicki e d s . , T h e o r y , S o f l w a r e a n d Test E x a m p l e s f o r Deci- s i o n S u p p o r t S y s t e m s , IIASA Collaborative Volume (1985). 142-176.
J. Edwards, 'Documentation f o r t h e ADO/SDS collection of s t o c h a s t i c programming codes," WP-85-02 (1985), IIASA, L a x e n b u r g , Austria.
J. Edwards, J. B i r g e , A. King a n d L. N a z a r e t h , "A s t a n d a r d i n p u t f o r m a t f o r c o m p u t e r c o d e s which s o l v e s t o c h a s t i c p r o g r a m s with r e c o u r s e a n d a l i b r a r y of u t i l i t i e s t o simplify i t s use," WP-85-03 (1985), IIASA, Laxen- b u r g , Austria.
Y. Ermoliev a n d R. J-B. Wets, 'Wumerical t e c h n i q u e s f o r s t o c h a s t i c optimization problems," PP-84-04 (1984). IIASA; L a x e n b u r g , A u s t r i a (in t h i s volume).
R. F o u r e r , "Piecewise-linear programming," Technical R e p o r t , Dept. of Ind. Eng. a n d Management S c i e n c e s , N o r t h w e s t e r n University, Evanston, IL, USA (1985).
J. Ho, p r i v a t e communication (1983).
J . K a l l b e r g a n d M. Kusy, "Code I n s t r u c t i o n f o r S.L.P.R., a s t o c h a s t i c l i n e a r p r o g r a m with simple r e c o u r s e , " , Technical R e p o r t , University of British Columbia (1976).
A.J. King, "Stochastic programming problems: examples from t h e l i t e r a - t u r e , " Department of Applied Mathematics, University of Washington, S e a t t l e , USA (1985) ( a p p e a r s in t h i s volume).
M. Kusy and W. Ziemba, "A bank asset and liability management model,"
CP-83-59, IIASA, Laxenburg, Austria (1983).
IBM Document No. H20-0476-2, l'Mathematical Programming System 360 Version 2, Linear and S e p a r a b l e Programming
-
U s e r ' s Manual," IBM Corporation, N e w York.B.A. Murtagh and M.A. Saunders, 'Large-scale linearly constrained optimization," Mathematical P r o g r a m m i n g 14(1978) 41-72.
B.A. Murtagh and M.A. Saunders, "MINOS 5.0 User's Guide,
"
R e p o r t No.SOL 83-20, Systems Optimization Laboratory, Stanford University (1983).
J.L. Nazareth, "Implementation aids f o r optimization algorithms t h a t solve sequences of l i n e a r programs by t h e r e v i s e d simplex method, WP- 82-107 IIASA, Laxenburg, Austria (1982).
J.L. Nazareth, "Algorithms based upon generalized l i n e a r programming f o r s t o c h a s t i c programs with r e c o u r s e , " in: F. Archetti, ed., Ffoceed- i n g s of IFTP I n t e r n a t i o n a l Workshop o n S t o c h a s t i c F f o g r a m m i n g : Algorithms a n d A p p l i c a t i o n s , Springer-Verlag (to a p p e a r ) .
J.L. Nazareth, W i e r a r c h i c a l implementation of optimizations methods,"
in: P. Boggs, R. Byrd and B. Schnabel, eds., Numerical m t i m i z a t i o n , 2984 SIAM, Philadelphia, 199-210 (1985)
J.L. Nazareth and R.J-B. Wets, "Algorithms f o r s t o c h a s t i c programs: t h e c a s e of non-stochastic t e n d e r s , " A. P r e k o p a and R.J-B. Wets, eds., Mathematical F f o g r a m m i n g S t u d g , (to a p p e a r ) .
J.L. Nazareth and R. J-B
.
Wets, "Nonlinear programming techniques applied t o s t o c h a s t i c programs with r e c o u r s e , " WP-85-62, IIASA, Laxen- burg, Austria (1985) ( a p p e a r s in t h i s volume).S.C. P a r i k h , L e c t u r e notes on s t o c h a s t i c programming, unpublished, University of California, Berkeley (1968).
L. Qi, Ph.D. Dissertation, Computer Science Department, University of Wisconsin, Madison (1983).
J. Tomlin, p r i v a t e communication
R. J-B. Wets, "Solving s t o c h a s t i c programs with simple r e c o u r s e ,
"
Sto- c h a s t i c ~ lO(1983) 219-242.C261
R.
J-B. Wets, "Stochastic programming: solution techniques and approxi- mation schemes," in A . Bachem, M. Groetschel and B. K o r t e eds., Mathematical Programming: The State of' the Art, Springer-Verlag, Berlin (1983) 566-603.~ 2 7 1 W.T. Ziemba, "Stochastic programs with simple r e c o u r s e , " in: P. Hammer and G