Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Recent Enhancement
in GAMS
Jan-Hendrik Jagla [email protected]
Lutz Westermann [email protected]
GAMS Software GmbH
www.gams.de
GAMS Development Corp.
www.gams.com
Then …
2
GAMS Users Guide (1988)
… and now
Type s in 1988 s in 2008 Improvement
Factor
camcge NLP 468 0.031 15097
dinamico LP 1986 0.125 15888
* 1988 solver ZOOM, 2008 solver CPLEX 11.0.1
3
dinamico LP 1986 0.125 15888
egypt* LP 1758 0.015 117200
fertd* MIP 2382 0.062 38419
ganges NLP 546 0.109 5009
sarf LP 9210 0.139 66259
yemcem* MIP 510 0.140 3643
Agenda
GAMS – An Introduction
4
Solver Technology
Productivity and Connectivity Tools
Interfacing GAMS with other Applications
GAMS at a Glance
General Algebraic Modeling System
• Roots: World Bank, 1976
• Went commercial in 1987
• GAMS Development Corp.
• GAMS Software GmbH
• Broad academic & commercial
user community and network
5
GAMS’ Fundamental concepts
Deployed models have often 15+ years lifecycle– Changing environment (Hardware, OS, Interface)– Improving solver technology
Interface Data Model Solver Interface
6
� Different layers with separation of– model and data– model and solution methods– model and operating system– model and interface
GAMS’ Fundamental concepts
� Models benefit from
– Advancing hardware
– Enhanced / new solver technology
– Improved / upcoming interfaces to other systems– Improved / upcoming interfaces to other systems
� Backward compatibility
� Protection of user investments
Interface Data Model Solver Interface
7
GAMS at a Glance
General Algebraic Modeling System
• Algebraic Modeling Language
• 25+ Integrated Solvers
• 10+ Supported MP classes
• 10+ Supported Platforms
• Connectivity- & Productivity Tools
• IDE
• Model Libraries
• GDX, Interfaces & Tools
• Grid Computing
• Benchmarking
• Compression & Encryption
• Deployment System
• …
8
Supported Model Types (GAMS 22.7)
9
Supported Platforms (GAMS 22.7)
10
GAMS 22.5 GAMS 22.6
Downloads by Platform
~525 downloads/week ~590 downloads/week
GAMS 22.7
~590 downloads a week11
System Overview
Connectivity Tools• Uniform Data Exchange:
• ASCII
• GDX (ODBC, SQL,
XLS, XML)
Productivity Tools• Integrated Development
Environment
• Integrated Data Browser and
Charting Engine
• Model Libraries
User Interfaces
API / BatchInteractive
XLS, XML)
• GDX Tools
• Component Libraries with
Interfaces to C,C++,C#,
Delphi,Fortran,Java,VB,…
• Ext. programs
• EXCEL
• MATLAB
• GNUPLOT, …
• CONVERT
SolversLP/MIP-QCP-MIQCP-NLP/DNLP-MINLP-
CNS-MCP-MPEC,global, and stochastic
• Model Libraries
• Benchmarking and Deployment
• Model Debugger and Profiler
• Transparent and reproducible
Quality Assurance and Testing
System
• Data and Model Encryption
• Grid Computing
• Scenario Reduction
• MPSGE for general equilibrium
modeling
GAMS Language Compiler
and Execution System
12
ALPHAECP, BARON, COIN,
CONOPT, CPLEX, DECIS, DICOPT,
KNITRO, LGO, LINDO, MINOS,
MOSEK, OQNLP, PATH, SNOPT, XA,
XPRESS, …
Improvements on all Frontiers
– Solver Technology• Updates for existing solvers
• New solvers
13
– Productivity Tools• IDE improvements
• Documentation and Wikis
– Connectivity Tools• Gams Data eXchange and GDX Tools
• Component Libraries/APIs
Agenda
GAMS – An Introduction
14
Solver Technology
Productivity and Connectivity Tools
Interfacing GAMS with other Applications
Continuous updates of existing solvers
– BARON 8.1
– Coin-OR Solvers• CoinCBC 2.1
Solver Updates
• CoinCBC 2.1• CoinGLPK 4.22• CoinIpopt 3.3• CoinBonmin 0.99
– CPLEX 11.1
– LINDOGLOBAL 5.0
– MOSEK 5.0
– XPRESS 18.0
– …
15
Continuous addition of new solvers, e.g.
• CoinScip http://scip.zib.de/– LP/MIP solver developed at Zuse Institute Berlin (ZIB)– Branch-and-cut framework
New Solvers
– Branch-and-cut framework– Supports GAMS/BCH facility to allow additional control of the
solution process– free for academic users
• In-core communication solvers– Bdmlpd, Conoptd, Cplexd, …
• (Experimental) Extended Mathematical Programming
16
• Practical optimization problems are often nonlinear and
non-convex, with discrete variables
• They may contain disconnected feasible regions with
multiple local optima
Improved Global Optimizers in GAMS
-4
-2
0
2
4
-4
-2
0
2
-1
0
1
2
-4
-2
0
2
4
� Find the best of all local optima
• BARON• LINDOGLOBAL
• LGO
• OQNLP/MSNLP
17
Proven global optimum
Stochastic convergenceto global optimum
Global Benchmark Summary
• 250 models
MINLPs from MINLIB
• timelimit: 600 sec
18
• timelimit: 600 sec
• gap tol.: 0%
• Lindoglobal 5.0.1
• Baron 7.8.1
An initiative to spur the development of
open-source software for the OR community
http://www.coin-or.org/
Coin-OR
• A repository of currently ~30 open-source projects– Solvers– Interfaces– Tools
• An active OR community– Mailing lists– Google group– Wikis
19
https://projects.coin-or.org/GAMSlinks
Stefan Vigerske (Humboldt-University Berlin)
Goals
The Coin-OR / GAMSLinks Project
Goals
• easy access to COIN-OR solvers via GAMS
• broadening the audience of COIN-OR
• broadening the audience of GAMS
• help developers to connect their solvers to GAMS
• provide access to GAMS benchmarking and quality
assurance tools
20
GAMS interfaces to open-source Solvers
• COIN-OR Linear Programming (CLP)
and Branch and Cut (CBC)
The Coin-OR / GAMSLinks Project
and Branch and Cut (CBC)– state of the art LP and MIP solver from J. Forrest
• Gnu Linear Programming Kit (GLPK)– LP and MIP solver from A. Makhorin
• Interior Point Optimizer (IPOPT)– large scale NLP solver from A. Wächter
21
GAMS interfaces to open-source Solvers
• Basic Open-source Nonlinear Mixed Integer
programming (BONMIN)– Branch and Cut based MINLP solver from
The Coin-OR / GAMSLinks Project
– Branch and Cut based MINLP solver fromP. Bonami et.al.
• Lagrangian Global Optimizer (LaGO)– Convexification and Branch and Cut based MINLP solver
from I. Nowak and S. Vigerske
• Solving Constraint Integer Programs (SCIP)– LP/MIP solver developed at Zuse Institute Berlin (ZIB)
22
Available on• Linux (32- and 64-bit x86-CPUs)• MacOS Darwin (PowerPC-based G4/G5)• Solaris (64-bit x86-CPUs)
The Coin-OR / GAMSLinks Project
• Solaris (64-bit x86-CPUs)• Windows (32-bit and 64-bit x86-CPUs)
Corresponding GAMS Systems distribute free coin solvers • CoinIpopt• CoinBonmin• CoinCbc• CoinGlpk• CoinScip (academic only)
23
MIP Benchmark Summary
24
MINLP Benchmark Summary
25
The Coin-OR / GAMSLinks Project
Performance Benchmark of MIP codes free for academic use by H. Mittelmann. Solution times are geometric means
where unsolved instances were assigned a 2 hours solution time (time limit). Details at scip.zib.de
GAMS QA and testing supports
maturing of COIN-OR solvers!
Coin-OR solvers enable GAMS
to offer dependable free solvers!26
Agenda
GAMS – An Introduction
27
Solver Technology
Productivity and Connectivity Tools
Interfacing GAMS with other Applications
Integrated Development Environment
28
• Project management
• Editor / Syntax coloring / Spell checking
• Launching and monitoring of (multiple) GAMS processes
• Listing file / Tree view / Syntax-error navigation
Integrated Development Environment
• Listing file / Tree view / Syntax-error navigation
• Solver selection / Option selection
• GDX viewer
– Data cube
– Data export (e.g. to MS Excel)
– Charting facilities
• Documentation
• Model libraries
29
• Distributed Documentation
– GAMS Users Guide
– Expanded GAMS Users Guide (McCarl)
– Solver Manuals
Documentation
– Solver Manuals
– GAMS Utility Manuals
• Wikis
– Support Wiki http://support.gams-software.com
– Interfaces Wiki http://interfaces.gams-software.com
30
• GAMS Model Library – Example and user-contributed
models– Very often used as templates– Tests for
• Solver robustness and correctness
Distributed Model Libraries
• Solver robustness and correctness• Backward compatibility
• GAMS Test Library– Transparent and reproducible Quality Assurance Tests– Tests for
• Solver correctness• Special functions• GAMS utilities
31
• GAMS Data Utilities Library– Demonstration of the various
utilities interfacing GAMS with other applications
– e.g. GDX utilities
Distributed Model Libraries
• Practical Financial Optimization ModelsModels of the forthcoming book
“PRACTICAL FINANCIAL OPTIMIZATION –A Library of GAMS Models”
by Consiglio, Nielsen and Zenios
32
Maintained libraries of established and varied set
of both theoretical and practical test models:
GAMSworld Model Libraries
of both theoretical and practical test models:
• CONELib• GLOBALLib• LinLib• MINLPLib• MPECLib• MPSGELib• PrincetonLib• XPRESSLib• …33
Gams Data eXchange
Application GDX
GAMS
SOLVER
Binary Data Exchange
GDX Tools
IDE GDX Viewer
GDXrankGDXInvert
• 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
34
GDX2XLSGDX
GDXxrw
GAMS
GDXdiff
GDXdump
GDXmerge
GDXrankGDXAPI
GDX2HAR / HAR2GDX
MDB2GMS GDXcopy
GAMS in Control
GAMS Model
Direct GDX
Interface
External Database
Import
GUIs
35
External Database
Export
Direct GDX
Interface
Application in Control
Application
Creating Input36
Call GAMS Reading Solution
GDX
Container
GDX
Container
GDX API GDX API
GAMS
(Executable / DLL)
Calling GAMS from an Application
Works from basically every environment
– MS Office Application / VBA
– Programming languages:
• C,C++,C#
37
• C,C++,C#
• Delphi
• Java
• VB.NET
• Fortran
– Web application (server side)
– ERP Systems: Oracle, SAP
– …
Interfacing with GIS Applications
Less Than 0
0 - 199
200-1000
1000-3000
Increase in Ktons Per Year
38
Interfacing with MATLAB
39
Interfacing with GNUPLOT
40
Interfacing with Web Applications
41
Interfacing with Individual Front Ends
SAT-PROPHET42
Distributed APIs
• Component Libraries
– GAMS
– GDX
– Option
• Interfaces for
– C, C++, C#
– Delphi
– Fortran
– Java
– VBA, VB.Net
• Examples/Documentation43
Agenda
GAMS – An Introduction
44
Solver Technology
Productivity and Connectivity Tools
Interfacing GAMS with other Applications
• Integrated Model of the US Electricity, Coal and
Emission Markets� GAMS model is in control
Sample GAMS Applications
� GAMS model is in control
• Hotdip Galvanizing Scheduling Model� Application is in control
45
Integrated US Energy Model
46
Varying Size of the Problem
7,500,000 Variables
3,5
00
,00
0 C
on
str
ain
ts
5,000,0006 GB
1.3 GB
900,0
00
1,400,000
26,000,000 Non-zero Entries
3,5
00
,00
0 C
on
str
ain
ts
5,000,000
13 hours
40 m
in
900,0
00
47
Layout of the Model
Integrated US Energy Model
Data Import Module
Data Manipulation
Module
Solution Module
Report Module
48
GDX Container
GDX Container
MS Excel
Module
GDX Container
GDX Container
GDX Container
MS Excel
• Given – Set of jobs
– Gas usage for reheating job i after job j is completed
– Set of jobs not allowed to follow each other
Hot-dip Galvanizing Scheduling Problem
– Set of jobs not allowed to follow each other
– Gas costs
• Wanted:
– Schedule minimizing
total gas costs
49
points
2019181716151413121110987654321
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
j1
j2
j3
j4
j5
j6
j7
j8
j9 j10 j11
j12j13
j14
j15
j16
j17
j18
j19
j20
j21
j22
j23
j24
j25
j26
j27 j28j29
j30
j31 j32j33
j34
j35
j36
j37
j38
j39
j40
j41
j42
j43
j44
j45
j46
j47
j48
j49
j50
j51
j52
j53
j54
j55
j56
j57
j58
j59j60
j61
j62
j63
j64
j65
j66
j67
j68
j69
j70
j71
j72
j73
j74
j75
j76
j77
j78
j79j80 j81j82 j83
j84
j85
j86
j87
j88
j89 j90
j91 j92 j93
j94
j95
j96
j97
j98
j99
j100 j101
j102
j103
j104
j105
j106
j107
j108
j109
j110
j111 j112
j113
j114
j115
j116
j117
j118j119
j120
j121
j122 j123j124
j125
j126 j127
j128
j129
j130
j131
j132
j133
j134
j135
j136
j137
j138
j139
j140
j141
j142
j143 j144
• Can be formulated as a TSP like Model
• Need of subtour elimination constraints
Hot-dip Galvanizing Scheduling Problem
• Single ‘Brute force’ model cannot be solved
• Algorithmic Approach using dynamic cuts
50
GAMS Beta Distribution 22.8 is available for download
http://beta.gams-software.com
GAMS Beta 22.8
- New Solver Libraries, e.g.
- CPLEX 11.1
- Coin-OR Solvers
- Experimental Solvers offering in-core communication
- Two new Model Libraries
- New utilities (gdx2xls, invert, xlstalk)
- …
51
Contacting GAMS
Europe
GAMS Software GmbH
Eupener Str. 135-137
50933 Cologne
USA
GAMS Development Corp. 1217 Potomac Street, NW
50933 CologneGermany
Phone: +49 221 949 9170
Fax: +49 221 949 9171
http://www.gams.de
1217 Potomac Street, NW
Washington, DC 20007USA
Phone: +1 202 342 0180
Fax: +1 202 342 0181
http://www.gams.com
52