• Keine Ergebnisse gefunden

Kapitel 2 Schnittebenenverfahren

N/A
N/A
Protected

Academic year: 2021

Aktie "Kapitel 2 Schnittebenenverfahren"

Copied!
36
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Kapitel 2

Schnittebenenverfahren

(2)

Inhalt

2

Schnittebenenverfahren

Ganzzahlige lineare Programmierung Schnittebenenverfahren

Konstruktion von Schnittebenen

Auswahlkriterium f¨ur Schnittrestriktionen

(3)

Ganzzahliges lineares Programm

Definition 2.1

Ein lineares Programm mit zus¨atzlichen Bedingungen x

i

2 Z f¨ur alle Variablen x

i

heißt ganzzahliges lineares Programm (integer linear program, ILP).

Gilt x

i

2 Z nicht f¨ur alle sondern nur f¨ur einige der Variablen, so spricht man von einem gemischt-ganzzahligen linearen Programm (mixed integer program, MIP).

Das lineare Programm, das entsteht, wenn wir in einem ILP bzw. MIP die

Bedingungen f¨ur die Ganzzahligkeit weglassen, heißt LP-Relaxation.

(4)

Beispiele

Beispiel 2.2

Wir betrachten das ILP max x

1

+ 2x

2

unter den Neben- und Vorzeichenbedingungen

2x

2

 5 2x

1

+ 3x

2

 12 x

1

, x

2

0 x

1

, x

2

2 Z

4

0 1 2 3 4 5 6

1 2 3

(5)

Fortsetzung Beispiel.

Die LP-Relaxation hat die optimale L¨osung x

0

= ( 9

4 , 5 2 ) mit einem Zielfunktionswert z

0

=

294

. Das ILP hat dagegen als optimale L¨osung

x = (3, 2) mit Zielfunktionswert z = 7.

Man beachte: Die ganzzahlige L¨osung, die x

0

am n¨achsten liegt, ist nicht

optimal.

(6)

Beispiel 2.3 F¨ur das ILP

max x

1

+ 2x

2

unter den Neben- und Vorzeichenbedingungen x

2

 3 2x

1

+ 3x

2

 12 x

1

, x

2

0 x

1

, x

2

2 Z

hat die LP-Relaxation die eindeutige optimale L¨osung x

0

= (

32

, 3).

Das ILP hat dagegen zwei unterschiedliche optimale L¨osungen: x = (3, 2)

und x = (1, 3).

(7)

Grundidee von Schnittebenenverfahren

1

Bestimme die optimale L¨osung x

0

der LP-Relaxation.

2

Gilt x

0

2 Z

n

, dann ist x := x

0

eine optimale L¨osung des ILP.

3

Ansonsten finde eine lineare Nebenbedingung (Schnittrestriktion), die

I

von allen zul¨assigen L¨osungen des ILP erf¨ullt wird aber

I

von x

0

nicht erf¨ullt wird.

4

F¨uge diese Nebenbedingung dem ILP hinzu und gehe zu Schritt 1.

+ x

0

wird aus dem Zul¨assigkeitsbereich der LP-Relaxation geschnitten.

(8)

Veranschaulichung

x’

0 1 2 3 4

Schnittebene

(9)

Begri↵e

Schnittebenenverfahren werden auch als Cutting-Plane-Verfahren bezeichnet.

Die zur Schnittrestriktion geh¨orende Ebene ist die Schnittebene bzw.

Cutting-Plane.

Das Verfahren wurde 1958 von dem amerikanischen Informatiker Ralph E.

Gomory ver¨o↵entlicht.

Deshalb werden die Schnittrestriktionen auch als Gomory-Cuts bezeichnet,

bzw. das Verfahren als Verfahren von Gomory.

(10)

Voraussetzungen

Gegeben sei ein Maximumproblem mit folgenden zus¨atzlichen Einschr¨ankungen:

der Begrenzungsvektor b ist ganzzahlig,

die Koeffizienten des Zielfunktionsvektors c sind ganzzahlig und die Koeffizienten der Matrix A der Nebenbedingungen sind ganzzahlig.

Konsequenz: Schlupfvariablen und Zielfunktionswert sind ebenfalls

ganzzahlig.

(11)

Beispielhafte Darstellung von Schnittebenenverfahren

Beispiel 2.4

Wir l¨osen beispielhaft das ILP von Beispiel 2.3. Zun¨achst l¨osen wir die LP-Relaxation.

Starttableau:

x

1

x

2

x

3

x

4

b

x

3

0 1 1 0 3

x

4

2 3 0 1 12

z 1 2 0 0 0

x

2

ist Pivotspalte, x

3

Pivotzeile

x

1

x

2

x

3

x

4

b

x

2

0 1 1 0 3

x

4

2 0 3 1 3

z 1 0 2 0 6

(12)

Fortsetzung Beispiel.

x

1

ist Pivotspalte, x

4

Pivotzeile

x

1

x

2

x

3

x

4

b

x

2

0 1 1 0 3

x

1

1 0

32 12 32

z 0 0

12 12 152

Damit haben wir die optimale L¨osung

x

0

=

3

2

3

der LP-Relaxation ermittelt.

(13)

Fortsetzung Beispiel.

x’

1

2

3

4

(14)

Fortsetzung Beispiel.

Wir betrachten die Zeile der nicht-ganzzahligen BV x

1

: x

1

3

2 x

3

+ 1 2 x

4

= 3

2

Wir formen die Gleichung um, indem wir alle Br¨uche aufspalten in einen ganzzahligen Anteil und einen Bruchanteil aus dem Intervall (0, 1).

x

1

+

✓ 2 + 1

2

◆ x

3

+

✓ 0 + 1

2

◆ x

4

=

✓ 1 + 1

2

Jetzt bringen wir alle ganzzahligen Teile auf die linke und die Bruchteile auf die rechte Seite:

x

1

2x

3

1 = 1 2 x

3

1

2 x

4

+ 1

2 ( ⇤ )

(15)

Fortsetzung Beispiel.

Wegen x

3

, x

4

0 folgt

12

x

3 1

2

x

4

 0 und damit die Ungleichung 1

2 x

3

1 2 x

4

+ 1

2  1 2 < 1

Andererseits muss wegen (⇤) die linke Seite der Ungleichung ganzzahlig sein. Daher k¨onnen wir die Ungleichung versch¨arfen zu

1 2 x

3

1

2 x

4

+ 1 2  0

bzw. 1

2 x

3

1

2 x

4

 1 2 ( ⇤⇤ )

Diese Ungleichung wird von x

0

nicht erf¨ullt, aber von jeder ganzzahligen

zul¨assigen L¨osung.

(16)

Fortsetzung Beispiel.

Mit Hilfe der Schlupfvariablen x

5

f¨ugen wir die Ungleichung (⇤⇤) dem ILP hinzu. Das neue Tableau lautet:

x

1

x

2

x

3

x

4

x

5

b

x

2

0 1 1 0 0 3

x

1

1 0

32 12

0

32

x

5

0 0

12 12

1

12

z 0 0

12 12

0

152

Dieses Tableau ist nicht primal zul¨assig, aber dual: Pivotzeile x

5

, Pivotspalte x

3

x

1

x

2

x

3

x

4

x

5

b

x

2

0 1 0 1 2 2

x

1

1 0 0 2 3 3

x

3

0 0 1 1 2 1

(17)

Fortsetzung Beispiel.

Damit haben wir eine optimale L¨osung x f¨ur das ILP.

In Strukturvariablen ausgedr¨uckt lautet die Schnittrestriktion (Herleitung . ):

x

1

+ 2x

2

 7

Visualisierung:

x’

x

1 2 3 4

(18)

Ausgangssituation

Ausgangslage: Wir haben die LP-Relaxation mit dem primalen Simplexverfahren gel¨ost, das zugeh¨orige Tableau liegt vor.

Bezeichungen:

a

rij

: Koeffizienten im Tableau

b

ri

: Komponenten des Begrenzungsvektors im Tableau x

ir

: Variablenwerte

F¨ur jede BV x

ir

gilt

x

ir

+ X

j2INBV

a

rij

x

jr

= b

ri

(19)

Man beachte:

I

NBV

ist die Menge der Indizes der NBVs, a

rii

= 1,

a

rij

= 0, falls x

jr

BV und x

jr

= 0, falls x

jr

NBV.

Daher insgesamt (wie bekannt)

x

ir

= b

ri

(20)

Konstruktion von Schnittebenen

Definition 2.5

F¨ur a 2 R bezeichne b a c 2 Z die ganze Zahl, f¨ur die a 1 < bac  a gilt. b a c heißt das gr¨oßte Ganze von a.

Wir zerlegen nun die Koeffizienten b

ir

bzw. a

rij

in ganzzahlige Anteile bb

ri

c bzw. ba

rij

c und

positive Bruchanteile

ir

2 (0, 1) bzw. ↵

rij

2 [0, 1).

(21)

Damit gilt

b

ir

= b b

ri

c +

ir

a

rij

= b a

rij

c + ↵

rij

und es folgt mit der Gleichung von Folie 79

x

ir

+ X

j2INBV

b a

ijr

c x

jr

+ X

j2INBV

rij

x

jr

= b b

ri

c +

ir

Fassen wir die ganzzahligen Teile auf der linken und die Br¨uche auf der rechten Seite zusammen, ergibt sich

x

ir

+ X

j2INBV

b a

rij

c x

jr

b b

ir

c = X

j2INBV

rij

x

jr

+

ir

(22)

Wegen x

jr

0 und ↵

rij

0 folgt P

j2INBV

rij

x

jr

 0 und damit X

j2INBV

rij

x

jr

+

ir

ri

< 1

Andererseits muss die linke Seite dieser Ungleichung ganzzahlig sein, daher kann die Ungleichung zu  0 versch¨arft werden und es folgt die

Schnittrestriktion: X

j2INBV

rij

x

jr

ri

Als Gleichung mit zus¨atzlicher Schlupfvariable r

i

0 ergibt sich f¨ur die Schnittrestriktion: X

j2INBV

rij

x

jr

+ r

i

=

ir

(23)

Beispiel: Herleitung von Schnittebenen

Beispiel 2.6

Wir wollen das folgende ILP l¨osen:

max x

1

+ 2x

2

unter den Neben- und Vorzeichenbedingungen:

6x

1

+ 5x

2

 30

4x

1

+ 9x

2

 36

x

1

, x

2

0

x

1

, x

2

2 Z

(24)

Fortsetzung Beispiel.

L¨osen der LP-Relaxation:

x

1

x

2

x

3

x

4

b

x

3

6 5 1 0 30

x

4

4 9 0 1 36

z 1 2 0 0 0

x

1

x

2

x

3

x

4

b x

3

34/9 0 1 5/9 10 x

2

4/9 1 0 1/9 4

z 1/9 0 0 2/9 8

x

1

x

2

x

3

x

4

b

x

1

1 0 9/34 5/34 45/17

x

2

0 1 2/17 3/17 48/17

z 0 0 1/34 7/34 141/17

(25)

Fortsetzung Beispiel.

L¨osung ist nicht ganzzahlig. M¨ogliche Schnittrestriktionen:

1.

x

1

+ 9

34 x

3

5

34 x

4

= 45 17 ) x

1

+

✓ 0 + 9

34

◆ x

3

+

1 + 29 34

◆ x

4

=

✓ 2 + 11

17

Daraus ergibt sich die Schnittrestriktion 9

34 x

3

29

34 x

4

 11 17 bzw. als Gleichung mit zus¨atzlicher Schlupfvariable r

1

9

34 x

3

29

34 x

4

+ r

1

= 11

17

(26)

Fortsetzung Beispiel.

2. F¨ur die x

2

-Zeile ergibt sich analog 15

17 x

3

3

17 x

4

 14

17 bzw. 15

17 x

3

3

17 x

4

+ r

2

= 14 17 3. Auch aus der Zielfunktionszeile l¨asst sich eine Schnittrestriktion

herleiten:

1

34 x

3

7

34 x

4

 5

17 bzw. 1

34 x

3

7

34 x

4

+ r

3

= 5

17

(27)

Eigenschaften

Die bisher optimale L¨osung ist wegen r

i

= b b

ri

c b

ir

< 0 nicht mehr zul¨assig.

Alle anderen ganzzahligen zul¨assigen Punkte erf¨ullen dagegen die zus¨atzliche Ungleichung.

Wir nehmen die zus¨atzliche Ungleichung zum Tableau hinzu. Dadurch entsteht auch eine neue Schlupfvariable.

Wegen der negativen rechten Seite ist das entstehende Tableau nicht mehr primal, aber dual zul¨assig.

Durch Anwendung des dualen Simplexalgorithmus erhalten wir eine

optimale L¨osung f¨ur die Relaxation mit zus¨atzlicher Ungleichung.

(28)

Auswahl einer Schnittrestriktion

Prinzipiell k¨onnten wir alle in Beispiel 2.6 hergeleiteten Schnittrestriktionen dem Tableau hinzuf¨ugen.

Nachteil: Jeweils auch eine zus¨atzliche Schlupfvariable. Tableau wird gr¨oßer, je mehr Schnittrestriktionen hinzugenommen werden.

Deshalb: Auswahl genau einer Schnittrestriktion Welche?

Auswahl kann entscheidend f¨ur die Effizienz sein.

(29)

Effizienz f¨ur verschiedene Schnittrestriktionen

Beispiel 2.7

Wir setzen Beispiel 2.6 fort.

Wir w¨ahlen die dritte Schnittrestriktion von Beispiel 2.6. Damit entsteht:

x

1

x

2

x

3

x

4

r

3

b

x

1

1 0 9/34 5/34 0 45/17

x

2

0 1 2/17 3/17 0 48/17

r

3

0 0 1/34 7/34 1 5/17

z 0 0 1/34 7/34 0 141/17

Dual zul¨assig, r

3

ist Pivotzeile, w¨ahle x

3

als Pivotspalte. Es entsteht:

(30)

Fortsetzung Beispiel.

x

1

x

2

x

3

x

4

r

3

b

x

1

1 0 0 1 9 0

x

2

0 1 0 1 4 4

x

3

0 0 1 7 34 10

z 0 0 0 0 1 8

Damit haben wir eine optimale L¨osung f¨ur das ILP.

Wir nehmen stattdessen die zweite Schnittrestriktion von Beispiel 2.6.

Damit entsteht:

x

1

x

2

x

3

x

4

r

2

b

x

1

1 0 9/34 5/34 0 45/17

x

2

0 1 2/17 3/17 0 48/17

r

2

0 0 15/17 3/17 1 14/17

z 0 0 1/34 7/34 0 141/17

(31)

Fortsetzung Beispiel.

x

1

x

2

x

3

x

4

r

2

b

x

1

1 0 0 1/5 3/10 12/5

x

2

0 1 0 1/5 2/15 44/15

x

3

0 0 1 1/5 17/15 14/15

z 0 0 0 1/5 1/30 124/15

Nicht ganzzahlig. Wir m¨ussten jetzt weitere Schnittrestriktionen herleiten.

(32)

Auswahlkriterium

+ W¨ahle die Schnittrestriktion, deren Schnittebene den gr¨oßten Abstand vom nicht-ganzzahligen Optimum hat.

Ebenendarstellung: F¨ur d 2 R

n

, d 6= 0 und e 2 R beschreibt die Menge E = n

x 2 R

n

| d

T

x + e = 0 o eine Ebene E des R

n

.

Der Vektor d ist ein Normalenvektor f¨ur die Ebene E , die Gleichung ist

eine Normalengleichung f¨ur E .

(33)

Normierte Ebenendarstellung: Indem wir die Normalengleichung durch k d k teilen, erhalten wir die Hessesche Normalform f¨ur eine Ebene:

E =

x 2 R

n

| 1

k d k · d

T

x + e k d k = 0 Der Vektor

kd1k

· d heißt Normaleneinheitsvektor.

Abstand Punkt zu Ebene: Der Abstand eines Punktes p 2 R

n

zu einer Ebene E ergibt sich, indem man p in die Gleichung der Hesseschen Normalenform f¨ur E einsetzt:

distance(p, E ) = 1

k d k · d

T

p + e

(34)

Beispiel: Auswahlkriterium

Beispiel 2.8

Wir f¨uhren die Berechnung f¨ur die drei Schnittebenen von Beispiel 2.6 durch. Wir haben

p = 1 17

0 B B

@ 45 48 0 0

1 C C A

1. Ebenengleichung:

9

34 x

3

29

34 x

4

+ 11 17 = 0 und damit

distance(p, E ) = 34

p 9

2

+ 29

2

· 11

17 = 0.7245 . . .

(35)

Fortsetzung Beispiel.

2. Ebenengleichung:

15

17 x

3

3

17 x

4

+ 14 17 = 0 und damit

distance(p, E ) = 17

p 15

2

+ 3

2

· 14

17 = 0.9152 . . . 3. Ebenengleichung:

1

34 x

3

7

34 x

4

+ 5 17 = 0 und damit

distance(p, E ) = 34

p 1

2

+ 7

2

· 5 17 = p

2 = 1.4142 . . .

Also w¨ahlen wir die 3. Schnittrestriktion wie in Beispiel 2.7.

(36)

Zusammenfassung

Mit Schnittebenenverfahren k¨onnen wir prinzipiell ILPs und MIPs l¨osen.

Problem: Tableau und Rechenaufwand wird mit jeder zus¨atzlichen Schnittebene gr¨oßer.

Weitere Probleme: numerische Instabilit¨at, Terminierung Ausblick:

Schnittebenen f¨ur spezielle Problemklassen

Kombination solcher Schnittebenen mit Verfahren des n¨achsten

Kapitels

Referenzen

ÄHNLICHE DOKUMENTE

Abgabe bis Do, 18.12., 13 Uhr Aufgabe 1 zur Bearbeitung in der ¨ Ubung Aufgaben 2-4 zur selbst¨ andigen Bearbeitung.

Wer im Teil (a) einer Aufgabe eine ausf¨ uhrliche Begr¨ undung gibt, indem er/sie einen diesbez¨ uglichen Satz beweist, erh¨ alt einen Zusatzpunkt (unabh¨angig davon, ob Teil

Entscheiden Sie im Folgenden jeweils ohne Begr¨ undung ob die Aussage wahr oder falsch ist. Jede Nichtbeantwortung wird mit null Punkten gewertet. Die Punktsumme wird zu null

Technische Universit¨at Graz WS 2021/2022. Institut f¨ ur Angewandte Mathematik

Fachbereich Mathematik und Statistik Prof.

[r]

[r]

[r]