Solver and modelling support for stochastic programming H.I. Gassmann, Dalhousie University Happy Birthday András, November 2009.

Slides:



Advertisements
Similar presentations
Optimization Services Robert Fourer, Jun Ma, Kipp Martin Optimization Services OS Server and OS Libraries Jun Ma Industrial Engineering.
Advertisements

Solving LP Models Improving Search Special Form of Improving Search
SCIP Optimization Suite
Fast Algorithms For Hierarchical Range Histogram Constructions
G53CLP Constraint Logic Programming Modeling CSPs – Case Study I Dr Rong Qu.
Chapter 1 Introduction to Modeling DECISION MODELING WITH MICROSOFT EXCEL Copyright 2001 Prentice Hall.
Chapter 1 DECISION MODELING OVERVIEW. MGS 3100 Business Analysis Why is this class worth taking? –Knowledge of business analysis and MS Excel are core.
Chapter 1 Introduction to Modeling DECISION MODELING WITH MICROSOFT EXCEL Copyright 2001 Prentice Hall Publishers and Ardith E. Baker.
All Hands Meeting, 2006 Title: Grid Workflow Scheduling in WOSE (Workflow Optimisation Services for e- Science Applications) Authors: Yash Patel, Andrew.
Engineering Economic Analysis Canadian Edition
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.
NaLIX: A Generic Natural Language Search Environment for XML Data Presented by: Erik Mathisen 02/12/2008.
Chapter 2 Database Environment. Agenda Three-Level ANSI-SPARC Architecture Database Languages Data Models Functions of DBMS Components of DBMS Teleprocessing.
Supply Chain Design Problem Tuukka Puranen Postgraduate Seminar in Information Technology Wednesday, March 26, 2009.
E E Module 18 M.H. Clouqueur and W. D. Grover TRLabs & University of Alberta © Wayne D. Grover 2002, 2003 Analysis of Path Availability in Span-Restorable.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Optimal Fixed-Size Controllers for Decentralized POMDPs Christopher Amato Daniel.
Optimization Services (OS) Framework and OSP Protocols (OSxL) “Combining Operations Research with Computing Technology” Jun Ma 10/24/2004.
Lecture 11 – Stochastic Processes
InBatch 9.0 Jos Peters Technical Support Engineer.
Robert Fourer, Jun Ma, Kipp Martin, Optimization Services, January 18, 2005 Optimization Services (OS) Jun Ma Motorola, Schaumburg 01/18/2005 Robert Fourer.
Robert Fourer, Jun Ma, Kipp Martin Optimization Services Instance Language (OSiL), Solvers, and Modeling Languages Kipp Martin University of Chicago
Network Models II Shortest Path Cross Docking Enhance Modeling Skills Modeling with AMPL Spring 03 Vande Vate.
A GAMS TUTORIAL. WHAT IS GAMS ? General Algebraic Modeling System Modeling linear, nonlinear and mixed integer optimization problems Useful with large,
ECES 741: Stochastic Decision & Control Processes – Chapter 1: The DP Algorithm 1 Chapter 1: The DP Algorithm To do:  sequential decision-making  state.
Optimization Services Robert Fourer, Jun Ma, Kipp Martin Setting Up and Hosting Your Solver as Web Services via Optimization Services (OS) Jun Ma
Recent Changes to the Optimization Services Project H.I. Gassmann, Faculty of Management J. Ma, Northwestern University R.K. Martin, The University of.
Robert Fourer, Jun Ma, Kipp Martin Copyright 2006 An Enterprise Computational System Built on the Optimization Services (OS) Framework and Standards Jun.
Managing Organizations Informed decision making as a prerequisite for success Action Vision Mission Organizational Context Policies, Goals, and Objectives.
Extensions to the OSiL schema: Matrix and cone programming Horand I. Gassmann, Dalhousie University Jun Ma, Kipp Martin, Imre Polik.
GAMS Anwendung Nutzeroberfläche eigene Programme Modellierungs- System GAMS AMPL ILOG Studio … Solver CPLEX, CONOPT, MINOS, COIN, BARON,...
New developments in OSiL, OSoL and OS H.I. Gassmann R.K. Martin,J. Ma INFORMS Annual meeting, Washington, DC, October 2008.
17 July 2006DIMACS 2006 COIN-SMI 2006 Alan King IBM TJ Watson Research Center.
Chapter 3 System Performance and Models. 2 Systems and Models The concept of modeling in the study of the dynamic behavior of simple system is be able.
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
ECES 741: Stochastic Decision & Control Processes – Chapter 1: The DP Algorithm 31 Alternative System Description If all w k are given initially as Then,
Engineering Economic Analysis Canadian Edition
Model Driven DSS Chapter 9. What is a Model? A mathematical representation that relates variables For solving a decision problem Convert the decision.
MGS3100_01.ppt/Aug 25, 2015/Page 1 Georgia State University - Confidential MGS 3100 Business Analysis Introduction - Why Business Analysis Aug 25 and 26,
Jun Ma, Optimization Services, July 19, 2006 Optimization Services (OS) Today: open Interface for Hooking Solvers to Modeling Systems Jun Ma Northwestern.
Robert Fourer, Jun Ma, Kipp Martin Optimization Services and the Stylized “OS” Logo are registered in the US Patent & Trademark Office. All other product.
An introduction to stochastic programming H.I. Gassmann.
Jun Ma, Optimization Services, June 23, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University T.J.
Fourer, Ma, Martin, An Open Interface for Hooking Solvers to Modeling Systems INFORMS International, Puerto Rico, July 8-11, INFORMS International.
Robert Fourer, Jun Ma, Kipp Martin, Optimization Services, May 06, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences.
© 2015 McGraw-Hill Education. All rights reserved. Chapter 19 Markov Decision Processes.
An XML-based schema for stochastic programs H.I. Gassmann, R. Fourer, J. Ma, R.K. Martin EURO XXI, June 2006, Reykjavik.
Robert Fourer, Jun Ma, Kipp Martin Copyright 2006 Optimization Services hookup Language (OShL) Jun Ma INFORMS, Pittsburgh 11/08/2006 Jun Ma Robert Fourer.
MODELING AND ANALYSIS Pertemuan-4
Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
1 BA 555 Practical Business Analysis Linear Programming (LP) Sensitivity Analysis Simulation Agenda.
1 An Arc-Path Model for OSPF Weight Setting Problem Dr.Jeffery Kennington Anusha Madhavan.
Optimization Services Framework and OSxL Protocols Jun Ma Northwestern University 09/14/04.
OSiL: An XML-based schema for stochastic programs H.I. Gassmann, R. Fourer, J. Ma, R.K. Martin SP XI Vienna, August 2007.
Ence 627 Decision Analysis for Engineering Project Portfolio Selection: “Optimal Budgeting of Projects Under Uncertainty” Javier Ordóñez.
Jun Ma, Sanjay Mehrotra and Huanyuan Sheng Impact Solver for Optimization Services, November 8, 2006 On Implementing a Parallel Integer Solver Using Optimization.
Vincenzo Innocente, CERN/EPUser Collections1 Grid Scenarios in CMS Vincenzo Innocente CERN/EP Simulation, Reconstruction and Analysis scenarios.
(Genetic Algorithm Interface Architecture) Final Presentation CS 425 Created By: Chuck Hall Simone Connors Héctor Aybar Mike Grim.
Data requirements for stochastic solvers H.I. Gassmann Dalhousie University Halifax, Canada.
Robert Fourer, Jun Ma, Kipp Martin Copyright 2005 Optimization Services (OS) Jun Ma Annapolis, 01/07/2005 Robert Fourer Jun Ma Northwestern University.
Production systems LP and MILP models. Introduction  Linear programing (LP) is a base tool in optimization  George B. Dantzig developed the simplex.
Huanyuan Sheng, Sanjay Mehrotra and Jun Ma Impact Solver for Optimization Services, November 15, 2005 IMPACT Solver for Optimization Services Huanyuan(Wayne)
OPERATING SYSTEMS CS 3502 Fall 2017
Optimization Services (OS)
Optimization Services Instance Language (OSiL)
Introduction to Modeling
The ABC’s of Optimization
A Mathematical Programming Language
An XML-based schema for stochastic programs
Optimization under Uncertainty
Presentation transcript:

Solver and modelling support for stochastic programming H.I. Gassmann, Dalhousie University Happy Birthday András, November 2009

© 2009 H.I. Gassmann Agenda Stochastic programs An Example Algebraic modelling languages –GAMS –MPL –AMPL Frontline Systems SMI (Stochastic modelling interface) Optimization Services Other software

© 2009 H.I. Gassmann Stochastic programs Two-stage recourse problems Multistage recourse problems Chance-constrained problems Continuous distributions

© 2009 H.I. Gassmann An Example (Ferguson & Dantzig) x ij = # aircraft of type i assigned to route j y j = # empty seats on route j z j = # lost sales on route j In the original formulation, d is defined by marginals

© 2009 H.I. Gassmann Words to ponder… “Simple recourse is so previous millennium” “Always build your scenario tree prior to calling the solver” “No need to bother with special algorithms ― Cplex on the deterministic equivalent is best” “Robust optimization is irrelevant”

© 2009 H.I. Gassmann GAMS SET equip := (E1, E2, E3, E4); route := (R1, R2, R3, R4, R5); scen := (S1*S720); DATA avail[equip] := (E1,10, E2,19, E3,25, E4,15); price[route] := (R1,13, R2,13, R3, 7, R4, 7, R5, 1); capac[equip,route] := (...); cost [equip,route] := (...); demand[route,scen] := (...); prob[scen] := (...); DECISION VARIABLES Assign[equip,route]; Empty[route,scen]; LostSales[route,scen]; MODEL MIN totalcost = SUM(equip,route: cost*Assign) + SUM(route,scen: prob*price*LostSales); SUBJECT TO availability[equip]: SUM(route: Assign) <= avail; passengers[route,scen]: SUM(equip: capac*Assign) – Empty + LostSales = demand;

© 2009 H.I. Gassmann GAMS Solve deterministic equivalent Two-stage problems can use DECIS Discrete scenarios only

© 2009 H.I. Gassmann MPL INDEX aircraft : = (A,B,C,D); STOCHASTIC INDEP route := (NL1, NL2, ND0, ND1, NB0) -> (r1,r2,r3,r4,r45); OUTCOME out5 := 1..5; EVENT RouteOut[route,out5] := (NL1, 1..5, NL2, 1..2, ND0, 1..5, ND1, 1..5, NB0, 1..3); PROBABILITIES p[route, out5 in RouteOut] := [NL1, 1, 0.2, NL1, 2, 0.05,... ];

© 2009 H.I. Gassmann MPL (continued) RANDOM DATA Demand[route, out5 in RouteOut] :=... DATA AircraftAvail[aircraft] :=...; TicketPrice[route] :=...; PotentialPass[aircraft,route] :=...; MonthlyCost [aircraft,route] :=...; DECISION VARIABLES Assign[aircraft,route] -> x WHERE (PotentialPass > 0); STAGE2 VARIABLES EmptySeats[route] -> y1; TurnedAway[route] -> y2; MODEL MIN TotalCost = SUM(aircraft,route: MonthlyCost * Assign) + SUM(route: TicketPrice * TurnedAway); SUBJECT TO AircraftCap[aircraft]: SUM(route: Assign) <= AircraftAvail; PassengerBal[route]: SUM(aircraft: PotentialPass * Assign) + TurnedAway[route] – EmptySeats[route] = Demand[route];

© 2009 H.I. Gassmann MPL capabilities Solve deterministic equivalent (any MPL solver) Built-in decomposition solver (two-stage - Cplex) Communication with SMI Planned extensions: nested decomposition

© 2009 H.I. Gassmann AMPL set aircraft := {A1, A2, A3, A4}; set routes := {r1, r2, r3, r4, r5}; param avail{aircraft} >= 0; param ticketPrice{routes} > 0; param potentialPassenger{aircraft, routes} default 0; param MonthlyCost {a in aircraft, r in routes: potentialPassenger[a,r] > 0}; var demand{route} random; var Assign{a in aircraft, r in routes: potentialPassenger[a,r] > 0} >= 0; var EmptySeats{route} suffix stage 2; var TurnedAway{route} suffix stage 2; minimize totalCost: sum{a in aircraft, r in routes: potentialPassenger[a,r] > 0} MonthlyCost[a,r]*Assign[a,r] + sum{r in routes} TicketPrice[r]*TurnedAway[r]; subject to AircraftCap{a in aircraft}: sum{r in routes: potentialPassenger[a,r] > 0} Assign[a,r] <= avail[a]; subject to PassengerBalance{r in routes}: sum{a in aircraft: potentialPassenger[a,r] > 0} potentialPassenger[a,r] * Assign[a,r] + TurnedAway[r] - EmptySeats[r] = demand[r];

© 2009 H.I. Gassmann Frontline systems Robust optimization Chance constraints Recourse models Expected value, VaR, CVar objectives One or two stages Continuous distributions (automatic sampling) Deterministic equivalent or simulation Example

© 2009 H.I. Gassmann SMI (Stochastic Modeling Interface) Coin-OR project API for interaction with stochastic models Scenario-based Discrete distributions

© 2009 H.I. Gassmann Optimization Services The Optimization Services project aims to provide A set of standards to facilitate communication between modeling languages, solvers, problem analyzers, simulation engines, and registry and discovery services in a distributed computing environment.

© 2009 H.I. Gassmann Solvers AML Corporate databases User interface Data inter- change

© 2009 H.I. Gassmann What Is Optimization Services (OS)? A set of XML-based standards for representing, among others, –optimization instances (OSiL, also OSgL, OSnL and OSsL) –optimization results (OSrL and OSaL) –optimization solver options (OSoL) –communication between clients and solvers (OSpL) Open source libraries to work with these standards A robust API for solver algorithms and modeling systems Support for linear, integer, nonlinear and stochastic programs A command line executable OSSolverService Executables OSAmplClient and GAMSLinks for AMPL and GAMS Utilities to convert MPS files and AMPL nl files into OSiL Server software that works with Apache Tomcat and Apache Axis

© 2009 H.I. Gassmann Why a standard interface? Modelling systems Solvers Modelling systems Solvers n*m hook-upsn+m hook-ups

© 2009 H.I. Gassmann Why XML? Existing parsers to check syntax Easy to generate automatically Tree structure naturally mirrors expression trees for nonlinear functions Arbitrary precision and name space Automatic attribute checking (e.g., nonnegativity) Querying capabilities via XQuery Encryption standards being developed Easy integration into broader IT infrastructure

© 2009 H.I. Gassmann OSiL Schema – Deterministic data …

© 2009 H.I. Gassmann Representation of uncertainty Explicit event trees –Scenario formulation –Only record data items that differ from parent scenario Implicit trees (distribution-based formulation) –Assume independence between stages –Distributions within stage discrete or continuous Probabilistic constraints –Simple chance constraints –Joint chance constraints

© 2009 H.I. Gassmann OSInstance: In-memory representation XML elements correspond to C++ classes Child elements mapped as member classes set(), get() and calculate() methods class OSInstance{ public: OSInstance(); InstanceHeader *instanceHeader; InstanceData *instanceData; }; // class OSInstance

© 2009 H.I. Gassmann OSoL – OS option language Solver options Initializations of variables System requirements Job parameters In-memory representation: OSOption API: get(), set(), add() methods

© 2009 H.I. Gassmann OSrL and OSResult Result of the optimization –Solution status –Statistics –Value of primal and dual variables Can be displayed in a browser

© 2009 H.I. Gassmann Solver support All versions of OS download with COIN-OR solvers –Clp –Cbc –Ipopt –Bonmin –Couenne –Symphony Additiona solver support –Cplex –GLPK –Lindo

© 2009 H.I. Gassmann Future developments Stochastic programming Cone programming Instance modification Solution analysis

© 2009 H.I. Gassmann Other software SLP-IOR SPInE/SAMPL/SMPL Fort-SP DECIS MSLiP …

© 2009 H.I. Gassmann Conclusions Slow but steady progress Stochastic programming is more than scenario trees and deterministic equivalents SP-aware modeling systems