Download presentation
Presentation is loading. Please wait.
Published byRoy Manning Modified over 9 years ago
1
17 July 2006DIMACS 2006 COIN-SMI 2006 Alan King IBM TJ Watson Research Center
2
17 July 2006DIMACS 2006 Optimization and Uncertainty Many practical applications involve aspects of uncertainty and optimization. Examples just from EURO 2006: –Hydropower Management (MA-43) –Pension Fund Management (ME-43 and TB-43) –Risk Functionals (TA-43) –Gas Retail, Labor Market, Mobile Telcom (TD-43) –Asset Allocation (TD-44) –Optimal portfolio growth (TE-43) –Equilibrium constraints (WA-43) –Workforce Capacity planning (WB-44) –Minefield navigation, portfolio selection, supply chain optimization, energy systems optimization (WE-44) A framework is needed –To combine uncertainty and optimization data types –To support model formulations
3
17 July 2006DIMACS 2006 Stochastic Modeling Interface SMI is intended to take care of common programming issues –handling probability distributions, –managing problem generation, –interfacing between modeling environments and solvers Many modeling and algorithmic approaches can belong here: –Stochastic programming with recourse –Chance constrained programming –Robust optimization –Risk functionals
4
17 July 2006DIMACS 2006 Example: SmiScnModel Stochastic Linear Programming object Accept SLP data: –LP data –Time data –Stochastic data Process SLP data: –Generate “Deterministic Equivalent” LP Access SLP solution data for display and reporting Note – “scenario tree” is most general discrete distribution so we call this an “Scn” model
5
17 July 2006DIMACS 2006 matrix col lower row upper col upper objective row lower LP Data T=0T=1 T=0 T=1 Time Partition Data Node 0 Node 1 T=0 T=1 + = Core Data
6
17 July 2006DIMACS 2006 Core Data scen 1 scen 2 Scenarios scen 3 Deterministic Equivalent LP + =
7
17 July 2006DIMACS 2006 T=0 T=1 Scen=1 T=1 Scen=2 T=1 Scen=3 T=0 T=1 Scen=2 T=1 Scen=3 Deterministic Equivalent LP Primal Solution T=1 Scen=1 Dual Solution OSI Solver
8
17 July 2006DIMACS 2006 SMPS driver // initialize with solver object SmiScnModel smi(new OsiClpSolverInterface()); // read SMPS model from files //.core,.time, and.stoch smi.readSmps(name); // load solver data // this step generates the deterministic equivalent OsiSolverInterface *osiStoch = smi.loadOsiSolverData(); // solve osiStoch->initialSolve();
9
17 July 2006DIMACS 2006 Direct Methods User input “Core Data” SmiCoreData *smiCore = new SmiCoreData(&osi,nstg,cstg,rstg); Discrete Distribution SmiDiscreteRV *smiRV = new SmiDiscreteRV(nper); smiRV->addEvent(SmiCore, matrix,dcup,dclo,dcobj,drlo,drup, prob); Scenario Input smiModel->generateScenario(smiCore, matrix,dcup,dclo,dcobj,drlo,drup, branch_period,ancestor_scen,prob);
10
17 July 2006DIMACS 2006 Helper classes SmiLinearData –Organizes LP data by Node SmiCoreData –Partitions Core LP by time period mappings SmiNodeData –Node information, offsets within det eq LP, Tree relationships SmiCoreCombineRule –How scenario data is combined with core data (Add, Replace, User specified …multiply?) SmiDiscreteDistribution –Events (values of certain LP data elements) & Probabilities (prob of event) SmiScenarioTree –Template class for handling tree structures
11
17 July 2006DIMACS 2006 Smi/example/stoch.cpp SmpsIO("../../Data/Stochastic/wat_10_C_32") –solves a sample from the one of the Watson- Cambridge Asset Liability problems in SMPS format ModelScenario() –demonstrates use of scenario generation methods on Dantzig-Ferguson's Aircraft Allocation problem. ModelDiscrete() –demonstrates use of discrete distribution generation methods
12
17 July 2006DIMACS 2006 COIN-SMI Status SmiScnModel object –built on Coin-Utilities & Coin-Open Solver Interface Good start … but not enough action –Most action is from folks who find a problem when they try to process SMPS files …that works with some other package …that any reasonable person would agree should work fine … –Some “lukewarm” requests for decomposition solver, but: No-one has an urgent actual application to solve No-one has offered any real assistance So – how do we get more action? –Will “real” users try Stochastic Modeling?
13
17 July 2006DIMACS 2006 Try something different (1) Make something from information that “normal optimization users” can provide LP problem (no special features) Std Deviation error range for some LP elements SMI models we can generate with this information –Probabilistic Robust Optimization (Bertsimas-Sim) Feasibility with given probability –Simple Recourse (Wets) Penalized row variation from feasibility with given recourse weightings
14
17 July 2006DIMACS 2006 Try something different (2) A modeling language that incorporates stochastics Roadmap –Start with COIN-FlopC++ –Add “parameter” class –Create “LP data” generator class with parameter as input. –Parameters become distributions Main problem: Complex dependence! –generate parser to record LP data dependence on parameters
15
17 July 2006DIMACS 2006 Try something different (3)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.