• Keine Ergebnisse gefunden

Das erweiterte Zuordnungsverfahren PatternFlex

4 Lösungsverfahren zur Einsatzplanung Fahrerloser Transportsysteme

4.1 Konstruktionsverfahren

4.1.3 Das erweiterte Zuordnungsverfahren PatternFlex

Die Grundidee des PatternFlex-Verfahrens ist es, einem Dual-Load-Carrier nicht mehr einen Verfügbarkeitsstatus „voll verfügbar“, „teilweise verfügbar“ oder „nicht verfüg-bar“ zuzuweisen. Stattdessen erhält jedes Fahrzeug eins der beiden Prädikate „S | pd“

oder „S“, abhängig vom letzten TA seines aktuellen Plans. Betrifft der letzte TA einen 20ft-Container und Auf- und Abladeoperation folgen direkt aufeinander, wird dem AGV das Prädikat „S | pd“ zugewiesen. Das bedeutet, sein Plan besteht aus einer (belie-big langen) Sequenz von Operationen „S“, gefolgt von der Aufladeoperation (= pickup) und der Abladeoperation (= dropoff) des letzten (20ft) TAs im Plan.

Befindet sich ein AGV im Zustand „S | pd“, kann ein weiterer 20ft-TA nach dem bes-ten der drei Pattern „aann“, „anna“ und „anan“ (siehe Abbildung 4-7 auf Seite 71) der Sequenz hinzugefügt werden. Sind andererseits die Operationen des letzten TAs mit denen des vorletzten TAs verschränkt (z.B. „p1-p2-d1-d2“ oder „p1-p2-d2-d1“), so wird das AGV mit dem Prädikat „S“ versehen, um zu zeigen, dass sein Plan aus einer Folge von Operationen besteht, in welcher der letzte TA nicht weiter verschränkt wer-den darf. Das Prädikat „S“ wird auch dann vergeben, wenn der letzte TA in einer Se-quenz einen 40ft-Container betrifft. Ein neuer TA kann dem Plan eines AGVs im Zu-stand „S“ nur nach dem Pattern „aann“ zugewiesen werden, d.h. er wird ans Ende des Plans angehängt. In Abbildung 4-9 sind die möglichen Übergänge zwischen den beiden Zuständen „S“ und „S | pd“ dargestellt.

S

„anna“

„aann“

„anan“

„aann“

S | p d

„aann“

(40 ft)

„aann“ (40 ft)

Abbildung 4-9: Mögliche Übergänge zwischen den Zuständen von Dual-Load-Carriern Man erkennt, dass zwei Pfeile „S“ verlassen. Sie zeigen, dass im Zustand „S“ nur Pattern „aann“ zulässig ist. Wird ein 40ft-TA an den Plan angehängt, verbleibt das AGV im Zustand „S“. Betrifft der neue TA einen 20ft-Container, wechselt das AGV in den Zustand „S | pd“. Befindet sich das AGV andererseits im Zustand „S | pd“, wechselt es durch Anwendung der Pattern „anna“, „anan“ oder des Patterns „aann“ für einen 40ft-Container in den Zustand „S“. Das Anhängen eines 20ft-TAs („aann“) belässt das AGV im Zustand „S | pd“.

Man beachte, dass zu Beginn eines Planungslaufes, wenn alle nicht fixierten Zuordnun-gen aufgelöst werden, sich nur die AGVs im Zustand „S | pd“ befinden, die aktuell leer sind und deren aktuelle Operation die Aufladung eines 20ft-Container ist. Alle anderen AGVs befinden sich im Zustand „S“.

Alle zulässigen Optionen für das Erzeugen einer Sequenz von TAs für ein einzelnes AGV sind in Abbildung 4-10 dargestellt.14

Ø aann

aann

p1-d1

S|pd anan anna

aann anan anna p1-d1-p2-d2

S|pd

p1-p2-d1-d2 S

p1-p2-d2-d1 S

p1-d1-p2-d2-p3-d3 S|pd

p1-d1-p2-p3-d2-d3 S

aann

p1-d1-p2-p3-d3-d2 S

p1-p2-d2-d1-p3-d3 aann S|pd

p1-p2-d1-d2-p3-d3 S|pd

1 0

2

3

4

5

6

7

8

9 Ø aann

aann

p1-d1

S|pd anan anna

aann anan anna p1-d1-p2-d2

S|pd

p1-p2-d1-d2 S

p1-p2-d2-d1 S

p1-d1-p2-d2-p3-d3 S|pd

p1-d1-p2-p3-d2-d3 S

aann

p1-d1-p2-p3-d3-d2 S

p1-p2-d2-d1-p3-d3 aann S|pd

p1-p2-d1-d2-p3-d3 S|pd

1 0

2

3

4

5

6

7

8

9

Abbildung 4-10: Erzeugung von Sequenzen von TAs für ein AGV

Zu Beginn werden Auf- und Abladeoperation p1 und d1 des ersten TAs dem AGV zu-gewiesen, wonach sich dieses im Zustand „S | pd“ befindet (Knoten 1). Der zweite TA mit den Operationen p2 und d2 kann nun dem Plan hinzugefügt werden unter Benut-zung eines der drei Pattern „aann“, „anan“ und „anna“, was zu den Knoten 2, 3 und 4 führt. In Knoten 2 werden zwei TAs sequentiell ausgeführt, d.h. ihre Operationen sind nicht verschränkt und das AGV erhält das Prädikat „S | pd“. Folglich kann im nächsten Schritt erneut jedes der drei Pattern angewendet werden, was zu den Knoten 5, 6 und 7 führt. Der Zustand der Knoten 3 und 4 hingegen erlaubt nur die Anwendung eines Patterns – „aann“.



14 Aus Anschaulichkeitsgründen sind in Abbildung 4-10 nur 20ft-Container berücksichtigt. Ein 40ft-TA kann nur am Ende eines Plans angehängt werden und führt immer zum Zustand „S“.

4.1.3.2 Ablauf des Verfahrens

Ein großer Vorteil von PatternFlex im Vergleich zum einfachen Pattern-Verfahren ist, dass die Pläne der AGVs beliebig lang sein können und damit ein AGV in jeder Itera-tion eines Planungslaufes verfügbar bleibt (nur der Ort und die Zeit seiner Verfügbar-keit ändern sich, je nachdem, welche Operation sich gerade am Ende seines Plans be-findet). Somit kann in einem Planungslauf jedem TA ein AGV zugeordnet werden.

Wenn aber in jedem Planungslauf alle offenen TAs verplant werden, gibt es nur einen Grund, aus dem ein AGV zu irgendeinem Zeitpunkt keine Aufträge haben könnte – es gibt keine weiteren offenen Aufträge. Das bedeutet, dass es im PatternFlex-Verfahren keine AGV-initiierte Planung mehr gibt. Ein Fahrzeug arbeitet so lange seinen Plan ab, bis es die letzte Operation erreicht. Ist ihm in der Zwischenzeit kein neuer Plan zuge-wiesen worden, wird es geparkt und wartet, dass neue Aufträge freigegeben werden. In Abbildung 4-11 ist zu erkennen, dass das PatternFlex-Verfahren durch die Erweiterun-gen deutlich kompakter geworden ist als sein Vorgänger Pattern.

Planungsauslösendes Ereignis

Art des planungsauslösenden

Ereignisses

Verspätung überschreitet

Schranke Neuer TA wird bekannt

Gibt es

offene TAs? nein (Neuen) Plan zurückgeben

Suche nächsten offenen TA ja

Suche bestes AGV und ordne diesem den TA zu

Aktualisiere den Status von AGV und TA Löse alle alten Zuordnungen

außer den fixierten

Abbildung 4-11: Vorgehen des PatternFlex-Verfahrens

Einen detaillierten Aufschluss über die einzelnen Schritte des Verfahrens gibt der Pseu-docode in Abbildung 4-12.

Planungsauslösende Ereignisse:

„Verspätung eines TAs überschreitet Schranke“, “neuer TA wird bekannt”

1. Löse alle alten Zuordnungen außer den fixierten (aktuelle Operation, geladene Container).

Bilde Menge ORDERPOOL aus allen nicht zugeordneten TAs.

Bestimme Status der AGVs in der Ausgangssituation („S | pd“, falls AGV leer und aktuelle Operation Aufladung eines 20ft-Containers; „S“, sonst).

2. WENN (ORDERPOOL = ∅)

DANN beende Planungslauf und gib (neuen) Plan zurück SONST gehe zu Schritt 3.

3. Setze bestDelay:= ∞. Definiere currOrder als den TA aus ORDERPOOL mit der frühesten Startzeit. Bilde Menge AGVPOOL aus allen AGVs.

4. Definiere currAgv als das erste Element aus AGVPOOL. AGVPOOL:= AGVPOOL\{currAgv}.

5. currDelay:= Verspätung für das Pattern “aann” für die Kombination currOrder/currAgv.

WENN (currDelay < bestDelay)

DANN bestDelay:=currDelay, bestAgv:=currAgv.

WENN (currOrder 20ft-Container) DANN newStatus:=“S | pd“

SONST newStatus:=“S“.

6. WENN (currAgv hat Status “S | pd” UND currOrder 20ft-Container UND MLCs verwendet) DANN gehe zu Schritt 7.

SONST gehe zu Schritt 9.

7. currDelay:= Verspätung für das Pattern “anan” für die Kombination currOrder/currAgv.

WENN (currDelay < bestDelay)

DANN bestDelay:=currDelay, bestAgv:=currAgv, newStatus:=„S“.

8. currDelay:= Verspätung für das Pattern “anna” für die Kombination currOrder/currAgv.

WENN (currDelay < bestDelay)

DANN bestDelay:=currDelay, bestAgv:=currAgv, newStatus:=“S“.

9. WENN (AGVPOOL = ∅) DANN gehe zu Schritt 10.

SONST gehe zu Schritt 4.

10. Ordne bestAgv zu currOrder zu. Setze Status von bestAgv auf newStatus.

ORDERPOOL:= ORDERPOOL\{currOrder}. Gehe zu Schritt 2.

Abbildung 4-12: Pseudocode des PatternFlex-Verfahrens