Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur...

105
Operations Research Zürcher Hochschule für Angewandte Wissenschaften Richard Bödi Basierend auf Manuskripten von Johanna Schönenberger-Deuel und Andreas Klinkert.

Transcript of Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur...

Page 1: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

OperationsResearch

Zürcher Hochschule für Angewandte WissenschaftenRichard Bödi

Basierend auf Manuskripten von Johanna Schönenberger-Deuelund Andreas Klinkert.

Page 2: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

Inhaltsverzeichnis

1 Was ist Operations Research? 3

2 Lineare Optimierung 6

2.1 Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2 Geometrische Interpretation . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.3 Lösungsmethoden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.3.1 Das Simplexverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.3.2 Die Ellipsoidmethode . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

2.3.3 Der Karmarkar-Algorithmus . . . . . . . . . . . . . . . . . . . . . . . 37

2.4 Dualität linearer Programme . . . . . . . . . . . . . . . . . . . . . . . . . . 38

2.5 Klassische Optimierungsprobleme . . . . . . . . . . . . . . . . . . . . . . . . 47

2.5.1 Das Transportproblem . . . . . . . . . . . . . . . . . . . . . . . . . . 47

2.5.2 Das Zuordnungsproblem . . . . . . . . . . . . . . . . . . . . . . . . . 48

2.5.3 Das Produktionsproblem . . . . . . . . . . . . . . . . . . . . . . . . . 49

3 Ganzzahlige Optimierung 52

3.1 Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

3.2 Schnittebenen-Vefahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

1

Page 3: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

INHALTSVERZEICHNIS 2

3.3 Branch-and-Bound/Branch-and-Cut-Verfahren . . . . . . . . . . . . . . . . 54

3.4 Lagrange-Relaxierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

3.5 Klassische ganzzahlige Optimierungsprobleme . . . . . . . . . . . . . . . . . 60

3.5.1 Das Mengenüberdeckungsproblem . . . . . . . . . . . . . . . . . . . . 60

3.5.2 Das Mengenpackungsproblem . . . . . . . . . . . . . . . . . . . . . . 62

3.5.3 Das Mengenpartitionsproblem . . . . . . . . . . . . . . . . . . . . . . 63

4 Optimierungsprobleme auf Graphen 65

4.1 Graphen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

4.2 Optimale Wege . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

4.2.1 Optimale Wege in allgemeinen Graphen . . . . . . . . . . . . . . . . 76

4.2.2 Optimale Wege in azyklischen Graphen . . . . . . . . . . . . . . . . 87

4.3 Optimale Zyklen: Das Traveling-Salesman Problem (TSP) . . . . . . . . . . 91

4.3.1 Hamiltonsche Wege und Zyklen . . . . . . . . . . . . . . . . . . . . . 91

4.3.2 Einige Heuristiken für das TSP . . . . . . . . . . . . . . . . . . . . . 96

4.3.3 Eine IP-Formulierung für das symmetrische TSP . . . . . . . . . . . 100

4.4 Optimale Bäume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

4.4.1 Bäume in Graphen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

4.4.2 Steiner-Bäume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 4: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

Kapitel 1

Was ist Operations Research?

Operations Research (OR) ist ein Teilgebiet der Mathematik. Anders als für viele andereTeilgebiete der Mathematik gibt es eine ganze Reihe von Fachverbänden:

1. deutsche Gesellschaft für ”Operations Research”

2. die Österreichische Gesellschaft für Operations Research (ÖGOR)

3. die Schweizerische Vereinigung für Operations Research (SVOR)

4. die Association of European Operational Research Societies (EURO)

5. International Federation of Operational Research Societies (IFORS).

Die deutsche Gesellschaft für ”Operations Research” definiert den Begriff so:

Unter Operations Research (OR) wird allgemein die Entwicklung und der Einsatzquantitativer Modelle und Methoden zur Entscheidungsunterstützung verstanden.Operations Research ist geprägt durch die Zusammenarbeit von Angewandter Ma-thematik, Wirtschaftswissenschaften und Informatik.

3

Page 5: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 1. WAS IST OPERATIONS RESEARCH? 4

Die Schweizerische Vereinigung für Operations Research (SVOR) sagt zum Begriff Opera-tions Research:

Operations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse undEntscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen zur Verfü-gung zu stellen, indem es versucht, komplexe Situationen zu verstehen und zu struk-turieren und dieses Verständnis zu nutzen, um das Verhalten von Systemen vorauszu-sagen und die Systemleistung zu verbessern. OR spielt in verschiedensten Wirtschafts-Branchen und Sektoren eine wichtige Rolle.

Zusätzlich zur Definition gibt die SVOR noch zwei typische Beispiele von Problemen, diemit Mitteln aus der Operations Research gelöst werden können:

1) Das Problem des Handelsreisenden (Travelling Salesman Problem, TSP)

Bei diesem Problem sind eine endliche Anzahl von Städten und die jeweilige Reisedistanzzwischen jedem Städtepaar gegeben. Wenn ein Handelsreisender seine Reise in Stadt Abeginnt, besteht das TSP darin, die kürzeste Rundreise zu finden, so dass er jede Stadtgenau einmal besucht und anschliessend zur Stadt A zurückkehrt, wo er gestartet ist.

2) Frequenzzuordnungsproblem (Frequency Assignment Problem, FAP)

Einer Menge von drahtlosen Kommunikationsverbindungen (oder einer Menge von Anten-nen) müssen Frequenzen zugewiesen werden, so dass eine Datenübertragung zwischen denzwei Endpunkten jeder Verbindung (den Empfängern) möglich ist. Die an zwei Verbindun-gen zugewiesenen Frequenzen können gegenseitig Interferenzen verursachen, was zu einemQualitätsverlust des Signals führt. Das FAP besteht darin, den Verbindungen Frequenzenso zuzuweisen, dass die Interferenzen minimal sind.

Eine Fülle von Beispielen von Anwendungen der OR findet man im Internet. Ein guterLink zum Starten ist

http://www.learnaboutor.co.uk

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 6: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 1. WAS IST OPERATIONS RESEARCH? 5

Die wichtigsten Teilgebiete von OR sind:

• Lineare Optimierung

• Dynamische Programmierung

• Ganzzahlige lineare Optimierung und Kombinatorische Optimierung

• Nichtlineare Optimierung

• Heuristische Verfahren

• Spieltheorie

• Graphentheorie

• Netzplantechnik

• Simulation

• Warteschlangentheorie

Literatur:

A. Koop, H. Moock: Lineare Optimierung Eine anwendungsorientierte Einführung in Ope-rations Research. Spektrum 2008.

K.H. Borgwardt: Optimierung, Operations Research, Spieltheorie. Birkhäuser, 2001.

W. Domschke, A. Drexl: Einführung ins Operations Research. 6. Auflage, Springer, 2005.

W. Domschke, A. Drexl et alteri: Übungen und Fallbeispiele zum Operations Research. 5.Auflage, Springer, 2005.

L.R. Folds: Combinatorial Optimization for Undergraduates, Springer, 1984.

J. Kallrath: Gemischt-ganzzahlige Optimierung: Modellierung in der Praxis. Mit Fallstudi-en aus Chemie, Energiewirtschaft, Metallgewerbe, Produktion und Logistik. Vieweg 2002.

C.H. Papadimitriou, K. Steiglitz: Combinatorial Optimization: Algorithms and Complexity.Prentice-Hall, 1982.

L.Suhl, T. Mellouli: Optimierungssysteme. Springer 2006.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 7: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

Kapitel 2

Lineare Optimierung

2.1 Einführung

Ziel der linearen Optimierung ist es, lineare Funktionen in n Variablen zu minimieren oderzu maximieren. Für die Variablen müssen dabei gewisse Nebenbedingungen erfüllt sein.

Beispiel 2.1Eine Fluggesellschaft möchte mit verschiedenen Werbekampagnen möglichst viele neueKunden gewinnen. Ziel ist es, mit möglichst wenig Kosten möglichst viele neue Kundenzu werben. Es ist bekannt, wieviele Kunden durchschnittlich gewonnen werden pro 1’000CHF, aufgeteilt in Werbungsart und Gebiet, in dem die potentiellen Kunden leben.

Werbungsart urbanes Gebiet suburbanes Gebiet ländliches GebietBrief -1 10 25Zeitungsbeilage 0 5 12Flyer 5 5 40Email 30 15 5

Es sollen die folgenden Mindest-Anzahlen von Neukunden gewonnen werden:

• 5’000 Neukunden in urbanen Gebieten

• 10’000 Neukunden in suburbanen Gebieten

• 25’000 Neukunden in ländlichen Gebieten

Wir versuchen, dieses Problem als ein ”Lineares Program” zu modellieren. Mit den Va-riablen x1, x2, x3, x4 modellieren wir den finanziellen Einsatz jeder Werbungsart. DieZielgewinne werden durch folgende vier Ungleichungen beschrieben:

6

Page 8: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 7

−x1 + 0x2 + 5x3 + 30x4 ≥ 500010x1 + 5x2 + 5x3 + 15x4 ≥ 1000025x1 + 12x2 + 40x3 + 5x4 ≥ 25000

Weil ”negative Kosten” nicht erlaubt sein sollen, haben wir noch vier weitere Ungleichungen

x1 ≥ 0x2 ≥ 0x3 ≥ 0x4 ≥ 0

Um den Werbeaufwand zu minimieren, müssen wir also die lineare Funktion

f(x1, x2, x3, x4) = x1 + x2 + x3 + x4,

die die Gesamtkosten beschreibt, minimieren. Dies muss unter den oben genannten Neben-bedingungen (die acht Ungleichungen) geschehen.

Wie lässt sich ein solches Optimierungsproblem lösen? Einer der bekanntesten Algorithmenzum Lösen solcher Probleme ist der Simplex-Algorithmus, der von George Bernard Dantzig(1914 2005) im Jahre 1947 veröffentlicht wurde. In den heute gängigen Programmen zumLösen von Linearen Programmen (LP) sind meist andere Verfahren implementiert, dieeffizienter arbeiten.

Eine (unvollständige) Liste von Software-Paketen (Solver) zum Lösen von LPs:

• CPLEX

• Coin-OR

• GNU GLPK

• MATLAB

• Excel

In der Vorlesung werden wir mit dem Programm Coliop arbeiten. Dieses Programm ist freierhältlich unter http://www.coliop.org/download.html. In Coliop werden lineare Program-me in einer eigenen Sprache CMPL formuliert. Das Coliop-Paket enthält schon die beidenSolver Coin-OR und GLPK.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 9: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 8

Bevor wir dieses Problem in CMPL formulieren und lösen, definieren wir zunächst denBegriff eines linearen Programms genauer.

Definition 2.1Eine Menge von m linearen Ungleichungen in n Unbekannten x1, . . . , xn der Form

a11x1 + a12x2 + · · · + a1nxn ≤ b1a21x1 + a22x2 + · · · + a2nxn ≤ b2

......

......

am1x1 + am2x2 + · · · + amnxn ≤ bm

zusammen mit einer linearen Funktion

f(x1, . . . , xn) = c1x1 + c2x2 + · · ·+ cnxn,

wobei aij ∈ R und bi ∈ R, cj ∈ R sind, heisst ein lineares Programm (engl. linearprogram) in den n Unbekannten x1, . . . , xn. Die Unbekannten x1, . . . , xn werden auchEntscheidungsvariable (engl. decision variable) genannt. Die Funktion f heisstdie Zielfunktion (engl. objective) es linearen Programms. Vektoren x = (xi), diedie m Ungleichungen erfüllen, heissen zulässige Lösungen (engl. admissible solu-tion). Zulässige Lösungen x∗, die die Zielfunktion f maximieren, werden optimaleLösungen (engl. optimal solution) genannt. In diesem Fall heisst f(x∗) der Wert(engl. objektive value) des linearen Programms.

Ungleichungen mit dem Grösser-Gleich-Zeichen anstelle des Kleiner-Gleich-Zeichens wer-den durch Multiplikation mit −1 in ebensolche transformiert. Gleichungen werden durchjeweils zwei Ungleichungen ausgedrückt.

Definition 2.2Sind v = (v1, . . . , vn) und w = (w1, . . . , wn) zwei Vektoren des Vektorraums Rn, soschreiben wir v ≤ w, falls für alle Komponenten vi ≤ wi gilt.

In der Regel werden die Ungleichungen x ≥ 0 automatisch in ein lineares Programm mitaufgenommen.

Verwenden wir die Matrixschreibweise mit A = (aij), b = (bi) und c = (cj), so kann manlineare Programme beschreiben durch die kanonische Form für Maximierungsproble-me

max cTx, Ax ≤ b, x ≥ 0

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 10: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 9

bzw. durch die kanonische Form für Minimierungsprobleme

min cTx, Ax ≥ b, x ≥ 0

Beispiel 2.2Das LP

min x1 + x3 + 2x4

2x1 − 2x2 + x3 ≤ 3x3 − 4x4 ≥ 5

x1 ≥ 0x2 ≥ 0

x3 ≤ 0

lässt sich in 3 Schritten auf die kanonische Form für Minimierungs-Probleme bringen:

1) Multiplikation der ersten Zeile mit -1

minx1 + x3 + 2x4

−2x1 + 2x2 − x3 ≥ −3x3 − 4x4 ≥ 5

x1 ≥ 0x2 ≥ 0

x3 ≤ 0

2) Ersetzen der Variable x3 durch −x3 und anschliessender Multiplikation der 5. Zeile mit-1:

minx1 − x3 + 2x4

−2x1 + 2x2 + x3 ≥ −3−x3 − 4x4 ≥ 5

x1 ≥ 0x2 ≥ 0

x3 ≥ 0

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 11: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 10

3) In unserem Beispiel ist die Variable x4 noch unbeschränkt. In der kanonische Form istdies aber der Fall. Dies können wir durch die Einführung zweier neuer Variablen x′4 undx′′4 mit x′4 ≥ 0 und x′′4 ≥ 0 und Substituieren von x4 mit x′4 − x′′4 erreichen:

minx1 − x3 + 2x′4 − 2x′′4

−2x1 + 2x2 + x3 ≥ −3−x3 − 4x′4 + 4x′′4 ≥ 5

x1 ≥ 0x2 ≥ 0

x3 ≥ 0x′4 ≥ 0

x′′4 ≥ 0

Formulierung des Beispiels in CMPL

Die Sprache CMPL (<Coliop|Coin> Mathematical Programming Language) wurde an denUniversitäten Technical University of Applied Sciences Wildau und dem Institute for Ope-rations Research and Business Management, Martin Luther University Halle-Wittenbergentwickelt. Mit dem Programm Coliop lassen sich CMPL-Programme entwickeln und lö-sen.

Ein CMPL-Programm besteht aus den vier Sektionen:

parameters:

variables:

objectives:

constraints:

Im ersten Block parameters werden alle im Programm verwendeten Parameter definiert. Dieeigentlichen Entscheidungsvariable werden in dieser Sektion nicht definiert. Dies wird imzweiten Block variables getan. Der objektives-Block dient der Definition der Zielfunktion.Der letzte Block constraints nimmt sämtliche Restriktionen auf.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 12: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 11

Für unser Beispiel sieht das CMPL-Programm aus wie folgt:

parameters:

ads := 1..4;

area[] := (5000, 10000, 25000);

urban[] := (-1, 0, 5, 30 );

suburban[] := (10, 5, 5, 15 );

rural[] := (25, 12, 40, 5 );

variables:

x[ads]: real[0..];

objectives:

sum{i in ads: x[ i ] } -> min;

constraints:

sum{i in ads: x[i] * urban[i]} >= area[1];

sum{i in ads: x[i] * suburban[i]} >= area[2];

sum{i in ads: x[i] * rural[i]} >= area[3];

Danach kann auf den Solve-Knopf gedrückt werden, um eine Lösung des linearen Pro-gramms (Minimierungsproblem) berechnen zu lassen. Im Vektor x befindet sich eine opti-male Lösung mit Zielfunktionswert Objektive value. In unserem Beispiel erhalten wir

---------------------------------------------------------------------------------------------------------

Problem Operations Research FS2013/Manuskript/Manuskript1.cmpl

Nr. of variables 4

Nr. of constraints 3

Objective name line_1

Solver name COIN-OR clp

---------------------------------------------------------------------------------------------------------

Objective status optimal

Objective value 1014.35 (min!)

Variables

Name Type Activity Lower bound Upper bound Marginal

---------------------------------------------------------------------------------------------------------

x[1] C 669.856 0 Infinity 0

x[2] C 0 0 Infinity 0.507656

x[3] C 186.603 0 Infinity 0

x[4] C 157.895 0 Infinity 0

---------------------------------------------------------------------------------------------------------

Constraints

Name Type Activity Lower bound Upper bound Marginal

---------------------------------------------------------------------------------------------------------

line_2 G 5000 5000 Infinity 0.00239234

line_3 G 10000 10000 Infinity 0.0559809

line_4 G 25000 25000 Infinity 0.0177033

---------------------------------------------------------------------------------------------------------

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 13: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 12

Dies bedeutet, dass die folgende Kosten-Verteilung zu minimalen Gesamtkosten von 1′014′354CHF führen:

Werbungsart Kosten in 1’000 CHFBrief 669.856Zeitungsbeilage 0Flyer 186.603Email 157.895

Insbesondere bedeutet das, dass sich Zeitungsbeilagen nicht rentieren und deshalb scheidetdieser Werbekanal aus.

Formulierung des Beispiels in Excel

Es ist zweckmässig, die Matrizen in Excel etwa in der folgenden Form anzuordnen

EXCEL SOLVER TUTORIAL Page 2 of 6

a11 a12 a13

a21 a22 a23

a31 a32 a33

a41 a42 a43

a51 a52 a53

Each matrix element occupies a cell in the worksheet.

Entering Matrices into Excel

It is easy to display the components of an LP in their natural way in Excel, i.e., as a rangeof cells. For example, if A is a 5 ⇥ 3 matrix, then each element of A can be entered intoits corresponding cell in a 5 ⇥ 3 range of cells. Identify ranges of cells to contain the datamatrices A, b, and c and enter them into the Excel worksheet. Do the same for the decisionvariables, x. To keep your worksheet organized, you might consider arranging the matricesas shown below. You are also encouraged to use labels and text to document your work.

c

Tc

Tx

A

x

Ax b

A sample layout of LP matrices in an Excel worksheet.

Naming Matrices in Excel

Excel allows you to name ranges of cells in the worksheet. This feature is especially con-venient for doing matrix calculations and for setting up LPs in Solver. To name a range ofcells, select the entire range with the mouse and use the Insert ! Name ! Define... menu.Alternatively, select the range and enter its name in the Name Box adjacent to the FormulaBar. Try using both methods to give names to the data matrices A, b, and c and to thedecision variables, x.

und den Bereichen die in der Graphik verwendeten Namen zuzuordnen, um später das linea-re Programm einfacher definieren zu können (Menüpunkt Einfügen->Namen->Definieren).Wir erhalten auf diese Weise das folgende Excel-Sheet

Dabei müssen die Zellen in den Bereichen cTx und Ax via der Formel für die Matrizen-Multiplikation definiert werden. Bevor man loslegen kann, muss man sicherstellen, dass dasSolver Add-In von Excel geladen ist. Sie können Add-Ins via Extras->Add-Ins. . . laden:

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 14: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 13

Danach lässt sich der Solver via Extras->Solver. . . konfigurieren. Hier können wir dievorher vergebenen Namen verwenden:

Das lineare Programm wird gelöst, indem man auf den Lösen-Knopf klickt. Das Resultatsieht dann so aus:

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 15: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 14

Aufgabe 1Die Firma Kleiner stellt eine ihrer Produktlinien ein und produziert nur noch die dreiProdukte Pj , j = 1, 2, 3. Stattdessen wird eine Mehrproduktion der drei Produkte erwogen.Folgende Informationen sind vorhanden:

1) Die Deckungsbeiträge pro Einheit für jedes Produkt sind:

Produkt P1 P2 P3

Deckungsbeitrag pro Einheit [CHF] 20 6 6

2) Durch die Einstellung der einen Linie werden folgende Kapazitäten frei:

Werk Walzwerk W1 Dreherei W2 Schleiferei W3

Freie Kapazität [Std/Woche] 200 100 50

3) Die folgende Tabelle gibt an, wie viele Stunden im Werk Wi (i = 1, 2, 3) für eine Einheitvon Produkt Pj (j = 1, 2, 3) benötigt wird.

P1 P2 P3

W1 8 2 3W2 2 3 0W3 2 0 1

Optimierungsproblem: Wie viele Einheiten der Produkte P1, P2, und P3 soll man (mehr)produzieren, damit der Gesamtdeckungsbeitrag maximal wird?

Stellen Sie für dieses Problem ein Lineares Programm auf und lösen Sie es je in einemSoftware-Tool ihrer Wahl.

Lösung. Wir definieren die Entscheidungsvariable x1, x2 und x3 als die Anzahl Einheiten,die von den Produkten P1, P2, und P3 hergestellt werden sollen. Wir nennen den Vektorx = (x1, x2, x3) einen Produktionsplan.

Nach den Angaben in Punkt 3) führt der Produktionsplan x zu einer wöchentlichen Stun-denbelastung in den 3 Werken, die gegeben ist durch

Werk W1 : 8x1 + 2x2 + 3x3Werk W2 : 2x1 + 3x2Werk W3 : 2x1 + x3

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 16: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 15

Nach Punkt 2) bekommt man die folgenden Kapazitätsrestriktionen:

Werk W1 : 8x1 + 2x2 + 3x3 ≤ 200Werk W2 : 2x1 + 3x2 ≤ 100Werk W3 : 2x1 + x3 ≤ 50

Der Gesamtdeckungsbeitrag des Produktionsplanes x ergibt sich aus Punkt 1) zu

20x1 + 6x2 + 6x3.

Damit können wir das folgende Lineare Programm als Maximierungsproblem formulieren.

Formulierung des linearen Optimierungsproblems

max cTx, Ax ≤ b, x ≥ 0

mit

A =

8 2 32 3 02 0 1

, b =

20010050

, c =

2066

Lösen wir dieses Lineare Programm in CMPL:

parameters:

A[,] := ((8, 2, 3), (2, 3, 0), (2, 0, 1));

b[] := (200, 100, 50);

c[] := (20, 6, 6);

variables:

x[1..3]: real[0..];

objectives:

c[]T * x[] -> max;

constraints:

A[,] * x[] <= b[];

so erhalten wir:

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 17: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 16

---------------------------------------------------------------------------------------------------------

Problem Operations Research FS2013/Manuskript/Manuskript2.cmpl

Nr. of variables 3

Nr. of constraints 3

Objective name line_1

Solver name COIN-OR clp

---------------------------------------------------------------------------------------------------------

Objective status optimal

Objective value 520 (max!)

Variables

Name Type Activity Lower bound Upper bound Marginal

---------------------------------------------------------------------------------------------------------

x[1] C 20 0 Infinity 0

x[2] C 20 0 Infinity 0

x[3] C 0 0 Infinity -1.2

---------------------------------------------------------------------------------------------------------

Constraints

Name Type Activity Lower bound Upper bound Marginal

---------------------------------------------------------------------------------------------------------

line_2 L 200 -Infinity 200 2.4

line_3 L 100 -Infinity 100 0.4

line_4 L 40 -Infinity 50 -

---------------------------------------------------------------------------------------------------------

Somit bekommt den höchsten Deckungsbetrag von 520,- CHF, wenn man pro Woche jeweils20 Stück vom Produkt P1 und 20 Stück vom Produkt P2 herstellt. Produkt P3 sollte nichthergestellt werden.

2.2 Geometrische Interpretation

Ein lineares Programm lässt sich geometrisch interpretieren. Die Menge aller Punkte, dieeine der Ungleichungen

ai1x1 + ai2x2 + · · ·+ ainxn ≤ bi

erfüllt, beschreibt einen Halbraum im n-dimensionalen Raum Rn. Jede Zeile teilt somitden n-dimensionalen Raum in zwei Hälften, wobei die Punkte in der einen Hälfte zulässigsind und in der anderen nicht.

Die Menge der Punkte, die alle Ungleichungen des LPs erfüllen, ist genau der Schnitt dieserHalbräume, also die Menge P aller Punkte, die für jede Ungleichung in der jeweiligenzulässigen Hälfte des Raumes liegen. Eine solche Menge P wird ein konvexes Polyedergenannt. Man kann sich ein solches Gebilde als ein n-dimensionales Vieleck vorstellen,in dem die Verbindungslinie zwischen zwei beliebigen Punkten von P vollständig in Penthalten ist.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 18: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 17

P

p

b

z

H

Ziel der Optimierung ist es, unter allen Punkten des Polyeders P einen zu finden, der dieZielfunktion minimiert bzw. maximiert. Geometrisch entspricht dies der Verschiebung derHyperebene in Richtung des Vektors c, welcher die Zielfunktion beschreibt, bis die verscho-bene Hyperebene das Polyeder gerade noch berührt. Die Menge aller Berührungspunkteist genau die Menge der optimalen Lösungen des linearen Programms.

Im Internet findet man unter

• http://www.eg-models.de/models.html

• http://mathworld.wolfram.com/topics/Polyhedra.html

animierte Visualisierungen von Polyedern.

Im zweidimensionalen Raum kann man ein lineares Programm wie folgt geometrisch deu-ten. Wir betrachten die Ungleichungen

y − 5/3x ≤ 0y + 7/10x ≤ 9−y − 3/5x ≤ −6−y − 2x ≤ −8y + 5/2x ≤ 35/2

zusammen mit der zu maximierenden Zielfunktion

f(x, y) = 5x+ y.

Die Lösungen der einzelnen Gleichungen können als Geraden in R2 dargestellt werden.Die Lösungsmenge der Ungleichung y ≤ 5/3x ist im Diagramm in gelb dargestellt undstellt einen Halbraum in R2 dar. Schneidet man alle diese Halbräume, so erhält man denPolyeder P , dargestellt als dunkler Bereich in der Mitte:

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 19: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 18

10 0 1 2 3 4 5 6 7 8 9

10

0

1

2

3

4

5

6

7

8

9 y=5/

3x

y=9-7/10x

P

y<=5/3x

y=6-3/5x

y=8-2x

y=35/2-5/2x

y=1/5x optimale Lösung

y=-5x

Die optimale Lösung befindet sich in der Ecke, die man erhält, wenn man aus der Mengealler Senkrechten zur Geraden y = 3/5x, diejenige auswählt, die vom Ursprung die grössteEntfernung hat und die Menge P schneidet. Auf jeder dieser Senkrechten hat die Ziel-funktion denselben Funktionswert. Deshalb wird durch das gerade beschriebene Verfahrenderjenige Punkt in P gefunden, der die Zielfunktion maximiert.

Ein LP muss nicht immer zulässige Lösungen besitzen, d.h. die Menge P kann auch leersein!

2.3 Lösungsmethoden

Es gibt eine ganze Reihe verschiedener Algorithmen, um ein LP zu lösen. Wir werden indiesem Abschnitt drei verschiedene Ansätze beschreiben.

2.3.1 Das Simplexverfahren

Der Mathematiker George Bernard Dantzig (1914 - 2005) veröffentlichte 1947 eine Arbeitüber das Simplex-Verfahren, das heute eines der meistgenutzten Verfahren zur Lösunglinearer Programme ist. In den Folgejahren entwickelten Dantzig, John von Neumann, Os-kar Morgenstern, Tjalling Koopmans und andere das Verfahren und die zugehörige Theorieweiter. Etwa ab 1950 entdeckte die Wirtschaft die Anwendungsmöglichkeiten der linearen

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 20: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 19

Optimierung, denn erst durch den Einsatz von Computern konnten Probleme gelöst wer-den, die für die Industrie interessant waren. Ab den 1970er Jahren profitierte der Simplex-Algorithmus von Fortschritten in der numerischen linearen Algebra. Insbesondere die Ent-wicklung numerisch stabiler LR-Zerlegungen zur Lösung grosser linearer Gleichungssystemetrugen massgeblich zum Erfolg und der Verbreitung des Simplex-Verfahrens bei.

Der 2-Phasen-Simplex-Algorithmus zur Maximierung der Zielfunktion besteht aus zweiunterschiedlichen Schritten:

Phase 1: Bestimmung irgendeiner Ecke des Polyeders P aller zulässigen Lösungen desLPs. In dieser Phase wird bestimmt, ob das Lineare Programm überhaupt eine Lösungbesitzt.

Phase 2: Suchen eines Kantenzugs, auf dem der Wert der Zielfunktion zunimmt, bis ermaximal ist. Dies bedeutet den Übergang von einer Ecke zu einer benachbarten, falls derWert der Zielfunktion an der neuen Ecke grösser ist. Dies wird so lange wiederholt, bis dieEcke mit dem grössten Zielfunktionswert gefunden ist.

Die Zahl der Ecken eines Polyeders kann exponentiell in der Anzahl der Variablen undUngleichungen sein. Beispielsweise lässt sich der n-dimensionale Einheitswürfel durch 2nlineare Ungleichungen beschreiben und besitzt 2n Ecken. Man konstruierte im Jahre 1972einen verzerrten Einheitswürfel, bei dem die von Dantzig vorgestellte Variante des Simplex-Verfahrens alle Ecken dieses Würfels besuchte. Ähnliche Beispiele wurden bisher für allealternativen Zeilen- und Spaltenauswahlregeln gefunden. Dies bedeutet, dass der Simplex-Algorithmus im schlechtesten Fall exponentielle Laufzeit sowohl bezüglich der Anzahl derVariable als auch der Anzahl der Ungleichungen besitzt.

Bei linearen Programmen kann es in der Praxis wegen numerischer Probleme zu Zyklenkommen, bei dem das Simplex-Verfahren immer wieder dieselbe Ecke betrachtet und da-durch nicht terminiert. Dies lässt sich aber durch Anwendung absichtlicher numerischerStörungen verhindern.

Die Bedeutung des Simplex-Verfahrens zur Lösung von Unterproblemen in der ganzzah-ligen linearen Optimierung ist nach wie vor Gegenstand aktueller Forschung. Anfang der1990er Jahre wurden hier noch einmal grosse Fortschritte durch die Entwicklung neuerPivotstrategien für den dualen Simplex-Algorithmus erzielt, insbesondere durch das dualsteepest edge pricing von John Forrest und Donald Goldfarb.

Jedes lineare Programm kann als lineares Gleichungssystem umgeschrieben werden, indemfür jede Ungleichung eine weitere Variable hinzugefügt wird, die den Unterschied zwi-schen der linken und der rechten Seite der Ungleichung aufnimmt. Dieser Unterschied wirdSchlupf genannt, weshalb man auch bei den neu hinzugefügten Variablen von Schlupf-variablen spricht. Diese Umwandlung ist für den Simplex-Algorithmus wichtig, weil er aufdem Gauss-Algorithmus zur Lösung lineare Gleichungssysteme aufbaut.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 21: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 20

Beispiel 2.3Wir betrachten das kanonische Maximierungsproblem

max x1 + 3x2 − x3

3x1 − x2 + 5x3 ≤ 8−x1 + 2x2 − x3 ≤ 12x1 + 4x2 + x3 ≤ 5

x1, x2, x3 ≥ 0

Diese LP lässt sich in ein ineares Gleichungssystem

max x1 + 3x2 − x3

3x1 − x2 + 5x3 + x4 = 8−x1 + 2x2 − x3 + x5 = 12x1 + 4x2 + x3 + x6 = 5

x1, x2, x3, x4, x5, x6 ≥ 0

umschreiben. Die Variablen x4, x5, x6 sind die Schlupfvariablen.

In einem Simplex-Tableau in Standard-Form mit den Schlupfvariablen x4, x5, x6 siehtdies so aus:

NBV NBV NBV BV BV BVBV x1 x2 x3 x4 x5 x6 b

x4 3 −1 5 1 0 0 8x5 −1 2 −1 0 1 0 1x6 2 4 1 0 0 1 5

−z −1 −3 1 0 0 0 0

Die unterste Zeile (−z) repräsentiert dabei die Gleichung

x1 + 3x2 − x3 − 1(x1)− 3(x2) + 1(x3) + 0(x4) + 0(x5) + 0(x6) = 0.

Spalten, die genau eine 1 und sonst lauter Nullen besitzen, werden als Basisspalten be-zeichnet. Die zugehörige Variable heisst dann Basisvariable (BV). Alle anderen Variablewerden Nicht-Basisvariable (NBV) genannt. In der linken Spate werden allen Basisva-riable nochmals aufgeführt. Die Zahl rechts unten im Simplex-Tableau repräsentiert denZielfunktionswert bzgl. der Basisvariablen.

Hat die rechte Seite b des Gleichungssystems nur positive Einträge, so ist (0, 0, . . . , 0) einezulässige Lösung. Wir nehmen dies für den Moment allgemein an.

Sind alle Koeffizienten der Zielfunktion negativ, so sind wir fertig, denn in diesem Fallist (0, 0, . . . , 0) die optimale Lösung mit einem Zielfunktionswert von 0. Wir können also

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 22: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 21

davon ausgehen, dass es mindestens einen positiven Koeffizienten in der Zielfunktion hat.Das heisst, wir können davon ausgehen, dass es in der letzen Zeile mindestens einen Eintrag< 0 gibt.

Ziel des Simplex-Algorithmus ist es, durch Austauschen von Basisvariablen den Wert derZielfunktion auf den Basisvariablen sukzessive zu vergrössern. Das Austauschen von Ba-sisvariablen wird durch Auswahl einer sog. Pivot-Zeile i und einer Pivot-Spalte j be-werkstelligt. Durch einen Gauss-Schritt werden alle Einträge in Spalte j auf Null gebracht,ausser in Zeile i, wo eine 1 zu stehen kommt. Als mögliche Pivot-Spalten kommen also alleNicht-Basis-Spalten in Frage.

Wie soll nun eine Pivot-Spalte ausgewählt werden?

Um diese Frage zu beantworten, definieren wir auf dem Vektorraum Rn eine lexikogra-phische Ordnung ≤ durch

(v1, v2, . . . , vn)T ≤ (w1, w2, . . . , wn)

T

falls in der Differenz(w1 − v1, w2 − v2, . . . , wn − vn)

T

der erste Eintrag von rechts gelesen, welcher nicht 0 ist, positiv ist. Man sagt dann,(w1, w2, . . . , wn)

T ist lexikographisch grösser als (v1, v2, . . . , vn)T .

Wie werden die Pivot-Spalte nun so auswählen, dass die Zielfunktions-Zeile nach dem Pivot-Schritt lexikographisch grösser wird. Da es nur endlich viele verschiedene Basen gibt, mussder Simplex-Prozess somit terminieren.

Um die Ordnung der Zielfunktions-Zeile in einem Simplex-Schritt erhöhen zu können, müs-sen alle anderen Zeilen lexikographisch positiv sein, d.h. es muss für alle Zeilen

(v1, v2, . . . , vn)T ≥ (0, 0, . . . , 0)T

gelten. Am Anfang ist dies der Fall, weil die rechte Seite b lauter positive Einträge besitzt.Bei einem Pivot-Schritt in Zeile ri und Spalte j wird die Zielfunktions-Zeile r0 des Simplex-Tableaus ersetzt durch r0 − a0j/aijri. Wählt man nur solche Zeilen i und Spalten j, fürdie der Zielfunktions-Eintrag a0j < 0 und aij > 0 ist, so wird die lexikographisch Ordnungvon der neuen Zielfunktion-Zeile r0 − a0j/aijri vergrössert, weil r0 und ri lexikographischpositiv sind und der Faktor a0j/aij < 0 ist.

Wie aber können wir garantieren, dass alle Zeilen nach einem Pivot-Schritt lexikographischpositiv bleiben? Dies erreicht man, indem man eine beliebige Pivotspalte j mit a0j < 0und aij > 0 auswählt und die Pivotzeile i so auswählt, dass die Zeile ri/aij lexikographischminimal gewählt wird unter allen Zeilen ri mit aij > 0.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 23: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 22

In unserem Beispiel

NBV NBV NBV BV BV BVBV x1 x2 x3 x4 x5 x6 b

x4 3 −1 5 1 0 0 8x5 −1 2 −1 0 1 0 1x6 2 4 1 0 0 1 5

−z −1 −3 1 0 0 0 0

kommen als mögliche Pivot-Spalten die Spalte 1 und 2 in Frage, weil die Zielfunktions-Zeilein diesen Spalten negative Einträge besitzt.

Für Spalte 1 kämen Zeile 1 und 3 in Frage, weil diese dort positive Einträge besitzt. Wirmüssen nun bestimmen, welche der beiden Zeilen r1/a11 und r3/a31 die kleinere lexikogra-phische Ordnung besitzt:

r1/a11 = (1,−1

3,5

3,1

3, 0, 0,

8

3)

undr3/a31 = (1, 2,

1

2, 0, 0,

1

2,5

2).

Die untere Zeile ist lexikographisch kleiner als die obere. Somit ergibt sich die erste Spalteund die dritte Zeile als zulässige Pivotspalte/Pivotzeile.

Nach dem Simplex-Schritt bekommt man so das Tableau

BV NBV NBV BV BV NBVBV x1 x2 x3 x4 x5 x6 b

x4 0 −7 7/2 1 0 −3/2 1/2x5 0 4 −1/2 0 1 1/2 7/2x1 1 2 1/2 0 0 1/2 5/2

−z 0 −1 3/2 0 0 1/2 5/2

und man kann die neue zulässige Lösung

x1 = 5/2, x2 = 0, x3 = 0

ablesen. Der Zielfunktionswert für diese neue Lösung beträgt

f(5/2, 0, 0) = 5/2.

Da in der zweiten Spalte der Zielfunktionszeile noch ein negativer Eintrag existiert, wählenwir als nächstes die zweite Spalte als Pivotspalte. Als mögliche Pivotzeile ergeben sich diezweite und dritte Zeile, da diese in der gewählten Pivotspalte positive Einträge haben.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 24: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 23

Wir müssen wieder bestimmen, welche der beiden Zeilen r2/a22 und r3/a32 die kleinerelexikographische Ordnung besitzt:

r2/a22 = (0, 1,−1

8, 0,

1

4,1

8,7

8)

undr3/a32 = (

1

2, 1,

1

4, 0, 0,

1

4,5

4).

Die obere Zeile ist lexikographisch kleiner als die untere. Somit ergibt sich die zweite Spalteund die zweite Zeile als zulässige Pivotspalte/Pivotzeile.

Nach dem zweiten Simplex-Schritt bekommt man das Tableau

BV BV NBV BV NBV NBVBV x1 x2 x3 x4 x5 x6 b

x4 0 0 21/8 1 7/4 −5/8 53/8x2 0 1 −1/8 0 1/4 1/8 7/8x1 1 0 6/8 0 −2/4 1/4 6/8

−z 0 0 11/8 0 1/4 5/8 27/8

Da nun alle Einträge in der Zielfunktionszeile positiv sind, terminiert der Algorithmus. DieLösung lässt sich nun aus dem Tableau ablesen:

x1 = 6/8, x2 = 7/8, x3 = 0.

Die Bedingung x3 = 0 folgt daraus, dass diese Variable keine Basisvariable ist, und somit 0sein muss. Der maximale Zielfunktionswert f(x1, x2, x3) = x1+3x2−x3 lässt sich ebenfallsaus dem Diagramm rechts unten ablesen:

f(6/8, 7/8, 0) = 27/8.

Beispiel 2.4Das lineare Programm

max x1 + 3x2

2x1 − 3x2 ≤ 0x1 + 5x2 ≤ 9

−3x1 + 6x2 ≥ 6x1, x2 ≥ 0

lässt sich in das lineares Gleichungssystem

max x1 + 3x2

2x1 − 3x2 + x3 = 0x1 + 5x2 + x4 = 9

−3x1 + 6x2 − x5 = 6x1, x2, x3, x4, x5 ≥ 0

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 25: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 24

umschreiben. Die Variablen x3, x4, x5 sind die Schlupfvariablen. Man beachte, dass dieSchlupfvariable x5 negativ in die Ungleichung eingeht, weil sie eine ≥-Ungleichung ist undwir x5 ≥ 0 voraussetzen.

Ist der Nullvektor (0, . . . , 0)T eines Linearen Programms keine zulässige Lösung, so müs-sen für den Simplex-Algorithmus weitere, sog. künstliche Variable, eingeführt werden.Künstliche Variable müssen in all den Gleichungen hinzugefügt werden, bei denen dieSchlupfvariable mit einem negativen Vorzeichen in der Gleichung vorkommt. In obigenBeispiel ergibt dies die sog. Standard-Form eines LP

max x1 + 3x2

2x1 − 3x2 + x3 = 0x1 + 5x2 + x4 = 9

−3x1 + 6x2 − x5 + x6 = 6x1, x2, x3, x4, x5, x6 ≥ 0

Das ursprüngliche LP besitzt genau dann eine zulässige Lösung, wenn das transformierteLP zzgl. Schlupfvariable und künstliche Variable eine Lösung besitzt, bei der die künstli-chen Variablen alle 0 sind. Zur Zielfunktion f(x1, x2) = x1 + 3x2 des ursprünglichen LPswird eine zweite Zielfunktion

f ′(x1, . . . , x6) = x6

als Summe aller künstlichen Variablen definiert.

In einem ersten Schritt (Phase 1) wird das kanonische Minimierungsproblem

min x6

2x1 − 3x2 + x3 = 0x1 + 5x2 + x4 = 9

−3x1 + 6x2 − x5 + x6 = 6x1, x2, x3, x4, x5, x6 ≥ 0

mittels des Simplex-Algorithmus gelöst. Eine zulässige Lösung existiert dabei immer - inunserem Beispiel ist (0, 0, 0, 9, 0, 6) eine Lösung. Ist (c1, . . . , c6) eine optimale Lösung, sogibt es zwei Möglichkeiten:

1. Es ist f ′(c1, . . . , c6) = c6 > 0 in einem optimalen Punkt. Dann gibt es keine zuläs-sige Lösung für das originale Problem.

2. Es ist f ′(c1, . . . , c6) = c6 = 0. Dann gibt es wiederum zwei Möglichkeiten;

(a) Keine künstliche Variable ist eine Basisvariable

(b) Es gibt eine künstliche Variable, die eine Basisvariable ist.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 26: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 25

Im Fall 2b) müssen zuerst alle künstlichen Variable zu Nicht-Basisvariable gemacht werden,indem geeignete weitere Pivot-Schritte durchgeführt werden, die die Zielfunktion unverän-dert bei Null lassen.

Danach können alle Spalten der künstliche Variablen aus dem Simplex-Tableau gestrichenwerden und anstelle von f ′(x1, . . . , xn) wieder die alte Zielfunktion f(x1, . . . , xn) eingesetztwerden. Das so entstandene Simplex-Tableau wird nun in Phase 2 kann nun wie im erstenBeispiel behandelt werden.

In unserem Beispiel formulieren wir durch Multiplikation der Zielfunktion mit −1 das Mi-nimierungsproblem der Phase 1 in ein Maximierungsproblem um. Das zugehörige Simplex-Tableau sieht dann wie folgt aus:

NBV NBV BV BV NBV BVBV x1 x2 x3 x4 x5 x6 b

x3 2 −3 1 0 0 0 0x4 1 5 0 1 0 0 9x6 −3 6 0 0 −1 1 6

−z′ 0 0 0 0 0 1 0

Um den Simplex-Algorithmus durchführen zu können, müssen die Koeffizienten aller Ba-sisvariablen in der Zielfunktions-Zeile gleich Null sein. Dieses erreichen wir, indem wir diex6-Zeile von der Zielfunktions-Zeile abziehen:

NBV NBV BV BV NBV BVBV x1 x2 x3 x4 x5 x6 b

x3 2 −3 1 0 0 0 0x4 1 5 0 1 0 0 9x6 −3 6 0 0 −1 1 6

−z′ 3 −6 0 0 1 0 −6

Die einzig mögliche Pivotspalte ist Spalte 2; die x6-Zeile ist die Pivotzeile, weil 6/6 < 9/5ist. Nach dem Gauss-Schritt erhält man

NBV BV BV BV NBV NBVBV x1 x2 x3 x4 x5 x6 b

x3 1/2 0 1 0 −1/2 1/2 3x4 7/2 0 0 1 5/6 −5/6 4x2 −1/2 1 0 0 −1/6 1/6 1

−z′ 0 0 0 0 0 1 0

Da alle Einträge der Zielfunktions-Zeile nicht negativ sind, endet die erste Phase desSimplex-Algorithmus. Die optimale Lösung ist

x1 = 0, x2 = 1, x3 = 3, x4 = 4, x5 = 0, x6 = 0.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 27: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 26

Der Zielfunktionswert in diesem Punkt ist 0, d.h. das Original-Problem hat eine zulässigeLösung. Da die künstliche Variable x6 eine Nicht-Basisvariable ist, müssen keine weiterenPivot-Schritte ausgeführt werden und es kann die x6-Spalte gestrichen und die originaleZielfunktion restauriert werden:

NBV BV BV BV NBVBV x1 x2 x3 x4 x5 b

x3 1/2 0 1 0 −1/2 3x4 7/2 0 0 1 5/6 4x2 −1/2 1 0 0 −1/6 1

−z −1 −3 0 0 0 0

Um den Simplex-Algorithmus durchführen zu können, müssen wie zuvor die Koeffizientenaller Basisvariablen in der Zielfunktions-Zeile gleich Null sein. Dieses erreichen wir wieder,indem wir die x2-Zeile von der Zielfunktions-Zeile abziehen:

NBV BV BV BV NBVBV x1 x2 x3 x4 x5 b

x3 1/2 0 1 0 −1/2 3x4 7/2 0 0 1 5/6 4x2 −1/2 1 0 0 −1/6 1

−z −5/2 0 0 0 −1/2 3

Wir wählen die erste Spalte als Pivotspalte. Dann ist die x4-Zeile die Pivotzeile:

BV BV BV NBV NBVBV x1 x2 x3 x4 x5 b

x3 0 0 1 −1/7 −13/21 17/7x1 1 0 0 2/7 10/42 8/7x2 0 1 0 1/7 −1/21 11/7

−z 0 0 0 5/7 2/21 41/7

Da alle Einträge der Zielfunktions-Zeile nicht negativ sind, endet die zweite Phase desSimplex-Algorithmus. Die optimale Lösung ist

x1 = 8/7, x2 = 11/7,

bei einem Zielfunktionswert von 41/7.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 28: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 27

Der detaillierte Ablauf des 2-Phasen-Simplex-Algorithmus ist wie folgt:

Start

Erstellung eines initialen Simplex-Tableaus T1:Addition aller Zeilen, die zu künstlichen Basisvariablen

gehören, zur Zielfunktionszeile

Umformen des LPs in ein lineares Gleichungssystem durch Einführen von Schlupfvariablen.

Festlegen der Pivotspalte: Wähle eine Spalte mit einer NBV mit einem negativen

Eintrag in der Zielfunktionszeile

Festlegen der Pivotzeile: Wähle ein Zeile mit positivem Koeffizienten in der

Pivotspalte, bei der der Quotient der rechten Seite durch das betreffende Element der Pivotspalte minimal ist.

Erste Umformung des Tableaus:Division der Pivotzeile durch das Pivotelement.

Pivotelement:Zelle in Pivotspalte und Pivotzeile

Zweite Umformung des Tableaus:Via Gauss-Algorithmus alle Einträge oberhalb und

unterhalb des Pivotelementes auf 0 bringen.

Ende

Gibt es eine Spalte mit einer NBV mit einem negativen Eintrag in

der Zielfunktionszeile?Nein

Ja

Ist (0,0,…,0) eine zulässige Lösung?

Nein

Hinzufügen von künstlichen Variablen für jede negative Schlupfvariable. Ersetzen der Zielfunktion durch die

negative Summe z' aller künstlichen Variablen.

Ja

Ist der Zielfunktionswert z' = 0?

Ja

Original-LP nicht lösbar,keine zulässigen Lösungen vorhanden

Original-LP optimal lösbar, Lösung und Zielfunktionswert können aus dem

Simplex-Tableau T2 abgelesen werden

Original-LP lösbar, aber keine optimale Lösung, Original-LP hat Lösungen mit beliebig grossem

Zielfunktionwert

Erstellung eines initialen Simplex-Tableaus T2:keine künstlichen Variablen notwendig

Nein

Sind alle künstlichen Variablen NIcht-

Basisvariable?

Ja

Nein

Durchführen weiterer Pivotschritte, welche die Zielfunktion z' bei Null belassen, bis alle künstlichen

Variable Nicht-Basisvariable sind.

Streichen aller Spalten, die zu künstlichen Variablen gehören, aus dem Simplex-Tableau

Ersetzen der Zielfunktionszeile z' durch die originale Zeile z.

Pivotschritte für alle Basisvariablen-Spalten durchführen. Dies passt die Zielfunktion z so an, dass

die Einträge in diesen Spalten 0 werden.

Festlegen der Pivotspalte: Wähle eine Spalte mit einer NBV mit einem negativen

Eintrag in der Zielfunktionszeile

Festlegen der Pivotzeile: Wähle ein Zeile mit positivem Koeffizienten in der

Pivotspalte, bei der der Quotient der rechten Seite durch das betreffende Element der Pivotspalte minimal ist.

Erste Umformung des Tableaus:Division der Pivotzeile durch das Pivotelement.

Pivotelement:Zelle in Pivotspalte und Pivotzeile

Zweite Umformung des Tableaus:Via Gauss-Algorithmus alle Einträge oberhalb und

unterhalb des Pivotelementes auf 0 bringen.

Gibt es eine Spalte mit einer NBV mit einem negativen Eintrag in

der Zielfunktionszeile?

Nein

Ja

Gibt es in der Pivotspalte einen positiven Eintrag? Nein

Ja

Phase 2

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 29: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 28

Im Internet befindet sich unter http://simplexsolver.jumland.de/SimplexSolver.zip ein Link,bei dem ein Java-Programm SimplexSolver1.jar heruntergeladen werden kann, welches dieFunktionsweise des Simplex-Algorithmus visualisiert.

Wir verwenden dieses Programm, um eine optimale Lösung des Beispiels vom Anfang desKapitels mit dem Simplex-Algorithmus Schritt für Schritt zu berechnen:

Zuerst wird das LP in das Programm eingegeben:

Danach wird das Lineare Programm definiert:

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 30: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 29

Drückt man den Lösen-Knopf, so wird der Simplex-Algorithmus Schritt für Schritt ausge-führt:

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 31: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 30

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 32: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 31

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 33: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 32

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 34: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 33

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 35: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 34

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 36: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 35

In der Spalte RS rechts können nun die Werte für x1, x3 und x4 abgelesen werden. Da x2im Tableau eliminiert wurde, folgt x2 = 0.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 37: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 36

2.3.2 Die Ellipsoidmethode

Im Jahre 1979 veröffentlichte Leonid Khachiyan (1912 - 1986) die Ellipsoidmethode, mitder lineare Programme erstmals, zumindest theoretisch, in Polynomialzeit gelöst werdenkonnten. Damit konnte erstmals die polynomiale Lösbarkeit linearer Optimierungsproblemebewiesen werden. Dieser Algorithmus, der als erste polynomiale Lösungsmethode auch dasPotential zum praktischen Einsatz hatte, wurde innerhalb des nachfolgenden Jahrzehntsnoch wesentlich verbessert.

Die Ellipsoidmethode ist ein Algorithmus zur Entscheidung, ob das Polyeder P leer istoder nicht. Falls das Polyeder P einen Punkt enthält, dann gibt die Methode einen solchenaus. Man kann zeigen, dass dieses Problem äquivalent zum Finden der optimalen Lösungeines linearen Programms ist.

Der Algorithmus funktioniert für ein LP der Form Ax ≤ b wie folgt:

PE1

E2

g1

g2

z1

z2

1. Bestimmung einer maximalen Iterationsanzahl für folgende Schritte:

2. Es wird getestet, ob das Zentrum z1 des Ellipsoids E1 im Polyeder P liegt.

3. Falls ja, ist z1 eine zulässige Lösung und der Algorithmus ist beendet.

4. Falls nein, sucht man eine Ungleichung (Schnittebene) g1, die z1 vom Polyeder Ptrennt. Dies kann zum Beispiel eine Zeile ai der Matrix A sein, die aiz1 > bi erfüllt.

5. In dem Halbraum (im Bild links von g1) liegt, falls das Polyeder P nicht leer ist, einPunkt von P. Nun sucht man ein Ellipsoid E2 (im Bild gestrichelt), das möglichstklein ist, aber den Schnitt dieses Halbraums mit dem ursprünglichen Ellipsoid E1

enthält.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 38: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 37

6. Ist die maximale Iterationszahl erreicht, ohne dass ein Ellipsoid-Zentrum im PolyederP lag, ist dieses leer. Andernfalls macht man wieder bei Schritt 2 weiter.

Die maximale Iterationsanzahl berechnet sich polynomial aus der Länge der Binärcodie-rung der Matrix A und des Vektors b. Dieses Abbruchkriterium beruht darauf, dass dasuntersuchte Polyeder eine Mindestgrösse haben muss, die von der Kodierungslänge von Aund b abhängt. Wird diese Mindestgrösse vom aktuellen Ellipsoid unterschritten, muss dasPolyeder leer sein.

In der Praxis erweist sich die Ellipsoid-Methode häufig als ineffizient und wird in denmeisten Anwendungen vom Simplex-Algorithmus in der Laufzeit geschlagen.

2.3.3 Der Karmarkar-Algorithmus

1984 veröffentlichte Narendra Karmarkar (* 1957) einen Algorithmus zum Lösen von LPs,das sowohl polynomiale Laufzeit besass als auch praktisch einsetzbar war. Karmarkar ar-beitete damals bei den Bell Laboratories in New Jersey. Beide Algorithmen, die Ellipsoid-Methode und der Karmarkar-Algorithmus, gehören zu den Inneren-Punkt-Methoden, weilsie beim Lösen eines LPs nicht dem Rand des Polyeders P folgen. Da der Algorithmus vonKamarkar sehr kompliziert ist, wird auf eine Beschreibung verzichtet. Mehr Informatio-nen erhält man z.B. in dem Manuskript von Martin Grötschel über Lineare Optimierung(http://www.zib.de/groetschel/teaching/skriptADMII.pdf), Seite 215ff.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 39: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 38

2.4 Dualität linearer Programme

Zu jedem Linearen Programm gibt es ein sogenanntes duales Lineares Programm. Daserstgenannte lineare Programm wird das primale Lineare Programm genannt.

Definition 2.3Es sei das folgende LP in kanonischer Form gegeben:

Ax ≥ b, x ≥ 0, min cTx

Dann heisst das LP

ATw ≤ c, w ≥ 0, max bTw

das zum ersten LP duale LP (engl. dual LP). Das erste LP nennt man das primaleLP (engl. primal LP). Das bedeutet, dass beim dualen LP die Rollen der Vektorenb und c vertauscht werden, von A zur transponierten Matrix AT übergegangen wird,und aus dem Minimierungsproblem ein Maximierungsproblem wird.

BemerkungDas zum kanonischen Maximierungsproblem

Ax ≤ b, x ≥ 0, max cTx

duale LP ist

ATw ≥ c, w ≥ 0, min bTx

Beispiel 2.5Das Lineare Programm (

3 15 2

)x ≥

(47

), x ≥ 0

min cTx, c =

(68

)hat das duale Lineare Programm(

3 51 2

)x ≤

(68

), x ≥ 0

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 40: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 39

max bTx, b =

(47

)

1) Rechnet man die optimale Lösung des primalen LP aus, so erhalten wir

parameters:

A[,] := ((3, 1), (5, 2));

b[] := (4, 7);

c[] := (6, 8);

variables:

x[1..2]: real[0..];

objectives:

c[]T * x[] -> min;

constraints:

A[,] * x[] >= b[];

und als Lösung

---------------------------------------------------------------------------------------------------------

Problem /Operations Research FS2013/Manuskript/Manuskript3.cmpl

Nr. of variables 2

Nr. of constraints 2

Objective name line_1

Solver name COIN-OR clp

---------------------------------------------------------------------------------------------------------

Objective status optimal

Objective value 8.4 (min!)

Variables

Name Type Activity Lower bound Upper bound Marginal

---------------------------------------------------------------------------------------------------------

x[1] C 1.4 0 Infinity 0

x[2] C 0 0 Infinity 5.6

---------------------------------------------------------------------------------------------------------

Constraints

Name Type Activity Lower bound Upper bound Marginal

---------------------------------------------------------------------------------------------------------

line_2 G 4.2 4 Infinity -

line_3 G 7 7 Infinity 1.2

---------------------------------------------------------------------------------------------------------

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 41: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 40

2) Die optimale Lösung des dualen LP

parameters:

A[,] := ((3, 1), (5, 2));

b[] := (4, 7);

c[] := (6, 8);

variables:

x[1..2]: real[0..];

objectives:

b[]T * x[] -> max;

constraints:

A[,]T * x[] <= c[];

ist

---------------------------------------------------------------------------------------------------------

Problem Operations Research FS2013/Manuskript/Manuskript4.cmpl

Nr. of variables 2

Nr. of constraints 2

Objective name line_1

Solver name COIN-OR clp

---------------------------------------------------------------------------------------------------------

Objective status optimal

Objective value 8.4 (max!)

Variables

Name Type Activity Lower bound Upper bound Marginal

---------------------------------------------------------------------------------------------------------

x[1] C 0 0 Infinity -0.2

x[2] C 1.2 0 Infinity 0

---------------------------------------------------------------------------------------------------------

Constraints

Name Type Activity Lower bound Upper bound Marginal

---------------------------------------------------------------------------------------------------------

line_2 L 6 -Infinity 6 1.4

line_3 L 2.4 -Infinity 8 -

---------------------------------------------------------------------------------------------------------

Wir sehen also im Beispiel, dass der Wert der Zielfunktion in den jeweiligen optimalenLösungen übereinstimmt.

Wir halten fest, dass das duale Programm eines primalen LPs wieder ein Lineares Pro-gramm ist. Deshalb können wir uns fragen, wie das duale Programm des dualen Programmsaussieht.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 42: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 41

Starten wir dazu mit dem dualen Programm

ATw ≤ c, w ≥ 0, max bTw

und gehen zu dessen dualem Programm über

(AT )T v ≥ b, v ≥ 0, min cT v

so sehen wir, dass wegen (AT )T = A, dieses duale duale Programm wieder das primaleAusgangs-LP ist:

Ax ≥ b, x ≥ 0, min cTx

Also haben wir folgenden Satz bewiesen:

Satz 2.1Das duale Programm eines dualen Programms ist sein primales Lineare Programm.

Der folgende Satz wird die schwache Dualitäts-Eigenschaft genannt:

Satz 2.2Sei x0 ein zulässiger Punkt des primalen Minimierungs-Problems {Ax ≥ b, x ≥ 0} undw0 ein zulässiger Punkt des dualen Maximierungs-Problems {ATw ≤ c, w ≥ 0}, so gilt

cTx0 ≥ wT0 Ax0 ≥ wT

0 b = bTw0.

BeweisDa x0 ein zulässiger Punkt des primalen LPs ist, gilt:

Ax0 ≥ b.

Multipliziert man beide Seiten mit dem Vektor wT0 , so erhalten wir

wT0 Ax0 ≥ wT

0 b = (wT0 b)

T = bTw0.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 43: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 42

Da w0 ein zulässiger Punkt des dualen LPs ist, gilt ATw0 ≤ c, also (ATw0)T ≤ cT und

damitcT ≥ (ATw0)

T = wT0 (A

T )T = wT0 A,

woraus nach Multiplikation von rechts mit dem Vektors x0 insgesamt

cTx0 ≥ wT0 Ax0

folgt. □

BemerkungInsbesondere bedeutet die schwache Dualität, dass der Wert der Zielfunktion cTx0 für jedezulässige Lösung x0 des Minimierungs-Problems eine obere Schranke für den Wert derZielfunktion w∗T c in einer optimalen Lösung w∗ des dualen Maximierungs-Problems ist.

Beispiel 2.6In Beispiel 2.3 können wir sehr einfach zulässige Lösungen x = (1.5, 0)T für das primaleLP und w = (2, 0) für das duale LP finden. Die zughörigen Zielfunktionswerte sind

(1.5, 0)

(68

)= 9

und

(2, 0)

(47

)= 8

Also muss der Zielfunktionswert für eine optimale Lösung sowohl für das primale als auchdas duale LP zwischen 8 und 9 liegen. Wie wir schon ausgerechnet haben, liegt dieser Wertbei 8.4.

FolgerungGibt es zulässige Lösungen x0 des primalen Minimierungs-Problems und w0 des dualenMaximierungs-Problems mit gleichem Zielfunktionswert, d.h. ist cTx0 = bTw0, so sind x0und w0 schon optimale Lösungen.

Definition 2.4Eine Teilmenge K von Rn heisst konvex (engl. convex), wenn zu je zwei Punktenx, y ∈ K auch deren Verbindungsgerade

g : [0, 1] → Rn : t 7→ g(t) = tx+ (1− t)y

in K liegt, d.h. falls g(t) ∈ K für alle t ∈ [0, 1] gilt.

BemerkungJeder Halbraum ist eine konvexe Teilmenge des Rn. Da die Schnittmenge zweier konvexer

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 44: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 43

Mengen wieder konvex ist, ist auch die Menge aller zulässigen Lösungen eines LPs stetseine konvexe Menge.

Satz 2.3Sei K eine abgeschlossene, konvexe Teilmenge des Rn und sei b ∈ Rn. Sei p ∈ Kdie Projektion von b auf K, d.h. derjenige Punkt in K, der minimalen euklidischenAbstand ||p− b|| von b besitzt. Dann gilt

(z − p)T (b− p) ≤ 0

für alle z ∈ K.

BeweisWir können annehmen, dass b ∈ K gilt, denn sonst gilt die Aussage trivialerweise, dennin diesem Fall ist p = b. Da K konvex ist, liegen z und b auf verschiedenen Seiten derHyperebene H, die durch p geht und senkrecht auf b− p steht.

Sei α der Winkel zwischen z − p und b− p, siehe Skizze unten. Dann ist 3π/2 ≥ α ≥ π/2und es folgt (siehe Lineare Algebra II, Euklidische Vektorräume)

(z − p)T (b− p) = ||z − p|| · ||b− p|| cosα ≤ 0,

da für 3π/2 ≥ α ≥ π/2 der Kosinus kleiner oder gleich Null ist.

K

p

b

z

H

Wir können nun das wichtige Lemma von Farkas beweisen:

Satz 2.4Sei A eine m × n-Matrix mit reellen Einträgen und sei b ∈ Rm. Dann ist genau einedieser Aussagen wahr.

1. Es gibt ein x ∈ Rn mit Ax = b und x ≥ 0.

2. Es gibt ein y ∈ Rm mit AT y ≥ 0 und bT y < 0.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 45: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 44

BeweisWir nehmen an, dass beide Aussagen gleichzeitig gelten. Dann folgt aus Ax = b

yTAx = yT b.

Transponieren wir beide Seiten, so bekommen wir aus Aussage 2

xTAT y = bT y < 0.

Andererseits folgt aus x ≥ 0 und AT y ≥ 0 die Ungleichung

xTAT y ≥ 0,

was der obigen Ungleichung widerspricht. Also können nicht beide Aussagen gleichzeitiggelten.

Wir nehmen nun an, dass die erste Aussage nicht gilt. Dann müssen wir zeigen, dass diezweite Aussage gilt.

Setze K := {Ax | x ≥ 0} und b ∈ K. Die Menge K ist konvex. Sei p die Projektion von bauf K. Dann gibt es ein w ≥ 0 mit Aw = p. Gemäss Satz 2.3 gilt dann

(z − p)T (b− p) ≤ 0

für alle z ∈ K. Insbesondere gilt

(Ax− p)T (b− p) ≤ 0

für alle x ≥ 0. Setze y := p− b. Damit erhalten wir für alle x ≥ 0

(x− w)TAT y = (Ax−Aw)T y = (Ax− p)T y = (Ax− p)T (p− b) ≥ 0,

woraus wegen w ≥ 0 folgtxTAT y ≥ 0.

Setzt man sukzessive x = e1, . . . , en, so folgt

AT y ≥ 0.

Für den Beweis des Fundamentalsatz der linearen Optimierung benötigen wir noch diefolgende Variante des Lemmas von Farkas.

Satz 2.5Sei A eine m × n-Matrix mit reellen Einträgen und sei b ∈ Rm. Dann ist genau einedieser Aussagen wahr.

1. Es gibt ein x ∈ Rn mit Ax ≤ b und x ≥ 0.

2. Es gibt ein y ∈ Rm mit AT y ≥ 0, y ≥ 0 und bT y < 0.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 46: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 45

BeweisGibt es Lösungen x und y wie im Satz angegeben, so erhält man

0 ≤ xTAT y = (Ax)T y ≤ bT y < 0,

was unmöglich ist. Also kann nur eine der Aussagen des Satzes gelten. Also nehmen wiran, dass Ax ≤ b und x ≥ 0 keine Lösung besitzt. Dann besitzt auch

Ax+ z = b, x ≥ 0, z ≥ 0

keine Lösung. Setzen wir nun B = (A, Im) als die Erweiterung der Matrix A um dieEinheitsmatrix Im, so lässt sich das obige LP schreiben als

Bw = b, w ≥ 0.

Nach dem Lemma von Farkas gibt es damit ein y ∈ Rm mit

BT y ≥ 0, bT y < 0,

was gleichbedeutend ist mit

AT y ≥ 0, Imy = y ≥ 0, bT y < 0.

Nun können wir den Fundamentalsatz der linearen Optimierung formulieren:

Satz 2.6Es sei das primale LP

Av ≥ b, v ≥ 0, min cT v

und das dazu duale LP

ATw ≤ c, w ≥ 0, max bTw

gegeben.Besitzt das primale und das duale Lineare Programm zulässige Lösungen, so habenbeide Programme optimale Lösungen und es gilt

min cT v = max bTw.

BeweisNach Satz 2.2 gilt stets

min cT v ≥ max bTw.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 47: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 46

Wir nehmen zuerst an, dass sowohl das primale als auch das duale LP eine zulässigeLösung besitzt. Das primale und das duale LP haben genau dann zulässige Lösungen mitdem gleichen Zielfunktionswert, wenn das System−A

0−cT

v +

0AT

bT

w ≤

−cb0

v ≥ 0w ≥ 0

eine zulässige Lösung besitzt, denn dieses System besteht genau aus den Bestandteilen derbeiden anderen LPs. Definiert man

B :=

−A 00 AT

−cT bT

und d =

−cb0

,

so lässt sich die erste Ungleichung schreiben als

B

(vw

)≤ d.

Das obige LP besitzt nach Satz 2.5 genau dann eine zulässige Lösung, wenn das LP

BT

xyz

≥ 0

dT

xyz

< 0xyz

≥ 0

keine zulässige Lösung besitzt. Also müssen wir nachweisen, dass dieses LP keine Lösungbesitzt. Mit

BT =

(−AT 0 −c0 A b

)kann man dieses LP wieder ausschreiben und wir erhalten

−ATx− cx ≥ 0Ay + bz ≥ 0

−cTx+ bT y < 0x, y, z ≥ 0

Nehmen wir an, dieses System besitze eine Lösung (x, y, z)T . Ist z = 0, so erhält manATx ≤ 0 und Ay ≥ 0, x, y ≥ 0, was nach Satz 2.5 unmöglich ist. Also muss z > 0 sein.Nach Skalieren findet man dann auch eine Lösung mit z = 1 und man erhält

0 > −cTx+ bT y = −xT c+ yT b ≥ −xTAy + yTATx = 0,

was ebenfalls einen Widerspruch ergibt. Also hat das obige LP keine zulässige Lösung undwie sind fertig. □

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 48: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 47

2.5 Klassische Optimierungsprobleme

2.5.1 Das Transportproblem

Eine Firma besitzt m Produktionsstätten P1, . . . , Pm, in denen ein einziges Produkt herge-stellt wird, d.h. alle Produktionsstätten produzieren das gleiche Produkt. Die Firma liefertihr Produkt an n verschiedene Märkte M1, . . . ,Mn. Jede Produktionsstätte Pi kann proZeiteinheit si Stück ihres Produktes herstellen. Die Nachfrage für das Produkt im MarktMj beträgt rj . Um eine Einheit des Produkts von Pi in den Markt Mj zu liefern, fallendie Kosten cij an.

Wieviele Einheiten xij des Produktes müssen von einer Produktionsstätte Pi an den MarktMj geliefert werden, damit alle Nachfragen erfüllt werden und die Transportkosten minimalsind?

Die totalen Transportkosten ergeben sich aus der Summe aller einzelnen Transportkosten.Dies ergibt die zu minimierende Zielfunktion

m∑i=1

n∑j=1

xijcij .

Die Gesamtmenge, die von der Produktionsstätte Pi geliefert wird, ist die Summe allerLieferungen von Pi in die n Märkte, also

n∑j=1

xij .

Diese Summe darf die Produktionskapazität si nicht übersteigen, d.h. es muss

n∑j=1

xij ≤ si

gelten. Die Gesamtmenge an Produkten, die an den Markt Mj geliefert wird, ist die Summealler Lieferungen an diesen Markt, also

m∑i=1

xij .

Da die Gesamtnachfrage rj beträgt, muss

m∑i=1

xij ≥ rj

gelten. Da man keine negative Anzahl von Produkten liefern kann, bekommt man noch dieRestriktionen

xij ≥ 0

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 49: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 48

für alle i und j.

Damit ergibt sich das Transport-Problem als Minimierungs-Problem in kanonische Form:

−n∑

j=1

xij ≥ −si für 1 ≤ i ≤ m

m∑i=1

xij ≥ rj für 1 ≤ j ≤ n

xij ≥ 0 für 1 ≤ i ≤ m, 1 ≤ j ≤ n

min

m∑i=1

n∑j=1

cijxij .

Aufgabe 2Schreiben Sie das Transportproblem in Matrixform.

Aufgabe 3Beschreiben Sie das duale Transportproblem in Matrixform und geben Sie eine Interpre-tation des dualen LPs.

2.5.2 Das Zuordnungsproblem

In einer Firma gibt es n verschiedene Tätigkeiten T1, . . . , Tn, die von m verschiedenenPersonen P1, . . . , Pm ausgeführt werden können. Der Wert, den die Person Pi pro Tag beider Ausübung der Tätigkeit Tj schöpft, sei aij .

Das Optimierungs-Problem besteht nun darin, den Tätigkeiten Personen so zuzuordnen,dass die Gesamtwertschöpfung maximiert wird.

Gefragt ist also nach einer Zuordnung xij mit 1 ≤ i ≤ m und 1 ≤ j ≤ n, wobei xij denZeitanteil (1 bedeutet dabei eine Zeiteinheit, z.B. Tag, Woche, oder Monat) der Person jangibt, die diese für die Tätigkeit Pi benötigt.

Damit bekommen wir folgende Restriktionen:

1) Jede Person Pi kann maximal zu 100% arbeiten:

n∑j=1

xij ≤ 1

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 50: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 49

2) Jede Tätigkeit Tj kann maximal zu 100% erfüllt werden

m∑i=1

xij ≤ 1

3) Natürlich mussxij ≥ 0

für alle i = 1, . . . ,m und j = 1, . . . , n gelten.

Insgesamt soll die Gesamt-Wertschöpfungm∑i=1

n∑j=1

ajxij

maximiert werden.

Damit ergibt sich das Zuordnungs-Problem als Maximierungs-Problem in kanonische Form:

n∑j=1

xij ≤ 1 für 1 ≤ i ≤ m

m∑i=1

xij ≤ 1 für 1 ≤ j ≤ n

xij ≥ 0 für 1 ≤ i ≤ m, 1 ≤ j ≤ n

max

m∑i=1

n∑j=1

ajxij .

Aufgabe 4Schreiben Sie das Zuordnungsproblem in Matrixform.

Aufgabe 5Beschreiben Sie das duale Zuordnungsproblem in Matrixform und geben Sie eine Interpre-tation des dualen LPs.

2.5.3 Das Produktionsproblem

Wir hatten einen Spezialfall dieses Problems schon in Aufgabe 1. Eine Firma stellt mProdukte P1, . . . , Pm her. Jedes dieser Produkte benötigt zur Herstellung gewisse Produk-tionsschritte S1, . . . , Sn, die mit den Kosten c1, . . . , cn verbunden sind. Von Produkt Pi

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 51: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 50

sollen bi Einheiten produziert werden. Es bezeichne aij die Menge, die von Produkt Pi

durch den Produktionsschritt Sj hergestellt wird. Dann müssen die folgenden Ungleichun-gen für alle i = 1, . . . ,m erfüllt sein

n∑j=1

aijxj ≥ bi.

Das Optimierungs-Problem besteht nun darin, die Produktionskostenn∑

j=1

cjxj

zu minimieren.

Damit ergibt sich das Produktions-Problem als Minimierungs-Problem in kanonischer Form:

n∑j=1

aijxj ≥ bi für 1 ≤ i ≤ m

xj ≥ 0 für 1 ≤ j ≤ n

min

n∑j=1

cjxj .

Ökonomische Interpretation des dualen Produktionsproblem

Im oben beschriebenen primalen Produktionsproblem versucht man durch Kontrolle derverschiedenen Produktionsprozesse die Kosten zu minimieren. Die optimale Lösung desProduktionsproblems gibt an, wie die Produktionsprozesse gestaltet werden müssen, umminimale Kosten zu erhalten. Statt der Kontrolle der Produktionsprozesse könnte manauch hergehen und Stückpreise w1, . . . , wn für die Produkte P1, . . . , Pn ansetzen, wobei wirannehmen, dass dies faire Preise sind.

Da aij die Menge bezeichnet, die von Produkt Pi durch den Produktionsschritt Sj herge-stellt wird und wi der Preis für das Produkt Pi ist, kann der Ausdruck

m∑i=1

aijwi

als Preis für den Produktionsschritt Sj gedeutet werden, der auf den Produktpreisenw1, . . . , wm beruht. Ein fairer Preis kann nun so interpretiert werden, dass

m∑i=1

aijwi ≤ cj

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 52: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 2. LINEARE OPTIMIERUNG 51

gilt, d.h. der Preis für den Produktionsschritt Sj nicht höher ist als seine Kosten cj . Damitlässt sich das primale Produktionsproblem, bei dem die Gesamtkosten minimiert werden,umformulieren in ein Maximierungsproblem, welches den Gesamtgewinn

m∑i=1

wibi

maximiert. Dieses Problem ist genau das duale LP zum Produktionsproblem:

m∑i=1

aijwi ≤ cj für 1 ≤ j ≤ n

wi ≥ 0 für 1 ≤ i ≤ m

max

m∑i=1

wibi

Der Fundamentalsatz der linearen Optimierung besagt nun, dass es ein Gleichgewicht gibtzwischen den Kosten der Produktionsschritte und der Preise für die Produkte Pi, so dassdie minimalen Produktionskosten genau dem maximalen Umsatz entsprechen. Dabei ent-spricht die Zielfunktion des primalen Produktionsproblem einer Kostensicht, während dieZielfunktion des dualen LPs die optimale Preisgestaltung modelliert. Diese Preise werdenSchattenpreise oder Opportunitätskosten genannt.

In der Ökonomie werden Schattenpreise bzw. Opportunitätskosten definiert als entgangeneErlöse, die dadurch entstehen, dass vorhandene Möglichkeiten (Opportunitäten) zur Nut-zung von Ressourcen nicht wahrgenommen werden. In regulierten Märkten wie z.B. demElektrizitäts-Markt werden Schattenpreise verwendet, um die geltenden Strompreise zurechtfertigen. Schattenpreise sagen nichts über den tatsächlichen Marktpreis aus, sonderngeben in gewisser Weise den Wert des Produktes für den Hersteller an.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 53: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

Kapitel 3

Ganzzahlige Optimierung

3.1 Einführung

Definition 3.1Ein Lineares Programm

Ax ≤ b, x ≥ 0, x ∈ Z, max cTx

heisst ein ganzzahliges Lineares Programm bzw. gemischt ganzzahliges Linea-res Programm, wenn für alle bzw. mindestens für eine Komponente des Lösungs-vektors x nur ganze Zahlen erlaubt sind. Im Englischen heissen solchen ProgrammeInteger Programs (IP) bzw. Mixed Integer Programs (MIP).Hat man ein ganzzahliges Lineares Programm (L) und lässt die Bedingung, dass alleLösungen ganzzahlig sind fallen, also

Ax ≤ b, x ≥ 0, max cTx

so nennt man das so entstehende Lineare Programm die LP-Relaxierung von (L).

Während für LPs Algorithmen mit polynomialer Laufzeit existieren, sind solche für IPsund MIPs nicht bekannt. In den folgenden Abschnitten werden drei Lösungs-Verfahren fürMIPs vorgestellt.

In der Praxis sind viele Lineare Programme tatsächlich IPs oder MIPs.

52

Page 54: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 3. GANZZAHLIGE OPTIMIERUNG 53

Beispiel 3.1Wir greifen das Beispiel aus dem ersten Kapitel noch einmal auf:

y − 5/3x ≤ 0y + 7/10x ≤ 9−y − 3/5x ≤ −6−y − 2x ≤ −8y + 5/2x ≤ 35/2

mit der zu maximierenden Zielfunktion

f(x, y) = 5x+ y.

Nun verlangen wir aber zudem, dass sowohl x als auch y ganzzahlig sein sollen. Damitbekommen wir die folgenden zulässigen Punkte dargestellt in schwarz, und die optimale(n)Lösung(en) dargestellt in rot.

10 0 1 2 3 4 5 6 7 8 9

10

0

1

2

3

4

5

6

7

8

9 y=5/

3x

y=9-7/10x

P

y<=5/3x

y=6-3/5x

y=8-2x

y=35/2-5/2x

y=1/5x

optimale Lösung

y=-5x

Wie man erkennen kann, ist die optimale Lösungen des originalen LPs nicht dieselbe wiedie des IPs. Nimmt man die optimale Lösung (6.1, 2.4) des originalen LPs und vergleichtdiese mit der optimalen Lösung (5, 5) des IPs, so sieht man, dass man eine ganzzahligeoptimale Lösung nicht einfach durch Runden der Lösung des originalen LPs bekommt. Esist nicht einmal gesichert, dass das gerundete Ergebnis ein zulässige Lösung ergibt. ImBeispiel sieht man, das dies dort der Fall ist.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 55: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 3. GANZZAHLIGE OPTIMIERUNG 54

3.2 Schnittebenen-Vefahren

Eine Schnittebene im Rn wird durch eine lineare Gleichung definiert. Beim Schnittebenen-Verfahren werden so lange neue Gleichungen (also Schnittebenen) zum Original-IP (L1)hinzugefügt, bis eine ganzzahlige Lösung des relaxierten IPs (L2) von L1 gefunden wird:

Schritt 1: Löse das relaxierte lineare Programm L2

Schritt 2: Ist diese Lösung x eine zulässige Lösung des linearen Programms L1, d.h.handelt es sich um eine ganzzahlige Lösung, so ist die optimale Lösung gefunden.

Schritt 3: Suche eine Ungleichung, die von allen zulässigen Lösungen von L1 erfülltwird, nicht aber von der in Schritt 1 berechneten Lösung x. Füge diese Ungleichungzum Programm L1 hinzu und gehe zurück zu Schritt 1.

Um Schritt 3 zu bewerkstelligen hat Gomory in den 60er Jahren einen Algorithmus gefun-den, der Schnittebenen automatisch findet. Dieses Verfahren ist aber numerisch heikel unddeshalb in der Praxis nur bedingt anwendbar.

3.3 Branch-and-Bound/Branch-and-Cut-Verfahren

Das Branch-and-Bound Verfahren ist ein sehr allgemeines, exaktes Verfahren für diskreteOptimierungsprobleme. Es stammt aus den 60er Jahren. Heute basieren fast alle Opti-mierungssysteme zur Lösung von IPs und MIPs auf dem Branch-and-Bound bzw. demBranch-and-Cut Verfahren.

Das folgende Beispiel für das Branch-and-Bound-Verfahren ist von Stefan Lämmer undsoll das Branch-and-Bound-Verfahren illustrieren.

Beispiel 3.2Betrachte die zu maximierende Zielfunktion

f(x1, x2) = x1 + 2x2.

5x1 + 3x2 ≤ 15x2 ≤ 2

x1, x2 ≥ 0,

wobei x1 und x2 ganzzahlig sein sollen.

Wir benutzen folgende Notation:

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 56: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 3. GANZZAHLIGE OPTIMIERUNG 55

• Pi ist das i-te Teilproblem. Das Ursprungsproblem oben ist P0.

• P ′i ist das relaxierte Teilproblem von Pi.

• F i ist das Maximum der Zielfunktion des relaxierten Teilproblems P ′i und stellt eine

obere Schranke von Pi dar.

• F ist der höchste gefundene Zielfunktionswert einer zulässigen Lösung von P0.

Wir wenden den folgende Branch-and-Bound-Algorithmus an:

Algorithmus

Den Ablauf des Algorithmus zeigt Abbildung 1. Blocke stehen fur Aktionen, Rautenfur Entscheidungen. Mit jeder Verzweigung entstehen zwei Teilprobleme, die wir abernicht gleichzeitig abarbeiten konnen. Deshalb sehen wir eine Liste vor, in der wir nocho↵ene Probleme zwischenspeichern. Sind alle abgearbeitet, sind wir fertig.

Abbildung 1: Ablaufplan des Branch-and-Bound Algorithmus.

3

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 57: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 3. GANZZAHLIGE OPTIMIERUNG 56

Das Ursprungsproblem P0

Die gelbe Fläche ist der zulässige Bereich des relaxierten Problems P0. Die zulässigenPunkte (mit ganzzahligen Koordinaten) sind schwarz markiert.

L

¨

osung

Ursprungsproblem P0

Die Nebenbedingungen (2), (3) und die Koordinatenachsen stecken einen konvexen Be-reich in der x1-x2-Ebene ab. In diesem Bereich nennen wir genau die Punkte ‘zulassig’,die ganzzahlige Koordinaten haben, siehe Abbildung (2).

Abbildung 2: Die gelbe Flache ist der zulassige Bereich des relaxierten Problems P

00.

Die zulassigen Punkte (mit ganzzahligen Koordinaten) sind blau mar-kiert.

Weiterhin weist eine Zielfunktion (1) jedem Punkt (x1, x2) in der Ebene einen WertF zu. Interpretiert man F als die dritte raumliche Dimension, kann man sich einDach vorstellen, dessen Hohe uber dem Punkt (x1, x2) dem Zielfunktionswert F (x1, x2)entspricht. Ist, wie hier, die Zielfunktion linear, ist das Dach eine Ebene. Abbildung 3versucht, dies zu veranschaulichen.

Abbildung 3: Den Zielfunktionswert F (x1, x2) kann man sich als die Hohe eines Dachesuber der x1-x2-Ebene vorstellen.

4

Die Zielfunktion weist jedem Punkt (x1, x2) in der Ebene einen Wert F (x1, x2) zu. In-terpretiert man F (x1, x2) als die dritte räumliche Dimension, so erhält man die folgendeVeranschaulichung:

L

¨

osung

Ursprungsproblem P0

Die Nebenbedingungen (2), (3) und die Koordinatenachsen stecken einen konvexen Be-reich in der x1-x2-Ebene ab. In diesem Bereich nennen wir genau die Punkte ‘zulassig’,die ganzzahlige Koordinaten haben, siehe Abbildung (2).

Abbildung 2: Die gelbe Flache ist der zulassige Bereich des relaxierten Problems P

00.

Die zulassigen Punkte (mit ganzzahligen Koordinaten) sind blau mar-kiert.

Weiterhin weist eine Zielfunktion (1) jedem Punkt (x1, x2) in der Ebene einen WertF zu. Interpretiert man F als die dritte raumliche Dimension, kann man sich einDach vorstellen, dessen Hohe uber dem Punkt (x1, x2) dem Zielfunktionswert F (x1, x2)entspricht. Ist, wie hier, die Zielfunktion linear, ist das Dach eine Ebene. Abbildung 3versucht, dies zu veranschaulichen.

Abbildung 3: Den Zielfunktionswert F (x1, x2) kann man sich als die Hohe eines Dachesuber der x1-x2-Ebene vorstellen.

4

Starten wir mit dem Algorithmus. Das erste Teil-Problem, das wir betrachten, ist dasUrsprungsproblem P0. Die untere Schranke F setzen wir zu Beginn auf −∞. Nun kommtdie erste Entscheidung: Ist der Lösungsraum leer? Nein, denn der Punkt (0, 0) ist einezulässige Lösung. Jetzt muss das Optimum des relaxierten Problems P ′

0 berechnet werden.Das Optimum liegt im Punkt (9/5, 2) und ist F (9/5, 2) = 29/5 . Wir setzen nun die obereSchranke F 0 := 29/5. Wir wissen, dass damit F 0 ≤ F ist. Der Punkt (9/5, 2) ist keinezulässige Lösung. Also gibt es in P0 mindestens eine zulässige Lösung, die mindestens

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 58: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 3. GANZZAHLIGE OPTIMIERUNG 57

so gut ist wie die bisher beste Gefundene (0, 0), aber wir kennen sie noch nicht. Deshalbunterteilen wir das Problem in zwei einander ausschliessende Teilprobleme und suchen dortweiter.

Dazu trennen wir den Lösungsraum mit einem Schnitt, der durch das Optimum von P ′0

verläuft und genau eine Dimension teilt. Aber welche der beiden Dimensionen soll ge-nommen werden? Wir wählen die aus, wo die Optimalstelle am weitesten in der Mittezwischen den neuen Rändern liegt. Man kann auch sagen: Wo der kürzeste Abstand derentsprechenden Koordinate der Optimalstelle zur nächsten ganzen Zahl am grössten ist. ImBeispiel wird die bzgl. x1 getrennt. Für die neuen Teilbereiche gelten damit die zusätzlicheNebenbedingungen:

x1 ≤ 1 bzw. x1 ≥ 2.

Die beiden neuen Teilprobleme P1 (bzgl. x1 ≤ 1) und P2 (bzgl. x1 ≥ 2) legen wir in dieListe ab, d.h. wir merken sie für die weitere Bearbeitung vor. Die neuen Teilbereiche sindin der Abbildung unten zu sehen

Teilproblem P1

Als Nachstes wahlen wir eins der beiden Teilprobleme aus der Liste aus. Nehmen wirP1 und beginnen im Ablaufdiagramm wieder ganz oben. Ist der Losungsraum leer?Nein. Das Optimum des relaxierten Teilproblems P

01 finden wir bei F (1, 2) = 5, womit

die obere Schranke F 1 := 5 belegt wird. Ist F 1 F , also �1? Sicher nicht, alsoweiter nach unten. Ist F 1 zulassig? Ja, die Koordinaten sind ganzzahlig! Wir habenauf einen Schlag das zulassige Optimum von P1 gefunden! Das merken wir uns undsetzen F := 5. Das Problem P1 ist nach Fall b ausgelotet und wir konnen es aus derListe steichen. Ist die Liste leer? Nein, da liegt noch P2.

Abbildung 5: Das Problem P1 ließ sich nicht ausloten und wird deshalb in zwei Teil-probleme P1 und P2 zerlegt.

Teilproblem P2

Wir nehmen P2 und beginnen wieder ganz oben. Ist der Losungsraum leer? Nein. DasOptimum von P

02 ist F (2,

53 ) = 16

3 , und wir weisen es F 2 := 163 zu. Weil F 2 nicht kleiner

ist als F , steigen wir im Ablaufdiagramm weiter nach unten hinab. Und, nein, F 2 istnicht zulassig. Deshalb verzweigen wir wieder. Diesmal schneiden wir, wie Abbildung6 zeigt, die Dimension x2.

P3 : x2 1 (7)P4 : x2 � 2 (8)

P3 und P4 legen wir in die gerade leer gewordene Liste. Nun wahlen wir P3 aus.

Teilproblem P3

Nein, der Losungsraum ist nicht leer. Das Optimum von P

03 liegt bei F ( 12

5 , 1) = 225 , also

F 3 := 225 . Halt, das ist schlechter als unsere beste bisher bekannte Losung, namlich die

untere Schranke F = 5. Wenn uns also schon das Optimum des relaxierten ProblemsP

03 nicht zufrieden stellt, dann erst recht nicht die zulassigen (ganzzahligen) Losungen

von P3. Das Teilproblem brauchen wir nicht weiter zu betrachten, es ist nach Fall aausgelotet. Im Ablaufdiagramm beantworten wir die Frage ‘F 3 F ?’ mit nein undsteichen das Teilproblem aus der Liste. Nun liegt dort nur noch P4.

6

Teilproblem P1

Nun wählen wir das erste der beiden Teilprobleme aus der Liste aus. Wir beginnen imAblaufdiagramm wieder ganz oben. Ist der Lösungsraum leer? Nein. Das Optimum desrelaxierten Teilproblems P ′

1 finden wir für F (1, 2) = 5, womit die obere Schranke F 1 = 5gesetzt wird. Ist F 1 ≤ F = −∞? Nein. Ist (1, 2) zulässig? Ja, denn die Koordinatensind schon ganzzahlig. Wir haben also auf einen Schlag das zulässige Optimum von P1

gefunden! Das merken wir uns und setzen F = 5. Das Problem P1 ist damit ausgelotet undwir können es aus der Liste streichen. Ist die Liste leer? Nein, da P2 darin vorkommt.

Teilproblem P2

Wir nehmen P2 und beginnen wieder ganz oben im Flussdiagramm. Ist der Lösungsraumleer? Nein. Das Optimum von P ′

2 ist F (2, 5/3) = 16/3 und wir setzen F 2 = 16/3 zu. WeilF 2 nicht kleiner ist als F , steigen wir im Ablaufdiagramm weiter nach unten. Der Punkt(2, 5/3)ist nicht zulässig. Deshalb verzweigen wir wieder. Diesmal schneiden wir, wie dieAbbildung unten zeigt, die Dimension x2:

P3 : x2 ≤ 1 bzw. P4 : x2 ≥ 2.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 59: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 3. GANZZAHLIGE OPTIMIERUNG 58

Die Teilprobleme P3 und P4 legen wir in die gerade leer gewordene Liste. Nun wählen wirP3 aus.

Abbildung 6: Die Teilprobleme P3 und P4 entstehen durch Verzweigung von P2. Wieman hier sieht, vertragt sich der Losungsraum von P4 nicht mit denursprunglichen Nebenbedingungen.

Teilproblem P4

Jedes Teilproblem ‘erbt’ die Nebenbedingungen des Problems, aus dem es hervorging.Und mit jeder Verzweigung kommt eine neue Nebenbedingung hinzu. Fur dieses Teil-problem gelten unter anderem Gl. (2) aus P0, Gl. (6) aus P2 und Gl. (8) als neueNebenbedingung. Genau diese schließen sich jedoch aus! Wie man auch in Abbildung6 sieht, gibt es keinen Punkt in der gesamten x1-x2-Ebene, der alle drei erfullt.

Im Ablaufdiagramm beantworten wir also schon die erste Frage mit ja, und dasTeilproblem ist nach Fall c augelotet.

Weil in der Liste kein weiteres Teilproblem mehr liegt, sind wir fertig! Das Opti-mum des Ursprungsproblems P0 liegt im Punkt (1, 2) und hat den ZielfunktionswertF (1, 2) = 5.

L

¨

osungsbaum

Der Losungsbaum zeigt die Verzweigungen des Ursprungsproblems P0 in seine Teil-probleme Pi. Mit jeder Verzweigung entstehen zusatzliche Nebenbedingungen, die andie Pfeile geschrieben sind. Neben den Knoten stehen die oberen Schranken F i desdazugehorigen Teilproblems Pi und die untere Schranke F . Ist ein Teilproblem nacheinem der drei Falle a, b oder c ausgelotet, braucht der Ast nicht weiter verzweigt zuwerden. Sind alle Teilprobleme ausgelotet, findet sich das Optimum bei F .

7

Teilproblem P3

Der Lösungsraum von P3 ist nicht leer. Das Optimum von P ′3 liegt bei F (12/5, 1) = 22/5,

also F 3 = 22/5 . Dies ist aber kleiner als unsere beste bisher bekannte Lösung, nämlichdie untere Schranke F = 5. Wenn uns also schon das Optimum des relaxierten ProblemsP ′3 nicht zufrieden stellt, dann erst recht nicht die zulässigen (ganzzahligen) Lösungen von

P3. Das Teilproblem brauchen wir also nicht weiter zu betrachten. Im Ablaufdiagrammbeantworten wir die Frage F 3 ≤ F ? mit Nein und streichen das Teilproblem aus der Liste.Nun liegt dort nur noch Teilproblem P4.

Teilproblem P4

Jedes Teilproblem erbt die Nebenbedingungen des Problems, aus dem es hervorging. Undmit jeder Verzweigung kommt eine neue Nebenbedingung hinzu. Für dieses Teilproblemgelten unter anderem die Nebenbedingungen 3x1 + 5x2 ≤ 15, x2 ≤ 2 aus P0, x1 ≥ 2 ausP2 und x2 ≥ 2 als neue Nebenbedingung. Genau diese schliessen sich jedoch aus! Wieman auch in der Abbildung sieht, gibt es keinen Punkt in der gesamten Ebene, der alleBedingungen erfüllt. Im Ablaufdiagramm beantworten wir also schon die erste Frage mitJa, und das Teilproblem ist damit augelotet.

Weil in der Liste kein weiteres Teilproblem mehr ist, sind wir fertig! Das Optimum desUrsprungsproblems P0 liegt somit im Punkt (1, 2) und hat den Zielfunktionswert F (1, 2) =5.

Lösungsbaum

Der Lösungsbaum zeigt die Verzweigungen des Ursprungsproblems P0 in seine Teilproble-me Pi. Mit jeder Verzweigung entstehen zusätzliche Nebenbedingungen, die an die Pfeilegeschrieben sind. Neben den Knoten stehen die oberen Schranken F i des dazugehörigenTeilproblems Pi und die untere Schranke F . Ist ein Teilproblem nach einem der drei Fällea, b oder c ausgelotet, braucht der Ast nicht weiter verzweigt zu werden. Sind alle Teilpro-bleme ausgelotet, findet sich das Optimum bei F .

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 60: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 3. GANZZAHLIGE OPTIMIERUNG 59

Abbildung 7: Die Verzweigungsstruktur des Ursprungsproblems P0.

Literatur

[DD02] Wolfgang Domschke and Andreas Drexl. Einfuhrung in Operations Research.Springer, 2002.

[Dom97] Wolfgang Domschke. Logistik, Band.2, Rundreisen und Touren. Oldenbourg,1997.

[HL97] Frederick S. Hillier and Gerald J. Lieberman. Operations Research. Olden-bourg, 1997.

[MM92] Heiner Muller-Merbach. Operations Research. Vahlen, 1992.

[]

8

Kombiniert man den Branch-and-Bound-Prozess mit dem Schnittebenen-Verfahren, sokommt man zum Branch-and-Cut-Verfahren. Man sucht als erstes möglichst vieleSchnittebenen, bis keine solche mehr gefunden werden. Ist dies der Fall, wird ein Branch-and-Bound-Prozess gestartet. Bei den Teilproblemen werden nun Schnittebenen hinzuge-fügt und danach wieder ein Branch-and-Bound-Prozess durchgeführt. Dieses Verfahrenwird iterativ fortgeführt, bis eine Lösung gefunden wird.

Dadurch, dass vor dem Branch-and-Bound-Prozess schon Schnittebenen zur LP-Relaxie-rung hinzugefügt wurden, findet das Branch-and-Cut-Verfahren oft sehr viel schneller eineLösung, als wenn der Branch-and-Bound-Baum auf der ursprünglichen LP-Relaxierungaufgebaut wird. Darüber hinaus können oft auch während des Branchings weitere Schnitt-ebenen bestimmt werden, die man ohne die Einschränkungen in den Teilproblemen nichtgefunden hätte. Diese Schnittebenen können entweder global gültig, also für das ursprüng-liche Problem zulässig, oder lokal gültig, also nur für den aktuellen Teilbaum mit seinenEinschränkungen zulässig sein.

3.4 Lagrange-Relaxierung

Die Lagrange-Relaxation spielt in vielen Bereichen der kombinatorischen Optimierung ei-ne wichtige Rolle. Sie bildet die Grundlage von Algorithmen, die heute mit Abstand zuden effizientesten für ihre Problemklasse gehören. Grundlage der Lagrange-Relaxation istdie Annahme, dass jedes Modell eine Struktur aufweist und insbesondere Teilstrukturendarin vorhanden sind, für die es effiziente Algorithmen gibt. Man möchte nun diese Tatsa-che ausnutzen, indem man die Restriktionen entfernt, die diese Modellstruktur zerstören.Eine klassische Methode, um dies zu erreichen, ist die Verwendung von Strafkosten: DieVerletzung jeder entfernten Restriktion wird mit Strafkosten bewertet und entsprechendin die Zielfunktion aufgenommen. Man erwartet von einem solchen Verfahren, dass sehrhohe Strafkosten dazu führen, dass die entfernten Restriktionen eingehalten werden. DerNachteil sehr hoher Strafkosten ist aber, dass der eigentliche Gewinn, den man maximie-ren möchte, keine Rolle mehr spielt und dass nur noch nach einer Lösung gesucht wird,

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 61: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 3. GANZZAHLIGE OPTIMIERUNG 60

die keine Strafkosten aufweist. Ein zentrales Problem der Lagrange-Relaxation ist also dieBestimmung der Strafkosten.

Für das LP

Av ≤ b, v ≥ 0, max cT v

mit einer m× n-Matrix A kann man die Nebenbedingungen Av ≤ b aufspalten in

A1v ≤ b1 und A2v ≤ b2,

wobei A1 eine m1×n-Matrix und A2 eine m3×n-Matrix ist und m1+m2 = m gilt. Dannmodifiziert man die Zielfunktion durch

cT v + λT (b2 −A2v),

wobei λT = (λ1, . . . , λm2) ≥ 0 ein beliebig gewählter Vektor ist. Damit erhalten wir dieLagrange-Relaxierung

A1v ≤ b1, v ≥ 0, max cT v + λT (b2 −A2v)

des Original-LPs. Die neue Zielfunktion drückt dabei aus, dass man bestraft wird, wennman die Bedingung A2v ≤ b2 verletzt. Zudem wird man dafür belohnt, wenn A2v < b2 gilt.Der Term λT (b2 −A2v) werden die Strafkosten genannt. Durch Variation des Gewichts-Vektors λ kann ein iteratives Verfahren angegeben werden, welches sukzessive Lösungenberechnet, die gegen eine optimale Lösung des Original-Problems konvergieren.

3.5 Klassische ganzzahlige Optimierungsprobleme

3.5.1 Das Mengenüberdeckungsproblem

Beim Mengenüberdeckungsproblem ist die Frage, ob zu einer Menge M und n TeilmengenSi von M und einer natürlichen Zahl k ≤ n eine Vereinigung von k oder weniger Teilmen-gen Si existiert, deren Vereinigung U ergibt (Überdeckung), also U = S1 ∪ · · · ∪ Sk. AlsOptimierungsproblem formuliert werden den Teilmengen Si Kosten ci zugeordnet und manist an einer Überdeckung mit minimalen Kosten interessiert.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 62: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 3. GANZZAHLIGE OPTIMIERUNG 61

Das IP kann wie folgt formuliert werden:

n∑i=1m∈Si

xi ≥ 1 für alle m ∈ M

xi ≥ 0 für 1 ≤ i ≤ n

xi ≤ 1 für 1 ≤ i ≤ n

xi ganzzahlig

min

n∑i=1

xici.

Dabei bestimmt die Entscheidungsvariable xi, ob die Menge Si verwendet wird (xi = 1)oder nicht (xi = 0). Die Ungleichungen beschreiben dabei den Sachverhalt, dass jedesElement der Menge M in mindestens einer der ausgewählten Mengen Si sein muss.

Beispiel 3.3In einem Kanton gibt es 6 grössere Städte. Der Kanton muss entscheiden, in welchen dersechs Städte er Feuerwehren einrichten soll. Die Aufgabe ist es, mit möglichst wenigenFeuerwehrstationen den Kanton so abzudecken, dass jede der Städte innerhalb von 15Minuten von der Feuerwehr erreicht werden kann. Die Fahrzeiten zwischen den Städtensind durch unterstehende Tabelle gegeben:

Stadt 1 2 3 4 5 61 0 10 20 30 30 202 10 0 25 35 20 103 20 25 0 15 30 204 30 35 15 0 15 255 20 20 30 15 0 146 30 10 20 25 14 0

Wir definieren 6 Entscheidungsvariable x1, . . . , x6, wobei xi = 1 ist, wenn in der Stadti eine Feuerwehr eingerichtet werden soll, und xi = 0 ist, wenn nicht. Aus der obigenTabelle müssen wir nun die Nebenbedingungen herauslesen. Dazu stellen wir eine Tabelleauf, welche Städte andere Städte innerhalb von 15 Minuten erreicht werden können:

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 63: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 3. GANZZAHLIGE OPTIMIERUNG 62

Stadt erreicht Stadt i in 15 Minuten zugehörige Ungleichung1 1, 2 x1 + x2 ≥ 12 1, 2, 6 x1 + x2 + x6 ≥ 13 3, 4 x3 + x4 ≥ 14 3, 4, 5 x3 + x4 + x5 ≥ 15 4, 5, 6 x4 + x5 + x6 ≥ 16 2, 5, 6 x2 + x5 + x6 ≥ 1

Die Zielfunktion ist gegeben durch die Summe x1 + · · ·+ x6.

Damit erhalten wir das folgende IP:

x1 + x2 ≥ 1

x1 + x2 + x6 ≥ 1

x3 + x4 ≥ 1

x3 + x4 + x5 ≥ 1

x4 + x5 + x6 ≥ 1

x2 + x5 + x6 ≥ 1

xi ≥ 0 für 1 ≤ i ≤ n

xi ≤ 1 für 1 ≤ i ≤ n

xi ganzzahlig

min6∑

i=1

xi.

Die optimale Lösung lautet

x2 = x4 = 1, x1 = x3 = x5 = x6 = 0,

d.h. es müssen nur in den Städten 2 und 4 eine Feuerwehr gebaut werden.

3.5.2 Das Mengenpackungsproblem

Beim Mengenpackungsproblem wird die Frage behandelt, ob zu einer endlichen Menge Mund n Teilmengen Si von M und einer natürlichen Zahl k ≤ n eine Anzahl von mindestens

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 64: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 3. GANZZAHLIGE OPTIMIERUNG 63

k Teilmengen Si existiert, die paarweise disjunkt (leeren Durchschnitt) sind. Als Optimie-rungsproblem formuliert werden den Teilmengen Si Gewinne ci zugeordnet und man istan einer Packung mit maximalem Gewinn interessiert.

Das IP kann wie folgt formuliert werden:

n∑i=1m∈Si

xi ≤ 1 für alle m ∈ M

xi ≥ 0 für 1 ≤ i ≤ n

xi ≤ 1 für 1 ≤ i ≤ n

xi ganzzahlig

max

n∑i=1

xici.

Dabei bestimmt die Entscheidungsvariable xi, ob die Menge Si verwendet wird (xi = 1)oder nicht (xi = 0). Die Ungleichungen beschreiben dabei den Sachverhalt, dass jedesElement der Menge M in höchstens einer der ausgewählten Mengen Si sein darf.

Wie man sieht, ist dieses Mengenpackungsproblem das zum Mengenüberdeckungsproblemduale Problem (falls alle Kosten ci = 1 gewählt werden).

Beispiel 3.4Auf einem internationalen Kongress sprechen alle Teilnehmer Englisch und eine oder meh-rere andere Sprachen. Auf diesem Kongress will man nun zu einer möglichst grossen Gruppevon Teilnehmern sprechen. Allerdings vertrauen sich die Kongress-Teilnehmer nicht, wasbedeutet, dass man nach einer möglichst grossen Gruppe von Teilnehmern sucht, die sichuntereinander nicht (auch nicht paarweise) in einer Sprache unterhalten können, die manselbst nicht versteht.

3.5.3 Das Mengenpartitionsproblem

Das Mengenpartitionsproblem kombiniert die beiden Probleme Mengenüberdeckung undMengenpackung.

Es wird also Frage betrachet, ob zu einer endlichen Menge M und n Teilmengen Si von Mund einer natürlichen Zahl k ≤ n eine Anzahl von mindestens k Teilmengen Si existiert, diepaarweise disjunkt (leeren Durchschnitt) sind und zusammen die ganze Menge M ergeben.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 65: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 3. GANZZAHLIGE OPTIMIERUNG 64

Als Optimierungsproblem formuliert werden den Teilmengen Si Kosten ci zugeordnet undman ist an einer Packung mit minimalen Kosten interessiert.

Das IP kann wie folgt formuliert werden:

n∑i=1m∈Si

xi = 1 für alle m ∈ M

xi ≥ 0 für 1 ≤ i ≤ n

xi ≤ 1 für 1 ≤ i ≤ n

xi ganzzahlig

min

n∑i=1

xici.

Dabei bestimmt die Entscheidungsvariable xi, ob die Menge Si verwendet wird (xi = 1)oder nicht (xi = 0). Die Gleichungen beschreiben dabei den Sachverhalt, dass jedes Elementder Menge M in genau einer der ausgewählten Mengen Si sein muss.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 66: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

Kapitel 4

Optimierungsprobleme auf Graphen

4.1 Graphen

Dieses Kapitel ist eine Sammlung von Definitionen aus der Graphentheorie, die in denspäteren Abschnitten benötigt werden. Man kann diesen Abschnitt auch überspringen undje nach Bedarf lesen.

Definition 4.1Ein ungerichteter Graph (engl. undirected graph) ist ein Paar

G = (V,E),

wobei V eine endliche Menge und E eine Menge von ungeordneten Paaren von Ele-menten aus V ist. Die Elemente von V werden als die Knoten (engl. nodes, vertices)und die Elemente von E als die Kanten (engl. edges) von G bezeichnet.Eine Kante e ∈ E ist also ein ungeordnetes Paar e = {v, w} von Knoten v, w ∈ V .Für eine Kante e = {v, w} ∈ E werden v und w die Endknoten (engl. extremities)von e genannt, v und w werden als benachbart oder adjazent (engl. adjacent)bezeichnet, w (bzw. v) wird als Nachbar von v (bzw. w) bezeichnet, und es wirdgesagt, dass e die Knoten v und w verbindet.Man sagt auch, dass e inzident (engl. incident) ist mit v und w bzw. v und winzident sind mit e.Eine Kante der Form e = {v, v}, d.h. mit identischen Endknoten, heisst Schlinge(engl. loop). Ein schlichter Graph (engl. simple graph) ist ein Graph ohne Schlin-gen.

65

Page 67: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 66

Definition 4.2a) Die Adjazenzmatrix (engl. adjacency matrix ) eines Graphen G = (V,E) isteine quadratische (symmetrische) Matrix A = (avw)v,w∈V mit |E| vielen Zeilen undSpalten, deren Elemente gegeben sind durch

avw =

{1, falls {v, w} ∈ E

0, sonst

b) Die Inzidenzmatrix (engl. incidence matrix ) eines Graphen G = (V,E) ist eineMatrix A = (ave)v∈V,e∈E mit |V | vielen Zeilen und |E| vielen Spalten, deren Elementegegeben sind durch

aev =

{1, falls e inzident mit v

0, sonst

Definition 4.3Sei G = (V,E) ein Graph und v ∈ V ein Knoten, S ⊆ V eine Knotenmenge.a) Der Grad oder Valenz deg(v) (engl. degree) von v ist die Anzahl Kanten, welchemit v inzident sind.b) Der Knoten v heisst isoliert, falls deg(v) = 0, und hängend, falls deg(v) = 1 ist.c) Die Menge

δ(S) = {{v, w} ∈ E | v ∈ S,w ∈ V \S}

heisst die Menge der aus S hinausführenden Kanten.d) Die Menge

γ(S) = {{v, w} ∈ E | v, w ∈ S}

heisst die Menge der in S liegenden Kanten.

BemerkungEs gilt deg(v) = |δ(v)|.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 68: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 67

Definition 4.4a) Ein Graph G′ = (V ′, E′) ist ein Subgraph (engl. subgraph) von G = (V,E), fallsV ′ ⊆ V und E′ ⊆ E.b) Für V ′ = V heisst G′ ein aufspannender Subgraph (engl. spanning subgraph)von G.c) Falls E′ = γ(V ′) gilt, so heisst G′ ist der durch die Knotenmenge V ′ induzierteSubgraph von G. Man schreibt dann G′ = G[V ′].

Definition 4.5a) Ein Kantenzug (engl. walk) in einem Graphen G = (V,E) ist eine alternierendeFolge von Knoten und Kanten der Form

P = (v0, e1, v1, e2, v2, . . . , ek, vk),

wobei k ≥ 0, vi ∈ V für i = 0, . . . , k und ei = (vi−1, vi) ∈ E für i = 1, . . . , k.Falls keine Missverständnisse möglich sind, wird ein Kantenzug oft kurzerhand iden-tifiziert durch den zugehörigen Subgraphen GP = (VP , EP ) mit VP = {v0, v1, . . . , vk}und EP = {e1, e2, . . . , ek}, oder auch nur durch die Knotenmenge VP oder die Kan-tenmenge EP .b) Es wird gesagt, dass P die Knoten v0 und vk verbindet und dass P von v0 (bzw.von vk) nach vk (bzw. von v0) führt. Die Anzahl k der Kanten wird auch als die Längevon P bezeichnet.c) Der Kantenzug P heisst geschlossen, falls v0 = vk, und andernfalls offen.d) P ist ein einfacher Kantenzug (engl. simple walk), falls abgesehen von den End-knoten v0 und vk alle Knoten nur einmal vorkommen.e) Ein offener, einfacher Kantenzug ist ein Weg (engl. path), und ein geschlossener,einfacher Kantenzug ein Kreis (engl. circuit).f) Ein Graph ohne Kreise heisst azyklisch (engl. acyclic).

BemerkungBeachte, dass ein Graph, welcher einen offenen (bzw. geschlossenen) Kantenzug P von v0nach vk enthält, stets auch einen Weg (bzw. einen Kreis) P ′ von v0 nach vk enthält mit

V ′P ⊆ VP und E′

P ⊆ EP .

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 69: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 68

Definition 4.6a) Ein Graph G = (V,E) heisst zusammenhängend (engl. connected), falls jedesKnotenpaar v, w ∈ V durch einen Weg verbunden ist.b) Eine Zusammenhangskomponente (engl. connected component) von G istein zusammenhängender, induzierter Subgraph G[V ′] mit V ′ = ∅, welcher bezüglichder Knotenmenge maximal ist, d.h. G[V ′] ist zusammenhängend und es existiert keinzusammenhängender induzierter Subgraph G[V ′′] mit V ′ ⊆ V ′′.

Definition 4.7a) Ein Baum (engl. tree) ist ein zusammenhängender, azyklischer Graph.b) Ein Wald (engl. forest) ist azyklischer Graph, d.h. ein Graph, dessen KomponentenBäume sind.c) Ein Gerüst (engl. spanning tree) in einem Graphen G ist ein aufspannenderSubgraph von G, welcher ein Baum ist.

Institut für Datenanalyse und Prozessdesign IDPZürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2008© A. Klinkert, H. Gröflin 3

3.1.1 Definitionen

• Ein Gerüst („spanning tree“) in G ist ein Baum in G, welcher alle Knoten von G umfasst.

18

5

2

79

6

3

4

10

0

G1

8

5

2

79

6

3

4

10

0

18

5

2

79

6

3

4

10

0

ein Gerüst

Definition 4.8Ein bipartiter Graph (engl. bipartite graph) ist ein Graph G = (V,E), dessenKnotenmenge sich aufteilen lässt in zwei disjunkte Mengen S, T ⊆ V , so dass jedeKante einen Endknoten in S und den andern Endknoten in T hat, d.h. dass gilt

E ⊆ {(v, w) | v ∈ S,w ∈ T} :

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 70: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 69

Definition 4.9Ein Graph G = (V,E) heisst vollständig (engl. complete), falls jedes Knotenpaarmit einer Kante verbunden ist, d.h. falls gilt

E = {(i, j) | i, j ∈ V, i < j} .

BemerkungEs gilt |E| = |V |(|V |1)/2.

Definition 4.10Sei V ′ ⊆ V eine Knotenmenge eines Graphen G = (V,E).a) Die Knotenmenge V ′ heisst Clique (engl. clique), falls G[V ′] vollständig ist.b) Die Knotenmenge V ′ heisst eine unabhängige Menge (engl. stable set), fallsG[V ′] eine leere Kantenmenge hat.c) Eine Kantenmenge E′ ⊆ E heisst Matching (engl. matching), falls keine zweiKanten aus E′ einen gemeinsamen Endknoten haben.

BemerkungIn einer Clique ist jedes Knotenpaar adjazent, und in einer unabhängigen Menge ist jedesKnotenpaar nicht adjazent.

Beispiel 4.1Wir betrachten den folgenden Graphen G = (V,E).

BEGRIFFE UND NOTATIONEN 11

Die Adjazenzmatrix von G ist gegeben durch

0

BBBBBBBB@

0 1 1 1 0 0 01 0 1 0 0 0 01 1 0 0 0 0 01 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 10 0 0 0 0 1 0

1

CCCCCCCCA

und die Inzidenzmatrix durch 0

BBBBBBBB@

1 1 1 0 01 0 0 1 00 1 0 1 00 0 1 0 00 0 0 0 00 0 0 0 10 0 0 0 1

1

CCCCCCCCA

wobei die Kanten hier in lexikographischer Reihenfolge angeordnet sind, d.h.

E = {(1, 2), (1, 3), (1, 4), (2, 3), (6, 7)}

Bezuglich der Knotengrade in G gilt beispielsweise deg(1) = 3, deg(2) = 2, deg(6) = 1und deg(5) = 0. Die Menge der hangenden Knoten von G ist gegeben durch {4, 6, 7} unddie Menge der isolierten Knoten durch {5}.Fur die Knotenmenge S = {1, 3, 4} gilt �(S) = {(1, 2), (2, 3)} und �(S) = {(1, 3), (1, 4)},fur S = {6, 7} gilt �(S) = ; und �(S) = {(6, 7)}, und fur den Knoten v = 1 gilt�(v) = {(1, 2), (1, 3), (1, 4)}.Ein Subgraph von G ist beispielsweise gegeben durch G0 = (V 0, E 0) mit V 0 = {1, 2, 3}und E 0 = {(1, 3), (2, 3)}. Beachte, dass beispielsweise G0 = (V 0, E 0) mit V 0 = {1, 2} undE 0 = {(1, 3), (2, 3)} kein Graph und somit auch kein Subgraph von G ist.

Der Subgraph G0 = (V 0, E 0) mit V 0 = {1, 2, . . . , 7} und E 0 = {(1, 2), (1, 3), (6, 7)} istein aufspannender Subgraph von G. Der durch die Knotenmenge V 0 = {1, 2, 4, 5, 6, 7}induzierte Subgraph ist gegeben durch G[V 0] = (V 0, E 0) mit E 0 = {(1, 2), (1, 4), (6, 7)}.

Abbildung 1: Ungerichteter Graph

1. Die Knotenmenge V besteht aus den 7 Knoten

V = {1, 2, . . . , 7}

und die Kantenmenge E besteht aus den Mengen

E = {{1, 2}, {1, 3}, {1, 4}, {2, 3}, {6, 7}}.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 71: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 70

2. Die Adjazenzmatrix von G ist gegeben durch

0 1 1 1 0 0 01 0 1 0 0 0 01 1 0 0 0 0 01 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 10 0 0 0 0 1 0

und die Inzidenzmatrix durch

1 1 1 0 01 0 0 1 00 1 0 1 00 0 1 0 00 0 0 0 00 0 0 0 10 0 0 0 1

,

wobei die Kanten in lexikographischer Reihenfolge angeordnet sind, d.h.

E = {{1, 2}, {1, 3}, {1, 4}, {2, 3}, {6, 7}}.

3. Bezüglich der Knotengrade in G gilt beispielsweise

deg(1) = 3, deg(2) = 2, deg(6) = 1, deg(5) = 0.

Die Menge der hängenden Knoten von G ist gegeben durch

{4, 6, 7}

und die Menge der isolierten Knoten durch

{5}.

4. Für die Knotenmenge S = {1, 3, 4} gilt

δ(S) = {{1, 2}, {2, 3}} und γ(S) = {{1, 3}, {1, 4}},

für S = {6, 7} giltδ(S) = ∅ und γ(S) = {{6, 7}}.

Für den Knoten v = 1 gilt

δ(v) = {{1, 2}, {1, 3}, {1, 4}}.

5. Ein Subgraph von G ist beispielsweise gegeben durch

G′ = (V ′, E′) mit V ′ = {1, 2, 3} und E′ = {{1, 3}, {2, 3}}.

Beachte, dass

G′ = (V ′, E′) mit V ′ = {1, 2} und E′ = {{1, 3}, {2, 3}}

kein Graph und somit auch kein Subgraph von G ist.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 72: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 71

6. Der Subgraph

G′ = (V ′, E′) mit V ′ = {1, 2, . . . , 7} und E′ = {{1, 2}, {1, 3}, {6, 7}}

ist ein aufspannender Subgraph von G.

7. Der durch die Knotenmenge V ′ = {1, 2, 4, 5, 6, 7} induzierte Subgraph ist gegebendurch

G[V ′] = (V ′, E′) mit E′ = {{1, 2}, {1, 4}, {6, 7}}.

8. Ein Kantenzug in G ist beispielsweise gegeben durch

P1 = (v0, e1, . . . vk) = (4, {4, 1}, 1, {1, 3}, 3, {3, 2}, 2, {2, 1}, 1, {1, 4}, 4).

Der Kantenzug P1 ist ein geschlossener, nicht einfacher Kantenzug der Länge k = 5.

9. Ein Weg der Länge k = 3 ist etwa gegeben durch

P2 = (v0, e1, . . . vk) = (4, {4, 1}, 1, {1, 3}, 3, {3, 2}, 2)

und ein Kreis der Länge k = 3 durch

P3 = (v0, e1, . . . vk) = (1, {1, 3}, 3, {3, 2}, 2, {2, 1}, 1).

Der Graph G ist somit nicht azyklisch.

10. G ist nicht zusammenhängend, da beispielsweise die Knoten 5 und 6 nicht miteinan-der durch einen Weg verbunden sind. G besteht aus 3 Komponenten

Ki = G[Vi], i = 1, 2, 3 mit V1 = {1, 2, 3, 4}, V2 = {5}, V3 = {6, 7}.

11. Die Komponenten K2 und K3 sind Bäume und bilden zusammen einen Wald. DieKom- ponente K1 ist kein Baum, da sie einen Kreis enthält.

12. Der von der Knotenmenge V ′ = {1, 2, 4} induzierte Subgraph G[V ′] ist ein Baum.

13. Der Subgraph

G′ = (V ′, E′) mit V ′ = {1, 2, 3, 4} und E′ = {{1, 2}, {1, 3}, {1, 4}}

ist ein Gerüst der Komponente K1, aber keine Gerüst von G.

14. Der Subgraph

G′ = (V ′, E′) mit V ′ = {1, 2, 3, 4} und E′ = {{1, 2}, {1, 3}, {1, 4}}

ist bipartit, da V ′ aufgeteilt werden kann in S = {1} und T = {2, 3, 4}, so dassE′ ⊆ {(v, w) | v ∈ S,w ∈ T}. Die Komponente K1 ist nicht bipartit, da sie einenKreis ungerader Länge enthält.

15. Die Komponente K1 ist kein vollständiger Graph, aber der von V ′ = {1, 2, 3} indu-zierte Subgraph G[V ′] ist vollständig. Die Knotenmenge V ′ ist somit eine Clique inG.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 73: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 72

16. Eine unabhängige Menge in G ist beispielsweise gegeben durch V ′ = {2, 5, 6}. EinMatching in G ist gegeben durch E′ = {{2, 3}, {1, 4}, }6, 7}}. Beachte, dass diesesMatching maximale Kardinalität in G hat, d.h. es gibt kein Matching mit mehr alsdrei Kanten in G.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 74: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 73

Der zweite Teil dieses Abschnittes definiert die bisherigen Begriffe für gerichtete Graphen.

Definition 4.11Ein gerichteter Graph (engl. directed graph) ist ein Paar

G = (V,E),

wobei V eine endliche Menge und E eine Menge von geordneten Paaren von Elementenaus V ist. Die Elemente von V werden als die Knoten (engl. nodes, vertices) unddie Elemente von E als die Bögen (engl. arcs) von G bezeichnet.Eine Bogen e ∈ E ist also ein geordnetes Paar e = (v, w) von Knoten v, w ∈ V . Diebeiden Bögen (v, w) und (w, v) mit v = w werden als verschieden angesehen.Für einen Bogen e = (v, w) ∈ E wird v = head(e) wird Startknoten (engl. head)und w = tail(e) der Endknoten (engl. tail) genannt.Die Knoten v und w werden als benachbart oder adjazent (engl. adjacent) bezeich-net, w wird als Nachbar von v bezeichnet, und es wird gesagt, dass e vom Knoten vhinaus zu w hineingeht..Man sagt auch, dass e inzident (engl. incident) ist mit v und w bzw. v und winzident sind mit e.Ein Bogen der Form e = {v, v}, d.h. mit identischen Endknoten, heisst Schlinge (engl.loop). Ein schlichter Graph (engl. simple graph) ist ein Graph ohne Schlingen.

Definition 4.12a) Die Adjazenzmatrix (engl. adjacency matrix ) eines gerichteten Graphen G =(V,E) ist eine quadratische (i.a. nicht symmetrische) Matrix A = (avw)v,w∈V mit |E|vielen Zeilen und Spalten, deren Elemente gegeben sind durch

avw =

{1, falls (v, w) ∈ E

0, sonst

b) Die Inzidenzmatrix (engl. incidence matrix ) eines gerichteten Graphen G =(V,E) ist eine Matrix A = (ave)v∈V,e∈E mit |V | vielen Zeilen und |E| vielen Spalten,deren Elemente gegeben sind durch

aev =

−1, falls v = tail(e)

1, falls v = head(e)

0, sonst

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 75: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 74

Definition 4.13Sei G = (V,E) ein Graph und v ∈ V ein Knoten, S ⊆ V eine Knotenmenge.a) Der Eingangsgrad deg−(v) (engl. indegree) von v ist die Anzahl Bögen, welchein v hineingehen.b) Der Ausgangsgrad deg+(v) (engl. outdegree) von v ist die Anzahl Bögen, welcheaus v hinausgehen.c) Der Knoten v heisst isoliert, falls deg+(v) = deg−(v) = 0. Der Knoten v heisstQuelle (engl. source), wenn deg−(v) = 0 und Senke (engl. (sink), wenn deg+(v) = 0.d) Die Menge

δ+(S) = {(v, w) ∈ E | v ∈ S,w ∈ V \S}

heisst die Menge der aus S hinausführenden Bögen, die Menge

δ−(S) = {(w, v) ∈ E | v ∈ S,w ∈ V \S}

heisst die Menge der nach S hineingehenden Bögen.e) Die Menge

γ(S) = {(v, w) ∈ E | v, w ∈ S}

heisst die Menge der in S liegenden Bögen.

Die Begriffe Subgraph, aufspannender Subgraph und induzierter Subgraph für gerichteteGraphen unterscheiden sich nicht von denen für unterrichtete Graphen. In gerichtetenGraphen werden Kantenzüge Bogenzüge genannt. Ein offener, einfacher Bogenzug wirdPfad genannt.

Definition 4.14a) Ein gerichteter Graph G = (V,E) heisst stark zusammenhängend (engl. stron-gly connected), falls jedes Knotenpaar v, w ∈ V durch einen Pfad verbunden ist.b) Ein gerichteter Graph G = (V,E) heisst schwach zusammenhängend (engl.weakly connected), falls der zugehörige ungerichtete Graph zusammenhängend ist.c) Eine starke (schwache) Zusammenhangskomponente (engl. strongly (weak-ly) connected component) von G ist ein stark (schwach) zusammenhängender, in-duzierter Subgraph G[V ′] mit V ′ = ∅, welcher bezüglich der Knotenmenge maximal ist,d.h. G[V ′] ist stark (schwach) zusammenhängend und es existiert kein stark (schwach)zusammenhängender induzierter Subgraph G[V ′′] mit V ′ ⊆ V ′′.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 76: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 75

Beispiel 4.2Wir betrachten den folgenden Graphen G = (V,E).

14 BEGRIFFE UND NOTATIONEN

i < j k} � {(v0, vk

)}. Ein o↵ener, einfacher Bogenzug ist ein Pfad (engl. (directed)

path), und ein geschlossener, einfacher Bogenzug ein Zyklus (engl. cycle). Ein Graph ohneZyklen heisst azyklisch (engl. acyclic).

Beachte, dass ein Graph, welcher einen o↵enen (bzw. geschlossenen) Bogenzug P von v0

nach vk

enthalt, stets auch einen Pfad (bzw. einen Zyklus) P 0 von v0 nach vk

enthalt mitV

P

0 ✓ VP

und EP

0 ✓ EP

.

Ein Graph G = (V, E) heisst stark zusammenh

¨

angend (engl. strongly connected), falls furjedes Knotenpaar v, w 2 V ein Pfad von v nach w existiert. G heisst schwach zusam-

menh

¨

angend (engl. weakly connected), falls der entsprechende ungerichtete Graph zusam-menhangend ist, d.h. ‘falls in G ein Weg existiert, wenn man von den Bogenrichtungenabsieht’.

Eine starke (bzw. schwache) Zusammenhangskomponente (engl. strongly (resp. weakly)

connected component) von G ist ein stark (bzw. schwach) zusammenhangender, induzier-ter Subgraph G[V 0], V 0 6= ;, welcher bezuglich der Knotenmenge maximal ist, d.h. G[V 0]ist stark (bzw. schwach) zusammenhangend und es existiert kein stark (bzw. schwach)zusammenhangender induzierter Subgraph G[V 00] mit V 0 ⇢ V 00.

Ein Arboreszenz (engl. arborescence) ist ein schwach zusammenhangender, azyklischerGraph G = (V, E) mit deg�(v) 1 fur alle v 2 V . Eine Arboreszenz G = (V, E) hatgenau einen Knoten r 2 V mit deg�(r) = 0, welcher die Wurzel (engl. root) von G ge-nannt wird. Ein Branching (engl. branching) ist azyklischer Graph G = (V, E), so dassdeg�(v) 1 fur alle v 2 V , d.h. ein Graph, dessen schwach zusammenhangenden Kompo-nenten Arboreszenzen sind. Eine aufspannende Arboreszenz (engl. spanning arborescence)

in einem Graphen G ist ein aufspannender Subgraph von G, welcher eine Arboreszenz ist.

Ein Graph G = (V, E) heisst vollst

¨

andig (engl. complete), falls jedes geordnete Knotenpaarmit einem Bogen verbunden ist, d.h. falls E = {(i, j) : i, j 2 V, i 6= j}. Folglich gilt|E| = |V |(|V |� 1).

Abbildung 2: Gerichteter Graph

Beispiel:

Der in Abbildung 2 gezeigte, gerichtete Graph G = (V, E) hat die Knotenmenge V ={1, 2, ..., 7} und die Bogenmenge E = {(1, 4), (2, 1), (3, 1), (3, 2), (4, 2), (7, 6)}.

1. Die Knotenmenge V besteht aus den 7 Knoten

V = {1, 2, . . . , 7}

und die Kantenmenge E besteht aus den Mengen

E = {{1, 2}, {1, 3}, {1, 4}, {2, 3}, {6, 7}}.

2. Die Adjazenzmatrix von G ist gegeben durch

0 0 0 1 0 0 01 0 0 0 0 0 01 1 0 0 0 0 00 1 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 1 0

und die Inzidenzmatrix durch

−1 1 1 0 0 00 −1 0 1 1 00 0 −1 −1 0 01 0 0 0 −1 00 0 0 0 0 00 0 0 0 0 10 0 0 0 0 −1

,

wobei die Kanten in lexikographischer Reihenfolge angeordnet sind, d.h.

E = {(1, 4), (2, 1), (3, 1), (3, 2), (4, 2), (7, 6)}.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 77: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 76

4.2 Optimale Wege

4.2.1 Optimale Wege in allgemeinen Graphen

Gegeben ist ein ungerichteter oder gerichteter Graph G = (V,E) mit Knotenmenge V undKantenmenge E. Der Graph G sei gewichtet, d.h. die Kanten e ∈ E sind mit einem Ge-wicht (bzw. einer Länge) de versehen. Betrachtet wird das Optimierungsproblem, kürzesteoder längste Wege in diesem Graphen zu berechnen.

Dabei wird als Länge eines Weges die Summe der Längen seiner Kanten verstanden.. Diesist ein elementares Problem der kombinatorischen Optimierung (Graphentheorie).

Beispiel 4.3Bestimme einen kürzesten Weg zwischen Knoten 3 und 7 in folgendem ungerichteten Gra-phen.

3Institut für Datenanalyse und Prozessdesign IDPZürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011© A. Klinkert, H. Gröflin

1.1.1 Einführung

Beispiel

• Bestimme einen kürzesten Weg zwischen Knoten 3

und 7 in folgendem ungerichteten Graphen.

2

3

4

110

7

8

9

5

6

1

1 75 10

3

69 3 4

1

12

14

5

2

11

124

10

20

8

8

7

3811

Ein Weg von 3 nach 7: Knoten 3,11,7; Länge 11 + 9 = 20

Ein anderer Weg: Knoten 3,2,1,10,6,7; Länge 1+1+3+3+3 = 11

Ein kürzester Weg: ???

Wege von 3 nach 7:

• Knoten 3,11,7 ergibt Weg der Länge 11 + 9 = 20

• Knoten 3,2,1,10,6,7 ergibt Weg Länge 1 + 1 + 3 + 3 + 3 = 11

Ist der zweite Weg ein kürzester Weg?

Dieses Problem hat viele praktische Anwendungen in der Routenplanung (Autorouten,Zugfahrpläne), Projektplanung, Maschinen-Einplanung, und vielen anderen Bereichen.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 78: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 77

Es gibt verschiedene Problemvarianten:

• Bestimme den optimalen Weg zwischen zwei bestimmten Knoten (one-to-one)

• Bestimme den optimalen Weg von einem bestimmten Knoten aus zu allen andernKnoten (one-to-all)

• Bestimme den optimalen Weg zwischen allen Knotenpaaren (all-to-all)

BemerkungEin längster Weg bzgl. Gewichten de ist ein kürzester Weg bzgl. entgegengesetzter Gewichte−de (und umgekehrt).

Nicht immer muss ein optimaler Weg existieren. Um dies zu garantieren darf der Graphkeine negativen Zyklen (für einen kürzesten Weg) bzw. keine positiven Zyklen (für einenlängsten Weg) haben. Andernfalls kann der Weg beliebig verkleinert (bzw. vergrössert)werden, indem ein solcher Zyklus beliebig oft durchschritten wird.

Beispiel 4.4

5Institut für Datenanalyse und Prozessdesign IDPZürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011© A. Klinkert, H. Gröflin

1.1.1 Einführung

• Beachte: Voraussetzung, damit ein optimaler Weg immer definiert ist:� Kürzeste Wege: keine negativen Zyklen im Graphen� Längste Wege: keine positiven Zyklen im Graphen

• Denn: Falls ein negativer (bzw. positiver) Zyklus auf einem Weg von v nach w liegt, kann der Weg beliebig verkleinert (bzw. vergrössert) werden, indem der Zyklus beliebig oft durchschritten wird.

• Beispiel:

v w1

1

-3

1

1

Negativer Zyklus der Länge -1

Länge eines kürzesten Wegesvon v nach w ist nicht definiert (-f)

3

Die Schwierigkeit (Lösungsaufwand) des Weg-Problems ist abhängig von

• der Struktur des Graphen (mit/ohne Zyklen, Anzahl Knoten, Anzahl Kanten)

• der Art der Gewichte (positiv/negativ/gemischt)

• der Problemvariante (one-to-one, one-to-all, all-to-all)

Um die Komplexität eines Algorithmus zu beschreiben, verwendet man die sogenannteO-Notation. Ein Algorithmus hat den Aufwand O(f(n)), wenn die Anzahl elementarerRechenschritte höchstens cf(n) ist für n > n0 und einer Konstanten c, d.h. der Aufwandist in der gleichen Grössenordnung wie f(n). Die nachfolgende Tabelle gibt eine Übersichtüber verschiedene Graphen-Algorithmen und deren Komplexität.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 79: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 78

8Institut für Datenanalyse und Prozessdesign IDPZürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011© A. Klinkert, H. Gröflin

1.1.1 Einführung

Übersicht über die wichtigsten Weg-Algorithmen:"One-To-All": Kürzeste Wege: Längste Wege:

a) Keine ZyklenGewichte beliebig

Algorithmus (Top. Sortierung)Aufwand: O(m)

Algorithmus (Top. Sortierung)Aufwand: O(m)

b1) Zyklen erlaubtGewichte t 0

Algorithmus von DijkstraAufwand: O(n2)

(Problem nicht definiert, falls positive Zyklen vorhanden)

b2) Zyklen erlaubtGewichte d 0Bem: Selten in der Praxis

(Problem nicht definiert, falls negative Zyklen vorhanden)

Algorithmus von DijkstraAufwand: O(n2)Bem: Gewichte invertieren und kürzesten Weg suchen.

c) Zyklen erlaubtGewichte beliebig

Algorithmus von Bellman-FordAufwand: O(n·m)Bem: Erkennt negative Zyklen.

Algorithmus von Bellman-FordAufwand: O(n·m)Bem: Erkennt positive Zyklen.

"All-To-All": Kürzeste Wege: Längste Wege:d) Zyklen erlaubt

Gewichte beliebigAlgorithmus von Floyd-WarshallAufwand: O(n3)Bem: Erkennt negative Zyklen.

Algorithmus von Floyd-WarshallAufwand: O(n3)Bem: Erkennt positive Zyklen.

Der Algorithmus von Dijkstra

Problemstellung. Berechne alle kürzesten Wege von einem Knoten s zu allen anderenKnoten im ungerichteten gewichteten Graphen G = (V,E) (one-to-all).

Dabei wird vorausgesetzt, dass alle Gewichte grösser gleich 0 sind. Damit können Zyklenzugelassen werden zugelassen, denn negative Zyklen sind ja nicht möglich.

Grundidee. Für einen Knoten s sei S die Menge der k Knoten, die von s die geringsteEntfernung haben (in der Skizze in gelb gekennzeichnet). Nehmen wir an, dass ein kürzesterWeg w (in der Skizze in durchgezogener roter Linie) zu diesen Knoten schon berechnet ist.Betrachte nun von s aus alle kürzesten Wege, die aus der Menge S hinausführen direkt zueinem Knoten ausserhalb von S.

10Institut für Datenanalyse und Prozessdesign IDPZürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011© A. Klinkert, H. Gröflin

1.1.2 Algorithmus von Dijkstra

Grundidee• Sei S ( ) die Menge der k "nähesten" Knoten von s.

Nehme an, dass ein kürzester Weg ( )zu diesen Knoten schon berechnet ist.• Betrachte von s aus alle kürzesten Wege, die aus der Menge S hinausführen

direkt zu einem Knoten ausserhalb S ( ).(d.h. die kürzesten Wege zu den Knoten ausserhalb S, die nur Zwischenknoten aus S benützen)

s1

2

11

4

7 5

2

4

7 6

f

3

Länge eines kürzesten Wegesaus S hinaus(d.h. mit Zwischenknoten aus S)

Knoten nicht direkterreichbar aus S

Sei W (in der Skizze als durchgezogene blaue Linie) der kürzeste unter diesen Wegen, wobeiwir annehmen können, dass dieser zu w führt. Dann ist w der (k + 1)te nächste Knoten

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 80: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 79

von s, denn jeder andere Weg U von s nach w muss zuerst aus S hinaus zu einem Knotenv (Wegstück Us,v) und von dort weiter nach w (Wegstück Uv,w), siehe Skizze unten.

11Institut für Datenanalyse und Prozessdesign IDPZürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011© A. Klinkert, H. Gröflin

1.1.2 Algorithmus von Dijkstra

• Sei W ( ) der kürzeste unter diesen Wegen (und nehme an, er führt zu w.)• Dann gilt: (i) w ist der k+1 „näheste“ Knoten von s.

(ii) W ist ein kürzester Weg zum Knoten w.

Begründung für (ii): (für (i) analog)• Jeder andere Weg U von s nach w muss zuerst „direkt“ aus S hinaus zu einem

Knoten v (Wegstück Us,v) und von dort weiter nach w (Wegstück Uv,w).• Da W der kürzeste Weg aus S hinaus ist, gilt c(Us,v)t c(W).

Da die Gewichte ct 0 sind, gilt c(Uv,w)t 0.• Somit ist c(U) = c(Us,v) + c(Uv,w) t c(W)+ 0, d.h. U ist mind. so lang wie W.

s1

2w1

1

4

7 5

2

4

7 6

f

3

W: Kürzester Wegaus S hinaus

drittnähesterKnoten

s1

2

v

w11

4

7 5

2

4

7 6

f

3

Wegstück Uv,wmit Länge t 0

Wegstück Us,v

Da W der kürzeste Weg aus S hinaus ist, ist das Gesamtgewicht c(Us,v) von Us,v mindestensgleich c(W ). Da alle Gewichte nicht negativ sind, gilt c(Uv,w) ≥ 0. Somit erhalten wir

c(U) = c(Us,v) + c(Uv,w) ≥ c(W ) + 0,

d.h. U ist mind. so lang wie W . Also ist W ist ein kürzester Weg zum Knoten w.

Beschreibung des Algorithmus.

1. Beginne mit S = {s}.

2. Berechne die kürzesten Wege von s aus S hinaus, d.h. kürzeste Wege mit Zwi-schenknoten aus S mit den Längen lv.

3. Wähle den kürzesten Weg hinaus, d.h. den Knoten w ausserhalb von S, der vonS die kleinste Entfernung hat.

4. Füge w zu S hinzu, also setzen wir S = S ∪ {w}.

5. Berechne die Längen lv neu: Für alle v ∈ V \S mit {w, v} ∈ E setze lv := lw+dw,v

falls lv > lw + dw,v gilt.

6. Gehe zu Schritt 2, bis alle S alle Knoten von G beinhaltet.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 81: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 80

12Institut für Datenanalyse und Prozessdesign IDPZürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011© A. Klinkert, H. Gröflin

1.1.2 Algorithmus von Dijkstra

Vorgehen:1. Beginne mit S = {s}. Berechne „die kürzesten Wege von s aus S hinaus“

(d.h. kürzeste Wege mit Zwischenknoten aus S, Längen lv).

2. Wähle den „kürzesten Weg hinaus“ (d.h. den „nähesten“ Knoten w ausserhalb S)

3. Füge w zu S hinzu: S := S ��w.4. Updatiere von w aus die „kürzesten Wege von s aus S hinaus“:

Für alle v � V – S mit (w,v) � E: Wenn lv > lw + dwv dann lv := lw + dwv

5. Usw.

sw

2

11

4

7 5

2

4

7 f

f

1

4

f

sw

2

1 1

4

7 5

2

4

7 f

f

1

4

f

6

2

3

Der Algorithmus von Dijkstra in Pseudo-Code:

13Institut für Datenanalyse und Prozessdesign IDPZürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011© A. Klinkert, H. Gröflin

1.1.2 Algorithmus von Dijkstra

Algorithmus von Dijkstra:Initialisierung:

S := ^s`, ls := 0 , (preds := s)FOR ALL v ��V – s DO

IF (s,v) ��E THEN lv := dsv (predv := s�ELSE lv := f���predv := �)

Iterationen:WHILE S z�V DO

Bestimme w � V – S so dass lw = min{lv : v � V – S };S := S ��wFOR ALL v � V – S WITH (w,v) � E DO

IF lv > lw + dwv THEN lv := lw + dwv (predv= w)

Beispiel 4.5

15Institut für Datenanalyse und Prozessdesign IDPZürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011© A. Klinkert, H. Gröflin

1.1.2 Algorithmus von Dijkstra

Startknoten s = 3

Iteration 1

InitialisierungS : Knoten

f

f f

f

ff

1110

2

3

4

1 10

7

8

9

5

6

1

1 75 10

3

69 3 4

1

12

14

5

2

11

124

10

20

8

8

7

3811

0

20

1

12

f f

f

ff

98

2

3

4

1 10

7

8

9

5

6

1

1 75 10

3

69 3 4

1

12

14

5

2

11

124

10

20

8

8

7

3811

0

20

wl5

u vpredv := u

S : Knoten

Legende

Beispiel:

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 82: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 81

16Institut für Datenanalyse und Prozessdesign IDPZürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011© A. Klinkert, H. Gröflin

1.1.2 Algorithmus von Dijkstra

Iteration 3

Iteration 2

2

f f

f

�f

78

2

3

4

1 10

7

8

9

5

6

1

1 75 10

3

69 3 4

1

12

14

5

2

11

124

10

20

8

8

7

3811

0

20

1 w

2

�� f

��

78

2

3

4

1 10

7

8

9

5

6

1

1 75 10

3

69 3 4

1

12

14

5

2

11

124

10

20

8

8

7

3811

0

20

1 w

17Institut für Datenanalyse und Prozessdesign IDPZürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011© A. Klinkert, H. Gröflin

1.1.2 Algorithmus von Dijkstra

Iteration 5

Iteration 4

2

�� f

��

78

2

3

4

1 10

7

8

9

5

6

1

1 75 10

3

69 3 4

1

12

14

5

2

11

124

10

20

8

8

7

3811

0

20

1

w

2

�� 12

��

78

2

3

4

1 10

7

8

9

5

6

1

1 75 10

3

69 3 4

1

12

14

5

2

11

124

10

20

8

8

7

3811

0

20

1w

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 83: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 82

18Institut für Datenanalyse und Prozessdesign IDPZürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011© A. Klinkert, H. Gröflin

1.1.2 Algorithmus von Dijkstra

Iteration 7

Iteration 6

2

�� 12

��

78

2

3

4

1 10

7

8

9

5

6

1

1 75 10

3

69 3 4

1

12

14

5

2

11

124

10

20

8

8

7

3811

0

12

1

w

12

2

�� 12

��

78

2

3

4

1 10

7

8

9

5

6

1

1 75 10

3

69 3 4

1

12

14

5

2

11

124

10

20

8

8

7

3811

0

1

w

19Institut für Datenanalyse und Prozessdesign IDPZürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011© A. Klinkert, H. Gröflin

1.1.2 Algorithmus von Dijkstra

Iteration 9

Iteration 8

12

2

�� 12

��

78

2

3

4

1 10

7

8

9

5

6

1

1 75 10

3

69 3 4

1

12

14

5

2

11

124

10

20

8

8

7

3811

0

1

w

12

2

�� 12

��

78

2

3

4

1 10

7

8

9

5

6

1

1 75 10

3

69 3 4

1

12

14

5

2

11

124

10

20

8

8

7

3811

0

1

w

12

2

�� 12

��

78

2

3

4

1 10

7

8

9

5

6

1

1 75 10

3

69 3 4

1

12

14

5

2

11

124

10

20

8

8

7

3811

0

1

w

Iteration 10

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 84: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 83

Der Algorithmus von Floyd-Warshall

Problemstellung. Berechne kürzeste Wege von jedem Knoten i zu jedem Knoten j imungerichteten Graphen G = (V,E) (all-to-all).

Die Gewichtung von G kann beliebig sein, negative und positive Gewichte sind zugelassen.Zyklen sind erlaubt. Der Algorithmus entdeckt negative Zyklen selbst.

Grundprinzip des Algorithmus. Sei n die Anzahl Knoten und die Knoten seien num-meriert von 1 bis n. In n sukzessiven Iterationen wird für jedes Knotenpaar {i, j} die Längeeines bedingten kürzesten Weges berechnet, wobei die Bedingungen lauten:

Iteration 1: Knoten 1 ist als Zwischenknoten erlaubt

Iteration 2: Knoten 1,2 sind als Zwischenknoten erlaubt

Iteration 3: Knoten 1,2,3 sind als Zwischenknoten erlaubt

. . .

Iteration n: Knoten 1,2,. . . ,n sind als Zwischenknoten erlaubt

Angenommen, die Längen lk−1ij der Kantenzüge mit Zwischenknoten 1, . . . , k−1 sind schon

berechnet. Dann ist es einfach, die Längen lkij der Kantenzüge mit Zwischenknoten 1, . . . , kzu berechnen (Dreiecksoperation):

Ein Kantenzug von i nach j mit Zwischenknoten 1, . . . , k ist gegeben als der Kürzere derbeiden Wege P1 oder P2 zusammengesetzt mit P3, wobei P1 der Kantenzug von i nach jmit Zwischenknoten 1, .., k − 1 ist, P2 der Kantenzug von i nach k mit Zwischenknoten1, .., k − 1 und P3 der Kantenzug von k nach j mit Zwischenknoten 1, .., k − 1 ist.

22Institut für Datenanalyse und Prozessdesign IDPZürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011© A. Klinkert, H. Gröflin

1.1.3 Algorithmus von Floyd-Warshall

• Angenommen, die Längen lijk-1 der KW mit Zwischenknoten 1,..., k-1 sind schon berechnet.

• Dann ist es einfach, die Längen lijk der KW mit Zwischenknoten 1,...,k zu berechnen („Dreiecksoperation“):

Ein KW von i nach j mit Zwischenknoten1,...,k ist gegeben als der kürzere der folgenden beiden Wege:- P1- P2 zusammengesetzt mit P3

P1: KW von i nach j mit Zw.Kn. 1,..,k-1P2: KW von i nach k mit Zw.Kn. 1,..,k-1P3: KW von k nach j mit Zw.Kn. 1,..,k-1

i j

k

i j

k

Knotenmenge ^������k��`

P1

P2P3

i j

k

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 85: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 84

Der Algorithmus von Floyd-Warshall in Pseudo-Code:

27Institut für Datenanalyse und Prozessdesign IDP

Zürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011

© A. Klinkert, H. Gröflin

Algorithmus von Floyd-Warshall:Initialisierung:

• Numeriere die Knoten von 1 bis n.• Für jedes Paar (i, j), 1 d i, j d n, setze:

Iterationen:• Für alle Zwischenknoten k = 1,2,...n, führe aus:

� Für jedes Paar (i, j), 1 d i, j d n, mit i z�k, j z k, setze:

1.1.3 Algorithmus von Floyd-Warshall

0

( , )

: ( , )0

ij

ij

d falls i j El falls i j E und i j

falls i j

�­° f � z®° ¯

0

( , ): ( , )ij

i falls i j Ev falls i j E und i j

i falls i j

�­° � � z®° ¯

1 1 1 1

1 1:

k k k kij ik kj ijk

ij k kik kj

l falls l l ll

l l sonst

� � � �

� �

­ � t° ®�°

1 1 1 1

1:

k k k kij ik kj ijk

ij kkj

v falls l l lv

v sonst

� � � �

­ � t° ®°

Beispiel 4.6

28Institut für Datenanalyse und Prozessdesign IDP

Zürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011

© A. Klinkert, H. Gröflin

1.1.3 Algorithmus von Floyd-Warshall

4

4

21

64 12

23 Distanzmatrix (dij)

Detaillierte Anwendung an einem kleinen Beispiel :(zur Abwechslung in einem gerichteten Graphen ...)

Erlaubte Zwischenknoten { }

0ijl Länge eines KW von i

nach j0ijv Vorgänger von j auf

KW von i nach j

Initialisierung:

1 2 3 4

1 4 6

2 2

3 4 2

4 1

Matrix ),( 00ijij vl

),( 024

024 vl0 1 2 3 4

0 4 f 6

1 1 1f 0 f 2

2 24 f 0 2

3 3 31 f f 0

4 44

1

2

3

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 86: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 85

29Institut für Datenanalyse und Prozessdesign IDP

Zürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011

© A. Klinkert, H. Gröflin

1 0 0 0 0 032 31 12 31 12 32: 4 4 8 8l l l da l l l � � � � f1 0 0 0 032 12 31 12 32: 1v v da l l l � �

1.1.3 Algorithmus von Floyd-Warshall

Matrix ),( 00

ijij vl0 1 2 3 4

0 4 f 6

1 1 1f 0 f 2

2 24 f 0 2

3 3 31 f f 0

4 44

1

2

3

k = 1:Matrix

),( 11ijij vl

1 1 2 3 4

0 4 f 6

1 1 1f 0 f 2

2 24 8 0 2

3 1 3 31 5 f 0

4 1 44

1

2

3

),( 032

032 vl ),( 1

32132 vl

),( 034

034 vl ),( 1

34134 vl

k=1: Erlaubte Zwischenknoten {�`1ijl Länge eines KW von i nach j1ijv Vorgänger von j auf KW

1 0 0 0 034 34 31 14 34: 2 4 6 2l l da l l l � � t 1 0 0 0 034 34 31 14 34: 3v v da l l l � t

2 4

21

3

41

64 12

2

3

2

4

64 12

2

3 4

1

30Institut für Datenanalyse und Prozessdesign IDPZürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011© A. Klinkert, H. Gröflin

2 1 2 3 40 4 f 61 1 1f 0 f 2

2 24 8 0 23 1 3 31 5 f 04 1 4

4

1

2

3

1.1.3 Algorithmus von Floyd-Warshall

k = 2:Matrix

),( 22ijij vl

),( 214

214 vl

4

21

3

2 1 1 1 114 14 12 24 14: 6 4 2 6l l da l l l � � t 2 1 1 1 114 14 12 24 14: 1v v da l l l � t

2

41

64 12

4

1

k = 1:Matrix

),( 11ijij vl

1 1 2 3 40 4 f 61 1 1f 0 f 2

2 24 8 0 23 1 3 31 5 f 04 1 4

4

1

2

3

),( 114

114 vl

k=2: Erlaubte Zwischenknoten {����`2ijl Länge eines KW von i nach j

2ijv Vorgänger von j auf KW

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 87: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 86

31Institut für Datenanalyse und Prozessdesign IDPZürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011© A. Klinkert, H. Gröflin

2 1 2 3 40 4 f 61 1 1f 0 f 2

2 24 8 0 23 1 3 31 5 f 04 1 4

4

1

2

3

1.1.3 Algorithmus von Floyd-Warshall

k = 3:Matrix

),( 33ijij vl

),( 314

314 vl

4

21

3

3 2 2 2 214 14 13 34 14: 6 2 6l l da l l l � f� t 3 2 2 3 214 14 13 34 14: 1v v da l l l � t

2

41

64 12

4

1

k = 2:Matrix

),( 22ijij vl

1 1 2 3 40 4 f 61 1 1f 0 f 2

2 24 8 0 23 1 3 31 5 f 04 1 4

4

1

2

3

),( 214

214 vl

k=3: Erlaubte Zwischenknoten {�������`3ijl Länge eines KW von i nach j

3ijv Vorgänger von j auf KW

32Institut für Datenanalyse und Prozessdesign IDPZürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011© A. Klinkert, H. Gröflin

4 1 2 3 40 4 f 61 1 13 0 f 24 2 23 7 0 24 1 3 31 5 f 04 1 4

4

1

2

3

1.1.3 Algorithmus von Floyd-Warshall

4

21

3

4 3 3 3 3 332 34 42 34 42 32: 7 2 5 7 8l l l car l l l � � � �

4 3 3 3 332 42 34 42 32: 1v v car l l l � �

2

41

641

2

2

3

k = 3:Matrix

),( 11ijij vl

k = 4:Matrix

),( 44ijij vl

),( 432

432 vl3 1 2 3 4

0 4 f 61 1 1f 0 f 2

2 24 8 0 23 1 3 31 5 f 04 1 4

4

1

2

3

),( 332

332 vl

4ijl Länge eines KW von i nach j

4ijv Vorgänger von j auf KWEndresultat:

k=4: Erlaubte Zwischenknoten {����������` = V

Endresultat. Es ist l4ij die Länge des Kantenzuges von Knoten i nach Knoten j und v4ijist der Vorgänger vom Knoten j auf dem Kantenzug vom Knoten i zum Knoten j.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 88: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 87

Identifikation eines kürzesten Weges in der Resultat-Matrix (l4ij , v4ij)j.

33Institut für Datenanalyse und Prozessdesign IDPZürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011© A. Klinkert, H. Gröflin

1.1.3 Algorithmus von Floyd-Warshall

Identifikation eines kürzesten Weges in der Resultat-Matrix ),( 44ijij vl

4 1 2 3 40 4 f 61 1 13 0 f 24 2 23 7 0 24 1 3 31 5 f 04 1 4

4

1

2

3

Kürzester Weg von 2 nach 1:

KW hat die Länge 3.

- Der Vorgänger von 1 (Endknoten)(KW von 2 nach 1) ist 4;

- Der Vorgänger von 4(KW von 2 nach 4) ist 2.

- 2 ist der Startknoten: Stop.

� Kürzester Weg: 2 o 4 o 1

4.2.2 Optimale Wege in azyklischen Graphen

Problemstellung. Berechne die längsten Wege von einer Quelle s zu allen anderen Knotenin einem gerichteten Graphen G = (V,E). Es wird vorausgesetzt, dass G keine Zyklenbesitzt. Die Gewichtung von G ist beliebig.

Bemerkung. Falls der Graph G keine Zyklen enthält, ist das Problem des optimalenWeges (one-to-all) einfach zu lösen (mit beliebigen Kantengewichten). Der Aufwand dafürbeträgt O(m), wobei m die Anzahl der Kanten in G bedeute.

Diese Problemklasse tritt beispielsweise auf bei der Einplanung von Aktivitäten im Projekt-management (CPM / PERT) sowie, als Teilproblem, bei Maschinenbelegungs-Problemenauf.

Grundprinzip des Algorithmus. Betrachte einen Knoten v und nehme an, dass dielängsten Wege lu von s zu allen Vorgängern u von v bekannt sind. Dann ist der längsteWeg von s nach v gegeben durch

lv = max {lu + du,v | u ist Vorgänger von v} .

36Institut für Datenanalyse und Prozessdesign IDP

Zürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011

© A. Klinkert, H. Gröflin

1.2.1 Algorithmus für azyklische Graphen

Grundidee:• Betrachte einen Knoten v und nehme an, dass die längsten

Wege lu von s zu allen Vorgängern u von v bekannt sind.• Dann ist der längste Weg von s nach v gegeben durch:

lv = max {lu + duv: u ist Vorgänger von v}

• Wähle Knotenreihenfolge zur Berechnung der LW so, dass stets alle Vorgänger schon berechnet sind (o Top. Sortierung)

s

u1

u2

u3

v

lu1

lu2

lu3

du1,v

du2,v

du3,v

Wähle nun die Knotenreihenfolge zur Berechnung der längsten Wege so, dass stets alleVorgänger schon berechnet sind (top. Sortierung).

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 89: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 88

Jeder azyklische Graph hat eine topologische Sortierung: Die Knoten können so von 1 bisn numeriert werden, dass i < j gilt, wenn (i, j) ∈ E ist.

37Institut für Datenanalyse und Prozessdesign IDP

Zürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011

© A. Klinkert, H. Gröflin

Topologische Sortierung:• Jeder azyklische Graph hat eine Topologische Sortierung:

Die Knoten können so von 1 bis n numeriert werden, dass gilt:

Wenn (i,j)��E, dann ist i < j.

Prinzipielles Vorgehen zur Bestimmung einer Topologischen Sortierung:1. Wähle einen Knoten v, der keine Vorgänger hat und gebe ihm die nächste

Nummer. (Beachte: v existiert immer, wenn keine Zyklen vorhanden!)

2. Entferne Knoten v (mit seinen Bogen) und gehe zu Schritt 1.

1.2.1 Algorithmus für azyklische Graphen

ad

bc a d b c

1 2 3 4 TopologischeSortierung

Eine topologischen Sortierung: kann wie folgt erreicht werden:

1. Setze n = 1

2. Wähle einen Knoten v, der keine Vorgänger hat und gebe ihm die Nummer n.Solch ein Knoten existiert immer, weil G azyklisch ist.

3. Entferne den Knoten v (mit all seinen Bögen), erhöhe n um 1 und gehe zurückzu Schritt 2, bis alle Knoten verarbeitet wurden.

Beispiel 4.7Bestimmung einer Topologischen Sortierung

38Institut für Datenanalyse und Prozessdesign IDP

Zürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011

© A. Klinkert, H. Gröflin

1.2.1 Algorithmus für azyklische Graphen

Beispiel: Bestimmung einer Topologischen Sortierung

1

2

5

3

4 6

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 90: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 89

Der Algorithmus zur Bestimmung der längsten Wege in Pseudo-Code:

39Institut für Datenanalyse und Prozessdesign IDP

Zürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011

© A. Klinkert, H. Gröflin

1.2.1 Algorithmus für azyklische Graphen

Algorithmus: Längste Wege in azyklischen Graphen Initialisierung (Annahme: s hat keine Vorgänger):

S := ^s`, ls := 0 , (preds := �)

FOR ALL v ��V – s DO lv := - f (predv := ��Iterationen:

WHILE S z�V DOBestimme v � V – S so dass v keine Vorgänger hat in G[V-S].S := S ��vSetze lv = max {lu + duv: u ist Vorgänger von v} (predv := u*)

Bemerkungen:• G[V-S] ist der resultierende Graph, wenn die Knoten von S entfernt werden.• u* ist derjenige Vorgänger, welcher das Maximum ergibt.• Beachte: Wegen Topol. Reihenfolge sind alle lu schon berechnet für u��S.• Zur Annahme: Falls s Vorgänger hat in G, entferne zuerst alle „Vorfahren“ von s.

BemerkungG[V \S] ist der resultierende Graph, wenn die Knoten von S entfernt werden. Der Kno-ten u∗ ist derjenige Vorgänger, welcher das Maximum ergibt. Beachte, dass aufgrund dertopologischen Reihenfolge alle Längen lu für u ∈ S schon berechnet sind.

40Institut für Datenanalyse und Prozessdesign IDPZürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011© A. Klinkert, H. Gröflin

1.2.1 Algorithmus für azyklische Graphen

Beispiel:

1 s

2

7

14

5

941

61

0

1

2

s

2

7

14

5

941

61

0

1

1

23

s

2

7

14

5

941

61

0

1

9

4

1

23

s

2

7

14

5

941

61

0

1

9

6

13

4

51

23

s

2

7

14

5

941

61

0

1

9

6

17 13

4

561

23

s

2

7

14

5

941

61

0

1

9

6

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 91: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 90

Eine LP-Formulierung für das Wegproblem

Gesucht ist ein kürzester Weg von der Quelle s nach Senke t in einem gerichteten GraphenG = (V,E) mit positiven Bogengewichten cvw > 0 für (v, w) ∈ E.

∑w∈V,(v,w)∈E

xvw −∑

u∈V,(u,v)∈E

xuv =

1, falls v = s

0, falls v ∈ V \{s, t}−1, falls v = t

0 ≤ xvw ≤ 1 für (v, w) ∈ E

xvw ganzzahlig für (v, w) ∈ E

min∑

(v,w)∈E

cvwxvw

Die Unbekannten xvw für (v, w) ∈ E modellieren die Inzidenzrelation eines Bogenzuges vons nach t. Die Gleichungen beschreiben die Tatsache, dass der durch die Unbekannten xvwbeschriebene Weg von s nach t verläuft. Die Ungleichungen, zusammen mit der Bedingung,dass alle xvw ganzzahlig sein müssen, haben zur Folge, dass die xvw nur die Werte 0 oder1 annehmen können (binäre Variable).

Die Summe ∑(v,w)∈E

cvwxvw

berechnet die Länge des durch die Unbekannten xvw definierten Bogenzuges. Damit reprä-sentiert eine optimale Lösung des IPs einen Bogenzug von s nach t mit minimaler Länge.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 92: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 91

4.3 Optimale Zyklen: Das Traveling-Salesman Problem (TSP)

4.3.1 Hamiltonsche Wege und Zyklen

In diesem Kapitel werden ausschliesslich ungerichtete vollständige Graphen mit Kantenge-wichten de > 0 für e ∈ E betrachtet.

Definition 4.15Sei G = (V,E) ein ungerichteter Graph. Seien v, w ∈ V zwei unterschiedliche Knotenin G. Ein Hamiltonscher Weg von v nach w ist ein Weg von v nach w, welcheralle Knoten von G genau einmal besucht. Ein Hamiltonscher Zyklus ist ein Zyklus,welcher alle Knoten von G genau einmal besucht.

Es gibt zwei Grundprobleme:

• Bestimme einen Hamiltonschen Weg minimaler Länge von v nach w.

• Bestimme einen Hamiltonschen Zyklus minimaler Länge

Das bekannteste dieser Probleme ist das Traveling-Salesman Problem (TSP):

Ein Handelsreisender (Traveling Salesman) muss die Städte 1, 2, 3, . . . , n in beliebiger Rei-henfolge besuchen. Wir nehmen an, dass er z.B. in Stadt 1 startet und am Ende wiederdorthin zurückkehrt.

Sei D = (dij) die Matrix der Distanzen zwischen je zwei Städten i und j. Dann ist eineReihenfolge i(1), i(2), i(3), . . . , i(n) der Städte (Tour) so zu bestimmen, dass die gesamtezurückgelegte Distanz

d =

n−1∑k=1

di(k),i(k+1) + di(n),i(1)

minimal ist. Damit entspricht das TSP dem Problem des minimalen Hamiltonschen Zyklus.

Ist Distanzmatrix ist symmetrisch, d.h. ist dij = dji für alle (i, j), so spricht man von einemsymmetrischen TSP, andernfalls von einem asymmetrischen TSP.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 93: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 92

Beispiel 4.8Der Graph

5 Institut für Datenanalyse und Prozessdesign IDP Zürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011 © A. Klinkert, H. Gröflin

2.1.1 Definitionen und Formulierungen

Beispiel: n = 7, eine mögliche Reihenfolge : 1,7,3,4,5,2,6

• Das TSP kann auch in einem beliebigen (unvollständigen) Graphen definiert werden.

• In diesem Fall ist es möglich, dass kein Hamiltonscher Zyklus (Tour) existiert. Beispiel:

1 3

7

6

5

2

4 Die entsprechende Tour ist:

hat z.B den Hamiltonschen Zyklus 1, 7, 3, 4, 5, 2, 6, 1.

Das TSP kann auch in einem beliebigen (unvollständigen) Graphen definiert werden. Indiesem Fall ist es möglich, dass kein Hamiltonscher Zyklus (Tour) existiert:

5 Institut für Datenanalyse und Prozessdesign IDP Zürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011 © A. Klinkert, H. Gröflin

2.1.1 Definitionen und Formulierungen

Beispiel: n = 7, eine mögliche Reihenfolge : 1,7,3,4,5,2,6

• Das TSP kann auch in einem beliebigen (unvollständigen) Graphen definiert werden.

• In diesem Fall ist es möglich, dass kein Hamiltonscher Zyklus (Tour) existiert. Beispiel:

1 3

7

6

5

2

4 Die entsprechende Tour ist:

Ein TSP in einem unvollständigen Graphen lässt sich immer in einem vollständigen Gra-phen formulieren, indem man fehlende Kanten einfügt bis der Graph vollständig ist unddiese neuen Kanten alle mit einem genügend grossen Gewicht M > 0 versieht. Eine optima-le Tour enthält genau dann solche zusätzlichen Kanten, wenn keine Tour im ursprünglichenGraphen existiert!

Eine häufige Version des TSP in der Praxis das das sog. graphische TSP. Dabei mussjede Stadt (Knoten) mindestens einmal besucht werden. In der Praxis ist diese Art vonTourenplanung relevant. Das graphische TSP kann wie folgt als normales TSP formuliertwerden:

Konstruiere einen vollständigen Graphen G′, dessen Kantenlängen d′ij der Länge eineskürzesten Weges von i nach j entsprechen und bestimme dann eine Tour in G′.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 94: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 93

Beispiel 4.9

7 Institut für Datenanalyse und Prozessdesign IDP Zürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011 © A. Klinkert, H. Gröflin

2.1.1 Definitionen und Formulierungen

Bsp: Graphisches TSP

1 2

3 4

6

1

3

2

4

1 2

3 4

5

1

3

2 4

4

1 2

3 4

5

1

3

2 4

4 1 2

3 4

6

1

3

2

4

Graph ' ( , '), vollständigGewichte ' : kürzeste Weglängen in ij

G V Ed GGraph ( , ')

Gewichte ij

G V Ed

d'ij 1 2 3 4

1 - 5 [3] 4 2

2 - - 1 4 [3]

3 - - - 3

4 - - - -

Kürzeste Weglängen in G mit Vorgängerinformation [...]:

Optimale "Tour": (1, 4, 3, 2, 3, 1) mit Länge 11.

Beispiel 4.10Optimierung bei der Herstellung von Masken für gedruckte Schaltkreise

Bei einer photochemischen Technik zur Herstellung von gedruckten Schaltkreisen wird ei-ne Maske mit Hilfe eines Lichtplotters gezeichnet: Der Plotter zeichnet der Reihe nachdie Segmente des Schaltkreises, indem er sich (ohne Belichtung) zum Anfang des erstenSegmentes bewegt und dann das Segment (mit Belichtung) bis zu dessen Ende zeichnet.Danach bewegt er sich (ohne Belichtung) zum Anfang des nächsten Segments, usw. VomEnde des letzten Segments bewegt er sich (ohne Belichtung) wieder zur Ausgangsposition.Die Gesamtlänge der Leerwege (ohne Belichtung) ist abhängig von der Reihenfolge, in wel-cher die Segmente abgearbeitet werden. Damit der Belichtungsprozess möglichst effizientist, muss die Reihenfolge der Segmente so bestimmt werden, dass die Gesamtlänge derLeerwege minimal ist.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 95: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 94

Im unten stehenden Beispiel sind die Leerwege in durchgezogenen Linien dargestellt, dieSegmente in gestrichelten Linien.

9 Institut für Datenanalyse und Prozessdesign IDP Zürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011 © A. Klinkert, H. Gröflin

Maske eines gedruckten Schaltkreises (Segmente: )

Damit der Belichtungsprozess möglichst effizient ist: Bestimme einer Reihenfolge der Segmente, so dass die Gesamtlänge der Leerwege minimal ist!

Beispiel:

2.1.2 Eine Anwendung

Die Original-Platine

10 Institut für Datenanalyse und Prozessdesign IDP Zürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011 © A. Klinkert, H. Gröflin

Segmente: ----- Leerwege: Segmente: ----- Leerwege:

2.1.2 Eine Anwendung

Nicht optimiert Optimiert

10 Institut für Datenanalyse und Prozessdesign IDP Zürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011 © A. Klinkert, H. Gröflin

Segmente: ----- Leerwege: Segmente: ----- Leerwege:

2.1.2 Eine Anwendung

Nicht optimiert Optimiert Ein zufälliger Plot-Lauf Ein optimaler Plot-Lauf

Wie kann dieses Problem nun als TSP formuliert werden?

Dazu interpretieren wir die beiden Extremitäten eines jeden Segments als einen Knoten.Zwischen zwei Knoten i und j definieren wir

• eine Kante (i, j) der Länge 0, wenn i und j Extremitäten des gleichen Segments sind.

• eine Kante (i, j) der Länge dij (Länge des Leerweges von i nach j), wenn i und jExtremitäten verschiedener Segmente sind.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 96: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 95

11 Institut für Datenanalyse und Prozessdesign IDP Zürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011 © A. Klinkert, H. Gröflin

2.1.2 Eine Anwendung

Eine Formulierung des Problems minimaler Leerwege als TSP: Die beiden Extremitäten eines Segments entsprechen je einem Knoten. Zwischen zwei Knoten i und j:

eine Kante (i, j) der Länge 0, wenn i und j Extremitäten des gleichen Segments sind.

eine Kante (i, j) der Länge dij (Länge des Leerweges von i nach j), wenn i und j Extremitäten verschiedener Segmente sind.

A1

A2

B1 D1

D2

C1

C2

B2 A1

A2 C2

C1

B1 B2

D1 D2

0

2 2

Wie kann nun garantiert werden, dass jedes Segment tatsächlich gezeichnet wird, d.h.dass eine (optimale) Tour alle Segmentkanten besucht? Eine Möglichkeit (unter anderen)besteht darin, Zwischenknoten zwischen je zwei Segmentkanten einzufügen (im Bild untenin grau eingezeichnet):

12 Institut für Datenanalyse und Prozessdesign IDP Zürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011 © A. Klinkert, H. Gröflin

2.1.2 Eine Anwendung

Frage: Wie kann garantiert werden, dass jedes Segment tatsächlich gezeichnet wird, d.h. dass eine (optimale) Tour alle Segmentkanten besucht ?

Eine Möglichkeit (unter anderen): Füge einen Zwischenknoten auf jeder Segmentkante ein:

A1

A2

B1 D1

D2

C1

C2

B2

X1 X2

A1

A2 C2

C1

B1 B2

D1 D2

X1 X2

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 97: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 96

4.3.2 Einige Heuristiken für das TSP

Das TSP (d.h. die Bestimmung eines Hamiltonschen Zyklus minimaler Länge) ist, ausser inSpezialfällen, ein schwieriges (NP-vollständiges) Problem, d.h. es sind keine Algorithmenmit polynomialem Lösungsaufwand bekannt. Sogar um festzustellen, ob ein Graph einenHamiltonschen Zyklus besitzt oder nicht, ist schon NP-vollständig! Aus diesem Grundewurden schon früh zahlreiche Heuristiken für das TSP entwickelt. Einige klassische Heu-ristiken werden im folgenden besprochen.

Die Nearest Neighbor Heuristik

14 Institut für Datenanalyse und Prozessdesign IDP Zürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011 © A. Klinkert, H. Gröflin

2.2.1. Konstruktive Heuristiken A)  „Nearest  Neighbor“  Heuristik  

Initialisierung: Wähle einen Startknoten v. i(1) = v; S := {v}; k = 1; (* S sind die schon besuchten Knoten *)

Iterationen: WHILE S V DO (* d.h. solange nicht alle Knoten besucht sind *)

Ausgehend vom letzten besuchten Knoten i(k), bestimme einen unbesuchten Knoten j V-S, welcher am nähesten von i(k) ist, d.h.

di(k),j = min {di(k),v : (i(k),v) E} i(k+1) = j; S := S {j}; k := k + 1;

Finalisierung: Schliesse den Weg i(1), ..., i(n) mit der Kante (i(n), i(1)) zu einer Tour.

2.2.1 Konstruktive Heuristiken

Beispiel 4.11

15 Institut für Datenanalyse und Prozessdesign IDP Zürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011 © A. Klinkert, H. Gröflin

2.2.1 Konstruktive Heuristiken

Beispiel  für  „Nearest  Neighbor“  Heuristik:

7

6 3

4

4

5

7

4

9

8 5 8 4

2

3 1

5

6

4

5 9

3 6

4

Tour der Länge 31

(Startknoten ist 4.) Reihenfolge, in welcher die Knoten besucht werden: 4,2,6,5,3,1

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 98: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 97

Die Insertion Heuristik

16 Institut für Datenanalyse und Prozessdesign IDP Zürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011 © A. Klinkert, H. Gröflin

2.2.1 Konstruktive Heuristiken

B)  „Insertion“  Heuristiken Initialisierung: Wähle zwei Knoten v und w und  starte  mit  der  „Teiltour“    v, w, v. (* Wähle v und w beispielsweise so, dass dvw minimal ist. *) i(1) = v; i(2) = w; S := {v, w}; k = 2;

Iterationen: WHILE S V DO

(a) Bestimme einen geeigneten Knoten j V-S ausserhalb der Teiltour i(1), ..., i(k), i(1).

(b) Füge den Knoten j an geeigneter Stelle in die Teiltour ein, woraus eine neue Teiltour i(1), ..., i(k+1), i(1) resultiert.

S := S {j}; k := k + 1;

• Je nach Wahl des einzufügenden Knotens j in (a) und der Einfügestelle in  (b)  existieren  verschiedene  Versionen  der  „Insertion“  Heuristik.

Je nach Wahl des einzufügenden Knotens j in Teilsschritt (a) und der Einfügestelle inTeilschritt (b) existieren verschiedene Versionen der Insertion-Heuristik.

Definiere dazu die Distanz eines Knotens j ∈ V \S (ausserhalb der Teiltour) zur Teiltouri(1), . . . , i(k), i(1) als

dist(j) = min{di(r),j | r = 1, . . . , k

}.

Die Einfügestelle wird wie folgt gewählt: Seien p und q zwei aufeinanderfolgende Knotender Teiltour, d.h. p = i(r) und q = i(r+1) für ein gewisses 1 ≤ r ≤ k. Wenn der Knoten jzwischen p und q in die Teiltour eingefügt wird, verändert sich die Länge der Teiltour um

∆(j, p, q) = dpj + djq − dpq.

Der Knoten j wird an der besten Stelle p∗, q∗ in die Teiltour eingefügt, d.h. so dass dieVeränderung ∆(j, p, q) minimal ist:

∆(j, p∗, q∗) = min {δ(j, p, q) | p = i(r), q = i(r + 1) für ein 1 ≤ r ≤ k}

Für die Wahl des einzufügenden Knotens j gibt es (mindestens) zwei Möglichkeiten:

1) minimale Distanz zur Teiltour (nearest insertion), d.h.

dist(j) = min {dist(v) | v ∈ V \S}

2) maximale Distanz zur Teiltour (farthest insertion), d.h.

dist(j) = max {dist(v) | v ∈ V \S}

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 99: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 98

Beispiel 4.12

20 Institut für Datenanalyse und Prozessdesign IDP Zürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011 © A. Klinkert, H. Gröflin

2.2.1 Konstruktive Heuristiken

Beispiel  für  „Nearest  Insertion“-Heuristik:

7

6 3

4

4

5

7

4

9

8 5 8 4

2

3 1

5

6

4

7

6 3

4 5

7

4

9

8 5 8 4

2

3 1

5

6

6

5 4

Distanz

Einfügen: 1

7

6 3

4

4

5

7

4

9

8 5 8 4

2

3 1

5

6 9

4

6

Einfügen: 3

7

3

4

4

5

3 1

5

6

Zwischen 1 und 5: 5 + 4 – 7 = 2 Zwischen 5 und 6: 5 + - 3 =Zwischen 6 und 1: 4 +

Einfügen: 3 zwischen 1 und 5

21 Institut für Datenanalyse und Prozessdesign IDP Zürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011 © A. Klinkert, H. Gröflin

2.2.1 Konstruktive Heuristiken

7

6 3

4

4

5

7

4

9

8 5 8 4

2

3 1

5

6

4

7

6 3

4 5

7

4

9

8 5 8 4

2

3 1

5

6

6

Einfügen: 4

7

6 3

4

4

5

7

4

9

8 5 8 4

2

3 1

5

6

4

Einfügen: 2

Zwischen 3 und 4: 8+4-5=7 Zwischen 4 und 1: 4+8-9=3 Zwischen 1 und 6: 8+6-4=10 Zwischen 6 und 5: 6+7-3=10 Zwischen 5 und 3: 7+8-5=10

Änderung der Tourlänge:

Resultat: Tour der Länge 29

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 100: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 99

Verbesserungs-Heuristiken (Local Search)

Das Grundprinzip der Local Search Heuristik (auch Meta-Heuristik genannt) ist, eine ge-gebene Lösung sukzessive so zu verbessern, indem kleine (lokale) Veränderungen innerhalbeiner bestimmten Nachbarschaft vorgenommen werden. Wenn keine Verbesserung mehrmöglich ist, stoppt das Verfahren und die gegebene Lösung ist lokal optimal. Die bekann-testen Local Search Verfahren für das TSP sind die k-opt Heuristiken (i.a. k = 2, 3). Siebasieren auf dem Austausch von k Kanten in einer Tour durch k Kanten ausserhalb derTour.

Algorithmus für die 2-opt-Heuristik:

Initialisierung: Beginne mit einer Tour T.

Iterationen: Solange nicht alle Austausche versucht wurden, werden folgende Schritteausgeführt:

1. Bestimme ein Kantenpaar (i, j) und (p, q) in der Tour (i, j, p, q paarweise ver-schieden), für welches der Austausch noch nicht versucht wurde.

2. Vertausche versuchsweise die Kanten (i, j) und (p, q) mit den Kanten (i, p) und(j, q) ausserhalb der Tour und berechne die Änderung der Tourlänge δ = dip +djq − dij − dpq.

3. Wenn δ < 0, dann akzeptiere den Austausch (die Tour wurde verbessert): Be-nenne die neue Tour wiederum mit T und gehe zurück zu Schritt 1.

Bei der 3-opt Heuristik werden anstatt 2 nun 3 Kanten in der Tour vertauscht mit 3 Kantenausserhalb der Tour. Wenn drei Kanten (i, j), (k, l), (m,n) aus der Tour entfernt werden,entstehen 3 disjunkte Wege. Es gibt verschiedene Möglichkeiten, diese 3 Wege durch dreiandere Kanten zu einer neuen Tour zusammenzufügen (für k = 2 nur gibt es nur eine!).

Das Beispiel unten zeigt zwei von mehreren Möglichkeiten:

24 Institut für Datenanalyse und Prozessdesign IDP Zürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2011 © A. Klinkert, H. Gröflin

2.2.2 Verbesserungs-Heuristiken

„3-opt“  Heuristik • Lokale Veränderung: Anstatt k = 2 werden nun k = 3 Kanten in der

Tour vertauscht mit 3 Kanten ausserhalb der Tour. • Wenn drei Kanten (i,j), (k,l), (m,n) aus der Tour entfernt werden,

entstehen 3 disjunkte Wege. • Es gibt verschiedene Möglichkeiten, diese 3 Wege durch drei andere

Kanten zu einer neuen Tour zusammenzufügen (für k = 2 nur eine!) Beispiel (2 Möglichkeiten sind aufgeführt):

i n

m

l j

k

i n

m

l j

k

i n

m

l j

k

Eine Tour, welche nicht weiter verbessert werden kann durch einen Austausch von k Kantenwird k-optimal genannt.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 101: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 100

4.3.3 Eine IP-Formulierung für das symmetrische TSP

Diese Formulierung stammt von Dantzig, Fulkerson und Johnson (1954).

∑w∈V,(v,w)∈E

xvw = 2 für v ∈ V

∑v,w∈S,(v,w)∈E

xvw ≤ |S| − 1 für jede Teilmenge S ⊊ V mit |S| ≥ 3

0 ≤ xvw ≤ 1 für (v, w) ∈ E

xvw ganzzahlig für (v, w) ∈ E

min∑

(v,w)∈E

cvwxvw

Die Unbekannten xvw für (v, w) ∈ E modellieren die Inzidenzrelation eines Zyklus. DieGleichungen beschreiben die Tatsache, dass der Zyklus jeden Knoten nur einmal durch-läuft. Die Ungleichungen der zweiten Zeile bedingen, dass nur Touren mit einer einzigenZusammenhangskomponente zugelassen werden. Die restlichen Ungleichungen, zusammenmit der Bedingung, dass alle xvw ganzzahlig sein müssen, haben zur Folge, dass die xvwnur die Werte 0 oder 1 annehmen können (binäre Variable).

4.4 Optimale Bäume

4.4.1 Bäume in Graphen

In diesem Abschnitt ist G = (V,E) stets ein gewichteter Graph mit Kantengewichten demit e ∈ E. Das Gewicht (die Länge) eines Baumes in G ist definiert als die Summe derGewichte seiner Kanten.

Wir wollen nun ein Gerüst in G mit minimalem Gewicht bestimmen.

Beispiel 4.13Zehn Einfamilienhäuser einer Neubau-Siedlung sollen an einen Verzweigungsknoten desKabelfernseh-Netzes angeschlossen werden. Im unten stehenden Graphen sind die Häuserals runde Knoten und der Verzweigungsknoten als Quadrate eingezeichnet. Die möglichenPunkt-zu-Punkt-Verbindungen sowie die zugehörigen Konstruktionskosten (in Fr. 1000.-)sind als gewichtete Kanten des Graphen dargestellt.

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 102: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 101

Institut für Datenanalyse und Prozessdesign IDPZürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2008© A. Klinkert, H. Gröflin 5

3.1.1 Definitionen

Beispiel: Planung eines Kabelnetzes• Zehn Einfamilienhäuser einer Neubau-Siedlung sollen an einen

Verzweigungsknoten des Kabelfernseh-Netzes angeschlossen werden.• Im untenstehenden Graphen sind die Häuser als Knoten { und der

Verzweigungsknoten als � eingezeichnet.• Die möglichen Punkt-zu-Punkt-Verbindungen sowie die zugehörigen

Konstruktionskosten (in Fr. 1000.-) sind als gewichtete Kanten des Graphen dargestellt.

2

3

4

1 10

7

8

9

5

60

1

1 75 10

3

69 3 4

1

12

14

5

2

11

124

10

20

8

8

7

38Wie soll das Kabelnetz konstruiert werden, damit die Gesamtkosten minimal sind?

Wie soll das Kabelnetz konstruiert werden, damit die Gesamtkosten minimal sind?

Damit jedes Haus (direkt oder indirekt) an die Verzweigungsdose angeschlossen ist, genügtes, das Kabelnetz so zu konstruieren, dass es ein Gerüst im Graphen darstellt. Das Netzmuss offensichtlich zusammenhängend sein. Ein Netz mit minimalen Kosten enthält sicherkeinen Zyklus, denn andernfalls könnte eine beliebige Kante des Zyklus entfernt werden,und es wären weiterhin alle Häuser an die Verzweigungsdose angeschlossen. Ein Netz mi-nimaler Kosten kann somit gefunden werden, indem ein Gerüst minimalen Gewichts imGraphen bestimmt wird.

Institut für Datenanalyse und Prozessdesign IDPZürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2008© A. Klinkert, H. Gröflin 6

3.1.1 Definitionen

• Damit jedes Haus (direkt oder indirekt) an die Verzweigungsdose angeschlossen ist, genügt es, das Kabelnetz so zu konstruieren, dass es ein Gerüst im Graphen darstellt:

• Das Netz muss offensichtlich zusammenhängend sein.• Ein Netz minimaler Kosten enthält sicher keinen Zyklus. Andernfalls könnte

eine beliebige Kante des Zyklus entfernt werden, und es wären weiterhin alle Häuser an die Verzweigungsdose angeschlossen.

• Ein Netz minimaler Kosten kann somit gefunden werden, indem ein Gerüst minimalen Gewichts im Graphen bestimmt wird.

Ein Gerüst mit Gewicht 10+7+12+9+7+3+10+12+3+2 = 75(nicht minimal!)

2

3

4

1 10

7

8

9

5

60

1

1 75 10

3

69 3 4

1

12

14

5

2

11

124

10

20

8

8

7

38

18

5

2

79

6

3

4

10

Das obige Beispiel zeigt ein Gerüst vom Gewicht 75. Gibt es Gerüste mit kleinerem Ge-wicht?

Das Problem des minimalen Gerüsts ist eines der einfachsten Probleme der Kombinato-rischen Optimierung! Es kann mit dem Kruskal-Algorithmus (Typ Greedy) auf einfacheWeise exakt gelöst werden.

Institut für Datenanalyse und Prozessdesign IDPZürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2008© A. Klinkert, H. Gröflin 7

3.1.2 Minimales Gerüst und Kruskal-Algorithmus

3.1.2 Minimales Gerüst und Kruskal-Algorithmus • Das Problem des minimalen Gerüsts ist eines der einfachsten Probleme

der Kombinatorischen Optimierung! Es kann mit dem Kruskal-Algorithmus (Typ „Greedy“) auf einfache Weise exakt gelöst werden.

Algorithmus von Kruskal :• Sei n die Anzahl Knoten und m die Anzahl Kanten des Graphen.

Ordne die Kanten nach aufsteigenden Gewichten: e1, e2, e3,... emd.h.

Initialisierung: Menge der gewählten Kanten J := �; i := 0;Iterationen:

WHILE _ J_�� n –1 DOi := i +1Falls ei � J keinen Zyklus enthält, wähle ei , d.h. J:= ei � J.

meeee dddd dddd ...321

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 103: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 102

Eine Anwendung des Kruskal-Algorithmus auf unser Kabelnetz-Problem ergibt folgendesGerüst mit dem minimalen Gewicht von 30.

Institut für Datenanalyse und Prozessdesign IDPZürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2008© A. Klinkert, H. Gröflin 9

3.1.2 Minimales Gerüst und Kruskal-Algorithmus

Lösung:• Ein minimales Gerüst ist:

2

3

4

1 10

7

8

9

5

60

1

1 75

10

3

69 3 4

1

12

14

5

2

11

124

10

20

8

8

7

38 Minimale Kosten:1+1+3+2+1+3+4+5+6+4 = 30

Eine IP-Formulierung für das minimale Gerüst Problem

∑(v,w)∈E,v∈Sp,w∈Sq ,p=q

xvw ≥ k − 1 für jede Partition S1, . . . , Sk von V

0 ≤ xvw ≤ 1 für (v, w) ∈ E

xvw ganzzahlig für (v, w) ∈ E

min∑

(v,w)∈E

dvwxvw

Die Unbekannten xvw für (v, w) ∈ E modellieren die Inzidenzrelation eines Gerüsts. EinePartition von V in paarweise disjunkte Teilmengen S1, . . . , Sk ist dann gegeben, wennV = S1∪· · ·∪Sk gilt. Die oberen Ungleichungen beschreiben die Tatsache, dass mindestensk − 1 Kanten zwischen den Mengen S1, . . . , Sk ausgewählt werden müssen. Das untenstehende Beispiel illustriert den Fall für k = 4.

Institut für Datenanalyse und Prozessdesign IDPZürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2008© A. Klinkert, H. Gröflin 14

3.1.3 Formulierungen als ILP und LP

• Bedeutung der Restriktionen: Garantieren den Zusammenhang zwischen den Teilmengen jeder Partition.:

Mindestens k-1 Kanten müssen ausgewählt werden (mit xij = 1) „zwischen“ den Mengen S1,.., Sk

2

3

4

1 10

7

8

9

5

60

1

1 75 10

3

69 3 4

1

12

14

5

2

11

124

10

20

8

8

7

38

S1

1,,),(

�t¦z��

kxpqSjSimit

jiKantenalleij

qp

S2

S4

S3Beispiel: k = 4: eine Partition S1,...,S4:Mindestens k-1= 3 Kanten müssen ausgewählt werden (mit xij = 1) unter den gestrichelten Kanten ----

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 104: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 103

Die restlichen Ungleichungen, zusammen mit der Bedingung, dass alle xvw ganzzahlig seinmüssen, haben zur Folge, dass die xvw nur die Werte 0 oder 1 annehmen können (binäreVariable).

4.4.2 Steiner-Bäume

Beispiel 4.14Wir modifizieren unser Kabelnetz-Beispiel wie folgt: Die sieben Einfamilienhäuser müssenan eine Verzweigungsdose angeschlossen werden, wobei für die Verbindungen Zwischenkno-ten verwendet werden können (im Bsp: 0, 1, 2 oder 3 Zwischenknoten). Im unten stehendenGraphen sind die neuen Zwischenknoten als Dreiecke eingezeichnet.

Institut für Datenanalyse und Prozessdesign IDPZürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2008© A. Klinkert, H. Gröflin 15

3.2 Steiner-Bäume3.2.1 DefinitionenBeispiel: Planung eines Kabelnetzes (modifiziert).• Sieben Einfamilienhäuser müssen an eine Verzweigungsdose

angeschlossen werden, wobei für die Verbindungen Zwischenknoten verwendet werden können (im Bsp: 0, 1, 2 oder 3 Zwischenknoten).

• Im untenstehen Graphen sind folgende Knoten eingezeichnet:• Häuser {� Verzweigungsdose � mögliche Zwischenknoten

3.2 Steiner-Bäume

10

7

2

3

4

18

9

5

60

1

1 75

10

3

69 3 4

1

12

14

5

2

11

124

10

20

8

8

7

38

Wie soll das Kabelnetz eingerichtet werden, damit die Anschlusskosten minimal sind?

Es geht nun darum, einen Baum zu bestimmen, welcher alle Häuser-Knoten sowie alle Ver-zweigungsknoten enthält, d.h. die Knoten N = {0, 1, 3, 4, 5, 6, 8, 9}. Zusätzlich kann (mussaber nicht) der Baum auch Zwischenknoten aus der Menge V \N = {2, 7, 10} benützen.Ein solcher Baum bildet einen Steiner-Baum im Graphen G = (V,E) mit obligatorischenKnoten N und fakultativen Knoten V \N , die Steiner-Knoten genannt werden.

Das Problem des minimalen Steiner-Baums besteht darin, unter allen möglichen Steiner-Bäumen von G einen mit minimalem Gewicht zu finden.

Die beiden Graphen zeigen zwei mögliche Steiner-Bäume.

Institut für Datenanalyse und Prozessdesign IDPZürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2008© A. Klinkert, H. Gröflin 17

3.2.1 Definitionen

Einige Steiner-Bäume im Beispiel :

10

7

2

3

4

18

5

6

1

1 75 10

3

69 3

1

12

14

2

11

124

10

20

8

8

7

38

0

9

45

18

5

9

6

3

4

0

2

10

7

18

5

9

6

3

4

0

7

18

5

9

6

3

4

0

10

7

Institut für Datenanalyse und Prozessdesign IDPZürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2008© A. Klinkert, H. Gröflin 17

3.2.1 Definitionen

Einige Steiner-Bäume im Beispiel :

10

7

2

3

4

18

5

6

1

1 75 10

3

69 3

1

12

14

2

11

124

10

20

8

8

7

38

0

9

45

18

5

9

6

3

4

0

2

10

7

18

5

9

6

3

4

0

7

18

5

9

6

3

4

0

10

7

ZHAW bodr, 12. Mai 2014 "Operations Research".tex

Page 105: Operations Research - MyWWW ZHAWOperations Research (OR) ist ein wissenschaftlicher Ansatz zur Problemanalyse und Entscheidungsfindung. Sein Ziel ist es, rationale Entscheidungsgrundlagen

KAPITEL 4. OPTIMIERUNGSPROBLEME AUF GRAPHEN 104

Eine naive, aber exakte, Methode, einen Steiner-Baum von G mit minimalem Gewichtzu finden ist es, alle möglichen Kombinationen von Steiner-Knoten prüfen. Für jede Aus-wahl von Steiner-Knoten wird das entsprechende Problem des minimalen Gerüsts gelöst(die Knotenmenge ist festgelegt). Unter diesen minimalen Gerüsten, wähle dasjenige mitkleinstem Gewicht. Die Anzahl Kombinationen von Steiner-Knoten wächst exponentiellmit der Anzahl Steiner-Knoten |V − N |: 2|V−N | Kombinationen. Folglich ist Ansatz nurmöglich, wenn die Anzahl Steiner-Knoten klein ist!

Eine Illustration im Beispiel mit Steiner-Knoten V \N = {2, 7, 10} ergibt die folgendenacht Kombinationen von Steiner-Knoten:

Institut für Datenanalyse und Prozessdesign IDPZürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2008© A. Klinkert, H. Gröflin 19

3.2.2 Ein einfacher Lösungsansatz

• Die acht entsprechenden Probleme des minimalen Gerüsts:

3

4

18

5

65

6

1

14

11

4

10

20

80

9

45

2

3

4

18

5

6

1

1 75

6

1

14

11

4

10

20

8

8

0

9

45

10

3

4

18

5

65 10

3

6

1

14

2

11

4

10

20

8

3

0

9

45

73

4

18

5

65

69 3

1

12

14

11

124

10

20

8

7

0

9

45

1)

3) 4)

2)

Institut für Datenanalyse und Prozessdesign IDPZürcher Hochschule für Angewandte Wissenschaften ZHAW

Operations Research, FS 2008© A. Klinkert, H. Gröflin 20

3.2.2 Ein einfacher Lösungsansatz

10

7

2

3

4

18

5

6

1

1 75 10

3

69 3

1

12

14

2

11

124

10

20

8

8

7

38

0

9

45

10

73

4

18

5

65 10

3

69 3

1

12

14

2

11

124

10

20

8

7

38

0

9

45

10

2

3

4

18

5

6

1

1 75 10

3

6

1

14

2

11

4

10

20

8

8 3

0

9

45

7

2

3

4

18

5

6

1

1 75

69 3

1

12

14

11

124

10

20

8

8

7

0

9

45

5)

7) 8)

6)

ZHAW bodr, 12. Mai 2014 "Operations Research".tex