Stochastic Programming in the New Century - CiteSeerX

2 downloads 0 Views 1MB Size Report
Acceptance notice will be given to authors within June 5, 2001. Conference ..... Module uses this pointer to access the data of the stocha- stic program. Multiple ...
1

AIROnews

EDITORIAL

VI, n.1 - Spring 2001

Stochastic Programming in the New Century by Alan J. King probability space to describe the stochastic evolution of all Introduction With IBM's new commercial release of a general-purpose the stocks in the index. This may generate an explosion of data far too great to handle even on a very large solver, stochastic programming is finally moving collection of computers. A practical way around out of the research laboratories and into the this is to generate a probability space over a few field. The focus is now on methods and technorisk factors, and then develop a mapping from logies that support the ''practical art'' of stochathe risk factor evolutions to individual stock stic programming. In this simple article, I will performance using statistical models. Generalipresent the basic features of IBM's stochastic zations of this basic index tracking model have programming solver as they may concern practibeen applied to optimal asset allocation models tioners and also discuss two new developments for the asset-liability management problems of in modeling languages and stochastic integer Alan King insurance companies, pension funds, and even programming. The Optimization Center at IBM's Thomas J. Watson Research Center has been very individuals. active in stochastic programming since the early 1990's, in consulting projects, building specialized optimization sof- Solver news tware, and scientific developments. I have participated in In 1998, culminating nearly eight years of activity at IBM these developments from the beginning, as mathematician, Research, IBM announced the first commercial release of consultant, software engineer, and programmer! I was the a stochastic programming package for solving stochastic technical leader for the team who developed IBM's new programs with recourse, called OSL Stochastic Extensions stochastic programming product, a team that included Dr (OSLSE). The design of the package is based on two Robert Entriken and Professor Stephen E. Wright, and important developments pioneered in the academic community: (1) algorithm experimentation established the effinow, Dr Gyana Parija. cacy of decomposition solvers based on the L-shaped method of van Slyke and Wets, and (2) the success of the Why stochastic? Stochastic programming is the branch of mathematical stochastic programming MPS-style data format (SMPS) for programming that optimizes problems that have uncer- the description of stochastic programs. Stochastic protainty in the data. Financial risk management, electric grams are hard to solve because they are very large. The power generation planning, pollution remediation, structu- IBM package incorporates decomposition using the Lral engineering, industrial capacity planning, are examples shaped method of van Slyke and Wets, which has proved of fields where stochastic programming models have been to be a very effective solution technique for stochastic developed. A typical model formulation could require that programs with recourse. Our experience shows that it is a particular variable lie in a target range with a certain several orders of magnitude faster than the best that the probability (this is called a problem with ''chance con- simplex or barrier method can do. The tree structure of the straints'') or that the expected value of a penalty for not discrete probability space creates a "nested lower-block meeting the target be combined with the objective and triangular" matrix, which will break apart into independent optimized (this is called a problem ''with recourse''). For "child" subproblems when the upper-left "parent" block is technical reasons (chance constrained problems often lead removed. From the view of the parent problem, the child to nonlinear, even nonconvex, constraints) by far the subproblem's contribution is some function of the parent's greater number of applications are formulated as recourse variables --- called the recourse function. The decomposiproblems. Index tracking and hedging problems of mathe- tion algorithm solves the parent subproblem, proposes the matical finance are good examples of stochastic program- parent solution to each child subproblem, solves each child ming formulations. In equity stock index tracking, a well- subproblem, and then constructs cuts in the parent from studied problem in the financial literature, the goal is to the child subproblem optimal reduced costs. In this way, make portfolio investment decisions that meet or beat the the method iteratively constructs a piecewise linear lower index performance. The portfolio consists of positions in approximation to the recourse function. Of course, subthe stocks that make up the index. The investor may wish problems may be infeasible or unbounded, and each of to impose some constraints on the portfolio. Constraints these situations must be handled using separate logic. might limit the number of non-zero stock holdings to Theoretical convergence of the algorithm is assured by something like one-fifth of the actual number of stocks in standard basis counting arguments. In practice, the the index, for example, while ensuring good coverage of all method stops when the gap between the parent optimal of the industrial sectors. Stochastics are introduced on the value and the lower approximation value is sufficiently performance of the stocks and the index over time. A small. The methods in the IBM package allow for automapenalty function of the ''shortfall'', which equals the index tic subproblem generation based on rough guidance from value minus the total portfolio value, is then minimized. In the user about the most efficient subproblem size. We the stochastic programming formulation one can easily introduced this feature because repeatedly solving too large incorporate realistic operational features, such as taxes and a subproblem drags down the performance of the method, transactions costs for trading, as well as portfolio con- and having too many small subproblems causes very slow straints. The difficulty is that one must construct a discrete convergence. Coupled with the automatic subproblem ge-

2

AIROnews

VI, n.1 - Spring 2001

EDITORIAL

neration is a sophisticated implementation of a ''nested'' version of the decomposition method. It is said to be ''nested'', because solving a child subproblem may start another decomposition cycle for its children and so forth. The communication protocols and convergence logic are extremely complicated, of course. But the results are quite satisfying. Nested decomposition with controlled subproblem sizes has proven to be extraordinarily effective at solving very large stochastic programs. SMPS format The IBM OSLSE package supports the SMPS format, which was originally created by the academic community to share problem data. The SMPS format is hard to grasp, but it is important for the practioner to understand. The SMPS format describes a stochastic program in the following way: a ''core file'' that contains an MPS representation of a mathematical program, a ''time file'' that describes the mapping of variables and contraints to time periods, and finally, a ''stoch file'' that identifies the probability distributions for the stochastic data elements. The stochastic program optimizes the expected value of the objective function found in the core file. Details and examples of these formats can be viewed on the web (see http:// www6.software.ibm.com/es/oslv2/features/Stochast/ node2.htm). Here is an example of the SMPS format that comes from a simplified production inventory problem formulated by Kall and Wallace. A refinery can blend 2 raw materials into 2 different products. At present, the management is trying to decide how much of each of the raw materials to purchase and stock, so that they can be blended to satisfy the demand for the products in future T time periods. The demand has to be completely satisfied, and in case of raw material shortage the products can be outsourced at a higher cost. There is an inventory constraint on how much raw material can be stocked in total. The demand is random. This is a typical example of a recourse problem formulation. Here is the core file. It describes the inventory constraint for the initial order of the raw material, and then the demand for the two products. NAME KandW ROWS N OBJ L INVTORY1 G DMDPROD1 G DMDPROD2 COLUMNS XRAW1 OBJ 2.0 INVTORY1 1.0 XRAW1 DMDPROD1 0.0 DMDPROD2 3.0 XRAW2 OBJ 3.0 INVTORY1 1.0 XRAW2 DMDPROD1 6.0 DMDPROD2 0.0 Y1 OBJ 7.0 INVTORY1 0.0 Y1 DMDPROD1 1.0 DMDPROD2 0.0 Y2 OBJ 12.0 INVTORY1 0.0 Y2 DMDPROD1 0.0 DMDPROD2 1.0 RHS RHS INVTORY1 100.0 RHS DMDPROD1 180.0 RHS DMDPROD2 162.0 BOUNDS LO BND XRAW1 0.0 LO BND XRAW2 0.0 LO BND Y1 0.0

LO BND ENDATA

Y2

0.0

The time file points to the locations in the matrix that represent the start of each time period --- this is sufficient because the SMPS format assumes that the order of appearance of rows and columns is in increasing time order. In this example the inventory constraint and the order quantities of the two types of raw materials belong to stage 1 and the recourse order quantities (variables Y1 and Y2) are stage 2. TIME KandW PERIODS LP XRAW1 INVTORY1 Y1 DMDPROD1 ENDATA

STAGE-1 STAGE-2

The stoch file describes the distributions of the random quantities in the problem. Any of the data in the core file can appear in this file. In this example, the demand for the two products is described by four ''scenarios'', each with probability 1/4. The second line of the file declares the type of distribution (scenarios), and the ''SC'' lines declare the branching information and probability of the scenarios. STOCH KandW SCENARIOS DISCRETE SC SCEN01 STAGE-1 RHS DMDPROD1 RHS DMDPROD2 SC SCEN02 STAGE-1 RHS DMDPROD1 RHS DMDPROD2 SC SCEN03 STAGE-1 RHS DMDPROD1 RHS DMDPROD2 SC SCEN04 STAGE-1 RHS DMDPROD1 RHS DMDPROD2 ENDATA

0.250 170.0 160.0 0.250 170.0 164.0 0.250 190.0 160.0 0.250 190.0 164.0

REPLACE STAGE-2 STAGE-2 STAGE-2 STAGE-2

The SMPS format describes a stochastic program as a variation of a time-structured mathematical program (the core problem) in which the values of some of the data elements are revealed over time according to the laws of a probability distribution (given by the stoch file). Progress with Modeling languages and SISP Most OR practitioners use algebraic modeling languages for all their work. It would be very convenient for practitioners to declare an index set for time stages, and to describe distributions in the style of the stoch file. The cost of retooling modeling languages to support an SMPS-style format appears to be quite high, but there is hope on the way. Christian Condevaux-Lanloy (University of Geneva) recently developed a prototype of a Simplified Interface for Stochastic Programming (SISP) while a summer student at IBM Research. This format uses the SETSTOCH tools developed by Professor E. Fragniere (University Lausanne) and Condevaux-Lanloy. SISP proposes a practical method for generalizing the SMPS format to any modeling language format. SISP extracts the core problem and time information from the modeling language using the input/output libraries used for data communication to solvers. SISP then processes a stoch file that describes the

3

AIROnews

AIRO ACTIVITIES

probability distribution in terms of the parameters in the modeling language description. A report on an early implementation of this idea is available (see http:// www.hec.unil.ch/fragniere/). We expect versions to be available by the middle part of the upcoming year. Progress with Integer variables Integer variables model important aspects of decisionmaking, such as fixed charges, etc. Just because a problem has stochastic elements, should one abandon integer variables as a modeling tool? The message from the stochastic programming community has usually been that stochastic linear programs are difficult to solve, so stochastic integer programs must be impossible to solve. But this is beginning to change. Among the many works that could be cited here, let me highlight the Dantzigprize winning thesis of Shabbir Ahmed (now with Georgia Institute of Technology) who was also a summer student with IBM Research. His thesis shows how to develop good heuristics for some important stochastic integer programming formulations. A recent study of a capacity planning problem shows that extending LP relaxation schemes to stochastic programs can yield effective lower bounding schemes. Ahmed's heuristic yields upper bounds by performing capacity bundling to shift capacity back in time until scenario demands are met while preserving the nonanticipativity constraints. On a simple test set, this scheme showed a ten-fold improvement in solution times. Resources There are beginning to be more resources for practitioners of stochastic programming. There are two good recent texts: John R. Birge and Francois Louveaux, Introduction to Stochastic Programming, Springer-Verlag, New York, 1997. Peter Kall and Stein W. Wallace, Stochastic Programming, Wiley, New York, 1994. Finally, IBM's OSLSE product can be downloaded (free trial!) from the website http://www6.software.ibm.com/ es/oslv2/features/welcome.htm Concluding Remarks George Dantzig likes to say that solving stochastic programs was his original motivation! Certainly, every planning problem must involve uncertainty in some way. I believe that corporations, governments, and societies will make better decisions if they can incorporate the facts and implications of uncertainty into the discussions and debates. Practitioners of Operations Research have now some new, quite effective solvers available. With the hoped-for progress in modeling tools and integer programming heuristics, this is becoming a quite interesting time for the development of stochastic programming applications. Alan J. King Manager, Optimization under Uncertainty Mathematical Sciences Department, IBM Research [email protected]

VI, n.1 - Spring 2001

Bando Premio di Laurea “Paolo Camerini e Paolo Carraresi” 2001 L’AIRO mette a concorso un premio dell’importo di L. 2.500.000, per una tesi di laurea in “Ottimizzazione discreta e sue applicazioni”. Possono partecipare al concorso gli studenti che abbiano conseguito la laurea presso un’Istituzione Universitaria italiana nel periodo compreso dal 1/9/00 al 31/7/2001, discutendo una tesi nell’area sopra indicata. I concorrenti dovranno far pervenire, improrogabilmente entro il 1 agosto 2001 a:

AIRO Sig.ra Agnese Martinoli Via Serretto 1/4, 16131 Genova un plico raccomandato contenente: a)domanda in carta semplice (contenente i seguenti dati: luogo e data di nascita, domicilio e recapito telefonico del concorrente, titolo e data della tesi, nome del o dei Professori Relatori, voto finale di laurea, elenco degli allegati di cui ai punti b), c), d) successivi); b)n.3 copie della tesi di laurea, di cui una firmata da un Professore Relatore (non è necessario che le copie siano rilegate); c)certificato di studio con l’indicazione della data, del voto finale di laurea e del voto di tutti gli esami sostenuti nei Corsi Universitari; d)ogni altro documento che valga ad evidenziare i meriti del lavoro del concorrente. Il premio sarà assegnato sulla base della qualità scientifica e dell’interesse teorico e/o applicativo dei risultati ottenuti. Il Premio non è cumulabile con altri Premi o con altre Borse banditi dall’AIRO. L’assegnazione del Premio sarà effettuata, con decisione insindacabile, da una Commissione all’uopo nominata dall’AIRO. La Commissione potrà non assegnare il Premio qualora nessuno dei lavori presentati venga considerato meritevole. Possono partecipare tesi congiuntamente presentate da più candidati nella stessa seduta di laurea. In tal caso dovrà presentarsi una domanda congiunta e la certificazione richiesta per ciascuno dei concorrenti. Il premio ove assegnato sarà diviso fra i concorrenti. Dell’esito del concorso sarà data notizia in occasione delle Giornate di Lavoro AIRO 2001, nonché sul notiziario dell’AIRO. I candidati sono invitati a presentare comunicazioni sulla loro tesi in una sessione delle Giornate di Lavoro 2001. Le tesi di laurea e la documentazione presentata non saranno restituite ai concorrenti. Non saranno prese in considerazione le tesi di laurea che perverranno oltre i limiti stabiliti o non siano corredate di tutta la documentazione richiesta o per le quali non siano rispettate tutte le condizioni previste dal presente bando.

4

AIROnews

VI, n.1 - Spring 2001

AIRO ACTIVITIES

ASSOCIAZIONE ITALIANA DI RICERCA OPERATIVA

XXXII Annual Conference of the Operations Research Society of Italy Cagliari, September 4-7, 2001 th 40 ANNIVERSARY OF AIRO

Call for Papers OPERATIONAL RESEARCH IN LAND AND RESOURCES MANAGEMENT http://pcserver.unica.it/AIRO2001 THEME The theme is open, but contributions on Operational Research in Land and Resources Management are particularly appreciated.

DATE AND LOCATION AIRO2001, the Annual Conference of the Operations Research Society of Italy, will be held in Cagliari, Villasimius, on September 4-7, 2001. The conference is a good opportunity of celebrating 40 years of AIRO life and the entrance of the Association in the new millenium, in a beatiful place along the southern coast of Sardinia (Italy) in the middle of Mediterranean Sea.

ORGANIZATION

Authors interested in this opportunity have to submit the full paper within October 30, 2001.

DEADLINES May 5, 2001 = Submission of abstracts June 5, 2001 = Acceptance notice

REGISTRATION FEES *

Ph.Ds. Students

Within 5/7/2001 Euro 260 Euro 94 Euro 36

After 5/7/2001 Euro 310 Euro 104 Euro 46

The Conference is organised into plenary and concurrent sessions. The Conference languages are Italian and English.

The Registration Fee allows the free subscription to AIRO for 2002. For non members it includes the AIRO association fee for the current year.

CALL FOR PAPERS

TRAVEL AND ACCOMMODATION

Researchers and O.R. practitioners wishing to present papers should send an abstract of maximum 300 words within May 5, 2001. The abstract, written in a text or word format file should contain: title, authors, affiliations (tel., fax, e-mail), three key words and at most five references. The abstract must not contain formulas, tables and figures. The file should be sent to:

For detailed information about travelling and accommodation participants may contact the Organizing Secretariat.

AIRO2001 – Prof. Paola Zuddas Dipartimento di Ingegneria del Territorio Sezione Idraulica Università degli Studi di Cagliari Piazza D’Armi 09123 Cagliari – Italy

SELECTION OF PAPERS Acceptance notice will be given to authors within June 5, 2001. Conference Proceedings will be available on the web at the address www.airo.org.

SPECIAL ISSUE OF AIRO JOURNAL A special issue of “Ricerca Operativa”, the AIRO Journal, will be devoted to papers presented at the Conference.

SCIENTIFIC SECRETARIAT AIRO2001 Dipartimento di Ingegneria del Territorio Università degli Studi di Cagliari Piazza D’Armi I-09123 Cagliari, Italy Tel. +39 070 6755320 Fax +39 070 6755310 e-mail: [email protected] http://pcserver.unica.it/AIRO2001

ORGANIZING SECRETARIAT Corsi & Congressi Via Ghibli 8 I-09126 Cagliari, Italy Tel. +39 070 383373 / +39 070 383126 Fax +39 070 3837102 e-mail: [email protected] http://corsiecongressi.com

5

AIROnews

AIRO ACTIVITIES

VI, n.1 - Spring 2001

Corsi di Ricerca Operativa Poliedra-AIRO Poliedra opera dal 1996 come "centro di conoscenza e formazione del Politecnico di Milano" per rafforzare l'integrazione tra accademia e mondo del lavoro, in modo da renderne disponibile il vasto know-how per la formazione continua. Le attività istituzionali di base e la ricerca condotta nei campi dell'ingegneria, dell'architettura e della gestione di impresa alimentano le molteplici iniziative formative di Poliedra, che si caratterizzano per le tematiche interdisciplinari, la flessibilità didattica, il supporto concreto alle aziende. Partecipano al Consorzio Poliedra due tipi di strutture: i Centri interni all'Ateneo ed i Consorzi del Politecnico con aziende ed istituzioni esterne, sorti per sviluppare e trasferire know-how al mondo del lavoro e dotati di autonoma personalità giuridica. Nell'ambito delle iniziative per le aziende il portafoglio Poliedra di prodotti e servizi per lo sviluppo di competenze e l'apprendimento continuo comprende: - Formazione aziendale. Progettazione e sviluppo di interventi interaziendale o realizzati in house su tematiche interdisciplinari, costruzione di sistemi di knowledge management e learning centre aziendali, percorsi di auto-formazione on-line. - Sviluppo delle competenze politecniche nelle PMI: un programma articolato di interventi, realizzato con oltre 100 imprese, per fornire conoscenze e competenze interdisciplinari e per supportare l'introduzione di nuovi approcci, metodi e strumenti operativi. - Servizi di sviluppo Risorse Umane. Selezioni, sistemi di caching, mappatura delle competenze, sviluppo di team, empowerment organizzativo. - Servizio Stage. Convenzioni con le aziende per tirocini di studenti e laureati del Politecnico di Milano. In collaborazione con AIRO, Poliedra annuncia cinque corsi di Ricerca Operativa, destinati ai responsabili dei sistemi informativi aziendali, laureati in discipline scientifiche, tecnologiche ed economiche interessati alla scelta di strumenti di ottimizzazione per la gestione delle risorse aziendali. Valutazione delle azioni di marketing (Data Mining) Periodo: 10-11 maggio 2001 Il corso introduce a metodi e strumenti del Data Mining utili a identificare relazioni e comportamenti nascosti nel database aziendale. Vengono presentati due esempi per studiare gli effetti del marketing e proporre le azioni più vantaggiose. Il primo (Valuation Model) sviluppa un modello di valutazione della risposta del mercato ad una sollecitazione di marketing. Il secondo (Profiling Model) analizza l'offerta di nuovi prodotti da parte di un istituto di credito.

La gestione delle risorse per le industrie di processo Periodo: 18 maggio 2001 Il corso presenta due tipi di modelli utilizzati nella produzione industriale. Il primo esempio proposto tratta del pooling problem relativo ai problemi di flusso dove viene richiesto un determinato valore per le concentrazioni di particolari composti chimici. Il secondo illustra uno scheduling problem riguardante processi a breve termine, in particolare dove gli impianti debbono coordinare attività in parallelo da loro concorrenti. Modellatori a confronto Periodo: 24-25 maggio 2001 Il corso offre un'analisi comparata di alcuni strumenti per formalizzare i modelli di ottimizzazione con lo scopo di metterne in risalto le caratteristiche e l'integrazione nei vari ambienti operativi. In ambiente Microsoft Windows vengono confrontati alcuni prodotti nella risoluzione di modelli lineari e a numeri interi. La prima parte del corso riguarda GAMS, LINGO e MPL; la seconda parte AMPL Plus, EasyModeler e Visual XPRESS. Strumenti per la logistica Periodo: 29-31 maggio 2001 Il corso introduce alle tecniche di decomposizione utilizzate per risolvere modelli di logistica di grandi dimensioni. Vengono descritte le funzioni script del modellatore AMPL Plus applicate a problemi di multicommodity e location-transportation. Alla presentazione fanno seguito esercitazioni dedicate alla soluzione del problema disaggregato di multicommodity. Strumenti e tecniche di ottimizzazione Periodo: 5-8 giugno 2001 Il corso prepara all'utilizzo di strumenti per formulare e risolvere un modello di ottimizzazione. Tramite l'uso del linguaggio AMPL Plus e del motore di ottimizzazione CPLEX, vengono presentati modelli di product-mix, transshipment, multicommodity e lot sizing. Il corso comprende esercitazioni al calcolatore dedicate alla formulazione dei modelli ed alla discussione dei risultati. Per informazioni dettagliate e per conoscere il costo d'iscrizione rivolgersi a: Poliedra, Sede Operativa, Via Fucini 2, 20123 Milano tel. 02 2399 2900, fax 02 2399 2901 e-mail: [email protected] Direttore dei corsi: Tito A. Ciriani, [email protected]

6

AIROnews

SAILING

VI, n.1 - Spring 2001

IBM Stochastic Solution by Tito A. Ciriani and Stefano Gliozzi

“The more precisely the position is determined, the less precisely the momentum is known” Werner Karl Heisenberg - Zs. f. Phys., 43, 172-198, 1927

Werner Karl Heisenberg

Preface specialized driver programs. Their functions support adExact optimum is the well-known LP’s target. But uncertainty vanced model generation, control of solver operation characterizes real systems. Accorthrough callbacks, and analysis of solution data. Input dingly we deal with stochastic symodules support in-core modeling of stochastic programs, stem’s data and we get uncertain user callbacks monitor solver progress, and data access optimization results. Uncertainty modules retrieve the solution for use in application procesprinciple bounds our exactness sing. aspiration. Luckily the Planck’s constant is very small. Functions Tito.A.Ciriani Stochastic Solutions provides functional support in [email protected] ling, solving, and analyzing solution data for multiperiod Tito A. Ciriani stochastic programs. The modeling phase includes: Core LP. Specification of a Core linear program. Overview Stochastic programming supports decision making under Time Stages. Identification of Time Stages. uncertainty[5]. The implemented methodologies bring un- Stochastics. Definition of the Stochastic information for certain future scenarios into the framework of linear pro- the distribution of the random variables. gramming. Stochastic programming models the allocation The solver phase includes: Model Size. Identification of the size of the of today's resources to meet tomorrow's unkmodel. nown demands. Then the user can explore the Decomposition. Decomposition of the model trade offs with respect to expected risks and into subproblems. rewards. The stochastic programming approach Algorithm. Invocation of the L-shaped (Benders) manages large amount of input data, improved decomposition algorithm. decomposition algorithms[6], and difficult analyTermination. Interpretation of the algorithm's sis of large solution reports. IBM Stochastic termination criteria. Solutions[4] offers new technology to help the Stefano Gliozzi The analysis of solution data is a complex issue -user meet the demands of modeling stochastic the number of ways the user can implement the functions programs. It is the first commercial-grade optimization solution to implement the Stochastic Mathematical Pro- of the Stochastic Solution is so great that it is difficult to gramming System (SMPS) input format[2] for multistage anticipate every user's requirement. The Solver enables: stochastic programs. The solver provides a robust and fast Activities. Access to column and row solution activity decomposition approach. In addition the callable modules levels by scenario and stage, and allow the user to access node-by-node data and solutions. Distribution. Access to distributions of problem data The components of IBM Stochastic Solutions are a stand- items (such as the value of the objective). alone solver and a suite of callable modules for advanced Complete access to all solution data, including dual infordevelopment. The stand-alone solver runs with multiple mation, is enabled through the use of the Callable Moduswitches and command line parameters. It inputs the les. SMPS format to the decomposition solver. The callable modules facilitate the integration of IBM Stochastic Solu- Solver’s use tions into applications. They are accessed by constructing Most users will find that the easiest way to use the IBM

7

AIROnews

SAILING

Stochastic Solution is through the Solver [4]. The Solver is controlled by command line arguments. By specifying different arguments, different calls to the Solver can perform many functions. To input the model you can use the function: oslstslv -inputformat=mps -input= modelout= Models a multiperiod stochastic program using the SMPS standard. The dimensions of the multiperiod stochastic program are printed out. The model is stored in a binary file modelname.spl. To solve the saved model the following funcion can be called: oslstslv -inputformat=spl -input= solve=yes Additional flags implement decomposition. For instance: -decompose=yes -cutperiod=3 Employs the L-shaped decomposition method for a description of the decomposition method, with the tree cut at period 3. -masteriter=10 Limits the number of master problem iterations. If the problem is not solved in this number of master iterations, the problem is turned over to the simplex solver. -subproblems=5 Limits the number of subproblems (the master problem is one of these). This is a crude method of controlling the subproblem size to achieve more efficient use of processor resources. Generally speaking, the simplex method is faster than decomposition up to a certain problem size. The threshold depends on processor configuration and problem difficulty. Additional flags control the destination of output, whether the problem is a maximization or minimization, and so forth. The formulation of stochastic programs is a sophisticated undertaking that may require expert advice from application domains, probability and statistics, and the numerical modeling of decision systems. Problem examples are provided that indicate various types of formulations and analyses. These may be useful as templates. Use of the Callable Modules The motivating principle of IBM Stochastic Solutions is to free the user from the complex task of managing multistage stochastic data structures common to all stochastic programs.

VI, n.1 - Spring 2001

To implement this aim, IBM Stochastic Solutions provides several independent clusters of user callable modules corresponding roughly to initialization and input, tree generation, model formation and data transfer, solution via Benders decomposition, and user-access to data and information. Version 3 of IBM Stochastic Solutions includes additional callable modules to solve Stochastic Mixed Integer Programming models[3]. These modules are accessed by writing a driver program. Example drivers are provided. Here we give an overview of the basic structures of a stochastic solution driver. All information concerning a particular instance of a stochastic program is organized as a structured data type called Stoch_Data. This structure is initialized by a call to subroutine ekks_InitializeApplication, which returns a pointer to the Stoch_Data data type. Every Callable Module uses this pointer to access the data of the stochastic program. Multiple instances of stochastic programs can appear in the same program module, each with their own unique Stoch_Data pointer. The generic IBM Stochastic Solution driver consists of five subroutine calls: include "ekkstoch.h" Stoch_Data *stoch_data; ekk_Initialize(); ekks_InitializeApplication(&rc,&stoch_dat a,...); ekks_CreateCore(&rc,stoch_data,... ); for(s=0;s