Dealing with Uncertainty in Optimization Models using AIMMS Dr. Ovidiu Listes Senior Consultant AIMMS Analytics and Optimization
Outline Analytics, Optimization, Uncertainty Use Case: Power System Expansion Dealing with Uncertainty Scenario Analysis Stochastic Programming Robust Optimization More Application Examples
ANALYTICS, OPTIMIZATION, UNCERTAINTY
Optimization under Uncertainty in Decision Support Decision Support / Opt Apps Solution/Visualization Modeling Uncertainty Optimization Analytics
Use Case: Power System Expansion
Power System Expansion: General Description Strategic, static model Design capacity must be expanded There are 3 types of power plants: - coal-fired - nuclear - hydro Costs are scaled on a daily basis: - capital investments - operating costs - energy import costs Demand is represented by 2 categories: - base load (duration 24 hours) - peak load (duration 6 hours) Physical restriction: nuclear power can only be used to satisfy base demand
Use Case: Load Curve and Its Approximation
Use Case: Model Notation
Use Case: Deterministic Model
Use Case: Model Data Existing capacity and cost figures per plant type: Importing costs: 200 [1000 $/GWh] for each demand category Estimated data figures for demand scenarios:
Dealing with Uncertainty
Modeling Issues for Dealing with Uncertainty Non-deterministic modeling and analysis - Parametric and Scenario Analysis - Stochastic Programming - Robust Optimization Uncertainty tool-kit for decision support - Create meaningful scenarios / uncertainty sets - Incorporate uncertainty and optimize model - Help user understand the optimal solution - Anticipate and experiment with next scenarios Visualization of optimization data - Input - Output - Sensitivities
Scenario Analysis
Parametric and Scenario Analysis - AIMMS modeling support The analysis may be achieved through - multi-dimensional data manipulation (pre- & post-processing) - procedural possibilities - iterative modeling Sampling from various statistical distributions Algorithmic support for what-if analysis experiments Powerful graphical objects for input and output data - Pivot tables - Multi-case objects - Parametric curves
Use Case: Scenario Analysis Optimal design capacities for individual scenarios: Consequences of plan III for all scenarios:
Parametric and scenario analysis AIMMS modeling support
Parametric and scenario analysis AIMMS modeling support
Stochastic Programming
Stochastic Programming in AIMMS: General Framework AIMMS supports automatic generation and solution of multi-stage stochastic linear models (with recourse) Modeler : - builds a symbolic deterministic model - defines stages and maps variables to stages - creates a scenario tree (mapping) - supplies stochastic data AIMMS : - generates the stochastic model instance (extensive form) - generation is done automatically, without the need to reformulate any constraint definition Much flexibility in: - mapping variables to stages - experimenting with different scenario trees
Stochastic Programming in AIMMS: Scenario Generation Scenarios can be created using a special Scenario Generation Module (SGM) SGM offers pre-defined procedures for building the scenario tree User needs to specify callbacks for SGM module ScenGen::InitializeStochasticDataCallbackFunction := MyInitializeStochasticDataCallback'; User callbacks accommodate stochastic data for situation at hand Load.Stochastic( CurrentScenario, t ) := SampleFraction * Load(t);
Stochastic Programming in AIMMS: Scenario Generation Techniques 1. By branching: tree is incrementally created according to a given distribution for events at each stage: 2. By data bundling: given a set of scenarios, similar scenarios are grouped at each level of the tree:
Stochastic Programming in AIMMS: Main execution scheme Symbolic deterministic MP symbolic variables symbolic constraints GMP::Instance:: GenerateStochasticProgram Generated stochastic GMP Stochastic GMP Matrix Stochastic information - stages - mapping variables to stages - scenario tree - probabilities - stochastic data Solution Repository Solver Sessions
Stochastic Programming in AIMMS: Summary Main Concepts Deterministic model is a symbolic MP Stochastic model is a GMP instance, created automatically Changes in deterministic model and in scenario data propagate automatically to the (re-)generated stochastic instance Stochastic GMP can be solved using a standard solver: GMP::Instance::Solve ( StochProdGMP ); Or, using Benders decomposition system module: StochDecom::DoStochasticDecomposition ( StochProdGMP, MyStages, MyScenarios );
Robust Optimization
Robust Optimization: The Paradigm RO modeling framework: the uncertain data belongs to some ranges or regions, or depends on some partially known distribution Feasibility must be guaranteed (hard constraints) Hard constraints must be satisfied for all data realizations within an uncertainty set U Robustness = best solution against the worst possible data realization within the uncertainty set U
Consider the linear program min c T x s.t. Robust Optimization: Single Stage Case Ax b The constraints Ax b must be satisfied for all realizations of the data A within uncertainty set U The robust model (A. Ben-Tal and A. Nemirovski, 2000) is: min c T x s.t. Ax b A Є U A robust counterpart with finite #variables and #constraints exists, under some conditions
Robust Optimization: Uncertainty Set How to specify a reasonable uncertainty set, i.e., meaningful for practical applications? When does an uncertainty set lead to a computationally tractable robust counterpart? Assumption: describe uncertainty set U as a ij = ij0 + k ijk ξ k The following uncertainty sets lead to solvable models: Box (LP), Polyhedron (LP), Ellipsoid (SOCP)
Robust Optimization: Scope Initially, Robust Optimization focused on immunizing a single stage optimization model against infeasibility The scope of RO has been extended to model dynamic optimization problems (eg, multi period models) Adjustable Robust Optimization
Robust Optimization: Multiple Stages Case min j c j x j s.t. j a ij x j + l d il y l (ξ) b i i, ξ U: a ij = ij0 + k ijk ξ k i, j Fixed recourse Hard problem Easy affine approximation y(ξ) = u + V ξ
Robust Optimization in AIMMS: Main execution scheme Symbolic deterministic MP symbolic variables symbolic constraints GMP::Instance:: GenerateRobustCounterpart Generated robust GMP Robust GMP Matrix Uncertainty information - regions - dependency - uncertainty constraints - adjustable variables - linear decision rules Solution Repository Solver Sessions
Robust Optimization in AIMMS: Summary Main Concepts Deterministic model is a symbolic MP Robust model is a GMP instance, created automatically Changes in deterministic model and in uncertainty sets propagate automatically to the (re-)generated robust counterpart RC_GMP := GMP::Instance::GenerateRobustCounterpart( MathematicalProgram : MP, UncertaintyParameters : UP, UncertaintyConstraints : UC ); GMP::Instance::Solve( RC_GMP );
Use Case: Uncertainty Sets for Instantaneous Demand (Load) peak 12 S2 Box Ellipsoid 11 10.75 S1 Convex Hull 10.50 S4 10 S3 7.50 8.25 8.75 9 10 base
Uncertainty Inheritance Required Electricity Data Parameter RequiredElectr(base) = DemandDuration(base) * InstDem(base) uncertain pars in constr (RHS) certain pars uncertain pars RequiredElectr(peak) = DemandDuration(peak) * [ InstDem(peak) - InstDem(base) ]
Non-adjustable Decisions versus Adjustable Decisions non-adjustable adjustable NewCapacity CapacityAllocation ImportCapacity data realization Linear Decision Rule(s) depending on RequiredElectricity
More Application Examples
Multi-Stage Stochastic Models Production and Inventory Optimization
Multi-Stage Stochastic Models Production and Inventory Optimization
Multi-Stage Stochastic Models Production and Inventory Optimization
Uncertainty and Rolling Horizon Production and Distribution Optimization
Uncertainty and Rolling Horizon Production and Distribution Optimization
Unit Commitment and Energy Dispatch Deterministic Model and Solution
Unit Commitment and Energy Dispatch Demand Uncertainty and Robust Solution
Unit Commitment and Energy Dispatch Solution Evaluation based on Simulation
Unit Commitment and Energy Dispatch Simulation Points for Solution Evaluation
Unit Commitment and Energy Dispatch Relative Average RO Cost Reduction
Flexibility in Manufacturing Networks Principles and Benefits of Flexibility
Flexibility in Manufacturing Networks Automatic RO counterpart generation in AIMMS
Flexibility in Manufacturing Networks Demand Uncertainty & Robust Optimization Deterministic Robust Optimization
THANK YOU! Questions? Dr. Ovidiu Listes o.listes@aimms.com