An introduction to stochastic programming H.I. Gassmann.

Slides:



Advertisements
Similar presentations
Solving LP Models Improving Search Special Form of Improving Search
Advertisements

Solver and modelling support for stochastic programming H.I. Gassmann, Dalhousie University Happy Birthday András, November 2009.
Fast Algorithms For Hierarchical Range Histogram Constructions
Neural and Evolutionary Computing - Lecture 4 1 Random Search Algorithms. Simulated Annealing Motivation Simple Random Search Algorithms Simulated Annealing.
MS&E 211 Quadratic Programming Ashish Goel. A simple quadratic program Minimize (x 1 ) 2 Subject to: -x 1 + x 2 ≥ 3 -x 1 – x 2 ≥ -2.
1 Dynamic portfolio optimization with stochastic programming TIØ4317, H2009.
Budapest May 27, 2008 Unifying mixed linear models and the MASH algorithm for breakpoint detection and correction Anders Grimvall, Sackmone Sirisack, Agne.
Computational Stochastic Optimization:
Image Indexing and Retrieval using Moment Invariants Imran Ahmad School of Computer Science University of Windsor – Canada.
Applications of Stochastic Programming in the Energy Industry Chonawee Supatgiat Research Group Enron Corp. INFORMS Houston Chapter Meeting August 2, 2001.
Decision Making: An Introduction 1. 2 Decision Making Decision Making is a process of choosing among two or more alternative courses of action for the.
10/11/2001Random walks and spectral segmentation1 CSE 291 Fall 2001 Marina Meila and Jianbo Shi: Learning Segmentation by Random Walks/A Random Walks View.
Principal Component Analysis CMPUT 466/551 Nilanjan Ray.
Stochastic Differentiation Lecture 3 Leonidas Sakalauskas Institute of Mathematics and Informatics Vilnius, Lithuania EURO Working Group on Continuous.
Implicit Hitting Set Problems Richard M. Karp Harvard University August 29, 2011.
Dimensional reduction, PCA
Job Release-Time Design in Stochastic Manufacturing Systems Using Perturbation Analysis By: Dongping Song Supervisors: Dr. C.Hicks & Dr. C.F.Earl Department.
Dynamic lot sizing and tool management in automated manufacturing systems M. Selim Aktürk, Siraceddin Önen presented by Zümbül Bulut.
Lecture outline Support vector machines. Support Vector Machines Find a linear hyperplane (decision boundary) that will separate the data.
Planning operation start times for the manufacture of capital products with uncertain processing times and resource constraints D.P. Song, Dr. C.Hicks.
Basic Definitions Data Structures: Data Structures: A data structure is a systematic way of organizing and accessing data. Or, It’s the logical relationship.
Linear Discriminant Functions Chapter 5 (Duda et al.)
June 2001 Universita’ degli Studi di Bergamo Corso di dottorato di ricerca 1 Asset/Liability Management Models in Insurance.
Computational Stochastic Optimization: Bridging communities October 25, 2012 Warren Powell CASTLE Laboratory Princeton University
ECES 741: Stochastic Decision & Control Processes – Chapter 1: The DP Algorithm 1 Chapter 1: The DP Algorithm To do:  sequential decision-making  state.
Recent Changes to the Optimization Services Project H.I. Gassmann, Faculty of Management J. Ma, Northwestern University R.K. Martin, The University of.
1 Outline:  Outline of the algorithm  MILP formulation  Experimental Results  Conclusions and Remarks Advances in solving scheduling problems with.
Extensions to the OSiL schema: Matrix and cone programming Horand I. Gassmann, Dalhousie University Jun Ma, Kipp Martin, Imre Polik.
New developments in OSiL, OSoL and OS H.I. Gassmann R.K. Martin,J. Ma INFORMS Annual meeting, Washington, DC, October 2008.
Some Probability Theory and Computational models A short overview.
17 July 2006DIMACS 2006 COIN-SMI 2006 Alan King IBM TJ Watson Research Center.
Stochastic Linear Programming by Series of Monte-Carlo Estimators Leonidas SAKALAUSKAS Institute of Mathematics&Informatics Vilnius, Lithuania
Design of an Evolutionary Algorithm M&F, ch. 7 why I like this textbook and what I don’t like about it!
Practical Dynamic Programming in Ljungqvist – Sargent (2004) Presented by Edson Silveira Sobrinho for Dynamic Macro class University of Houston Economics.
Adviser: Frank, Yeong-Sung Lin Presenter: Yi-Cin Lin.
Dynamic Programming Applications Lecture 6 Infinite Horizon.
Exact and heuristics algorithms
Ch 8. Graphical Models Pattern Recognition and Machine Learning, C. M. Bishop, Revised by M.-O. Heo Summarized by J.W. Nam Biointelligence Laboratory,
Conformant Probabilistic Planning via CSPs ICAPS-2003 Nathanael Hyafil & Fahiem Bacchus University of Toronto.
Sparse Kernel Methods 1 Sparse Kernel Methods for Classification and Regression October 17, 2007 Kyungchul Park SKKU.
An XML-based schema for stochastic programs H.I. Gassmann, R. Fourer, J. Ma, R.K. Martin EURO XXI, June 2006, Reykjavik.
Author: Tadeusz Sawik Decision Support Systems Volume 55, Issue 1, April 2013, Pages 156–164 Adviser: Frank, Yeong-Sung Lin Presenter: Yi-Cin Lin.
Implicit Hitting Set Problems Richard M. Karp Erick Moreno Centeno DIMACS 20 th Anniversary.
Stochastic Optimization
Resource Allocation in Hospital Networks Based on Green Cognitive Radios 王冉茵
OSiL: An XML-based schema for stochastic programs H.I. Gassmann, R. Fourer, J. Ma, R.K. Martin SP XI Vienna, August 2007.
Introduction to Integer Programming Integer programming models Thursday, April 4 Handouts: Lecture Notes.
Data requirements for stochastic solvers H.I. Gassmann Dalhousie University Halifax, Canada.
Introduction and Preliminaries D Nagesh Kumar, IISc Water Resources Planning and Management: M4L1 Dynamic Programming and Applications.
Parametric Quadratic Optimization Oleksandr Romanko Joint work with Alireza Ghaffari Hadigheh and Tamás Terlaky McMaster University January 19, 2004.
MS&E 348 The L-Shaped Method: Theory and Example 2/5/04 Lecture.
Water resources planning and management by use of generalized Benders decomposition method to solve large-scale MINLP problems By Prof. André A. Keller.
Part 3: Estimation of Parameters. Estimation of Parameters Most of the time, we have random samples but not the densities given. If the parametric form.
Computation of the solutions of nonlinear polynomial systems
Analytics and OR DP- summary.
6.5 Stochastic Prog. and Benders’ decomposition
Machine Learning Basics
Decomposition Methods
LPSAT: A Unified Approach to RTL Satisfiability
Chapter 6. Large Scale Optimization
Lecture 2 – Monte Carlo method in finance
GENERAL VIEW OF KRATOS MULTIPHYSICS
Principal Component Analysis
Where did we stop? The Bayes decision rule guarantees an optimal classification… … But it requires the knowledge of P(ci|x) (or p(x|ci) and P(ci)) We.
A Mathematical Programming Language
Flow Feasibility Problems
An XML-based schema for stochastic programs
6.5 Stochastic Prog. and Benders’ decomposition
Chapter 6. Large Scale Optimization
Optimization under Uncertainty
Presentation transcript:

An introduction to stochastic programming H.I. Gassmann

© 2006 H.I. Gassmann Overview Introduction A taxonomy of stochastic programming problems Algorithms Instance representations An XML format for stochastic programs Conclusions

© 2006 H.I. Gassmann Stochastic programming Decision making under uncertainty Very general class of problems: –How to create and manage a portfolio Optimal investment sequences, given –Historic distribution of returns and covariances –Horizon, financial goals, regulatory constraints, etc. –How to harvest a forest Optimal harvest sequence, given –Random incidence of forest fires, pest, etc. –How to generate power Random data on demand, rates, parameters –etc.

© 2006 H.I. Gassmann Common characteristics Large-scale optimization models Some problem parameters unknown Assume distribution of parameters known (Otherwise: Optimization under risk)

© 2006 H.I. Gassmann Multistage stochastic linear program Any data item with nonzero subscript may be random (including dimensions where mathematically sensible) ~ stands for arbitrary relation ( , =,  ) “ ”

© 2006 H.I. Gassmann Constraints involving random elements  means ~ with probability 1 or with probability at least  or with expected violation at most v or …

© 2006 H.I. Gassmann Problem classes Recourse problems –All constraints hold with probability 1 –Minimize expected objective value Chance-constrained problems –Typically single stage Hybrid problems –Recourse problems including probabilistic constraints (VaR) or integrated chance constraints (CVaR) –Regulatory necessity –Often modelled using integer variables and/or linking constraints Distribution problems –Determine distribution of optimum objective and/or decisions

© 2006 H.I. Gassmann Taxonomy of stochastic programming problems

© 2006 H.I. Gassmann Event trees for finite distributions Display evolution of information

© 2006 H.I. Gassmann Algorithms for recourse problems Direct solution of the deterministic equivalent –“Curse of dimensionality” Decomposition –Recognize structure –Repeated calls to solver with different data –Configuration and sequencing of subproblems

© 2006 H.I. Gassmann Benders Decomposition Decompose event tree into nodal problems: In sequence solve each problem repeatedly Pass primal information to successors Pass dual information to ancestors (cuts)

© 2006 H.I. Gassmann Algorithm variants Different decomposition schemes –Path by path –Several stages at once –etc. Stochastic decomposition –Sequential sampling of subproblems –Suitable for continuous distributions –Convergence in probability

© 2006 H.I. Gassmann Numerical results Problem 1: WATSON –Ten-stage financial investment problem –Various numbers of scenarios –Largest DE: around 700,000 variables Problem 2: STOCHFOR –Stochastic forestry problem –Varying number of time stages –Largest DE: around 500,000 variables

© 2006 H.I. Gassmann Problem characteristics StochForWatson stages scenarios 7292,1876,56119, ,688 nodes 1,0933,2809,84129, ,5345,363 nrows 19,67259,038177,136531,4304,68426,748102,132357,376 ncols 17,48752,479157,455472,3838,40149,153191,994671,861 nelem (DE) 76,467229,557688,8272,066,63721,368128,648526,0781,841,028

© 2006 H.I. Gassmann Watson problem – CPU time scenarios configuration cplex cplex-b nodes path ply N.C.

© 2006 H.I. Gassmann Watson problem - complexity

© 2006 H.I. Gassmann StochFor problem – CPU time Periods configuration78910 cplex cplex-b nodes path ply

© 2006 H.I. Gassmann StochFor problem - complexity

© 2006 H.I. Gassmann Modelling support Often O(10 6 ) variables and constraints Need computer support –Algebraic modelling language (AML) How to express random entities? How to work with random entities? –Databases How to link to AMLs? –Visualization How to present solution and other problem components?

© 2006 H.I. Gassmann What is an instance? Role and number of constraints, objectives, parameters and variables must be known Every parameter’s value must be known Continuous entities vs. discretization –Decision variables –Objective and constraints –Distribution of random variables –Time domain

© 2006 H.I. Gassmann What is a stage? Stages form a subset of the time structure Stages comprise both decisions and events Events must either precede all decisions or follow all decisions Should a stage be decision – event or event – decision ?

© 2006 H.I. Gassmann Why is there a problem? AMPL-like declarations: set time ordered; param demand{t in time} random; Production_balance {t in time}: Inv[t-1] + product[t] >= demand[t] + Inv[t]; Is the constraint well-posed? At least two possible interpretations –Inv[t] set after demand[t] known: recourse form, well-posed –Inv[t] set before demand[t] known: undeclared chance constraint

© 2006 H.I. Gassmann Instance representation SMPS format Algebraic modelling languages Internal representations XML format

© 2006 H.I. Gassmann Example (Birge) … S0 S2S2 S1 I = 2, T = 3, B = 55, R = 80,  t1 = {1.25, 1.06},  t2 = {1.14, 1.12}

© 2006 H.I. Gassmann SMPS format Three files based on MPS format –Core file for deterministic problem components –Time file for dynamic structure –Stoch file for stochastic structure Disadvantages –Old technology –Limited precision (12 digits, including sign) –Limited name space (8 characters) –Direction of optimization (min/max) ambiguous –Linear constraints, quadratic objective only

© 2006 H.I. Gassmann Example (Birge) Core file ROWS Budget0 Object Budget1 Budget2 Budget3 COLS X01 Budget0 1.0 X01 Budget RHS rhs1 Budget0 55. rhs1 Budget3 80. ENDATA Stoch file BLOCKS DISCRETE BL Block1 0.5 X01 Budget X02 Budget BL Block1 0.5 X01 Budget X02 Budget BL Block2 0.5 X11 Budget X12 Budget ENDATA

© 2006 H.I. Gassmann Algebraic modelling languages Characteristics –Similar to algebraic notation –Powerful indexing capability –Data verification possible Disadvantages –Discrete distributions only –Limited consistency checks for stochastic structure

© 2006 H.I. Gassmann AMPL model param T; param penalty; param budget; param target; set instruments; set scenarios; param prob{scenarios}; set slice{t in 0..T} within scenarios; param ancestor {t in 1..T, s in slice[t]}; var over {slice[T]}; var under{slice[T]}; param return {t in 1..T, i in instruments,s in slice[t]}; var invest {t in 0..T-1,i in instruments,s in slice[t]}; maximize net_profit: sum{s in scenarios} prob[s]*(over[s] - penalty*under[s]); subject to wealth{t in 0..T, s in slice[t]}: (if t < T then sum{i in instruments} invest[t,i,s]) = (if t = 0 then budget else sum {i in instruments} return[t,i,s]*invest[t-1,i,ancestor[t,s]]) + if t = T then (under[s] - over[s] + target);

© 2006 H.I. Gassmann Internal representations Seek most compact representation possible –Sparse matrix format is insufficient –Blocks corresponding to nodes in the event tree –Change blocks if problem dimensions are deterministic A stj = A st0 +  A stj (addition or replacement) –Exploit period-to-period independence

© 2006 H.I. Gassmann Storage requirements WatsonForest stages scenarios , ,1876,56119,683 nodes ,5345,3631,0933,2809,84129,524 nrows4,68426,748102,132357,37619,67259,038177,136531,430 ncols8,40149,153191,994671,86117,48752,479157,455472,383 nelem (DE)21,368128,648526,0781,841,02876,467229,557688,8272,066,637 nelem (blk)21,368128,648526,0781,841,02843,887131,397393,8671,181,217 ch_blocks8,28345,695184,800638,69530,78392,049275,787826,941 indep 9271,0771,2271,377

© 2006 H.I. Gassmann OSiL – Optimization Services instance Language Written in XML –Easy to accommodate new features –Existing parsers to check syntax Easy to generate automatically Trade-off between verbosity and human readability

© 2006 H.I. Gassmann OSiL – Header information

© 2006 H.I. Gassmann OSiL – Header information <OSiL xmlns="os.optimizationservices.org“ xmlns:xsi= xsi:schemaLocation="OSiL.xsd"> FinancialPlan_JohnBirge max

© 2006 H.I. Gassmann OSiL – Deterministic information …

© 2006 H.I. Gassmann OSiL – Program data – Constraints and variables

© 2006 H.I. Gassmann OSiL – Core matrix (sparse matrix form)

© 2006 H.I. Gassmann Dynamic structure

© 2006 H.I. Gassmann OSiL – dynamic information

© 2006 H.I. Gassmann Explicit and implicit event trees

© 2006 H.I. Gassmann Scenario trees

© 2006 H.I. Gassmann OSiL – Stochastic information …

© 2006 H.I. Gassmann Distributions

© 2006 H.I. Gassmann Transformations

© 2006 H.I. Gassmann Penalties and probabilistic constraints

© 2006 H.I. Gassmann Node-by-node representation for stochastic problem dimensions

© 2006 H.I. Gassmann Capabilities Arbitrary nonlinear expressions Arbitrary distributions Scenario trees Stochastic problem dimensions Simple recourse Soft constraints with arbitrary penalties Probabilistic constraints Arbitrary moment constraints

© 2006 H.I. Gassmann Nonlinear expression – (x 0 – x 1 2 ) 2 + (1 – x 0 ) 2

© 2006 H.I. Gassmann Example – discrete random vector

© 2006 H.I. Gassmann Further work Readers Internal data structures Solver interfaces Library of problems Buy-in

© 2006 H.I. Gassmann Thank you! myweb.dal.ca/gassmann