Methoden der linearen Optimierung · Einfuhrung Das¨ Simplex-Verfahren (auch: Simplex-Algorithmus)...

23
Methoden der linearen Optimierung Mike H¨ uftle 31. Juli 2006 Inhaltsverzeichnis 1 Einleitung 2 1.1 .................................... 2 2 Lineare Optimierung 3 2.1 Lineares Modell ............................ 3 2.2 Basisdarstellung ........................... 4 2.3 Graphische L¨ osung .......................... 5 2.4 Konvexit¨ at des L¨ osungsraumes ................... 6 3 Simplexverfahren 7 3.1 Methodenbeschreibung ........................ 7 3.1.1 Nebenpfad: Simplex-Verfahren ............... 8 3.2 Graphische Interpretation ...................... 9 3.3 Ein Beispiel .............................. 10 3.4 Varianten des Simplex-Verfahrens .................. 12 3.5 Varianten des Simplex-Verfahrens .................. 14 3.6 Duales Simplex-Verfahren ...................... 15 3.7 Anwendung .............................. 17 4 Methoden postoptimaler Analysen 18 4.1 Sensitivit¨ atsanalyse .......................... 18 4.2 Sensitivit¨ atsanalyse .......................... 19 4.3 Parametrisches Programmieren ................... 20 5 Literatur, Software und Methodenverzeichnis 21 5.1 Literatur zum Simplexverfahren ................... 21 5.1 Literatur zu Sensitivit¨ atsanalysen .................. 21 5.1 Software ............................... 22 5.2 Methodenverzeichnis ......................... 23 1

Transcript of Methoden der linearen Optimierung · Einfuhrung Das¨ Simplex-Verfahren (auch: Simplex-Algorithmus)...

Methoden der linearen Optimierung

Mike Huftle

31. Juli 2006

Inhaltsverzeichnis

1 Einleitung 21.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Lineare Optimierung 32.1 Lineares Modell . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2 Basisdarstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.3 Graphische Losung . . . . . . . . . . . . . . . . . . . . . . . . . . 52.4 Konvexitat des Losungsraumes . . . . . . . . . . . . . . . . . . . 6

3 Simplexverfahren 73.1 Methodenbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . 7

3.1.1 Nebenpfad: Simplex-Verfahren . . . . . . . . . . . . . . . 83.2 Graphische Interpretation . . . . . . . . . . . . . . . . . . . . . . 93.3 Ein Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103.4 Varianten des Simplex-Verfahrens . . . . . . . . . . . . . . . . . . 123.5 Varianten des Simplex-Verfahrens . . . . . . . . . . . . . . . . . . 143.6 Duales Simplex-Verfahren . . . . . . . . . . . . . . . . . . . . . . 153.7 Anwendung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4 Methoden postoptimaler Analysen 184.1 Sensitivitatsanalyse . . . . . . . . . . . . . . . . . . . . . . . . . . 184.2 Sensitivitatsanalyse . . . . . . . . . . . . . . . . . . . . . . . . . . 194.3 Parametrisches Programmieren . . . . . . . . . . . . . . . . . . . 20

5 Literatur, Software und Methodenverzeichnis 215.1 Literatur zum Simplexverfahren . . . . . . . . . . . . . . . . . . . 215.1 Literatur zu Sensitivitatsanalysen . . . . . . . . . . . . . . . . . . 215.1 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225.2 Methodenverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . 23

1

1 Einleitung

1.1

Einfuhrung Die lineare Optimierung gehort zu den altesten und am besten entwickel-ten Gebieten der mathematischen Optimierung, da sich verschiedenstePlanungs-, Steuerungs- und Optimierungsprobleme als lineare Programme for-mulieren lassen, und dann relativ einfach gelost werden konnen.

Fur lineare Optimierungsprobleme existiert eine Reihe von Methoden, welcheauch große Probleme effizient losen konnen. Deshalb wird in der Praxishaufig versucht, Optimierungsmodelle als lineare Modelle zu formulieren.

Methoden zurLosunglinearer

Optimierungs-modelle

Zur Losung linearer Optimierungsmodelle werden hauptsachlich zwei Losungs-ansatze verwendet. Zum einen das Simplexverfahren und seine Erweiterungenund zum anderen Innere Punkte-Methoden. Im Folgenden wird lediglich dasin der Praxis haufiger verwendete Simplexverfahren beschrieben.

2

2 Lineare Optimierung

2.1 Lineares Modell

LinearesOptimierungs-

problem

Ein lineares Optimierungsproblem ist gegeben, wenn eine lineare Zielfunktionunter Beachtung endlich vieler linearer Nebenbedingungen optimiert werdensoll.

LinearesOptimierungs-

modell

Das Standardmodell der linearen Optimierung kann folgendermaßen formuliertwerden:

max z = cT xu. d. NB

Ax≤ b, x ≥ 0c, x ∈ Rn, b ∈ Rm, b ≥ 0

wobei cT x als Zielfunktion bezeichnet wird, c als Vektor der Zielfunktionsko-effizienten, A als die Koeffizientenmatrix mit m Zeilen und n Spalten und bals Kapazitatenvektor. Die Restriktionen x ≥ 0 werden als Nichtnegativitats-bedingungen bezeichnet.

3

2.2 Basisdarstellung

Schlupfvariablen Durch die Einfuhrung nichtnegativer Variablen s (so genannter Schlupfvaria-blen) konnen die Ungleichungsnebenbedingungen in einfacher zu hand-habende Gleichungsnebenbedingungen uberfuhrt werden, ohne das Modellselbst zu verandern:

LinearesModell mit

Schlupfvaria-blen

max z = cT x + 0T su. d. NB

Am,n x + Ims = bx,s≥ 0, Am,n eine (m× n)−Matrix

c,x ∈ Rn, b, s ∈ Rm, Im m− dim. Einheitsmatrix

Basisdarstellungdes linearen

Optimierungs-modells

Jede nichtsingulare Teilmatrix B der Matrix D=(A,I¡sub¿m¡/sub¿) wird Basisdes linearen Modells genannt. Die Matrix B enthalt somit nur die so genanntenBasisspalten (Basisvariablen) der Matrix D. Mit N wird der aus den Nicht-basisspalten (Nichtbasisvariablen) bestehende Rest der Matrix D bezeichnet.Das lineare Modell kann somit auch geschrieben werden als:

LinearesModell in Ba-sisdarstellung

max z = (cTB , cT

N )(

xB

xN

)u. d. NB

s. d. (B,N)(

xB

xN

)= b

xb, xN ≥ 0

Der Vektor x = (xB , 0), fur den alle Nichtbasisvariablen Null sind, wird Ba-sislosung genannt. Eine Basislosung ist zulassig, wenn fur xB = B−1b ≥ 0 gilt,d.h. keine Nebenbedingung durch eine Basisvariable verletzt wird.

4

2.3 Graphische Losung

GraphischeLosung des

linearenOptimierungs-

problems

Die Abbildung zeigt die graphische Losung eines linearen Optimierungsproblemsmit zwei Variablen und drei Nebenbedingungen. Der schraffierte Bereich mar-kiert den zulassigen Losungsraum, d.h. die Menge der moglichen Losungen, diekeine Nebenbedingung verletzen.

Um die optimale Losung zu bestimmen, wird die gestrichelte Zielfunktions-gerade z (die Gerade, auf der die Zielfunktinswerte fur verschiedene Varia-blenauspragungen liegen) parallel nach rechts verschoben, bis sie eine Ecke deszulassigen Losungsraumes beruhrt (durchgezogene Zielfunktionsgerade).Je weiter die Gerade nach rechts wandert, desto hohere Werte nimmt die Ziel-funktion an. Kann die Zielfunktionsgerade nicht mehr weiter verschoben werden,ohne den zulassigen Raum zu verlassen, so ist eine optimale Losung x* gefun-den.

5

2.4 Konvexitat des Losungsraumes

Konvexitatdes Losungs-

raumes

Grundlegend fur die Betrachtung der Methoden zur Losung linearer Optimie-rungsprobleme ist die Tatsache, dass der Losungsraum, den die Nebenbedin-gungen beschranken, stets abgeschlossen und konvex ist. Dies wird auch einPolyeder genannt.

Ist er zusatzlich noch beschrankt, so ist der Losungsraum ein konvexes Poly-top und es existiert eine zulassige optimale Basislosung x*, die in einer Ecke desPolyeders liegt. Ist der Polyeder nicht beschrankt, so kann es sein, dass keineoptimale Losung existiert.

Der Begriff des n-Simplex bezeichnet ein Polytop bzw. dessen konvexe Hulleimn-dimensionalen Raum. Die Abbildung zeigt einen Simplex im dreidimensiona-len Raum.

6

3 Simplexverfahren

3.1 Methodenbeschreibung

Einfuhrung Das Simplex-Verfahren (auch: Simplex-Algorithmus) wurde 1947 von Geor-ge Dantzig entwickelt. Es findet fur ein lineares Optimierungsproblem nachendlich vielen Schritten eine exakte Losung oder stellt die Unlosbarkeit desProblems fest. In seltenen Fallen konnen Zyklen auftreten, so dass das Simplex-verfahren die optimale Losung nicht berechnen kann.

MethodenbeschreibungDas Simplex-Verfahren geht von einer zulassigen Basislosung des linearen Opti-mierungsmodells aus. Als erste Basislosung kann die Einheitsmatrix Im ein-gesetzt werden, welche durch die Spalten der Schlupfvariablen gebildet wird.

Basistausch Durch den schrittweisen Ubergang von einer zulassigen Basislosung zur nachsten,dem so genannten Basistausch, wird eine endliche Folge von Basislosungen er-zeugt, deren Zielfunktionswert sich nicht verschlechtert.

Mit jedem Basistausch wird eine Variable aus der Basis durch eine Nichtbasisva-riable ersetzt. Durch eine Eliminationsregel wird bestimmt, welche Variableaus der Basis eliminiert wird. Diese Regel stellt sicher, dass auch die nachsteBasislosung zulassig ist, d.h. xB = B−1b ≥ 0 gilt.

Die neu in die Basislosung aufzunehmende Variable wird mittels einer Aus-wahlregel bestimmt, welche garantiert, dass sich der Zielfunktionswert nichtverschlechtert. Nahere Erlauterungen zur Auswahl- und zur Eliminationsregelfinden Sie hier.

Sind die neu in die Basis aufzunehmende und die zu eliminierende Spalte be-stimmt, so wird das lineare Modell mittels elementarer Matrixoperationen soumgeformt, dass die aufzunehmende Variable zum Einheitsvektor wird. An-schließend beginnt der nachste Iterationsschritt wieder mit der Auswahleiner neu in die Basis aufzunehmenden Variablen.

Stopp-Regel Es werden so lange Basistausche vorgenommen, bis der Zielfunktionswert nichtmehr weiter verbessert werden kann. Dann terminiert das Simplex-Verfahren.

7

3.1.1 Nebenpfad: Simplex-Verfahren

Auswahlregel Die neu in die Basislosung aufzunehmende Variable wird mittels einer Aus-wahlregel bestimmt, welche garantiert, dass sich der Zielfunktionswert nichtverschlechtert. Die Auswahl erfolgt z.B. nach dem Kriterium der maximalenmarginalen Verbesserung des Zielfunktionswertes ∆zj fur alle Nichtbasis-Indizesj:

∆zj = cj − c′B ·B−1Aj < 0

Existieren mehrere solche ∆zj < 0, so wird das kleinste ausgewahlt. Diesesverspricht die großte Verbesserung des Zielfunktionswertes. Gibt es kein ∆zj <0, so ist die aktuelle Basislosung optimal und das Simplex-Verfahren terminiert.

EliminationsregelZur Auswahl der zu eliminierenden Basisvariablen wird der Vektor al der neuin die Basis aufzunehmenden Variablen xl betrachtet. Gibt es keine positiveKomponente des Vektors xl, so terminiert das Simplexverfahren. Ist eineKomponente i von al positiv, so wird Θ∗ bestimmt zu:

Θ∗ = min bi

ail∀i = 1, ..., m; ail > 0

Gibt es ein i, so dass Θ∗ eindeutig bestimmbar ist, dann ist dies der Index derBasisvariablen, bei deren Elimination die Zulassigkeit der nachsten Basislosunggesichert ist. Existiert kein eindeutiger Indexi, so wird dies eine entartete Ba-sislosung genannt und die Wahl der zu eliminierenden Variablen ist nicht mehreindeutig.

Dies kann dazu fuhren, dass das Simplexverfahren kreist, d.h. immer wiederdie gleichen Basislosungen generiert. Dies fuhrt in der Praxis jedoch kaum zuProblemen.

8

3.2 Graphische Interpretation

GraphischeInterpretationdes Simplex-

Verfahrens

Eine anschaulichere graphische Interpretation des Simplex-Verfahrensist die Vorstellung von einem konvexen Polyeder, dessen Seitenflachen durchdie Nebenbedingungen des linearen Modells gegeben sind. Somit ist die Mengeder Punkte, welche den Polyeder bilden, die zulassige Menge des Optimierungs-problems. Gibt es einen optimale Losung x*, so liegt diese auf einer Ecke desPolyeders.

Das Simplexverfahren durchlauft eine Folge von Ecken des Polyeders, wobeisich der Zielfunktionswert nicht verschlechtern darf. Jeder Wechsel von einerEcke zu einer benachbarten Ecke entspricht einem Basistausch, d.h. eineNichtbasisvariable wird zur Basisvariablen und umgekehrt. Da ein konvexes Po-lyeder nur endlich viele Ecken besitzt und das Simplexverfahren jede Ecke nureinmal durchlauft (Ausnahme: entartete Basislosung) terminiert der Algorith-mus in endlich vielen Schritten oder stellt fest, dass es keine Losung des linearenOptimierungsproblems gibt

Laufzeitverhaltendes Simplex-Algorithmus

Das worst case-Laufzeitverhalten des Simplexverfahrens ist exponentiell, d.h.die Rechenzeit wachst exponentiell mit der Anzahl der Variablen. Es ist einnoch nicht gelostes Problem, ob es Auswahlregeln gibt, fur die das worst case-Verhalten polynomial ist.

In der Praxis hat sich jedoch gezeigt, dass im Mittel sehr gute Laufzeitenerreicht werden und das Verfahren somit eine gute Wahl zur Losung linearerOptimierungsprobleme ist.

9

3.3 Ein Beispiel

Basisdarstellungdes Modells

Zur Veranschaulichung (nicht zur Implementierung) des Simplexverfahrens wirdoft die Tableauform benutzt. Deshalb wird im Folgenden das Verfahren mit ei-nem Beispiel anhand der Tableauform erlautert.

Betrachtet wird das folgende lineare Optimierungsproblem:

max z = x1 + x2 − x3

u. d. NB 3x1 −2x2 ≤ 32x1 +x3 ≤ 4x1 +3x2 −2x3 ≤ 6

x1, x2, x3 ≤ 0

Nach der Einfuhrung von Schlupfvariablen erhalt man das folgende Modell:

max z = x1 + x2 − x3

u. d. NB 3x1 −2x2 +x4 = 32x1 +x3 +x5 = 4x1 +3x2 −2x3 +x6 = 6

x1, x2, x3 ≤ 0

Die folgende Dia-Show zeigt den Ablauf des Simplex-Verfahrens zur Losungdes obigen Modells.Die einzelnen Schritte werden weiter unten ausfuhrlicher erlautert.

Ausgangstableau mit den Schlupfvariablen x4, x5, x6 als erster Basislosung

Bestimmen von Pivotzeile, Pivotspalte und Pivotelement

Aktualisieren bzw. Umformen des Simplextableaus

10

Bestimmen von Pivotzeile, Pivotspalte und Pivotelement

Umformen zum optimalen Simplextableau

ErsteBasislosung

Mit den Schlupfvariablen x4,x5, x6 als erster Basislosung wird folgendes TableauT0 aufgestellt:

Basistausch Die Spalte der xB(i) des Tableaus enthalt die Variablen, die in der aktuellenBasislosung vorkommen. Um die Variable auszuwahlen, welche neu in die Basisaufgenommen werden soll, werden in der untersten Zeile die marginalen Ver-besserungen der Zielfunktionswerte ∆zj als Auswahlkriterium berechnet unddas kleinste der ∆zj < 0 ausgewahlt. Existieren mehrere ∆zj < 0, welche dengleichen ”kleinsten“ Wert besitzen, so wird eines mit dem Index l ausgewahlt.Die l-te Spalte des Tableaus ist die Pivotspalte.

Um die Pivotzeile mit der aus der Basislosung zu eliminierenden Varia-blen zu bestimmen wird fur alle iΘi = bi/ail berechnet, mit ail als demi-tenElement der Pivotspalte.

Wurde so dass Pivotelement bestimmt, so kann das Tableau umgeformt (pivo-tisiert) werden. Beim Pivotisieren wird die Spalte al zum Einheitsvektor trans-formiert. Hierzu werden z.B. die Kreisregel, Zeilentransformationen oder Matri-xoperationen eingesetzt (vgl. [5] S. 80 f.).

Der Zielfunktionswert der aktuellen Losung wird berechnet zu:

z =∑

i∈B cibi = 0

Zwei weitereIterationen

Der Algorithmus endet im Tableau T2, da alle ∆zj < 0 sind. Die Optimallosunglautet: x1 = 21/11, x2 = 15/11, x3 = 0mit dem optimalen Zielfunktionswertz = 36/11.

11

3.4 Varianten des Simplex-Verfahrens

Varianten desSimplex-

Verfahrens

Es wurden zahlreiche Varianten des Simplex-Verfahrens entwickelt, welche dieAnzahl der notwendigen Iterationen zur Losung eines linearen Optimierungspro-blems verringern oder welche die Rechenzeit zur Durchfuhrung einer Iterationreduzieren. Dies fuhrt vor allem bei Problemen mit vielen Nebenbedingungenoder einer großen Anzahl an Variablen zu geringeren Laufzeiten.

RevidiertesSimplexver-

fahren

Der revidierte Simplex-Algorithmus wird nahezu von allen numerischenImplementierung des Simplexverfahrens verwendet (vgl. z.B. [1] pp. 234-270).Er arbeitet bei der Optimierung großer und dunn besetzter linearer Optimie-rungsmodelle effizienter als der Standard-Simplexalgorithmus.

Anstatt die komplette Matrix A nach jeder Iteration neu zu bestimmen, fuhrtder revidierte Simplex-Algorithmus den großten Teil der Berechnungen am An-fang jeder Iteration durch, indem jeweils die inverse Matrix B¡sup¿-1¡/sup¿ mitder Pivotmatrix P aktualisiert wird. Da große Matrizen B an vielen Stellen keineEintrage enthalten, ist dies sehr recheneffizient.Im Folgenden wird das Vorgehen des revidierten Simplexalgorithmus am obigenBeispiel erlautert.

Beispiel furden

revidiertenSimplex

Im initialen Simplextableau T0 wird die Pivotmatrix P1 berechnet, indem diek-te Spalte der Einheitsmatrix (k ist der Index der Pivotzeile) durch die Spalte

L = (−a1l/akl, −a2l/akl , ..., 1/akl , ..., −aml/akl)T (1)

ersetzt wird:

P1 =

1/3 0 0−2/3 0 0−1/3 0 0

Fur die revidierte Simplexmethode genugt es nun, die neue Matrix B−1

1 zu be-rechnen:

B−11 = P1B

−10 =

1/3 0 0−2/3 0 0−1/3 0 0

1 0 00 1 00 0 1

=

1/3 0 0−2/3 0 0−1/3 0 0

12

Auf diese Weise kann jede Matrix B−1k berechnet werden, indem die initiale

Matrix B−10 mit k Pivotmatrizen multipliziert wird:

B−1k = PkPk−1 ... P2P1B

−1

13

3.5 Varianten des Simplex-Verfahrens

Methode vonBartels-Golub

Eine Variante des revidierten Simplexalgorithmus ist die Methode von Bartels-Golub. Sie verbesserte die Laufzeit, den Speicherplatzbedarf und insbesonderedie numerische Genauigkeit des revidierten Simplex. Die Methode von Bartels-Golub vermeidet die aufwandige Berechnung der inversen Matrix. Anstatt des-sen wird die Basis in obere und untere Dreiecksfaktoren zerlegt, die effizienterals die Inverse berechnet werden konnen.

WeitereAuswahlregeln

Es existieren zahlreiche Varianten zur Durchfuhrung der einzelnen Schritte desSimplex-Algorithmus (vgl.[4], S. 143 ff.). Regeln zur Auswahl der Pivotspalte laus den N Nichtbasisspalten mit ∆zj < 0 sind z.B.:

• Kleinster-Index-Regel: Wahle l so, dass ∆zl = min {j ∈ N |∆zj < 0}

• Regel der maximalen Verbesserung des Zielfunktionswertes: Wahlel so, dass ∆zl = min {∆zj |∆zj < 0}

Weitere Elimi-nationsregeln

Regeln zur Auswahl der zu eliminierenden Variablen bzw. zur Auswahl der Pi-votzeile sind z.B.:

• Kleinster-Zeilenindex-Regel: Wahle k so, dass Θk = min {Θi|Θi > 0}

• Kleinster Index-Regel: Wahle das erste i mit Θi < 0

• Lexikographische Zeilenauswahlregel

14

3.6 Duales Simplex-Verfahren

Duales Modellder linearen

Optimierung

Das duale Simplexverfahren basiert auf dem dualen Modell der linearenOptimierung:

min Z = bT yu. d. NB

AT y ≥ c, y ≥ 0b, y ∈ Rm, c ∈ Rn

Duales Sim-plexverfahren

In diesem Zusammenhang wird das (Standard-) Modell der linearen Optimie-rung auch als primales Modell bezeichnet und das (Standard-) Simplex-Verfahren als primales Verfahren. Zur Theorie der Dualitat in der linearen Op-timierung wird auf die angegebene Literatur verwiesen (z.B. [5], S. 92 ff.).

Hier werden lediglich einige -zum Verstandnis dualer Modelle wesentliche- Aus-sagen der Dualitatstheorie angefuhrt:

• Jedes duale Modell lasst sich in ein primales umformen und umgekehrt.

• Wenn eines der beiden Modelle eine optimale Losung hat, so besitzt auchdas andere eine optimale Losung und die Zielfunktionswerte stimmen ube-rein.

• Die duale Zulassigkeit eines Modells ist gegeben, wenn fur alle j=1, ..., mgilt: ∆zj ≥ 0.

Mittles des dualen Simplexverfahrens konnen also aquivalent zum primalen Sim-plex lineare Optimierungsprogramme gelost werden.

Anwendungdes dualen

Simplexver-fahrens

Das duale Simplex-Verfahren ist fur bestimmte Problemstellungen gegenuberdem primalen Simplex-Verfahren von Vorteil. In vielen Fallen ist das duale Mo-dell einfacher strukturiert und erfordert somit einen geringeren Losungs-aufwand als das primal formulierte Problem.Auch ist es in der Praxis haufig der Fall, dass nach Berechnung der optimalenLosung kleine Modifikationen am ursprunglichen Problem vorgenommenwerden. Wenn hierdurch das Problem primal unzulassig wird, so kann das dualeSimplex-Verfahren effizient wieder eine zulassige optimale Losung finden.

15

OkonomischeInterpretation

des dualenSimplextable-

aus

Dualitatsbetrachtungen erlauben zusatzliche Erkenntnisse uber das Optimie-rungsproblem und dessen optimales Tableau. Es gibt eine okonomische Inter-pretation der optimalen dualen Losung, die in dieser Weise bei der primalenLosung nicht moglich ist.Insbesondere konnen aus der dualen Losung so genannte Schattenpreise in-terpretiert werden, welche die Knappheit einer Ressource angeben. Je knappereine Ressource, desto mehr konnte der Zielfunktionswert durch eine Lockerungder entsprechenden Restriktion verbessert werden (vgl. [5], S. 99 f.).

16

3.7 Anwendung

Anwendungder Simplex-

verfahren

Neben der Simplex-Methode werden Innere Punkte-Verfahren zur Losung von li-nearen Optimierungsproblemen eingesetzt. Welche Methode bei einem bestimm-ten Problem effizienter arbeitet hangt von der konkreten Problemstruktur ab.Im Allgemeinen arbeitenInnere Punkte-Verfahren bei der Losung von Pro-blemen mit dunn besetzten Matrizen besser, wohingegen Simplex-Verfahrenganzzahlige Probleme effizienter losen.

Da es fur beide Methoden jedoch eine große Anzahl an Varianten, Erweite-rungen und Kombinationen mit anderen Methoden gibt, ist es meist sinnvollbei einem konkreten Problem den moglichen Einsatz verschiedener Verfahrenzu uberprufen.

Vorteile vonSimplexver-

fahren

• Das Simplexverfahren und seine Varianten sind fur die meisten Problem-stellungen der linearen Optimierung die effizienteste Losungsmetho-de.

• Es ist das in der Praxis wohl am haufigsten eingesetzte Optimie-rungsverfahren. Deshalb existieren zahlreiche Softwaretools, welche dasSimplexverfahren einsetzen.

• Das duale Simplexverfahren hat sich insbesondere bei der ganzzahligenOptimierung als effizient erwiesen.

• Das Verfahren kann mit ”Warmstarts“ begonnen werden, d.h.man beginnt mit einer Basislosung in der Nahe der Optimallosung. Diesverbessert die Laufzeit.

Nachteile vonSimplexver-

fahren

• Das Simplexverfahren zeigt im worst case ein exponentielles Laufzeit-verhalten im Gegensatz zu Innere Punkte-Methoden (polynomiale Lauf-zeit)

• Das Aufteten einer entarteten Basis kann in seltenen Fallen zu Pro-blemen bei der Losung fuhren (z.B. bei postoptimale Analysen)

17

4 Methoden postoptimaler Analysen

4.1 Sensitivitatsanalyse

WeitergehendeFragestellun-

gen

Oftmals ergeben sich nach der Berechnung des Optimums eines linearen Pro-blems weitergehende Fragestellungen. Beispielsweise wird gefragt, in welchemUmfang die Modellparameter schwanken durfen, damit sich die optimaleLosung nicht verschlechtert. Der Simplexalgorithmus bietet Moglichkeiten, sol-che Fragen zu beantworten.

Stabilitat deroptimlaen

Losung

Durch Sensitivitatsanalysen kann die ”Stabilitat“ der Losung eines linearenOptimierungsproblems getestet werden (vgl. [1]). Es wird analysiert, wie sichVeranderungen an einem bereits gelosten linearen Optimierungsmodell in deroptimalen Losung auswirken.

Einfugenzusatzlicher

Variablen

Diese Veranderungen konnen das Einfugen zusatzlicher Variablen oder Ne-benbedingungensein, das Entfernen von Variablen oder Nebenbedingungensowie Variationen in den verschiedenen Koeffizienten und den Ressour-cenbeschrankungen. Der Bereich in dem die verschiedenen Großen schwankenkonnen ohne die optimale Losung zu verandern, ist auch der Bereich, fur dendie Schattenpreise des dualen Modells ihre Gultigkeit behalten.

Verletzung derZulassigkeit

Wird eine der oben genannten Großen verandert, so kann die primale oder dualeZulassigkeit einer Basislosung verletzt werden. Duale Zulassigkeit besteht, wennfur alle Spaltenindizes j gilt: ∆zj ≥ 0. Eine Losung ist primal zulassig, wennxB = B−1 · b ≥ 0 gilt.

18

4.2 Sensitivitatsanalyse

Sensitivitats-analyse -

Verletzung derdualen

Zulassigkeit

Gegeben sei das optimale Tableau T2 des Beispiels:

Es soll nun untersucht werden, wie weit der Zielfunktionskoeffizient c1 varriertwerden kann, ohne die duale Zulassigkeit der optimalen Losung zu verletzen.Hierzu wird c1 durch c′1 = c1 + λ ersetzt. Damit ergibt sich ∆z1 zu∆z1 = −(−1 + λ) + (−1 + λ)(−4/11) + (−6/11) = 1/11− 15λ/11D.h. die duale Zulassigkeit bleibt fur alleλ ≤ 1/15erhalten. Fur λ > 1/15ist dieZulassigkeit verletzt.

Sensitivitats-analyse -

Verletzung derprimalen

Zulassigkeit

Die primale Zulassigkeit kann z.B. verletzt werden, wenn durch Variation derRestriktionen bi eine Komponente des Vektors xB(i) negativ wird.Um dies zu untersuchen wird b′i = bi + λ gesetzt.Wird z.B. die Restriktion 2x1 + x3 + x5 = 4variiert, so wird b′2 = b2 + λ = 4 + λgesetzt.Somit ergibt sich die rechte Seite des Simplextableaus zu:

x′B = B−1b′ =

9/33 0 2/11−18/33 1 −4/11−1/11 0 3/11

34 + λ

6

=

21/112/11 + λ15/11

D.h. fur λ ≤ −2/11 ist die primale Zulassigkeit verletzt.Entsprechende Analysen konnen auch fur alle anderen Komponenten des b-Vektors oder fur die Koeffizientenmatrix der Nebenbedingungen durchgefuhrtwerden.

Sind die primale bzw. duale Zulassigkeit verletzt, so kann mit einem dualenbzw. primalen Simplexschritt die Zulassigkeit wieder hergestellt und eineneue optimale Losung erzeugt werden.

19

4.3 Parametrisches Programmieren

ParametrischesProgrammie-

ren

Beim parametrischen Programmieren werden Modelle mit parametrisierter Ziel-funktion

max z = (c + λd)T xu. d. NB

s. d. Ax ≤ b, x ≥ 0x, c, d ∈ Rn; b ∈ Rm

bzw. Modelle mit parametrisierten Nebenbedingungen betrachtet (vgl. [3], S.106).

Fur Modelle mit parametrisierter Zielfunktion ist der optimale parametrisierteZielfunktionswert g(λ) gegeben durch:

g(λ) = min (c + λd)T xi ∀i = 1, ..., N

in Abhangigkeit von λ mit den Eckpunkten der zulassigen Mengex1, ..., xN .g(λ) ist stuckweise linear und konvex, wie aus der Abbildung deutlich wird. Die-se zeigt das Verhalten des optimalen Zielfunktionswertes in Abhangigkeit vomParameter λ.

Solche Modelle konnen mit dem Simplex-Verfahren gelost werden. Sie bestim-men fur jede optimale Basislosung xi∗ zulassige Intervalle fur den Parameterλ.

Nichtlinearesparametrisches

Programmie-ren

Auch fur die nichtlineare Optimierung existiert ein Vielzahl von Ansatzen zurparametrischen Programmierung. Diese werden hier jedoch nicht dargestellt.Fur einen Uberblick uber die nichtlineare parametrische Programmierung wirdder interessierte Leser auf die Arbeit von Jongen und Weber [1] verwiesen.

20

5 Literatur, Software und Methodenverzeichnis

5.1 Literatur zum Simplexverfahren

Literaturverzeichnis

Einfuhrende Literatur

Calvert, J.E./Voxman, W.:Linear Programming. Orlando 1989. Chvatal,V.: Linear Programming, Freeman, New York 1983. Dantzig, G.B./Thapa,M. N.: Linear Programming - Theory and Extensions, Springer, NewYork Berlin Heidelberg 2003. Grotschel, M.: Lineare Optimierung.Skriptum zur Vorlesung, Institut fur Mathematik, TU Berlin 2004,auf URL: http://www.zib.de/groetschel/teaching/skriptADMII.pdf(23.06.05) Zimmermann, H.-J.: Operations Research - Methoden undModelle.Vieweg, Wiesbaden 2005.

Literaturverzeichnis

Weiterfuhrende Literatur

Bartels, R. H./Golub, G.A.: The Simplex Method of Linear Pro-gramming Using LU Decomposition, in: Communications of the ACM 5,1969, pp. 266-268. Gill, P. E./Murray, M./Wright, M.E.: Numerical LinearAlgebra and Optimization Volume 1, Addison-Wesley, Redwood City1991. Goldfarb, D./Reid, J.K.: A Practicable Steepest Edge Simplex Al-gorithm, in: Mathematical Programming, Vol. 12, 1977, pp. 361-371. Klee,V./Minty, G.J.: How Good is the Simplex Algorithm?, in: Shisha, O. (ed.):Inequalities - III, Academic Press, New York 1972, pp. 159-175. N.N: Line-ar Programming Software. Links des Zuse-Instituts Berlin zu LP-Software,auf URL: http://elib.zib.de/pub/Packages/mathprog/linprog/index.html(23.06.05).

5.1 Literatur zu Sensitivitatsanalysen

Literaturverzeichnis

Einfuhrende Literatur

Calvert, J.E./Voxman, W.:Linear Programming. Orlando 1989, pp.340-389. Chvatal, V.: Linear Programming, Freeman, New York 1983.Zimmermann, H.-J.: Operations Research - Methoden und Model-le.Vieweg, Wiesbaden 2005.

21

Literaturverzeichnis

Weiterfuhrende Literatur

Jongen, H.T./Weber, G.W.: On parametric nonlinear programming,in: Ann. Operations Research, Vol. 27, 1990, pp. 253-284.

5.1 Software

Die meisten Softwarepakete bieten standardmaßig eine Auswahl zwischen derprimalen und der dualen Simplexmethode sowie einer Innere Punkte-Methodezur Losung linearer Programme.

Die Leistungsfahigkeit guter LP-Solver wird in der Regel nur durch den verfugba-ren Speicherplatz auf dem Rechner, die Prozessor-Architektur oder interne Re-striktionen begrenzt.

So konnen Programme wie AMPL auf entsprechend leistungsfahigen RechnernModelle mit bis zu 1 Mio. Nebenbedingungen losen. Auch die oft frei erhaltli-chen Studentenversionen losen Probleme mit mehreren tausend Variablen undNebenbedingungen.

Aus der Vielzahl der am Markt angebotenen Softwaretools zur Losung li-nearer Programme sei hier nur eine Auswahl aufgefuhrt. Einen ausfuhrliche-ren Uberblick finden Sie unter http://www.lionhrtpub.com/orms/surveys/LP/LP-survey.html

[1][2][3][4][5][1][2][3][4][5][1][2][3][1]• AMPL Studio von OptiRisk Systems: umfangreiches Solverpaket zurlinearen, nichtlinearen und ganzzahligen Optimierung

• ILOG OPL Development Studio von ILOG

• LINDO von LINGO Systems: lost lineare, nichtlineare und ganzzahligeModelle

• SAS/OR von SAS Institute: Erweiterungs-Modul des StatistikpaketesSAS um OR-Methoden

• Premium Solver von Frontline Systems: Solver fur Excel, Visual Basic

22

5.2 Methodenverzeichnis

Verzeichnis der erlauterten Methoden

Methode von Bartels-GolubDuales SimplexverfahrenParametrische ProgrammierungRevidiertes SimplexverfahrenSimplexverfahrenSensivitatsanalyse

23