- Pivot-Verfahren
-
Pivotverfahren nennt sich jeder Algorithmus zur Aufgabenlösung der Linearen Optimierung, der dem unten beschriebenen Pivotansatz folgt. Wichtige Pivotverfahren sind die Simplex-Verfahren[1] und die Criss-Cross-Verfahren[2].
Inhaltsverzeichnis
Pivotansatz
Jedes System linearer Ungleichungen und jedes Lineare Optimierungsproblem lässt sich in folgende, englisch dictionary genannte[1] Grundform bringen:
Diese Darstellung soll aussagen, dass eine Lösung in den Unbekannten gesucht wird, welche die obige Gleichungen beziehungsweise Ungleichungen erfüllt und dabei die sogenannte Zielvariable so groß wie möglich wählt.
Falls nun die Optimalitätsbedingungen und erfüllt sind, kann man eine Lösung für die obige Aufgabe erhalten, indem man die unabhängigen Variablen auf die Werte setzt. Zum einen sind die Werte der freigelegten Variablen dann nichtnegativ, wie gefordert, zum anderen dürfen sonstige mögliche Lösungen nur unabhängige Variablen mit ebenfalls nichtnegativen Werten enthalten, sodass für jede dieser Lösungen die Ungleichung gilt.Falls die Optimumbedingungen nicht erfüllt sind, was in der Regel der Fall sein wird, lässt sich das obige lineare Gleichungssystem aber auch andersartig ausdrücken, indem man eine andere, gleichgroße Teilmenge der Unbekannten als sogenannte Basisvariablen definiert und diese freilegt. Es sei eine neue Anordnung der Unbekannten . Dann wählt man die Teilmenge
der Unbekannten als Basis oder Menge der Basisvariablen aus und stellt folgendes neue System auf:
Die Koeffizienten des so abgewandelten Gleichungssystems lassen sich erneut auf die Optimumbedingungen und untersuchen, was wiederum unter Umständen zu einer Lösung der Aufgabe führt. Ein Standardergebnis der Linearen Optimierung sagt aus, dass für jede lösbare Aufgabe ein Satz Basisvariablen existiert, der zu einer Lösung führt. Bei erfüllten Optimumbedingungen bilden die Basisvariablen eine sogenannte Optimalbasis des Systems.
Jedes nichtverschwindende des obigen Gleichungssystems nennt sich Pivotelement, und erlaubt es, die unabhängige Variable an Stelle der Basisvariablen freizulegen, um so weiter nach einer Lösung zu suchen. Das ist die Vorgehensweise eines allgemeinen Pivotverfahrens, wobei aber nicht irgendwelche Pivotelemente gewählt werden, sondern nur sogenannte zulässige Pivots , die folgendes erfüllen müssen:-
- entweder gilt (a) gleichzeitig und , oder es gilt (b) gleichzeitig und
Die Regeln, nach denen in jedem Schritt eines dieser zulässigen Pivotelemente ausgewählt wird, hängen vom jeweiligen Verfahren ab; ein Mindestanspruch ist dabei natürlich, dass das Verfahren nach endlich vielen Schritten anhält, was bei ungeeigneter Auswahl von zulässigen Pivots nicht der Fall ist. Fukuda und Terlaky haben 1999 bewiesen, dass für jede lösbare Aufgabe und für jede Ausgangsbasis eine Folge von maximal zulässigen Pivots existiert, die zu einer Optimalbasis führt.[3]
Wie aus der Definition zu ersehen ist, haben Optimalbasen keine zulässigen Pivots, das Verfahren kann in so einem Fall gar nicht fortgeführt werden. Anderseits kann anhand von Argumenten wie im obigen Abschnitt leicht gezeigt werden, dass eine nichtoptimale Basis ohne zulässige Pivots immer zu einer Aufgabe gehört, die keine Lösung hat; entweder, weil das System der Gleichungen und Ungleichungen keine Lösung hat (unzulässige Aufgabe), oder, weil sich Lösungen mit unendlich großem finden lassen (unbeschränkte Aufgabe).
Beispiel
In folgendem Beispiel sei . In diesem Falle wird keine der Variablen maximiert, sondern eine beliebige Lösung in den Unbekannten gesucht, die folgende Gleichungen und Ungleichungen erfüllen soll:
Um Rundungsfehler zu vermeiden, arbeiten wir im folgenden mit rationalen Zahlen und wählen einen gemeinsamen Nenner für sämtliche Einträge. In jedem Schritt wird der zulässige Pivot nach folgender Regel gewählt:
- Wähle und danach .
Für den Fall von lässt sich beweisen,[2] dass diese einfache (nicht besonders effiziente) Auswahlregel bei jeder lösbaren Aufgabe zu einer Optimalbasis führt.
Die zulässigen Pivots im obigen Gleichungssystem sind und ; wir legen an Stelle von frei und erhalten:
Die zulässigen Pivots sind nun und ; wir legen an Stelle von frei und erhalten:
Der einzige zulässige Pivot hier ist ; wir legen an Stelle von frei und erhalten:
Wir erhalten die Lösung:
Kreisanfällige Pivotwahl
Es sei wieder . Bei ungeeigneter Pivotwahl kann ein Pivotverfahren in einen unendlichen Kreislauf oder Endlosschleife geraten. Als Beispiel für eine naheliegende, aber dennoch ungeeignete Pivotwahl betrachten wir folgende Regel, die dem weitverwendeten dualen Simplexverfahren nachempfunden ist:
- Wähle das erste mit , und danach das erste mit .
Wir starten mit dem System:
Wir wählen und legt an Stelle dessen frei (nach der kreissicheren Regel im vorherigen Beispiel hätte man und gewählt). Wir erhalten das System:
Wir wählen , legen an Stelle dessen frei und erhalten:
Aber dieses Gleichungssystem ist – abgesehen von der Benennung der Veränderlichen – identisch mit dem Startsystem. Die Zahleneinträge des Systems wiederholen sich alle zwei Schritte, nach sechs Schritten wiederholen sich die Gleichungen des Systems in umgestellter Form, und nach insgesamt zwölf Schritten wiederholt sich das Startsystem genau, mit den Gleichungen und Unbekannten am ursprünglichen Ort.
Dualität
Jeder linearen Optimierungsaufgabe lässt sich, von der obigen Grundform abhängig, eine zweite, duale Optimierungsaufgabe zuordnen; die Koeffizientenmatrix dieser sogenannten dualen Aufgabe ist die negative Transposition der Koeffizientenmatrix der ursprünglichen Aufgabe:
(Vorsicht: Bei der Ableitung über diese Formulierung dürfen nicht durch ersetzt werden!)
Die obige Beziehung der Koeffizienten zwischen Primalaufgabe und Dualaufgabe gilt nicht etwa nur für die Ausgangsbasis, sondern bleibt erhalten, solange die Basisvariablen nach denselben Pivots umgewandelt werden:
Daraus folgt, dass jede Optimalbasis der ursprünglichen Aufgabe auch unmittelbar eine Optimalbasis für die duale Aufgabe liefert.
Die Dualitätsbeziehung lässt sich am leichtesten an einem Pivotsystem betrachten, das ausschließlich zwei unabhängige Unbekannte und zwei freigelegte Unbekannte enthält. Man erhält dasselbe System, wenn man zuerst zwei der Unbekannten austauscht und danach die duale Aufgabe herleitet oder wenn man diese Schritte in umgekehrter Reihenfolge tut:Dieses Schema zeigt auch an, wie sich die Einträge des Pivotsystems von einem Schritt auf den nächsten verändern. Das Zeichen steht für das Pivotelement, für einen sonstigen Eintrag der Pivotzeile, für einen sonstigen Eintrag der Pivotspalte und für einen beliebigen Eintrag abseits von Pivotzeile und Pivotspalte. Einträge der Zielbeitragszeile () und der Basiswertspalte () werden nach denselben Regeln umgewandelt.
Beispiel zur Dualität
Die Aufgabe im obigen Beispiel hat folgende duale Aufgabe (die Nullen stammen von ):
Bei der ursprünglichen Aufgabe hatten wir an Stelle von freigelegt. Wenn man im dualen Gleichungssystem an Stelle von freilegt, erhält man:Wenn man nun an Stelle von freilegt, erhält man:
Wenn man an Stelle von freilegt, erhält man:
Der größtmögliche Wert für die Zielvariable ist somit . Das ist derselbe Wert, den auch schon die Anfangslösung hatte, doch war das aus dem ersten Gleichungssystem nicht ersichtlich und ist selbstverständlich nicht immer der Fall.
Besondere Pivotverfahren
Simplexverfahren (auch Primale Simplexverfahren genannt) waren die ersten Pivotverfahren für die Lineare Optimierung und wurden 1947 von George Dantzig veröffentlicht. Diese Pivotverfahren gehen von einer sogenannten zulässigen Basis mit aus und untersuchen ausschließlich zulässige Basen, bis eine Optimalbasis gefunden wird. Eine wichtige Eigenschaft der primalen Simplexverfahren ist, dass der Wert der Zielvariablen, also , mit jedem Schritt monoton anwächst; würde er streng monoton anwachsen, wäre die Endlichkeit des Verfahrens gesichert. Ein primales Simplexverfahren muss seine Pivots wie folgt wählen:
- Wähle ein beliebiges , welches erfüllt. Zum Beispiel (Bland [1]), suche das kleinste mit dieser Eigenschaft.
- Wähle ein beliebiges , welches erfüllt. Zum Beispiel (Bland), suche das kleinste mit dieser Eigenschaft.
Um eine zulässige Ausgangsbasis zu erhalten, muss in einer sogenannten 1. Phase eine Hilfsaufgabe gelöst werden.
Ein Standardergebnis der Linearen Optimierung besagt, dass für jede lösbare Aufgabe und für jede zulässige Basis eine Folge zulässiger Pivots existiert, die über ausschließlich zulässige Basen zu einer Optimalbasis führt; unbekannt ist dagegen, ob es eine Folge dieser Art gibt, deren Länge sich polynomial in der Speichergröße der Daten beschränken lässt.
Duale Simplexverfahren sind Pivotverfahren, die von einer sogenannten dual-zulässigen Basis mit ausgehen, und in ihrer Suche nach einer Optimalbasis ausschließlich dual-zulässige Basen untersuchen; der Wert der Zielvariablen nimmt dabei monoton ab. Duale Simplexverfahren erzeugen die gleichen Pivotfolgen wie die auf die duale Aufgabe angewandten primalen Simplexverfahren, und haben deshalb auch grundsätzlich die gleichen Eigenschaften wie die primalen Verfahren. Dass sie für die Lösung vieler angewandter Aufgaben trotzdem den Primalverfahren vorgezogen werden, liegt daran, dass es für viele angewandte Aufgaben leichter ist, eine gute dual-zulässige Ausgangsbasis zu finden.
Criss-Cross-Verfahren (englisch: kreuz und quer) sind allgemeine Pivotverfahren, die von einer beliebigen Basis ausgehen. Ein wichtiger Ansatz bei der Pivotauswahl in den Criss-Cross-Verfahren besteht darin, die Unbekannten in einer mehr oder weniger festen Reihenfolge anzuordnen. Das einfachste aller Criss-Cross-Verfahren verwendet folgende Kleinster-Index-Pivotauswahl[2] (wie üblich, ist das Minimum einer leeren Menge unendlich groß):- Suche und .
- Falls ist, wähle Pivot mit .
- Falls ist, wähle Pivot mit .
Die Veränderlichen dürfen beliebig geordnet werden, sollen aber die Anfangsordnung beibehalten.
Während die bekannten Simplexverfahren alle eine überpolynomial beschränkte Laufzeit beanspruchen, sind Laufzeitschranken für die Criss-Cross-Verfahren ein noch (2004) offenes Forschungsthema.[3][4]
Einzelnachweise
- ↑ a b c z. B. in: Vašek Chvátal: Linear Programming. W. H. Freeman and Company, New York, 1983, ISBN 0-716-71587-2
- ↑ a b c Komei Fukuda & Tamás Terlaky (1997): Criss-Cross Methods: A Fresh View on Pivot Algorithms
- ↑ a b Komei Fukuda & Tamás Terlaky (1999): On the Existence of a Short Admissible Pivot Sequences for Feasibility and Linear Optimization Problems
- ↑ Komei Fukuda & Bohdan Kaluzny (2004): The criss-cross method can take Ω(n^d) pivots
-
Wikimedia Foundation.