21
Operations Research Rainer Schrader Zentrum für Angewandte Informatik Köln 11. Mai 2007 1/83 Polyeder und Polytope 2/83 Polyeder und Polytope Gliederung Polyeder Darstellung von Polyedern Optimierung linearer Funktionen Rezessionskegel und polyedrische Kegel Polytope Facetten und Basislösungen rationale Polyeder 3/83 Polyeder sei P R n P heißt Polyeder, wenn es sich als Durchschnitt von endlich vielen Halbräumen darstellen lässt d.h. es existieren eine Matrix A R m×n und ein Vektor b R m derart, dass P = P (A, b) wie wir wissen, sind insbesondere folgende Mengen Polyeder: die leere Menge und der R n lineare oder affine Teilräume des R n die Matrix A und der Vektor b sind jedoch nicht eindeutig typischerweise gibt es unendlich viele verschiedene (endliche) lineare Ungleichungssysteme mit demselben Lösungsraum P 4/83

Operations Research Polyeder und Polytope · Polyeder es ist sogar möglich, dass sich ein Polyeder als Lösungmenge eines nichtlinearen Ungleichungssystems ergibt Beispiel sei P

Embed Size (px)

Citation preview

Page 1: Operations Research Polyeder und Polytope · Polyeder es ist sogar möglich, dass sich ein Polyeder als Lösungmenge eines nichtlinearen Ungleichungssystems ergibt Beispiel sei P

Operations Research

Rainer Schrader

Zentrum für Angewandte Informatik Köln

11. Mai 2007

1 / 83

Polyeder und Polytope

2 / 83

Polyeder und Polytope

Gliederung

• Polyeder

• Darstellung von Polyedern

• Optimierung linearer Funktionen

• Rezessionskegel und polyedrische Kegel

• Polytope

• Facetten und Basislösungen

• rationale Polyeder

3 / 83

Polyeder

• sei P ⊆ Rn

• P heißt Polyeder, wenn es sich als Durchschnitt von endlich vielenHalbräumen darstellen lässt

• d.h. es existieren eine Matrix A ∈ Rm×n und ein Vektor b ∈ Rm derart,dass

P = P(A, b)

• wie wir wissen, sind insbesondere folgende Mengen Polyeder:

• die leere Menge ∅ und der Rn

• lineare oder affine Teilräume des Rn

• die Matrix A und der Vektor b sind jedoch nicht eindeutig

• typischerweise gibt es unendlich viele verschiedene (endliche) lineareUngleichungssysteme mit demselben Lösungsraum P

4 / 83

Page 2: Operations Research Polyeder und Polytope · Polyeder es ist sogar möglich, dass sich ein Polyeder als Lösungmenge eines nichtlinearen Ungleichungssystems ergibt Beispiel sei P

Polyeder

• es ist sogar möglich, dass sich ein Polyeder als Lösungmenge einesnichtlinearen Ungleichungssystems ergibt

Beispiel

• sei P die Punktmenge im nichtnegativen Quadranten der euklidischenEbene

P = {(x1, x2) ∈ R2+ | x 2

1 + 2x 22 + 3x1x2 − 2x1 − 3x2 ≤ −1}

• P entspricht der Lösungsmenge des linearen Ungleichungssystems

x1 + x2 ≤ 1x1 + 2x2 ≥ 1

x1, x2 ≥ 0

• damit ist P ein Polyeder

5 / 83

Polyeder

Gliederung

• Polyeder

• Darstellung von Polyedern

• Optimierung linearer Funktionen

• Rezessionskegel und polyedrische Kegel

• Polytope

• Facetten und Basislösungen

• rationale Polyeder

6 / 83

Darstellung von Polyedern

• seien S, T ⊆ Rn beliebige Teilmengen

• die Minkowski-Summe S + T ist definiert als

S + T = {s + t | s ∈ S, t ∈ T } , wobei S + ∅ = S. (1)

• seien V = {v1, . . . , vk} und W = {w1, . . . , w`} zwei endlicheTeilmengen des Rn mit W 6= 0

• sei P die Menge

P = conv V + cone W = {v + w | v ∈ conv V , w ∈ cone W }, (2)

• d.h. die Minkowski-Summe der endlich erzeugten konvexen Mengeconv V und des endlich erzeugten konvexen Kegels cone W

7 / 83

Darstellung von Polyedern

P = conv V + cone W = {v + w | v ∈ conv V , w ∈ cone W }, (2)

+ =

• P besteht also aus der Menge aller Linearkombinationen z vom Typ

z =kX

i=1

µi vi +X̀j=1

λj wj mit µi , λj ≥ 0,

kXi=1

µi = 1.

8 / 83

Page 3: Operations Research Polyeder und Polytope · Polyeder es ist sogar möglich, dass sich ein Polyeder als Lösungmenge eines nichtlinearen Ungleichungssystems ergibt Beispiel sei P

Darstellung von Polyedern

SeiP = conv V + cone W (2)

• wir wollen zeigen:

• P ist ein Polyeder und

• jedes Polyeder hat eine Darstellung vom Typ (2)

• in diesem Sinn sind Polyeder endlich erzeugt

• wir führen den Beweis in mehreren Schritten.

9 / 83

Darstellung von Polyedern

Lemma 1Die Menge P = conv V + cone W ist ein Polyeder.

Beweis:

• wir betrachten V und W als Matrizen mit Spaltenvektoren vi bzw. wj

• und das davon erzeugte Ungleichungssystem

z− V x −W y = 01T x = 1

x, y ≥ 0

• die Lösungen (x, y, z) bilden ein Polyeder P in Rk+m+n

• P ist die Projektion von P auf die z-Koordinaten,

• damit folgt die Behauptung aus dem Projektionslemma.

10 / 83

Darstellung von Polyedern

• der Beweis von Lemma 1 zeigt:

• für P kann im Prinzip mit dem FM-Eliminationsverfahren einUngleichungssystem Ax ≤ b berechnet werden, so dass P = P(A, b)

• sei nun P ein beliebiges Polyeder mit 0 ∈ P

• dann gibt es eine endliche Indexmenge I und Ungleichungen ai x ≤ bi

derart, dassP = {x ∈ Rn | aT

i x ≤ bi , i ∈ I}.

• wegen 0 ∈ P dürfen wir bi ∈ {0, 1} annehmen

• entsprechend zerfallen die Ungleichungen in die Typen A(0)x ≤ 0 undA(1)x ≤ 1.

11 / 83

Darstellung von Polyedern

Lemma 2Seien A und B Matrizen und P = {x | Ax ≤ 1, Bx ≤ 0}. Dann gilt für diePolare des Polyeders P :

Ppol = conv[AT , 0] + cone BT .

Beweis:

• Ppol besteht aus allen Vektoren c derart, dass die UngleichungcT x ≤ 1 von den Ungleichungen Ax ≤ 1 und Bx ≤ 0 impliziert ist

• nach dem Lemma von Farkas bedeutet dies:

Ppol = {c ∈ Rn | c = AT y + BT z, y, z ≥ 0, yT 1 ≤ 1}

= {c ∈ Rn | c = AT y + 0y0 + BT z, y, z ≥ 0, y0 ≥ 0, yT 1 + y0 = 1}

= conv[AT , 0] + cone BT .

12 / 83

Page 4: Operations Research Polyeder und Polytope · Polyeder es ist sogar möglich, dass sich ein Polyeder als Lösungmenge eines nichtlinearen Ungleichungssystems ergibt Beispiel sei P

Darstellung von Polyedern

Satz 3 (Dekompositionsatz von Weyl-Minkowski)

Eine Teilmenge P ⊆ Rn ist genau dann ein Polyeder, wenn es endlicheMengen V , W ⊆ Rn gibt mit der Eigenschaft

P = conv V + cone W .

Beweis:

• nach Lemma 1 ist die Bedingung hinreichend

• wir beweisen die Notwendigkeit

• wir nehmen oBdA P 6= ∅ an

• und unterscheiden die Fälle 0 ∈ P und 0 /∈ P

13 / 83

Darstellung von Polyedern0 ∈ P :

• dann kann P geschrieben werden als

P = {x | Ax ≤ 1, Bx ≤ 0}

• nach Lemma 2 ist Ppol = conv[AT , 0] + cone BT

• nach Lemma 1 ist dann Q = Ppol ein Polyeder

• da 0 ∈ P , gilt nach Satz 1.4 P = (Ppol )pol

• und somitP = (Ppol )pol = Qpol .

• wiederum aus Lemma 2 schließen wir:

• P kann als Minkowski-Summe einer endlich erzeugten konvexenMenge und eines endlich erzeugten konvexen Kegels ausgedrücktwerden.

14 / 83

Darstellung von Polyedern0 /∈ P :

• wähle ein beliebiges t ∈ P und betrachte die Translation(Minkowskisumme)

P = P + {−t}.

• wegen 0 ∈ P gibt es endliche Mengen V und W derart, dass

P = conv V + cone W

• für V = V + t und W = W folgt:

conv V + cone W = conv`V + t

´+ cone W

= conv V + t + cone W

= P + t= P

15 / 83

Darstellung von Polyedern

Nach dem Satz von Weyl-Minkowski erlaubt ein Polyeder P zwei zueinanderduale Sichtweisen:

Implizit: P ist Lösungsmenge eines endlichen linearen

Ungleichungssystems Ax ≤ b

Explizit: P ist die Menge aller Punkte, die von

endlichen Mengen V und W gemäß (2) erzeugt werden.

Wir werden gleich zeigen: zwischen den Darstellungen kann im Prinzip mitHilfe des FM-Verfahrens gewechselt werden.

16 / 83

Page 5: Operations Research Polyeder und Polytope · Polyeder es ist sogar möglich, dass sich ein Polyeder als Lösungmenge eines nichtlinearen Ungleichungssystems ergibt Beispiel sei P

Darstellung von Polyedern

Die Situation verallgemeinert damit die bei linearen oder affinen TeilräumenA ⊆ Rn bekannte:

• einerseits ist A Lösungsmenge eines linearen GleichungssystemsAx = b

• andererseits gibt es eine endliche Menge S = s1, . . . , sk derart, dassA die Menge aller affinen Linearkombinationen ist:

x = λ1s1 + . . . + λk sk mitkX

i=1

λi = 1

Die Umrechungen zwischen den Darstellungen sind

• im linearen/affinen Fall effizient möglich (z.B. mit dem Gauss-Verfahren)

• im allgemeinen Fall im Prinzip einfach möglich

Wir untersuchen dazu zuerst den Fall von Kegeln.

17 / 83

Darstellung von Polyedern• für P = {x | Ax ≤ 1, Bx ≤ 0} gilt nach Lemma 2:

Ppol = conv[AT , 0] + cone BT

• speziell für einen Kegel P(B, 0) folgt somit

P(B, 0)pol = cone BT

• nach Lemma 1.13 stimmen für Kegel Polare und dualer Kegel überein:

P(B, 0)◦ = cone BT

• cone BT ist die Projektion auf die z-Koordinaten des Systems

z− BT y = 0y ≥ 0

• berechne mit Fourier-Motzkin eine Matrix A mit der Eigenschaft

cone BT = P(A, 0).

18 / 83

Darstellung von Polyedern• berechne mit Fourier-Motzkin eine Matrix A mit der Eigenschaft

cone BT = P(A, 0).

• nach Satz 1.14 gilt für konvexe Kegel K = (K 0)0

• somit:

P(B, 0) = (P(B, 0)◦)◦ = (cone BT )◦L. 1.13

= P(A, 0)pol L. 2= cone AT .

• also bilden die Spaltenvektoren von AT (bzw. die Zeilenvektoren vonA) ein Erzeugendensystem für den Kegel P(B, 0).

• Problem: diese Berechnungsmethode eines Erzeugendensystemsüber das FM-Verfahren ist im allgemeinen nicht effizient.

19 / 83

Darstellung von Polyedern• das Vorgehen lässt sich auf allgemeine Polyeder verallgemeinern:

• zu P(A, b) wollen wir endliche Mengen V und W bestimmen mit

P(A, b) = conv V + cone W .

• wir betrachten dazu den polyedrischen Kegel

K =

»xt

–∈ Rn+1 | Ax − bt ≤ 0, t ≥ 0

ff.

• dann gilt:

x ∈ P(A, b) ⇐⇒»x1

–∈ K .

20 / 83

Page 6: Operations Research Polyeder und Polytope · Polyeder es ist sogar möglich, dass sich ein Polyeder als Lösungmenge eines nichtlinearen Ungleichungssystems ergibt Beispiel sei P

Darstellung von Polyedern• wie vorher bestimmen wir Vektoren h1, . . . , hk ∈ Rn mit der Eigenschaft

K =

»xt

–∈ Rn+1 | Ax − bt ≤ 0, t ≥ 0

ff= cone{h1, . . . , hk}

• wir können annehmen, dass die Erzeugenden folgende Form haben:

hi =

»h′iti

–mit ti = 1 oder ti = 0.

• im Fall ti > 0 können nämlich wir einfach den Vektor hi durch Divisionmit ti entsprechend normieren

• wir behaupten, dass die folgenden Mengen das Gewünschte leisten:

V = {h′i | ti = 1} und W = {h′j | tj = 0},

21 / 83

Darstellung von Polyedern

• denn wir haben für alle x ∈ P(A, b)»x1

–=

Xhi∈V

µi

»h′i1

–+

Xhj∈W

λj

»h′j0

für geeignete µi ≥ 0 und λj ≥ 0

• ein Blick auf die letzte Komponente zeigt zudem

1 =Xh′

i ∈V

µi .

• und somit

x =Xhi∈V

µi h′i +X

hj∈W

λj h′j ∈ conv V + cone W .

22 / 83

Polyeder und Polytope

Gliederung

• Polyeder

• Darstellung von Polyedern

• Optimierung linearer Funktionen

• Rezessionskegel und polyedrische Kegel

• Polytope

• Facetten und Basislösungen

• rationale Polyeder

23 / 83

Optimierung linearer Funktionen

• viele Anwendungsprobleme lassen sich als spezielle mathematischeOptimierungsprobleme modellieren

• dabei ist eine lineare Funktion f (x) = cT x über dem Schnitt von(endlich vielen) linearen Ungleichungen zu maximieren

Lineares Programmgegeben c ∈ Rn , A ∈ Rm×n und b ∈ Rm betrachte das Problem

maxx∈Rn

cT x (3)

s.d. Ax ≤ b

• diskussionswürdig ist die Verwendung von max anstelle von sup

• bevor wir darauf eingehen noch ein paar Bemerkungen

24 / 83

Page 7: Operations Research Polyeder und Polytope · Polyeder es ist sogar möglich, dass sich ein Polyeder als Lösungmenge eines nichtlinearen Ungleichungssystems ergibt Beispiel sei P

Optimierung linearer Funktionen

maxx∈Rn

cT x (3)

s.d. Ax ≤ b

• die Ungleichungen werden auch als Restriktionen bezeichnet

• die Matrix A als die Restriktionsmatrix

• der Vektor b als die rechte Seite

• und f (x) = cT x als die Zielfunktion

• wir werden lineare Programme auch in einer anderen Form betrachten:

• u.a. anstelle von max cx die Aufgabe min cx

• min cx ist jedoch äquivalent zu −max (−c)x

25 / 83

Optimierung linearer Funktionen• anstelle von

maxx∈Rn

cT x (3)

s.d. Ax ≤ b

• betrachten wir auch lineare Programme in der Form

max cT x (4)

s.d.Ax = b

x ≥ 0

• die Restriktionen lassen sich in die ursprüngliche Form bringen:

Ax = bx ≥ 0 ←→

Ax ≤ b−Ax ≤ −b−x ≤ 0

←→

24 A−A−I

35 x ≤

24 b−b−0

35

26 / 83

Optimierung linearer Funktionen• umgekehrt gilt

Ax ≤ b ←→ Ax + s = bs ≥ 0 ←→ Ax+ − Ax− + s = b

x+, x−, s ≥ 0

• die beiden Formen sind damit äquivalent

• die s-Variablen werden auch als Schlupfvariablen bezeichnet

• wir diskutieren jetzt die Verwendung des max anstelle von sup

27 / 83

Optimierung linearer Funktionen

• nach Weyl-Minkowski können wir den Lösungsraum P = P(A, b) alsP = conv V + cone W darstellen,

• dann ergibt sich sofort:

(0) ist P = ∅, so hat das lineare Optimierungsproblem keine Lösung

(1) gibt es ein w ∈ cone W mit cT w > 0, so sind dieZielfunktionswerte nach oben unbeschränkt („∞“)

(2) gilt cT w ≤ 0 für alle w ∈ cone W und ist V 6= ∅, dann ist

maxx∈P

cT x = maxv∈V

cT v <∞.

28 / 83

Page 8: Operations Research Polyeder und Polytope · Polyeder es ist sogar möglich, dass sich ein Polyeder als Lösungmenge eines nichtlinearen Ungleichungssystems ergibt Beispiel sei P

Darstellung von Polyedern

c c

c

29 / 83

Optimierung linearer Funktionen

Beweis von (2):

• unter den angenommenen Umständen gilt

maxx∈P

cT x = maxx∈conv V

cT x.

• sei V = {v1, . . . , vk} und v =Pk

i=1 µi vi ∈ conv V ein beliebigesElement

• wegen µi ≥ 0 undP

i µ = 1 folgt:

cT v =kX

i=1

µi cT vi ≤ ( maxj=1,...,k

cT vj ) ·kX

i=1

µi = maxvj∈V

cT vj

• und somitmaxx∈P

cT x = maxv∈V

cT v.

30 / 83

Optimierung linearer Funktionen

Theoretisch lässt sich somit das lineare Optimierungsproblem auf das folgendereduzieren:

(i) stelle fest, ob P(A, b) = ∅

(ii) andernfalls stelle fest, ob für ein w ∈ W die Ungleichung cT w > 0 gilt

(iii) andernfalls, löse das Problem maxv∈V cT v.

Bemerkung

• das Problem ist also entweder leer, unbeschränkt oder das Maximumwird angenommen

• damit ist die Verwendung von „ max “ motiviert

• (ii) gilt nicht ⇐⇒ c ∈ P(W T , 0) = W ◦ für alle w ∈ W

• die Frage ist, inwieweit dieser Ansatz praktikabel ist

31 / 83

Polyeder und Polytope

Gliederung

• Polyeder

• Darstellung von Polyedern

• Optimierung linearer Funktionen

• Rezessionskegel und polyedrische Kegel

• Polytope

• Facetten und Basislösungen

• rationale Polyeder

32 / 83

Page 9: Operations Research Polyeder und Polytope · Polyeder es ist sogar möglich, dass sich ein Polyeder als Lösungmenge eines nichtlinearen Ungleichungssystems ergibt Beispiel sei P

Rezessionskegel

• seien V und W endliche Mengen mit W 6= ∅

• sei P = conv V + cone W das erzeugte Polyeder

• der Rezessionskegel von P ist der konvexe Kegel

P0 = cone W

• sei jetzt P = (A, b) implizit gegeben

• über den Rezessionskegel haben wir bereits gesehen:

• mit seiner Hilfe kann die Unbeschränktheit eines linearenProgramms getestet werden

• er kann aufwendig mittels FM-Elimination berechnet werden

• es stellt sich daher die Frage, ob er einfacher berechnet werden kann

33 / 83

Rezessionskegel

Lemma 4Seien A ∈ Rm×n und b ∈ Rm so, dass P(A, b) = conv V + cone W undW 6= ∅. Dann gilt:

cone W = P(A, 0).

Beweis:

• sei p ein beliebiger Punkt in P(A, b)

• dann ist p = v + w mit v ∈ conv V und w ∈ cone W

• da v + λw ∈ P(A, b) für alle λ, folgt

limλ→∞

λ(Aw) = limλ→∞

A(λw) ≤ b− Av

• folglich Aw ≤ 0

• und somit cone W ⊆ P(A, 0)

34 / 83

Rezessionskegel

• und somit cone W ⊆ P(A, 0)

• weiter gilt für alle v ∈ conv V und z ∈ P(A, 0):

A(v + z) = Av + Az ≤ b + 0 = b

• d.h.P = conv V + cone W ⊆ conv V + P(A, 0) ⊆ P

• und somit P = conv V + cone W = conv V + P(A, 0)

• außerdem hatten wir für beliebige Koordinatenvektoren c festgestellt:

c ∈ (cone W )◦ ⇐⇒ (3) besitzt Optimallösung

⇐⇒ c ∈ P(A, 0)◦

• also folgt (cone W )◦ = P(A, 0)◦

• da für Kegel K = (K ◦)◦ gilt, folgt daraus cone W = P(A, 0).

35 / 83

Polyeder und Polytope

Gliederung

• Polyeder

• Darstellung von Polyedern

• Optimierung linearer Funktionen

• Rezessionskegel und polyedrische Kegel

• Polytope

• Facetten und Basislösungen

• rationale Polyeder

36 / 83

Page 10: Operations Research Polyeder und Polytope · Polyeder es ist sogar möglich, dass sich ein Polyeder als Lösungmenge eines nichtlinearen Ungleichungssystems ergibt Beispiel sei P

Polytope

• ein Polytop ist ein beschränktes Polyeder,

• d.h. es existiert ein R > 0 mit

‖x‖ ≤ R für alle x ∈ P .

• damit sind die Polytope genau die kompakten Polyeder

• dabei lassen wir P = ∅ als leeres Polytop zu

• nach Weyl-Minkowski ist eine Menge P ⊆ Rn genau dann ein Polytop,wenn eine endliche Menge V ⊆ Rn existiert mit

P = conv V .

Lemma 5P(A, b) ist genau dann ein Polytop, wenn P(A, 0) = {0} .

37 / 83

Polyeder und Polytope

Gliederung

• Polyeder

• Darstellung von Polyedern

• Optimierung linearer Funktionen

• Rezessionskegel und polyedrische Kegel

• Polytope

• Lineare Optimierung und Polytope• Diskrete Optimierung und Polytope

• Facetten und Basislösungen

• rationale Polyeder

38 / 83

Polytope

• wir betrachten lineare Zielfunktionen f (x) = cT x über einem Polytop

• wir wissen:P = conv V =⇒ max

x∈PcT x = max

v∈VcT v.

• diese Eigenschaft gilt aber auch umgekehrt.

Lemma 6Sei P ⊆ Rn ein Polytop und V ⊆ P eine endliche Teilmenge. Dann gilt:

P = conv V ⇐⇒ maxx∈P

cT x = maxv∈V

cT v für alle c ∈ Rn .

39 / 83

Polytope

Lemma 7Sei P ⊆ Rn ein Polytop und V ⊆ P eine endliche Teilmenge. Dann gilt:

P = conv V ⇐⇒ maxx∈P

cT x = maxv∈V

cT v für alle c ∈ Rn .

Beweis:

• es ist noch zu beweisen, dass die Eigenschaft hinreichend fürP = conv V ist

• angenommen, es gäbe ein y ∈ P r conv V ,

• nach dem Trennungslemma gibt es dann ein c mit der Eigenschaft

cT y > max{cT x | x ∈ conv V },

• was die Bedingung verletzen würde.

40 / 83

Page 11: Operations Research Polyeder und Polytope · Polyeder es ist sogar möglich, dass sich ein Polyeder als Lösungmenge eines nichtlinearen Ungleichungssystems ergibt Beispiel sei P

Polytope

Lemma 8Sei V ⊆ Rn endlich und v0 ∈ V so, dass v0 /∈ conv(V r {v0}). Dann istv0 Ecke von conv V .

Beweis:

• sei P = conv V und S = conv(V r {v0})

• da v0 /∈ S, existieren v1 ∈ S und c ∈ Rn so, dass

cT v > cT v1 ≥ cT x für alle x ∈ S

• sei z = cT v1

• dann ist z Optimalwert des Problems

maxx∈S

cT x = maxv∈V r{v0}

cT v

41 / 83

Polytope

• andererseits gilt

z < cT v0 ≤ maxx∈P

cT x = maxv∈V

cT v =: z∗ d.h. z∗ = cT v0.

• sei x ein beliebiger Punkt in P = conv V , d.h.

x =Xv∈V

λvv mit λv ≥ 0,Xv∈V

λv = 1

• ist cT x = z∗, so folgt

z∗ = cT x = λv0 cT v0 +Xv 6=v0

λv cT v ≤ λv0 z∗ + (1− λv0)z .

• wegen z < z∗ folgt daraus λv0 = 1 und deshalb x = v0

• also folgt P ∩ {x ∈ Rn | cT x = z∗} = {v0}

• d.h. v0 ist Ecke von P .

42 / 83

Polytope

Satz 9Jedes nichtleere Polytop P ist die konvexe Hülle seiner Ecken.

Beweis:

• sei V eine minimale Erzeugendenmenge mit P = conv V

• dann gilt v /∈ conv(V r {v}) für alle v ∈ V

• da ansonsten P = conv(V r {v}) – im Widerspruch zur Minimalitätvon V

• nach Lemma 8 besteht V dann nur aus Ecken von P .

Der obige Satz garantiert insbesondere, dass jedes nichtleere Polytop auchEcken hat.

Für Polyeder ist dies im Allgemeinen nicht richtig (z.B. bei linearen oder affinenRäumen)

43 / 83

Polyeder und Polytope

Gliederung

• Polyeder

• Darstellung von Polyedern

• Optimierung linearer Funktionen

• Rezessionskegel und polyedrische Kegel

• Polytope

• Lineare Optimierung und Polytope• Diskrete Optimierung und Polytope

• Facetten und Basislösungen

• rationale Polyeder

44 / 83

Page 12: Operations Research Polyeder und Polytope · Polyeder es ist sogar möglich, dass sich ein Polyeder als Lösungmenge eines nichtlinearen Ungleichungssystems ergibt Beispiel sei P

Polytope

Ein Grundproblem der diskreten Optimierung kann wie folgt formuliert werden:

• gegeben

• eine Grundmenge E• eine Gewichtsfunktion w : E → R auf der Grundmenge

• eine Familie F ⊆ 2E von Teilmengen der Grundmenge

• setze die Gewichtsfunktion auf Teilmengen fort mittels:

w (X ) =Xe∈X

w (e) für X ⊆ E

• gesucht ist eine Teilmenge in F mit maximalem Gewicht

maxF∈F

w (F ). (5)

45 / 83

Polytope• wir ordnen der Teilmengenfamilie F ⊆ 2E wie folgt ein Polytop zu:

• repräsentiere jedes F ∈ F durch seinen Inzidenzvektor χF ∈ RE ,wobei

χF (e) =

1, wenn e ∈ F0, wenn e /∈ F

• sei nunP(F) = conv{χF | F ∈ F} ⊆ RE

• nach Lemma 6 gilt für jede endliche Teilmenge V :

P = conv V ⇐⇒ maxx∈P

cT x = maxv∈V

cT v für alle c ∈ Rn .

• d.h. es macht keinen Unterschied, ob wir lineare Funktionen überV oder conv V optimieren

46 / 83

Polytope• damit wird das diskrete Optimierungsproblem:

maxF∈F

w (F ). (5)

• zu: maximiere die lineare Funktion mit den Koeffizientenwe = w (e) über dem Polytop P(F):

maxF∈F

w (F ) = maxF∈F

Xe∈E

weχF (e)

= maxx∈P(F)

Xe∈E

wexe

= maxx∈P(F)

wx

47 / 83

Polytope

Beispiel:

• sei E = {e1, e2, e3}

• sei F =˘∅, {e1}, {e2}, {e3}, {e1, e2}, {e2, e3}

¯• das Polytop P(F) sieht dann wie folgt aus:

0,0,0 1,0,0

0,1,0

0,0,1

0,1,1

1,1,0

48 / 83

Page 13: Operations Research Polyeder und Polytope · Polyeder es ist sogar möglich, dass sich ein Polyeder als Lösungmenge eines nichtlinearen Ungleichungssystems ergibt Beispiel sei P

Polytope• maximiere die lineare Funktion mit den Koeffizienten we = w (e) über

dem Polytop P(F):maxF∈F

w (F ) = maxx∈P(F)

wx

• wir haben damit das diskrete Optimierungsproblem auf ein linearesOptimierungsproblem zurückgeführt

• die Form entspricht jedoch noch nicht der von uns verlangten

max cT xAx ≤ b

• der Zulässigkeitsbereich ist nämlich nicht implizit über Ungleichungensondern explizit als konvexe Hülle von endlich vielen Punkten gegeben

49 / 83

Polytope• das Polytop ist explizit und nicht implizit gegeben als

Ax ≤ b

• in einem weiteren Schritt wird dann versucht, eine impliziteBeschreibung zu gewinnen

• zur Veranschaulichung dieses Ansatzes folgen zwei Beispiele

• beim ersten lässt sich eine implizite angeben

• beim zweiten ist eine solche nicht bekannt

50 / 83

Polytope

Beispiel 1: Matchings

• seien S und T zwei endliche Mengen mit |S| = |T |

• wir betrachten die Menge aller Paare

S × T = {(s, t) | s ∈ S, t ∈ T }

• eine Zuordnung (bzw. ein perfektes Matching) ist eine bijektiveAbbildung π : S → T

• wir stellen uns die Zuordnung als Menge von Paaren vor:

M = M(π) = {(s, π(s)) | s ∈ S} ⊆ S × T .

• M sei die Menge aller Zuordnungen

51 / 83

Polytope• sei w : S × T → R eine Gewichtsfunktion, die jedem Paar einen Wert

zuordnet

• das Zuordnungsproblem ist nun:

maxM∈M

X(s,t)∈M

w (s, t)

• im Spezialfall w : S × T → {0, 1} spricht man auch vomHeiratsproblem

• sei P(M) das Zuordnungspolytop

• es ist die konvexe Hülle aller Inzidenzvektoren von Zuordnungen

• damit ist das Zuordnungsproblem äquivalent zu

max wT xx ∈ P(M)

52 / 83

Page 14: Operations Research Polyeder und Polytope · Polyeder es ist sogar möglich, dass sich ein Polyeder als Lösungmenge eines nichtlinearen Ungleichungssystems ergibt Beispiel sei P

Polytopen = 3:

• die Inzidenzvektoren x haben Länge 9

• sie haben die Form

x = (x1,1, x1,2, x1,3, x2,1, x2,2, x2,3, x3,1, x3,2, x3,3)

• betrachte die ZuordnungS T

1

2

3

1

2

3

• ihr entspricht der Inzidenzvektor

x = (1, 0, 0, 0, 0, 1, 0, 1, 0)53 / 83

Polytopen = 3:

• P(M) ist in diesem Fall die konvexe Hülle der folgenden Vektoren:

(1, 0, 0, 0, 0, 1, 0, 1, 0)

(1, 0, 0, 0, 1, 0, 0, 0, 1)

(0, 1, 0, 1, 0, 0, 0, 0, 1)

(0, 1, 0, 0, 0, 1, 1, 0, 0)

(0, 0, 1, 1, 0, 0, 0, 1, 0)

(0, 0, 1, 0, 1, 0, 1, 0, 0)

54 / 83

Polytopedas Zuordnungsproblem ist äquivalent zu

max wT xx ∈ P(M)

• dies ist eine explizite Beschreibung

• wir suchen eine implizite Beschreibung,

• d.h. ein System linearer Ungleichungen dessen Lösungen x geradedie Punkte in P(M) sind.

Zur Erinnerung:

• P(M) ist die konvexe Hülle von Inzidenzvektoren von Zuordnungen

• ein Inzidenzvektor einer Zuordnung hat die Länge |S| · |T |

• wir bezeichnen seine Komponenten mit xst

• d.h. xst = 1, wenn s ∈ S dem Element t ∈ T zugeordnet wird55 / 83

Polytope• sei jetzt x ∈ P(M) ein beliebiger Vektor

• welche Ungleichungen muss x erfüllen?

• ist x der Inzidenzvektor eines perfekten Matchings, dann gilt sicherlich:

xs,t ≥ 0 für alle (s, t) ∈ S × T (M0)Xt∈T

xst = 1 für alle s ∈ S (M1)

Xs∈S

xst = 1 für alle t ∈ T (M2)

• diese Ungleichungen gelten natürlich auch für alleKonvexkombinationen von Zuordnungen

• und deshalb für alle x ∈ P(M)

56 / 83

Page 15: Operations Research Polyeder und Polytope · Polyeder es ist sogar möglich, dass sich ein Polyeder als Lösungmenge eines nichtlinearen Ungleichungssystems ergibt Beispiel sei P

Polytope• es stellt sich heraus, dass sie P(M) schon vollständig bestimmen:

Lemma 10P(M) = {x ∈ RS×T | x erfüllt (M0) - (M2)}.

Bemerkung

• wir beweisen das Lemma hier nicht

• es wird sich als Folgerung aus einem allgemeinerenOptimierungproblem ergeben

• es gibt |S|! viele Zuordnungen; alle sind Ecken von P(M)

• zur linearen Beschreibung von P(M) genügen aber schon2|S| Gleichungen und |S| Ungleichungen

57 / 83

PolytopeBeispiel 2: das Rundreiseproblem

• sei S eine endliche Menge und E = S × S

• eine Rundreise (oder TSP-Tour) ist eine Anordnung der Elementevon S,

τ = s0s1 . . . , sns0,

• in τ tritt außer s0 kein Element zweimal auf

• wieder stellen wir τ als Menge von Paaren dar:

T = T (τ) = {(s0, s1), . . . , (sn , s0)}

• sei d : S × S → R+ eine Distanzfunktion auf den Paaren

• wir definieren die Länge von T als

d (T ) =X

(s,t)∈T

d (s, t).

58 / 83

Polytope• sei T die Menge aller Rundreisen

• das Rundreiseproblem (TSP-Problem) ist

minT∈T

d (T ) ←→ maxT∈T

X(s,t)∈T

−d (s, t).

• auch hier kann man wieder das entsprechende RundreisepolyederP(T ) definieren

• die Struktur von P(T ) ist jedoch noch weitgehend ungeklärt ist

• es sind zwar sehr viele Klassen von gültigen Ungleichungen fürP(T ) bekannt

• eine vollständige Beschreibung von P(T ) ist eines der großengegenwärtigen offenen Probleme der Berechenbarkeitstheorie dertheoretischen Informatik

59 / 83

Polytope

Gliederung

• Polyeder

• Darstellung von Polyedern

• Optimierung linearer Funktionen

• Rezessionskegel und polyedrische Kegel

• Polytope

• Facetten und Basislösungen

• rationale Polyeder

60 / 83

Page 16: Operations Research Polyeder und Polytope · Polyeder es ist sogar möglich, dass sich ein Polyeder als Lösungmenge eines nichtlinearen Ungleichungssystems ergibt Beispiel sei P

Facetten und Basislösungen

• sei P 6= ∅ ein nichtleeres Polyeder

• sei F ⊆ P eine Seitenfläche von P

• F heißt Facette von P , wenn gilt:

dim F = dim P − 1

Beispiel:

A

B

C

D

E

61 / 83

PolytopeBeispiel

x2 ≤ 1−9x2 ≤ −9

−4x1 +x3 ≤ −3−x3 ≤ −1

2x1 +x3 ≤ 9

x

x

x

1

2

3

62 / 83

Facetten und Basislösungen

x2 ≤ 1−9x2 ≤ −9

−4x1 +x3 ≤ −3−x3 ≤ −1

2x1 +x3 ≤ 9

• es ist:

• P ⊆ {x ∈ R3 | x2 = 1}

• dim P = 2

• dim P = n − rg„

0 1 00 −9 0

«• damit existiert eine Teilmatrix Ap von A so, dass

m = n − rg AP und AP x = bP für alle x ∈ P

63 / 83

Facetten und BasislösungenZur Erinnerung:

• sei P = P(A, b) ein Polyeder

• sei F = {x ∈ P | cT x = z} eine nichtleere Seitenfläche von P

• im 1. Kapitel haben wir gesehen, dass sich F darstellen lässt als:

F = {x | Ax ≤ b, AF x = bF }

• wobei gilt:

• cT x = z ist eine nichtnegative Linearkombination von ZeilenAF x = bF aus Ax ≤ b

• AF x = bF sind genau die Zeilen i , für die Ai x = bi für alle x ∈ F

64 / 83

Page 17: Operations Research Polyeder und Polytope · Polyeder es ist sogar möglich, dass sich ein Polyeder als Lösungmenge eines nichtlinearen Ungleichungssystems ergibt Beispiel sei P

Facetten und Basislösungen

• sei Apx ≤ bp das (möglicherweise leere) Teilsystem so, dass

AP x = bP für alle x ∈ P

• sei aff P die affine Hülle von P

• aff P ist der kleinste affine Raum, der P enthält

• dann gilt:

Lemma 11

aff P(A, b) = {x | Apx = bp}.

65 / 83

Facetten und BasislösungenLemma 11

aff P(A, b) = {x | Apx = bp}.

Beweis:

• es ist P ⊆ {x | Apx = bp}

• damit gilt auch aff P ⊆ {x | Apx = bp}

• sei umgekehrt H = {x | cT x = z} eine Hyperebene, die aff P enthält

• dann enthält H auch P

• damit ist H ∩ P die triviale Seitenfläche P

• dann ist cT x = z nichtnegative Linearkombination von Zeile inApx = bp

• damit folgt

x erfüllt Apx = bp ⇒ x erfüllt cT x = z

66 / 83

Facetten und Basislösungen• damit folgt

x erfüllt Apx = bp ⇒ x erfüllt cT x = z

• mit anderen Worten:

{x | Apx = bp} ⊆ {x | cT x = z} = H

• somit:{x | Apx = bp} ⊆

\P⊆H

H = aff P

Korollar 12

dim P(A, b) = n − rg Ap .

Beweis:

dim P = dim{x | Apx = bp} = dim ker Ap = n − rg Ap .

67 / 83

Facetten und Basislösungen

Satz 13Sei P = P(A, b) ein Polyeder. Dann ist jede echte Seitenfläche Durchschnittvon Facetten von P .

Beweis:

• sei m = dim P

• nach Lemma 11 existiert eine Teilmatrix Ap von A so, dass

m = n − rg AP und AP x = bP für alle x ∈ P .

• wir können oBdA annehmen, dass die Zeilen von Ap linear unabhängigsind

• analog existiert für die Seitenfläche F eine Teilmatrix AF , so dass

F = {x ∈ P | AF x = bF } und dim F = n − rg AF .

68 / 83

Page 18: Operations Research Polyeder und Polytope · Polyeder es ist sogar möglich, dass sich ein Polyeder als Lösungmenge eines nichtlinearen Ungleichungssystems ergibt Beispiel sei P

Facetten und Basislösungen

• wir können wieder annehmen, dass die Zeilen von AF linearunabhängig sind

• jedes x ∈ F erfüllt auch die Gleichung AP x = bP

• damit können wir weiter annehmen, dass AP eine Teilmatrix von AF ist

• dann hat das Teilsystem die Form:»AP

AF rP

–x =≤

»bP

bF rP

• sei nun aTi x ≤ bi eine beliebige Ungleichung in AF rP x ≤ bF rP

69 / 83

Facetten und Basislösungen

• angenommen, aTi x ≤ bi wird impliziert von

AP x = bP =

»AP

−AP

–x ≤

»bP

−bP

• nach dem Farkas-Lemma existiert dann Vektoren y, z so, dass

ai = yT AP − zT AP und yT bP − zT bP ≤ bi

• insbesondere lässt sich dann ai aus den Zeilen von AP kombinieren

• im Widerspruch zur linearen Unabhängigkeit der Zeilen von AF

• somit gilt:Fi = {x ∈ P | Apx = bP , aT

i x = bi} 6= P

70 / 83

Facetten und Basislösungen

• somit gilt:Fi = {x ∈ P | Apx = bP , aT

i x = bi} 6= P

• d.h. Fi ist echte Seitenfläche

• weiter ist

rg»AP

aTi

–= rg Ap + 1

• d.h. dim Fi = dim P − 1 und Fi ist Facette

• offenbar ist F gerade der Durchschnitt aller solcher Facetten Fi

• und damit Lösungsmenge der Gesamtheit der entsprechendenGleichungen.

71 / 83

Facetten und Basislösungen

• der Beweis des letzten Satzes zeigt insbesondere:

• die Gleichungen AP x = bP zusammen mit den Facettenungleichungenimplizieren jede andere Ungleichung aT x ≤ b in Ax ≤ b

• denn: sei aT x ≤ b eine weitere Ungleichung

• und seiz = max

x∈PaT x ≤ b.

• dann ist Fa = {x ∈ P | aT x = z} eine Seitenfläche und somitDurchschnitt von Facetten

• also implizieren die Facettenungleichungen aT x ≤ z ≤ b

• damit reicht das System AP x = bP zusammen mit denFacettenungleichungen aus, um P(A, b) eindeutig zu beschreiben.

72 / 83

Page 19: Operations Research Polyeder und Polytope · Polyeder es ist sogar möglich, dass sich ein Polyeder als Lösungmenge eines nichtlinearen Ungleichungssystems ergibt Beispiel sei P

Facetten und Basislösungen

• sei P = P(A, b) ein Polyeder

• wir haben gesehen, dass wir jedes Polyeder in die Form bringenkönnen:

P = {x ∈ Rn | Ax = b, x ≥ 0}

• zur Erinnerung: eine Ecke ist eine Seitenfläche F mit dim F = 0

• sei r = rg A und v ≥ 0

• dann ist v genau dann eine Ecke von P , wenn es eine IndexmengeN mit |N | = n − r gibt derart, dass v eindeutige Lösung desfolgenden Systems ist:

Ax = beT

j x = 0 (für alle j ∈ N).

73 / 83

Facetten und Basislösungen

• äquivalent dazu ist:

(i) vj = 0 für alle j ∈ N ;

(ii) die Teilmatrix AB der r Spalten A·j mit Index j /∈ N bildet eineSpalten-Basis von A (Basislösung)

(iii) ABBvB = b

• folglich:

Ecke von P ←→ nichtnegative Basislösung von Ax = b

• diese Beziehung ist im allgemeinen nicht 1-1

• es ist hilfreich, sich AB als die Matrix der ersten r Spalten vorzustellen

• dann ist v nichtnegative Lösung des Systems:

ABvB + AN vN = b mit vi = 0 für i ∈ N74 / 83

PolytopeBeispiel:

−2x2 +x3 ≤ 0−2x1 +x3 ≤ 02x1 +x3 ≤ 8

+2x2 +x3 ≤ 8−x1 ≤ 0−x2 ≤ 0−x3 ≤ 0

0,0,04,0,0

0,4,04,4,0

2,2,4

75 / 83

Polytope−2x2 +x3 ≤ 0

−2x1 +x3 ≤ 02x1 +x3 ≤ 8

+2x2 +x3 ≤ 8−x1 ≤ 0−x2 ≤ 0−x3 ≤ 0

Einfügen von Schlupvariablen (alle Variablen nichtnegativ):

−2x2 +x3 +s1 = 0−2x1 +x3 +s2 = 0+2x1 +x3 +s3 = 8

+2x2 +x3 +s4 = 8

x1, x2, x3, s1, s2, s3, s4 ≥ 0

76 / 83

Page 20: Operations Research Polyeder und Polytope · Polyeder es ist sogar möglich, dass sich ein Polyeder als Lösungmenge eines nichtlinearen Ungleichungssystems ergibt Beispiel sei P

Polytope−2x2 +x3 +s1 = 0

−2x1 +x3 +s2 = 0+2x1 +x3 +s3 = 8

+2x2 +x3 +s4 = 8

x1, x2, x3, s1, s2, s3, s4 ≥ 0

Umbenennen der Schlupfvariablen:

−2x2 +x3 +x4 = 0−2x1 +x3 +x5 = 0+2x1 +x3 +x6 = 8

+2x2 +x3 +x7 = 8

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

77 / 83

Polytope

führt zu folgender Matrix A mit rg A = 4:

A =

0BB@0 −2 1 1 0 0 0−2 0 1 0 1 0 0

2 0 1 0 0 1 00 2 1 0 0 0 1

1CCAeine mögliche Basislösung:

0BB@0 −2 1 1 0 0 0−2 0 1 0 1 0 0

2 0 1 0 0 1 00 2 1 0 0 0 1

1CCA ·0BBBBBBBB@

x1

x2

x3

x4

x5

x6

x7

1CCCCCCCCA=

0BB@0088

1CCA

mit Lösung x = (0, 0, 0, 0, 0, 8, 8) ⇔ Ecke (0, 0, 0)

0,0,04,0,0

0,4,04,4,0

2,2,4

78 / 83

Polytopeweitere Basislösungen:

0BB@0 -2 1 1 0 0 0

-2 0 1 0 1 0 02 0 1 0 0 1 00 2 1 0 0 0 1

1CCA ·0BBBBBBBB@

x1

x2

x3

x4

x5

x6

x7

1CCCCCCCCA=

0BB@0088

1CCA

mit Lösung x = (2, 2, 4, 0, 0, 0, 0) ⇔ Ecke (2, 2, 4)

0,0,04,0,0

0,4,04,4,0

2,2,4

0BB@0 -2 1 1 0 0 0

-2 0 1 0 1 0 02 0 1 0 0 1 00 2 1 0 0 0 1

1CCA ·0BBBBBBBB@

x1

x2

x3

x4

x5

x6

x7

1CCCCCCCCA=

0BB@0088

1CCA

mit Lösung x = (2, 2, 4, 0, 0, 0, 0) ⇔ Ecke (2, 2, 4)

0,0,04,0,0

0,4,04,4,0

2,2,4

79 / 83

Facetten und Basislösungen

Weiter ergibt sich:

Lemma 14P hat höchstens

`nr

´Ecken.

Beweis:

• es gibt`n

r

´Teilmengen von r Spalten von A

• nicht jede dieser Teilmenengen muss eine Spaltenbasis bilden

• nicht jede Spaltenbasis führt zu nichtnegativen Basislösungen.

80 / 83

Page 21: Operations Research Polyeder und Polytope · Polyeder es ist sogar möglich, dass sich ein Polyeder als Lösungmenge eines nichtlinearen Ungleichungssystems ergibt Beispiel sei P

Facetten und Basislösungen

Gliederung

• Polyeder

• Darstellung von Polyedern

• Optimierung linearer Funktionen

• Rezessionskegel und polyedrische Kegel

• Polytope

• Facetten und Basislösungen

• rationale Polyeder

81 / 83

Rationale Polyeder• in konkreten Anwendungen muss man sich oft auf den Körper

Q beschränken

• ein Polyeder P ⊆ Rn heißt rational, wenn P mit rationalenParametern dargestellt werden kann

• wir wissen, dass dies auf zwei Arten möglich ist:

Implizit: P ist Lösungsmenge eines endlichen linearen

Ungleichungssystems Ax ≤ b mit A ∈ Qm,n , b ∈ Qm

Explizit: P ist die Menge aller Punkte, die von endlichen Mengen

V ⊆ Qn und W ⊆ Qn gemäß (2) erzeugt werden.

82 / 83

Rationale Polyeder• wir haben gesehen, dass die Umrechnungen „exlizit ↔ implizit“ mit

dem FM-Verfahren möglich sind

• das beruht nur auf den folgenden Operationen:

• Multipikation mit einem positiven Skalar;

• (Komponentenweise) Addition von Vektoren.

• diese Operationen führen nicht aus dem Skalarbereich Q heraus

• damit gilt:

sämtliche Kenngrössen rationaler Polyeder sind rational.

83 / 83