Scenario tree generation for stochastic programming models using GAMS/SCENRED

Similar documents
Approximations of Stochastic Programs. Scenario Tree Reduction and Construction

Scenario reduction and scenario tree construction for power management problems

Scenario Reduction and Scenario Tree Construction for Power Management Problems

Energy Systems under Uncertainty: Modeling and Computations

Scenario Generation for Stochastic Programming Introduction and selected methods

Approximation of Continuous-State Scenario Processes in Multi-Stage Stochastic Optimization and its Applications

Dynamic Risk Management in Electricity Portfolio Optimization via Polyhedral Risk Functionals

Worst-case-expectation approach to optimization under uncertainty

Robust Dual Dynamic Programming

Scenario Reduction and Scenario Tree Construction for Power Management Problems

Stochastic Dual Dynamic Programming Algorithm for Multistage Stochastic Programming

Stochastic Dynamic Programming Using Optimal Quantizers

Scenario Construction and Reduction Applied to Stochastic Power Generation Expansion Planning

Multistage Stochastic Demand-side Management for Price-Making Major Consumers of Electricity in a Co-optimized Energy and Reserve Market

Introduction to Probability Theory and Stochastic Processes for Finance Lecture Notes

From Discrete Time to Continuous Time Modeling

Multistage risk-averse asset allocation with transaction costs

Arbitrage Conditions for Electricity Markets with Production and Storage

EC316a: Advanced Scientific Computation, Fall Discrete time, continuous state dynamic models: solution methods

Dynamic Replication of Non-Maturing Assets and Liabilities

Pre-Conference Workshops

Equity correlations implied by index options: estimation and model uncertainty analysis

Robust Longevity Risk Management

Multistage Stochastic Programs

DASC: A DECOMPOSITION ALGORITHM FOR MULTISTAGE STOCHASTIC PROGRAMS WITH STRONGLY CONVEX COST FUNCTIONS

Mortgage Loan Portfolio Optimization Using Multi-Stage Stochastic Programming

Binomial model: numerical algorithm

Yao s Minimax Principle

MATH3075/3975 FINANCIAL MATHEMATICS TUTORIAL PROBLEMS

6.231 DYNAMIC PROGRAMMING LECTURE 8 LECTURE OUTLINE

Large-Scale SVM Optimization: Taking a Machine Learning Perspective

MULTI-STAGE STOCHASTIC ELECTRICITY PORTFOLIO OPTIMIZATION IN LIBERALIZED ENERGY MARKETS

The Value of Stochastic Modeling in Two-Stage Stochastic Programs

Optimal Search for Parameters in Monte Carlo Simulation for Derivative Pricing

The Optimization Process: An example of portfolio optimization

Contract Theory in Continuous- Time Models

Particle methods and the pricing of American options

Spot and forward dynamic utilities. and their associated pricing systems. Thaleia Zariphopoulou. UT, Austin

Math 416/516: Stochastic Simulation

Simple Improvement Method for Upper Bound of American Option

The Stigler-Luckock model with market makers

IEOR E4703: Monte-Carlo Simulation

Enlargement of filtration

A New Scenario-Tree Generation Approach for Multistage Stochastic Programming Problems Based on a Demerit Criterion

Forward Dynamic Utility

Stochastic Dual Dynamic Programming

Assets with possibly negative dividends

Report for technical cooperation between Georgia Institute of Technology and ONS - Operador Nacional do Sistema Elétrico Risk Averse Approach

Stochastic Proximal Algorithms with Applications to Online Image Recovery

Option Pricing with Delayed Information

APPROXIMATING FREE EXERCISE BOUNDARIES FOR AMERICAN-STYLE OPTIONS USING SIMULATION AND OPTIMIZATION. Barry R. Cobb John M. Charnes

Deterministic Income under a Stochastic Interest Rate

Making Complex Decisions

On Complexity of Multistage Stochastic Programs

Stochastic Programming and Financial Analysis IE447. Midterm Review. Dr. Ted Ralphs

Multistage Stochastic Programming

Scenario Generation and Sampling Methods

Provably Near-Optimal Balancing Policies for Multi-Echelon Stochastic Inventory Control Models

Asymptotic results discrete time martingales and stochastic algorithms

Chapter 5 Finite Difference Methods. Math6911 W07, HM Zhu

EE266 Homework 5 Solutions

6.231 DYNAMIC PROGRAMMING LECTURE 10 LECTURE OUTLINE

Stochastic Programming IE495. Prof. Jeff Linderoth. homepage:

Tangent Lévy Models. Sergey Nadtochiy (joint work with René Carmona) Oxford-Man Institute of Quantitative Finance University of Oxford.

Stochastic Optimization Methods in Scheduling. Rolf H. Möhring Technische Universität Berlin Combinatorial Optimization and Graph Algorithms

- Introduction to Mathematical Finance -

Yield curve event tree construction for multi stage stochastic programming models

Dynamic Asset and Liability Management Models for Pension Systems

Stochastic Programming in Gas Storage and Gas Portfolio Management. ÖGOR-Workshop, September 23rd, 2010 Dr. Georg Ostermaier

The ruin probabilities of a multidimensional perturbed risk model

Solving real-life portfolio problem using stochastic programming and Monte-Carlo techniques

FE610 Stochastic Calculus for Financial Engineers. Stevens Institute of Technology

Hedging of Contingent Claims under Incomplete Information

Optimal construction of a fund of funds

Introduction to Sequential Monte Carlo Methods

Optimal investments under dynamic performance critria. Lecture IV

HEDGING BY SEQUENTIAL REGRESSION : AN INTRODUCTION TO THE MATHEMATICS OF OPTION TRADING

Dynamic Portfolio Choice II

A No-Arbitrage Theorem for Uncertain Stock Model

Portfolio optimization via stochastic programming: Methods of output analysis

LECTURE 4: BID AND ASK HEDGING

Exponential utility maximization under partial information

Risk Neutral Valuation

Assessing Policy Quality in Multi-stage Stochastic Programming

Hints on Some of the Exercises

Long Term Values in MDPs Second Workshop on Open Games

Optimal prepayment of Dutch mortgages*

SAQ KONTROLL AB Box 49306, STOCKHOLM, Sweden Tel: ; Fax:

Regression estimation in continuous time with a view towards pricing Bermudan options

Markov Decision Processes II

Martingales. by D. Cox December 2, 2009

Lecture 6 Dynamic games with imperfect information

Revenue Management Under the Markov Chain Choice Model

4 Martingales in Discrete-Time

MAFS Computational Methods for Pricing Structured Products

Stochastic Calculus for Finance

Modelling Anti-Terrorist Surveillance Systems from a Queueing Perspective

Strategies for Improving the Efficiency of Monte-Carlo Methods

Robust portfolio optimization under multiperiod mean-standard deviation criterion

Stochastic Optimal Control

Transcription:

Scenario tree generation for stochastic programming models using GAMS/SCENRED Holger Heitsch 1 and Steven Dirkse 2 1 Humboldt-University Berlin, Department of Mathematics, Germany 2 GAMS Development Corp., Washington D.C., United States of America INFORMS Annual Meeting Washington D.C., October 12-15, 2008

Overview What is GAMS/SCENRED about GAMS/SCENRED is a link between the well-known General Algebraic Modeling System (GAMS) and the software tool SCENRED SCENRED provides a collection of software routines dealing with recent scenario tree manipulation algorithms in stochastic programming It is developed at the Department of Mathematics at Humboldt- University Berlin by the research group of Prof. Werner Römisch A first version of GAMS/SCENRED has been available since 2002 Now we offer a basically extended version SCENRED2 What is new in SCENRED2 SCENRED has been extended by scenario tree construction tools Available scenario reduction methods are improved by new metrics A lot of visualization functions (connected to GNUPLOT) are integrated Scenario tree generation for stochastic programming models using GAMS/SCENRED Holger Heitsch and Steven Dirkse INFORMS 2008 1

About Scenario Reduction Introduction Stochastic programs deal with finite sets of scenarios to model the probabilistic information on random data The number of scenarios could be very large Scenario reduction becomes important to reduce the high sized scenario based models to make them numerical tractable Scenario reduction aims to reduce the number of scenarios and to maintain the probability information as good as possible! Scenario tree generation for stochastic programming models using GAMS/SCENRED Holger Heitsch and Steven Dirkse INFORMS 2008 2

About Scenario Reduction Probability metrics To control the probability information probability metrics are needed Optimal values behave stable with respect to small perturbations of the underlying distribution in terms of probability metrics of the form d F (P, Q) = sup f (ξ)p(dξ) f (ξ)q(dξ) f F Ξ Linear case: F c := {f : Ξ } Ê f (ξ) f ( ξ) c(ξ, ξ) for all ξ, ξ Ξ } c(ξ, ξ) := max {1, ξ ξ 0 r 1, ξ ξ 0 r 1 ξ ξ Metrics of this type are called Fortet-Mourier metrics of order r Ξ Scenario tree generation for stochastic programming models using GAMS/SCENRED Holger Heitsch and Steven Dirkse INFORMS 2008 3

About Scenario Reduction Dual representation The dual representation of probability metrics are of the form { } µ c (P, Q) = inf c(ξ, ξ)η(dξ, d ξ) : η M(P, Q) Ξ Ξ These are the Monge-Kantorovich transport functionals It holds d Fc (P, Q) µ c (P, Q) and d Fc (P, Q) = µĉ(p, Q) for the so-called reduced costs ĉ with n+1 ĉ(ξ, ξ) := inf c(z j 1, z j ) : z 0 = ξ, z n+1 = ξ, z j Ξ, n Æ j=1 SCENRED2 allows to control the scenario reduction w.r.t. both the Fortet-Mourier metric and the Monge-Kantorovich functional! Scenario tree generation for stochastic programming models using GAMS/SCENRED Holger Heitsch and Steven Dirkse INFORMS 2008 4

About Scenario Reduction The dual reformulation allows to compute the scenario reduction without solving the underlying transport problem The problem of optimal scenario reduction is to find convenient scenarios for removing and it can be stated as { min D J := } p i min j / J ĉ(ξi, ξ j ) J {1,..., N}, #J = N n i J Approximative solutions by fast (heuristic) algorithms Backward Reduction: Delete scenario u k such that D J k 1 {u k } = min u/ J k 1 D J k 1 {u} Forward Selection: Select scenarien u k such that D J k 1 \{u k } = min u J k 1 D J k 1 \{u} Scenario tree generation for stochastic programming models using GAMS/SCENRED Holger Heitsch and Steven Dirkse INFORMS 2008 5

About Scenario Reduction Example 2-dimensional normal distribution Scenario reduction of the normal distribution from 10 000 scenarios to 20 3 2 1 0-1 -2-3 -3-2 -1 0 1 2 3 Scenario tree generation for stochastic programming models using GAMS/SCENRED Holger Heitsch and Steven Dirkse INFORMS 2008 6

About Scenario Reduction Example 2-dimensional normal distribution Scenario reduction of the normal distribution from 10 000 scenarios to 20 3 2 1 0-1 -2-3 -3-2 -1 0 1 2 3 Scenario tree generation for stochastic programming models using GAMS/SCENRED Holger Heitsch and Steven Dirkse INFORMS 2008 6

Scenario Tree Construction Introduction We concider a multiperiod decision problem of the form Observation Observation Observation... Decision Decision Decision Decision Time We have a time discrete stochastic input process ξ = (ξ 1,..., ξ T ) We introduce a decision process x = (x 1,..., x T ), where the stage decision x t only depends on outcomes ξ 1,..., ξ t Observation: A multistage stochastic program implies a certain information structure: F 1 (ξ)... F t (ξ)... F T (ξ) (F t(ξ) denotes the σ-field generated by (ξ 1,..., ξ t)) Scenario tree generation for stochastic programming models using GAMS/SCENRED Holger Heitsch and Steven Dirkse INFORMS 2008 7

Scenario Tree Construction Assuming that the support of ξ is infinite: We have an infinite dimensional optimization problem Optimization problem is intractable in general Replace ξ by a scenario tree approximation ξ tr (finite distribution) 500 0-500 0 24 48 72 96 120 144 168 How does the optimal value change when ξ is replaced by ξ tr? Scenario tree generation for stochastic programming models using GAMS/SCENRED Holger Heitsch and Steven Dirkse INFORMS 2008 8

Scenario Tree Construction Theorem (Stability Heitsch/Römisch/Strugarek 06) Under some regularity assumptions it holds for ξ ξ r < δ: ( ) v(ξ) v( ξ) L ξ ξ r + D f (ξ, ξ), where v( ) denotes the optimal value and D f (ξ, ξ) is a distance of the filtrations defined by ξ and ξ, respectively. The filtration (information) distance is defined by D f (ξ, ξ) := inf x S(ξ) x S( ξ) T 1 t=2 { } max x t [x t F t ( ξ)] r, x t [ x t F t (ξ)] r Here S(ξ) denotes the solution set of the model with input ξ. Scenario tree generation for stochastic programming models using GAMS/SCENRED Holger Heitsch and Steven Dirkse INFORMS 2008 9

Scenario Tree Construction General approach 1. Providing of scenarios ξ i with probabilities p i, i = 1,...,N: Adaption of a statistic model for the underlying data process (decomposition of historical data, cluster analysis, time series models, stress scenarios) Simulation of scenarios out of the statistic model (may be a large number of scenarios) 2. Construction of the scenario tree out of scenarios ξ i based on stagewise approximations: Choose a construction ε-percentage (should depend on the number of scenarios) Determine a scenario tree ξtr by recursive scenario reduction (both the probability distance and the filtration distance can be controlled by this approach) Scenario tree generation for stochastic programming models using GAMS/SCENRED Holger Heitsch and Steven Dirkse INFORMS 2008 10

Scenario Tree Construction Recursive forward scenario reduction: t = 1 t = 2 t = 3 t = 4 t = 5 t = 1 t = 2 t = 3 t = 4 t = 5 t = 1 t = 2 t = 3 t = 4 t = 5 t = 1 t = 2 t = 3 t = 4 t = 5 t = 1 t = 2 t = 3 t = 4 t = 5 t = 1 t = 2 t = 3 t = 4 t = 5 Scenario tree generation for stochastic programming models using GAMS/SCENRED Holger Heitsch and Steven Dirkse INFORMS 2008 11

Scenario Tree Construction Recursive backward scenario reduction: t = 1 t = 2 t = 3 t = 4 t = 5 t = 1 t = 2 t = 3 t = 4 t = 5 t = 1 t = 2 t = 3 t = 4 t = 5 t = 1 t = 2 t = 3 t = 4 t = 5 t = 1 t = 2 t = 3 t = 4 t = 5 t = 1 t = 2 t = 3 t = 4 t = 5 Scenario tree generation for stochastic programming models using GAMS/SCENRED Holger Heitsch and Steven Dirkse INFORMS 2008 12

Example Problem Stochastic purchase problem [ 3 min t=1 ξ t x t ] x t 0, x t is F t (ξ)-measurable, x 1 + x 2 + x 3 1 Assumptions ξ 1 is deterministic and ξ 1 1 ξ 2 U([0, 1]) (uniformly distributed) ξ 3 L([0, 1]) (linear distributed) with slope depending on ξ 2 : È ( ξ 3 [a, b] ξ2 = x ) = b a [ 2(1 x) 2(1 2x)y ] dy Scenario tree generation for stochastic programming models using GAMS/SCENRED Holger Heitsch and Steven Dirkse INFORMS 2008 13

Example Problem Probability distribution 1 2 1 0 Component ξ 3 1 0 Component ξ 2 1 0 Component ξ 3 0 0 1 Component ξ 2 Joint density function of the stochastic components (ξ 2, ξ 3 ) Scenario tree generation for stochastic programming models using GAMS/SCENRED Holger Heitsch and Steven Dirkse INFORMS 2008 14

Example Problem Analytical solution Optimal decision { { 1, if ξ2 x 1 0, x 2 = 1 2 1, if 0, otherwise, x ξ2 > 3 = 1 2 0, otherwise Optimal value (OPT) / Value of perfect information (VOPI) OPT = 0.4167 VOPI = 0.3667 Scenario tree generation for stochastic programming models using GAMS/SCENRED Holger Heitsch and Steven Dirkse INFORMS 2008 15

Example Problem Construction of the scenario tree 1 Component ξ 3 0 0 1 Component ξ 2 Scenario tree generation for stochastic programming models using GAMS/SCENRED Holger Heitsch and Steven Dirkse INFORMS 2008 16

Example Problem Construction of the scenario tree Simulation of a scenario sample ξ 1,...,ξ N based on the distribution 1 Component ξ 3 0 0 1 1 2 3 Component ξ 2 Scenario tree generation for stochastic programming models using GAMS/SCENRED Holger Heitsch and Steven Dirkse INFORMS 2008 16

Example Problem Construction of the scenario tree Simulation of a scenario sample ξ 1,...,ξ N based on the distribution GAMS/SCENRED2 allows to generate a scenario tree 1 Component ξ 3 0 0 1 1 2 3 Component ξ 2 Scenario tree generation for stochastic programming models using GAMS/SCENRED Holger Heitsch and Steven Dirkse INFORMS 2008 16

Example Problem OPT = 0.4167 / VOPI = 0.3667 Numerical results Sample Scenarios Tree size OPT VOPI 200 0.4156 A 500 100 0.4179 0.3629 50 0.4164 200 0.4162 B 500 100 0.4197 0.3640 50 0.4179 200 0.4245 C 500 100 0.4261 0.3749 50 0.4246 200 0.4092 D 500 100 0.4121 0.3632 50 0.4114 Scenario tree generation for stochastic programming models using GAMS/SCENRED Holger Heitsch and Steven Dirkse INFORMS 2008 17

Using GAMS/SCENRED Organization of the GAMS program 1. Data: set & parameter declarations and definitions include SCENRED symbols by: $libinclude scenred.gms setup scenarios (by nodes) and options for SCENRED run 2. SCENRED call: export data from GAMS to SCENRED (using GDX unload) execute SCENRED or SCENRED2 import data from SCENRED to GAMS (using GDX load) 3. Model: variable & equation declarations and definitions model definitions using node subsets of reduced/constructed tree solve the model Example: An implementation of the stochastic purchase example problem is available as GAMS program ( srpurchase.gms ) Scenario tree generation for stochastic programming models using GAMS/SCENRED Holger Heitsch and Steven Dirkse INFORMS 2008 18