- Matrixminimumverfahren
-
Das Matrixminimumverfahren (oder aufsteigende Indexmethode, Rangfolgeverfahren, Spaltenminimum-Methode[1]) ist ein Eröffnungsverfahren aus dem Operations Research zur Lösung von Transportproblemen. Der Name leitet sich aus der Betrachtung der Kostenmatrix ab, in der das jeweilige Minimum für die nächste Iteration des Algorithmus herangezogen wird.
Das Matrixminimumverfahren liefert für das zugrunde liegende Transportproblem immer eine zulässige Lösung (auch Basislösung), die jedoch nicht zwangsläufig optimal ist.
Inhaltsverzeichnis
Algorithmus
Aufstellen der Kostenmatrix
Ziel bei der Lösung des Transportproblems ist es, möglichst kostengünstig ein Gut, welches an m Orten (A1, A2,..., Am) in der Menge ai (i =1,...,m) angeboten wird, zu den n Nachfrageorten (B1, B2,..., Bn), an denen die Mengen bi (i=1,...,n) benötigt werden, zu transportieren. Die Summe der angebotenen Einheiten entspricht dabei im klassischen Transportsystem der Summe der nachgefragten Einheiten.
Aus den Informationen des Transportproblems lässt sich eine Matrix C erstellen, welche die Kosten cij zwischen den Orten Ai (i=1,...,m) und Bj (j=1,...,n) in Geldeinheiten (GE) pro transportierter Einheit aufzeigt. Zudem können in dieser so genannten Kostenmatrix die Angebots- bzw. Nachfragemengen eingebunden werden.
|B1 B2 .. Bj .. Bn |Angebot --------------------------------------- A1 |c11 c12 .. c1j.. c1n| a1 A2 |c21 c22 .. c2j.. c2n| a2 . | . . | . | . . | Ai |ci1 ci2 .. cij.. cin| ai . | . . | . | . . | Am |cm1 cm2 .. cmj.. cmn| am --------------------------------------- Nachfrage |b1 b2 .. bj .. bn |Summe
Die 1. Iteration
Die auf die Erstellung der Kostenmatrix folgenden Schritte sind:
- Suchen der geringsten Kosten cuv = min(cij) in der Kostenmatrix (i = 1,...,m und j = 1,...,n).
- Ermittlung der maximal möglichen Transportmenge xuv = min(au, bv) auf diesem Weg.
- Subtraktion der ermittelten Transportmenge im Angebot der u-Zeile und in der Nachfrage der v-Spalte. Der Transport von xuv Einheiten vom Ort Au zum Ort Bv ist nun Teil der Lösung.
- Streichung einer Zeile bzw. Spalte, sobald das Angebot ausgeschöpft bzw. die Nachfrage befriedigt ist.
- Aufstellen der neuen Kostenmatrix C1.
Anmerkung zum 1. Schritt: Sollte min(cij) aus mehr als einem Element bestehen, so ist die Wahl des Matrixelementes aus dieser Menge, über dem die Iteration ausgeführt wird, grundsätzlich frei. Um durch den Algorithmus schneller zu einer Lösung zu gelangen ist es oft sinnvoll, die Iteration dort auszuführten, wo die maximal möglich Transportmenge am größten ist.Die weiteren Iterationen
Die weiteren Iterationen nehmen als Grundlage jeweils die letzte erstellte neue Kostenmatrix. Der h-ten Iteration liegt also die Kostenmatrix Ch-1 zugrunde. Die Iterationsschritte selbst sind die gleichen, wie bei der ersten Iteration. Erreicht die Kostenmatrix die Dimension (0x0), sind also weder Spalten noch Zeilen übrig, so hat der Algorithmus sein Abbruchkriterium erreicht und die Basislösung ist gefunden.
Beispiel
Aufstellung der Kostenmatrix
Anhand des folgenden Beispiels soll das Spaltenminimumverfahren erläutert werden.
Ausgehend von vier Angebotsorten A1 bis A4 mit den Angebotsmengen:
- a1 = 10
- a2 = 8
- a3 = 14
- a4 = 12
und vier Nachfrageorten B1 bis B4 mit den Nachfragemengen:
- b1 = 18
- b2 = 7
- b3 = 9
- b4 = 10
sowie den Informationen zu den jeweiligen Transportkosten wird folgende Kostenmatrix C erstellt:
|B1 B2 B3 B4|Angebot ------------------------------ A1 | 4 6 2 3| 10 A2 | 8 1 7 5| 8 A3 | 3 2 2 4| 14 A4 | 7 8 4 2| 12 ------------------------------ Nachfrage |18 7 9 10| 44
Die 1. Iteration
Aus dieser Kostenmatrix wird nun in mehreren Schritten eine Basislösung gewonnen. In der ersten Iteration geschieht Folgendes:
- Suchen der geringsten Kosten cuv = min(cij) in der Kostenmatrix (i,j = 1,...,4). Hier ist min(cij) = c22 = 1.
- Ermittlung der maximal möglichen Transportmenge xuv = min(au, bv) auf diesem Weg. Im Beispiel also min(a2, b2) = min(8, 7) = 7
- Subtraktion der ermittelten Transportmenge im Angebot der u-Zeile und in der Nachfrage der v-Spalte. Es ergibt sich also neu, dass a2 = 8 - 7 = 1 und b2 = 7 - 7 = 0 ist. Der Transport von 7 Einheiten vom Ort A2 zum Ort B2 ist nun Teil der Lösung.
- Streichung einer Zeile bzw. Spalte, sobald das Angebot ausgeschöpft bzw. die Nachfrage befriedigt ist. Die Nachfrage b2 = 0 am Ort B2 ist nun befriedigt. Die zweite Spalte wird daher gestrichen.
- Aufstellen der neuen Kostenmatrix C1.
Die neue Kostenmatrix C1 sieht folgendermaßen aus:|B1 B3 B4|Angebot --------------------------- A1 | 4 2 3| 10 A2 | 8 7 5| 1 A3 | 3 2 4| 14 A4 | 7 4 2| 12 --------------------------- Nachfrage |18 9 10| 37
Die weiteren Iterationen
Das Beispiel lässt sich nun bis zum Ende fortführen. Bereits im zweiten Schritt ist die Iteration über mehreren Elementen möglich, da min(cij) = c13 = c33 = c44 = 2 ist. An dieser Stelle ist die Wahl des nächsten Elements aus dieser Menge grundsätzlich frei. Im Folgenden wird jedoch c44 verwendet, da hier die maximale Transportmenge am größten ist.
Auf eine einzelne Berechnung der Iterationen wird hier verzichtet. Die im Folgenden dargestellten weiteren Kostenmatrizen und Lösungsbestandteile sollen die Nachvollziehbarkeit des Beispiels gewährleisten.
Die 2. Iteration
Der Transport von 10 Einheiten vom Ort A4 zum Ort B4 wird Teil der Lösung. C2 stellt sich wie folgt dar:
|B1 B3|Angebot ------------------------ A1 | 4 2| 10 A2 | 8 7| 1 A3 | 3 2| 14 A4 | 7 4| 2 ------------------------ Nachfrage |18 9| 27
Die 3. Iteration
Der Transport von 9 Einheiten vom Ort A1 zum Ort B3 wird Teil der Lösung. C3 stellt sich wie folgt dar:
|B1|Angebot --------------------- A1 | 4| 1 A2 | 8| 1 A3 | 3| 14 A4 | 7| 2 --------------------- Nachfrage |18| 18
Die 4. Iteration
Der Transport von 14 Einheiten vom Ort A3 zum Ort B1 wird Teil der Lösung. C4 stellt sich wie folgt dar:
|B1|Angebot --------------------- A1 | 4| 1 A2 | 8| 1 A4 | 7| 2 --------------------- Nachfrage | 4| 4
Die 5. Iteration
Der Transport von 1 Einheit vom Ort A1 zum Ort B1 wird Teil der Lösung. C5 stellt sich wie folgt dar:
|B1|Angebot --------------------- A2 | 8| 1 A4 | 7| 2 --------------------- Nachfrage | 3| 3
Die 6. Iteration
Der Transport von 2 Einheiten vom Ort A4 zum Ort B1 wird Teil der Lösung. C6 stellt sich wie folgt dar:
|B1|Angebot --------------------- A2 | 8| 1 --------------------- Nachfrage | 1| 1
Die 7. Iteration
Der Transport von 1 Einheit vom Ort A2 zum Ort B1 wird Teil der Lösung. C7 hat die Dimension (0x0), womit das Abbruchkriterium des Algorithmus erreicht ist.
Ergebnisauswertung
Mit der Matrixminimummethode ist nun eine Basislösung gefunden, die sich zusammengefasst folgendermaßen darstellt:
Angebotsort Nachfrageort Transportmenge Preis pro Einheit Gesamtpreis A2 B2 7 Einheiten 1 GE 7 GE A4 B4 10 Einheiten 2 GE 20 GE A1 B3 9 Einheiten 2 GE 18 GE A3 B1 14 Einheiten 3 GE 42 GE A1 B1 1 Einheiten 4 GE 4 GE A4 B1 2 Einheiten 7 GE 14 GE A2 B1 1 Einheiten 8 GE 8 GE Gesamt 44 Einheiten 113 GE Ob es sich dabei zugleich um die Optimallösung handelt, müsste im folgenden beispielsweise unter Nutzung der MODI-Methode geprüft werden.
Vorteile
Aufgrund des einfachen Algorithmus, der nur die Transportkosten als Auswahlkriterium heranzieht, ist das Matrixminimumverfahren leicht anwend- und programmierbar. Zudem ist die Komplexität des Algorithmus vergleichsweise gering, was zu kurzen Rechenzeiten bei Computerprogrammen führt.
Nachteile
Das Matrixminimumverfahren liefert zwar eine gültige Basislösung für das Transportproblem, jedoch nicht zwangsläufig die Optimallösung. Das bedeutet, dass eine nachfolgende Lösungsverbesserung notwendig werden kann, was den Aufwand zur Lösung des Problems mitunter erheblich erhöht.
Anwendung
Als Eröffnungsheuristik ist das Matrixminimumverfahren insgesamt meist dann sinnvoll, wenn lediglich eine beliebige zulässige Lösung für ein Transportproblem benötigt wird. Daher findet es häufig Anwendung zur Ermittlung einer Ausgangslösung, bevor mit die Lösung beispielsweise mittels MODI-Methode oder Stepping-Stone-Methode (Sprungbrettmethode) optimiert wird.
Quellen
- ↑ W. Domschke. Transport: Grundlagen, lineare Transport- und Umladeprobleme 2007, S. 106-108.
Wikimedia Foundation.