Klausur im SS 2008 Einführung in Operations Research am Montag ...

or.wi.tu.darmstadt.de

Klausur im SS 2008 Einführung in Operations Research am Montag ...

Prof. Dr. W. Domschke

Fachgebiet Operations Research

Institut für Betriebswirtschaftslehre

Technische Universität Darmstadt

Klausur im SS 2008

Einführung in Operations Research

am Montag, 21. 7. 2008

10.00-12.00 Uhr

Name:

Fachbereich:

Vorname:

Studiengang:

Matr.-Nr.:

Bachelor/Diplom:

• Bitte tragen Sie alle erforderlichen Angaben ein!

• Es sind keine Hilfsmittel außer einem nicht programmierbaren Taschenrechner zugelassen!

• Ergebnisse ohne ausreichende Begründung werden nicht gewertet!

• Für das vollständige, rechtzeitige Ausfüllen des Deckblattes vergeben wir einen Bonuspunkt!

Aufgabe Bonuspunkt 1 2 3 Summe

Maximal 1 36 40 42 119

Erreicht

Note:

- 1 -


Aufgabe 1: Modellierung / Netzplantechnik (36 Punkte)

a) Beantworten Sie die Fragen durch Ankreuzen! Beachten Sie, dass falsch gesetzte Kreuze zu Punktabzug

führen.

a1) Welche der folgenden Relationen zwischen freier Pufferzeit FP i , unabhängiger Pufferzeit UP i , gesamter

Pufferzeit GP i und freier Rückwärtspufferzeit FRP i sind zutreffend

(1 P.)

FP i ≥ FRP i

UP i ≥ FP i ≥ GP i

GP i ≥ FP i ≥ UP i

a2) Welche Methoden zählen zu den vorgangsorientierten Vorgehensweisen der Netzplantechnik (1 P.)

PERT

CPM

MPM

b) Im Folgenden betrachten wir das Problem der Zeitplanung von Projekten bei unbeschränkten Kapazitäten.

Gegeben ist ein Projekt in Form eines zyklenfreien Vorgangsknotennetzplans G= ( V,

E)

. In

der Vorgangsmenge V= { 1 ,…,

n}

repräsentiert der Knoten 1 die Quelle und Knoten n die Senke. Verwenden

Sie die folgende Notation:

t i

d hi

FAZ i

FEZ i

FAZ 1

Vi ()

Dauer des Vorgangs i

zeitlicher Mindestabstand zwischen Vorgang h und Vorgang i bei Normalfolge

frühestmöglicher Anfangszeitpunkt von Vorgang i

frühestmöglicher Endzeitpunkt von Vorgang i

:= 0

Menge der Vorgänger von Vorgang i

b1) Formulieren Sie ein lineares Optimierungsmodell zur Bestimmung frühester Endzeitpunkte aller Vorgänge.

Verwenden sie dabei als Variablen die frühestmöglichen Endzeitpunkte FEZ i

der Vorgänge!

(8 P.)

- 2 -


2) Zusätzlich zu Ihrem Optimierungsproblem aus Teilaufgabe a1) sind Maximalabstände d hi vom Ende

h bis Anfang i vorgegeben. Geben Sie an, wie Ihre Formulierung aus a1) zu erweitern bzw. zu modifizieren

ist, um diese zu berücksichtigen!

(4 P.)

b3) Gegeben ist der nebenstehende vorgangsknotenorientierte

Netzplan mit n = 8 Vorgängen (Knoten mit

Vorgangsindex i und Vorgangsdauer t i ). Es sind

außerdem Mindestabstände d BE

= 5, d BG

= 2 und

d DF

= – 1 zu berücksichtigen!

Führen Sie eine Zeitplanung durch, indem Sie die

folgende Tabelle ergänzen!

B 6

5

i t

E 4

i

2

C 2

G 3

A 0

-1

D 5 F 7

H 0

(8 P.)

i A B C D E F G H

FAZ i 0

FEZ i

SAZ i

SEZ i

Wann kann das Projekt frühestmöglich beendet werden

(1 P.)

Welche Vorgänge sind kritisch, wenn diese Projektdauer realisiert werden soll (2 P.)

- 3 -


c1) Geben Sie für das folgende Optimierungsmodell eine

geeignete Formulierung in XPress-Syntax an. Es handelt

model umladeproblem

uses "mmxprs"

sich hierbei um ein Umladeproblem. Gegeben ist ein

bewerteter, gerichteter Graph G = (V, E, c). Die Knotenmenge

V besteht aus disjunkten Teilmengen V a

(Angebotsknoten),

V b

(Nachfrageknoten) und V u

(Umladeknoten).

In Knoten i V a

werden ME eines

i

bestimmten Gutes angeboten und in Knoten i∈

V b

genau b i

ME dieses Gutes nachgefragt; in jedem Knoten

i∈V u

wird das Gut weder angeboten noch nachgefragt.

Es gilt ∑ a i = .

i V a

∑ b i


i ∈ V b

Die Kosten für den Transport einer ME des Gutes von

Knoten i nach Knoten j, mit ( ij , ) ∈E

betragen c ij

GE.

Die Variablen für die von i nach j zu transportierenden

ME sind mit x ij

bezeichnet. Gesucht ist ein kostenminimaler

Transportplan, der alle Nachfragen befriedigt und

alle Angebote ausschöpft. Nebenstehend finden Sie

bereits den Teil des XPress-Modells, der für das Einlesen

der Daten zuständig ist. Es wird angenommen, dass es für verbotene Kanten

parameters

datafile = 'umladeproblem.dat'

end-parameters

declarations

V: set of integer !Knotenmenge

V_a: set of integer !Angebotsknoten

V_b: set of integer !Nachfrageknoten

V_u: set of integer !Umladeknoten

end-declarations

initializations from datafile

V V_a V_b V_u

end-initializations

declarations

c: array(V,V) of real !Transportkosten

a: array(V_a) of real !Angebotsmengen

b: array(V_b) of real !Nachfragemengen

end-declarations

initializations from datafile

c a b

end-initializations

( ij , ) ∉E

Variablen

x ij

gibt, die mit c ij

= M bestraft sind. (7 P.)

Hinweis: Es wird nicht gefordert, dass Sie die Ergebnisse in Ihrem Modell ausgeben lassen.

Minimiere F(x) =


ij , ∈ V

c ij x ij

unter den Nebenbedingungen

– x für alle

hi

+ x = a

ij

i

i∈V a

∑h

∈ V

∑j

∈ V

– x für alle

hi

+ x = – b

ij

i

i∈V b

∑h

∈ V

∑j

∈ V

– x für alle

hi + x = 0 i∈V ij

u

∑h

∈ V

∑j

∈ V

x ij ≥ 0 für alle i,

j∈

V

- 4 -


c2) Zusätzlich zu den Annahmen aus c1) wird nun angenommen, dass ein Transport von i nach j Fixkosten

in Höhe von f ij

GE verursacht, d.h. diese fallen einmalig an, sobald x ij

> 0 ist. Im Folgenden soll die

in c1) angegebene mathematische Formulierung modifiziert/erweitert werden, um diese Annahme zu

berücksichtigen. Eine Formulierung in XPress-Syntax ist nicht nötig!

(4 P.)

Erläutern sie zunächst, welche zusätzlichen Variablen Sie einführen:

Geben Sie an, wie die Zielfunktion aus c1) modifiziert und welche Nebenbedingungen hinzugefügt

werden müssen! Achten sie darauf, dass es sich weiterhin um ein gemischt-ganzzahliges lineares Optimierungsmodell

handelt.

- 5 -


Aufgabe 2: Lineare Optimierung / Graphentheorie (40 Punkte)

a) Gegeben sei das folgende lineare Optimierungsproblem (P):

Maximiere F( x) = x 1

+ 10x 2

unter den Nebenbedingungen

x 1

+ x 2

≥ 3

2x 1

+ 3x 2

≤ 18

– 2x 1

+ x 2

≤ – 2

4x 1

+ 7x 2

≤ 28

(1)

(2)

(3)

(4)

x 1

≥ 0 , x 2

≥ 0

(5)

a1) Stellen Sie zunächst das Nebenbedingungssystem graphisch dar. Verwenden Sie dazu das vorbereitete

Koordinatensystem, welches bereits die Nebenbedingung (1) beinhaltet. Markieren Sie die einzelnen

Nebenbedingungen analog zu (1) und kennzeichnen Sie den zulässigen Lösungsraum. Zeichnen Sie

eine Höhenlinie der Zielfunktion ein und markieren Sie die Menge optimaler Lösungen. (6 P.)

x 2

(1)

5

1

1 5 10

a2) In der Zeichnung ist zu erkennen, dass eine der Nebenbedingungen (1) bis (4) eine Sonderstellung einnimmt.

Wie nennt sich diese Besonderheit und welche Nebenbedingung ist betroffen (1,5 P.)

x 1

a3) Woran ist in der Zeichnung! zu erkennen, dass obiges Optimierungsproblem (P) nicht unmittelbar mit

dem primalen Simplex-Algorithmus gelöst werden kann, wenn wie üblich zu Beginn ausschließlich

Schlupfvariablen in die Basis aufgenommen werden

(2 P.)

- 6 -


a4) Für das Optimierungsproblem (P) sollen Sie nun das Start-Tableau des dualen Simplex-Algorithmus

aufstellen. Verwenden Sie dazu das vorgegebene Simplex-Tableau. Führen Sie anschließend aber

keine Iteration des dualen Simplex-Algorithmus durch.

Hinweis: Es müssen nicht alle Zeilen und Spalten des Tableaus benutzt werden.

(4 P.)

BV x 1 x 2 b i

F-Zeile

Denken Sie daran, das Pivotelement zu markieren!

Geben Sie an, wie sich die Erkenntnis aus a2) im Tableau und bei weiteren Berechnungen nutzen ließe.

b1) Nachfolgend ist für ein anderes (!) Optimierungsproblem (Q) mit den Strukturvariablen x 1 und x 2 das

Start-Tableau angegeben. Führen Sie eine Iteration des dualen Simplex-Algorithmus mit dem vorgegebenen

Pivotelement durch.

(5 P.)

BV x 1 x 2 x 3 x 4 x 5

b i

x 3

1 -5 1

1

x 4

-1

1

1

-1

0,5

x 5

0

1

1

4

F-Zeile

-1 -2

BV x 1 x 2 x 3 x 4 x 5

b i

F-Zeile

Markieren Sie in dem Tableau das Pivotelement für die nächste Iteration. Begründen Sie anhand des

erhaltenen Tableaus kurz, was sich über die erhaltene Lösung bezüglich Zulässigkeit und Optimalität

aussagen lässt.

- 7 -


2) Neben dem dualen Simplex-Algorithmus ist auch die M-Methode zur Lösung des Optimierungsproblems

(Q) geeignet. Entnehmen Sie das Problem (Q) aus dem in Aufgabenteil b1) vorgegebenen Start-

Tableau und modifizieren bzw. erweitern Sie es so, dass die M-Methode angewendet werden kann.

Tragen Sie es in das vorgegebene Simplex-Tableau ein und markieren Sie das Pivotelement. Führen

Sie keine Simplex-Iterationen durch.

Hinweis: Es müssen nicht alle Zeilen und Spalten benutzt werden.

(4 P.)

BV x 1 x 2 b i

F-Zeile

M-Zeile

c) Markieren Sie in dieser Aufgabe richtige ( r ) und falsche ( f ) Aussagen durch Ankreuzen! Pro Entscheidung

ist genau ein Kreuz gefordert, entweder bei r oder f . Falsche Entscheidungen ergeben

Minuspunkte, richtige Pluspunkte (- 0,5 P. bzw. + 0,5 P. je Entscheidung). Sind Sie bei einer Entscheidung

unsicher, setzen Sie kein Kreuz (weder bei r noch bei f ) bei dieser Auswahl (0 P.). (6,5 P.)

c1) Falls in der lineraren Optimierung in einem Nebenbedingungssystem Gleichungen vorkommen, welche

Variante des Simplex-Algorithmus ist dann besonders geeignet, um mit möglichst wenigen Zeilen

im Simplex-Tableau auszukommen

r

r

r

f

f

f

Primaler Simplex-Algorithmus

Dualer Simplex-Algorithmus

M-Methode

c2) Was folgt daraus, wenn in der optimalen Lösung eines linearen Optimierungsproblems die Schlupfvariable

einer Nebenbedingung einen Wert größer als Null annimmt

r

r

r

f

f

f

Der Zielfunktionswert ist unbeschränkt.

Die zur Nebenbedingung korrespondierende Ressource wird nicht voll ausgeschöpft.

Die Nebenbedingung ist redundant.

c3) Kreuzen Sie an, bei welchen der unten abgebildeten Mengen es sich um konvexe Mengen handelt.

Zeichnen Sie bei den anderen die konvexe Hülle ein.

konvex konvex konvex konvex

r f

r f r f r f

c4) Für den Zielfunktionswert F(x) eines Minimierungsproblems und den Zielfunktionswert FD(w) des

dazu dualen Problems gilt:

r

r

r

f

f

f

Im jeweiligen Optimum sind die beiden Werte identisch.

FD(w) ist für jede zulässige Lösung kleiner oder gleich F(x).

FD(w) ist für jede zulässige Lösung größer oder gleich F(x).

- 8 -


d) Gegeben ist der nebenstehende Graph mit n = 8 Knoten und den an den Kanten [i,j] notierten Entfernungen

d ij .

d1) Bestimmen Sie daraus einen minimalen 1-

Baum. Wenden Sie dazu die aus der Vorlesung

1 8

bekannte, auf dem Kruskal-Algorithmus basierende

Vorgehensweise an. Als vorgegebener

2

3

2 4 5

4

Knoten i 0 soll zunächst Knoten 1 gewählt werden.

Markieren Sie die zum minimalen 1-Baum 1

7

4

4 6

gehörigen Kanten farbig im vorgegebenen Graphen.

(Hinweis: Sie brauchen keine Zwischen-

6

5

6 6

3

3

7

rechnungen abgeben. Es genügt, wenn Sie das

Endergebnis durch die Markierung im Graphen angeben.)

(3 P.)

d2) Kann für die Bestimmung des 1-Baumes jeder der Knoten des Beispielgraphen als i 0 gewählt werden

(Bitte kurz begründen!)

(2 P.)

e) Gegeben ist der nebenstehende Graph mit n = 4 Knoten und

1

den an den Pfeilen (i,j) notierten Entfernungen d ij . Wenden

1

4

4

Sie den Dijkstra-Algorithmus zur Berechnung der kürzesten

Wege von Knoten 1 zu den übrigen Knoten an! Tragen 2

3

5

2

Sie Ihre Berechnungen in die vorbereitete Tabelle ein und

8

markieren Sie anschließend den kürzesten Weg von Knoten 1 zu Knoten 3 im Graphen! (6 P.)

It. j 1 2 3 4 MK

D(j) 0 ∞ ∞ ∞ {1}

1

R(j) - - - - h=

2

3

4

5

D(j)

R(j) h=

D(j)

R(j) h=

D(j)

R(j) h=

D(j)

R(j)

- 9 -


Aufgabe 3: Kombinatorische und dynamische Optimierung (42 Punkte)

a) Ein Unternehmen benötigt (mindestens) 8 Mengeneinheiten

i 1 2 3 4 5

(ME) eines Produktes. Um die Gesamtkosten für den

p

Zukauf dieser ME zu minimieren, beschließt es, eine i 500 400 650 230 120

Beschaffungsauktion (Ausschreibung) durchzuführen. m i 4 3 5 2 1

Dabei ergeben sich Besonderheiten gegenüber gewöhnlichen Auktionen: Die Bieter sind potenzielle

Lieferanten des Unternehmens. Gebote gelten nicht für jeweils genau 1 ME, sondern können sich auch

auf mehrere ME beziehen. Die Bieter sind nur dann bereit zu liefern, wenn sie die gesamte in ihrem

Gebot spezifizierte Anzahl an ME an das Unternehmen absetzen können und dafür den geforderten

Preis erhalten. Insgesamt liegen dem Unternehmen i=

1 ,…,

5 Gebote vor (vgl. die Daten in der obigen

Tabelle). Die einem Gebot i zugeordnete Anzahl an ME bezeichnen wir mit m i , den Preis des Gebots

mit Geldeinheiten (GE). Da die Gesamtsumme der angebotenen ME die benötigten ME überschreitet,

ergibt sich für das Unternehmen das Problem zu entscheiden, für welche der Gebote der Zuschlag

erfolgen soll. Falls die kostengünstigste Lösung dazu führt, dass das Unternehmen mehr als 8 ME

erhält, lässt es sich die über 8 ME hinausgehenden, unbenötigten ME dennoch liefern.

a1) Formulieren Sie für die gegebenen Daten die Instanz eines Optimierungsmodells! Definieren Sie dazu

geeignete Entscheidungsvariablen , die für jedes Gebot i angeben, ob es angenommen wird oder

nicht. Um welches aus der Vorlesung bekannte Optimierungsproblem handelt es sich (4 P.)

p i

x i

Lieferant 1 2 3

a2) Das Unternehmen stellt fest, dass die obige Beschaffungsauktion

"unpraktisch" ist. Deshalb fragt es bei den Lieferanten an,

zu welchem Preis sie bereit wären, eine festgelegte Anzahl 2 ME - - 200

(ME) von Produkten zu liefern. Drei der obigen Bieter reagieren

auf die Anfrage und schlagen dem Unternehmen vor, die 4 ME 410 410 380

3 ME 330 320 290

Preise (in GE) in Abhängigkeit der bestellten ME zu staffeln.

5 ME 480 490 -

Unternehmen 1 und 2 würden zwischen 3 und 5 ME zu den in

der nebenstehenden Tabelle jeweils angegebenen Festpreisen liefern; Unternehmen 3 ist bereit, zwischen

2 und 4 ME zu liefern. Außerhalb dieser Vereinbarungen sind keine abweichenden Bestellungen

möglich.

Beispiel für das Ablesen der Staffelpreise aus der Tabelle: Die Lieferung von 3 ME durch den Lieferanten

2 kostet 320 GE.

Das Problem soll mittels dynamischer Optimierung gelöst werden, sodass durch die Beschaffung

minimale Gesamtkosten entstehen. Gehen Sie davon aus, dass exakt 8 ME gekauft werden. Dabei ist

mit Hilfe der Variablen x k auf jeder Stufe k zu entscheiden, wie viele ME das Unternehmen beim Lieferanten

k kauft. Die Zustandsvariablen z k geben an, wie viele ME am Ende von Stufe k bereits erworben

wurden.

Definieren Sie zunächst konkrete Zustandsmengen Z k

und Wertebereiche x k

∈X

k

( z k–

1

) der Ent-

- 10 -


scheidungsvariablen. Beachten Sie die Aussagen über die möglichen Lieferungen und wählen Sie die

Mengen möglichst klein!

Zeichnen Sie den Graphen, der alle zulässigen und (im Sinne des Optimalitätsprinzips) sinnvollen

Zustandstransformationen enthält. Dabei sollten die Stufen des Problems erkennbar sein. (8 P.)

Graphische Darstellung:

0 8

a3) Lösen Sie nun das Problem mittels dynamischer Optimierung! Verwenden Sie dabei eine Rückwärtsrekursion!

(10 P.)

Hinweise:

• Orientieren Sie sich an den in a2) definieren Zustandsmengen Z k und Entscheidungsvariablen x k .

• Nutzen Sie für die Berechnung der Werte der einzelnen Stufen die im Folgenden vorgegebenen

Tabellen. Markieren Sie jeweils die beste von einem Zustand ausgehende Entscheidung!

z k

- 11 -


- 12 -


• Geben Sie die optimale Politik mit zugehörigem Zielfunktionswert an!

k=3: z 2 x 3 z 3 f 3 (z 2 ,x 3 ) F * 3

( z 3

= 8)

F 2 (z 2 )

k=2: z 1 x 2 z 2 f 2 (z 1 ,x 2 ) F * 2

( z 2

) F 1 (z 1 )

k=1: z 0 x 1 z 1 f 1 (z 0 ,x 1 ) F * 1

( z 1

) F 0 (z 0 )

optimale Politik:

Zielfunktionswert:

- 13 -


) Lösen Sie das folgende Optimierungsproblem mit Hilfe eines Branch&Bound-Verfahrens.

Minimiere F( x) = 600x 1

+ 200x 2

+ 440x 3

+ 270x 4

+ 105x 5

unter den Nebenbedingungen

5x 1

+ 2x 2

+ 4x 3

+ 3x 4

+ x 5

≥8

x i

∈ { 01 , } für i = 1 ,…,

5

b1) Überlegen Sie sich zunächst, um welches aus der Vorlesung bekannte Problem es sich handelt. Bestimmen

Sie mit der "geschickten Vorgehensweise", die Sie kennen gelernt haben, eine optimale Lösung

für die LP-Relaxation. Achten Sie darauf, dass der Lösungsweg nachvollziehbar ist. (5 P.)

b2) Wenden Sie nun das Branch&Bound-Verfahren an und lösen Sie das Optimierungsproblem aus Aufgabe

b). Beachten Sie dabei die folgenden Hinweise:

(15 P.)

• Starten Sie mit F = ∞ .

• Zur Berechnung von unteren Schranken gehen Sie wie in Aufgabenteil b1) vor. Sie müssen jedoch

keinen Rechenweg angeben.

• Verzweigen Sie jeweils nach der Variablen, die in der Lösung der LP-Relaxation nicht ganzzahlig

ist. Weisen Sie dieser Variablen zuerst den Wert 0 und dann den Wert 1 zu!

• Zeichnen Sie den B&B-Baum und geben Sie für jeden Knoten die Schritte zu seiner Berechnung an.

Nummerieren Sie die Knoten in der Reihenfolge, in der sie bearbeitet werden!

• Verwenden Sie zur Auswahl des nächsten zu verzweigenden Teilproblems die LIFO-Regel (reine

Tiefensuche)!

• Begründen Sie, warum Sie ausloten, indem Sie den entsprechenden Fall angeben!

• Geben Sie die optimale Lösung am Ende Ihrer Berechnung sowie den Zielfunktionswert explizit an!

• Der resultierende Branch&Bound-Baum enthält bei korrektem Rechenweg höchstens 8 Knoten.

- 14 -


Branch&Bound-Baum

- 15 -

Weitere Magazine dieses Users
Ähnliche Magazine