• Keine Ergebnisse gefunden

Effiziente Algorithmen (WS2019/20) Kapitel 5 Lineare Programme 2 Walter Unger

N/A
N/A
Protected

Academic year: 2022

Aktie "Effiziente Algorithmen (WS2019/20) Kapitel 5 Lineare Programme 2 Walter Unger"

Copied!
91
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Effiziente Algorithmen (WS2019/20)

Kapitel 5 Lineare Programme 2

Walter Unger

Lehrstuhl für Informatik 1

8:55 Uhr, den 18. Dezember 2019

(2)

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

(3)

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.

(4)

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.

(5)

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.

(6)

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.

(7)

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.

(8)

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.

(9)

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.

(10)

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.

(11)

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.

(12)

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.

(13)

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üreE.

Maximiere

X

e∈Nout(s)∈E

xe.

unter Einhaltung der Bedingungen:

Für jeden KnotenvV\ {s,t}:P

e∈Nin(v)xe=P

e∈Nout(v)xe,

∀eE:xe6ce, und

∀eE:xe>0.

(14)

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.

(15)

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”.

(16)

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 Variablemax.

Nebenbedingungen:|E|+n·m.

Schon für relativ kleine Netzwerke zu aufwendig.

(17)

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

(18)

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

(19)

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), WertecjRfür 16j6d,

Wertebi Rfür 16i6mund

Werteai,jRfür 16j6dund 16i6m.

Gesucht ist eine Belegung der VariablenxiRmit:

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.

(20)

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:

x0x00und den Nebenbedingungen:

x0>0 und x00>0.

(21)

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.

(22)

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.

(23)

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.

(24)

5:13 Geometrische Interpretation Walter Unger 18.12.2019 8:55 WS2019/20

Unterräume

PPolyhedron

Eine Hyperebene wird beschrieben durch:

α1x12x23x3+. . .+αdxd=β.

Es sindd1 Variablen frei wählbar.

Der Wert derd-ten Variable ist dann festgelegt.

Der durch die Hyperebene beschriebene affine Unterraum ist ein Unterraum der Dimensiond1.

Ein Unterraum, der als Schnittmenge vonk linear unabhängigen Hyperräumen beschrieben wird, hat Dimensiondk.

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.

(25)

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 =PHnicht 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.

(26)

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.

(27)

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.

(28)

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.

(29)

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

(30)

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.

(31)

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 sindnm=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.

(32)

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.

(33)

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.

(34)

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.

(35)

Einleitung Simplexverfahren Dualität Ganzzahligkeit

5:24 Algorithmus Walter Unger 18.12.2019 8:55 WS2019/20

Vereinfachter Vergleich Simplex zu Gauß

Gauß

Simplex

(36)

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.

(37)

Einleitung Simplexverfahren Dualität Ganzzahligkeit

5:26 Pivotschritt Walter Unger 18.12.2019 8:55 WS2019/20

Umformungen

xδ= ˆbAxˆδ¯=A−1 δ ·bA−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.ˆ

(38)

5:27 Pivotschritt Walter Unger 18.12.2019 8:55 WS2019/20

Optimalität

xδ= ˆbAxˆδ¯=A−1 δ ·bA−1

δ ·Aδ¯xδ¯ [xδ= ˆb=A−1

δ ·b]

Versuche nun, von einer Basislösung aus eine Kante zu finden:

Basislösung:xδ= ˆb= ˆbA−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.

(39)

Einleitung Simplexverfahren Dualität Ganzzahligkeit

5:28 Pivotschritt Walter Unger 18.12.2019 8:55 WS2019/20

Kriterium zur Optimalität

xδ= ˆbAxˆδ¯=A−1 δ ·bA−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.

(40)

5:29 Pivotschritt Walter Unger 18.12.2019 8:55 WS2019/20

Folgerung

xδ= ˆbAxˆδ¯=A−1 δ ·bA−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δ= ˆbAxˆδ¯, d.h.

für jede Komponente gilt:xδ(i)= ˆbiaˆi,jxj.

Beachte dabei, Variablenxδ(k)¯ k6=jsind fixiert undxδ(k)¯ =0.

Falls die Lösung beschränkt ist, so

vergrößerexj, solangexδ(i)= ˆbiaˆi,jxj>0 gilt.

(41)

Einleitung Simplexverfahren Dualität Ganzzahligkeit

5:30 Pivotschritt Walter Unger 18.12.2019 8:55 WS2019/20

Verfeinertes Simplexverfahren

xδ= ˆbAxˆδ¯=A−1 δ ·bA−1

δ ·Aδ¯xδ¯ [xδ= ˆb=A−1

δ ·b]

cTδ¯cTδ·Aˆ cjPm

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.

Referenzen

ÄHNLICHE DOKUMENTE

Motivation und Anwendungen vielfältige Zuordnungsprobleme: Kunden auf Kundenberater Anrufe im Callcenter auf Servicemitarbeiter Heiratsvermittlung Jobs auf Maschinen Schwarzgeld

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

Daher kann der Kreis durch einen Knoten ersetzt werden.... Probleme bei

Motivation und Anwendungen vielfältige Zuordnungsprobleme: Kunden auf Kundenberater Anrufe im Callcenter auf Servicemitarbeiter Heiratsvermittlung Jobs auf Maschinen Schwarzgeld

Untersuche für jede d-elementige Teilmenge der m Ungleichungen den jeweiligen Schnittpunkt (Basislösung).. Hier nun Algorithmus mit erwarteter linearer

Kann bei schweren Problemen mit ausreichender Wahrscheinlichkeit ein gutes Ergebnis erreicht werden?... 4 Inhaltsverzeichnis Walter Unger 5.12.2019

Falls eine der Basisvariablen Null ist, so schneiden sich mehr als d Hyperebenen an einem Punkt und das LP ist degeneriert.... Einleitung Simplexverfahren

Einleitung Simplexverfahren Dualität Ganzzahligkeit 5:40 Komplexität von einem Pivotschritt Walter Unger 18.12.2019 8:57