• Keine Ergebnisse gefunden

L¨osung allgemeiner linearer Programme

N/A
N/A
Protected

Academic year: 2021

Aktie "L¨osung allgemeiner linearer Programme"

Copied!
22
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

L¨osung allgemeiner linearer Programme

Bisher: F¨ur Anwendung des Simplexalgorithmus muss eine primal oder eine dual zul¨assige Basisl¨osung vorliegen.

F¨ur allgemeine lineare Programme k¨onnen wir dies direkt nicht gew¨ahrleisten.

Im Folgenden: Unter Ausnutzung dualer Techniken leiten wir eine Methode her, mit der zu jedem LP, dass eine optimale L¨osung hat, eine solche berechnet werden kann.

(2)

Allgemeine Form

Wir gehen von einem LP mit n Variablen und mNebenbedingungen aus.

Die Zielfunktion habe die Gestalt

min oder max z = Xn

j=1

cjxj

unter den Nebenbedingungen Xn

j=1

aijxj

8<

: =

 9=

;bi f¨uri = 1, . . . ,m und Nichtnegativit¨atsbedingungen

xj 0 f¨ur einige oder alle j = 1, . . . ,n.

(3)

Anforderungen f¨ur primalen Simplex

zumaximierendeZielfunktion nur Gleichheitsbedingungen

Nichtnegativit¨atsbedingungen f¨uralle Variablen einnichtnegativer Vektor auf der rechten Seite

ein primal zul¨assiges Ausgangstableau in kanonischer Form, d.h. mit m Einheitsvektoren, die eine Basis bilden

(4)

Zielfunktion, rechte Seite, Vorzeichenbeschr¨ankung

(1) Falls eine zu minimierende Zielfunktion vorliegt, multipliziere diese mit 1 und maximiere z.

(2) Multipliziere alle Gleichungen und Ungleichungen der Nebenbedingungen mitbi <0 mit dem Faktor 1.

(3) Ersetze jede nicht vorzeichenbeschr¨ankte Variable xj durch zwei vorzeichenbeschr¨ankte Variablenxj0 0 und xj00 0 mit xj =xj0 xj00.

(5)

Damit hat das lineare Programm die Gestalt:

maxz = Xn

j=1

cjxj

unter den Nebenbedingungen Xn

j=1

aijxj  bi f¨uri = 1, . . . ,m1

Xn j=1

aijxj bi f¨uri =m1+ 1, . . . ,m1+m2

Xn j=1

aijxj = bi f¨uri =m1+m2+ 1, . . . ,m1+m2+m3

und Vorzeichenbedingungen

xj 0 f¨urj = 1, . . . ,n

(6)

Bemerkungen:

n ist die Anzahl der Variablen nach Schritt (1) bis (3).

m1,m2,m3 bezeichnet dabei die Anzahl der -, - und

=-Nebenbedingungen.

m:=m1+m2+m3

(7)

Erzeuge Normalform

(4) Wandle jede-Nebenbedingung durch eine Schlupfvariable um in eine Gleichung der Form

Xn j=1

aijxj +xn+i =bi

(5) Wandle jede -Nebenbedingung durch eine Schlupfvariable um in eine Gleichung der Form

Xn j=1

aijxj xn+i =bi

Alle Schlupfvariablen xn+i sind vorzeichenbeschr¨ankt, also xn+i 0. Jetzt haben wir Normalform, aber keine kanonische Normalform und damit noch kein primal zul¨assiges Tableau.

(8)

K¨unstliche Variablen

(6) Addiere zu jeder urspr¨unglichen -Nebenbedingung eine k¨unstliche Variableyk 0, so dass die Nebenbedingung lautet:

Xn j=1

aijxj xn+i +yk =bi

(7) Addiere zu jeder urspr¨unglichen =-Nebenbedingung eine k¨unstliche Variableyk 0, so dass die Nebenbedingung lautet:

Xn j=1

aijxj+yk =bi

(9)

Jetzt haben wir ein Simplextableau in kanonischer Form mit der Basisl¨osung

xm+i =bi

f¨ur die xm+i von urspr¨unglichen-Nebenbedingungen und yk =bk

f¨ur die urspr¨unglichen - und =-Nebenbedingungen.

Problem: Nur wenn f¨ur alle k¨unstlichen Variablenyk = 0 gilt, ist dieses LP ¨aquivalent zum urspr¨unglichen LP.

(10)

Zweite Zielfunktion

(8) Bilde aus den k¨unstlichen Variablen die zus¨atzliche Zielfunktion minY =

mX2+m3

k=1

yk

Entsteht bei der Minimierung Y = 0, dann wird die Erweiterung nivelliert und wir haben eine zul¨assige Basisl¨osung.

(9) Multipliziere die zus¨atzliche Zielfunktion mit dem Faktor 1, um eine Maximierung zu erhalten.

maxy = Y =

mX2+m3

k=1

yk

(11)

(10) L¨ose alle Gleichungen mit k¨unstlichen Variablen nach diesen auf

yk =bi

0

@ Xn j=1

aijxj xm+i

1 A

bzw.

yk =bi

Xn j=1

aijxj

und ersetze sie in der zweiten Zielfunktion durch die gewonnenen Ausdr¨ucke.

Dieser Schritt dient dazu, dass die Koeffizienten deryk in der Zielfunktionszeile zu 0 werden zu lassen, damit ein primal zul¨assiges Tableau vorliegt.

Insgesamt haben wir jetzt ein primal zul¨assiges Simplextableau vorliegen.

(12)

Zweiphasen-Simplexalgorithmus

Algorithmus 5.15

Bearbeite das durch die Schritte (1) bis (10) aufgestellte Tableau in zwei Phasen:

1 Er¨o↵nungsphase

Maximiere die Zielfunktiony = Y mit Hilfe des primalen Simplexalgorithmus. Transformiere dabei die urspr¨ungliche Zielfunktion z stets mit.

I Gilt f¨ur das Optimumy <0, dann existiert keine zul¨assige L¨osung f¨ur das urspr¨ungliche LP.

I Gilty = 0, dann streiche die Zeile mit der zweiten Zielfunktion und die k¨unstlichen Variablen und fahre mit Phase 2 fort.

2 Optimierungsphase

Maximiere die erste Zielfunktion mit dem primalen Simplex-Algorithmus.

(13)

Bemerkung

In der Er¨o↵nungsphase n¨ahert man sich schrittweise einer Ecke der Menge X der zul¨assigen L¨osungen.

In der Optimierungsphase bestimmt man ausgehend von der

gefundenen Ecke aus der Er¨o↵nungsphase eine optimale L¨osung des LP.

(14)

Beispiel: Zweiphasen-Simplexalgorithmus

Beispiel 5.16

Wir betrachten das folgende LP:

minZ = x1 2x2

unter den Nebenbedingungen

x1 + x2  8 (I)

2x1 + x2 2 (II)

x1 x2 = 3 (III)

x1,x2 0 (1)

maxz = Z =x1+ 2x2

(15)

Fortsetzung Beispiel.

(2) Wir multiplizieren (III) mit 1 und erhalten die neue Gleichung (III):

x1+x2 = 3 (3) entf¨allt, alle Variablen sind vorzeichenbeschr¨ankt (4,5) Wir f¨uhren f¨ur (I) und (II) Schlupfvariablen ein:

x1 + x2 + x3 = 8 (I) 2x1 + x2 x4 = 2 (II) (6,7) K¨unstliche Variablen f¨ur (II) und (III):

2x1 + x2 x4 + y1 = 2 (II)

x1 + x2 + y2 = 3 (III)

(16)

Fortsetzung Beispiel.

(8) Zus¨atzliche Zielfunktion:

minY =y1+y2

(9) Optimierungsrichtung der zus¨atzlichen Zielfunktion herumdrehen:

maxy = Y = y1 y2

(10) Wir l¨osen (II) und (III) nach y1 bzw. y2 auf

y1 = 2 2x1 x2 + x4

y2 = 3 + x1 x2

und setzen die Terme der rechten Seiten in die Zielfunktion ein.

Hierdurch entsteht

y = 5 +x1+ 2x2 x4

(17)

Fortsetzung Beispiel.

Damit k¨onnen wir das 1. Tableau f¨ur die Er¨o↵nungsphase aufstellen:

BV x1 x2 x3 x4 y1 y2 b

x3 1 1 1 0 0 0 8

y1 2 1 0 1 1 0 2

y2 1 1 0 0 0 1 3

z 1 2 0 0 0 0 0

y 1 2 0 1 0 0 5

Wir maximieren y und w¨ahlen dazu x2 als Pivotspalte. Damit isty1 die Pivotzeile.

(18)

Fortsetzung Beispiel.

2. Tableau Er¨o↵nungsphase:

BV x1 x2 x3 x4 y1 y2 b

x3 1 0 1 1 1 0 6

x2 2 1 0 1 1 0 2

y2 3 0 0 1 1 1 1

z 3 0 0 2 2 0 4

y 3 0 0 1 2 0 1

Man beachte, dass auch die Zeile f¨ur die urspr¨ungliche Zielfunktion angepasst wurde.

Jetzt bleibt nur x1 als Pivotspalte, dann ist y2 die Pivotzeile.

(19)

Fortsetzung Beispiel.

3. Tableau Er¨o↵nungsphase:

BV x1 x2 x3 x4 y1 y2 b

x3 2 0 1 0 0 1 5

x2 1 1 0 0 0 1 3

x4 3 0 0 1 1 1 1

z 3 0 0 0 0 2 6

y 0 0 0 0 1 1 0

Damit ist die Er¨o↵nungsphase abgeschlossen und wir haben mit

x= 0 BB

@ 0 3 5 1

1 CC A eine Startecke f¨ur die Optimierungsphase.

(20)

Fortsetzung Beispiel.

Wir streichen die k¨unstlichen Variablen und die zus¨atzliche Zielfunktionszeile und erhalten damit das 1. Tableau der Optimierungsphase:

BV x1 x2 x3 x4 b x3 2 0 1 0 5 x2 1 1 0 0 3 x4 3 0 0 1 1

z 3 0 0 0 6

Es liegt noch keine optimale L¨osung vor.

Pivotspalte wird x1, Pivotzeile x3.

(21)

Fortsetzung Beispiel.

2. Tableau Optimierungsphase:

BV x1 x2 x3 x4 b

x1 1 0 1/2 0 5/2

x2 0 1 1/2 0 11/2 x4 0 0 3/2 1 17/2

z 0 0 3/2 0 27/2

Damit terminiert der Zweiphasen-Simplexalgorithmus.

x=

5 2 11

2

!

ist eine optimale L¨osung des origin¨aren LP,

mit ZielfunktionswertZ = 272.

(22)

Zusammenfassung

Zu jedem primalen LP gibt es ein korrespondierendes duales LP.

Die Betrachtung sowohl des primalen als auch des dualen LP

erm¨oglicht tiefergehende Einblicke in das zu Grunde liegende Problem.

Zueinander duale LPs sind eng miteinander verbunden: gegenseitige Schranken, Gleichheit der Zielfunktionen in den Optima,

Entsprechungen bei Struktur-, Schlupf-, Basis-, und Nichtbasisvariablen.

Zwei-Phasen-Simplexalgorithmus zur allgemeinen L¨osung von linearen Programmen.

Referenzen

ÄHNLICHE DOKUMENTE

Es sei φ eine Σ-Formel mit 6` φ, X eine abz¨ ahlbare Menge von Konstantensymbolen und Γ φ definiert wie in

eines Verzeichnisses (2 Punkte) Deklarieren und definieren Sie eine Funk- tion umbenennen, die eine struktur (Datei oder Verzeichnis) umbenennt, wenn das Zugriffsrecht (schreibend)

Denn der gute Arzt bildet nur dann ein Gegenbeispiel gegen Nikias’ Defintion, wenn er unter das Definiens f¨ allt (weiß, was man f¨ urchten muß), nicht aber unter das Definiendum

Diesen Einwand kann man aber wie folgt zur¨ uckweisen: Wenn die Philosophen nicht nur wegen der Erkenntnis philosophieren, sondern auch wegen des Nutzens N, dann kann man nicht

Die Amplitude ist rechts und links des Potenzials im allgemeinen unterschiedlich, kann aber in Spezialf¨ allen auch gleich sein. Der hier gezeigte Fall entspricht einer von

Beachten Sie, dass Sie den Index k im Programm gar nicht ben¨ otigen!. Testen Sie die Funktion mit ε = 10 −12 an der symmetrischen

Welche weitere Bedingung an die lokalen L ¨osungen (aus Peano) ist f ¨ur die Existenz einer globalen L ¨osung hinreichend?. Welche weitere Bedingung f ist f ¨ur die Existenz

Im Unterschied zum ersten Teil bewegt sich S jetzt auf einer Kurve die stets senkrecht zum Tangentenvektor der ersten Kurve steht... Da sich Verfolger und Verfolgte quasi aufeinander