Pivotverfahren

Algorithmen der linearen Optimierung
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 8. Juli 2008 um 11:29 Uhr durch Heinrich Puschmann (Diskussion | Beiträge). Sie kann sich erheblich von der aktuellen Version unterscheiden.

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

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 Gleichungssytems 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 Gleichungssytems 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, arbeitet man hier mit rationalen Zahlen und wählt einen gemeinsamen Nenner für sämtliche Einträge. In jedem Schritt wird der zulässige Pivot   nach folgender Regel gewählt:

  •   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  ; man legt   an Stelle von   frei und erhält:

 

Die zulässigen Pivots sind nun   und  ; man legt   an Stelle von   frei und erhält:

 

Der einzige zulässige Pivot hier ist  ; man legt   an Stelle von   frei und erhält:

 

Man erhält 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 betrachtet man folgende Regel, die dem weitverwendeten dualen Simplexverfahren nachempfunden ist:

  • Man wähle das erste   mit   und danach das erste   mit   .

Man startet mit dem System:

 
 

man wählt   und legt an Stelle dessen   frei (nach der kreissicheren Regel im vorherigen Beispiel hätte man   und   gewählt). Man erhält das System:

 

Man wählt  , legt an Stelle dessen   frei und erhält:

 

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:

  1. Man wähle ein beliebiges  , welches   erfüllt, zum Beispiel (Bland [1]) und suche das kleinste   mit dieser Eigenschaft.
  2. Man wähle ein beliebiges  , welches   erfüllt, zum Beispiel (Bland) und 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ß):

  1. Man suche     und    .
  2. Falls   ist, wählt man Pivot   mit  .
  3. Falls   ist, wählt man 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

  1. 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
  2. a b c Komei Fukuda & Tamás Terlaky (1997): Criss-Cross Methods: A Fresh View on Pivot Algorithms
  3. a b Komei Fukuda & Tamás Terlaky (1999): On the Existence of a Short Admissible Pivot Sequences for Feasibility and Linear Optimization Problems
  4. Komei Fukuda & Bohdan Kaluzny (2004): The criss-cross method can take Ω(n^d) pivots