Solving Multistage Stochastic Network Programs ... - Semantic Scholar

2 downloads 418 Views 306KB Size Report
Figure 1: Scenario tree for a 3-stage program (T = 3) having 6 scenarios. ..... ios. Non-anticipativity requires communication among these processors as indicated ...
Solving Multistage Stochastic Network Programs on Massively Parallel Computers Soren S. Nielsen Management Science and Information Systems University of Texas at Austin Austin, TX 78712. [email protected] Stavros A. Zenios University of Cyprus, Nicosia, Cyprus. August 1992 Revised June 1995

Abstract Multi-stage stochastic programs are typically extremely large, and can be prohibitively expensive to solve on the computer. In this paper we develop an algorithm for multistage programs that integrates the primal-dual row-action framework with proximal minimization. The algorithm exploits the structure of stochastic programs with network recourse, using a suitable problem formulation based on split variables, to decompose the solution into a large number of simple operations. It is therefore possible to use massively parallel computers to solve large instances of these problems. The algorithm is implemented on a Connection Machine CM{2 with up to 32K processors. We solve stochastic programs from an application from the insurance industry, as well as random problems, with up to 9 stages, and with up to 16392 scenarios, where the deterministic equivalent programs have a half million constraints and 1.3 million variables.

 Research partially supported by NSF grants CCR{9104042 and SES{91{00216, and AFOSR grant 91{

0168. Computing resources were made available by AHPCRC at the University of Minnesota, and by NPAC at Syracuse University, New York.

1

1 Introduction Multistage programs arise in settings where information pertinent to a sequential decision process becomes available in stages, i.e., at successive points in time. At each point, a realization of a stochastic variable is observed, and an adaptive decision is made. The number of such points { where additional information becomes available, and adaptive decisions are made { determines the number of stages in the stochastic program. In the simplest case of two-stage programs, a rst-stage decision is made, new information is observed, and a second-stage recourse action is decided upon. The second-stage decision is hence dependent upon the rst-stage decision as well as on the new information observed. The two-stage program has been studied extensively over the past decades. Researchers' e orts have been primarily concentrated on: (i) Devising ecient decomposition methods for solving the deterministic equivalent program (Dantzig, Dempster and Kallio [9], Van Slyke and Wets [28], Ruszczynski [25], Rockafellar and Wets [24], (ii) Designing or exploiting parallel computing machinery to speed up the solution process (Wets [29], Ruszczynski [26], Dantzig [8], Mulvey and Ruszczynski [13], Nielsen and Zenios [17, 19]), and (iii) Retaining any special structure present in the stochastic program (Qi [21], Mulvey and Vladimirou [16, 15], Lustig, Mulvey and Carpenter [12]). Many cases of two-stage, stochastic programs can be solved eciently using any of the algorithms described above. Multistage programs, however, are computationally much more challenging, as they su er from the well-known \curse of dimensionality". Algorithms for multistage programs have been developed, but not many numerical studies are presently available. Birge [3] generalized the L-shaped decomposition method of Van Slyke and Wets [28] to multistage programs, and Gassmann [11] provides experimentation with an 2

implementation of this algorithm. The progressive hedging algorithm of Rockafellar and Wets [24] is also applicable to the multistage case. Further work on multistage programs is found in Ruszczynski [26] and Dantzig and Glynn [10]. In this paper we develop an algorithm for the solution of multistage, stochastic programs with generalized network recourse. The algorithm is based on the proximal minimization algorithm of Rockafellar [22, 23], which adds a quadratic perturbation to the linear objective to obtain a sequence of strictly convex, stochastic subproblems. The subproblems are solved using a primal-dual row-action algorithm developed by Nielsen and Zenios [17] which is based on the general row-action framework of Censor and Lent [5]. The algorithm exploits the special structure of the generalized network subproblems to decompose into a large number of simple operations. This special structures arises through the use of a problem reformulation based on split variables. The algorithm is well suited for parallel implementation, and is here implemented on a massively parallel Connection Machine CM{ 2 with up to 32K processors. In essence, this paper extends our previous work on the two-stage problem (Nielsen and Zenios [17, 19]) to the multistage problem. The remainder of the paper is organized as follows: Section 2 states formally the multistage, stochastic programming model, and the split-variable formulation used by the algorithm. Section 3 presents the proximal and row-action algorithms used to solve the linear problem and the strictly convex network subproblems. Section 4 contains descriptions of the test problems and discussion of the results. Finally, Section 5 concludes the paper with some pointers for further research into the massively parallel algorithms of this sort.

3

2 Problem Statement and Formulations We now de ne the linear, multistage stochastic problem with generalized network recourse, followed by a deterministic equivalent formulation. Transposition of a vector x is denoted

xT , and the inner product xT y is written xy when context makes the meaning clear. Bold letters are used to denote stochastic quantities, and the corresponding roman letters designate instances of these quantities. A T -stage stochastic programming problem can be formulated as follows (Birge [3]):

h

n





[MS] min c1x1 + E2 min c2 x2 + E3 j2 min c3 x3 +    + ET j2;:::;T ?1 min cT xT x1

s.t.

x2

x3

io

xT

A1 x1

= b1 ;

B2x1+A2x2 B3x2 + A3x3

= b2 ; = b3 ; .. .

...

BT xT ?1 + AT xT = bT ; 0  xt  ut ; for t = 1; :::; T; where

t = (At; Bt; bt; ct) for t = 2; :::; T are random variables, i.e., Ft-measurable functions t : t 7!