• Keine Ergebnisse gefunden

Effiziente Algorithmen (SS2015) Kapitel 7 Lineare Programme 2 Walter Unger

N/A
N/A
Protected

Academic year: 2022

Aktie "Effiziente Algorithmen (SS2015) Kapitel 7 Lineare Programme 2 Walter Unger"

Copied!
80
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Effiziente Algorithmen (SS2015)

Kapitel 7 Lineare Programme 2

Walter Unger

Lehrstuhl für Informatik 1

11:15 Uhr, den 15. Juli 2015

(2)

Algorithmus von Seidel Dualität Ganzzahligkeit

7 Inhaltsverzeichnis < > Walter Unger 15.7.2015 11:15 SS2015 Z

Inhalt I

1 Algorithmus von Seidel Einleitung Details Algorithmus Laufzeit

2 Dualität

Einleitung Aussagen Beispiele

3 Ganzzahligkeit Einleitung Unimodularität

(3)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:1 Einleitung < > Walter Unger 15.7.2015 11:15 SS2015 Z

Idee des Algorithmus von Seidel

Wenn die Dimension klein ist, oder die Anzahl der Nebenbedingungen klein ist, dann ist das Lösen von einem Ungleichungssystem einfach. Daher wird beim Algorithmus von Seidel eine kleine Menge von Nebenbedingungen zufällig aus- gewählt und für dieses vereinfachte System dann eine Lösung bestimmt.

Danach werden zufällig die bisher nicht betrachteten Nebenbedingungen hin- zugefügt. Es gibt dann zwei Möglichkeiten:

Die bisher berechnete Lösung ist zufällig weiterhin gültig und damit weiterhin optimal.

Die bisher berechnete Lösung ist nicht mehr gültig. Damit muss die neue optimal Lösung auf dem Schnitt mit dem bisherigen Polyhedron und der durch die hinzugefügte Nebenbedingung bestimmte Hyperebene liegen.

Nun wird rekursiv auf diesem Schnitt eine neue optimal Lösung bestimmt.

Zu beachten ist, daß das im Weitern beschriebene Verfahren rekursiv ist, d.h.

es fängt mit dem Löschen von Nebenbedingungen an, bis ein einfaches kleines System entsteht. Nachdem da eine Lösung gefunden ist, werden die Nebenbe- dingungen wieder einzeln eingefügt.

(4)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:2 Einleitung < > Walter Unger 15.7.2015 11:15 SS2015 Z

Die Idee

Kann eine zufällige Auswahl helfen?

Können effiziente Algorithmen noch schneller gemacht werden?

Kann bei schweren Problemen mit ausreichender Wahrscheinlichkeit ein gutes Ergebnis erreicht werden?

(5)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:3 Einleitung < > Walter Unger 15.7.2015 11:15 SS2015 Z

Einleitung

Bestimme Extrempunkt eines Polyhedrons bezüglich einer Zielfunktion.

Eingabe:

Gegeben sindd Variablen.

Gegeben sindmlineare Ungleichungen (Nebenbedingungen).

Gegeben ist eine lineare Zielfunktionf über died Variablen.

Gesucht:

Maximieref unter Berücksichtigung aller Nebenbedingungen.

Das ist ein LP (lineares Programm)

Obere Schranke für Laufzeit:O((md)) =O(nd).

Untersuche für jeded-elementige Teilmenge dermUngleichungen den jeweiligen Schnittpunkt (Basislösung).

Hier nun Algorithmus mit erwarteter linearer Laufzeit (d.h. linear inm).

(6)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:4 Einleitung 1∕10 < > Walter Unger 15.7.2015 11:15 SS2015 Z

Beispiel

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

f1 f2

3f f4

f5

f6

f7 f8 f9

Maximierey unter den Nebenbedingungen 0≤x≤20, 0≤y≤10, und:

f1y ≤3⋅x+1 f4y≤ −0.9⋅x+9 f7y≥0.5⋅x−5 f2y ≤1⋅x+2 f5y≥ −0.9⋅x+2 f8y≥1⋅x−10 f3y ≤ −2⋅x+30 f6y≤ −2⋅x+40 f9y≤1.05⋅x+8

(7)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:4 Einleitung 2∕10 < > Walter Unger 15.7.2015 11:15 SS2015 Z

Beispiel

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

f1

f2

3f f4

f5

f6

f7 f8 f9

Maximierey unter den Nebenbedingungen 0≤x≤20, 0≤y≤10, und:

f1y ≤3⋅x+1

f4y≤ −0.9⋅x+9 f7y≥0.5⋅x−5 f2y ≤1⋅x+2 f5y≥ −0.9⋅x+2 f8y≥1⋅x−10 f3y ≤ −2⋅x+30 f6y≤ −2⋅x+40 f9y≤1.05⋅x+8

(8)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:4 Einleitung 3∕10 < > Walter Unger 15.7.2015 11:15 SS2015 Z

Beispiel

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

f1 f2

3f f4

f5

f6

f7 f8 f9

Maximierey unter den Nebenbedingungen 0≤x≤20, 0≤y≤10, und:

f1y ≤3⋅x+1

f4y≤ −0.9⋅x+9 f7y≥0.5⋅x−5

f2y ≤1⋅x+2

f5y≥ −0.9⋅x+2 f8y≥1⋅x−10 f3y ≤ −2⋅x+30 f6y≤ −2⋅x+40 f9y≤1.05⋅x+8

(9)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:4 Einleitung 4∕10 < > Walter Unger 15.7.2015 11:15 SS2015 Z

Beispiel

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

f1 f2

3f

f4

f5

f6

f7 f8 f9

Maximierey unter den Nebenbedingungen 0≤x≤20, 0≤y≤10, und:

f1y ≤3⋅x+1

f4y≤ −0.9⋅x+9 f7y≥0.5⋅x−5

f2y ≤1⋅x+2

f5y≥ −0.9⋅x+2 f8y≥1⋅x−10

f3y ≤ −2⋅x+30

f6y≤ −2⋅x+40 f9y≤1.05⋅x+8

(10)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:4 Einleitung 5∕10 < > Walter Unger 15.7.2015 11:15 SS2015 Z

Beispiel

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

f1 f2

3f f4

f5

f6

f7 f8 f9

Maximierey unter den Nebenbedingungen 0≤x≤20, 0≤y≤10, und:

f1y ≤3⋅x+1 f4y≤ −0.9⋅x+9

f7y≥0.5⋅x−5

f2y ≤1⋅x+2

f5y≥ −0.9⋅x+2 f8y≥1⋅x−10

f3y ≤ −2⋅x+30

f6y≤ −2⋅x+40 f9y≤1.05⋅x+8

(11)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:4 Einleitung 6∕10 < > Walter Unger 15.7.2015 11:15 SS2015 Z

Beispiel

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

f1 f2

3f f4

f5

f6

f7 f8 f9

Maximierey unter den Nebenbedingungen 0≤x≤20, 0≤y≤10, und:

f1y ≤3⋅x+1 f4y≤ −0.9⋅x+9

f7y≥0.5⋅x−5

f2y ≤1⋅x+2 f5y≥ −0.9⋅x+2

f8y≥1⋅x−10

f3y ≤ −2⋅x+30

f6y≤ −2⋅x+40 f9y≤1.05⋅x+8

(12)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:4 Einleitung 7∕10 < > Walter Unger 15.7.2015 11:15 SS2015 Z

Beispiel

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

f1 f2

3f f4

f5

f6

f7 f8 f9

Maximierey unter den Nebenbedingungen 0≤x≤20, 0≤y≤10, und:

f1y ≤3⋅x+1 f4y≤ −0.9⋅x+9

f7y≥0.5⋅x−5

f2y ≤1⋅x+2 f5y≥ −0.9⋅x+2

f8y≥1⋅x−10

f3y ≤ −2⋅x+30 f6y≤ −2⋅x+40

f9y≤1.05⋅x+8

(13)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:4 Einleitung 8∕10 < > Walter Unger 15.7.2015 11:15 SS2015 Z

Beispiel

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

f1 f2

3f f4

f5

f6

f7

f8 f9

Maximierey unter den Nebenbedingungen 0≤x≤20, 0≤y≤10, und:

f1y ≤3⋅x+1 f4y≤ −0.9⋅x+9 f7y≥0.5⋅x−5 f2y ≤1⋅x+2 f5y≥ −0.9⋅x+2

f8y≥1⋅x−10

f3y ≤ −2⋅x+30 f6y≤ −2⋅x+40

f9y≤1.05⋅x+8

(14)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:4 Einleitung 9∕10 < > Walter Unger 15.7.2015 11:15 SS2015 Z

Beispiel

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

f1 f2

3f f4

f5

f6

f7 f8

f9

Maximierey unter den Nebenbedingungen 0≤x≤20, 0≤y≤10, und:

f1y ≤3⋅x+1 f4y≤ −0.9⋅x+9 f7y≥0.5⋅x−5 f2y ≤1⋅x+2 f5y≥ −0.9⋅x+2 f8y≥1⋅x−10 f3y ≤ −2⋅x+30 f6y≤ −2⋅x+40

f9y≤1.05⋅x+8

(15)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:4 Einleitung 10∕10 < > Walter Unger 15.7.2015 11:15 SS2015 Z

Beispiel

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

f1 f2

3f f4

f5

f6

f7 f8 f9

Maximierey unter den Nebenbedingungen 0≤x≤20, 0≤y≤10, und:

f1y ≤3⋅x+1 f4y≤ −0.9⋅x+9 f7y≥0.5⋅x−5 f2y ≤1⋅x+2 f5y≥ −0.9⋅x+2 f8y≥1⋅x−10 f3y ≤ −2⋅x+30 f6y≤ −2⋅x+40 f9y≤1.05⋅x+8

(16)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:5 Details < > Walter Unger 15.7.2015 11:15 SS2015 Z

Vorgaben

Variablen:x1,x2, . . . ,xd mit:

x= (x1,x2, . . . ,xd)T und Nebenbedingungen:Axbmit:

Aist einem×d Matrix und b= (b1,b2, . . . ,bd)T. Zielfunktionf(x) =cTx mit:

c= (c1,c2, . . . ,cd).

O.B.d.A. gibt es eine zulässige Lösung.

O.B.d.A. ist die Lösung eindeutig.

Falls nicht, so setze:

ci=ci+εi für einε>0.

Zielfunktion wird virtuell perturbiert (durcheinander wirbeln,stören).

D.h. es wird lexikographisch kleinste Basislösung gewählt.

Jede Nebenbedingung entspricht einer Hyperebene.

(17)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:6 Details < > Walter Unger 15.7.2015 11:15 SS2015 Z

Vorgaben

Das LP sollte nicht unbeschränkt sein.

Daher werden zusätzlich Box-Bedingungen eingefügt.

−t≤xit für: (1≤id).

t muss so groß sein, dass keine Basislösung verloren geht.

D.h. in jeder Basislösung müssen die Variablenwerte zwischent und

t liegen.

So ein Werttexistiert immer.

t kann polynomiell in der Eingabelänge bestimmt werden.

Man kann aucht als symbolischen Wert darstellen.

Dann wirdtim folgenden Algorithmus immer größer sein als jeder bis dahin berechnete Wert.

(18)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:7 Algorithmus < > Walter Unger 15.7.2015 11:15 SS2015 Z

Algorithmus von Seidel (1991)

Idee:

SeiHdie Menge der Nebenbedingungen (Ohne Box-Bedingungen).

Wähle zufällighH aus, und löse dann rekursiv.

FürHHseiLP(H)das LP, bei dem alle Nebenbedingungen aus HHgestrichen wurden.

Die optimale Basislösung vonLP(H)wird mitopt(H)bezeichnet.

Algorithmus von Seidel:

1 Fallsd=1 oderm=0, so gebeopt(H)aus.

2 Ansonsten wähle uniform eine NebenbedingunghHaus, und berechneopt(H∖ {h})rekursiv.

3 Fallsopt(H∖ {h})die Nebenbedingunghnicht verletzt, so gebe opt(H∖ {h}) =opt(H)aus.

4 Ansonsten berechne den Schnitt des Lösungspolyhedrons mit der Hyperebeneh, und löse das so entstandene(d−1)-dimensionale LP rekursiv.

(19)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:8 Algorithmus 1∕9 < > Walter Unger 15.7.2015 11:15 SS2015 Z

Beispiel (Abstieg der ersten vier Rekursionen)

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

f1 f2

f3 f4

f5

f6

f7

f8 f9

Entferne nacheinander

f8,f1,f5 undf7und löse jeweils rekursiv.

f1y≤3⋅x+1 f4y≤ −0.9⋅x+9 f7y ≥0.5⋅x−5 f2y≤1⋅x+2 f5y≥ −0.9⋅x+2 f8y ≥1⋅x−10 f3y≤ −2⋅x+30 f6y≤ −2⋅x+40 f9y ≤1.05⋅x+8

1. Fallsd=1 oderm=0, so gebeopt(H) aus.

2. Ansonsten wählehH aus, und berechne opt(H∖ {h}) rekursiv.

3.Falls opt(H∖ {h}) die Nebenbe- dingunghnicht verletzt, so gebeopt(H∖ {h}) = opt(H)aus.

4. Ansonsten berechne den Schnitt mit der Hyperebeneh, und löse das so entstandene (d1)- dimensionale LP rekursiv.

(20)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:8 Algorithmus 2∕9 < > Walter Unger 15.7.2015 11:15 SS2015 Z

Beispiel (Abstieg der ersten vier Rekursionen)

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

f1 f2

f3 f4

f5

f6

f7

f8 f9

Entferne nacheinanderf8,

f1,f5 undf7und löse jeweils rekursiv.

f1y≤3⋅x+1 f4y≤ −0.9⋅x+9 f7y ≥0.5⋅x−5 f2y≤1⋅x+2 f5y≥ −0.9⋅x+2 f8y ≥1⋅x−10 f3y≤ −2⋅x+30 f6y≤ −2⋅x+40 f9y ≤1.05⋅x+8

1. Fallsd=1 oderm=0, so gebeopt(H) aus.

2. Ansonsten wählehH aus, und berechne opt(H∖ {h}) rekursiv.

3.Falls opt(H∖ {h}) die Nebenbe- dingunghnicht verletzt, so gebeopt(H∖ {h}) = opt(H)aus.

4. Ansonsten berechne den Schnitt mit der Hyperebeneh, und löse das so entstandene (d1)- dimensionale LP rekursiv.

(21)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:8 Algorithmus 3∕9 < > Walter Unger 15.7.2015 11:15 SS2015 Z

Beispiel (Abstieg der ersten vier Rekursionen)

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

f1 f2

f3 f4

f5

f6

f7

f8 f9

Entferne nacheinanderf8,

f1,f5 undf7und löse jeweils rekursiv.

f1y≤3⋅x+1 f4y≤ −0.9⋅x+9 f7y ≥0.5⋅x−5 f2y≤1⋅x+2 f5y≥ −0.9⋅x+2 f8y ≥1⋅x−10 f3y≤ −2⋅x+30 f6y≤ −2⋅x+40 f9y ≤1.05⋅x+8

1. Fallsd=1 oderm=0, so gebeopt(H) aus.

2. Ansonsten wählehH aus, und berechne opt(H∖ {h}) rekursiv.

3.Falls opt(H∖ {h}) die Nebenbe- dingunghnicht verletzt, so gebeopt(H∖ {h}) = opt(H)aus.

4. Ansonsten berechne den Schnitt mit der Hyperebeneh, und löse das so entstandene (d1)- dimensionale LP rekursiv.

(22)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:8 Algorithmus 4∕9 < > Walter Unger 15.7.2015 11:15 SS2015 Z

Beispiel (Abstieg der ersten vier Rekursionen)

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

f1 f2

f3 f4

f5

f6

f7

f8

f9

Entferne nacheinanderf8,f1,

f5 undf7und löse jeweils rekursiv.

f1y≤3⋅x+1 f4y≤ −0.9⋅x+9 f7y ≥0.5⋅x−5 f2y≤1⋅x+2 f5y≥ −0.9⋅x+2

f8y≥1⋅x−10

f3y≤ −2⋅x+30 f6y≤ −2⋅x+40 f9y ≤1.05⋅x+8

1. Fallsd=1 oderm=0, so gebeopt(H) aus.

2. Ansonsten wählehH aus, und berechne opt(H∖ {h}) rekursiv.

3.Falls opt(H∖ {h}) die Nebenbe- dingunghnicht verletzt, so gebeopt(H∖ {h}) = opt(H)aus.

4. Ansonsten berechne den Schnitt mit der Hyperebeneh, und löse das so entstandene (d1)- dimensionale LP rekursiv.

(23)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:8 Algorithmus 5∕9 < > Walter Unger 15.7.2015 11:15 SS2015 Z

Beispiel (Abstieg der ersten vier Rekursionen)

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

f1 f2

f3 f4

f5

f6

f7

f8

f9

Entferne nacheinanderf8,f1,

f5 undf7und löse jeweils rekursiv.

f1y≤3⋅x+1 f4y≤ −0.9⋅x+9 f7y ≥0.5⋅x−5 f2y≤1⋅x+2 f5y≥ −0.9⋅x+2

f8y≥1⋅x−10

f3y≤ −2⋅x+30 f6y≤ −2⋅x+40 f9y ≤1.05⋅x+8

1. Fallsd=1 oderm=0, so gebeopt(H) aus.

2. Ansonsten wählehH aus, und berechne opt(H∖ {h}) rekursiv.

3.Falls opt(H∖ {h}) die Nebenbe- dingunghnicht verletzt, so gebeopt(H∖ {h}) = opt(H)aus.

4. Ansonsten berechne den Schnitt mit der Hyperebeneh, und löse das so entstandene (d1)- dimensionale LP rekursiv.

(24)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:8 Algorithmus 6∕9 < > Walter Unger 15.7.2015 11:15 SS2015 Z

Beispiel (Abstieg der ersten vier Rekursionen)

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

f1

f2

f3 f4

f5

f6

f7

f8

f9

Entferne nacheinanderf8,f1,f5

undf7und löse jeweils rekursiv. f1y≤3⋅x+1

f4y≤ −0.9⋅x+9 f7y ≥0.5⋅x−5 f2y≤1⋅x+2 f5y≥ −0.9⋅x+2

f8y≥1⋅x−10

f3y≤ −2⋅x+30 f6y≤ −2⋅x+40 f9y ≤1.05⋅x+8

1. Fallsd=1 oderm=0, so gebeopt(H) aus.

2. Ansonsten wählehH aus, und berechne opt(H∖ {h}) rekursiv.

3.Falls opt(H∖ {h}) die Nebenbe- dingunghnicht verletzt, so gebeopt(H∖ {h}) = opt(H)aus.

4. Ansonsten berechne den Schnitt mit der Hyperebeneh, und löse das so entstandene (d1)- dimensionale LP rekursiv.

(25)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:8 Algorithmus 7∕9 < > Walter Unger 15.7.2015 11:15 SS2015 Z

Beispiel (Abstieg der ersten vier Rekursionen)

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

f1

f2

f3 f4

f5

f6

f7

f8

f9

Entferne nacheinanderf8,f1,f5

undf7und löse jeweils rekursiv. f1y≤3⋅x+1

f4y≤ −0.9⋅x+9 f7y ≥0.5⋅x−5 f2y≤1⋅x+2 f5y≥ −0.9⋅x+2

f8y≥1⋅x−10

f3y≤ −2⋅x+30 f6y≤ −2⋅x+40 f9y ≤1.05⋅x+8

1. Fallsd=1 oderm=0, so gebeopt(H) aus.

2. Ansonsten wählehH aus, und berechne opt(H∖ {h}) rekursiv.

3.Falls opt(H∖ {h}) die Nebenbe- dingunghnicht verletzt, so gebeopt(H∖ {h}) = opt(H)aus.

4. Ansonsten berechne den Schnitt mit der Hyperebeneh, und löse das so entstandene (d1)- dimensionale LP rekursiv.

(26)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:8 Algorithmus 8∕9 < > Walter Unger 15.7.2015 11:15 SS2015 Z

Beispiel (Abstieg der ersten vier Rekursionen)

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

f1

f2

f3 f4

f5

f6

f7

f8

f9

Entferne nacheinanderf8,f1,f5 undf7und löse jeweils rekursiv.

f1y≤3⋅x+1

f4y≤ −0.9⋅x+9 f7y ≥0.5⋅x−5 f2y≤1⋅x+2

f5y≥ −0.9⋅x+2 f8y≥1⋅x−10

f3y≤ −2⋅x+30 f6y≤ −2⋅x+40 f9y ≤1.05⋅x+8

1. Fallsd=1 oderm=0, so gebeopt(H) aus.

2. Ansonsten wählehH aus, und berechne opt(H∖ {h}) rekursiv.

3.Falls opt(H∖ {h}) die Nebenbe- dingunghnicht verletzt, so gebeopt(H∖ {h}) = opt(H)aus.

4. Ansonsten berechne den Schnitt mit der Hyperebeneh, und löse das so entstandene (d1)- dimensionale LP rekursiv.

(27)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:8 Algorithmus 9∕9 < > Walter Unger 15.7.2015 11:15 SS2015 Z

Beispiel (Abstieg der ersten vier Rekursionen)

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

f1

f2

f3 f4

f5

f6

f7

f8

f9

Entferne nacheinanderf8,f1,f5 undf7und löse jeweils rekursiv.

f1y≤3⋅x+1

f4y≤ −0.9⋅x+9 f7y ≥0.5⋅x−5 f2y≤1⋅x+2

f5y≥ −0.9⋅x+2 f8y≥1⋅x−10

f3y≤ −2⋅x+30 f6y≤ −2⋅x+40 f9y ≤1.05⋅x+8

1. Fallsd=1 oderm=0, so gebeopt(H) aus.

2. Ansonsten wählehH aus, und berechne opt(H∖ {h}) rekursiv.

3.Falls opt(H∖ {h}) die Nebenbe- dingunghnicht verletzt, so gebeopt(H∖ {h}) = opt(H)aus.

4. Ansonsten berechne den Schnitt mit der Hyperebeneh, und löse das so entstandene (d1)- dimensionale LP rekursiv.

(28)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:9 Algorithmus 1∕11 < > Walter Unger 15.7.2015 11:15 SS2015 Z

Beispiel (Abstieg der nächsten vier Rekursionen)

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

f2

f3 f4

f6 f9

opt opt

Entferne nacheinander

f4,f6,f3 undf2und löse jeweils rekursiv.

f4y≤ −0.9⋅x+9 f2y≤1⋅x+2

f3y≤ −2⋅x+30 f6y≤ −2⋅x+40 f9y ≤1.05⋅x+8

1. Fallsd=1 oderm=0, so gebeopt(H) aus.

2. Ansonsten wählehH aus, und berechne opt(H∖ {h}) rekursiv.

3.Falls opt(H∖ {h}) die Nebenbe- dingunghnicht verletzt, so gebeopt(H∖ {h}) = opt(H)aus.

4. Ansonsten berechne den Schnitt mit der Hyperebeneh, und löse das so entstandene (d1)- dimensionale LP rekursiv.

(29)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:9 Algorithmus 2∕11 < > Walter Unger 15.7.2015 11:15 SS2015 Z

Beispiel (Abstieg der nächsten vier Rekursionen)

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

f2

f3 f4

f6 f9

opt opt

Entferne nacheinanderf4,

f6,f3 undf2und löse jeweils rekursiv.

f4y≤ −0.9⋅x+9 f2y≤1⋅x+2

f3y≤ −2⋅x+30 f6y≤ −2⋅x+40 f9y ≤1.05⋅x+8

1. Fallsd=1 oderm=0, so gebeopt(H) aus.

2. Ansonsten wählehH aus, und berechne opt(H∖ {h}) rekursiv.

3.Falls opt(H∖ {h}) die Nebenbe- dingunghnicht verletzt, so gebeopt(H∖ {h}) = opt(H)aus.

4. Ansonsten berechne den Schnitt mit der Hyperebeneh, und löse das so entstandene (d1)- dimensionale LP rekursiv.

(30)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:9 Algorithmus 3∕11 < > Walter Unger 15.7.2015 11:15 SS2015 Z

Beispiel (Abstieg der nächsten vier Rekursionen)

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

f2

f3 f4

f6 f9

opt opt

Entferne nacheinanderf4,

f6,f3 undf2und löse jeweils rekursiv.

f4y≤ −0.9⋅x+9 f2y≤1⋅x+2

f3y≤ −2⋅x+30 f6y≤ −2⋅x+40 f9y ≤1.05⋅x+8

1. Fallsd=1 oderm=0, so gebeopt(H) aus.

2. Ansonsten wählehH aus, und berechne opt(H∖ {h}) rekursiv.

3.Falls opt(H∖ {h}) die Nebenbe- dingunghnicht verletzt, so gebeopt(H∖ {h}) = opt(H)aus.

4. Ansonsten berechne den Schnitt mit der Hyperebeneh, und löse das so entstandene (d1)- dimensionale LP rekursiv.

(31)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:9 Algorithmus 4∕11 < > Walter Unger 15.7.2015 11:15 SS2015 Z

Beispiel (Abstieg der nächsten vier Rekursionen)

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

f2

f3

f4

f6 f9

opt opt

Entferne nacheinanderf4,f6,

f3 undf2und löse jeweils rekursiv. f4y≤ −0.9⋅x+9

f2y≤1⋅x+2

f3y≤ −2⋅x+30 f6y≤ −2⋅x+40 f9y ≤1.05⋅x+8

1. Fallsd=1 oderm=0, so gebeopt(H) aus.

2. Ansonsten wählehH aus, und berechne opt(H∖ {h}) rekursiv.

3.Falls opt(H∖ {h}) die Nebenbe- dingunghnicht verletzt, so gebeopt(H∖ {h}) = opt(H)aus.

4. Ansonsten berechne den Schnitt mit der Hyperebeneh, und löse das so entstandene (d1)- dimensionale LP rekursiv.

(32)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:9 Algorithmus 5∕11 < > Walter Unger 15.7.2015 11:15 SS2015 Z

Beispiel (Abstieg der nächsten vier Rekursionen)

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

f2

f3

f4

f6 f9

opt opt

Entferne nacheinanderf4,f6,

f3 undf2und löse jeweils rekursiv. f4y≤ −0.9⋅x+9

f2y≤1⋅x+2

f3y≤ −2⋅x+30 f6y≤ −2⋅x+40 f9y ≤1.05⋅x+8

1. Fallsd=1 oderm=0, so gebeopt(H) aus.

2. Ansonsten wählehH aus, und berechne opt(H∖ {h}) rekursiv.

3.Falls opt(H∖ {h}) die Nebenbe- dingunghnicht verletzt, so gebeopt(H∖ {h}) = opt(H)aus.

4. Ansonsten berechne den Schnitt mit der Hyperebeneh, und löse das so entstandene (d1)- dimensionale LP rekursiv.

(33)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:9 Algorithmus 6∕11 < > Walter Unger 15.7.2015 11:15 SS2015 Z

Beispiel (Abstieg der nächsten vier Rekursionen)

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

f2

f3

f4

f6

f9

opt opt

Entferne nacheinanderf4,f6,f3

undf2und löse jeweils rekursiv. f4y≤ −0.9⋅x+9

f2y≤1⋅x+2 f3y≤ −2⋅x+30

f6y≤ −2⋅x+40

f9y ≤1.05⋅x+8

1. Fallsd=1 oderm=0, so gebeopt(H) aus.

2. Ansonsten wählehH aus, und berechne opt(H∖ {h}) rekursiv.

3.Falls opt(H∖ {h}) die Nebenbe- dingunghnicht verletzt, so gebeopt(H∖ {h}) = opt(H)aus.

4. Ansonsten berechne den Schnitt mit der Hyperebeneh, und löse das so entstandene (d1)- dimensionale LP rekursiv.

Referenzen

ÄHNLICHE DOKUMENTE

Wie bestimmt man Flüsse mit einem Mindestfluss auf den Kanten, wo aber auch ein leerer Fluss erlaubt ist?. Wie ist die Idee der Algorithmen zu

Man sieht aber auch im Folgenden, daß bei einer Suche nach beliebigen Kreisen eine pseudopolynomielle Laufzeit erhalten.... Spezielle Flüsse

Dazu muss das Durchlaufen der ungeraden Kreise bei der Suche nach alternierenden Pfade betrachtet werden: Wird bei der Suche ein gematcher Knoten über eine Kanten, die nicht im

Falls es einen polynomiellen Algorithmus gibt, der entscheidet, ob ein Ungleichungssystem eine Lösung hat, so gibt es einen polynomiellen Algorithmus, der das LP

6:40 Komplexität von einem Pivotschritt &lt; &gt; Walter Unger 15.7.2015 11:19 SS2015 Z

eine “primale Lösung” kann in polynomieller Zeit in eine “duale Lösung” überführt werden... eine “primale Lösung” kann in polynomieller Zeit in eine “duale

Damit ist eine zufällig gewählte Kante mit hoher Wahrscheinlichkeit nicht im Schnitt.. Damit sind die inzidenten Knoten einer zufällig gewählten Kante mit hoher Wahrscheinlichkeit

Damit ist eine zufällig gewählte Kante mit hoher Wahrscheinlichkeit nicht im Schnitt.. Damit sind die inzidenten Knoten einer zufällig gewählten Kante mit hoher Wahrscheinlichkeit