Ein Algorithmus zur Ermittlung einer suboptimalen Lösung für das Layoutproblem durch Berechnung und Auswertung der Kostendifferentialquotienten

Das Layoutproblem (auch innerbetriebliches Standortproblem genannt) läßt sich folgendermaßen beschreiben: Eine Anzahl von o Anordnungsobjekten soll auf O Standorte platziert werden, so daß die Gesamttransportkosten möglichst minimal werden. Die Transportmengen zwischen den Anordnungsobjekten und die Entfernungen zwischen den Standorten sind bekannt. Die Kosten werden als proportional zur Menge und Entfernung angenommen.
Der hier vorgestellte Algorithmus ist ein Eröffnungsverfahren, d. h. es wird eine zulässige Ausgangslösung erzeugt, auf die nachfolgend ein Verbesserungsverfahren angewandt werden kann. Das Layoutproblem gilt als NP-schweres Problem, d. h. es ist bis heute kein Verfahren bekannt, mit welchem man immer mit polynomialem Aufwand eine optimale Lösung ermitteln kann. Es ist deshalb wichtig, daß ein Eröffnungsverfahren möglichst schon eine gute Lösung liefert, da einige herkömmliche Verbesserungsverfahren (z.B. Zweier-Austauschverfahren) diese Lösung nur bis zum nächsten lokalen Minimum verbessern. Das hier vorgestellte Eröffnungsverfahren liefert stets eine Lösung, die nie schlechter, in der Regel wesentlich besser als der Mittelwert aller möglichen Lösungen ist.

Mathematisches Modell

gegeben:
oAnzahl der Objekte
OAnzahl der Orte ( O = o )
mijMenge, die von Objekt i nach Objekt j zu transportieren ist
SklEntfernung von Ort k nach Ort l
gesucht:
uikist 1 wenn Objekt i am Ort k platziert wird, sonst 0
sijEntfernung von Objekt i nach Objekt j
MklMenge, die von Ort k nach Ort l zu transportieren ist

Nebenbedingungen:


Zielfunktion:


Die Mengen, die von Objekt i nach Objekt i zu tranportieren sind und die Entfernung vom Ort k zum Ort k sind jeweils Null, d. h. die Matrizen der m- und der S-Werte müssen auf ihren Diagonalen jeweils mit Nullen belegt sein alle anderen Werte müssen größer oder gleich Null sein. Das ist für den hier vorgestellten Algorithmus von Bedeutung. Statt der sonst üblichen Bezeichnung für die Entfernung mit d (Distance) wird hier der Buchstabe s bzw. S verwendet, da das Symbol d für die Differentiale benötigt wird.

1 Berechnung der Gleichgewichtslösung

Es werden reelle Zuordnungsvariable xik eingeführt, die im Bereich [ 0, 1 ] jeden Wert annehmen können. Die Anzahl der noch nicht zugeordneten Objekte und Orte sei Q. Wenn ein Objekt m zu einem Ort n bereits zugeordnet wurde, so sei umn gleich 1 und alle anderen uin und umk gleich 0, sonst sei umn gleich -1.
Die xmn der Gleichgewichtslösung sind dann zu berechnen durch:


Dadurch werden bis auf die Ganzzahligkeitsbedingung der Zuordnungsvariablen alle anderen Nebenbedingungen erfüllt.

2 Berechnung der Differentiale der reellen Zuordnungsvariablen

Es wird für alle i und k untersucht, wie sich eine differentielle Änderung der reellen Zuordnungsvariable xik um dxik bei der Gleichgewichtslösung auf die differentielle Änderung der Gesamttransportkosten auswirkt. Eine primäre differentielle Änderung einer reellen Zuordnungsvariable muß dabei durch die sekundäre differentielle Änderung aller anderen Zuordnungsvariablen kompensiert werden, so daß die differentiell veränderte Gleichgewichtslösung eine hinsichtlich der Nebenbedingungen zulässige Lösung bleibt (siehe Abbildung).


Die primäre differentielle Änderung einer reellen Zuordnungsvariable kann dabei rückwärts aus den sekundären differentiellen Änderung aller anderen reellen Zuordnungsvariablen berechnet werden.
Bei einer primären differentiellen Änderung der reellen Zuordnungsvariable xik um dxik lassen sich damit die sekundären differentiellen Änderungen der reellen Zuordnungsvariablen folgendermaßen berechnen:


Für die primäre differentielle Änderung der reellen Zuordnungsvariable xik um dxik erhält man:


3 Berechnung der Matrix der Kostendifferentialquotienten

Für die Kostendifferentialquotienten K'ik erhält man:

Falls uik > -1:


Falls uik = -1:


Mit


erhält man nach Ausführung der Differentiation:


Weitere Umformungen ergeben:


Für die Auswertung kann der reduzierte Kostendifferentialquotient K'ijred verwendet wurden. (Da der erste Term in K'ij konstant ist und damit keinen Beitrag liefert, kann er weggelassen werden, anschließend kann zusätzlich der konstante Faktor Q weggelassen werden.)

4 Grundform des Algorithmus zur Ermittlung einer Lösung

1. Startwertinitialisierung:
2. Solange Q > 1: 3. Berechnung der Transportmengen und -entfernungen und des Zielfunktionswertes:

5 Erweiterung des Algorithmus

Der Algorithmus leitet aus bestehenden (relativen) Unterschieden bei den Entfernungen zwischen den Orten und den Transportmengen zwischen den Objekten eine Entscheidung ab, welches Objekt als nächstes welchem Ort zugeordnet werden sollte. Es läßt sich zeigen, daß eine optimale Zuordnung eines beliebigen Layout-Problems auch eine optimale Zuordnung des Problems ist, bei dem gegenüber dem ersten alle Entfernungen um einen beliebigen (aber konstanten) Wert geändert wurden, dabei können die Entfernungen auch negativ werden (sofern alle Mengen nichtnegativ sind). Bei diesem Algorithmus ist es sinnvoll, statt der Werte der Entfernungen Skl die um den Mittelwert aller Entfernungen reduzierten Werte Skl - Squer bei der Berechnung zu verwenden. Dadurch werden die relativen Unterschiede vergrößert und der Algorithmus ermittelt in der Regel eine bessere Lösung.
Eine weitere Möglichkeit besteht in der Gewichtung der K'red-Werte durch die Transportmengen vor der Auswahl des kleinsten (negativsten) Wertes. Dadurch kann verhindert werden, daß bereits zum Beginn die "besten" Orte durch Objekte verbraucht werden, die nur geringe Transportmengen aufweisen. Es muß dabei jedoch beachtet werden,daß die K'red-Werte gegenüber den ursprünglichen K'-Werten verschoben sind, d. h. bei Verwendung gewichteter K'red-Werte würde man in der Regel eine andere Lösung erhalten, als bei Verwendung der gewichteten K'-Werte. Zu einem Ausweg und gleichzeitig einer sinnvollen Erweiterung gelangt man, indem man die K'red-Werte um einen Offset verschiebt, so daß der minimale K'red-Wert kleiner als Null und der maximale K'red-Wert größer als Null ist. Es kann dann durch die Gewichtung nur ein solches Element zum kleinsten (negativsten) werden, welches bereits vorher negativ war. Zum erweiterten Algorithmus gelangt man somit, indem man

an Stelle des kleinsten K'ikred - Wertes

den kleinsten Wert von gi · (K'ikred - Koffset )

verwendet. Gewichte und Offset lassen sich dabei durch die Gleichungen

gi = ( mi1 + ... + mio + m1i + ... + moi ) a

( mit a als frei wählbarem nichtnegativem reellen Parameter ) und

Koffset = Min { K'ikred } + b · ( Max { K'ikred } - Min { K'ikred } )

( mit b als frei wählbarem reelen Parameter aus dem Intervall [ 0..1 ] ) berechnen.

Durch die Verwendung verschiedener Parameterkombinationen können Lösungen erzeugt werden, die im Zielfunktionswert ähnlich gut sind, aber grundsätzlich unterschiedliche Zuordnungen der Anordnungsobjekte zu den Orten aufweisen.
Eine weitere Erweiterung kann darin bestehen, diesen Algorithmus mit einer Monte-Carlo-Methode zu kombinieren, wobei viele Lösungen erzeugt werden, bei denen jeweils eine Parameterkombination auf jedem der O=o Subschritte des Algorithmus zufällig neu erzeugt wird. Gegenüber der herkömmlichen Monte-Carlo-Methode würden damit von vornherein schlechte Lösungen ausgeschlossen werden, wodurch sich ab einer bestimmten Problemgröße der erhöhte Rechenaufwand lohnt.

6 Beispiel

Die Ermittlung der Lösung erfolgt durch den Algorithmus in der Grundform.
Lage der potentiellen Standorte:
1--------2---------------3
 \       |              /
  \      |            /
   \     |          /
    \    |        /
     \   |      /
      \  |    /
       \ |  /
        \|/
         4
Gegebene Daten:
Matrix der Skl - Werte: Matrix der mij - Werte:
k \ l1234
1092515
2901612
32516020
41512200
i \ j1234
10125
21010
33101
44020

Ermittlung der Zuordnungsvariablen:
Matrix der xmn - Werte: Matrix der Cmn - Werte: Matrix der K'ik - Werte:
m\n1234
10,250,250,250,25
20,250,250,250,25
30,250,250,250,25
40,250,250,250,25
m\n1234
1196,0148,0244,0188,0
249,037,061,047,0
3122,592,5152,5117,5
4147,0111,0183,0141,0
i\k1234Ai
1-506,5-572,5-440,5-517,5776,0
2-512,5-434,5-590,5-499,5194,0
3-509,5-503,5-515,5-508,5485,0
4-508,5-526,5-490,5-511,5582,0
Bk514,5388,5640,5493,5-
m\n1234
10,330,330,000,33
20,000,001,000,00
30,330,330,000,33
40,330,330,000,33
m\n1234
1162,0130,0284,7166,0
232,028,081,336,0
3114,088,0162,7112,0
496,084,0244,0108,0
i\k1234Ai
1-660,7-682,79999,9-666,7742,7
29999,99999,99999,99999,9177,3
3-538,7-542,79999,9-562,7476,7
4-648,0-610,09999,9-630,0532,0
Bk404,0330,0772,7422,0-
m\n1234
10,001,000,000,00
20,000,001,000,00
30,500,000,000,50
40,500,000,000,50
m\n1234
1155,0179,0315,0145,0
233,021,077,039,0
3117,563,5147,5122,5
4103,531,5211,5130,5
i\k1234Ai
19999,99999,99999,99999,9794,0
29999,99999,99999,99999,9170,0
3-625,09999,99999,9-643,0451,0
4-679,09999,99999,9-653,0477,0
Bk409,0295,0751,0437,0-

=> x41 = 1 => x34 = 1

Zuordnung der Anordnungsobjekte zu den Standorten:
4        1               2
1--------2---------------3
 \       |              /
  \      |            /
   \     |          /
    \    |        /
     \   |      /
      \  |    /
       \ |  /
        \|/
         4 3
Matrix der uik - Werte: Matrix der sij - Werte: Matrix der mij - Werte:
i \ k1234
10100
20010
30001
41000
i \ j1234
1016129
21602025
31220015
4925150
i \ j1234
10125
21010
33101
44020

Gesamtkosten:
K =16 · 1 + 12 · 2 + 9 · 5 +
16 · 1 + 20 · 1 + 25 · 0 +
12 · 3 + 20 · 1 + 15 · 1 +
9 · 4 + 25 · 0 + 15 · 2 = 258

Für dieses kleine Beispiel wurde damit sofort die optimale Lösung gefunden. Bei kleinen Problemen wie diesem (mit 4!=24 Möglichkeiten), kann eine optimale Lösung auch leicht durch Vollenumeration ermittelt werden.

(c) Lutz Tautenhahn 1997, 1999