Lineare Programmierung

Basisl¨ osungen

Basis Definition 3.38 Gegeben sei ein LP in der Normalform mit m als Rang der Matrix A 2 Rm⇥n .

x 2 Rn mit Ax = b heißt Basisl¨ osung gdw. n m Komponenten xi gleich Null und die zu den restlichen Variablen geh¨orenden Spaltenvektoren aj linear unabh¨angig sind. Eine Basisl¨osung, die zul¨assig ist (x

0), heißt zul¨assige Basisl¨osung.

Die m linear unabh¨angigen Spaltenvektoren aj einer (zul¨assigen) Basisl¨osung heißen Basisvektoren, die zugeh¨ origen Variablen xj Basisvariablen (BV). Alle u ¨brigen Spaltenvektoren heißen Nichtbasisvektoren, die zugeh¨ origen Variablen Nichtbasisvariablen (NBV). Die Menge aller Basisvariablen xj einer Basisl¨ osung bezeichnet man als Basis. Peter Becker (H-BRS)

Operations Research I

Sommersemester 2014

161 / 298

Lineare Programmierung

Basisl¨ osungen

Charakterisierung zul¨assiger Basisl¨osungen Satz 3.39 x ist genau dann eine zul¨assige Basisl¨osung eines LP, wenn x ist Ecke von XLP ist. Bemerkung: Dieser Satz ist der Schl¨ ussel zur algebraischen L¨osung von linearen Programmen.

Beweis. “)”: Es sei x eine zul¨assige Basisl¨ osung von Ax = b. Dann gibt es m linear unabh¨angige Spaltenvektoren ai1 , . . . , aim von A mit xi1 ai1 + · · · + xim aim = b Annahme: x ist keine Ecke von X . Dann existieren y, z 2 X mit y 6= z und ein 0 < < 1, so dass gilt x = y + (1 Peter Becker (H-BRS)

Operations Research I

)z Sommersemester 2014

162 / 298

Lineare Programmierung

Basisl¨ osungen

Fortsetzung Beweis. Aus y, z 0, > 0, (1 ) > 0 und xj = 0 f¨ ur j 2 / {i1 , . . . , im } folgt yj , zj = 0 f¨ ur j 2 / {i1 , . . . , im }. Andererseits gilt y, z 2 X , also Ay = b und Az = b und damit sowohl yi1 ai1 + · · · + yim aim = b als auch zi1 ai1 + · · · + zim aim = b Es folgt (yi1

zi1 )ai1 + · · · + (yim

zim )aim = 0

Da die aik linear unabh¨angig sind, folgt yik = zik f¨ ur k = 1, . . . , m und damit y = z. Widerspruch!

Peter Becker (H-BRS)

Operations Research I

Sommersemester 2014

163 / 298

Lineare Programmierung

Basisl¨ osungen

Fortsetzung Beweis. “(”: Es sei x Ecke von X . F¨ ur den trivialen Fall x = 0 folgt b = 0 und wir k¨onnen m linear unabh¨angige Spaltenvektoren von A ausw¨ahlen. x ist damit eine zul¨assige Basisl¨ osung. Es sei also x 6= 0 mit k X xi j ai j = b j=1

und xij > 0. Annahme: Die Vektoren ai1 , . . . , aik sind linear abh¨angig. Dann g¨abe es eine nicht triviale Linearkombination y1 ai1 + · · · + yk aik = 0 F¨ ur hinreichend kleines ✏ gilt dann x + ✏y Peter Becker (H-BRS)

0 und x Operations Research I

✏y

0 Sommersemester 2014

164 / 298

Lineare Programmierung

Basisl¨ osungen

Fortsetzung Beweis. Damit sind die Vektoren x ± ✏y zul¨assig und es folgt 1 1 x = (x + ✏y) + (x 2 2

✏y)

Dies bedeutet wiederum, dass x keine Ecke ist. Widerspruch!

Peter Becker (H-BRS)

Operations Research I

Sommersemester 2014

165 / 298

Lineare Programmierung

Basisl¨ osungen

Ecken-Algorithmus Algorithmus 3.40 Gegeben sei ein LP in Normalform mit c 2 Rn , A 2 Rm⇥n , x 2 Rn und b 2 Rm . n F¨ ur N := m seien B1 , B2 , . . . , BN die m-elementigen Teilmengen der Menge {1, . . . , n}.

F¨ ur eine Menge Bk = {j1 , . . . , jm } bezeiche ABk = (aj1 , . . . , ajm ) 2 Rm⇥m die Matrix, die aus den Spaltenvektoren j1 bis jm von A besteht. Der Vektor xBk ist der entsprechende Variablenvektor dessen Komponenten einen Index aus Bk haben.

Peter Becker (H-BRS)

Operations Research I

Sommersemester 2014

166 / 298

Lineare Programmierung

Basisl¨ osungen

Fortsetzung Algorithmus 3.40. 1

k := 1, z ⇤ :=

2

Erzeuge Bk , ABk und xBk .

3

Falls r (ABk ) < m dann weiter mit 6.

4

L¨ose das LGS ABk xBk = b. Es sei x die Basisl¨ osung zur L¨osung dieses LGS. Falls x nicht zul¨assig ist, weiter mit 6.

5 6

1

Falls cT x > z ⇤ , setze z ⇤ := cT x und x⇤ := x. k := k + 1. Falls k  N gehe zu 2, sonst STOP!

Peter Becker (H-BRS)

Operations Research I

Sommersemester 2014

167 / 298

Lineare Programmierung

Basisl¨ osungen

Bemerkungen zum Ecken-Algorithmus

Wenn ein LP eine L¨osung hat, dann liefert der Ecken-Algorithmus eine L¨osung x⇤ mit Zielfunktionswert z ⇤ . Die Bestimmung des Rang von ABk in Schritt 3 und die L¨osung des LGS in Schritt 4 kann mit dem Gaußschen Algorithmus oder der Cramer-Regel erfolgen. Der Algorithmus hat keine praktische Bedeutung und ist nur f¨ ur kleine n und m durchf¨ uhrbar.

Peter Becker (H-BRS)

Operations Research I

Sommersemester 2014

168 / 298

Lineare Programmierung

Basisl¨ osungen

Beispiel zum Eckenalgorithmus Beispiel 3.41 Wir greifen das Beispiel mit dem Eisverk¨aufer (Beispiel 3.2 bzw. 3.4) wieder auf. Maximiere z = F (x) = 30x1 + 25x2 unter den Nebenbedingungen 0 1 x 1 0 1 0 1 B x2 C 1 1 1 0 0 10 B C @ 5 2 0 1 0 A · B x3 C = @ 30 A x1 , . . . , x5 0 B C @ x4 A 0 1 0 0 1 9 x5

Man beachte: Die redundante Nebenbedingung x1  6 wurde weggelassen.

Peter Becker (H-BRS)

Operations Research I

Sommersemester 2014

169 / 298

Lineare Programmierung

Basisl¨ osungen

Fortsetzung Beispiel 3.41. Man erh¨alt

5 3

= 10 verschiedene Spaltenmengen f¨ ur die Matrix A: 0

1 0 1 0 1 1 1 1 x1 10 B1 = {1, 2, 3} : @ 5 2 0 A · @ x2 A = @ 30 A ergibt x3 < 0 0 1 0 x3 9 0 1 1 0 1 0 1 0 1 B 9 C 1 1 0 x1 10 B C C B2 = {1, 2, 4} : @ 5 2 1 A · @ x2 A = @ 30 A Ecke x = B B 0 C @ 0 1 0 x4 9 7 A 0 mit F (x) = 255 0 10/3 0 1 0 1 0 1 B 1 1 0 x1 10 B 20/3 B3 = {1, 2, 5} : @ 5 2 0 A · @ x2 A = @ 30 A Ecke x = B B 0 @ 0 0 1 1 x5 9 7/3 mit F (x) = 266 23 Peter Becker (H-BRS)

Operations Research I

Sommersemester 2014

1

C C C C A

170 / 298

Lineare Programmierung

Basisl¨ osungen

Fortsetzung Beispiel 3.41. 0

1 0 1 0 1 1 1 0 B4 = {1, 3, 4} : @ 5 A , @ 0 A , @ 1 A sind linear abh¨angig. 0 0 0 0

1 0

1

0

1

0

B 1 1 0 x1 10 B @ A @ A @ A 5 0 0 x3 30 B5 = {1, 3, 5} : · = Ecke x = B B @ 0 0 1 x5 9 mit F (x) = 180

6 0 4 0 9

1 C C C C A

0

1 0 1 0 1 1 0 0 x1 10 B6 = {1, 4, 5} : @ 5 1 0 A · @ x4 A = @ 30 A liefert x4 < 0 0 0 1 x5 9 Peter Becker (H-BRS)

Operations Research I

Sommersemester 2014

171 / 298

Lineare Programmierung

Basisl¨ osungen

Fortsetzung Beispiel 3.41. 0

1 0

1

0

1

0

B 1 1 0 x2 10 B B7 = {2, 3, 4} : @ 2 0 1 A · @ x3 A = @ 30 A Ecke x = B B @ 1 0 0 x4 9 mit F (x) = 225

0 9 1 12 0

1 C C C C A

0

1 0 1 0 1 1 1 0 x2 10 B8 = {2, 3, 5} : @ 2 0 0 A · @ x3 A = @ 30 A liefert x3 < 0 1 0 1 x5 9 0

1 0 1 0 1 1 0 0 x2 10 B9 = {2, 4, 5} : @ 2 1 0 A · @ x4 A = @ 30 A liefert x5 < 0 1 0 1 x5 9 Peter Becker (H-BRS)

Operations Research I

Sommersemester 2014

172 / 298

Lineare Programmierung

Basisl¨ osungen

Fortsetzung Beispiel 3.41.

B10

0

1 0

1

0

1

0

B 1 0 0 x3 10 B @ A @ A @ A 0 1 0 x4 30 = {3, 4, 5} : · = Ecke x = B B @ 0 0 1 x5 9 mit F (x) = 0

0

B B F¨ ur die Ecke B B @

10/3 20/3 0 0 7/3

0 0 10 30 9

1 C C C C A

1

C C C wird der maximale Zielfunktionswert C A

z = F (x) = 266 23 angenommen. Peter Becker (H-BRS)

Operations Research I

Sommersemester 2014

173 / 298

Lineare Programmierung

Basisl¨ osungen

Alternative Vorgehensweise beim Eckenalgorithmus Statt u ¨ber alle m¨oglichen Mengen von Basisvariablen (BV-Mengen) zu iterieren, kann man prinzipiell auch u oglichen Mengen von ¨ber alle m¨ Nichtbasisvariablen (NBV-Mengen) iterieren. Dies funktioniert wie folgt: Gegeben sei das LP in Normalform mit Koeffizientenmatrix A 2 Rm⇥n und es gelte r (A) = m.

Bestimme mit dem Gaußschen Algorithmus eine L¨osungsmenge f¨ ur das Gleichungssystem Ax = b. Wegen r (A) = m hat die L¨ osungsmenge k := n ↵1 , . . . , ↵k und l¨asst sich darstellen als

m freie Parameter

x = v + ↵ 1 w1 + · · · + ↵k wk Peter Becker (H-BRS)

Operations Research I

Sommersemester 2014

174 / 298

Lineare Programmierung

Basisl¨ osungen

Hierbei ist v eine L¨osung des inhomogenen LGS Ax = b und w1 , . . . , wk sind linear unabh¨angige L¨ osungen des homogenen LGS Ax = 0. F¨ ur alle k-elementigen Teilmengen {i1 , . . . , ik } stelle man aus den zugeh¨ origen k Zeilen von v + ↵ 1 w1 + · · · + ↵ k wk = 0 ein LGS auf und bestimme (wenn m¨ oglich) ↵1 , . . . , ↵k . Wenn dieses LGS l¨osbar ist, bestimme man mit der L¨osung ↵1 , . . . , ↵k den Vektor x = v + ↵ 1 w1 + · · · + ↵k wk Gilt xi

0 f¨ ur i = 1, . . . , n, dann ist x eine Ecke.

Peter Becker (H-BRS)

Operations Research I

Sommersemester 2014

175 / 298

Lineare Programmierung

Basisl¨ osungen

Insgesamt wird der Aufwand dadurch nicht geringer, denn die Anzahl der zu l¨osenden LGS ist mit dem Eckenalgorithmus in urspr¨ unglicher Form identisch: ✓ ◆ ✓ ◆ n n #BV-Mengen = = = #NBV-Mengen m n m F¨ ur m > n/2 werden aber die zu l¨ osenden LGS kleiner.

Peter Becker (H-BRS)

Operations Research I

Sommersemester 2014

176 / 298

Lineare Programmierung

Basisl¨ osungen

Beispiel zur alternativen Vorgehensweise Beispiel 3.42 Wir bleiben beim Eisverk¨aufer ohne die redundante Nebenbedingung (vgl. Beispiel 3.41). Wir bestimmen zun¨achst mit dem Gaußalgorithmus die L¨osungsmenge von Ax = b. 0 1 0 1 1 1 1 0 0 10 1 1 1 0 0 10 @ 5 2 0 1 0 30 A ) @ 0 3 5 1 0 20 A 0 1 0 0 1 9 0 1 0 0 1 9 0

1 @ 0 ) 0

1 3 0

1 5 5 3

0 0 1 0 1 3 1

freie Variablen: x4 = s, x5 = t

Peter Becker (H-BRS)

Operations Research I

1 10 20 A 7 3

Sommersemester 2014

177 / 298

Lineare Programmierung

Basisl¨ osungen

Fortsetzung Beispiel. Damit ergibt sich 7 1 3 + s+ t 5 5 5 = 9 t 12 1 2 = s+ t 5 5 5

x3 = x2 x1 und insgesamt 0

B B x=B B @ Peter Becker (H-BRS)

12 5

1

0

B 9 C C B 7 C B 5 C+sB @ 0 A 0

1 5

1

0

B 0 C C B 1 C B 5 C+tB @ 1 A 0

Operations Research I

2 5

1

1 C C 3 C 5 C 0 A 1 Sommersemester 2014

178 / 298

Lineare Programmierung

Basisl¨ osungen

Fortsetzung Beispiel. Wir haben jetzt insgesamt 52 = 10 M¨ oglichkeiten, zwei Variablen als Nichtbasisvariable auszuw¨ahlen. F¨ ur jede dieser M¨oglichkeiten m¨ ussen wir (falls m¨ oglich) s und t so bestimmen, dass die Komponenten in x zu 0 werden. 0 12 1 s

{4, 5} :

{3, 5} :

1 5s

Peter Becker (H-BRS)

B B x=B B @

= 0 t = 0

+

3 5t

= t =

7 5

0

5

9 C C 7 C nicht zul¨assig 5 C A 0 0 0 1 1 B 9 C B C C s = 7, x = B B 0 C Ecke F (x) = 255 @ 7 A 0

Operations Research I

Sommersemester 2014

179 / 298

Lineare Programmierung

Basisl¨ osungen

Fortsetzung Beispiel.

{3, 4} :

1 5s

s

{2, 5} :

+

3 5t

t = t =

= =

7 5

0

t=

7 3, x

0

10 3 20 3

1

B C B C 2 C =B B 0 C Ecke F (x) = 266 3 @ 0 A 7 3

9 0

unl¨osbares LGS

und so weiter ..

Peter Becker (H-BRS)

Operations Research I

Sommersemester 2014

180 / 298

Lineare Programmierung

Basisl¨ osungen

Entartete Ecken Wenn m der Rang von A 2 Rm⇥n ist, sind im Normalfall genau m Koordinaten einer Ecke x 2 Rn positiv, die u ¨brigen Null.

Definition 3.43 Gegeben sei ein LP in Normalform mit Matrix A 2 Rm⇥n und es gelte r (A) = m. Eine Ecke x 2 XLP heißt entartet (degeneriert) gdw. weniger als m Koordinaten von x positiv sind.

Bemerkung: Bei entarteten Ecken ist das System der linear unabh¨angigen Spalten von A nicht eindeutig bestimmt.

Peter Becker (H-BRS)

Operations Research I

Sommersemester 2014

181 / 298

Lineare Programmierung

Basisl¨ osungen

Beispiel zu entarteten Ecken Beispiel 3.44 Wir untersuchen das LP vom Einsverk¨aufer (Beispiele 3.2, 3.12 und 3.41) diesmal inklusive der redundanten Nebenbedingung x1  6: 0 1 x 1 0 1 0 1 C 1 1 1 0 0 0 B 10 B x2 C B 5 2 0 1 0 0 C B x3 C B 30 C CB C B C A=B @ 1 0 0 0 1 0 A B x4 C = @ 6 A B C 0 1 0 0 0 1 @ x5 A 9 x6

Peter Becker (H-BRS)

Operations Research I

Sommersemester 2014

182 / 298

Lineare Programmierung

Basisl¨ osungen

Fortsetzung Beispiel. Wir betrachten die Basis mit der geh¨ ort das LGS 0 1 1 0 0 B 5 0 1 0 B @ 1 0 0 0 0 0 0 1 Es ergibt sich

Spaltenindexmenge {1, 3, 4, 6}. Hierzu 10

1 0 x1 10 C B x3 C B 30 CB C B A @ x4 A = @ 6 x6 9

x6 = 9, x1 = 6, 1 6 B 0 C B C B 4 C C also ist die Ecke B B 0 C entartet. B C @ 0 A 0

x4 = 0,

1 C C A

x3 = 4

9

Peter Becker (H-BRS)

Operations Research I

Sommersemester 2014

183 / 298

Lineare Programmierung

Basisl¨ osungen

Fortsetzung Beispiel. Die gleiche Ecke ergibt dem zugeh¨origen LGS: 0 1 B 5 B @ 1 0

Peter Becker (H-BRS)

sich f¨ ur die Spaltenindexmenge {1, 3, 5, 6} und 1 0 0 0

0 0 1 0

10 0 x1 C B 0 C B x3 0 A @ x5 1 x6

1

1 10 C B 30 C C=B C A @ 6 A 9

Operations Research I

0

Sommersemester 2014

184 / 298

Lineare Programmierung

Basisl¨ osungen

Zusammenfassung

LP und Normalform Konvexit¨at, Ecken optimale L¨osungen treten in Ecken auf Ecke , zul¨assige Basisl¨ osung

Berechenbar aber nicht effizient: Ermittlung der Ecken bzw. der zul¨assigen Basisl¨osungen durch eindeutig l¨ osbare LGS

Peter Becker (H-BRS)

Operations Research I

Sommersemester 2014

185 / 298