53
Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele Hauptseminar Energiewirtschaftliche Modellierung WS 04/05

Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

WestfälischeWilhelms-Universität

Münster

Lehrstuhl für VolkswirtschaftstheorieProf. Dr. Wolfgang Ströbele

HauptseminarEnergiewirtschaftliche Modellierung

WS 04/05

Page 2: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Schritte derModellierung

Problem

Algebraische Model-lierungsspracheSolver

Lösung

Bericht

MathematischesModellmax p c R e dt

S R

rt− ⋅ ⋅

= −

−∞z0

s. t.

Page 3: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

3501.81.72.5Seattle

275300325Nachfrage

6001.41.82.5San Diego

TopekaChicagoNew York

AngebotVerschiffungsdistanzen in (1000 Meilen)Fabriken

Seattle

San Diego

Chicago New York

Topeka

Einführungsbeispiel:

(Transportproblem Dantzig, 1963)

Page 4: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Daten:Maximale Angebotsmenge des Gutes von Fabrik iNachfrage nach dem Gut auf Markt j Transportkosten pro Gut von Fabrik i nach Markt j

iajb

ijc

Entscheidungsvariablen:Wieviele Einheiten des Gutes werden von Fabrik i nach Markt j geliefertEs werden nur positive Mengen geliefert

ijx

0≥ijx

Indizes:i Fabriken (Seattle, San Diego)j Märkte (New York, Chicago, Topeka)

Page 5: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Angebotsrestriktion:

Kapazitätsgrenze von Kraftwerk i muss eingehalten werdeni

jij ax ≤∑

Nachfragerestriktion:

Die Nachfrage von Markt j muss befriedigt werdenj

iij bx ≥∑

!!! 5 Restriktionen !!!

NewYorkSeattlex , ChicagoSeattlex , TopekaSeattlex ,+ + 350≤NewYorkSanDiegox , ChicagoSanDiegox , TopekaSanDiegox ,+ + 600≤

NewYorkSeattlex , + NewYorkSanDiegox , 325≥ChicagoSeattlex , ChicagoSanDiegox ,

TopekaSeattlex , TopekaSanDiegox ,

+ 300≥+ 275≥

Page 6: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Zielfunktion:

Minimierung der Transportkosten∑∑i j

ijijcx

TopekaSanDiegox ,

+ ++ + k=126.0

225.0225.0 162.0

162.0153.0NewYorkSeattlex ,

NewYorkSanDiegox ,

ChicagoSeattlex ,

ChicagoSanDiegox ,

TopekaSeattlex ,+

Lineares Minimierungsproblem

6 Gleichungen7 Variablen

Lösung : Mit Hilfe Linearer Programmierung (LP)

Page 7: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Ergebnistabelle:

030050Seattle

2750325San Diego

TopekaChicagoNew York

Transportierte GüterFabriken

0.0360epsSeattle

00.0090San Diego

TopekaChicagoNew York

SchattenpreiseFabriken

!!! Minimale Kosten 153675 $ !!!

Page 8: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Der Aufbau eines GAMS- Programmes:

1. Ein GAMS-Programm besteht aus Statements, die die Datenstrukturen, Anfangswerte, Daten-Modifikationen, Gleichungen usw. definieren.

2. GAMS-Programme lassen sich durch drei Module beschreiben:

1. Daten-Modul

2. Modell-Modul

3. Lösungs-Modul

Merken I:

Jedes Statement wird mit einem Semikolon beendet!

Es ist sinnvoll die Bestandteile von Modulen geschlossen zu gruppieren!

Page 9: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Die Bestandteile der GAMS-Module:

Daten-Modul:Set declarations and definitionsParameter declarations and definitionsAssignmentsDisplays

Model-Modul:Variable declarations Equation declarations and definitionsModel definition

Lösungs-Modul:SolveDisplays

Page 10: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Die Basis-Typen von Daten -Darstellungsformen:

1. Set

2. Parameter (Spez. Form: Table, Scalar)

3. Variable

4. Equation

5. Model

Merken II:

Table und Scalar sind keine eigenen Daten-Typen, sondern eine spezielle Form, um ein Symbol (Identifier) als Parameter zu deklarieren!

Es gibt Signalwörter in GAMS, welche eine bestimmte Aktion nach sich ziehen, z.B. ein neues Statement oder eine mathematische Funktion einleiten.

Page 11: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Die Deklaration und Definition am Bsp. von Sets:

Deklaration:

Schlüsselwort Identifier Domain Erklärender Text ;

Definition:

Schlüsselwort Identifier Domain / Label..... / ;

Beispiele Set:

Schlüsselwort Identifier Erklärungstext

Set J Rohoelsorten

/ LOEL, SOEL / ;

Label, Label Statement-Ende

Page 12: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Regeln der GAMS-Sprache:

Merken III:Identifier sind Namen, die Daten-Darstellungsformen zugeordnet werden, d.h. hier Set-Name! Sie müssen mit einem Buchstaben beginnen und dürfen 9 weitere Buchstaben oder Ziffern beinhalten!

Label sind Set-Elemente, welche höchstens 10 Zeichen haben dürfen! Setzt man Labels in „“ so sind alle erlaubten Symbole nutzbar!

Nie benutzt werden dürfen in GAMS folgende Zeichen: [],{},!,^,ä,ü,ö,ß

GAMS unterscheidet nicht zwischen Groß- und Kleinschreibung!

Text kann bis zu 80 Zeichen lang werden. Anführungsstriche erlauben das Nutzen nicht-erlaubter Zeichen, z.B. / usw.die ansonsten Signalfunktion haben.

Sets und Parameters, die in Equations benötigt werden, müssen deklariert werden, bevor die Gleichung spezifiziert wird. Die Definition kann nach den Gleichungen erfolgen, aber bevor eine Equation im Solve-Statement benutzt wird. Es ist i.d.R. sinnvoll an der gleichen Stelle zu deklarieren und zu definieren!

Page 13: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Übung 1:Beantworten Sie folgende Fragen:Welche Namen sind Identifiers?Welche Namen sind Labels?Welche Namen sind erlaubt?Was ist Text? Welcher Text ist erlaubt?

SET I participants in this course

/Mathias, Sven, Fei, Holger, Hartmut / ;

PARAMETER EFFORT(I) Aufmerksamkeitsanteil pro Stunde;

EQUATION DONTRUNOUT(K) ;

VARIABLE POSITIVE(J) ;

VARIABLE 2ton(P) Zahl der 2-Tonner produziert in Werk p ;

SET SPITZEN KRAEFTE Spitzenpositionen im Lehrstuhl

/ SEKRATARIAT, Lehrstuhlinhaber,

STUD-01, STUD-02 /;

Page 14: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Weitere Möglichkeiten der Deklaration und Definition von Sets:

SETS PROD Final products/ SYNCRUDE Refined crude (million barrels)LPG Liquefied petroleum gas(million barrels)SULFUR sulfur (million tons) /

PLANT Refinery location/ Hamburg, W-haven /

MONTH monthly production/ Jan, Feb Apr,Mai, Jun,Jul,Aug, Sep,Okt, Nov,Dez /

oder/ 1, 2, 3 ,4, 5, 6, 7, 8, 9, 10, 11, 12 /

oder/ 1 * 12 /

oder/Mon1 * Mon12 / ;

Page 15: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Regeln der GAMS-Sprache:Merken IV:

Ein Komma trennt Datenauflistungen!

Ein Slash-Zeichen trennt Datensätze!

Das *-Zeichen zwischen Labeln charakterisiert eine Sequenz von Set-Elementen.

Das *-Zeichen kann zum einfügen von Kommentierungen (vom Rechner nicht berücksichtigter erläuternder Text) genutzt werden, indem es an die erste Stelle einer Zeile gesetzt wird.

Eine weitere Möglichkeit kommentierenden Text einzufügen besteht durch die Befehle $ontext und $offtext, die vor, bzw. hinter den entsprechenden Text zu setzen sind.

Page 16: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Nützliche Funktionen für den Umgang mit Sets:

Das ALIAS Statement

Häufig ist es nützlich, mehr als einen Namen für die gleiche Menge zu haben (z.B. Regionen, die gleichzeitig exportieren und importieren).

SET IMP Import regions

/ W-EUR, O-EUR, N-AMR, S-AMR, AAN, ANP, AFR / ;

ALIAS(IMP, EXP) ;

Merken V:

ALIAS beendet immer das SET-Statement. Sollen weitere SETS deklariert werden, muss das SET Statement erneut aufgenommen werden.

Page 17: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Teilmengen und Definitionsbereiche

GAMS erlaubt die Kennzeihnung von Teilmengen:

SET TR tradeable goods

/oil, gas, coal, good1* good4/

EN(TR) energy tradeable goods

/oil, gas, coal /;

Merken VI:

EN(TR) bedeutet, das die Elemente von EN eine Teilmenge von der Menge TR ist. GAMS prüft automatisch, ob die Definitionsbereiche auch tatsächlich übereinstimmen. Rechtschreibfehler werden so entdeckt und können kein falsches Modellergebnis liefern!

Page 18: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Multi-Dimensionale Mengen und Abbildungen

Mathematisch: A={ {a,b}, {c,d}, {e,f} }

Bsp: Zu jedem Land ist eindeutig ein Export-Hafen zuzuordnen.SETS C COUNTRIES

/ Jamaica, Haiti / P PORTS

/ Kingston, S-Domingo / ;

Nun kann eine SET kreiert werden, das eine eindeutige Zuordnung vornimmt:

SET PTOC(P,C) Port to country relationsship/ Kingston .JamaicaS-Domingo .Haiti / ;

Merke VII:

Der Punkt zwischen Kingston und Jamaica kreiert eine derartige Zurodnung. Leerzeichen können nach belieben gesetzt werden. Die Notation (P,C) besagt, daß das erste Element eines Paares aus der Menge P, und das zweite aus der Menge C kommen muß. (Automatisches Domain-checking!)

Page 19: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Ein Weiteres Beispiel in verschiedenen Schreibweisen:SETS CR crude oils

/ WESTEX, MIDCON /CI intermediate products

/ Naphta, GASOIL, DISTILLATE /;Die Menge aller Kombinationen ist nun:SET CICR(CI, CR) Tagged Intermediate products

/ Naphta . WESTEXNAPHTA . MIDCONGASOIL . WESTEXGASOIL . MIDCONDESTILLATE. WESTEXDESTILLATE. MIDCON /;

oder in kompakterer Schreibweise:SET CICR(CI, CR) Tagged Intermediate products

/ NAPHTA. (WESTEX, MIDCON)GASOIL. (WESTEX, MIDCON)DESTILLATE.(WESTEX, MIDCON) /;

und noch kompakter ist:SET CICR(CI, CR) Tagged Intermediate products

/ (NAPHTA, GASOIL, DESTILLATE). (WESTEX, MIDCON) /;DISPLAY CICR;

Merken VIII: Bei kompakter Schreibweise sollte immer das Display-Statement stehen, um im Solution-Printing zu sehen, was man gemacht hat.

Page 20: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Die Eingabe von Daten in GAMS:

Eingabe Möglichkeiten:

1. Scalar: Ein Scalar besitzt die Dimension Null

2. Parameter: Ein Parameter besitzt die Dimension Eins.

3. Table: Ein Table besitzt die Dimension >= Zwei.

d.h. für Deklarationen:

Scalar i Zinssatz ;

Parameter X (J) Benzinanteil von Rohoelsorten ;

Table X (Input,Output) Input-Output-Tabelle

Page 21: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Die Deklaration und Definition bei Parametern:

Deklaration:

Schlüsselwort Identifier Domain erklärender Text ;

Definition:

Schlüsselwort Identifier Domain / Label..... / ;

Beispiel Set:

Schlüsselwort Identifier Domain Erklärungstext

Parameter X (J) Benzinanteil von Rohoelsorten

/ LOEL 0.25 ,

SOEL 0.2 / ;

Label, Label Statement-Ende

Page 22: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Regeln der GAMS-Sprache:

Merken IX:

Die „Goldenen Regel“: Daten sollten in der einfachsten Form und nur ein einziges mal eingegeben werden!

Die Domain eines Parameters ist i.d.R. ein Set-Identifier.

Scalars besitzen die Dimensionalität Null, sie sind keiner Menge zugeordnet und haben somit auch keine Domain.

Tables sind für mehrdimensionale Parameter hervorragend geeignet.

Mehr-Dimensionale Tabellen (>2) sind wie bei den Sets durch den Punkt kombinierbar.

Dezimalzahlen werden wie im Englischen üblich durch Punkte dargestellt.

Page 23: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Die Abbildung großer Tabellen:Große Tabellen sind durch " + " miteinader zu verknüpfen:

TABLE D(I,*) Distanz zwischen Produktionsstaeten und MaerktenNEW-YORK CHICAGO

SEATTLE 2.5 1.7 SAN-DIEGO 2.5 1.8

+ TOPEKASEATTLE 1.8SAN-DIEGO 1.4 ;

Merken X:

Das " + " Zeichen muß über dem Spalten-Label und links vom Zeilen-Label im folgenden Teil der Tabelle stehen. Mehr-Dimensionale Tabellen sind wie bei den SETS durch den Punkt kombinierbar.

Domain checking kann explizit unterbunden werden, indem man für den SET-Namen ein " * " setzt.

Page 24: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Daten-Manipulation mit Parametern:

Jedem Parameter (Scalar) können Werte zugeordnet oder bestehende Werte verändert werden.

Weiterhin können

A) Mathematische Standardoperatoren

B) Funktionen

C) Indexoperatoren

in GAMS eingesetzt werden, um Parameter bei Bedarf anzupassen.

Page 25: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Zurordnungen (Assignments)

Beispiel:

SCALAR X / 1.5 / ;

X = 2 ;

X = X + 2 ;

Merken XI:

Jedem Parameter (Scalar) können Werte zugeordnet oder bestehende Werte verändert werden.

Um die Überprüfung zu erleichtern, sollte nach Assignments immer ein DISPLAY Statement folgen.

Page 26: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Mathematische Standardoperatoren:

** Exponentiation

* / Multiplikation und Division

+ - Addition und Substraktion

Beispiel:

X = 5 + 4 * 3 ** 2 ; besser: X = 5 + (4 * (3**2)) ;

Funktionen

Beispiel:

X(J) = LOG(Y(J)) ;

Der laufende Wert von X wird ersetzt durch den natürlichen Logarithmus von Y über den Bereich der Menge J.

Page 27: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Index-Operatoren

Index-Operatoren sind: SUM (Summe), PROD (Produkt), SMIN (kleinster Wert), SMAX (größter Wert).

Beispiel:

PARAMETER TOTCAP(M) Total production capacity by all machines(M) and over all plants (I);

TOTCAP(M) = SUM ( I, CAPACITY(I, M)) ;

DISPLAY TOTCAP ;

Merken XII:

Der Index über den die Summation läuft (I), ist vom Operator SUM getrennt durch eine Klammer und vom Daten-Term CAPACITY(I, M) durch ein Komma.

Page 28: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Variables:

Variablen sind endogene Größen, die sich aus der optimalen Lösung ergeben.

Die Deklaration von Variablen erfolgt analog zur Deklaration von Parametern.

Ein typisches VARIABLES-Statement sieht wie folgt aus:

VARIABLES K(T) Capital stock (mill. $ per year)

C(T) Consumption (mill. $ per year)

I(T) Investment (mill. $ per year)

UTILITYUtility measure ;

Hinweis: Schreibe nie "/", nutze per oder je.

Page 29: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Grundsätzlich sind alle Variablen FREE, d.h. sie unterliegen keinerlei Einschränkungen. Variablen lassen sich aber einschränken.

Sinnvollerweise existieren Informationen über Variablen, die den Geltungsbereich einschränken. Preise, Konsum können nicht negativ sein.

Variablengrenzen:

Schlüsselwort Untergrenze (.LO) Obergrenze (.UP)

FREE -INF +INF

POSITIVE 0 +INF

NEGATIVE -INF 0

BINARY 0 1

INTEGER 0 100

Page 30: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Bounds:

Notwendig oder hilfreich, besonders für nicht-lineare Optimierung, sind Eingrenzungen für den Variablen-Wertebereich. Man kann in GAMS Ober- und Untergrenzen, aber auch "Richtwerte" vorgeben.

Variablen-Syntax:

.LO Lower bound

.UP Upper bound

.L Activity Level

.M Marginal oder Dual-Wert, Schattenpreis

Beispiel: C.LO(T) = 0.0001;

Lower bound für Konsum, um Division durch 0 bei logarithmischer Nutzenfunktion zu vermeiden.

Page 31: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Anfangswerte und andere feste Werte für Variablen lassen sich mit dem Suffix .FX vorgeben.

Beispiel: K.FX('0') = 100;

Anfangsausstattung (zum Zeitpunkt t=0) des Kapitalstocks.

Soll eine Variable Bestandteil einer Parameterzuordnung sein, so wird der Suffix .L benutzt:

SCALAR CVA Total value added at current prices;

CVA = SUM(I, V.L(I) * X.L(I)) ;

Page 32: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Deklaration von Gleichungen:Merken XIII:

Wie alle identifiers müssen auch EQUATIONS zunächst deklariert werden, bevor sie zum Einsatz kommen.

Die Deklaration beginnt mit dem Namen der Gleichung (hier PDEF), gefolgt vom erklärendem Text.

Jeder Gleichungsname kann mit dem Definitionsbereich geschriebenwerden. Es sei denn es handelt sich um eine skalare Gleichung, wie hier PDEF.

Beispiel [AJAX] :

EQUATIONS CAP(M) MACHINE CAPACITY (HOURS PER MONTH)

DEM(G) DEMAND (TONS PER MONTH)

PDEF PROFIT DEFINITION ($ PER MONTH) ;

Page 33: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Definition von Gleichungen:

Merken XIV:

Im Anschluß an die Gleichungs-Deklaration erfolgt die Gleichungsdefinition. Diese wird im Anschluß ohne eigenes Statement-Schlüsselwort geschrieben:

Gleichungs-Definitionen sind die Umsetzung der mathematischen Formulierung in die GAMS Sprache.

PDEF ist der Name der Gleichung, die definiert werden soll. Die zweiPunkte ".." werden immer benötigt, um den Gleichungsname von der algebraischen Formulierung zu trennen.

CAP(M).. SUM(G, OUTP(G,M)/PRATE(G,M)) =L= AVAIL(M);

DEM(G).. SUM(M, OUTP(G,M)) =E= DEMPR(G,"DEMAND");

PDEF.. PROFIT =E= SUM(G, DEMPR(G,"DEMAND")*DEMPR(G,"PRICE")) - SUM((G,M), PCOST(G,M)*OUTP(G,M));

Page 34: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Merken XV:

Die algebraische Umsetzung ist einfach:

Das Symbol =E= bedeutet, dass die linke Seite der rechten Seite entsprechen muss.

Das Symbol =L= bedeutet, dass die linke Seite kleiner oder gleich der rechten Seite sein muss.

Das Symbol =G= bedeutet, dass die linke Seite größer oder gleich der rechten Seite sein muss.

Jede Gleichung-Definition muss mit (;) abgeschlossen werden.

Es ist möglich Labels explizit in Gleichungen aufzuführen: DEMPR(G,"DEMAND"). Diese werden dann in Anführungsstriche " oder 'gesetzt.

Page 35: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Model:- fasst mehrere Gleichungen zu einem Modell zusammen

model transport "a transportation model" / all / ;

model transport "a transportation model" / supply, demand, cost / ;

Solve:- Befehl zum Lösen eines Modells

- benötigt Modellname, Art des Problems, Optierungsvariable und

Optimierungsrichtung

- Optimierungsvariable muss FREE und SCALAR sein

- Alle Gleichungen sind definiert

- Sets und Parameter haben zugewiesene Werte

Solve transport using lp minimizing z;

Modelldefinition und Modelltypen:

Page 36: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Nonlinear Programming with Discontinuos Derivatives:- „non-smooth“-functions

DNLP

Mixed Integer Programming:- diskrete Variablen (BINARY, INTEGER)- Beachtung der Variablengrenzen

MIP

Relaxed Mixed Integer Programming:- diskrete Variablen (BINARY, INTEGER)- ausgedehntere Variablengrenzen

RMIP

Nonlinear Programming:- nichtlineare Variablenausdrücke- keine diskreten Variablen- „smoothness“

NLP

Linear Programming:- keine nichtlinearen Variablenausdrücke- keine diskreten Variablen (BINARY, INTEGER)

LP

MerkmaleTYP

Page 37: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

MerkmaleTYP

Relaxed Mixed Integer Nonlinear Programming:- wie MINLIP- Ausgedehnte Variablengrenzen

RMINLP

Mixed Integer Nonlinear Programming:- wie MIP- nichtlineare Variablenausdrücke

MINLP

Page 38: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Compilation

Excecution

Model Generation

Compilation Output:- echo print- symbol reference map- symbol listing map- unique element listing map

Excecution Output:

Solution Output:- equation listing- column listing- model statistics- solve summary- solver report- solution lisiting- report summary- file summary

Lösungsphasen:

Compilation-error

Excecution-error

Solution-error

Interpretation des Outputs

Page 39: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Echo print: 22 Sets23 i canning plants / seattle, san-diego /24 j markets / new-york, chicago, topeka /

;2526 Parameters2728 a(i) capacity of plant i in cases29 / seattle 35030 san-diego 600 /3132 b(j) demand at market j in cases33 / new-york 32534 chicago 30035 topeka 275 / ;3637 Table d(i,j) distance in thousands of miles38 new-york chicago topeka39 seattle 2.5 1.7 1.840 san-diego 2.5 1.8 1.4 ;

Page 40: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Symbol Reference Map:- Aktivierung durch $onsymxref am Beginn des Programms- Alphabetische Liste aller Symbole + Erscheinungsort + Erscheinungsart

modelMODEL

variableVAR

setSET

parameterPARAM

DatentypEintrag

equationEQU

Symbole: Erscheinungsarten:

- Set als Laufindex verwendetCONTROL

- Symbol wurde definiert- Zuweisung v. Daten/Gleichungen

DEFINED

- Symbol erscheint auf rechter Gleichungsseite

REF

- Zuweisung durch SolverIMPL-ASN

- Zuweisung eines Wertes- identifier steht links vomGleichheitszeichen

ASSIGNED

BedeutungTyp

- Symbol wurde deklariert- erste Erscheinung

DECLARED

Page 41: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

SYMBOL TYPE REFERENCES

A PARAM DECLARED 29 DEFINED 30 REF 62B PARAM DECLARED 33 DEFINED 34 REF 64C PARAM DECLARED 45 ASSIGNED 47 REF 60

70COST EQU DECLARED 56 DEFINED 60 IMPL-ASN 68

REF 66D PARAM DECLARED 38 DEFINED 38 REF 47DEMAND EQU DECLARED 58 DEFINED 64 IMPL-ASN 68

REF 66F PARAM DECLARED 43 DEFINED 43 REF 47I SET DECLARED 24 DEFINED 24 REF 29

38 45 47 50 57 2*602*62 64CONTROL 47 60 62

64

Page 42: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Symbol Listing Map:- Aktivierung durch $onsymlist am Beginn des Programms- Alphabetische Liste aller Symbole nach Typ geordnet + Beschreibung

SETS

I canning plantsJ markets

PARAMETERS

A capacity of plant i in casesB demand at market j in casesC transport cost in thousands of dollarsper caseD distance in thousands of milesF freight in dollars per case per thousand miles

Page 43: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Unique Element List:- Aktivierung durch $onuelxref und $onuellist am Beginn des Programms- Liste der „Einzigartigen“ Elemente in Eingabe- und Alphabetischer Reihenfolg- Auch Reference Map kann angezeigt werden

Unique Elements in Entry Order

1 seattle san-diego new-york chicago topeka

Unique Elements in Sorted Order

1 chicago new-york san-diego seattle topeka

ELEMENT REFERENCES

chicago DECLARED 29 REF 39 43new-york DECLARED 29 REF 38 43san-diego DECLARED 28 REF 35 45seattle DECLARED 28 REF 34 44topeka DECLARED 29 REF 40 43

Page 44: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Excecution Output:- Output während ein Programm gerade abläuft- Auslösung durch DISPLAY Statement

Display x.l, x.m;

---- 74 VARIABLE X.L shipment quantities in cases

new-york chicago topeka

seattle 50.000 300.000san-diego 325.000 275.000

---- 74 VARIABLE X.M shipment quantities in cases

new-york chicago topeka

seattle EPS 0.036san-diego 0.009

Page 45: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Equation Listing:- Listest die ersten 3 Gleichungen jeden Gleichungsblocks auf- Variable Terme stehen auf der linken Seite- Konstante Terme stehen auf der rechten Seite

---- DEMAND =G= satisfy demand at market j

DEMAND(new-york).. X(seattle,new-york) + X(san-diego,new-york) =G= 325 ;

(LHS = 0, INFES = 325 ***)

---- COST =E= define objective function

COST.. - 0.225*X(seattle,new-york) - 0.153*X(seattle,chicago)

- 0.162*X(seattle,topeka) - 0.225*X(san-diego,new-york)

- 0.162*X(san-diego,chicago) - 0.126*X(san-diego,topeka) + Z =E= 0 ;

(LHS = 0)

Page 46: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Column Listing:- Variablenkoeffizienten Spaltenweise sortiert- Notation genause wie im Equation Listing

---- X shipment quantities in cases

X(seattle,new-york)(.LO, .L, .UP = 0, 0, +INF)

-0.225 COST1 SUPPLY(seattle)1 DEMAND(new-york)

X(seattle,chicago)(.LO, .L, .UP = 0, 0, +INF)

-0.153 COST1 SUPPLY(seattle)1 DEMAND(chicago)

Page 47: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Model Statistics:- Letzte Information vor der Lösung des Modells- Bietet Informationen über Größe und Nichtlinearität des Modells

Model Statistics SOLVE TRANSPORT USING LP FROM LINE 73

MODEL STATISTICS

BLOCKS OF EQUATIONS 3 SINGLE EQUATIONS 6BLOCKS OF VARIABLES 2 SINGLE VARIABLES 7NON ZERO ELEMENTS 19

GENERATION TIME = 0.020 SECONDS 1.4 Mb WIN-18-096

EXECUTION TIME = 0.050 SECONDS 1.4 Mb WIN-18-096

Page 48: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Solve Summary:- Liefert allgemeine Informationen über den Lösungsprozess

S O L V E S U M M A R Y

MODEL TRANSPORT OBJECTIVE ZTYPE LP DIRECTION MINIMIZESOLVER OSL FROM LINE 73

**** SOLVER STATUS 1 NORMAL COMPLETION**** MODEL STATUS 1 OPTIMAL**** OBJECTIVE VALUE 153.6750

RESOURCE USAGE, LIMIT 0.199 1000.000ITERATION COUNT, LIMIT 2 10000

Page 49: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

- Unkompl. Lösung (MIP), noch kein Int gef.

INTERMEDIATE NON-INT.

- keine Integerlösung (MIP)INTEGER INFEASIBLE

- beendet ohne bekannten Model StatusERROR UNKOWNERROR NO SOLUTION

- Startwerte führen zu keiner Lösung (NLP)

LOCALLY INFEASIBLE

- Unkompl. Lösung, warsch. lösbarINTERMEDIATE NONOPT.

- Abbruch vor bevor Lösung gefundenINTERMEDIATE INFEASIBLE

- Integer Lösung gefunden (MIP)INTEGER SOLUTION

- Die Lösung ist nicht beschränktUNBOUNDED

- Das Problem ist nicht lösbarINFEASIBLE

- Es handelt sich um ein lokales Optimum

LOCALLY OPTIMAL

- Die Lösung ist optimal (LP,RMIP)OPTIMAL

BeschreibungModel Status

Page 50: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

- zu viele unbestimmte Werte (NLP)EVALUATION ERROR LIMIT

- Abbruchsfehler nicht bekanntUNKNOWN ERROR

- Abbruch durch Überschreitung der Zeitgrenze (reslim)

RESOURCE INTERRUPT

- Solver hat Bearbeitung abgebrochen- Fehlerbeschreibung folgt

TERMINATED BY SOLVER

- Abbruch durch Überschreitung der Iterationsgrenze (iterlim)

ITERATION INTERRUPT

- Solver ist normal durchgelaufen- Model Status beschreibt die Lösung

NORMAL COMPLETION

BeschreibungSolver Status

Page 51: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Solver Report:- Informationen über den Lösungsprozess- Hängt vom Solver ab

OSL Release 2, GAMS Link level 3 --- 386/486 DOS 1.3.055-034

Work space allocated --0.09 Mb

Page 52: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Solution Listing:- Enthält vier Informationen für eine Variable oder Gleichung- kann durch option solprint = off ; abgeschaltet werden

---- VAR X shipment quantities in cases

LOWER LEVEL UPPER MARGINAL

seattle .new-york . 50.000 +INF EPSseattle .chicago . 300.000 +INF . seattle .topeka . . +INF 0.036san-diego.new-york . 325.000 +INF .san-diego.chicago . . +INF 0.009san-diego.topeka . 275.000 +INF .

- Die Reihe oder Spalte versacht eine „unbounded“ Lösung

UNBND

- Die Reihe oder Spalte ist nicht optimalNOPT

- Die Reihe oder Spalte ist nicht lösbarINFES

BeschreibungFlags

Page 53: Prof. Dr. Wolfgang Ströbele Hauptseminar ...WS0405)/Folien... · Westfälische Wilhelms-Universität Münster Lehrstuhl für Volkswirtschaftstheorie Prof. Dr. Wolfgang Ströbele

Report Summary:- gekennzeichet durch ****- Enthält Zahl der Reihen und Spalten der Lösung die INFES, NONOPT oder UNBND sind

**** REPORT SUMMARY : 0 NONOPT0

INFEASIBLE0

UNBOUNDED

File Summary:- letzter Teil des Output Files- Enthält Namen und Orte der Input und Output Dateien

**** FILE SUMMARY

INPUT D:\TEST\TRNSPORT.GMSOUTPUT D:\TEST\TRNSPORT.LST