• 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!
276
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:01 Uhr, den 15. Juli 2015

(2)

Algorithmus von Seidel Dualität Ganzzahligkeit

7 Inhaltsverzeichnis < > Walter Unger 15.7.2015 11:01 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 1∕3 < > Walter Unger 15.7.2015 11:01 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?

(4)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:1 Einleitung 2∕3 < > Walter Unger 15.7.2015 11:01 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:1 Einleitung 3∕3 < > Walter Unger 15.7.2015 11:01 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?

(6)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:2 Einleitung 1∕11 < > Walter Unger 15.7.2015 11:01 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).

(7)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:2 Einleitung 2∕11 < > Walter Unger 15.7.2015 11:01 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).

(8)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:2 Einleitung 3∕11 < > Walter Unger 15.7.2015 11:01 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).

(9)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:2 Einleitung 4∕11 < > Walter Unger 15.7.2015 11:01 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).

(10)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:2 Einleitung 5∕11 < > Walter Unger 15.7.2015 11:01 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).

(11)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:2 Einleitung 6∕11 < > Walter Unger 15.7.2015 11:01 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).

(12)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:2 Einleitung 7∕11 < > Walter Unger 15.7.2015 11:01 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).

(13)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:2 Einleitung 8∕11 < > Walter Unger 15.7.2015 11:01 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).

(14)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:2 Einleitung 9∕11 < > Walter Unger 15.7.2015 11:01 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).

(15)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:2 Einleitung 10∕11 < > Walter Unger 15.7.2015 11:01 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).

(16)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:2 Einleitung 11∕11 < > Walter Unger 15.7.2015 11:01 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).

(17)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:3 Einleitung 1∕10 < > Walter Unger 15.7.2015 11:01 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

(18)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:3 Einleitung 2∕10 < > Walter Unger 15.7.2015 11:01 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

(19)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:3 Einleitung 3∕10 < > Walter Unger 15.7.2015 11:01 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

(20)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:3 Einleitung 4∕10 < > Walter Unger 15.7.2015 11:01 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

(21)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:3 Einleitung 5∕10 < > Walter Unger 15.7.2015 11:01 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

(22)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:3 Einleitung 6∕10 < > Walter Unger 15.7.2015 11:01 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

(23)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:3 Einleitung 7∕10 < > Walter Unger 15.7.2015 11:01 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

(24)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:3 Einleitung 8∕10 < > Walter Unger 15.7.2015 11:01 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

(25)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:3 Einleitung 9∕10 < > Walter Unger 15.7.2015 11:01 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

(26)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:3 Einleitung 10∕10 < > Walter Unger 15.7.2015 11:01 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

(27)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:4 Details 1∕14 < > Walter Unger 15.7.2015 11:01 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.

(28)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:4 Details 2∕14 < > Walter Unger 15.7.2015 11:01 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.

(29)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:4 Details 3∕14 < > Walter Unger 15.7.2015 11:01 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.

(30)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:4 Details 4∕14 < > Walter Unger 15.7.2015 11:01 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.

(31)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:4 Details 5∕14 < > Walter Unger 15.7.2015 11:01 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.

(32)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:4 Details 6∕14 < > Walter Unger 15.7.2015 11:01 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.

(33)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:4 Details 7∕14 < > Walter Unger 15.7.2015 11:01 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.

(34)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:4 Details 8∕14 < > Walter Unger 15.7.2015 11:01 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.

(35)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:4 Details 9∕14 < > Walter Unger 15.7.2015 11:01 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.

(36)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:4 Details 10∕14 < > Walter Unger 15.7.2015 11:01 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.

(37)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:4 Details 11∕14 < > Walter Unger 15.7.2015 11:01 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.

(38)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:4 Details 12∕14 < > Walter Unger 15.7.2015 11:01 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.

(39)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:4 Details 13∕14 < > Walter Unger 15.7.2015 11:01 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.

(40)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:4 Details 14∕14 < > Walter Unger 15.7.2015 11:01 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.

(41)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:5 Details 1∕9 < > Walter Unger 15.7.2015 11:01 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.

(42)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:5 Details 2∕9 < > Walter Unger 15.7.2015 11:01 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.

(43)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:5 Details 3∕9 < > Walter Unger 15.7.2015 11:01 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.

(44)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:5 Details 4∕9 < > Walter Unger 15.7.2015 11:01 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.

(45)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:5 Details 5∕9 < > Walter Unger 15.7.2015 11:01 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.

(46)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:5 Details 6∕9 < > Walter Unger 15.7.2015 11:01 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.

(47)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:5 Details 7∕9 < > Walter Unger 15.7.2015 11:01 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.

(48)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:5 Details 8∕9 < > Walter Unger 15.7.2015 11:01 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.

(49)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:5 Details 9∕9 < > Walter Unger 15.7.2015 11:01 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.

(50)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:6 Algorithmus 1∕11 < > Walter Unger 15.7.2015 11:01 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.

(51)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:6 Algorithmus 2∕11 < > Walter Unger 15.7.2015 11:01 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.

(52)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:6 Algorithmus 3∕11 < > Walter Unger 15.7.2015 11:01 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.

(53)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:6 Algorithmus 4∕11 < > Walter Unger 15.7.2015 11:01 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.

(54)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:6 Algorithmus 5∕11 < > Walter Unger 15.7.2015 11:01 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.

(55)

Algorithmus von Seidel Dualität Ganzzahligkeit

7:6 Algorithmus 6∕11 < > Walter Unger 15.7.2015 11:01 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.

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

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

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