decomposition methods for mathematical programming problems webseite... · 2020. 3. 20. · cplex...
TRANSCRIPT
Decomposition Methods forMathematical Programming Problems
Michael R. Bussieck [email protected]
Stefan Vigerske [email protected]
GAMS Software GmbH / GAMS Development Corp.
www.gams.com
Aachen, June 11, 2013
Agenda
2
Motivation
GAMS
Simple Example
Mathematical Programming/Optimization
3en.wikipedia.org/wiki/Mathematical_optimization
Major Subfields of Math. Optimization
http://en.wikipedia.org/wiki/Mathematical_optimizati on#Major_subfields
Linear Programming http://en.wikipedia.org/wiki/Linear_programming
5
Typical Application Areas *
• Agricultural Economics
• Chemical Engineering
• Econometrics
• Environmental Economics
• Finance
• International Trade
• Macro Economics
• Management Science/OR
• Micro Economics
• Applied General Equilibrium
• Economic Development
• Energy
• Engineering
• Forestry
• Logistics
• Military
• Mathematics
• Physics
* Illustrative examples in the GAMS Model Library6
Modeling in GAMS
A mathematical model is a description of a system using mathematical language (from: Wikipedia)
1973 Frederick W. Lanchester Prize: Winner [-hide]
Citation: Multi-Level Planning: Case Studies in Mexico, edited by Louis M. Goreux and Alan S. Manne. This book is a bench mark quantitative study of policy oriented issues in a growing economy. In the modern tradition of Professor W. Leontief's input-output analysis, a team of researchers from several institutions employed advanced mathematical programming approaches to study in depth the problems of interdependency among national economic choices. This monograph on multi-level planning is impressive in its dedication to developing and testing large-scale models based on available statistical data. The team's decision a half-decade ago to give special emphasis to the agricultural and energy sectors was prophetic in anticipating many of today's critical world-wide problems. Beyond its substantial contribution to empirical analysis, the book also enhances conceptual understanding of multi-level national planning as well as demonstrates the benefits to strategic policy analysis of continuing technical innovations in operations research.
INFORMS Lanchester Prize 1973
8
Model Structure
9
Model Data
10
Matrix Generator
11
What’s that?
• Formulation mathematical programming problems • Notation similar to algebraic notation• Ready-for-use links to state-of-the-art algorithms
�Simplified model building�Efficient solution process
…
GAMS (General) Algebraic Modeling System
• A mathematical model is a description of a system using mathematical language (from: Wikipedia)
� Mathematical Programming (MP) Model:List of Constraints defining relationships of Variables
• Collection of several intertwined MP Models– Data Preparation– Data Calibration– “Solution” Module (e.g. sequential, parallel, loop) – Report Module
What is a Model in GAMS?
13
Agenda
14
Motivation
GAMS
Simple Example
General Algebraic Modeling System• Roots: World Bank, 1976• Went commercial in 1987• GAMS Development Corporation (Washington, Houston)• GAMS Software GmbH (Köln, Braunschweig)
• Broad academic & commercial user community and network
• Platform independence
• Hassle-free switch of solution methods
• Open architecture and interfaces to other systems
• Balanced mix of declarative and procedural elements
GAMS’ Fundamental concepts
16
10+ Supported Platforms
AXU
Solaris
Windows 64bit
Windows
Linu
x
Linu
x 64
bit
HP
25+ Integrated Solvers
XAXPRESS
COIN-OR
BDMLP CPLEX
BA
RO
N
LIN
DO
GLO
BA
L
GUROBI
GAMS’ Fundamental concepts
17
• Platform independence
• Hassle-free switch of solution methods
• Open architecture and interfaces to other systems
• Balanced mix of declarative and procedural elements
Binary Data Exchange
• Fast exchange of data • Syntactical check on data
before model starts• Data Exchange at any stage
(Compile and Run-time)• Platform Independent• Direct GDX interfaces and
general API• Scenario Management Support• Full Support of Batch Runs
• Platform independence
• Hassle-free switch of solution methods
• Open architecture and interfaces to other systems
• Balanced mix of declarative and procedural elements
GAMS’ Fundamental concepts
18
Application GDX
GAMS
SOLVER
Declaration of..- Sets- Parameters- Variables- Equations- Models- …
Procedural Elements like…- loops- if-then-else- …
• Platform independence
• Hassle-free switch of solution methods
• Open architecture and interfaces to other systems
• Balanced mix of declarative and procedural elements
GAMS’ Fundamental concepts
19
Interface Data Model Solver Interface
GAMS’ Fundamental concepts cont’d
20
• Different layers with separation of– model and data– model and solution methods– model and operating system– model and interface
� Models benefit from– advancing hardware– enhanced / new solver technology– improved / upcoming interfaces to other systems
GAMS at a Glance
The GAMS/BASE Module
• Compiler and Execution System
• GAMS IDE (Windows)
• Documentation + Model libraries
• GDX Utilities
• Free Solvers/Solver Links
21
GAMS at a Glance
The GAMS/BASE Module
• Compiler and Execution System
• GAMS IDE (Windows)
• Documentation + Model libraries
• GDX Utilities
• Free Solvers/Solver Links
22
• Project management• Editor / Syntax coloring / Spell checking• Launching and monitoring of (multiple) GAMS processes• Listing file / Tree view / Syntax-error navigation• Solver selection / Option selection• GDX viewer
– Data cube– Data export (e.g. to MS Excel)– Charting facilities
• Model libraries• Documentation
Integrated Development Environment
23
GAMS at a Glance
The GAMS/BASE Module
• Compiler and Execution System
• GAMS IDE (Windows)
• Documentation + Model libraries
• GDX Utilities
• Free Solvers/Solver Links
24
• Distributed Documentation– GAMS Users Guide– Expanded GAMS Users Guide (McCarl)– Solver Manuals– GAMS Utility Manuals
• Wikis– Support Wiki http://support.gams-software.com– Interfaces Wiki http://interfaces.gams-software.com
Documentation
25
• Groups– User Group http://www.gams.com/maillist/gams_l.htm– Google Group http://groups.google.de/group/gamsworld
• Newsletter– McCarl‘s News
http://www.gams.com/maillist/newsletter.htm– Release List
• Search all GAMS Websiteshttp://www.gams.com/search.htm
Documentation
26
• GAMS Model Library – Example and user-contributed
models– Very often used as templates– Tests for
• Solver robustness and correctness• Backward compatibility
• GAMS Data Utilities Library– Demonstration of the various utilities interfacing GAMS with other
applications– E.g. gdxxrw, mdb2gms, sql2gms
Distributed Model Libraries
27
GAMS at a Glance
The GAMS/BASE Module
• Compiler and Execution System
• GAMS IDE (Windows)
• Documentation + Model libraries
• GDX Utilities
• Free Solvers/Solver Links
28
GAMS at a Glance
The GAMS/BASE Module
• Compiler and Execution System
• GAMS IDE (Windows)
• Documentation + Model libraries
• GDX Utilities
• Free Solvers/Solver Links
29
GAMS at a Glance
The GAMS/BASE Module
Free Solvers
• Convert (convert model to different formats)
• EMP, LOGMIP, NLPEC
• BENCH, EXAMINER, GAMSCHK
• BDMLP, LS, and MILES
• COIN-OR Cbc, IpOpt, BonMin, Couenne
• Glpk, Scip (academic only)
30
GAMS at a Glance
Commercial Solvers and Links
• GUROBI
• CONOPT
• CPLEX
• DICOPT
• KNITRO
• MINOS
• MOSEK
• XPRESS
• …
31
Agenda
32
Motivation
GAMS
Simple Example
A Transportation Model
33
Seattle(350)
San Diego(600)
Chicago(300)
New York(325)
Topeka(275)
A Transportation Model
34
Minimize Transportation costsubject to Demand satisfaction at markets
Supply constraints
600San Diego
350
325
275
300
Seattle
New York
Topeka
Chicago
2500
17001800
2500
14001800
Mathematical Algebra
35
GAMS Algebra
36
• Symbols:– Sets– Parameters– Variables– Equations– Models– ASCII Output Files
• Statements– Declarations– Data Assignments– Equation Definition– Programming Flow Control – Option statement
A few Word about GAMS Syntax
37
Demo! Transportation Model
38
• 13:00 – 14:30– Introduction– Theoretical Background
• 15:00 – 16:30– Examples
• Benders Decomposition• Outer Approximation• Column Generation
– Outlook and Conclusions
Organization of the Lecture
39
40
Outlook and Conclusions
• DICOPT (OA, Grossmann)• BARON (Spatial B&B, Sahinidis)• SBB (B&B, Drud)• NLPEC (Reformulations, Ferris)• …• EMP
• What makes GAMS a good environment for decomposition?– Procedural elements, difficult to make programming
mistakes (addressing)– Concise language– Access to state-of-the art solvers
Solver Prototypes in GAMS
41
• Breakouts of traditional MP classes– Extended Nonlinear Programs– Chance Constraints– CVaR Constraints– Robust Programming– Bilevel Programs– Generalized Disjunctive Programs– Multi Agent Equilibrium
• Limited support with common model representation• No conventional syntax • Incomplete/experimental solution approaches• Lack of reliable/any software
New Modeling and Solution Concepts
42
Do not:• overload existing GAMS notation right away !• attempt to build new solvers right away !
But:• Use existing language features to specify additional
model features, structure, and semantics• Express extended model in symbolic (source) form and
apply existing modeling/solution technology• Package new tools with the production system
� Extended Mathematical Programming (EMP)
What now?
43
JAMS: a GAMS EMP Solver
44
EMP Information
ReformulatedModel
Solution
Map
ping
Sol
utio
nIn
to o
rigin
al s
pace
Original Model
Translation
Solving usingestablished Algorithms
Viewable
• Distributed with GAMS
• Available on websitehttp://www.gams.com/emplib/emplib.htm
EMP Library
45
Contacting GAMS
USA
GAMS Development Corp. 1217 Potomac Street, NW Washington, DC 20007USA Phone: +1 202 342 0180 Fax: +1 202 342 0181http://www.gams.com
[email protected]@gams.com
Europe
GAMS Software GmbHP.O. Box 40 5950216 FrechenGermanyPhone: +49 221 949 9170Fax: +49 221 949 9171http://www.gams.de
46