23.06.2013 Aufrufe

aktuelle Version des Vorlesungsskripts - ZIB

aktuelle Version des Vorlesungsskripts - ZIB

aktuelle Version des Vorlesungsskripts - ZIB

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

10 Fourier-Motzkin-Elimination und<br />

Projektion<br />

Wir haben nun mit dem Simplex-Algorithmus ein Werkzeug zur Hand, um lineare Programme<br />

zu lösen. Insbesondere haben wir auch gesehen, wie wir mit dem Simplex-<br />

Algorithmus die Frage, ob ein lineares Ungleichungssystem Ax ≤ b eine Lösung hat<br />

oder nicht, entscheiden können. Wir werden in diesem Kapitel eine weitere Methode dafür<br />

kennenlernen, die gänzlich anders vorgeht und diese für eine theoretische Analyse der<br />

(Un)Zulässigkeit linearer Programme nutzen.<br />

Wir beginnen mit der Beschreibung eines Algorithmus, der aus einer (m, n)-Matrix A<br />

und einem Vektor b ∈ K m eine (r, n)-Matrix D und einen Vektor d ∈ K r macht, so dass<br />

eine Spalte von D aus lauter Nullen besteht und dass gilt:<br />

Ax ≤ b hat eine Lösung genau dann, wenn Dx ≤ d eine Lösung hat.<br />

10.1 Fourier-Motzkin-Elimination<br />

(10.1) Fourier-Motzkin-Elimination (der j-ten Variablen).<br />

Eingabe: Eine (m, n)-Matrix A = (aij), ein Vektor b ∈ K m und ein Spaltenindex j ∈<br />

{1, . . . , n} der Matrix A.<br />

Ausgabe: Eine (r, n)-Matrix D = (dij) (r wird im Algorithmus berechnet) und ein<br />

Vektor d ∈ K r , so dass D.j (die j-te Spalte von D) der Nullvektor ist.<br />

1.) Partitioniere die Menge der Zeilenindizes M = {1, . . . , m} von A wie folgt:<br />

N := {i ∈ M | aij < 0},<br />

Z := {i ∈ M | aij = 0},<br />

P := {i ∈ M | aij > 0}.<br />

(Die Menge Z ∪ (N × P ) wird die Zeilenindexmenge von D.)<br />

2.) Setze r := |Z ∪ (N × P )|, R := {1, . . . , r}, sei p : R → Z ∪ (N × P ) eine Bijektion<br />

(d. h. eine kanonische Indizierung der Elemente von Z ∪ (N × P )).<br />

3.) Führe für i = 1, 2, . . . , r aus:<br />

(a) Falls p(i) ∈ Z, dann setze Di· := A p(i)·, di := b p(i) (d. h., die i-te Zeile von D ist<br />

gleich der p(i)-ten Zeile von A).<br />

191

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!