Simplified stage-based modeling of multi-stage stochastic programming problems

Similar documents
A Multi-Stage Stochastic Programming Model for Managing Risk-Optimal Electricity Portfolios. Stochastic Programming and Electricity Risk Management

Multistage Stochastic Programming

Dynamic Risk Management in Electricity Portfolio Optimization via Polyhedral Risk Functionals

Energy Systems under Uncertainty: Modeling and Computations

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

Robust Dual Dynamic Programming

Multistage risk-averse asset allocation with transaction costs

Asset-Liability Management

Scenario reduction and scenario tree construction for power management problems

MULTI-STAGE STOCHASTIC ELECTRICITY PORTFOLIO OPTIMIZATION IN LIBERALIZED ENERGY MARKETS

Dynamic Asset and Liability Management Models for Pension Systems

Financial Giffen Goods: Examples and Counterexamples

Optimum Allocation and Risk Measure in an Asset Liability Management Model for a Pension Fund Via Multistage Stochastic Programming and Bootstrap

Dynamic Replication of Non-Maturing Assets and Liabilities

Multistage Stochastic Programs

MULTISTAGE PORTFOLIO OPTIMIZATION AS A STOCHASTIC OPTIMAL CONTROL PROBLEM

Scenario Generation and Sampling Methods

Approximations of Stochastic Programs. Scenario Tree Reduction and Construction

risk minimization April 30, 2007

Introduction to modeling using stochastic programming. Andy Philpott The University of Auckland

Formulations of two-stage and multistage Stochastic Programming

5. Results

A Simple Method for Solving Multiperiod Mean-Variance Asset-Liability Management Problem

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

Worst-case-expectation approach to optimization under uncertainty

Arbitrage Conditions for Electricity Markets with Production and Storage

Stochastic Programming: introduction and examples

Risk aversion in multi-stage stochastic programming: a modeling and algorithmic perspective

Investigation of the and minimum storage energy target levels approach. Final Report

Chapter 6 Pricing Reinsurance Contracts

INTERTEMPORAL ASSET ALLOCATION: THEORY

The Values of Information and Solution in Stochastic Programming

Dynamic Portfolio Choice II

Optimal Portfolio Liquidation with Dynamic Coherent Risk

Pre-Conference Workshops

Optimal investments under dynamic performance critria. Lecture IV

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

Lecture 1: Lucas Model and Asset Pricing

The Optimization Process: An example of portfolio optimization

Risk-based Integrated Production Scheduling and Electricity Procurement

5 th Annual CARISMA Conference MWB, Canada Square, Canary Wharf 2 nd February ialm. M A H Dempster & E A Medova. & Cambridge Systems Associates

Stochastic Programming Models for Asset Liability Management

Assessing Policy Quality in Multi-stage Stochastic Programming

Scenario-Based Value-at-Risk Optimization

Robust Scenario Optimization based on Downside-Risk Measure for Multi-Period Portfolio Selection

Dynamic Appointment Scheduling in Healthcare

A Newsvendor Model with Initial Inventory and Two Salvage Opportunities

Optimal liquidation with market parameter shift: a forward approach

Dynamic Portfolio Optimization Using Evolution Strategy

Math Models of OR: More on Equipment Replacement

Payment mechanisms and risk-aversion in electricity markets with uncertain supply

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

The Multistep Binomial Model

w w w. I C A o r g

Lecture 7: Bayesian approach to MAB - Gittins index

Valuation of Discrete Vanilla Options. Using a Recursive Algorithm. in a Trinomial Tree Setting

Handout 8: Introduction to Stochastic Dynamic Programming. 2 Examples of Stochastic Dynamic Programming Problems

Stochastic Optimization

How Much to Spend on Flexibility? Determining the Value of Information System Flexibility. Abstract

Markowitz portfolio theory

PhD Qualifier Examination

Algorithms and Networking for Computer Games

Log-Robust Portfolio Management

Equilibrium, uncertainty and risk in hydro-thermal electricity systems

Dynamic Portfolio Execution Detailed Proofs

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

Tests for Two Variances

Individual Asset Liability Management: Dynamic Stochastic Programming Solution

Multistage Stochastic Mixed-Integer Programs for Optimizing Gas Contract and Scheduling Maintenance

Optimal construction of a fund of funds

Optimization of Fuzzy Production and Financial Investment Planning Problems

A Recommended Financial Model for the Selection of Safest portfolio by using Simulation and Optimization Techniques

Decision making in the presence of uncertainty

Multi-Period Stochastic Programming Models for Dynamic Asset Allocation

Optimal Security Liquidation Algorithms

1 Dynamic programming

Financial Economics Field Exam January 2008

Portfolio Investment

September 7th, 2009 Dr. Guido Grützner 1

Strategic Trading of Informed Trader with Monopoly on Shortand Long-Lived Information

Introduction to Artificial Intelligence Spring 2019 Note 2

Optimal construction of a fund of funds

Scenario tree generation for stochastic programming models using GAMS/SCENRED

Dynamic Programming (DP) Massimo Paolucci University of Genova

Online Appendix: Extensions

Applied Macro Finance

Mathematics in Finance

Quality Evaluation of Scenario-Tree Generation Methods for Solving Stochastic Programming Problem

Stochastic Dual Dynamic Programming

Forecast Horizons for Production Planning with Stochastic Demand

Section B: Risk Measures. Value-at-Risk, Jorion

Available online at Chemical Engineering and Processing 47 (2008)

Optimal reinsurance strategies

Maximum Downside Semi Deviation Stochastic Programming for Portfolio Optimization Problem

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

Chapter 15: Jump Processes and Incomplete Markets. 1 Jumps as One Explanation of Incomplete Markets

An Approximation Algorithm for Capacity Allocation over a Single Flight Leg with Fare-Locking

VOLATILITY EFFECTS AND VIRTUAL ASSETS: HOW TO PRICE AND HEDGE AN ENERGY PORTFOLIO

Martingale Pricing Theory in Discrete-Time and Discrete-Space Models

Multi-period mean variance asset allocation: Is it bad to win the lottery?

Transcription:

Simplified stage-based modeling of multi-stage stochastic programming problems Ronald Hochreiter Department of Statistics and Decision Support Systems, University of Vienna 11th International Conference on Stochastic Programming (SPXI). Vienna, Austria. August 2007.

Overview Introduction: Multi-stage decision process optimization Multi-stage stochastic programing - Main issues Modeling multi-stage stochastic programming problems Simplified stage-based multi-stage modeling Modeling Examples Conclusion 2

Multi-stage Stochastic Decision Process Discrete-time decision processes considered: Sequence of decisions. At each decision stage t = 0,..., T do: Observe the realization of random variable ξ t. Take a decision x t based on all observed values ξ 0,..., ξ t. At stage T. Sequence of decisions x = (x 0,..., x T ) with realizations ξ = (ξ 0,..., ξ T ) leads to cost f(x, ξ). Goal. Find a sequence of decisions x(ξ), which minimizes a functional (commonly the expectation) of the cost f(x(ξ), ξ). Multi-stage: At least one intermediary stage between root and terminal stage. 3

Multi-stage Stochastic Programming minimize x : F ( ) f(x(ξ), ξ) subject to (x(ξ), ξ) X x N Multi-variate, multi-stage stochastic process ξ. Constraint-Set X defining feasible (x, ξ). Set N of functions ξ x, such that x t is based on realizations up to stage t (ξ 0,..., ξ t ) only (non-anticipativity constraints). Remark. The scenario tree approximation of the underlying stochastic process will inherently fulfill the non-anticipativity constraints. 4

Multi-stage stochastic programming - Main issues Issue One - Modeling underlying decision problem - Multi-stage models and scenario model (tree) handling are considered to be too complex to be used in companies for real-world applications. Communication of tree-based models to non-experts is complicated. Issue Two - Modeling underlying uncertainty - A discrete tree approximation of the underlying stochastic process has to be generated in order to numerically compute a solution. The quality of the scenario model severely affects the quality of the solution (garbage in garbage out). Both issues are valid since the inception of stochastic programming. However, are they properly solved? 5

Modeling multi-stage stochastic programming problems (1) Most stochastic programming modeling environments summarized in: Wallace, S. W. and W. T. Ziemba (Eds.) Applications of stochastic programming. MPS/SIAM Series on Optimization, Vol. 5. SIAM. 2005. Some recent developments were reported by: Lopes, L. - PhD, Northwestern 2003 van Delft, Ch. and Vial, J.-P. - Automatica 2004 Fourer, R. and Lopes, L. - Optimization Online 2006 Thénié, J. et al. - Computational Management Science 2007 Valente, C. et al. - Optimization Online 2007 6

Modeling multi-stage stochastic programming problems (2) Design philosophy. Complete decoupling of scenario tree modeling and handling from the decision problem modeling process. Three-layered approach: explicit decoupling of modeling and (scenario) tree handling. 1. Decision problem layer. Decision problem modeler only concerned with actions/decisions at stages. 2. Scenario tree layer. Creating a scenario tree which optimally represents the subjective beliefs of the decision taker at each node. 3. Data layer. Data structures, how to (memory-)optimally store large trees, and access ancestor tree nodes fast,... Design goal. Focus on usability, and model readability. 7

Three-layered approach (1) (1) Modeler View (Stage) (2) Stochastic View (Tree) (3) Data View (Node) Root Stage Recourse Stage Terminal Stage 8

Three layered approach (2) Scenario Tree Handling. Need for a coherent interface to handle scenario trees. Still no common standard for representing discretized stochastic processes available. Lack of commercial interest?! Node-based vector/matrix data format of a scenario tree: V (n, d) A(n) P (n) Z(n) T (n) d-dimensional value of node n ancestor node of node n probability to reach node n from its ancestor probability of scenario terminating at node n stage of node n Underlying concept. Node-sets N t, include all tree nodes of stage t. Deterministic root-node and root-stage indexed with 0. 9

A simple multi-stage model Stylized multi-stage stochastic programming example from (Heitsch el al., 2006): Optimal purchase over time under cost uncertainty, uncertain prices are given by σ t. Decisions x t : amounts to be purchased at each time period t. Minimize expected costs such that prescribed amount a is achieved at T. minimize E ( ) Tt=1 ξ t x t subject to s t s t 1 = x t t = 2,..., T s 1 = 0, s T = a, x t 0, s t 0, where s t is a state variable containing the amount at time t. 10

A simple multi-stage model MusMod - formulation deterministic a: T; stochastic V, x, s: 0..T; stochastic nonanticitpativity: 1..T; stochastic constraintrootstage: 0; stochastic constraintterminalstage: T; param a, V; var x >= 0, s >= 0; maximize objfunc: E(V * x, 0..T); subject to nonanticitpativity: s - s(-1) = x; subject to constraintrootstage: s = 0; subject to constraintterminalstage: s = a; 11

MusMod - AMPL extension - stochastic additions Additional keywords (for parameters, variables, and constraints) deterministic variable-name: stage-set; stochastic variable-name: stage-set; Stochastic parameters are defined on the underlying tree node structure. Deterministic parameters are definied on the stage structure, i.e. value for all nodes in the respective stage. same Remark. Stage-sets may be single stages, ranges, or lists. 12

MusMod - AMPL extension - direct modeling changes Additional functions: stochastic variables (recourse) variable-name(recourse-depth, parameters). Recourse-depth equals number of stages, commonly -1. expectation E(stochastic-variable-name, stage-set). Possible extensions: quantiles Q(stochastic-variable-name, stage, α). probabilistic constraints P(stochastic-variable-name, stage,, α). 13

MusMod - Stage-set parsing, node-set creation Node-sets parsing & creation. Add one stage-set for the whole horizon (0..T ). Parse all stage-sets T defined direcly with keywords stochastic and deterministic, and within the objective special function E(). For each stage-set - given one specific scenario tree - create appropriate node-sets containing all nodes of the respective stages. 14

MusMod - Conversion example - Stage and node-sets Example: Simple three-stage (t = 0, 1, 2) binary tree, (uni-variate) starting value: 10. Up 1 with p = 0.6 and down 1 with p = 0.4, i.e. n 0 1 2 3 4 5 6 V[n] 10 11 9 12 10 10 8 A[n] 0 0 1 1 2 2 T[n] 1 1 2 2 2 2 P[n] 1 0.6 0.4 0.6 0.4 0.6 0.4 Z[n] 1 0.6 0.4 0.36 0.24 0.24 0.16 Node- and stage-sets: Using the above inventory example: Model Node-Set Stages Nodes (0..T) 0 0 1 2 0 1 2 3 4 5 6 0 1 0 0 T 2 2 3 4 5 6 1..T 3 1 2 1 2 3 4 5 6 15

MusMod - Conversion example - Variables and Parameters 1. Replace stochastic parameters and variables by a node-set definition, and 2. replace deterministic parameters and variables by stage-set definitions. deterministic a: T; stochastic V, x, s: 0..T; param a, V; var x >= 0, s >= 0; param a[stageset2], V[nodeSet0]; var x[nodeset0] >= 0, s[nodeset0] >= 0; 16

MusMod - Conversion example - Constraints For each stochastic constraint add as many deterministic equivalent constraints as nodes in the respective node set, i.e. stochastic constraintrootstage: 0; subject to constraintrootstage: s = 0; subject to constraintrootstage: s[0] = 0; 17

MusMod - Conversion example - Recourse constraints Deterministic parameters in stochastic constraints make use of the stage mapping information T[n]: stochastic constraintterminalstage: T; subject to constraintterminalstage: s = a; subject to constraintrootstage: s[3] = a[t[3]]; subject to constraintrootstage: s[4] = a[t[4]]; subject to constraintrootstage: s[5] = a[t[5]]; subject to constraintrootstage: s[6] = a[t[6]]; 18

MusMod - Conversion example - Recourse constraints Recourse constraints make use of the anchestor information A[n]. Higher depths are integrated recursively. stochastic nonanticitpativity: 1..T; subject to nonanticitpativity: s - s(-1) = x; subject to nonanticitpativity: s[1] - s[a[1]] = x[1]; subject to nonanticitpativity: s[2] - s[a[2]] = x[2];... subject to nonanticitpativity: s[6] - s[a[6]] = x[6]; Further advantage: No explicit tree formulation in the model anymore. 19

MusMod - Conversion example - Objective function Objective function replacements based replacing E() by sums using the stage probabilities Z[n]: maximize objfunc: E(V * x, 0..T); maximize objfunc: ( sum{n in nodeset0}: Z[n] * ( V[n] * x[n] ) ); 20

Multi-stage stochastic Asset Liability Management maximize x n N (T ) Z(n)w n + κ(γ Z(n)z n n N (T ) 1 α ) subject to a A x n,a β = w n n N (0) a A : x n,a V (n, a)x A(n),a + b n,a s n,a n N (1..T 1) a A b n,a a A s n,a n N (1..T 1) w n = a A x n,a + f S(n) n N (1..T 1) w n = ( a A V (n, a)x A(n),a) + f S(n) n N (T ) z n γ w n n N (T ) x n,a b n,a, s n,a w n f t β κ α z n, γ amount of money held in each asset a amount bought and sold current wealth (deterministic) liabilities initial budget risk aversion parameter AVaR quantile level auxiliary variables (AVaR) 21

ALM example - Stage-based notation maximize x subject to E(w T ) + κ(γ E( z T 1 α )) a A x a β = w (t = 0) a A : x a V a x ( 1) a + b a s a (t = 1,..., T 1) a A b a a A s a (t = 1,..., T 1) w = a A x a + f (t = 1,..., T 1) w = a A V ax ( 1) a + f (t = T ) z γ w (t = T ) 22

ALM example - Simplified notation (AMPL extension, 1) param alpha; param beta; param kappa; param assets; set ASSET := 1.. assets; param V{ASSET}; var x{asset} >= 0, b{asset} >= 0, s{asset} >= 0, w >= 0; var f; var g; var z >= 0; maximize objfunc: E(wealth, T) + kappa * ( g - ( E(z / ( 1 - alpha ), T) ) ); subject to cinitbudget: ( sum{a in ASSET} x[a] ) <= beta; subject to cinitwealth: ( sum{a in ASSET} x[a] ) == w; subject to ctradestages{a in ASSET}: x[a] <= ( V[a] * x(-1, a) ) + b[a] - s[a]; subject to cbuysell: ( sum{a in ASSET} b[a] ) <= ( sum{a in ASSET} s[a] ); subject to cnodewealth: w <= ( sum{a in ASSET} x[a] ) + f; subject to cfinalstagewealth: w <= ( sum{a in ASSET} V[a] * x(-1, a) ) + f; subject to cavar: z >= g - w; 23

ALM example - Simplified notation (AMPL extension, 2) deterministic f: 1..T; stochastic cinitbudget, cinitwealth: 0; stochastic x, w: 0..T; stochastic b, s: 1..T-1; stochastic V, ctradestages, cbuysell, cnodewealth: stochastic z, cavar, cfinalstagewealth: T; 1..T; 24

MusMod - Workflow Stage based to node based transformation.mmd model Model / Tree consistency check Model conversion AMPL.mod.tree Model / Tree consistency check - Examples: Number of stages smaller than highest recourse-depth. Equal/Odd number of stages required by model. 25

Conclusion, Contact & More Information Conclusion Multi-stage modeling completely decoupled from the scenario tree handling (stage-based modeling view). AMPL extension implemented as Web application. Framework for teaching and selling multi-stage models. Guideline for designing stochastic programming (XML) formats. Contact & More Information Web Email http://www.compmath.net/ronald.hochreiter/ ronald.hochreiter@compmath.net 26