Ubung zur Modellierung mit GAMS - uni-hamburg.de

20
¨ Ubung zur Modellierung mit GAMS

Transcript of Ubung zur Modellierung mit GAMS - uni-hamburg.de

Page 1: Ubung zur Modellierung mit GAMS - uni-hamburg.de

Ubung zur Modellierung mit GAMS

Page 2: Ubung zur Modellierung mit GAMS - uni-hamburg.de

Aufgabe 1

Einfuhrungsbeispiel

Es ist das folgende lineare Optimierungsproblem gegeben:

max F = 90x1 + 50x2 + 70x3 + 40x4 (1)

unter den Nebenbedingungen

2x1 − 1x2 + 1x3 + 2x4 ≤ 30, (2)

1x1 + 2x2 + 3x3 − 1x4 ≤ 24, (3)

3x1 + 2x2 − 1x3 + 2x4 ≤ 36, (4)

x1, x2, x3, x4 ≥ 0. (5)

Aufgabe 1a)

Formulieren Sie das Planungsproblem in der algebraischen Modellierungssprache GAMS!Losen Sie das Modell und geben Sie den optimalen Zielfunktionswert sowie die optimalenGutermengen an.

Variable WertFx1

x2

x3

x4

Aufgabe 1b)

Welche Werte nehmen die Simplex-Multiplikatoren an ?

π1 π2 π3

Aufgabe 1c)

Wie wurde sich der Zielfunktionswert verandern, wenn Gut 1 um eine marginale Einheiterhoht wurde (reduzierte Kosten) ?

1

Page 3: Ubung zur Modellierung mit GAMS - uni-hamburg.de

Aufgabe 1d)

Es kommt eine weitere Alternative hinzu. Fugen Sie das zusatzliche Gut 5 mit den fol-genden Daten in das Modell ein.

c5 = 85

a15 = 1, 5

a25 = 2

a35 = 0

Lassen Sie sich das Ergebnis der x-Variablen und den Zielfunktionswert (F) mit der displayAnweisung anzeigen. Geben Sie den neuen Gesamtprofit sowie die Gutermengen an.

Variable WertFx1

x2

x3

x4

x5

Aufgabe 1e)

Wie viele Non-Zero-Elements hat die Koeffizientenmatrix jetzt?

Wie viele Non-Zero-Elements sind durch Aufgabe (d) zur Koeffizientenmatrix hinzuge-kommen ?

Aufgabe 1f)

Entfernen Sie die Spalten 3 bis 5 aus den Daten und losen Sie das Modell erneut. ErmittelnSie dann die Werte der Schlupfvariablen aus dem Listing!

y1 = , y2 = , y3 =

2

Page 4: Ubung zur Modellierung mit GAMS - uni-hamburg.de

Aufgabe 2

Transportmodell

Gegeben sei das folgende formale Modell aus dem Bereich der Transportplanung:

Mengen und Indices

S Menge der Unternehmensstandorte (Index s)

K Menge der Kunden (Index k)

Parameter

as Angebot am Standort s in Stuck

bk Nachfrage des Kunden k in Stuck

csk Transportkosten pro Stuck zwischen Standort s und Kunde k in Euro

Variablen

Xsk Transportmenge zwischen Standort s und Kunde k

Modellformulierung

minF =∑s∈S

∑k∈K

cskXsk (6)

unter den Nebenbedingungen∑k∈K

Xsk ≤ as s ∈ S (7)∑s∈S

Xsk ≥ bk k ∈ K (8)

Xsk ≥ 0 s ∈ S, k ∈ K (9)

Erlauterungen

• (6) minimiert die anfallenden Transportkosten.

• (7) gewahrleistet, dass von jedem Standort nicht mehr als die jeweils angeboteneMenge verteilt wird.

• (8) gewahrleistet, dass die Nachfrage eines jeden Kunden mindestens gedeckt wird.

• (9) gibt den nichtnegativen Wertebereich der Transportmengen an.

3

Page 5: Ubung zur Modellierung mit GAMS - uni-hamburg.de

Aufgabe 2a)

Formulieren Sie das vorstehende Entscheidungsmodell in Gams-Syntax und binden Sie diefolgenden Daten ein:

Die angebotene Menge der drei Unternehmensstandorte Berlin (B), Hamburg (HH)und Munchen (M) betragt:

Standort s Angebot in StuckB 350HH 500M 550

Die nachgefragte Menge der funf Kunden in Dresden (DD), Frankfurt (F), Hannover(H), Koln (K) und Stuttgart (S) betragt:

Kunde k Nachfrage in StuckDD 300F 300H 350K 250S 150

Die Transportkosten in Euro pro Stuck zwischen dem Standort s und dem Kunden kbetragen:

PPPPPPPPPvonnach

DD F H K S

B 1,00 2,70 1,45 2,85 3,15HH 2,50 2,45 0,75 2,10 3,35M 2,30 1,95 3,15 2,85 1,10

Aufgabe 2b)

Losen Sie das Modell und lassen Sie sich Ihre Losung mit der display Anweisung im Lis-ting anzeigen. Ubertragen Sie die entstehenden Transportkosten und die Transportmengenin das nachstehende Losungstableau.

Transportkosten:

Transportmengen in Stuck:

PPPPPPPPPvonnach

DD F H K S

BHHM

4

Page 6: Ubung zur Modellierung mit GAMS - uni-hamburg.de

Aufgabe 2c) [reduzierte Kosten ablesen]

Wie hoch sind die reduzierten Kosten der Verbindung HH - S ?

cHH,S =

Was sagt dieser Wert aus und wie lasst er sich berechnen ?

Aufgabe 2d) [Variablenbegrenzung,reduzierte Kosten]

Fixieren Sie den Wert der Variablen XHH,S in Ihrem Gams-Skript auf den Wert 1, indemSie folgenden Code vor dem Solve Statement eingefugen:

x.fx("HH","S") = 1;

Losen Sie das Modell erneut und uberprufen Sie Ihr Ergebnis aus (c) anhand der Xij imListing.

Aufgabe 2e) [Skalare,Wertzuweisung, card()]

1. Deklarieren Sie einen scalar anz!

2. Weisen Sie anz nachtraglich mit card(Menge) die Anzahl der in der Menge K ent-haltenen Elemente (Kunden) zu! (anz = |K|)

3. Lassen Sie sich danach durch die display-Anweisung den Wert des scalars anz imListing anzeigen!

Aufgabe 2f) [Parameter,Wertzuweisung, ord()]

1. Deklarieren Sie einen Parameter posk, der die Position des Kunden k in der MengeK angeben soll!

2. Weisen Sie posk durch die ord()-Anweisung die Position des Kunden k zu!

3. Lassen Sie sich danach durch die display-Anweisung die Werte von posk im Listinganzeigen!

Aufgabe 2g) [Skalare,Parameter,Wertberechnung,card()]

Fugen Sie die nachfolgenden Anweisungen am Ende Ihres Skriptes ein. Lassen Sie sichIhre Teilergebnisse jeweils mit der display-Anweisung anzeigen.

5

Page 7: Ubung zur Modellierung mit GAMS - uni-hamburg.de

1. Deklarieren Sie folgende Parameter/Skalare:

• FK Frachtkosten pro Stuck und 100km

• dsk Entfernung zwischen Anbieter s und Kunde k

• g Gesamtentfernung uber alle Entfernungen

• es durchschnittliche Entfernung von jedem Standort s zu jeweils allen k

2. Weisen Sie FK nachtraglich den Wert 0.5 zu (außerhalb der Deklaration)!

3. Berechnen Sie die Distanz dsk in GAMS aus den Transportkosten csk und den Fracht-kosten FK nach folgener Formel:

dsk =cskFK· 100

4. Berechnen Sie die Gesamtentfernung g in GAMS mit folgender Formel:

g =∑s

∑k

dsk

5. Berechnen Sie die durchschnittliche Entfernung es von jedem Standort s zu allenKunden k in GAMS mit folgender Formel:

es =

∑k dsk|K|

(|K|: Anzahl der in der Menge K enthaltenen Elemente = Anzahl Kunden (auch: Kardinalitat/Machtigkeit))

Aufgabe 2h) [Mehrfachbezeichnung von Mengen (Alias)]

Nehmen Sie folgende Veranderungen im Modell vor:

1. Deklarieren die Menge N als einen Alias zur Menge S.

2. Weisen Sie dem Skalar anz die Anzahl der Mengenelemente in N zu.

6

Page 8: Ubung zur Modellierung mit GAMS - uni-hamburg.de

Aufgabe 3

Aufgabe 3a) [Bedingte Wertzuweisung]

Gegeben sei folgendes GAMS-Skript:

set

i /1*4/ j /1*4/;table c(i,j) Bewertung aller Kombinationen von i und j 1 2 3 41 10 12 72 1 12 303 2 -4 84 1 6 8 ;parameter a(i,j);

Geben Sie eine Anweisung in GAMS-Syntax an, die dem Parameter aij genau dann denWert 1 zuweist, wenn der zugehorige Wert von cij großer ist als 0 (sonst ist aij = 0)!

Aufgabe 3b) [$, Unterschied zwischen $ auf der linken und der rechten Seite]

Gegeben ist folgender GAMS-Code:

scalar a, b, c;

a=4; b=8; c=2;

Wie lautet der Wert von a nach Ausfuhrung der nachsten GAMS-Anweisung, die entweder

1: a$(b<7)=a+2;

2: a=(a+2)$(b<7);

3: a=a+2$(b<7);

lautet? Uberprufen Sie Ihre Losung mit GAMS!

Aufgabe 3c) [Bedingte Summe]

Gegeben sei folgendes GAMS-Skript (vgl. Aufgabenteil a):

7

Page 9: Ubung zur Modellierung mit GAMS - uni-hamburg.de

set

i /1*4/ j /1*4/;table c(i,j) Bewertung aller Kombinationen von i und j 1 2 3 41 10 12 72 1 12 303 2 -4 84 1 6 8 ;scalar X,Y;

X = sum((i,j)$(ord(i)=1), c(i,j) ) ;Y = sum((i,j)$(ord(i)=card(i)), c(i,j) );display X,Y;

Weisen sie den Skalaren X bzw. Y folgende bedingte Summen zu:

X =∑

(i,j)|i=1

cij

Y =∑

(i,j)|i=|I|

cij

In den folgenden Aufgabenteilen der Aufgabe 3 wird mit dem Transportmodell aus Aufgabe2 weiter gearbeitet. Bitte bringen Sie Ihre Losung der Aufgabe 2 mit!

Aufgabe 3d) [Subsets,Mehrdimensionale Sets]

Hinweis zu Aufgabe 3d: Da die nachfolgenden Definitionen beim Losen des Modells in spateren Aufgabenteilen benotigt

werden, mussen Sie diese vor die equations platzieren, fruhestens nach den bereits deklarierten und definierten Sets. Erst

dann sind alle Mengen, auf die Bezug genommen wird (hier Kundenmenge K) bereits bekannt.

1. Deklarieren Sie basierend auf der Menge K der Kunden folgende Untermengen:

• AK: A-Kunden gemaß ABC-Klassifizierung

• BK: B-Kunden gemaß ABC-Klassifizierung

• CK: C-Kunden gemaß ABC-Klassifizierung

2. Ordnen Sie die funf Kunden den Untermengen mit /../ wie folgt zu:

A-Kunden: H

B-Kunden: DD, F

C-Kunden K, S

3. Lassen Sie sich danach durch die display-Anweisung die in den Mengen AK,BK undCK enthaltenen Elemente im Listing anzeigen!

8

Page 10: Ubung zur Modellierung mit GAMS - uni-hamburg.de

4. Bestimmte Transportverbindungen seien nicht erwunscht. Deklarieren Sie dazu imset-Bereich eine zweidimensionale Menge U, wobei der erste Index der Menge derStandorte S und der zweite Index der Menge der Kunden K entspricht!

5. Folgende Transportverbindung sei nicht erwunscht: von M nach K. Fugen Sie diesein Ihre Menge als Daten ein.

6. Lassen Sie sich danach durch die display-Anweisung die in der Menge U enthaltenenElemente im Listing anzeigen!

Hinweis: Allein durch diese Angaben wird noch nicht gewahrleistet, dass die angegebene Transportverbindung nicht in der

Losung enthalten ist. Dies wird in nachfolgenden Aufgabenteilen realisiert.

Aufgabe 3e) [Bedingte Equations]

Das Modell soll so abgewandelt werden, dass nur die Kunden beliefert werden sollen, dieeine Nachfrage von mindestens 200 Einheiten aufweisen. Die neue Nebenbedingung (8)lautet somit formal:∑

s∈S

Xsk ≥ bk ∀k ∈ K|bk ≥ 200 (10)

Erganzen Sie in GAMS die zugehorige Bedingung in der equation zur Nachfragebefriedi-gung mittels $ und losen Sie das veranderte Modell! Welchen Wert nimmt die Zielfunkti-onsvariable an ?

F =

Hinweis: Diese Bedingung musste theoretisch auch in die Angebotsrestriktion eingefugt werden, d.h. in der Summation

der Kunden. Da wir durch (10) gewahrleisten, das einige Kunden nun gar nicht mehr beliefert werden mussen und wir die

Transportkosten minimieren mochten, werden die betreffenden Kunden automatisch nicht mehr beliefert.

Aufgabe 3f) [Bedingte Summen]

Das Modell soll nun so erweitert werden, dass die unerwunschte Transportverbindung aus(d) nicht gewahlt wird.

Veranderungen aus (e) bleiben erhalten.

1. Die neue Nebenbedingung (7) lautet somit formal:∑k∈K|(s,k)/∈U

Xsk ≤ as s ∈ S (11)

2. Die neue Nebenbedingung (8) lautet somit formal:∑s∈S|(s,k)/∈U

Xsk ≥ bk ∀k ∈ K|bk ≥ 200 (12)

9

Page 11: Ubung zur Modellierung mit GAMS - uni-hamburg.de

Losen Sie das veranderte Modell! Welchen Wert nimmt die Zielfunktionsvariable an ?

F =

Aufgabe 3g) [Bedingte Equations]

Das Modell soll so erweitert werden, dass nur die A- und B-Kunden beliefert werden sollen(unerwunschte Transportverbindungen aus (d) beibehalten). Die neue Nebenbedingung(8) lautet somit formal:∑

s∈S|(s,k)/∈U

Xsk ≥ bk ∀k ∈ AK ∪BK (13)

Erganzen Sie in GAMS die zugehorige Bedingung in der equation zur Nachfragebefriedi-gung mittels $! Hinweis: Dies ist gleichbedeutend mit:∑

s∈S|(s,k)/∈U

Xsk ≥ bk ∀k ∈ K|k /∈ CK (14)

Losen Sie das Modell!Welchen Wert nimmt die Zielfunktionsvariable an ?

F =

Hinweis: Diese Bedingung musste theoretisch auch in die Angebotsrestriktion eingefugt werden, d.h. in der Summation

der Kunden. Da wir durch (13) gewahrleisten, das einige Kunden nun gar nicht mehr beliefert werden mussen und wir die

Transportkosten minimieren mochten, werden die betreffenden Kunden automatisch nicht mehr beliefert.

10

Page 12: Ubung zur Modellierung mit GAMS - uni-hamburg.de

Aufgabe 4

Warehouse Location Problem

Als Beispiel fur ein ganzzahliges Planungsproblem mit Fixkosten soll das diskrete Stand-ortproblem (engl. warehouse location problem) implementiert werden.

Eine Menge von Kunden I = {1, 2, ..., 10} kann von verschiedenen Standorten J ={A,B,C,D} beliefert werden. Die Einrichtung eines Standortes ist mit Fixkosten i.H.v.fj ≥ 0 verbunden. Die Kosten fur die Belieferung des Gesamtbedarfs eines Kunden i vomStandort j ist durch cij gegeben. Gesucht ist die kostenminimale Belieferung der Kunden,so dass die Nachfrage jedes Kunden befriedigt wird.

Mengen und Indices

I Nachfrager/Kunden

J potentielle Anbieter/Lagerstandorte

Parameter

fj Fixkosten bei Errichtung eines Lagers an Standort j

cij anfallende Kosten bei Lieferung des Gesamtbedarfs von i aus Standort j

Variablen

Yj 1, falls ein Lager in Standort j eingerichtet wird

Xij Anteil des Gesamtbedarfs von Kunde i, der von Standort j aus geliefert wird

Z Gesamtkosten (Zielfunktionswert)

Modellformulierung

minZ =∑j∈J

fj · Yj +∑i∈I

∑j∈J

cij ·Xij

so dass∑j∈J

Xij = 1 ∀i ∈ I

Xij ≤ Yj ∀i ∈ I, j ∈ JXij ≥ 0 ∀i ∈ I, j ∈ JYj ∈ {0, 1} ∀j ∈ J

11

Page 13: Ubung zur Modellierung mit GAMS - uni-hamburg.de

Aufgabe 4a) [Ganzzahlige Optimierung, $Include]

Implementieren Sie das Modell in GAMS-Syntax bei Verwendung der folgenden Daten.

Standort A B C D

Errichtungskosten 40 36 24 16

Kostenmatrix fur die Belieferung von i durch j (Hinweis: Binden Sie die gegebene Da-tendatei ’Kostenmatrix.txt’ ein!)

Lieferkosten A B C D

1 10 9 6 42 6 1 8 13 5 8 5 44 10 9 10 75 8 5 8 16 4 5 4 17 1 5 7 108 8 3 10 109 4 4 7 4

10 3 6 4 7

Losen Sie das gemischt-ganzzahlige Modell (Hinweis: mixed-integer-program: mip) Wiehoch sind die entstehenden Gesamtkosten und welche Standorte werden gewahlt ?

Gesamtkosten:

Gewahlte Standorte:

Aufgabe 4b) [Variablengrenzen, Solution Gap]

Um eine zu starke Abhangigkeit der Kunden von einzelnen Lagerstandorten zu vermeidensollen maximal 80% des Gesamtbedarfs jedes Kunden durch ein einziges Lager beliefertwerden.

Implementieren Sie die Forderung, indem sie die oberen Schranken der Belieferungs-Variablen vor dem solve-Statement definieren. Wie verandern sich die Gesamtkosten undwelche Standorte werden nun gewahlt?

Gesamtkosten:

Gewahlte Standorte:

12

Page 14: Ubung zur Modellierung mit GAMS - uni-hamburg.de

Aufgabe 4c) [Solution Gap]

Verdeutlichen Sie sich den Begriff des Solution-Gap! Wie hoch ist der Solution Gap nachIhrer Modifikation in Aufgabenteil b?

Solution-Gap (relativ):

Legen sie den zulassigen Solution-Gap nun auf 0 fest und bestimmen Sie erneut eineLosung!

Gesamtkosten:

Gewahlte Standorte:

Aufgabe 4d) [Mehrere Modelle]

Es wird gefordert, dass mindestens 3 Standorte zu eroffnen sind. Definieren sie unterhalbIhres Modells im Skript folgende Ungleichung:∑

j

yj ≥ 3

Definieren Sie anschließend ein zweites Modell in Ihrem Skript, welches neben den obigenEquations auch die neue Restriktion enthalt. Losen Sie das zweite Modell mit einemzusatzlichen Solve statement optimal. Lesen Sie die Gesamtkosten im Listing ab!

Gesamtkosten:

Gewahlte Standorte:

Aufgabe 4e) [Zufallszahlen]

Der maximale Anteil der Belieferung eines Kunden soll nun nicht mehr 80% fur jedenStandort betragen (vgl. Aufgabenteil b), sondern zwischen 60% und 90% liegen.

Da keine genaueren Angaben vorliegen, soll dies durch die Verwendung von Zufallszahlenals obere Schranke der Variablen realisiert werden. Definieren Sie die obere Schrankeder X-Variablen mit der Funktion uniformint(). Wie hoch sind die Gesamtkosten nun(Anderungen aus Teil (d) beibehalten)?

Gesamtkosten:

13

Page 15: Ubung zur Modellierung mit GAMS - uni-hamburg.de

Aufgabe 4f) [Dynamische Mengen, Mehrdimensionale Mengen]

Deklarieren Sie die Menge G als zweidimensionales Subset von I und J .

Menge G soll alle Verbindungen I × J enthalten, fur deren xij > 0.5 gilt. Verwenden Siedie $-bedingte Wertzuweisung, um die dynamische Menge zu definieren. Lassen Sie sichdie Machtigkeit der Menge mit Hilfe des Skalars anz per display-Anweisung ausgeben.

anz =

Hinweis: Bei dynamisch, d.h. im Skript durch =YES / =NO definierten Mengen kann die ord()-Funktion nicht verwendet

werden (ausprobieren!)

Aufgabe 4g) [Gams Data Exchange (GDX)]

Laden Sie die Variable X, den Parameter cij, die Menge G sowie den Skalar anz in ei-ne Datendatei Warehouse.gdx, indem sie folgenden Befehl an das Ende Ihres Skriptesanfugen:

execute_unload "Warehouse.gdx" x c g anz;

Offnen Sie nun die Datendatei in der GAMSIDE durch File -> Open (Hinweis: ImOffnen-Dialogfeld ist als Dateityp auf .gdx umzustellen)

14

Page 16: Ubung zur Modellierung mit GAMS - uni-hamburg.de

Aufgabe 5

Aufgabe 5a) [While-Schleife]

Gegeben sei folgendes GAMS-Skript:

set

i /1*4/ j /1*4/;table c(i,j) Bewertung aller Kombinationen von i und j 1 2 3 41 10 12 72 1 12 303 2 -4 84 1 6 8 ;scalar X,Y;

X = sum((i,j)$(ord(i)=1), c(i,j) ) ;Y = sum((i,j)$(ord(i)=card(i)), c(i,j) );display X,Y;

parameter a, b, c; a=1; b=0; c=10;

while(a<10 or c>5, b=b+1; a=a+1; c=c-2;);

Wie lautet der Wert von b nach Ausfuhrung des Skripts?

Aufgabe 5b) [While-Schleife]

Gegeben sei folgendes GAMS-Skript:

set

i /1*4/ j /1*4/;table c(i,j) Bewertung aller Kombinationen von i und j 1 2 3 41 10 12 72 1 12 303 2 -4 84 1 6 8 ;scalar X,Y;

X = sum((i,j)$(ord(i)=1), c(i,j) ) ;Y = sum((i,j)$(ord(i)=card(i)), c(i,j) );display X,Y;

parameter a, b, c; a=1; b=0; c=10;

while(a<10 or c>5, b=b+1; a=a+1; c=c-2;);

parameter a, b, c; a=1; b=0; c=10;while((a<10 and c>5) or c>2, b=b+1; a=a+1; c=c-2;);

Wie lautet der Wert von b nach Ausfuhrung des Skripts?

Aufgabe 5c) [Loop-Schleife,If-Verzweigung]

Gegeben sei folgendes GAMS-Skript:

set

i /1*4/ j /1*4/;table c(i,j) Bewertung aller Kombinationen von i und j 1 2 3 41 10 12 72 1 12 303 2 -4 84 1 6 8 ;scalar X,Y;

X = sum((i,j)$(ord(i)=1), c(i,j) ) ;Y = sum((i,j)$(ord(i)=card(i)), c(i,j) );display X,Y;

parameter a, b, c; a=1; b=0; c=10;

while(a<10 or c>5, b=b+1; a=a+1; c=c-2;);

parameter a, b, c; a=1; b=0; c=10;while((a<10 and c>5) or c>2, b=b+1; a=a+1; c=c-2;);

set M /1*10/set N(M);

Parameter k(M); k(M) = ord(M) - (card(M)/2);

loop(M, if( k(m) >= 0, N(M)=YES; ););

Wie viele Elemente enthalt N ?

15

Page 17: Ubung zur Modellierung mit GAMS - uni-hamburg.de

Aufgabe 6

Standortplanung in der Ebene: Miehle-Verfahren

• Distanzmessung

Ein Luftverkehrsunternehmen plant die Einrichtung eines Cargo-Hubs in Europa. Die furdie Airline wichtigsten Flughafen mit Ihren Frachtaufkommen wurden in folgender Tabellezusammengetragen:

IATA Code Frachtaufkommen (t) X-Koordinate Y-Koordinate

CDG 2’399’067 464 798FRA 2’275’106 604 795LHR 1’551’405 425 695AMS 1’538’135 540 699IST 466’553 1085 1134MUC 274’729 667 866LGW 107’720 428 708ORY 95’098 458 807BCN 104’239 387 1054MAD 328’985 241 1033FCO 164’545 649 1094

Dabei wurden die Geokoordinaten der Flughafen auf die XY-Ebene projeziert (vgl. Stand-ortdiagramm im Anhang). Mit Hilfe dieser Daten soll die X und die Y Koordinate des zuerrichtenden Verkehrshubs bestimmt werden. Fur die Ermittlung des Standortes soll dasiterative Miehle-Verfahren verwendet werden.

16

Page 18: Ubung zur Modellierung mit GAMS - uni-hamburg.de

Aufgabe 6a) [GDX-Daten, Schleifen und Algorithmen]

Das Miehle-Verfahren ist ein iteratives Verfahren, fur das kein Solver eingesetzt werdensoll. Die Daten der Flughafen sind Ihnen in der Datei Aufgabe6.gdx gegeben.

Offnen Sie die Datendatei mit GAMSIDE. Definieren Sie benotigten Mengen und Para-meter in Ihrem Gams Skript und laden Sie die Daten aus der GDX-Datei.

Implementieren Sie das Miehle-Verfahren in GAMS.

Hilfestellung: Sie konnen mit den nachfolgenden Deklarationen und Definitionen beginnen

17

Page 19: Ubung zur Modellierung mit GAMS - uni-hamburg.de

set

n Kunden;parameter

b(n) Groesse des Airports u(n) x-Koordinate v(n) y-Koordinate;

scalar

epsilon /0.00001/ alpha /0.001/ m m u e /0/ x X-Koordinate des Standortes y Y-Koordinate des Standortes x 2 x-Wert der letzten Iteration /0/ y 2 y-Wert der letzten Iteration /0/ F Zielfunktionswert z Nenner

Geben Sie die Koordinaten des ermittelten Hubstandortes an. Tragen Sie den Standortzur visuellen Verdeutlichung in das angehangte Standortdiagramm ein.

X-Koordinate:

Y-Koordinate:

Aufgabe 6b) [Wertzuweisung, Round(), Smin(),Smax()]

1. Deklarieren Sie einen Parameter dn, welcher die Entfernung jedes Flughafens n zudem ermittelten Hubstandort abbilden soll. Weisen Sie dem Parameter dann denentsprechenden Wert zu!

2. Deklarieren Sie einen Parameter drn, der die auf 0 Nachkommastellen gerundetenEntfernungen dn enthalt!

3. Deklarieren Sie einen Skalar dmax und einen Skalar dmin, welcher das Maximumbzw. Minimum der Entfernungen aus dn enthalt, also dmax = maxn∈N{dn} unddmin = minn∈N{dn}

Hinweis: Mit floor() bzw. ceil() konnen Sie außerdem gezielt ab- bzw. aufrunden.

Aufgabe 6c*) [Ausgabedatei]

Erstellen Sie eine Ausgabedatei, in die wahrend der Iterationen hineingeschrieben wird.Die Ausgabedatei soll wie folgt gestaltet werden:

Ergebnisse des Miehle Verfahrens

18

Page 20: Ubung zur Modellierung mit GAMS - uni-hamburg.de

Iteration x-Koord. y-Koord. F

0 535.464 798.044 1285023737.40

1 525.591 778.444 1252710647.37

2 518.190 773.833 1246655317.50

...

Aufgabe 6d*) [Export zu Excel]

Schreiben Sie die Werte von X,Y,F und dn in eine Exceldatei. Laden Sie die Daten dazuzunachst in eine .GDX Datei und erganzen Sie Ihr Skript anschließend um die Exportbe-fehle.

19