Kapitel 2
Schnittebenenverfahren
Inhalt
2
Schnittebenenverfahren
Ganzzahlige lineare Programmierung Schnittebenenverfahren
Konstruktion von Schnittebenen
Auswahlkriterium f¨ur Schnittrestriktionen
Ganzzahliges lineares Programm
Definition 2.1
Ein lineares Programm mit zus¨atzlichen Bedingungen x
i2 Z f¨ur alle Variablen x
iheißt ganzzahliges lineares Programm (integer linear program, ILP).
Gilt x
i2 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.
Beispiele
Beispiel 2.2
Wir betrachten das ILP max x
1+ 2x
2unter den Neben- und Vorzeichenbedingungen
2x
2 5 2x
1+ 3x
2 12 x
1, x
20 x
1, x
22 Z
4
0 1 2 3 4 5 6
1 2 3
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
0am n¨achsten liegt, ist nicht
optimal.
Beispiel 2.3 F¨ur das ILP
max x
1+ 2x
2unter den Neben- und Vorzeichenbedingungen x
2 3 2x
1+ 3x
2 12 x
1, x
20 x
1, x
22 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).
Grundidee von Schnittebenenverfahren
1
Bestimme die optimale L¨osung x
0der LP-Relaxation.
2
Gilt x
02 Z
n, dann ist x := x
0eine 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
0nicht erf¨ullt wird.
4
F¨uge diese Nebenbedingung dem ILP hinzu und gehe zu Schritt 1.
+ x
0wird aus dem Zul¨assigkeitsbereich der LP-Relaxation geschnitten.
Veranschaulichung
x’
0 1 2 3 4
Schnittebene
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.
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.
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
1x
2x
3x
4b
x
30 1 1 0 3
x
42 3 0 1 12
z 1 2 0 0 0
x
2ist Pivotspalte, x
3Pivotzeile
x
1x
2x
3x
4b
x
20 1 1 0 3
x
42 0 3 1 3
z 1 0 2 0 6
Fortsetzung Beispiel.
x
1ist Pivotspalte, x
4Pivotzeile
x
1x
2x
3x
4b
x
20 1 1 0 3
x
11 0
32 12 32z 0 0
12 12 152Damit haben wir die optimale L¨osung
x
0=
✓
32
3
◆
der LP-Relaxation ermittelt.
Fortsetzung Beispiel.
x’
1
2
3
4
Fortsetzung Beispiel.
Wir betrachten die Zeile der nicht-ganzzahligen BV x
1: x
13
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
12x
31 = 1 2 x
31
2 x
4+ 1
2 ( ⇤ )
Fortsetzung Beispiel.
Wegen x
3, x
40 folgt
12x
3 12
x
4 0 und damit die Ungleichung 1
2 x
31 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
31
2 x
4+ 1 2 0
bzw. 1
2 x
31
2 x
4 1 2 ( ⇤⇤ )
Diese Ungleichung wird von x
0nicht erf¨ullt, aber von jeder ganzzahligen
zul¨assigen L¨osung.
Fortsetzung Beispiel.
Mit Hilfe der Schlupfvariablen x
5f¨ugen wir die Ungleichung (⇤⇤) dem ILP hinzu. Das neue Tableau lautet:
x
1x
2x
3x
4x
5b
x
20 1 1 0 0 3
x
11 0
32 120
32x
50 0
12 121
12z 0 0
12 120
152Dieses Tableau ist nicht primal zul¨assig, aber dual: Pivotzeile x
5, Pivotspalte x
3x
1x
2x
3x
4x
5b
x
20 1 0 1 2 2
x
11 0 0 2 3 3
x
30 0 1 1 2 1
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
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
irgilt
x
ir+ X
j2INBV
a
rijx
jr= b
riMan beachte:
I
NBVist die Menge der Indizes der NBVs, a
rii= 1,
a
rij= 0, falls x
jrBV und x
jr= 0, falls x
jrNBV.
Daher insgesamt (wie bekannt)
x
ir= b
riKonstruktion 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
irbzw. a
rijin ganzzahlige Anteile bb
ric bzw. ba
rijc und
positive Bruchanteile
ir2 (0, 1) bzw. ↵
rij2 [0, 1).
Damit gilt
b
ir= b b
ric +
ira
rij= b a
rijc + ↵
rijund es folgt mit der Gleichung von Folie 79
x
ir+ X
j2INBV
b a
ijrc x
jr+ X
j2INBV
↵
rijx
jr= b b
ric +
irFassen wir die ganzzahligen Teile auf der linken und die Br¨uche auf der rechten Seite zusammen, ergibt sich
x
ir+ X
j2INBV
b a
rijc x
jrb b
irc = X
j2INBV
↵
rijx
jr+
irWegen x
jr0 und ↵
rij0 folgt P
j2INBV
↵
rijx
jr 0 und damit X
j2INBV
↵
rijx
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
↵
rijx
jr
riAls Gleichung mit zus¨atzlicher Schlupfvariable r
i0 ergibt sich f¨ur die Schnittrestriktion: X
j2INBV