30
- 67 - 4. Lineare Optimierung Die lineare Optimierung (engl.: linear programming) ist ein Teilgebiet der Mathematik, insbesondere des Operations Research, das in den 30er und 40er Jahren des 20. Jahrhunderts seine Entwicklung begann. Berühmte Namen wie Dantzig 1 , Kantorowitsch 2 und Leontief 3 sind damit verbunden. Im We- sentlichen werden lineare Funktionen optimiert unter Berücksichtigung von Nebenbedingungen in Form linearer Gleichungen bzw. Ungleichungen. Auf solche Probleme trifft man in verschiedenen betriebswirtschaftlichen Gebieten. 4.1. Einführende Beispiele 4.1.1. Ein Problem der Produktionsplanung Zwei verschiedene Kunststoffprodukte I und II werden aus einem in beliebiger Menge verfügbaren Rohgranulat hergestellt. Die Produktion wird durch die drei Prozesse „Warmpressen“, „Spritzguss“ und „Verpackung“ bestimmt. Das Produkt I entsteht durch Warmpressen des Granulats und das Pro- dukt II durch Spritzguss des verflüssigten Granulats. Beide Produkte werden anschließend für den Versand verpackt. Die Abteilung „Warmpressen“ steht pro Tag für maximal 10 Stunden zur Verfügung und benötigt je Tonne von Produkt I eine Stunde. Die Abteilung „Spritzguss“ steht sechs Stunden am Tag zur Verfü- gung und benötigt ebenfalls eine Stunde für die Produktion von einer Tonne des Produktes II. In der Verpackungsabteilung stehen vier Arbeitskräfte jeweils höchstens acht Stunden zur Verfügung. Je Tonne von I werden 2 Stunden und je Tonne von II werden vier Stunden gebraucht. Die jeweiligen Stückdeckungsbeiträge betragen bei I 30,- €/t und bei II 20,- €/t. In welcher Mengenkonstellation soll die Firma die beiden Produkte herstellen, damit der Gesamtde- ckungsbeitrag pro Tag maximiert wird? Produkt I Produkt II max. Tageskapazität Warmpressen 1 h/t 10 h Spritzguss 1 h/t 6 h Verpackung 2 h/t 4 h/t 32 h Deckungsbeitrag 30,- €/t 20,- €/t z ... Gesamtdeckungsbeitrag 1 G.B. Dantzig: US-amerikanischer Mathematiker (1914-2005), entwickelte das Simplex-Verfahren. 2 L.V. Kantorowitsch: russischer Mathematiker und Wirtschaftswissenschaftler (1912-1986), erhielt 1975 den Nobelpreis für Wirtschaftswissenschaften. 3 W.W. Leontief: russischer Wirtschaftswissenschaftler (1905-1999), erhielt 1973 den Nobelpreis für Wirt- schaftswissenschaften.

4. Lineare Optimierung - Mathematik-Service Dr. H. Fritsch · 2016. 1. 13. · 4. Lineare Optimierung Die lineare Optimierung (engl.: linear programming) ist ein Teilgebiet der Mathematik,

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 4. Lineare Optimierung - Mathematik-Service Dr. H. Fritsch · 2016. 1. 13. · 4. Lineare Optimierung Die lineare Optimierung (engl.: linear programming) ist ein Teilgebiet der Mathematik,

- 67 -

4. Lineare Optimierung

Die lineare Optimierung (engl.: linear programming) ist ein Teilgebiet der Mathematik, insbesondere

des Operations Research, das in den 30er und 40er Jahren des 20. Jahrhunderts seine Entwicklung

begann. Berühmte Namen wie Dantzig1, Kantorowitsch2 und Leontief3 sind damit verbunden. Im We-

sentlichen werden lineare Funktionen optimiert unter Berücksichtigung von Nebenbedingungen in

Form linearer Gleichungen bzw. Ungleichungen. Auf solche Probleme trifft man in verschiedenen

betriebswirtschaftlichen Gebieten.

4.1. Einführende Beispiele

4.1.1. Ein Problem der Produktionsplanung

Zwei verschiedene Kunststoffprodukte I und II werden aus einem in beliebiger Menge verfügbaren

Rohgranulat hergestellt. Die Produktion wird durch die drei Prozesse „Warmpressen“, „Spritzguss“

und „Verpackung“ bestimmt. Das Produkt I entsteht durch Warmpressen des Granulats und das Pro-

dukt II durch Spritzguss des verflüssigten Granulats. Beide Produkte werden anschließend für den

Versand verpackt.

Die Abteilung „Warmpressen“ steht pro Tag für maximal 10 Stunden zur Verfügung und benötigt je

Tonne von Produkt I eine Stunde. Die Abteilung „Spritzguss“ steht sechs Stunden am Tag zur Verfü-

gung und benötigt ebenfalls eine Stunde für die Produktion von einer Tonne des Produktes II. In der

Verpackungsabteilung stehen vier Arbeitskräfte jeweils höchstens acht Stunden zur Verfügung. Je

Tonne von I werden 2 Stunden und je Tonne von II werden vier Stunden gebraucht. Die jeweiligen

Stückdeckungsbeiträge betragen bei I 30,- €/t und bei II 20,- €/t.

In welcher Mengenkonstellation soll die Firma die beiden Produkte herstellen, damit der Gesamtde-

ckungsbeitrag pro Tag maximiert wird?

Produkt I Produkt II max. Tageskapazität

Warmpressen 1 h/t 10 h

Spritzguss 1 h/t 6 h

Verpackung 2 h/t 4 h/t 32 h

Deckungsbeitrag 30,- €/t 20,- €/t

z ... Gesamtdeckungsbeitrag

1 G.B. Dantzig: US-amerikanischer Mathematiker (1914-2005), entwickelte das Simplex-Verfahren. 2 L.V. Kantorowitsch: russischer Mathematiker und Wirtschaftswissenschaftler (1912-1986), erhielt 1975 den

Nobelpreis für Wirtschaftswissenschaften. 3 W.W. Leontief: russischer Wirtschaftswissenschaftler (1905-1999), erhielt 1973 den Nobelpreis für Wirt-

schaftswissenschaften.

Page 2: 4. Lineare Optimierung - Mathematik-Service Dr. H. Fritsch · 2016. 1. 13. · 4. Lineare Optimierung Die lineare Optimierung (engl.: linear programming) ist ein Teilgebiet der Mathematik,

- 68 -

1x ... Produktionsmenge von Produkt I in t/Tag

2x ... Produktionsmenge von Produkt II in t/Tag

Mathematisches Modell: !2030 21 Maxxxz →+= (Zielfunktion)

≤+≤≤

3242

6

10

21

2

1

xx

x

x

(Nebenbedingungen)

0, 21 ≥xx (Nichtnegativitätsbedingungen)

4.1.2. Ein Diät-Problem

Ein Mensch benötigt täglich ein Mindestmaß an unterschiedlichen Nährstoffen (Kohlenhydrate, Ei-

weiß, Fett). Es stehen ihm die zwei Nahrungsmittelsorten I und II zur Verfügung.

Wie muss der Mensch sein tägliches Menü zusammenstellen, damit er einerseits genügend Nährstoffe

erhält und andererseits möglichst wenig dafür bezahlen möchte?

in ME/100g

Nahrungsmittel täglicher Mindest-

I II bedarf (in ME)

Eiweiß 3 1 15

Fett 1 1 11

Kohlenhydrate 2 8 40

Preis (in €/100g) 2,- 4,-

z ... Gesamtkosten

1x ... Nahrungsmittelmenge von I (in 100g/Tag)

2x ... Nahrungsmittelmenge von II (in 100g/Tag)

Mathematisches Modell: !42 21 Minxxz →+= (Zielfunktion)

≥+≥+≥+

4082

11

153

21

21

21

xx

xx

xx

(Nebenbedingungen)

0, 21 ≥xx (Nichtnegativitätsbedingungen)

Page 3: 4. Lineare Optimierung - Mathematik-Service Dr. H. Fritsch · 2016. 1. 13. · 4. Lineare Optimierung Die lineare Optimierung (engl.: linear programming) ist ein Teilgebiet der Mathematik,

- 69 -

4.2. Allgemeines Modell

Wir wollen nun in allgemeiner Form das mathematische Modell einer linearen Optimierungsaufgabe

(hier: LOA ) formulieren. Dabei wollen wir anfangs möglichst viele Varianten einschließen.

→++=!

!...11 Min

Maxxcxcz nn (Zielfunktion)

=++

=++

mnmnm

nn

b

b

xaxa

xaxa

M

K

MM

K 1

11

1111

(Nebenbedingungen)

0,...,1 ≥nxx (Nichtnegativitätsbedingungen)

In Vektor- bzw. Matrixschreibweise ergibt sich dann mit einer (m,n)-Matrix A und einer komponen-

tenweisen Interpretation der Relationszeichen bei den Vektoren:

→= xcz T rr

!

!

Min

Max

xAr

=≤

≥br

0rr ≥x

Insbesondere im Zusammenhang mit dem später zur rechnerischen Lösung einer LOA zu be-

nutzenden Simplexalgorithmus gewinnt die Normalform einer LOA (hier: NFLOA ), ein li-

neares Maximierungsproblem mit Nebenbedingungen in Gleichungsform, an Bedeutung:

→= xcz T rr!Max

xAr = b

r (mit 0

rr≥b )

0rr ≥x

Durch geeignete Umformungen bzw. Transformationen kann man eine beliebige LOA in ihre Normal-

form überführen.

• Liegen die Nebenbedingungen in der Form xAr

≤ br

vor, so kann man durch Einführung

eines Vektors yr

von nichtnegativen Schlupfvariablen (ökonomisch: freie, nicht ge-

nutzte Kapazitäten) die Gleichungsform erreichen: yExArr + = b

r. Im Fall der Form

xAr

≥ br

benutzt man yExArr − = b

r.

• Liegt ein Minimierungsproblem vor, so ist !Maxxcz T →−= rr das äquivalente Maximie-

rungsproblem.

Page 4: 4. Lineare Optimierung - Mathematik-Service Dr. H. Fritsch · 2016. 1. 13. · 4. Lineare Optimierung Die lineare Optimierung (engl.: linear programming) ist ein Teilgebiet der Mathematik,

- 70 -

• Im Fall von Variablenbeschränkungen führt eine lineare Transformation zur NFLOA:

(a) )0(≠≥ jj sx : jjj xsx ′+= mit 0≥′jx ,

(b) jj Sx ≤ : jjj xSx ′−= mit 0≥′jx .

• Fehlen die Nichtnegativitätsbedingungen gänzlich, so ersetzt man die Variable jx durch zwei

nichtnegative Variablen jx′ und jx ′′ mit jjj xxx ′′−′= (Nachteil: Verdopplung der Zahl der

Variablen).

Betrachtet man eine NFLOA, dann heißt ein Punkt nx �∈0r mit 0xAr = b

r und 00

rr ≥x zulässige

Lösung. Die Menge aller zulässigen Lösungen wird als zulässiger Bereich B bezeichnet.

Eine zulässige Lösung optxr

nennt man optimale Lösung der LOA, wenn für alle zulässigen

Lösungen Bx ∈r die Bedingung optTT xcxcrrrr ≤ erfüllt wird.

Eine Menge { }β=∈ xax Tn rrr|� mit �∈β heißt Hyperebene und die Menge { |nx �∈r

}β≤xaT rr nennt man einen Halbraum . Der Durchschnitt von endlich vielen Halbräumen im

n� wird konvexes Polyeder genannt. Handelt es sich um ein beschränktes konvexes Po-

lyeder, so spricht man auch von einem konvexen Polytop. Eine Linearkombination ∑=

n

jjj x

mit

11

=∑=

n

jjα nennt man eine konvexe Linearkombination. Unter einem Extremalpunkt wollen

wir einen Punkt optxr

eines konvexen Polytops verstehen, der sich nicht als konvexe Linear-

kombination zweier verschiedener Punkte des konvexen Polytops darstellen lässt. Konvexe

Polyeder/Polytope besitzen nur eine endliche Anzahl an Extremalpunkten. Der zulässige Be-

reich B einer LOA ist ein konvexes Polyeder.

4.3. Grafische Lösung einer LOA

Für den Fall zweier Variabler ( 2=n ) besteht die Möglichkeit der grafischen Lösung der LOA. Ne-

benbedingungen und Nichtnegativitätsbedingungen beschreiben i.a. als lineare Ungleichungen Halb-

ebenen in der reellen Ebene, deren Durchschnitt ein ebenes konvexes Polyeder ist.

Vorgehen für eine grafische Lösung:

(1) Aufstellen des mathematischen Modells: xcz T rr= , xAr

=≤

≥br

, 0rr ≥x .

Page 5: 4. Lineare Optimierung - Mathematik-Service Dr. H. Fritsch · 2016. 1. 13. · 4. Lineare Optimierung Die lineare Optimierung (engl.: linear programming) ist ein Teilgebiet der Mathematik,

- 71 -

(2) Grafische Darstellung des zulässigen Bereichs B als Schnittmenge der Halbebenen, die den

Nebenbedingungen und Nichtnegativitätsbedingungen genügen.

(3) Grafische Darstellung einer beliebigen Zielfunktionsgeraden (z beliebig gewählt):

21

2

12 c

zx

c

cx +−= .

(4) Parallelverschiebung dieser Zielfunktionsgeraden in Richtung

• wachsender z-Werte bei Maximierungsproblemen,

• fallender z-Werte bei Minimierungsproblemen.

bis das zulässige Maximum/Minimum in (mindestens) einem Eckpunkt von B erreicht ist:

(a) Zielfunktionsgerade und B haben genau einen Eckpunkt → eindeutige optimale Lösung,

B

X1

X2

NNB x1

NNB x2

NB 1

NB 2

NB 3

ZF-Start

ZF-Optimum

(b) Zielfunktionsgerade und eine Kante von B fallen zusammen → unendlich viele optimale

Lösungen (Kante),

B

X1

X2

NNB x1

NNB x2

NB 1

NB 2

NB 3

ZF-Start

ZF-Optimum

Page 6: 4. Lineare Optimierung - Mathematik-Service Dr. H. Fritsch · 2016. 1. 13. · 4. Lineare Optimierung Die lineare Optimierung (engl.: linear programming) ist ein Teilgebiet der Mathematik,

- 72 -

(c) B ist in Richtung der verschobenen Zielfunktionsgeraden unbeschränkt → keine optima-

le Lösung.

B

X1

X2

NNB x1

NNB x2

NB 1

NB 2

NB 3

ZF-Start

ZF-später

Es sollen nun die einführenden Beispiele 4.1.1. und 4.1.2. grafisch gelöst werden. Wir beginnen mit

dem Produktionsplanungsproblem 4.1.1.

B

0

1

2

3

4

5

6

7

8

9

0 5 10 15X1

X2

NNB x1

NNB x2

NB 1

NB 2

NB 3

ZF-Start

ZF-Optimum

Bei den sich ergebenden Eckpunkten als Schnittpunkte zweier Restriktionen (NB bzw. NNB) unter-

scheidet man in zulässige Eckpunkte (0|0), (10|0), (10|3), (4|6), (0|6), welche den zulässigen Bereich B

definieren, und nichtzulässige Eckpunkte (16|0), (10|6), (0|8).

Der optimale Gesamtdeckungsbeitrag von 360max == zzopt € pro Tag wird durch die optimale Lö-

sung Toptx )3|10(=r

realisiert. Im Optimalpunkt )3|10( werden die maximalen Kapazitäten

beim Warmpressen und beim Verpacken exakt ausgenutzt sein (� „Engpassfertigungsstel-

len“), während die Fertigungsstelle Spritzguss nur zur Hälfte ausgelastet ist.

Page 7: 4. Lineare Optimierung - Mathematik-Service Dr. H. Fritsch · 2016. 1. 13. · 4. Lineare Optimierung Die lineare Optimierung (engl.: linear programming) ist ein Teilgebiet der Mathematik,

- 73 -

Es folgt das Diätproblem 4.1.2.

B

0

2

4

6

8

10

12

14

0 5 10 15 20X1

X2

NNB x1

NNB x2

NB 1

NB 2

NB 3

ZF-Start

ZF-Optimum

Bei den sich hier ergebenden Eckpunkten als Schnittpunkte zweier Restriktionen (NB bzw. NNB)

unterscheidet man in zulässige Eckpunkte (0|15), (2|9), (8|3), (20|0), welche den zulässigen Bereich B

definieren, und nichtzulässige Eckpunkte (11|0), (5|0), (11

40|11

45), (0|0), (0|5), (0|11).

Die optimalen (minimalen) Nahrungsmittelkosten von −== ,28minzzopt € pro Tag werden durch

die optimale Lösung Toptx )3|8(=r

realisiert. Im Optimalpunkt )3|8( , d.h. bei 800g der Sorte I

und 300g der Sorte II, werden die Mindestmengen bei Fett und bei Kohlenhydraten exakt

ausgenutzt, während 12 Mengeneinheiten mehr Eiweiß als erforderlich enthalten sind.

Bei beiden Aufgabenstellungen wurde deutlich, dass man sich bei der Lösungssuche auf die Eckpunk-

te des zulässigen Bereichs beschränken kann.

4.4. Anwendungsgebiete der Linearen Optimierung

4.4.1. Mischungsprobleme

Eine mögliche Anwendung der linearen Optimierung sind Mischungsprobleme, bei denen es darum

geht, Rohstoffe oder Halbprodukte zu einem Endprodukt zusammenzustellen, wobei die Menge der

jeweiligen Bestandteile innerhalb eines bestimmten Bereichs variieren können. Dabei sind in der Re-

gel die Kosten zu minimieren bzw. der Gesamtgewinn zu maximieren. Geht es beim Mischen um die

Zusammenstellung von Speise- oder Diätplänen, so findet man in der Literatur auch die Begriffe

Hausfrauen- bzw. Diätproblem.

Page 8: 4. Lineare Optimierung - Mathematik-Service Dr. H. Fritsch · 2016. 1. 13. · 4. Lineare Optimierung Die lineare Optimierung (engl.: linear programming) ist ein Teilgebiet der Mathematik,

- 74 -

Bei unserem Mischungsproblem soll in einer Firma Tierfutter produziert werden, wofür die zwei Zu-

sätze Z1 und Z2 verwendet werden. Jeder Sack Tierfutter muss mindestens 100g des Nährstoffes N1,

mindestens 80g des Nährstoffes N2 und mindestens 120g des Nährstoffes N3 beinhalten.

Anteil N1

(in g/Sack)

Anteil N2

(in g/Sack)

Anteil N3

(in g/Sack)

Kosten

(in €/Sack)

Z1 20 20 60 8

Z2 50 30 40 9

Wie viel Zusatzmittel sind jeweils pro Sack Futter zu verarbeiten, damit die Kosten für die Zusatzmit-

tel pro Sack minimal werden?

Mathematisches Modell: !98 21 Minxxz →+= (Zielfunktion)

1246

832

1052

21

21

21

≥+≥+≥+

xx

xx

xx

(Nebenbedingungen)

0, 21 ≥xx (Nichtnegativitätsbedingungen)

Dieses Minimierungsproblem ist mit seinen zwei Variablen ( 2=n ) auch grafisch lösbar. Mit der

optimalen Lösung Toptx )4,2|4,0(=r

ergeben sich 24,80 € als minimale Kosten pro Sack Futter.

B

0

1

2

3

4

5

6

0 1 2 3 4 5 6X1

X2

NNB x1

NNB x2

NB 1

NB 2

NB 3

ZF-Start

ZF-Optimum

4.4.2. Transportplanung

Das nächste Beispiel für die Behandlung als lineares Optimierungsproblem soll die Transportplanung

sein. Diese Problemart zeichnet sich durch eine spezielle Art der Koeffizientenmatrix in den Nebenbe-

dingungen aus, was auch zu speziellen Lösungsmethoden führt. Auf diese kann hier aber nicht einge-

Page 9: 4. Lineare Optimierung - Mathematik-Service Dr. H. Fritsch · 2016. 1. 13. · 4. Lineare Optimierung Die lineare Optimierung (engl.: linear programming) ist ein Teilgebiet der Mathematik,

- 75 -

gangen werden, so dass an dieser Stelle nur die aufwendigere Simplexmethode benutzt werden soll.

Grafische Lösungen scheiden wegen der großen Anzahl an Variablen aus ( 2>n ). Bei Transportprob-

lemen ist ein einheitliches Gut zu transportieren, wobei der Transportaufwand proportional zu den

Entfernungen und zu den zu transportierenden Mengen ist. Das Gut wird an mehreren Orten produ-

ziert oder gelagert, und es wird an verschiedenen (anderen) Orten benötigt. Das Gesamtaufkommen ist

gleich dem Gesamtbedarf. Die Gesamtkosten sind dann zu minimieren.

In unserem Beispiel wird ein Produkt an zwei Standorten für drei Verbraucher hergestellt. Der Stand-

ort S1 kann höchstens 150 ME liefern, der Standort S2 200 ME. Die Verbraucher V1, V2, V3 haben

einen Bedarf von 80, 90 bzw. 130 ME. Bei der Auslieferung entstehen wegen der unterschiedlichen

Entfernungen verschiedene Kosten:

V1 (in GE) V2 (in GE) V3 (in GE)

S1 4 8 6

S2 10 3 5

Welche Mengen sind von den einzelnen Standorten an die Verbraucher zu liefern, so dass die Ge-

samttransportkosten minimal werden?

Mathematisches Modell:

!5310684 232221131211 Minxxxxxxz →+++++= (Gesamttransportkosten)

130

90

80

2313

2212

2111

=+=+=+

xx

xx

xx

(Bedarfsdeckung)

200

150

232221

131211

≤++≤++

xxx

xxx (Lieferkapazitäten)

0≥ijx ( 2,1=i und 3,2,1=j )

S2

200 ME

S1

150 ME

V1

80 ME

V3

130 ME

V2

90 ME

x11 x13 x12 x23 x22 x21

Page 10: 4. Lineare Optimierung - Mathematik-Service Dr. H. Fritsch · 2016. 1. 13. · 4. Lineare Optimierung Die lineare Optimierung (engl.: linear programming) ist ein Teilgebiet der Mathematik,

- 76 -

Die optimale Lösung dieses Transportproblems ist dann Toptx )110|90|0|20|0|80(=r

, was zu

minimalen Gesamtkosten von 1260=optz GE führt.

4.4.3. Produktionsprogrammplanung

Wie soll ein Betrieb seine Produktion auslegen, damit das geplante Produktionsprogramm auch reali-

sierbar ist und z.B. der Deckungsbeitrag maximiert wird?

In unserem Beispiel sollen drei Produkte auf vier Maschinen produziert werden. Die notwendigen

Informationen für die Produktion sind:

P1 P2 P3

M1 2 4 3

M2 3 6 9

M3 5 2 4

M4 7 1 7

Maschine 1 steht maximal 500 ZE, Maschine 2 maximal 600 ZE, Maschine 3 maximal 1000 ZE und

Maschine 4 maximal 750 ZE zur Verfügung. Beim Verkauf der Produkte 1, 2, 3 werden die De-

ckungsbeiträge 20, 15 bzw. 32 GE/ME erzielt.

Wie viel soll von den einzelnen Produkten gefertigt werden, damit die Maschinenkapazitäten nicht

überschritten werden und der Gesamtdeckungsbeitrag maximal wird?

Mathematisches Modell: jx ... produzierte Menge von Produkt j

!321520 321 Maxxxxz →++= (Zielfunktion)

75077

1000425

600963

500342

321

321

321

321

≤++≤++≤++≤++

xxx

xxx

xxx

xxx

(Nebenbedingungen)

0,, 321 ≥xxx (Nichtnegativitätsbedingungen)

Die optimale Lösung Toptx )0|50|100(=r

führt auf einen maximalen Deckungsbeitrag von

2750=optz GE.

In einem allgemeineren Beispiel für die Produktionsprogrammplanung sind auch noch Mindest- und

Maximalfertigungsmengen gegeben, d.h. es gibt eine zusätzliche Bedingung Sxsrrr ≤≤ .

Page 11: 4. Lineare Optimierung - Mathematik-Service Dr. H. Fritsch · 2016. 1. 13. · 4. Lineare Optimierung Die lineare Optimierung (engl.: linear programming) ist ein Teilgebiet der Mathematik,

- 77 -

4.4.4. Ablaufplanung

Ein betrachteter Prozess besteht aus verschiedenen Teilprozessen. Diese können dabei teils parallel

ablaufen, aber auch nacheinander. Es gibt n Knoten (Knoten ... Beginn oder Ende eines Teilprozes-

ses). Mit C bezeichnen wir die Matrix der Zeitdauern der Teilprozesse. Ein Ereignis i kann erst eintre-

ten, wenn alle im Knoten i endenden Teilprozesse abgeschlossen sind. Der Knoten 1 steht für den

Beginn, der Knote n entspricht dem Ende.

Für 5=n betrachten wir den folgenden Beispielprozess (ZE ... Zeiteinheit):

Zwei mögliche Fragestellungen sind hierbei von Interesse:

• Vorwärtsplanung: Gegeben ist ein Starttermin t1 und gesucht wird der frühest mögliche

Endtermin tn ,

• Rückwärtsplanung: Gegeben ist ein Endtermin tn und gesucht wird der spätest mögliche

Starttermin t1 .

(i,j) ... Teilprozess, der im Knoten i beginnt und im Knoten j endet

cij ... Zeitdauer des Teilprozesses (i,j) mit )( ijcC = , wobei 0=ijc für den Fall, dass kein

Prozess (i,j) existiert

Bj ... Menge aller Teilprozesse (i,j)

nt �∈r

... Vektor der Zeitpunkte ti , an denen das Ereignis i eintritt

Es gelten die folgenden Restriktionen:

• jiji tctnj =+=∀ :,...,2 für alle (i,j) jB∈ ,

• 0:,...,1 ≥=∀ itni .

Die Zielfunktion ist dann für die

• Vorwärtsplanung: !Mintn → ,

• Rückwärtsplanung: !1 Maxt → .

2

1

4

3

5

10 ZE 6 ZE

12 ZE 11 ZE

13 ZE

9 ZE 5 ZE

Page 12: 4. Lineare Optimierung - Mathematik-Service Dr. H. Fritsch · 2016. 1. 13. · 4. Lineare Optimierung Die lineare Optimierung (engl.: linear programming) ist ein Teilgebiet der Mathematik,

- 78 -

Für unser konkretes Beispiel liefert die Rückwärtsplanung den spätesten Anfangstermin von 30 (ZE)

und die Vorwärtsplanung den frühesten Endtermin nach 30 (ZE).

4.4.5. Ermittlung optimaler Zuschnittpläne

Optimaler Zuschnitt bedeutet die Lösung eines Minimierungsproblems, bei dem ein Ausgangsmaterial

(Stahlbleche, Papierrollen, ...) in kleinere Bestandteile zerlegt werden muss bei kleinstmöglichem Ver-

schnitt.

In unserem Beispiel soll das Ausgangsmaterial aus Papierrollen fester Länge und vorgegebener Breite

von 2,10m bestehen. Diese werden in Rollen von 62cm, 55cm bzw. 40cm Breite zerschnitten. Die

Länge der schmaleren Rollen soll gleich der der Ausgangsrolle sein. Es gibt dann sechs sinnvolle Va-

rianten des Zuschnitts:

Zuschnittvariante Bedarf

Rollenbreite 1 2 3 4 5 6 (in Stück)

62cm 3 2 1 0 0 0 300

55cm 0 0 1 3 2 0 600

40cm 0 2 2 1 2 5 600

Verschnitt 24 6 13 5 20 10

Es soll nun ermittelt werden, wie oft welche Zuschnittvariante angewendet werden muss, damit der

Materialverlust minimiert und die Einhaltung des Bedarfs an schmaleren Rollen gesichert wird.

Mathematisches Modell (minimaler Materialverlust):

!1020513624 654321 Minxxxxxxz →+++++= (Zielfunktion)

6005222

60023

30023

65432

543

321

≥++++≥++≥++

xxxxx

xxx

xxx

(Nebenbedingungen)

0,,,,, 654321 ≥xxxxxx (Nichtnegativitätsbedingungen)

Alternativ wäre auch eine andere Zielfunktion für einen minimalen Rollenverbrauch denkbar:

!654321 Minxxxxxxz →+++++= .

Die optimale Kombination der Zuschnittvarianten )20|0|200|0|150|0( ergibt einen Zuschnitt

von 370 Rollen und ist hier wegen der Zahl der Variablen ( 6=n ) nicht grafisch bestimmbar.

Anmerkungen:

(1) Ein klassisches Anwendungsgebiet der linearen Optimierung ist die Bestimmung eines Rou-

tings für Verkehrsanforderungen in Telekommunikations- oder Verkehrsnetzen, oft in Verbindung mit

Page 13: 4. Lineare Optimierung - Mathematik-Service Dr. H. Fritsch · 2016. 1. 13. · 4. Lineare Optimierung Die lineare Optimierung (engl.: linear programming) ist ein Teilgebiet der Mathematik,

- 79 -

Kapazitätsplanungen. Dabei müssen Verkehrsflüsse so durch ein Netz geroutet werden, dass alle Ver-

kehrsanforderungen erfüllt werden, ohne die Kapazitätsbedingungen zu verletzen. Diese sogenannten

Mehrgüterflüsse (engl.: multicommodity flow) sind ein Beispiel für ein Problem, das mit linearer

Optimierung gut lösbar ist, für das aber im allgemeinen Fall kein exakter Algorithmus bekannt ist.

(2) Zu den Beispielen 4.4.1.- 4.4.5. kann man sich eine Übungsmappe in Excel (lin-opt.xls) von

der Homepage des Autors (www.math-service.de) herunterladen. Dort wird die Lösung der Beispiele

mittels des Solvers von Excel demonstriert (Blätter „...-Muster“) und eine Möglichkeit zur eigenen

Übung (Blätter „...-Übung“) eingeräumt.

4.5. Der primale Simplexalgorithmus

Der primale Simplexalgorithmus löst das LOA in Normalform: →= xcz T rr!Max , xA

r = br

(mit der (m,n)-Matrix A und 0rr

≥b ), 0rr ≥x . Es sei { }0,|

rrrrr ≥=∈= xbxAxB n� ein gegebenes

Polyeder.

Eine Lösung xr

des linearen Gleichungssystems xAr = b

r heißt Basislösung, wenn eine Indexmenge

I mit mI = existiert, so dass 0=jx für alle Ij ∉ und die Spaltenvektoren { }IjA j ∈| der Ma-

trix A linear unabhängig sind.

Eine Basislösung heißt (primal) zulässig, wenn sie außer den linearen Gleichungsbedingungen

xAr = b

r auch noch die Nichtnegativitätsbedingungen 0

rr ≥x erfüllt.

Folgende Merkmale zeichnen den zulässigen Bereich { }0,|rrrrr ≥=∈= xbxAxB n

� der NFLOA aus:

• Wenn ∅≠B , so besitzt B mindestens einen Eckpunkt. Jedem Eckpunkt von B entspricht

eine zulässige Basislösung.

• Das Polyeder B besitzt nur endlich viele Eckpunkte.

• Wenn die NFLOA lösbar ist, so besitzt sie auch eine optimale zulässige Basislösung.

Als Basismatrix A der Matrix A bezeichnen wir eine quadratische Teilmatrix von A mit

mArgArg == )()( . Mit )|( NAA = ist das Gleichungssystem xAr = b

r mit )|( NA

T xxxrrr =

äquivalent zu bxNxA NA

rr =+ . Dabei bezeichnen wir Axr

als Vektor der Basisvariablen und Nxr

als Vektor der Nichtbasisvariablen. Damit gilt:

NA xNAbAx 11 −− −=rr

, (1)

d.h. mit 0rr =Nx und 01

rr≥− bA erhält man eine zulässige Basislösung.

Beispiel: (NFLOA)

!21 Maxxxz →+=

Page 14: 4. Lineare Optimierung - Mathematik-Service Dr. H. Fritsch · 2016. 1. 13. · 4. Lineare Optimierung Die lineare Optimierung (engl.: linear programming) ist ein Teilgebiet der Mathematik,

- 80 -

42

42

221

121

=++=++

yxx

yxx

0, 21 ≥xx

Rechnung mit dem Gauß-Jordan-Algorithmus:

I.

BV 1x 2x 1y 2y br

1y 2 1 1 0 4

2y 1 2 0 1 4

1y 0 -3 1 -2 -4

1x 1 2 0 1 4

II.

BV 1x 2x 1y 2y br

1y 2 1 1 0 4

2y 1 2 0 1 4

1x 1 0,5 0,5 0 2

2y 0 1,5 -0,5 1 2

1x 1 0 6,0 - 3,0 3,1

2x 0 1 - 3,0 6,0 3,1

Die entsprechenden Basislösungen sind dann

• Tx )4|4|0|0(1 =r, Tx )2|0|0|2(2 =r

, Tx )0|0|3,1|3,1(3 =r (zulässige Basislösungen)

• Tx )0|4|0|4(4 −=r (entartete Basislösung)

Die optimale Basislösung ist hier Tx )0|0|3,1|3,1(3 =r, womit die Basismatrix bzw. die Inverse

der Basismatrix dann

=

21

12A bzw.

−−

=−

6,03,0

3,06,01A

sind. Die grafische Lösung der LOA demonstriert dies anschaulich.

B

0

1

2

3

4

5

0 1 2 3 4 5X1

X2

NNB x1

NNB x2

NB 1

NB 2

ZF-Start

ZF-Optimum

Page 15: 4. Lineare Optimierung - Mathematik-Service Dr. H. Fritsch · 2016. 1. 13. · 4. Lineare Optimierung Die lineare Optimierung (engl.: linear programming) ist ein Teilgebiet der Mathematik,

- 81 -

Zwei Basislösungen nennt man benachbart, wenn die ihnen entsprechenden Darstellungen (1) der

allgemeinen Lösung von xAr = b

r durch einen Schritt im Gauß-Jordan-Algorithmus überführt wer-

den.

4.5.1. Der Optimalitätstest

Wir setzen nun die allgemeine Lösung (1) des linearen Gleichungssystems xAr = b

r in die NFLOA

ein: ( ) NT

NNT

ANT

NAT

AT xcxNAbAcxcxcxcz

rrrrrrrrrr +−=+== −− 11

( ) NT

NT

AT

A xcNAcbAcrrrrr −−= −− 11 .

Die Zielfunktion ist lediglich unter Einbeziehung der Nichtnegativitätsbeziehungen zu maxi-

mieren: ( ) !11 MaxxcNAcbAcz NT

NT

AT

A →−−= −− rrrrr ,

011rrr ≥−= −−

NA xNAbAx ,

0rr ≥Nx .

Die reellen Zahlen ( )j

N

TTAj cNAc

−=∆ − rr 1 heißen Optimalitätsindikatoren (der Nichtbasis-

variablen) und für eine zulässige Basislösung, die optimal ist, gilt dann: 0rr

≥∆ .

Im Beispiel erhalten wir somit für die entartete Basislösung Tx )0|4|0|4(4 −=r die Werte

( )0|0|1|1 −−=∆Tr , für die zulässige Lösung Tx )2|0|0|2(2 =r die Werte =∆Tr

( )0|5,0|5,0|0 − und für die optimale Lösung Tx )0|0|3,1|3,1(3 =r die Werte =∆Tr

( ) T03,0|3,0|0|0r

≥ .

1 1 0 0

BV Acr

1x 2x 1y 2y br

1y 0 2 1 1 0 4

2y 0 1 2 0 1 4

„Kellerzeile“ -1 -1 0 0 0

1x 1 1 0,5 0,5 0 2

2y 0 0 1,5 -0,5 1 2

„Kellerzeile“ 0 -0,5 0,5 0 2

Page 16: 4. Lineare Optimierung - Mathematik-Service Dr. H. Fritsch · 2016. 1. 13. · 4. Lineare Optimierung Die lineare Optimierung (engl.: linear programming) ist ein Teilgebiet der Mathematik,

- 82 -

1x 1 1 0 6,0 - 3,0 3,1

2x 1 0 1 - 3,0 6,0 3,1

„Kellerzeile“ 0 0 3,0 3,0 6,2

Stopp ( 0≥ )

In der sogenannten Kellerzeile stehen dann also die Werte TN

TA cNAc

rr −−1 , bAc TA

rr 1− und

TTA

TA cAAc 01

rrr =−− .

Eine zulässige Basislösung TNA xxx )|( *** rrr = mit bAxA

rr 1* −= und 0*rr =Nx ist primal nicht-

entartet, wenn 01rr

>− bA ist, d.h. alle Basisvariablen echt positiv sind. Ist *xr

eine primal

nichtentartete zulässige Basislösung zur Basismatrix A und 00

<∆ j für eine Nichtbasisva-

riable (NBV) 0j

x , so ist *xr

nicht optimal.

4.5.2. Der Verbesserungsschritt

Sei nun 00

<∆ j für eine NBV 0j

x in der aktuellen zulässigen Basislösung. Dann kann durch

eine Vergrößerung von 0j

x eine Lösung mit größerem bzw. (im Entartungsfall) nicht kleine-

rem Zielfunktionswert konstruiert werden. Für die Nebenbedingungen gilt damit:

( ) ( ) 000

11 ≥− −−jiji xAAbA

r für alle mi ,...,1= mit 0

0≥jx ,

wenn alle anderen NBV gleich Null sind. Die 0j -te Spalte ( )0

1jAA − von AA 1− gehört zu

NA 1− . Die Auflösung dieses Ungleichungssystems ergibt somit

( )( ) ( )

( )( ) ( )

>≤

<≥

−−

−−

0für

0für

0

0

0

0

0

11

1

11

1

ijij

i

ijij

i

j

AAAA

bA

AAAA

bA

xr

r

wobei ( )

( ) ( )

>≤ −−

−0min

0

0

0

11

1

ijij

ij AA

AA

bAx

r

.

Page 17: 4. Lineare Optimierung - Mathematik-Service Dr. H. Fritsch · 2016. 1. 13. · 4. Lineare Optimierung Die lineare Optimierung (engl.: linear programming) ist ein Teilgebiet der Mathematik,

- 83 -

Für den Fall ( ) 00

1r

>−jAA bestimmt man =Θi

( )( )

0

1

1

ij

i

AA

bA−

− r

für ( ) 00

1 >−ijAA und =Θ *

i

( )( ) ( )

>−−

−0min

0

0

11

1

ijij

i AAAA

bAr

und fügt diese Werte als zusätzliche Spalte an die Berech-

nungstabelle an.

Für den Fall ( ) 00

1r

≤−jAA ist der Wert *Θ nicht bestimmbar, d.h. die LOA ist dann nicht lösbar,

weil die Zielfunktionswerte nach oben unbeschränkt wachsen über dem zulässigen Bereich B.

1 1 0 0

BV Acr

1x 2x 1y 2y br

Θr

1y 0 2 1 1 0 4

= 22

4

2y 0 1 2 0 1 4 4

1

4 =

„Kellerzeile“ -1↑ -1 0 0 0

1x 1 1 0,5 0,5 0 2 4

5,0

2 =

2y 0 0 1,5 -0,5 1 2

= 3,15,1

2

„Kellerzeile“ 0 -0,5↑ 0,5 0 2

1x 1 1 0 6,0 - 3,0 3,1

2x 1 0 1 - 3,0 6,0 3,1

„Kellerzeile“ 0 0 3,0 3,0 6,2

Stopp ( 0≥ )

4.5.3. Der Simplexalgorithmus

Zur schematischen Darstellung einer Simplextabelle nehmen wir an, dass das lineare Gleichungssy-

stem bxArr = nach den ersten m Variablen aufgelöst wird. Mit )(1

ijaAA =− und ( )bAr

1− )( ib= star-

tet der Simplexalgorithmus mit der Tabelle:

Page 18: 4. Lineare Optimierung - Mathematik-Service Dr. H. Fritsch · 2016. 1. 13. · 4. Lineare Optimierung Die lineare Optimierung (engl.: linear programming) ist ein Teilgebiet der Mathematik,

- 84 -

1c 2c K mc 1+mc K nc

BV Acr

1x 2x K mx 1+mx K nx b

r

Θr

1x 1c 1 0 K 0 1,1 +ma K na ,1 1b 1Θ

2x 2c 0 1 K 0 1,2 +ma K na ,2 2b 2Θ

M M M M M M M M M

mx mc 0 0 K 1 1, +mma K nma , mb mΘ

0 0 K 0 1+∆m K n∆ bc TA

rr

Bemerkungen:

(1) In der Simplextabelle sind 1x , ... , mx die Basisvariablen (BV). Im Allgemeinen muss das

nicht so sein.

(2) Der Wert einer BV jx ist jb .

(3) NBV haben den Wert Null.

(4) Der aktuelle Zielfunktionswert ist bAcbcxc TA

TAA

TA

rrr

rrr 1−== .

Primaler Simplexalgorithmus:

Gegeben: Eine lineare Optimierungsaufgabe in Normalform:

≥=

→=

0

!

rr

rr

rr

x

bxA

Maxxcz T

(NFLOA).

Gesucht: Eine optimale Lösung.

(1) Bestimme eine Basismatrix A mit 01rr

≥− bA und stelle die Simplextabelle auf.

(2) Wenn alle 0≥∆ j sind, dann ist die vorliegende zulässige Basislösung optimal, stopp.

Sonst wähle ein 0j mit 00

<∆ j .

(3) Wenn ( ) 00

1 ≤−ijAA ist für alle i, dann ist die LOA nicht lösbar, da die Zielfunktion über dem

zulässigen Bereich B nach oben unbeschränkt ist. Sonst bestimme die Werte ( )

( )0

1

1

ij

ii

AA

bA−

−=Θ

r

für

alle i mit ( ) 00

1 >−ijAA sowie =Θ

0i ( ){ }0|min

0

1 >Θ −iji AA .

(4) Die Basisvariable zur Zeile i0 in der Simplextabelle verlässt die Basis, dafür wird 0j

x in die

Basis aufgenommen. Entsprechend wird die Simplextabelle umgerechnet: In den Spalten BV und

Page 19: 4. Lineare Optimierung - Mathematik-Service Dr. H. Fritsch · 2016. 1. 13. · 4. Lineare Optimierung Die lineare Optimierung (engl.: linear programming) ist ein Teilgebiet der Mathematik,

- 85 -

Acr

wird die Basisvariable in der i0-ten Zeile durch 0j

x und deren Zielfunktionskoeffizient durch 0j

c

ersetzt. Der Rest der Tabelle wird mit dem Algorithmus von Gauß-Jordan umgerechnet, wobei in der

Spalte j0 eine Einheitsspalte mit einer 1 in der Zeile i0 geschaffen wird.

Bemerkungen:

(1) Die Kellerzeile T∆ der Optimalitätsindikatoren kann sowohl mit dem Gauß-Jordan-

Algorithmus (Schaffung einer Null in der j0-ten Spalte) als auch mit der entsprechenden Definitions-

formel berechnet werden.

(2) Aktuelle Zielfunktionswerte dürfen nicht fallen und 01rr

≥− bA in allen Iterationen.

(3) Wenn ein i∆ einer NBV ix zur optimalen Lösung Null ist, so können weitere optimale Lö-

sungen existieren. Die Aufnahme von ix in die Basis kann dann weitere optimale Lösungen liefern.

Geht die Aufnahme nicht, so gibt es eine unbeschränkte Kante optimaler Lösungen.

Beispiel:

LOA: !21 Maxxxz →+= NFLOA: !21 Maxxxz →+=

2

22

1

21

≤≤+−

x

xx

2

22

21

121

=+=++−

yx

yxx

0, 21 ≥xx 0,,, 2121 ≥yyxx

Simplextabelle:

1 1 0 0

BV Acr

1x 2x 1y 2y br

Θr

1y 0 -1 2 1 0 2 ---

2y 0 1 0 0 1 2 ←2

-1↑ -1 0 0 0

1y 0 0 2 1 1 4 ←2

1x 1 1 0 0 1 2 ---

0 -1↑ 0 1 2

2x 1 0 1 0,5 0,5 2

1x 1 1 0 0 1 2

0 0 0,5 1,5 4

Stopp ( 0≥ )

Page 20: 4. Lineare Optimierung - Mathematik-Service Dr. H. Fritsch · 2016. 1. 13. · 4. Lineare Optimierung Die lineare Optimierung (engl.: linear programming) ist ein Teilgebiet der Mathematik,

- 86 -

Damit ist die optimale Lösung der LOA ( )Toptx 2|2=r, welche zum optimalen (maximalen) Ziel-

funktionswert 4=optz führt.

Beispiel:

LOA: !21 Maxxxz →−= NFLOA: !21 Maxxxz →−=

6

8

2

2

321

321

≤≤

−+−+

xxx

xxx

6

8

2

2

2

1

321

321

==

++

−+−+

y

y

xxx

xxx

0,, 321 ≥xxx 0,,,, 21321 ≥yyxxx

Simplextabelle:

1 -1 0 0 0

BV Acr

1x 2x 3x 1y 2y br

Θr

1y 0 2 1 -1 1 0 8 ←4

2y 0 1 1 -2 0 1 6 6

-1↑ 1 0 0 0 0

1x 1 1 0,5 -0,5 0,5 0 4 ---

2y 0 0 0,5 -1,5 -0,5 1 2 ---

0 1,5 -0,5↑ 0,5 0 4

Wegen 0)(0

1r

≤−jAA für 30 =j ist die LOA nicht lösbar, weil die Zielfunktion über dem zulässi-

gen Bereich B nicht nach oben beschränkt ist.

Im Fall primal entarteter zulässiger Basislösungen kann 0* =Θ sein und die Umrechnung der Simp-

lextabelle kann zu keiner neuen zulässigen Basislösung führen. Bei Wiederholung dieses Prozesses

werden nacheinander verschiedene Basismatrizen pAAA ,...,, 21 berechnet, die alle den gleichen

Eckpunkt erzeugen. Gilt dann auch noch pAA =1 , so spricht man von einem Zyklus und der Simp-

lexalgorithmus ist nicht mehr endlich.

Beispiel: !65,02075,0 4321 Maxxxxxz →−+−=

1

035,0125,0

09825,0

33

24321

14321

=+=++−−=++−−

yx

yxxxx

yxxxx

0,rrr ≥yx

Page 21: 4. Lineare Optimierung - Mathematik-Service Dr. H. Fritsch · 2016. 1. 13. · 4. Lineare Optimierung Die lineare Optimierung (engl.: linear programming) ist ein Teilgebiet der Mathematik,

- 87 -

Wenn im Schritt 2 des primalen Simplexalgorithmus stets die Spalte mit dem kleinsten Wert des Op-

timalitätsindikators gewählt wird, so berechnet der Algorithmus die Folge der Basislösungen

)||( 321 yyy , )||( 321 yyx , )||( 321 yxx , )||( 323 yxx , )||( 343 yxx , )||( 341 yxy ,

)||( 321 yyy mit dem gleichen Zielfunktionswert 0=z (Zyklus!). Zyklen vermeiden kann man

beispielsweise mit der Bland’schen Regel:

Es ist der zulässige Bereich B nicht leer. Wenn im Schritt 2 des primalen Simplexalgorithmus der In-

dex 0j als kleinster Index mit negativem Optimalitätsindikator und im Schritt 3 der kleinste Index i0

mit *0

Θ=Θi gewählt wird, so endet der primale Simplexalgorithmus nach endlich vielen Iterationen

mit der optimalen Lösung oder mit der Unbeschränktheit nach oben der Zielfunktion.

Im Beispiel würde somit aus )||( 343 yxx dann in )||( 143 xxx übergegangen werden und die op-

timale Lösung ist somit Toptx )0|0|75,0|0|1|0|1(=r

mit dem maximalen (optimalen) Zielfunkti-

onswert 25,1=optz .

4.5.4. Berechnung einer ersten zulässigen Basislösung

Ist die LOA in der Gestalt

0

)0(

!

rr

rrrr

rr

≥≥≤

→=

x

bbxA

Maxxcz T

gegeben, so kann man auf einfache Weise eine zulässige Startlösung bestimmen. Die Normalform der

LOA ist dann nach Einführung von Schlupfvariablen

0,

)0(

!

rrr

rrrrr

rr

≥≥=+

→=

yx

bbyExA

Maxxcz T

.

Wegen 0rr

≥b ist mit der Basismatrix EA = der Vektor TNA xxx )|( *** rrr = mit byxA

rrr ==* und

0*rrr == xxN eine zulässige Basislösung.

Eine andere Möglichkeit bei einer NFLOA eine zulässige Basislösung zu finden, ist die Zwei-

Phasen-Methode. Wir betrachten eine NFLOA

0

)0(

!

rr

rrrr

rr

≥≥=

→=

x

bbxA

Maxxcz T

.

Page 22: 4. Lineare Optimierung - Mathematik-Service Dr. H. Fritsch · 2016. 1. 13. · 4. Lineare Optimierung Die lineare Optimierung (engl.: linear programming) ist ein Teilgebiet der Mathematik,

- 88 -

Bei der Aufgabe der ersten Phase, einer Ersatzaufgabe mit künstlichen Variablen mvv ,,1 K , wird

eigentlich die Summe aller künstlichen Variablen minimiert.

!ˆ 21 Maxvvvz m →−−−−= K

0,rrr

rrr

=+

vx

bvExA

Eine erste zulässige Basislösung dafür ist mit EA = der Vektor TNA xxx )|( *** rrr = mit vxA

rr =*

br

= und 0*rrr == xxN . Die Zielfunktion des Ersatzproblems z ist nach oben durch Null be-

schränkt, so dass die Ersatzaufgabe auch immer lösbar ist.

Die NFLOA besitzt genau dann eine zulässige Lösung, wenn die obige Ersatzaufgabe eine

zulässige Lösung mit 0rr =v besitzt.

Die Aufgabe der ersten Phase hat den optimalen Zielfunktionswert Null genau dann, wenn die

NFLOA eine zulässige Lösung besitzt.

Zwei-Phasen-Algorithmus:

Gegeben: Eine lineare Optimierungsaufgabe in Normalform:

≥=

→=

0

!

rr

rr

rr

x

bxA

Maxxcz T

(NFLOA).

Gesucht: Eine optimale Lösung.

(1) Wenn in A eine Einheitsmatrix vorhanden ist, gehe zu Schritt (4).

(2) Konstruiere und löse die Aufgabe der ersten Phase:

0,

!ˆ 21

rrr

rrr

K

=+

→−−−−=

vx

bvExA

Maxvvvz m

Wenn der optimale Zielfunktionswert *z dieser Aufgabe kleiner als Null ist, stopp, die zu lösende

LOA hat einen leeren zulässigen Bereich, d.h. sie ist nicht lösbar.

(3) Berechne die Starttabelle der Aufgabe der zweiten Phase (d.h. der ursprünglichen NFLOA)

unter Zuhilfenahme der zur optimalen Lösung der Aufgabe der ersten Phase gehörigen Simplextabelle

(z.B. nach Streichung der jv -Spalten).

(4) Löse die Aufgabe der zweiten Phase, d.h. die ursprüngliche LOA.

Beispiel: !3 321 Maxxxxz →++−=

0,,

32

1

321

321

31

≥=++=−

xxx

xxx

xx

Page 23: 4. Lineare Optimierung - Mathematik-Service Dr. H. Fritsch · 2016. 1. 13. · 4. Lineare Optimierung Die lineare Optimierung (engl.: linear programming) ist ein Teilgebiet der Mathematik,

- 89 -

Anwendung der Zwei-Phasen-Methode:

(Phase 1) Einführung künstlicher Variabler 21, vv und Anwendung des Simplexalgorithmus auf

die Ersatzaufgabe: !ˆ 21 Maxvvz →−−=

0,,,,

3

1

2

21321

2321

131

≥=+=

+++−

vvxxx

vxxx

vxx

0 0 0 -1 -1

BV Acr

1x 2x 3x 1v 2v br

Θr

1v -1 1 0 -1 1 0 1 ←1

2v -1 1 2 1 0 1 3 3

-2↑ -2 0 0 0 -4

1x 0 1 0 -1 1 0 1 ---

2v -1 0 2 2 -1 1 2 ←1

0 -2↑ -2 2 0 -2

1x 0 1 0 -1 1 0 1

2x 0 0 1 1 -0,5 0,5 1

0 0 0 1 1 0

Stopp ( 0≥ )

(Phase 2) Anwendung des Simplexalgorithmus auf die Originalaufgabe nach Streichung der v-

Spalten im Schlusstableau der Ersatzaufgabe und Ersetzen der Zielfunktionskoeffizienten:

-1 1 3

BV Acr

1x 2x 3x br

Θr

1x -1 1 0 -1 1 ---

2x 1 0 1 1 1 ←1

0 0 -1↑ 0

1x -1 1 1 0 2

3x 3 0 1 1 1

0 1 0 1

Stopp ( 0≥ )

Page 24: 4. Lineare Optimierung - Mathematik-Service Dr. H. Fritsch · 2016. 1. 13. · 4. Lineare Optimierung Die lineare Optimierung (engl.: linear programming) ist ein Teilgebiet der Mathematik,

- 90 -

Die optimale Lösung Toptx )1|0|2(=r

führt zum optimalen (maximalen) Zielfunktionswert

1=optz .

4.6. Dualität in der linearen Optimierung

In der Optimierung spielt der Begriff der Dualität eine große Rolle. Es werden immer Paare zueinan-

der dualer Aufgaben betrachtet. Die Formulierung einer dualen LOA erfolgt ausgehend vom Aussehen

der primalen LOA mittels folgender Konstruktionsprinzipien:

Primale LOA Duale LOA

!Maxxcz Tp →= rr

!Minybz Td →= rr

Zielfunktionskoeffizienten jc rechte Seite jc

rechte Seite ib Zielfunktionskoeffizienten ib

Koeffizientenmatrix A Koeffizientenmatrix AT

Nebenbedingung i

m

jjij bxa ≤∑

=1

Vorzeichenbedingung 0≥iy

Nebenbedingung i

m

jjij bxa ≥∑

=1

Vorzeichenbedingung 0≤iy

Nebenbedingung i

m

jjij bxa =∑

=1

keine Vorzeichenbedingung für iy

Vorzeichenbedingung 0≥jx Nebenbedingung j

n

iiij cya ≥∑

=1

Vorzeichenbedingung 0≤jx Nebenbedingung j

n

iiij cya ≤∑

=1

keine Vorzeichenbedingung für jx Nebenbedingung j

n

iiij cya =∑

=1

Durch die Anwendung dieser Prinzipien entstehen folgende Paare dualer Aufgaben:

Primale LOA Duale LOA

NFLOA:

0

!

rr

rr

rr

≥=

→=

x

bxA

Maxxcz Tp

DNFLOA:

cyA

MinybzT

Td

rr

rr

→= !

Page 25: 4. Lineare Optimierung - Mathematik-Service Dr. H. Fritsch · 2016. 1. 13. · 4. Lineare Optimierung Die lineare Optimierung (engl.: linear programming) ist ein Teilgebiet der Mathematik,

- 91 -

PLOA:

0

!

rr

rr

rr

≥≤

→=

x

bxA

Maxxcz Tp

DLOA:

0

!

rr

rr

rr

→=

y

cyA

MinybzT

Td

In diesem Abschnitt wollen wir uns auf das Paar dualer Aufgaben NFLOA und DNFLOA beschrän-

ken. Mittels Transformation kann man sich analoge Aussagen ableiten.

Es seien *xr

eine zulässige Lösung von der Aufgabe NFLOA und *yr

eine zulässige Lösung von der

Aufgabe DNFLOA. Dann gilt ** ybxc TT rrrr ≤ (schwache Dualität).

Ein Optimalitätskriterium lautet: Seien *xr

eine zulässige Lösung der NFLOA und *yr

eine zulässige

Lösung der DNFLOA. Dann sind folgende Aussagen äquivalent:

(1) *xr

ist optimal für die NFLOA, *yr

ist optimal für die DNFLOA.

(2) ** ybxc TT rrrr = (starke Dualität).

(3) ( ) 0** =− cyAx TT rrr (Komplementaritätsbedingungen).

Unter Umständen ist das Lösen der dualen Aufgabe günstiger, wenn z.B. das Originalproblem die

Struktur der DLOA mit 0rr ≥c hat. Dann hat das dazu duale Problem PLOA sofort die zulässige Lö-

sung 0rr =x .

Beispiel: !23 4321 Maxxxxxz p →−++=

532

4

4321

4321

≤+−+≤+++

xxxx

xxxx

0rr ≥x

hat die duale LOA !54 21 Minyyzd →+=

1

1

23

32

21

21

21

21

−≥+≥−≥+≥+

yy

yy

yy

yy

0rr ≥y .

Die duale Aufgabe ist damit grafisch lösbar und hat die optimale Lösung T

opty

=3

2|

3

5r mit dem

optimalen Zielfunktionswert 10, =optdz . Mittels der Komplementaritätsbedingungen ( )cyAx TT rrr −

Page 26: 4. Lineare Optimierung - Mathematik-Service Dr. H. Fritsch · 2016. 1. 13. · 4. Lineare Optimierung Die lineare Optimierung (engl.: linear programming) ist ein Teilgebiet der Mathematik,

- 92 -

0= und 0)( =− bxAyTrrr

erhält man dann als optimale Lösung für das Originalproblem

=optxr T)0|1|0|3( mit dem optimalen Zielfunktionswert 10, =optpz .

Zur Feststellung der Lösbarkeit einer LOA kann die Dualität ebenfalls benutzt werden:

Folgende fünf Aussagen sind äquivalent.

(1) Die Aufgabe NFLOA ist lösbar.

(2) Die Aufgabe DNFLOA ist lösbar.

(3) Die Aufgaben NFLOA und DNFLOA haben beide gleichzeitig zulässige Lösungen,

d.h. die Mengen { }0,|rrrrr ≥== xbxAxB p und { }cyAyB T

drrr ≥= | sind beide nicht-

leer.

(4) Die Aufgabe NFLOA hat einen nichtleeren zulässigen Bereich und ihre Zielfunktion

ist über dem zulässigen Bereich nach oben beschränkt.

(5) Die Aufgabe DNFLOA hat einen nichtleeren zulässigen Bereich und ihre Zielfunktion

ist über dem zulässigen Bereich nach unten beschränkt.

Die optimalen Lösungen der dualen Aufgabe heißen Schattenpreise und stellen einen ideellen Wert

der Faktoren für die zu lösende Aufgabe dar.

Oft ist es also günstiger, die duale LOA zu lösen und aus deren Lösung eine optimale Lösung der pri-

malen LOA zu bestimmen. Das soll am folgenden Beispiel demonstriert werden.

Beispiel:

Primale Aufgabe: Duale Aufgabe:

!2 321 Minxxxz p →++=

8

102

122

321

321

321

≥++≥++≥++

xxx

xxx

xxx

0rr ≥x

!81012 321 Maxyxyyzd →++=

2

12

12

321

321

321

≤++≤++≤++

yyy

yyy

yyy

0rr ≥y

Anwendung des primalen Simplexalgorithmus auf die duale LOA:

12 10 8 0 0 0

BV Abr

1y 2y 3y 1u 2u 3u cr

Θr

1u 0 1 2 1 1 0 0 1 ←1

2u 0 2 1 1 0 1 0 1 1

3u 0 1 1 1 0 0 1 2 2

-12 -10 -8 0 0 0 0

Page 27: 4. Lineare Optimierung - Mathematik-Service Dr. H. Fritsch · 2016. 1. 13. · 4. Lineare Optimierung Die lineare Optimierung (engl.: linear programming) ist ein Teilgebiet der Mathematik,

- 93 -

3y 8 1 2 1 1 0 0 1 1

2u 0 1 -1 0 -1 1 0 0 ←0

3u 0 0 -1 0 -1 0 1 1 ---

-4↑ 6 0 8 0 0 8

3y 8 0 3 1 2 -1 0 1

1y 12 1 -1 0 -1 1 0 0

3u 0 0 -1 0 -1 0 1 1

0 2 0 4 4 0 8

Die eindeutige optimale Lösung dieser dualen Aufgabe lautet Topty )1|0|0(=r

. Eine optimale Lö-

sung der primalen Aufgabe lässt sich in der letzten Zeile ablesen Toptx )0|4|4(=r

. Zu bemerken ist

hier, dass die duale Lösung entartet ist, d.h. zu ihr gehören mehr als eine Basismatrix (deshalb wurde

die optimale Lösung nicht schon in der 2. Tabelle erkannt). Die Anwendung des Simplexalgorithmus

auf die primale Aufgabe hätte die Zwei-Phasen-Methode erfordert.

Mit Hilfe des noch zu beschreibenden dualen Simplexalgorithmus kann festgestellt werden, dass durch

Aufnahme von 2y in die Basis eine weitere Simplextabelle erstellt werden kann, die auch zu dieser

optimalen Lösung gehört:

12 10 8 0 0 0

BV Abr

1y 2y 3y 1u 2u 3u cr

Θr

3y 8 3 0 1 -1 2 0 1

2y 10 -1 1 0 1 -1 0 0

3u 0 -1 0 0 0 -1 1 1

2 0 0 2 6 0 8

Die entsprechende optimale Lösung der primalen Aufgabe lässt sich dann auch in der letzten Zeile

ablesen Toptx )0|6|2(=r

. Damit ist die Menge der optimalen Lösungen der primalen Aufgabe die

beschränkte Kante { }10|)0|6|2()1()0|4|4( ≤≤⋅−+⋅ ααα TT .

Der folgende duale Simplexalgorithmus wird die Aufgabe dadurch lösen, dass er auf die primale Auf-

gabe angewendet wird.

Page 28: 4. Lineare Optimierung - Mathematik-Service Dr. H. Fritsch · 2016. 1. 13. · 4. Lineare Optimierung Die lineare Optimierung (engl.: linear programming) ist ein Teilgebiet der Mathematik,

- 94 -

Es sei TNA xxx )|( *** rrr = mit bAxA

rr 1* −= und 0*rr =Nx eine Basislösung für die NFLOA. Wenn

die Optimalitätsindikatoren TTTA

T cAAc 01rrrr

≥−=∆ − sind, dann heißt sie dual zulässig.

Eine dual zulässige Basislösung ist im Allgemeinem nicht primal zulässig. Eine primal und

dual zulässige Basislösung ist dann optimal.

Die NFLOA ist nicht lösbar, weil ihr zulässiger Bereich leer ist, wenn für eine Basislösung

TNA xxx )|( *** rrr = mit bAxA

rr 1* −= und 0*rr =Nx eine negative Komponente 0*

0<ix existiert,

die zu Zeile i0 der Tabelle gehört, und ( ) 00

1 ≥−jiAA ist für alle j.

Die Umrechnung der Simplextabelle nach Auswahl einer Zeile i0 mit ( ) 00

1 <−ibA

r erfolgt

durch Division derselben durch ein Element ( )00

1jiAA− < 0 und Schaffung einer Einheitsspalte in

der Spalte j0. Dabei wird die Kellerzeile so umgerechnet: ( )

( )00

00

1

1

:ji

jijjj

AA

AA

−⋅∆−∆=∆ für

nj ,,1K= . Damit die entstehenden Optimalitätsindikatoren nicht negativ sind, muss die Spalte j0 mit

( ) ( ) jji

j

ji

j

AAAAδ:

000

0

11=

∆≥

∆−− für alle j mit ( ) jiAA

0

1− < 0

gewählt werden.

Dualer Simplexalgorithmus:

Gegeben: Eine lineare Optimierungsaufgabe in Normalform:

≥=

→=

0

!

rr

rr

rr

x

bxA

Maxxcz T

(NFLOA).

Gesucht: Eine optimale Lösung.

(1) Bestimme eine Basismatrix A mit =∆Tr TTTA cAAc 01

rrr ≥−− und stelle die Simplextabelle

auf.

(2) Wenn alle Komponenten von bAr

1− 0≥ sind, dann ist die vorliegende Basislösung optimal,

stopp. Sonst wähle ein 0i mit ( ) 00

1 <−ibA

r.

Page 29: 4. Lineare Optimierung - Mathematik-Service Dr. H. Fritsch · 2016. 1. 13. · 4. Lineare Optimierung Die lineare Optimierung (engl.: linear programming) ist ein Teilgebiet der Mathematik,

- 95 -

(3) Wenn ( ) 00

1 ≥−jiAA ist für alle j, dann ist die LOA nicht lösbar, da der zulässige Bereich B

leer ist. Sonst bestimme eine Spalte j0 unter Verwendung der Bedingung ( ) ≥∆

−00

0

1ji

j

AA

( ) jji

j

AAδ:

0

1=

∆− für alle j mit ( ) jiAA

0

1− < 0.

(4) Die Basisvariable zur Zeile i0 in der Simplextabelle verlässt die Basis, dafür wird 0j

x in die

Basis aufgenommen. Entsprechend wird die Simplextabelle umgerechnet: In den Spalten BV und

Acr

wird die Basisvariable in der i0-ten Zeile durch 0j

x und deren Zielfunktionskoeffizient durch 0j

c

ersetzt. Der Rest der Tabelle wird mit dem Algorithmus von Gauß-Jordan umgerechnet, wobei in der

Spalte j0 eine Einheitsspalte mit einer 1 in der Zeile i0 geschaffen wird.

Fortsetzung des Beispiels: (Anwendung des dualen Simplexalgorithmus)

-1 -1 -2 0 0 0

BV Acr

1x 2x 3x 1u 2u 3u br

1u 0 -1 -2 -1 1 0 0 -12

2u 0 -2 -1 -1 0 1 0 -10

3u 0 -1 -1 -1 0 0 1 ←− 8

j∆ 1 1 2 0 0 0 0

jδ -1↑ -1 -2 --- --- ---

1u 0 0 -1 0 1 0 -1 ←

− 4

2u 0 0 1 1 0 1 -2 6

1x -1 1 1 1 0 0 -1 8

j∆ 0 0 1 0 0 1 -8

jδ --- 0↑ --- --- --- -1

2x -1 0 1 0 -1 0 1 4

2u 0 0 0 1 1 1 -3 2

1x -1 1 0 1 1 0 -2 4

j∆ 0 0 1 0 0 1 -8

Page 30: 4. Lineare Optimierung - Mathematik-Service Dr. H. Fritsch · 2016. 1. 13. · 4. Lineare Optimierung Die lineare Optimierung (engl.: linear programming) ist ein Teilgebiet der Mathematik,

- 96 -

Auch hier ist jetzt eine optimale Lösung Toptx )0|4|4(=r

berechnet worden. Da der Optimalitätsin-

dikator zur NBV 1u Null ist, kann 1u in die Basis aufgenommen werden, wodurch sich wieder eine

andere optimale Lösung Toptx )0|6|2(=r

ergibt (keine primale Entartung). Zu beachten ist hier,

dass die Nebenbedingungen mit (-1) multipliziert wurden, damit die Schlupfvariablen gleich als Start-

lösung dienen können. Des Weiteren wurde die ursprünglich zu minimierende Zielfunktion mit (-1)

multipliziert, um so ein Maximierungsproblem zu schaffen. Der optimale (minimale) Zielfunktions-

wert des Originalproblems ist dann 8=optz .

4.7. Abschlussbemerkungen

In dieser Lehrveranstaltung konnte aus Zeitgründen nicht auf weitere interessante Aufgaben-

stellungen der linearen Optimierung eingegangen werden. Dazu zählen u.a. einparametrige

lineare Optimierungsprobleme, Fragen der Vektoroptimierung, polynomiale Verfahren zur

Lösung von LOA (Ellipsoidmethode, Innere-Punkte-Methode), spezielle Verfahren der

Transportoptimierung, Optimierung auf Graphen, Modelle der Logistik (Touren-, Standort-

probleme), ganzzahlige LOA und die mathematische Spieltheorie.

Aus der Sicht der Komplexitätstheorie ist die lineare Optimierung ein einfaches Problem, da

es sich z.B. mit einigen Innere-Punkte-Verfahren von Karmarkar oder der Ellipsoidmethode

von Khachijan in polynomialer Zeit lösen lässt. Aus praktischer Sicht ist jedoch oft das

Simplexverfahren schneller, obwohl es theoretisch exponentielle Laufzeit besitzt. Neben dem

originalen Problem löst es immer auch das sogenannte duale Problem mit, was u.a. in mehre-

ren Verfahren zur Lösung ganzzahliger linearer Probleme ausgenutzt wird. Es ist bis heute

nicht bekannt, ob es einen streng polynomialen Algorithmus zur Lösung allgemeiner linearer

Probleme gibt, also einen Algorithmus, dessen Laufzeit nicht von der Größe der auftretenden

Zahlen abhängt.