Optimierungsmodell
Viele quantitative Entscheidungsaufgaben in der Ökonomie und Industrie lassen sich auf Optimierungsprobleme zurückführen. In der Praxis wird vor allem die lineare Optimierung eingesetzt, bei der die Zielfunktion und die Nebenbedingungen linear von den Entscheidungsvariablen abhängen. Ich werde die lineare Optimierung (auch lineare Programmierung genannt) an einem Beispiel aus der Bergbauindustrie illustrieren.Eine Bergbaugesellschaft baut Rohstoffe durch Abgraben im Tagebau ab (zum Beispiel im Steinbruch), mischt sie zur Erreichung der erforderlichen Qualität und verkauft das Gemisch auf dem Markt. Die Firma will natürlich den maximalen Profit erreichen unter Berücksichtigung der Lagerstätte, der Gemischqualität, der Produktionskosten und Kapazitäten. Das Problem wird mathematisch folgendermassen modelliert:
-
Die Lagerstätte wird in mehr oder weniger homogene Blöcke unterteilt:
Block Modell des Steinbruchs
-
Die Konzentration der Mineralien, das Gewicht, die Produktionskosten und andere
Eigenschaften der Blöcke werden gemessen oder geschätzt:
Block Tonnage Profit c/ton R % S % .. B1 20 6 15 .. .. B2 10 2 35 .. .. B3 .. .. .. .. .. Steinbruchdaten
-
Das Ziel ist die Maximierung des Profits:
g = c1x1 + c2x2 + ...
indem man
x1 Tonnen vom Block B1,
abbaut und dabei die untenstehenden Randbedingungen erfüllt.
x2 Tonnen vom Block B2,
... -
Die Konzentration der chemischen Stoffe in der Mischung muss zwischen
vorgegebenen Grenzwerten liegen:
Für die Chemikalie R bedeutet das:
Chemikalie Min % Max % R 20 25 S .. .. .. .. .. Chemische Anforderungen an das Gemisch
Dies wird als zwei Ungleichungen umformuliert:Rmin ≤ r1x1 + r2x2 + ... ≤ Rmax x1 + x2 + ... (r1 - Rmin) x1 + (r2 - Rmin) x2 + ... ≥ 0
Entsprechende Ungleichungen werden für die anderen Chemikalien aufgestellt.
(r1 - Rmax) x1 + (r2 - Rmax) x2 + ... ≤ 0
-
Die genommenen Tonnagen müssen selbstverständlich die folgenden
Bedingungen erfüllen:
x1 ≥ 0
x2 ≥ 0
...
x1 ≤ B1
x2 ≤ B2
... -
Die Firma hat nur eine beschränkte Produktionskapazität Tmax:
x1 + x2 + ... ≤ Tmax
Zweidimensionaler Fall
Wir werden nun das vereinfachte Problem mit nur 2 Blöcken lösen. Wir nehmen an, dass die maximale Produktionskapazität Tmax 25 Tonnen beträgt. Die Aufgabe heisst jetzt: finde die Variablen x1, x2, sodass der Gewinng = 6x1 + 2x2 = max !
maximal wird und die Randbedingungen
-5x1 + 15x2 ≥ 0
-10x1 + 10x2 ≤ 0
x1 ≥ 0
x2 ≥ 0
x1 ≤ 20
x2 ≤ 10
x1 + x2 ≤ 25
Graphische Lösung
Im Fall von 2 Variablen lässt sich das Problem graphisch in der (x1, x2)-Ebene lösen.
Graphische Lösung (Bilderzeugung)
6x1 + 2x2 = m
die durch den Wert von m parametrisiert werden. Wenn eine solche Gerade parallel nach rechts verschoben wird, so wird der Zielwert m erhöht und er erreicht das Maximum 125 an der äussersten rechten Ecke des zulässigen Gebiets. Somit ist die optimale Lösung
x1 = 18.75
x2 = 6.25
Profit = 125
Lösung mit Microsoft Excel
Microsoft Excel bietet die Zusatzkomponente "Solver" zur numerischen Lösung von Optimierungsproblemen an. Die Verwendung von Excel Solver zur Lösung unseres zweidimensionalen Beispiel ist einfach. Der Einsatz von Solver zur Lösung von praktischen Problemen mit sehr vielen Variablen wird leider unhandlich und fehleranfällig.Simplex Algorithmus
Die Methode der Wahl zur Lösung von praktischen Problemen mit sehr vielen Variablen ist der Simplex Algorithmus (PDF). Dieser Algorithmus wurde bereits im Jahr 1947 von G. B. Dantzig entwickelt. Meine Implementierung des Simplex Algorithmus in C++ kann Tausende von Variablen und Randbedingungen behandeln, ist numerisch stabil und berechnet die Lösung sehr effizient.

