Effiziente Algorithmen (WS2019/20)
Kapitel 5 Lineare Programme 2
Walter Unger
Lehrstuhl für Informatik 1
8:55 Uhr, den 18. Dezember 2019
5:2 Walter Unger 18.12.2019 8:55 WS2019/20
Inhalt I
1 Einleitung Beispiele Formen eines LP Geometrische Interpretation Algebraische Gleichungsform Überblick
2 Simplexverfahren Algorithmus Pivotschritt Beispiel Initiale Basislösung
Komplexität von einem Pivotschritt Laufzeit
Degenerierte LPs 3 Dualität
Einleitung Aussagen Beispiele 4 Ganzzahligkeit
Einleitung Unimodularität
Einleitung Simplexverfahren Dualität Ganzzahligkeit
5:1 Beispiele 1/10 Walter Unger 18.12.2019 8:55 WS2019/20
Einfaches Beispiel
116 .6
y
x 10
20 30 40 50 60 70 80 90 100 110
10 20 30 40 50 60 70 80
x680
y6110 1.2
·x +
y6 120
4/5· x+
y= 40 4/5·x+
y= 60 4/5·x+
y= 80 4/5·x+
y= 100 opt
Wir betrachten ein System von linearen Ungleichungen.
Dabei ist eine “Zielfunktion” zu optimieren.
Beispiel (Brotrezept):
x kg Weizenmehl y kg Roggenmehl
Maximal 80 kg Weizenmehl.
Maximal 110 kg Roggenmehl.
Mischungsverhältnis: 1.2·x+y.
Maximale Brotmenge:
1.2·x+y6120.
Zu optimieren:
f(x,y) =4/5·x+y.
Einleitung Simplexverfahren Dualität Ganzzahligkeit
5:1 Beispiele 2/10 Walter Unger 18.12.2019 8:55 WS2019/20
Einfaches Beispiel
116 .6
y
x 10
20 30 40 50 60 70 80 90 100 110
10 20 30 40 50 60 70 80
x680
1.2
·x +
y6 120
4/5· x+
y= 40 4/5·x+
y= 60 4/5·x+
y= 80 4/5·x+
y= 100
Wir betrachten ein System von linearen Ungleichungen.
Dabei ist eine “Zielfunktion” zu optimieren.
Beispiel (Brotrezept):
x kg Weizenmehl y kg Roggenmehl
Maximal 80 kg Weizenmehl.
Maximal 110 kg Roggenmehl.
Mischungsverhältnis: 1.2·x+y.
Maximale Brotmenge:
1.2·x+y6120.
Zu optimieren:
f(x,y) =4/5·x+y.
Einleitung Simplexverfahren Dualität Ganzzahligkeit
5:1 Beispiele 3/10 Walter Unger 18.12.2019 8:55 WS2019/20
Einfaches Beispiel
116 .6
y
x 10
20 30 40 50 60 70 80 90 100 110
10 20 30 40 50 60 70 80
x680
y6110
1.2
·x +
y6 120
4/5· x+
y= 40 4/5·x+
y= 60 4/5·x+
y= 80 4/5·x+
y= 100 opt
Wir betrachten ein System von linearen Ungleichungen.
Dabei ist eine “Zielfunktion” zu optimieren.
Beispiel (Brotrezept):
x kg Weizenmehl y kg Roggenmehl
Maximal 80 kg Weizenmehl.
Maximal 110 kg Roggenmehl.
Mischungsverhältnis: 1.2·x+y.
Maximale Brotmenge:
1.2·x+y6120.
Zu optimieren:
f(x,y) =4/5·x+y.
Einleitung Simplexverfahren Dualität Ganzzahligkeit
5:1 Beispiele 4/10 Walter Unger 18.12.2019 8:55 WS2019/20
Einfaches Beispiel
116 .6
y
x 10
20 30 40 50 60 70 80 90 100 110
10 20 30 40 50 60 70 80
x680
y6110
.2
·x +
y6 120
4/5· x+
y= 40 4/5·x+
y= 60 4/5·x+
y= 80 4/5·x+
y= 100
Wir betrachten ein System von linearen Ungleichungen.
Dabei ist eine “Zielfunktion” zu optimieren.
Beispiel (Brotrezept):
x kg Weizenmehl y kg Roggenmehl
Maximal 80 kg Weizenmehl.
Maximal 110 kg Roggenmehl.
Mischungsverhältnis: 1.2·x+y.
Maximale Brotmenge:
1.2·x+y6120.
Zu optimieren:
f(x,y) =4/5·x+y.
Einleitung Simplexverfahren Dualität Ganzzahligkeit
5:1 Beispiele 5/10 Walter Unger 18.12.2019 8:55 WS2019/20
Einfaches Beispiel
116 .6
y
x 10
20 30 40 50 60 70 80 90 100 110
10 20 30 40 50 60 70 80
x680
y6110 1.2
·x +
y6 120
4/5· x+
y= 40 4/5·x+
y= 60 4/5·x+
y= 80 4/5·x+
y= 100 opt
Wir betrachten ein System von linearen Ungleichungen.
Dabei ist eine “Zielfunktion” zu optimieren.
Beispiel (Brotrezept):
x kg Weizenmehl y kg Roggenmehl
Maximal 80 kg Weizenmehl.
Maximal 110 kg Roggenmehl.
Mischungsverhältnis: 1.2·x+y.
Maximale Brotmenge:
1.2·x+y6120.
Zu optimieren:
f(x,y) =4/5·x+y.
Einleitung Simplexverfahren Dualität Ganzzahligkeit
5:1 Beispiele 6/10 Walter Unger 18.12.2019 8:55 WS2019/20
Einfaches Beispiel
116 .6
y
x 10
20 30 40 50 60 70 80 90 100 110
10 20 30 40 50 60 70 80
x680
y6110 1.2
·x +
y6 120
4/5· x+
y= 40
4/5·x+
y= 60 4/5·x+
y= 80 4/5·x+
y= 100
Wir betrachten ein System von linearen Ungleichungen.
Dabei ist eine “Zielfunktion” zu optimieren.
Beispiel (Brotrezept):
x kg Weizenmehl y kg Roggenmehl
Maximal 80 kg Weizenmehl.
Maximal 110 kg Roggenmehl.
Mischungsverhältnis: 1.2·x+y.
Maximale Brotmenge:
1.2·x+y6120.
Zu optimieren:
f(x,y) =4/5·x+y.
Einleitung Simplexverfahren Dualität Ganzzahligkeit
5:1 Beispiele 7/10 Walter Unger 18.12.2019 8:55 WS2019/20
Einfaches Beispiel
116 .6
y
x 10
20 30 40 50 60 70 80 90 100 110
10 20 30 40 50 60 70 80
x680
y6110 1.2
·x +
y6 120
4/5· x+
y= 40 4/5·x
+y
=60
4/5·x+
y= 80 4/5·x+
y= 100 opt
Wir betrachten ein System von linearen Ungleichungen.
Dabei ist eine “Zielfunktion” zu optimieren.
Beispiel (Brotrezept):
x kg Weizenmehl y kg Roggenmehl
Maximal 80 kg Weizenmehl.
Maximal 110 kg Roggenmehl.
Mischungsverhältnis: 1.2·x+y.
Maximale Brotmenge:
1.2·x+y6120.
Zu optimieren:
f(x,y) =4/5·x+y.
Einleitung Simplexverfahren Dualität Ganzzahligkeit
5:1 Beispiele 8/10 Walter Unger 18.12.2019 8:55 WS2019/20
Einfaches Beispiel
116 .6
y
x 10
20 30 40 50 60 70 80 90 100 110
10 20 30 40 50 60 70 80
x680
y6110 1.2
·x +
y6 120
4/5· x+
y= 40 4/5·x
+y
=60 4/5·x+
y= 80
4/5·x+
y= 100
Wir betrachten ein System von linearen Ungleichungen.
Dabei ist eine “Zielfunktion” zu optimieren.
Beispiel (Brotrezept):
x kg Weizenmehl y kg Roggenmehl
Maximal 80 kg Weizenmehl.
Maximal 110 kg Roggenmehl.
Mischungsverhältnis: 1.2·x+y.
Maximale Brotmenge:
1.2·x+y6120.
Zu optimieren:
f(x,y) =4/5·x+y.
Einleitung Simplexverfahren Dualität Ganzzahligkeit
5:1 Beispiele 9/10 Walter Unger 18.12.2019 8:55 WS2019/20
Einfaches Beispiel
116 .6
y
x 10
20 30 40 50 60 70 80 90 100 110
10 20 30 40 50 60 70 80
x680
y6110 1.2
·x +
y6 120
4/5· x+
y= 40 4/5·x
+y
=60 4/5·x+
y= 80 4/5·x
+y
=100
opt
Wir betrachten ein System von linearen Ungleichungen.
Dabei ist eine “Zielfunktion” zu optimieren.
Beispiel (Brotrezept):
x kg Weizenmehl y kg Roggenmehl
Maximal 80 kg Weizenmehl.
Maximal 110 kg Roggenmehl.
Mischungsverhältnis: 1.2·x+y.
Maximale Brotmenge:
1.2·x+y6120.
Zu optimieren:
f(x,y) =4/5·x+y.
5:1 Beispiele 10/10 Walter Unger 18.12.2019 8:55 WS2019/20
Einfaches Beispiel
116 .6 y
x 10
20 30 40 50 60 70 80 90 100 110
10 20 30 40 50 60 70 80
x680
y6110 1.2
·x +
y6 120
4/5· x+
y= 40 4/5·x
+y
=60 4/5·x+
y= 80 4/5·x
+y
=100
opt Wir betrachten ein System von
linearen Ungleichungen.
Dabei ist eine “Zielfunktion” zu optimieren.
Beispiel (Brotrezept):
x kg Weizenmehl y kg Roggenmehl
Maximal 80 kg Weizenmehl.
Maximal 110 kg Roggenmehl.
Mischungsverhältnis: 1.2·x+y.
Maximale Brotmenge:
1.2·x+y6120.
Zu optimieren:
f(x,y) =4/5·x+y.
Einleitung Simplexverfahren Dualität Ganzzahligkeit
5:2 Beispiele Walter Unger 18.12.2019 8:55 WS2019/20
Beispiel: Flussproblem
Flussproblem:
GegebenG = (V,E,s,t,c)mitc:E7→N. Maximiere den Fluss.
als lineares Programm:
Variablenxe füre∈E.
Maximiere
X
e∈Nout(s)∈E
xe.
unter Einhaltung der Bedingungen:
Für jeden Knotenv∈V\ {s,t}:P
e∈Nin(v)xe=P
e∈Nout(v)xe,
∀e∈E:xe6ce, und
∀e∈E:xe>0.
5:3 Beispiele Walter Unger 18.12.2019 8:55 WS2019/20
Beispiel: Relaxiertes Rucksackproblem
Relaxiertes Rucksackproblem:
gegebendteilbare Objekte mit Gewichtengi und die GewichtsschrankeG des Rucksacks.
Undvi sei der Nutzen für 16i6d.
Seixi der Anteil von Objekti.
Fülle den Rucksack. Dabei soll der Nutzen maximal sein.
Als lineares Programm:
Maximiere
d
X
i=1
vi·xi.
unter den Nebenbedingungen:
Pd
i=1gi·xi6G,
∀i:16i6d:xi61, und
∀i:16i6d:xi>0.
Einleitung Simplexverfahren Dualität Ganzzahligkeit
5:4 Beispiele Walter Unger 18.12.2019 8:55 WS2019/20
Beispiel: Routing und Wellenlängenzuweisung
Routing und Wellenlängenzuweisung: bestimme die Wellenlängen in einem optischen Netzwerk. In dem Netzwerk gibt es Kommunikationsanfragen für Paare von Knoten.
NE Endknoten.
NR Router mit Konverter.
n=NE+NR.
Namen der Knoten:Ni (16i6n).
mAnzahl der Lichtwege.
E:(i,j)∈E⇐⇒Kante vonNi nachNj. src(k): ist Startknoten derk-ten Anfrage.
dst(k): ist Endknoten derk-ten Anfrage.
Ωmax: Congestion des Netzwerks.
Xijk∈ {0,1}mit:
Xijk=
1 derk-te Weg nutzt Kante(i,j)∈E 0 sonst
WegenXijk∈ {0,1}ist dies hier ein “Integer Linerar Programm”.
5:5 Beispiele Walter Unger 18.12.2019 8:55 WS2019/20
Routing und Wellenlängenzuweisung als ILP
n=NE+NR src(k)←→dst(k) : (16k6m) X kij :k-te Weg nutzt Kante(i,j)
Minimiere ZielfunktionΩmax. Pm
k=1Xijk6Ωmax,∀(i,j)∈E.
Für allek:16k6mund allei:16i6n:
X
j:(i,j)∈E
Xijk− X
j:(j,i)∈E
Xjik=
1 fallssrc(k) =i
−1 fallsdst(k) =i 0 sonst
Dies ist eine korrekte Formulierung des Routen- und Wellenlängenzuweisungsproblems als ILP.
Komplexität:
m· |E|Variablen der FormXijk. Eine VariableΩmax.
Nebenbedingungen:|E|+n·m.
Schon für relativ kleine Netzwerke zu aufwendig.
Einleitung Simplexverfahren Dualität Ganzzahligkeit
5:6 Beispiele Walter Unger 18.12.2019 8:55 WS2019/20
Routen- und Wellenlängenzuweisung
NE Endknoten;NR Router ohne Konverter.
n=NE+NR; Namen der Knoten:Ni (16i6n).
mAnzahl der Lichtwege;nch Anzahl der Wellenlängen.
E:(i,j)∈E ⇐⇒Kante vonNi nachNj. src(k): ist Startknoten derk-ten Anfrage.
dst(k): ist Endknoten derk-ten Anfrage.
Ωmax: Congestion des Netzwerks.
Xijwk ∈ {0,1}mit:
Xijwk =
1 derk-te Weg nutzt(i,j)∈E und W.längew 0 sonst
Ywk∈ {0,1}mit:
Ywk=
1 derk-te Weg nutzt Wellenlängew 0 sonst
5:7 Beispiele Walter Unger 18.12.2019 8:55 WS2019/20
ILP:
n=NE+NR src(k)←→dst(k) : (16k6m) X kij :k-te Weg nutzt Kante(i,j) Y kw:k-te Weg nutzt Wellenlängew
Minimiere ZielfunktionΩmax:
nch
X
w=1 m
X
k=1
Xijwk6Ωmax,∀(i,j)∈E
Für allek,w:16k6m,16w 6nchund allei :16i6n:
X
j:(i,j)∈E
Xijwk− X
j:(j,i)∈E
Xjiwk =
Ywk fallssrc(k) =i
−Ywk fallsdst(k) =i 0 sonst
Für allek:16k6m:
nch
X
w=1
Ywk=1 Für allew:16w 6nch und alle(i,j)∈E:
m
X
k=1
Xijwk61
Einleitung Simplexverfahren Dualität Ganzzahligkeit
5:8 Formen eines LP Walter Unger 18.12.2019 8:55 WS2019/20
Kanonische Form eines LP
Ein LP ist in kanonischer Form, falls:
Es gibtdVariablenxi ∈R(16i6d), Wertecj∈Rfür 16j6d,
Wertebi ∈Rfür 16i6mund
Werteai,j∈Rfür 16j6dund 16i6m.
Gesucht ist eine Belegung der Variablenxi∈Rmit:
Maximiere ZielfunktionPd j=1cj·xj unter den Nebenbedingungen:
Pd
j=1aij·xj6bjfüri∈ {1,2, . . . ,m}und xj>0 fürj∈ {1,2, . . . ,d}.
Setze:
x= (xj),c= (cj),b= (bi)undA= (aij).
Dann ist kurzgefasst die kanonische Form:
MaximierecT·xunter den Nebenbedingungen:
A·x6bundx>0.
5:9 Formen eines LP Walter Unger 18.12.2019 8:55 WS2019/20
Umformungen zur kanonischen Form
Minimierungsproblem in ein Maximierungsproblem:
cT·xwird zu−cT·x.
Eine GleichungaT·x=bwird ersetzt durch aT·x6bund
aT·x>b.
Eine GleichungaT·x>bwird ersetzt durch
−aT·x6−b.
Eine möglicherweise negative Variablex∈Rwird ersetzt durch:
x0−x00und den Nebenbedingungen:
x0>0 und x00>0.
Einleitung Simplexverfahren Dualität Ganzzahligkeit
5:10 Geometrische Interpretation Walter Unger 18.12.2019 8:55 WS2019/20
Geometrische Interpretation
x
y
z 000
000 000
000
06x 6t 06y 6t 06z6t
Eine Variablenbelegungx= (x1,x2, . . . ,xd) entspricht einem Punkt imd-dimensionalen Raum.
Eine Nebenbedingungai·x6bi definiert einen Halbraum.
Die Grenze des Halbraums ist die Hyperebene ai·x=bi.
Der Schnitt aller Halbräume ist der Raum der zulässigen Lösungen.
Ein LP wird als zulässig bezeichnet, wenn des zulässige Lösungen gibt.
Schnittmengen von Halbräumen bilden ein Polyhedron.
Damit bilden die zulässigen Lösungen ein Polyhedron.
5:11 Geometrische Interpretation Walter Unger 18.12.2019 8:55 WS2019/20
Konvexität
PPolyhedron
Lemma
Ein PolyhedronPist konvex.
Beweis:
Konvex:∀a,b∈P:l(a,b)∈P mit:
l(a,b) ={λa+ (1−λ)b|06λ61}.
Ein Halbraum ist konvex.
Ein Polyhedron ist der Schnitt von Halbräumen.
Zeige: Der Schnitt von konvexen Mengen ist konvex.
D.h. ausA,B konvex folgtA∩B konvex.
Damit gilt:∀a,b∈A:l(a,b)∈Aund weiter∀a,b∈B:l(a,b)∈B.
Es folgt:∀a,b∈A∩B:l(a,b)∈A∩B.
Einleitung Simplexverfahren Dualität Ganzzahligkeit
5:12 Geometrische Interpretation Walter Unger 18.12.2019 8:55 WS2019/20
Lokales und globales Optimum
PPolyhedron
Lemma
Seiz,x∈P undcTz>cTx.
Dann existiert fürε >0einy ∈Pmit:||x−y||6εundcTy>cTx.
Beweis:
P ist konvex, giltl(x,z)∈P.
Wähley ∈l(x,z)mitx6=y und||x−y||6ε.
Nach Definition vonl gibtλ >0 mit:y =λx+ (1−λ)z.
Es folgt:
cTy = cT(λx+ (1−λ)z)
= λcTx+ (1−λ)cTz
> λcTx+ (1−λ)cTx
= cTx Lemma
Ein lokales Optimum ist auch ein globales Optimum.
5:13 Geometrische Interpretation Walter Unger 18.12.2019 8:55 WS2019/20
Unterräume
PPolyhedron
Eine Hyperebene wird beschrieben durch:
α1x1+α2x2+α3x3+. . .+αdxd=β.
Es sindd−1 Variablen frei wählbar.
Der Wert derd-ten Variable ist dann festgelegt.
Der durch die Hyperebene beschriebene affine Unterraum ist ein Unterraum der Dimensiond−1.
Ein Unterraum, der als Schnittmenge vonk linear unabhängigen Hyperräumen beschrieben wird, hat Dimensiond−k.
Falls mehr alsd Nebenbedingungen (Hyperebenen) sich in einem Punkt treffen, so ist das LP degeneriert.
Ein degeneriertes LP kann in ein nicht-degeneriertes LP umgeformt werden, ohne die Form (Zusammensetzung) der Lösung signifikant zu verändern.
Einleitung Simplexverfahren Dualität Ganzzahligkeit
5:14 Geometrische Interpretation Walter Unger 18.12.2019 8:55 WS2019/20
Oberfläche eines Polyhedrons
PPolyhedron
000
i j
000
i j
x>0
y>0 x680
y6110
1.2
·x +y
6120
Die Oberfläche eines Polyhedrons besteht aus Facetten.
SeiPein Polyhedron undHeine Hyperebene und sei Pkomplett auf einer Seite der HyperebeneH.
Fallsf =P∩Hnicht leer ist, so istf eine Facette vonP.
Eine Facette der Dimensiond−1 heißt Face.
Eine Kante entspricht dem Schnitt vond−1 Hyperebenen (Facette der Dimension 1).
Ein Knoten entspricht dem Schnitt vond Hyperebenen (Facette der Dimension 0).
Zwei Knoten sind benachbart, wenn sie durch eine Kante verbunden sind.
FallsPunbeschränkt ist, so kann es unbeschränkte Kanten geben.
Solche Kanten haben nur einen oder keinen Endpunkt.
5:15 Geometrische Interpretation Walter Unger 18.12.2019 8:55 WS2019/20
Zielfunktion
Die ZielfunktioncTx (Vektor) gibt eine Richtung inRd vor.
Falls die Nebenbedingungen den Zielwert nach oben beschränken, so wird das LP als beschränkt bezeichnet.
Falls der Zielwert nicht beschränkt ist, so heißt das LP unbeschränkt.
Das Polyhedron muss dabei nur in der Richtung voncTx beschränkt sein.
Ist das Polyhedron in alle Richtungen beschränkt (in einer Kugel enthalten), so wird es als Polytop bezeichnet.
Einleitung Simplexverfahren Dualität Ganzzahligkeit
5:16 Geometrische Interpretation Walter Unger 18.12.2019 8:55 WS2019/20
Geometrische Bestimmung des Optimums
Betrachte beschränktes LP in kanonischer Form mit LösungspolyhedronP und ZielfunktioncTx,
SeiHeine zum Vektorc orthogonale Hyperebene.
Damit gibt est∈Rmit:H={x ∈Rd|cT·x=t}.
SetzeHt ={x∈Rd |cT·x =t}.
SeiHso gewählt, dassP∩ H 6=∅gilt.
Wählez maximal mitP∩ Hz6=∅.
Ein beliebiger Punktx∗∈P∩ Hz ist eine optimale Lösung des LPs.
Beobachtungen:
P∩ Hz ist eine Facettef vonP.
Fallsf nicht in allen Richtungen unbeschränkt ist, so gibt es mindestens einen optimalen Knoten.
5:17 Algebraische Gleichungsform Walter Unger 18.12.2019 8:55 WS2019/20
Algebraische Gleichungsform
Gegeben sei ein Ungleichungssystem in kanonischer Form:
Maximierec0Tx unterA0x0>b0 undx0>0.
Dies kann unter Einführung von Schlupfvariablen in die folgende Form gebracht werden:
MaximierecTx unterAx=bundx>0.
Dazu wird eine Ungleichung
aix >bi mitx>0 mit Hilfe der Schlupfvariablensi umgeformt zu:
aix−si=bi mitx >0 undsi >0.
Falls das kanonische Ungleichungssystemd Variablen undm Ungleichungen hat,
so hat das algebraische Gleichungsformn=d+mVariablen und es gilt rang(A) =m.
Einleitung Simplexverfahren Dualität Ganzzahligkeit
5:18 Algebraische Gleichungsform Walter Unger 18.12.2019 8:55 WS2019/20
Beispiel
x164 x262
−x1+x26 1 x2
x2
a b
c
a b
c
Punkt(1,2)wird zum Punkt(1,2,3,0,0).
Punkt(4,2)wird zum Punkt(4,2,0,0,3).
Punkt(2,1)wird zum Punkt(2,1,2,1,2).
Durch Einsetzen in die letzten Gleichungen.
Sei ein kanonisches Ungleichungssystem gegeben:
x164 x1>0 x262 x2>0
−x1+x261
In der algebraischen Gleichungsform erhalten wir:
x1+x3=4 x1>0 x3>0 x2+x4=2 x2>0 x4>0
−x1+x2+x5=1 x5>0 Aufgelöst nach den Schlupfvariablen:
x3=4−x1
x4=2−x2
x5=1+x1−x2
5:19 Algebraische Gleichungsform Walter Unger 18.12.2019 8:55 WS2019/20
Basislösungen
Gegeben sei ein LP in Gleichungsform.
Seiδ:{1,2, . . . ,k} 7→ {1,2, . . . ,n}eine geordnete Auswahl vonk Spalten, d.h.
∀i ∈ {1,2, . . . ,k−1}:δ(i)< δ(i+1).
SeiAδ die Matrix, die nur die Spalten ausδenthält:
Aδ=Aδ(1),Aδ(2),Aδ(3), . . . ,Aδ(k). Sei weiter:
xδ=xδ(1),xδ(2),xδ(3), . . . ,xδ(k)
bδ=bδ(1),bδ(2),bδ(3), . . . ,bδ(k)
Fallsk=d, so wirdδals Basis bezeichnet. Dann istAδinvertierbar.
Seiδ¯die geordnete Auswahl der verbleibenden Spalten.
Dann hat das Gleichungssystem die Gestalt:Aδxδ+Aδ¯xδ¯=b.
Mitx¯δ=0 hat das Gleichungssystem die eindeutige Lösung xδ=A−1δ b.
Die Lösung(A−1δ b,0)wird als Basislösung zur Basisδbezeichnet.
Einleitung Simplexverfahren Dualität Ganzzahligkeit
5:20 Algebraische Gleichungsform Walter Unger 18.12.2019 8:55 WS2019/20
Interpretation
In der kanonischen Form entsprechen die Basislösungen den Schnittpunkten vond Hyperebenen der Nebenbedingungen.
Betrachte dazu:
In der Basislösung sindn−m=dVariablen Null.
Das sind entweder Schlupfvariablen oder Variablen der kanonischen Form.
Zu jeder der Variablen haben wir eine Hyperebene in der kanonischen Form.
Eine Basislösung ist zulässig, falls die Variablen nicht negativ sind.
Dann entspricht die zulässige Basislösung einem Knoten des Lösungspolyhedrons.
Falls eine der Basisvariablen Null ist, so schneiden sich mehr alsd Hyperebenen an einem Punkt und das LP ist degeneriert.
5:21 Überblick Walter Unger 18.12.2019 8:55 WS2019/20
Einleitung
opt
x
start opt
x
start
Zwei Methoden, um in einem Polyhedron das Optimum bezüglich einer Zielfunktion zu finden:
“Laufe” auf der Oberfläche über Knoten und Kanten “bergauf” in Richtung Optimum.
Starte an einem beliebigen Knoten.
Suche “verbessernde” Kante.
Gehe über diese Kante zu neuem Knoten.
Wiederhole bis das Optimum gefunden ist.
Suche im Inneren des Polyhedrons einen Punkt und versuche das Optimum zu “sehen”.
Suche Punkt im Polyhedron.
Grenze Polyhedron mittels Hyperebene orthogonal zum Zielvektor ein.
Führe Halbierungssuche durch.
Einleitung Simplexverfahren Dualität Ganzzahligkeit
5 Inhaltsverzeichnis Walter Unger 18.12.2019 8:55 WS2019/20
Vergleich Simplex zu Gauß
∗
Um die Idee des Simplexverfahren (vorallem das Schema) zu verstehen, betrachten wir zuerst einmal das Eliminationssche- ma nach Gauß. Hier soll eine quadratischeMatrixmit einem unbekanntenVektorzu einemZielvektormultipliziert werden.
Dazu werden so lange Umformungen gemacht, bis nur auf der
HauptdiagonalenderMatrixEinsen stehen. Nun kann imZielvektordie Lösung für denVektorabgelesen werden.
∗
Beim Simplexverfahren haben wir keine quadra- tischeMatrix. Daher wird immer so umgeformt, daß in einer quadratischenTeilmatrixnur auf der HauptdiagonalenEinsen stehen. Die zugehörigen Variablen des Vektors können nun im Zielvektor
abgelesen werden. Alle anderen Variablen desVektorswerden auf Null gesetzt.
Die Variablen des Vektors, die nicht Null sind, nennen wir Basislösung. Eine Verbesserung der Zielfunktion wird nun durch einen Wechsel der Basislösung vorgenommen. Dazu wird nach einer beliebigen Variablen desVektorsgesucht, die die Zielfunktion verbessert. Der dann stattfindende Austausch wird Pivot- schritt genannt.
5:23 Algorithmus Walter Unger 18.12.2019 8:55 WS2019/20
Einleitung
Vorgestellt 1951 von Dantzig.
In der Praxis das erfolgreichste Verfahren.
Eingabe:
nicht-degeneriertes (ggf. unbeschränkt) LP Sei das LösungspolyhedronP.
Verfahren
1 Bestimme beliebigen KnotenpaufP.
2 Solange es eine verbessernde Kantee= (p,p0)gibt:
1 Setzep=p0.
3 Gebepaus.
Der Wechsel über die Kante(p,p0)heißt Pivotschritt.
Einleitung Simplexverfahren Dualität Ganzzahligkeit
5:24 Algorithmus Walter Unger 18.12.2019 8:55 WS2019/20
Vereinfachter Vergleich Simplex zu Gauß
∗
Gauß
∗
Simplex
5:25 Pivotschritt Walter Unger 18.12.2019 8:55 WS2019/20
Erinnerung
Ungleichungssystem:
Maximierec0Tx unterA0x06b0 undx0>0.
Algebraische Gleichungsform (mit Schlupfvariablen):
MaximierecTx unterAx=bundx>0.
Neue Gestalt durch Spaltenauswahl:Aδxδ+Aδ¯xδ¯=b.
Mitx¯δ=0 hat das Gleichungssystem eine eindeutige Lösung. Dies ist eine Basislösung von der Algebraischen Gleichungsform.
xδ=A−1δ b.
BeachteAδ ist invertierbar.
Einleitung Simplexverfahren Dualität Ganzzahligkeit
5:26 Pivotschritt Walter Unger 18.12.2019 8:55 WS2019/20
Umformungen
xδ= ˆb−Axˆδ¯=A−1 δ ·b−A−1
δ ·Aδ¯xδ¯ [xδ= ˆb=A−1
δ ·b]
Situation:
Ax=b,x>0 und maximierecTx.
Aδ invertierbar, der FormAδxδ+Aδ¯xδ¯=b.
Multiplikation mitA−1δ von links ergibt:
Aδxδ+Aδ¯xδ¯ = b A−1δ ·Aδxδ+A−1δ ·Aδ¯xδ¯ = A−1δ ·b
xδ+A−1δ ·Aδ¯xδ¯ = A−1δ ·b
xδ = A−1δ ·b−A−1δ ·Aδ¯xδ¯
xδ = A−1δ ·b−Axˆδ¯
xδ = bˆ−Axˆδ¯
Da für die Basislösungxδ¯=0 gilt, erhalten wir:
xδ=A−1δ ·b= ˆb.
Die Zielfunktion hat dann den WertcT·A−1δ ·b=cT·b.ˆ
5:27 Pivotschritt Walter Unger 18.12.2019 8:55 WS2019/20
Optimalität
xδ= ˆb−Axˆδ¯=A−1 δ ·b−A−1
δ ·Aδ¯xδ¯ [xδ= ˆb=A−1
δ ·b]
Versuche nun, von einer Basislösung aus eine Kante zu finden:
Basislösung:xδ= ˆb= ˆb−A−1δ ·Aδ¯xδ¯mitxδ¯=0.
Zielfunktionswert:cT·b.ˆ
Um von der Basislösung abzuweichen, istx¯δzu verändern.
Wir können die Variablen der Basis als Funktion der Nichtbasisvariablen auffassen.
Auch kann der Zielfunktionswert als Funktion vonxδ¯aufgefasst werden.
cT·x = cδT·xδ+cδT¯ ·xδ¯
= cδT·(ˆb−Axˆ δ¯) +cδT¯ ·xδ¯
= cδT·bˆ−cδT·Axˆ δ¯+cδT¯ ·xδ¯
= cδT·bˆ+ (cδT¯ −cδT·A)ˆ ·xδ¯
Der VektorcδT¯ −cδT·Aˆwird als Vektor der reduzierten Kosten bezeichnet.
Für jeden Eintrag des Vektors der reduzierten Kosten gilt:
Der Eintrag zeigt an, wie sich die Zielfunktion ändert.
Falls der Eintrag positiv ist, verbessert sich die Zielfunktion.
Dazu ist die zugehörige Komponente (Eintrag) zu ändern.
Einleitung Simplexverfahren Dualität Ganzzahligkeit
5:28 Pivotschritt Walter Unger 18.12.2019 8:55 WS2019/20
Kriterium zur Optimalität
xδ= ˆb−Axˆδ¯=A−1 δ ·b−A−1
δ ·Aδ¯xδ¯ [xδ= ˆb=A−1
δ ·b] cTδ¯−cTδ·Aˆ
Theorem
Falls der Vektor der reduzierten Kosten zu einer Basisδkeine positiven Einträge hat, so ist zugehörige Lösungxδ optimal.
Beweis:
Es gelte:cδ¯T−cδT·Aˆ60.
Seix0∈P beliebige zulässige Lösung.
Damit giltx0>0 und weiter giltx¯δ0 >0.
Damit erhalten wir:
cT·x0=cδT·bˆ+ (cδT¯ −cδT·A)ˆ ·xδ¯06xδT·b.ˆ Der Basisvektorxδ hat den ZielfunktionswertxδTb.ˆ
Damit ist er optimal.
5:29 Pivotschritt Walter Unger 18.12.2019 8:55 WS2019/20
Folgerung
xδ= ˆb−Axˆδ¯=A−1 δ ·b−A−1
δ ·Aδ¯xδ¯ [xδ= ˆb=A−1
δ ·b]
cTδ¯−cTδ·Aˆ
Falls der Vektory =cδ¯T−cδT·Aˆder reduzierten Kosten keine positiven Einträge hat, so terminiert das Verfahren.
Anderenfalls suchen wir eine verbessernde Basislösung:
Seixjeine Nichtbasisvariable mit positiven reduzierten Kosten. D.h.
cj−
m
X
k=1
(cδ)k·aˆk,j>0.
Wir verändern nun nurxj.
Eine Vergrößerung vonxjvergrößert auch die ZielfunktioncTδ·ˆb+ (cδT¯ −cδT·A)ˆ ·xδ¯und verändert die Gleichungxδ= ˆb−Axˆδ¯, d.h.
für jede Komponente gilt:xδ(i)= ˆbi−aˆi,jxj.
Beachte dabei, Variablenxδ(k)¯ k6=jsind fixiert undxδ(k)¯ =0.
Falls die Lösung beschränkt ist, so
vergrößerexj, solangexδ(i)= ˆbi−aˆi,jxj>0 gilt.
Einleitung Simplexverfahren Dualität Ganzzahligkeit
5:30 Pivotschritt Walter Unger 18.12.2019 8:55 WS2019/20
Verfeinertes Simplexverfahren
xδ= ˆb−Axˆδ¯=A−1 δ ·b−A−1
δ ·Aδ¯xδ¯ [xδ= ˆb=A−1
δ ·b]
cTδ¯−cTδ·Aˆ cj−Pm
k=1(cδ)k·ak,jˆ >0 1 Problem: Maximierec0Tx unterA0x0>b0 undx0>0.
2 Forme um zu: MaximierecTx unterAx=bundx >0.
3 Bestimme beliebigen KnotenpaufP, d.h.
Bestimmexδ= ˆb=A−1δ ·bals Basislösung.
Bestimme Vektor der reduzierten Kosten:r=cT¯
δ −cδT·A.ˆ
4 Solanger einen positiven Eintragrjhat, wiederhole:
1 Falls für allei∈ {1,2, . . . ,m}giltaˆi,j60, so kann der Wertxjbeliebig erhöht werden.
Damit gebe aus: “die Lösung ist unbeschränkt”.
2 Wähle nun aus:i= argmin16k6m{aˆbˆk
k,j |ˆak,j>0}.
3 Setzexj=aˆbˆi
i,j und bestimme dadurch neuesxδ:
1 Ersetze SpalteAˆδ(i)durch SpalteAˆj.
4 Bestimme neu:r=cT¯
δ −cδT·A.ˆ
5 Gebexδ aus.