GAMSUsersGuide.pdf
(
1613 KB
)
Pobierz
GAMS|AUser'sGuide
TutorialbyRichardE.Rosenthal
c July 2011
GAMS Development Corporation, Washington, DC, USA
Table of Contents
1
Introduction
1
1.1
Motivation
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.2
Basic Features of GAMS
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.2.1
General Principles
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.2.2
Documentation
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.2.3
Portability
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.2.4
User Interface
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.2.5
Model Library
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.3
Organization of the Book
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
2
A GAMS Tutorial
byRichardE.Rosenthal
5
2.1
Introduction
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
2.2
Structure of a GAMS Model
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
2.3
Sets
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
2.4
Data
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
2.4.1
Data Entry by Lists
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
2.4.2
Data Entry by Tables
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
2.4.3
Data Entry by Direct Assignment
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
2.5
Variables
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
2.6
Equations
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
2.6.1
Equation Declaration
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
2.6.2
GAMS Summation (and Product) Notation
. . . . . . . . . . . . . . . . . . . . . . . . . .
13
2.6.3
Equation Denition
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
2.7
Objective Function
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
2.8
Model and Solve Statements
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
2.9
Display Statements
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
2.10
The '.lo, .l, .up, .m' Database
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
2.10.1
Assignment of Variable Bounds and/or Initial Values
. . . . . . . . . . . . . . . . . . . . .
16
2.10.2
Transformation and Display of Optimal Values
. . . . . . . . . . . . . . . . . . . . . . . .
17
2.11
GAMS Output
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
2.11.1
Echo Prints
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
2.11.2
Error Messages
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
2.11.3
Reference Maps
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
2.11.4
Equation Listings
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
2.11.5
Model Statistics
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
2.11.6
Status Reports
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
2.11.7
Solution Reports
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
2.12
Summary
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
3
GAMS Programs
27
3.1
Introduction
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
3.2
The Structure of GAMS Programs
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
3.2.1
Format of GAMS Input
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
3.2.2
Classication of GAMS Statements
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
4
TABLE OF CONTENTS
3.2.3
Organization of GAMS Programs
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
3.3
Data Types and Denitions
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
3.4
Language Items
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
3.4.1
Characters
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
3.4.2
Reserved Words
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
3.4.3
Identiers
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
3.4.4
Labels
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
3.4.5
Text
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
3.4.6
Numbers
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
3.4.7
Delimiters
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
3.4.8
Comments
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
3.5
Summary
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
4
Set Denitions
35
4.1
Introduction
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
4.2
Simple Sets
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
4.2.1
The Syntax
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
4.2.2
Set Names
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
4.2.3
Set Elements
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
4.2.4
Associated Text
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
4.2.5
Sequences as Set Elements
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
4.2.6
Declarations for Multiple Sets
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
4.3
The Alias Statement: Multiple Names for a Set
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
4.4
Subsets and Domain Checking
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
4.5
Multi-dimensional Sets
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
4.5.1
One-to-one Mapping
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
4.5.2
Many-to-many Mapping
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
4.6
Summary
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
5
Data Entry: Parameters, Scalars & Tables
43
5.1
Introduction
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
5.2
Scalars
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
5.2.1
The Syntax
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
5.2.2
An Illustrative Example
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
5.3
Parameters
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
5.3.1
The Syntax
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
5.3.2
An Illustrative Examples
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
5.3.3
Parameter Data for Higher Dimensions
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
5.4
Tables
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
5.4.1
The Syntax
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
5.4.2
An Illustrative Example
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
5.4.3
Continued Tables
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
5.4.4
Tables with more than Two Dimensions
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
5.4.5
Condensing Tables
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
5.4.6
Handling Long Row Labels
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
5.5
Acronyms
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
5.5.1
The Syntax
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
5.5.2
Illustrative Example
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
5.6
Summary
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
6
Data Manipulations with Parameters
51
6.1
Introduction
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
6.2
The Assignment Statement
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
6.2.1
Scalar Assignments
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
6.2.2
Indexed Assignments
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
6.2.3
Using Labels Explicitly in Assignments
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
52
TABLE OF CONTENTS
5
6.2.4
Assignments Over Subsets
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
52
6.2.5
Issues with Controlling Indices
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
52
6.2.6
Extended Range Identiers in Assignments
. . . . . . . . . . . . . . . . . . . . . . . . . .
53
6.2.7
Acronyms in Assignments
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
6.3
Expressions
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
6.3.1
Standard Arithmetic Operations
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
6.3.2
Indexed Operations
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
6.3.3
Functions
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
6.3.4
Extended Range Arithmetic and Error Handling
. . . . . . . . . . . . . . . . . . . . . . .
62
6.4
Summary
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
7
Variables
65
7.1
Introduction
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
65
7.2
Variable Declarations
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
65
7.2.1
The Syntax
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
65
7.2.2
Variable Types
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
66
7.2.3
Styles for Variable Declaration
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
66
7.3
Variable Attributes
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
67
7.3.1
Bounds on Variables
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
67
7.3.2
Fixing Variables
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
67
7.3.3
Activity Levels of Variables
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
68
7.4
Variables in Display and Assignment Statements
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
68
7.4.1
Assigning Values to Variable Attributes
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
68
7.4.2
Variable Attributes in Assignments
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
68
7.4.3
Displaying Variable Attributes
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
69
7.5
Summary
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
69
8
Equations
71
8.1
Introduction
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
71
8.2
Equation Declarations
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
71
8.2.1
The Syntax
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
71
8.2.2
An Illustrative Example
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
71
8.3
Equation Denitions
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
72
8.3.1
The Syntax
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
72
8.3.2
An Illustrative Example
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
72
8.3.3
Scalar Equations
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
73
8.3.4
Indexed Equations
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
73
8.3.5
Using Labels Explicitly in Equations
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
73
8.4
Expressions in Equation Denitions
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
74
8.4.1
Arithmetic Operators in Equation Denitions
. . . . . . . . . . . . . . . . . . . . . . . . .
74
8.4.2
Functions in Equation Denitions
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
74
8.4.3
Preventing Undened Operations in Equations
. . . . . . . . . . . . . . . . . . . . . . . .
74
8.5
Data Handling Aspects of Equations
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
75
9
Model and Solve Statements
77
9.1
Introduction
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
77
9.2
The Model Statement
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
77
9.2.1
The Syntax
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
77
9.2.2
Classication of Models
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
78
9.2.3
Model Attributes
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
78
9.3
The Solve Statement
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
79
9.3.1
The Syntax
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
80
9.3.2
Requirements for a Valid Solve Statement
. . . . . . . . . . . . . . . . . . . . . . . . . . .
80
9.3.3
Actions Triggered by the Solve Statement
. . . . . . . . . . . . . . . . . . . . . . . . . . .
80
9.4
Programs with Several Solve Statements
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
81
9.4.1
Several Models
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
81
Plik z chomika:
aivliska
Inne pliki z tego folderu:
Zagadnienie pośrednika.docx
(65 KB)
tutorialGAMS.pdf
(824 KB)
Tutorial.pdf
(81 KB)
problem z czegos tam.docx
(37 KB)
tutorialGAMS2009.pdf
(483 KB)
Inne foldery tego chomika:
Latex
RR w Javie
SQL
Statystyczne metody eksploracji danych _LIBSVM w Javie
Zgłoś jeśli
naruszono regulamin