53
Schnittebenenverfahren von Gomory Stefan Allescher 30. Juni 2005

Schnittebenenverfahren von Gomorynum.math.uni-bayreuth.de/de/teaching/archive/ss_2005/01061/s_allescher.pdf · Da bei jedem Schritt im Algorithmus von Gomory die opitmale Ecke durch

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Schnittebenenverfahren von GomoryStefan Allescher

30. Juni 2005

Inhaltsverzeichnis1. Grundprinzip

2. Das Verfahren von Gomory

2.1. Vorgehen

2.2. Beweis der Endlichkeit

2.3. Algorithmische Durchfuhrung

2.4. Beispiel

3. Vergleich mit dem Verfahren von Kelley

1. Das ganzzahlige Optimierungsproblem

Gegeben sei die Optimierungsaufgabe (LP):

�� � ��� � � � �

� � � �

� � �

� � ���

Dabei sei � � � � � �� � � � � �� � und ��� � � � � � � � � � � � � und � eine (m � n)-Matrix

mit den Elementen � � . Wir nehmen an, alle gegebenen Großen � � , � � und � seien

ganzzahlig.

Typische Anwendungsbeispiele der ganzzahligen Optimierung:� Soll man k oder k+1 Arbeitskrafte einstellen?

� Soll man das Flugzeug, die Bahn oder den LKW als Transportmittel benutzen?

� Soll eine Firma gekauft werden oder nicht?

...

Grafisch betrachtet kommen also nur noch Gitterpunkte, die in der zulassigen Menge

liegen, als Losungen in Betracht. Es muss also untersucht werden, inwieweit ein Zu-

sammenhang zwischen der nichtganzzahligen und der ganzzahligen Losung besteht.

Hierzu ein Beispiel:

� � � � � � � � �

� � � � � � �

� � � � � � �

� � � � � � � ��

� � �

� � � �

Nur die schwarzen Punkte sind zulassig. Der Optimalpunkt des linearen Problems

ware ��� �� � � � � �

� ��

mit �� ��� �� � � � � � . Der Optimalwert des ILP ist allerdings nicht

etwa � � �� ( � � � � � ), sondern ��� � �� � � �� mit Zielfunktionswert � � �� � �� � � � .

2. Das Schnittebenenverfahren von Gomory

2.1 Vorgehen um die ganzzahlige Optimallosung zu finden

Zunachst wird das gegebene lineare Programm (LP) ohne Ganzheitsrestriktionen gelost.

Ist diese Losung ��� � � noch nicht ganzzahlig, dann wird eine zusatzliche Restriktion

eingefuhrt. Diese Restriktion muss zwei Bedingungen erfullen:

� sie muss das gefundene optimale, aber nicht ganzzahlige Optimum von der zulassi-

gen Menge ”abschneiden”

� kein zulassiger ganzzahliger Punkt darf durch die neue Restriktion unzulassig

gemacht werden

Da �� � � optimal war, ist das zugehorige Simplextableau auch zulassig fur das duale

Problem. Fugt man zu diesem Tableau die Zeile hinzu, die der neu eingefuhrten Re-

striktion entspricht, so andert dies nichts an der dualen Zulassigkeit. Daher verwenden

wir das duale Simplexverfahren um eine optimale Losung fur das modifizierte Problem

zu finden.

Ist diese Losung wieder nicht ganzzahlig, so wird erneut eine zusatzliche Restriktion

aufgestellt und das neuerdings modifizierte Problem wird wieder mittels des dualen

Simplexverfahrens gelost. Diese Vorgehensweise wird so lange wiederholt, bis eine

ganzzahlige Losung erreicht ist.

Wann ist dies der Fall?

Satz 2.1(Endlichkeit):

Ist die Menge der zulassigen Punkte des Problems Minimiere ��� � � �

unter den Restriktionen � � � � � � � � � � � ��� ��� � � ��� � beschrankt,

so liefert der Algorithmus von Gomory nach endlich vielen Schritten ei-

ne ganzzahlige Losung oder es existiert keine zulassige Losung der

gestellten Aufgabe.

Bevor wir diesen Satz beweisen, wollen wir naher darauf eingehen, wie die zusatzli-

chen Restriktionen abgeleitet werden.

Ist die Optimallosung � � � � noch nicht ganzzahlig, so enthalt das zugehorige Simplex-

tableau eine Zeile mit einer nichtganzzahligen Konstanten � � . Diese Zeile entspricht

der Restriktion� � � � � � � � � � � � � � �� �� � �

wenn wir mit � � � � � � � �� die augenblicklichen Nichtbasisvariablen bezeichnen.

Durch Einfuhren der Schlupfvariablen �� � � erhalt man

� � � � � � � � � � � � � � �� �� � �� � � � � �

Wir fuhren nun folgende Bezeichnungsweise ein. Es ist � kongruent � modulo �

� � � ��� �� � �

wenn die Differenz � � � ein ganzes Vielfaches von � ist. Dadurch lassen sich die

Ganzzahligkeitsbedingungen � � � folgenderweise ausdrucken

� � � ��� �� � �

Fur Kongruenzen gelten folgende Rechenregeln:

Ist � � � � � ��� �� � � und � � � � � ��� �� � � , so ist auch

� � � � � � � � � � � ��� �� � �

denn aus � � � � � � ��� � , � � � � � � �� � folgt � � � � � � � � � � � � � � � � � � � � .

Ist ferner

� � � � ��� �� � ��

so gilt

� �� � � � � �� � � ��� �� � ��

denn � � � � � � � � � � � � � � � � � � � � � � , � � � � � � � � � .

Die Kongruenzrelation ist transitiv:

Ist � � � � � ��� �� � � und � � � � � ��� �� � � , so gilt auch � � � � � ��� �� � �

Beweis:

� � � � � � � � � , � � � � � � �� � .

zu zeigen: � � � � � � � � � , wobei � � �� � � �

� � � � � � � � � � � � � � � � �� �

� � � � � � � � � � �� �

setze � � � � � � � � � Behauptung

Ausgehend von der Gleichung

� � � � � � � � � � � � � � �� �� � �� � � � � �

erfullt nun also jede ganzzahlige Losung des gegebenen Problems die Kongruenz:� � � � � � � � � � � � � � �� �� � �� � � � � � ��� �� � �

Setzen wir nun

� � � � � ��� �� � � � � � � � � � � � �

so sind dadurch die Großen � � eindeutig festgelegt und infolge der Transitivitat der

Kongruenzrelation erfullt jede ganzzahlige zulassige Losung auch die Kongruenz

� � � � � � � � � � � � � � �� �� � � � � ��� �� � � � � � �

Da nun alle Großen � � und � nicht negativ sind, ist die linke Seite von (2.2) positiv.

Daraus folgt

� � � � � � � � � � � � � � �� �� �� � � � �

mit � � � � � � � � Hieraus erhalten wir die Ungleichung

� � � � � � � � � � � � � � �� �� � � � � � � � �

Dies ist die neue Restriktion. Sie schneidet die zuletzt gefundene zulassige Opti-

mallosung �� � � von der Menge der zulassigen Punkte ab, denn die ersten n Kom-

ponenten von � � � � sind gemaß unserer Vereinbarung Nichtbasisvariable und haben

daher den Wert 0. Da außerdem � � � � � gilt, ist der Punkt � � � � nicht zulassig fur die

Restriktion (2.3).

Das modifizierte Optimierungsproblem lautet nun

�� � ��� � � � �

� � � �

�� � � � � � �

� � �bzw.

�� � �� � � � �

� � � �

��� � � �

� � �

� � �

Dieses konnen wir ohne Schwierigkeiten durch das duale Simplexverfahren losen. Wir

wollen nun die Endlichkeit des Verfahrens zeigen.

2.2. Beweis von Satz 2.1

Wir machen folgende Voraussetzungen:

a) Die Menge der zulassigen Punkte ist beschrankt.

b) Die Hilfsrestriktion wird immer von der ersten Zeile des Tableaus mit nichtganzzah-

liger Konstanten abgeleitet. Ist der Wert der Zielfunktion nicht ganzzahlig, so wird

die Hilfsrestriktion aus der Zielfuntion abgeleitet.

c) Liegt eine Optimallosung eines linearen Programmes vor, so sei im zugehorigen

Simplextableau das erste von Null verschiedene Element jeder Spalte � � � � � � � �

positiv. Dies bedeutet keine Einschrankung, denn ist die optimale Losung gefun-

den, so sind alle Kostenfaktoren � nicht negativ. Ist ein � � � , so kann man stets

eine Pivotoperation druchfuhren, die das gewunschte Resultat zur Folge hat.

Nehmen wir zunachst an, � � sei nicht ganzzahlig. Nach Voraussetzung b) leiten wir

sodann aus der Zielfunktion die Restriktion

�� � � � � �� � � � � � �� �� �� �� � �

ab. Entweder stellt sich nun heraus, dass das duale Problem keine endliche Losung

und damit das primale Problem keine zulassige Losung besitzt oder die zugehorige

Pivotoperation im dualen Simplexverfahren liefert

� � � � � � � � � � � � � � � �

�� � �

� � � � � � � � � �� � �

wobei � � � � � � � � � � � � � � ist. Aus � � � � � � � folgt � �� � � � � und daraus erhalt

man

� � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � �

Existiert eine zulassige ganzzahlige Losung und ist � � nicht ganzzahlig, so liefert

der nachste Schritt im Algorithmus einen Wert der Zielfunktion, der nicht kleiner als

� � � � � � ist. Durch jede zusatzliche Restriktion wird der Bereich der zulassigen Punk-

te eingeschrankt, daher ist � � monoton steigend. Ferner steigt jedesmal, wenn � � nicht

ganzzahlig ist, der Wert der Zielfunktion auf mindestens � � � � � � . Da aber infolge der

Voraussetzung a) die Menge der zulassigen Punkte beschankt ist, kann � � nicht be-

liebig groß werden. Daher nimmt � � nach endlich vielen Schritten einen ganzzahligen

Wert an, den es in allen weiteren Schritten beibehalt.

Nehmen wir nun an, der Koeffizient � � ware unendlich oft nicht ganzzahlig. Da wir � �

bereits als konstant voraussetzen konnen, wird die Hilfsrestriktion aus der ersten Zeile

abgeleitet und wir erhalten nach der Durchfuhrung der Pivotoperation

� � � � � � � � �� � � � � �

�� � �

� � � � � � �� � �

� � �

� � � �

mit � � � � � � � � � � � � � � � und � � � � � . Denn ware � � � � � , so wurde aus

Voraussetzung c) � � � � folgen und die Pivotoperation wurde ein � � � � � ergeben im

Widerspruch zur Voraussetzung, dass � � bereits konstant ist. Aus (2.4) erhalten wir

� � � � � �

denn es ist � � �� � � � � und daher � � � � �

� � � � � � � � . Folglich wird bei jeder Pivo-

toperation � � kleiner als � � � � , wenn die schneidende Restriktion aus der ersten Zeile

abgeleitet wird. Aber � � kann nicht negativ werden. Denn ware � � negativ und waren

alle � � � � �� � � � , so ware nach Voraussetzung c) � � � � und die Pivotopera-

tion wurde den Wert der Zielfunktion andern im Widerspruch zur Voraussetzung, dass

� � konstant bleibt. Daher nimmt auch � � nach endlich vielen Schritten einen festen

ganzzahligen Wert an.

Eine analoge Argumentation fur die Großen � � � �� � � � � liefert den Beweis von Satz

2.1.

Da bei jedem Schritt im Algorithmus von Gomory die opitmale Ecke durch eine hinzu-

gefugte Restriktion, die einer Hyperebene entspricht, vom zulassigen Bereich abge-

schnitten wird, falls es eine nichtganzzahlige Komponente hat, kann man das Verfah-

ren von Gomory als Schnittebenenverfahren bezeichnen.

2.3. Algorithmische Durchfuhrung

Zu losen sei das Problem

�� � ��� � � � �

� � � �

� � ��

Bei der Losung der im Verfahren von Gomory auftretenden primalen und dualen li-

nearen Optimierungsaufgaben verwenden wir hier am besten folgendes Tableau, das

eine vereinfachte Schreibweise gestattet.

Dazu setzen wir

� � � � � � � �

� � � � � fur � � � � � � � �

� � � � � � � fur� � � � � � � �

und schreiben die auftretenden Großen in folgender Form an

� � � � �� � � � � � � � � �

� � � � � � � � � � � � � � �

� � � �

� � � �

� � � �

� � � � � � � � � � � � � � �

(Tableau 2.1)

Dieses Tableau ist primal zulassig, wenn � � � � � � �� � � � � � � � � gilt, und es ist

optimal, wenn zusatzlich � � � � � �� � � � � � � � � gilt. Schreibt man eine Optimie-

rungsaufgabe in der Form dieses Tableaus, so muss stets noch vermerkt werden,

welche Zeile zu welcher Basisvariablen und welche Spalte zu welcher Nichtbasisva-

riablen gehort.

Algorithmus 2.1

Gomory-Verfahren zur Losung der linearen ganzzahligen Opitmierungsaufgabe

� �� �

� � � � � � � � �� ��

unter den Restriktionen � � � � � � � � � � � � � � � � � �

Anfangsdaten: � � � �� � � � � � � � � � laut Tableau 2.1

� � �� � � � � � �

� � � � � � � � � � � � � � � � .

Notwendige Unterprozeduren: - Simplexverfahren fur ein Tableau der Gestalt (2.1)- Duales Simplexverfahren

1. Suche mittels des primalen Simplexverfahrens eine Losung des linearen Pro-

grammes � � � � � � � � � � � �� �� unter den Restriktionen � � � � � � � � .

Existiert keine endliche Losung, so hat auch die gestellte ganzzahlige Aufgabe

keine endliche Losung. Terminiere.

Andernfalls enthalt � � ��� � � � � � � � � � die Indizes der Nichtbasisvariablen, die

der ersten bis n-ten Spalte des Tableaus zugeordnet sind. � � � � �� � � � � � � �

enthalt die Indizes der Basisvariablen, die der ersten bis m-ten Zeile des Tableaus

zugeordnet sind. Gehe zu 2.

2. Gilt

� � � � �

und ist fur alle � � � �� � � � :

� � � � �

so ist eine optimale ganzzahlige Losung gefunden. Terminiere.

Andernfalls gehe zu 3.

3. Ableitung einer neuen Restriktion:

Wahle ein� � �

� � � � � ��

so, dass � � � �� � ist, und setze fur � � � � � � � � � �

� � � � � ��� �� � � � � � � � �

Ferner setze

� � � � � � � �� � � � � � � � � � � � � �

und fuge� � � � � � � � � � � �� � � � � � ��

als (m+1)-te Zeile zum Tableau hinzu.

4. Setze

� � � � � �� � � � � � � � � � � � � � ,

� � � � � � .

5. Suche mittels des dualen Simplexverfahrens eine Losung der modifizierten Opti-

mierungsaufgabe.

Existiert keine endliche Losung, so besitzt die gestellte Aufgabe keine zulassige

Losung. Terminiere.

Andernfalls gehe zu 2.

2.4 Beispiel

Wir betrachten folgendes Beispiel:

� � � � � � � � �

� � � � � � � � �

� � � � � � �

� � �

� � � � , � � � �

Um es in unser Tableau eintragen zu konnen, formulieren wir es als Minimumproblem:

�� � � � � � � � �

� � � � � � � � �

� � � � � � �

� � �

� � � � , � � � �

Das zugehorige Tableau lautet nun:

� � � � �

� � � �

� � � �

� � �

Dieses ist primal zulassig. Daher notieren wir � � �� � � �� � � � � � � � � � und wenden

darauf den primalen Simplexalgorthmus an.

1. Es ist ein � � � � , also mache weiter.

2. Bestimmung der in die Basis eintretenden Variablen:

Wahle Index so, dass

� � � � � � � � � �� � � � � �

3. Alle � � � � � ? Nein, also mache weiter.

4. Bestimmung der aus der Basis austretenden Variablen:

Wahle Index � so, dass

� � �� � �� � � �

� � �� � � � � � � � � � � � � � � � � �

� � � �

5. Vertausche das -te Element von � mit dem � -ten Element von � .

� � � �� � � �� � � � � � � � � �

6.Fuhre Pivotoperationen durch:�� � � � � �

� � � �

�� � � � �� � � � �� � � �

�� � � � � � �

� � �

fur � � � � � � � � � � ��

�� � � � � � � � �

�� � � � � �� � � � � � � �

�� � � � � � � � �� � �

fur� � � � � � � � �� �� �

�� � � � � � �� � � �

�� � � � � � � � � � �

��� � � � � � � �

�� �

� � � ��

�� � � � � � � � � � � � �

� � �

fur� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

�� � � � � � � � � �� � � � �

�� � � � � � � � � � �� � � �� � � � �

�� � � � � � � ��� �� � � �

�� � � � � � �� � � �� � � �

��� � � � � � � �� � � �

��� � � � � �� � � �� � � �

� � � � �

� � � �

� � � �

� � �

Setze � � � � �� � und gehe zu 1.

1. � � � � � � Starte 2. Durchlauf

2. Bestimmung der in die Basis eintretenden Variablen: � �

3. Nicht alle � � � � � � gehe zu 4.

4. Bestimmung der aus der Basis austretenden Variablen: � � �

5. � � � � � � �� � � �� � � � � �

6. Nach der Durchfuhrung der Pivotoperationen hat das Tableau folgende Gestalt:

� � � �

� � � � � � � � � �

� � � � � � � � � �

� � � � � � � � � �

Nun sind alle � � � � fur � � � � � � � � , also ist das Minimum erreicht.

� � �� � � � � � � � � � �

� � � � � � �� � �� � � � � �

Der Zielfunktionswert ist zwar ganzzahlig, die Losung jedoch nicht. Nach dem Algo-

rithmus von Gomory wird nun die neue Restriktion abgeleitet.

Wir wahlen eine Zeile mit � � � �� � , z.B.� � �

��

� ��

� � ��

� � �� ��� �� � � � �� � �� ��� �� � � � � �� � �� ��� �� � � , also lautet die neue

Restriktion

��

� � � ��

� � � ��

und somit das neue Tableau:

� � � �

� � � � � � � � � �

� � � � � � � � � �

� � � � � � � � � �

� � � � � � � � � � � �

Setze � � � �� � � � � � � � und wende jetzt das duale Simplexverfahren auf das modifi-

zierte Tableau an.

1. Es ist ein � � � � � , also mache weiter.

2. Bestimmung der in die duale Basis eintretenden Variablen:

Wahle Index � so, dass

� � � � � � � � � � � � � � � � � � �3. Alle � � � � ? Nein, also mache weiter.

4. Bestimmung der aus der dualen Basis austretenden Variablen:

Wahle Index so, dass

� � �� � �� � � �

� � �

� � �

� � � � � � � � � � � � � ��

� � �

5. Vertausche das -te Element von � mit dem � -ten Element von � .

� � � � � � � �� � � �� � � � � � � �

6. Die Pivotoperationen analog zum primalen Simplexalgorithmus liefern:

� � � � � � � �

� � � � � � � �

� � �

� � � � � � � �

� � � � � � � �

Alle � � � sind nun � � , damit ist also die optimale Losung des dualen Problems erreicht.

Aus � � �� � � � � � � � erhalten wir � � � � � � � � � und � � � � � � � . Daher ist das

auch die gesuchte ganzzahlige Losung der gestellten Aufgabe.

3. Vergleich mit dem Verfahren nach Kelley

3.1 Optimierungsproblem

�� � � � � �

� � � � � � � � � � �

� � �

Dabei sei � � � � abgeschlossen, � , � � � � � � seien reell und stetig auf � ,

�� � � � � � � � � � � � �

� � � � � � � �� � � � � � � � � � � � � � � � � � � � � � .

Die zulassige Menge

� ��� � � � � � � � � � � � � � �� � � �

besitze eine ”Relaxation” � � mit

� � � � � �

und� ��

� � � �� � � � � �

3.2 Schnittverfahren

Die Menge � � mit

� � � � � �

sei bereits erzeugt und� � � � ��

� � � �

� � � � � �

Berechne eine � � -optimale Losung � � � � � mit

� � � � � � � � � � � � �

wobei � � � � und � �� � �� � � � � . Bestimme einen Index � � � � mit

� � � � � � � � � � � � � � � � � � � � �

wobei � � � � und � �� � �� � � � � . Setze

� � � � � � �� �� � � � � � � � � �

3.3 Satz:

Besitzt eine Folge � � � � � � � � � � � ��� � � einen Haufungspunkt, so ist

� ��� � � � � � � � � � � � ��

� � �� � � �

Jeder Haufungspunkt

�� dieser Folge ist Minimallosung des Optimierungsproblems 3.1.

Unbefriedigend bleibt, dass die Restriktion � � � � � � exakt erfullt werden muss. Fur

ein konvexes � � kommt man jedoch mit einer Linearisierung aus.

3.4 Konvexes Optimierungsproblem�� � � � � �

� � � � � � � � � � �

� � �

Dabei sei � � � � konvex und abgeschlossen, � , � � � � � � seien konvex auf konve-

xer, offener Obermenge von � , � sei endlich. Die zulassige Menge

� ��� � � � � � � � � � � � � � � � � � �

sei nichtleer und besitze eine konvexe, kompakte Relaxation � � mit

� � � � � � Hierzu definieren wir analog zu 4.2 das

3.5 Schnittebenenverfahren

Die Menge � � mit

� � � � � �

sei bereits erzeugt und

� � � � ��� � � �

� � � �

Berechne � � � � � mit

� � � � � � � � � � � � �wobei � � � � und � �� � �� � � � � .

Bestimme einen Index � � � � mit

� � � � � � � � � � � � � � � � � � � � �

wobei � � � � und � �� � �� � � � � .

Wahle einen Subgradienten

� � � � � � � � � �

Setze

� � � � � � ���� � � � � � � � � � � � � � � � � � � �

3.6 Satz:

Die Folge � � � � � � � � � � � �� � � ist wohldefiniert und besitzt einen Haufungspunkt

�� .

Jeder Haufungspunkt dieser Folge ist Minimallosung des konvexen Optimierungspro-

blems 3.5.

Vergleich der Verfahren von Gomory / Kelley:

Gomory KelleyVorgehen zum Finden Hinzufugen von Verkleinern derder Optimallosung Restriktionen ”zulassigen” MengeAnwendungsbereich lineare Probleme nicht beschrankt

auf lineare ProblemeGanzzahligkeits- zulassig nicht zulassigbedingung (NB stetig)

Allgemeine Anmerkungen:� Das Vorgestellte Verfahren entspricht ”Gomory I”. Es existieren auch ”Gomory II”

(auch im Algorithmus nur ganzzahlige Werte) und ”Gomory III” (gemischt ganz-

zahliges Verfahren),

� Die Wahl des nichtganzzahligem � � � � � � � � zur Ableitung neuer Restriktion

beeinflußt sehr stark die Konvergenz. (Beispiel: m=20, n=29, 30000 Iterationen zu

70 Iterationen) � plausible Auswahlregel: Zeile mit � � � maximal

� Mogliche Variation: Gleichzeitiges Hinzufugen von mehreren Restriktionen zum

Tableau � kleine Abanderungen im Algorithmus

Literatur

(1) R.E. Burkard: Methoden der Ganzzahligen Optimierung, 1972

(2) K.H. Borgwardt: Optimierung, Operations Research, Spieltheorie, 2001

(3) F. Lempio: Erganzungen zur Vorlesung Operations Research, WS 2004/2005 und

SS 2005, Universitat Bayreuth.