decomposition methods for mathematical programming problems webseite... · 2020. 3. 20. · cplex...

46
Decomposition Methods for Mathematical Programming Problems Michael R. Bussieck [email protected] Stefan Vigerske [email protected] GAMS Software GmbH / GAMS Development Corp. www.gams.com Aachen, June 11, 2013

Upload: others

Post on 21-Feb-2021

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

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

Page 2: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

Agenda

2

Motivation

GAMS

Simple Example

Page 3: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

Mathematical Programming/Optimization

3en.wikipedia.org/wiki/Mathematical_optimization

Page 4: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

Major Subfields of Math. Optimization

http://en.wikipedia.org/wiki/Mathematical_optimizati on#Major_subfields

Page 5: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

Linear Programming http://en.wikipedia.org/wiki/Linear_programming

5

Page 6: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

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

Page 7: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

Modeling in GAMS

A mathematical model is a description of a system using mathematical language (from: Wikipedia)

Page 8: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

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

Page 9: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

Model Structure

9

Page 10: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

Model Data

10

Page 11: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

Matrix Generator

11

Page 12: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

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

Page 13: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

• 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

Page 14: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

Agenda

14

Motivation

GAMS

Simple Example

Page 15: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

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

Page 16: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

• 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

Page 17: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

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

Page 18: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

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

Page 19: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

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

Page 20: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

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

Page 21: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

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

Page 22: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

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

Page 23: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

• 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

Page 24: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

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

Page 25: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

• 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

Page 26: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

• 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

Page 27: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

• 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

Page 28: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

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

Page 29: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

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

Page 30: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

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

Page 31: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

GAMS at a Glance

Commercial Solvers and Links

• GUROBI

• CONOPT

• CPLEX

• DICOPT

• KNITRO

• MINOS

• MOSEK

• XPRESS

• …

31

Page 32: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

Agenda

32

Motivation

GAMS

Simple Example

Page 33: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

A Transportation Model

33

Seattle(350)

San Diego(600)

Chicago(300)

New York(325)

Topeka(275)

Page 34: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

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

Page 35: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

Mathematical Algebra

35

Page 36: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

GAMS Algebra

36

Page 37: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

• 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

Page 38: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

Demo! Transportation Model

38

Page 39: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

• 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

Page 40: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

40

Outlook and Conclusions

Page 41: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

• 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

Page 42: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

• 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

Page 43: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

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

Page 44: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

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

Page 45: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

• Distributed with GAMS

• Available on websitehttp://www.gams.com/emplib/emplib.htm

EMP Library

45

Page 46: Decomposition Methods for Mathematical Programming Problems Webseite... · 2020. 3. 20. · CPLEX BARON LINDOGLOBAL GUROBI GAMS’ Fundamental concepts 17 • Platform independence

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

[email protected]

46