Die Optimierung dient dazu Gebindestapel an der Packlinie so zusammenzusetzen, dass nachfolgende Anlagen die einzelnen Stapel möglichst effizient transportieren und verarbeiten können. Die erzeugten Stapel sollen also möglichst lange als ganzes behandelt werden können, statt dass die Gebinde bald wieder vereinzelt werden müssen.
Die Stapeloptimierung sollte nicht mit der Stapelfunktion des Packlinienprogramms auf der Waage selbst verwechselt werden (könnte aber im Prinzip auch damit kombiniert werden):
Das System geht davon aus, dass beim Aufruf eines Artikelauftrags immer mit einem leeren Stapel begonnen wird. Für den Bediener heisst das, dass ein angefanger Stapel beim Verlasssen des Artikelauftrags immer auf das Transportband abgeschoben werden muss. Das gilt also auch dann, wenn ein Artikelauftrag vorzeitig verlassen wird bevor alle Positionen abgearbeitet wurden, und nachher der gleiche Artikelauftrag wieder aufgerufen wird um ihn fertig zu kommissionieren.
Anhand des folgenden Beispielauftrags wird die Wirkung der Stapeloptimierung erklärt:
Ohne Stapeloptimierung werden die Filialbestellungen einfach gemäss Übersichtsliste der Reihe nach abgearbeitet. Bei einer Stapelhöhe von 3 Gebinden ergeben sich dabei die folgenden Stapel:
Herblingen |
Rüti |
Rüti |
Seepark |
Gäuggeli |
Gäuggeli |
Seen |
Seen |
Seepark |
Wetzikon |
Seen |
Seen |
Winterthur |
Wetzikon |
Wetzikon |
Winterthur |
Winterthur |
Winterthur |
Rosenberg |
Winterthur |
Nun wird die Stapeloptimierung für die Tour T09C eingeschaltet und über die Attribute für die Filialen folgendes eingestellt:
Das System wird jetzt die Produktion des gleichen Artikelauftrags so steuern dass sich folgende Stapel ergeben:
Handring
Seen |
Seen |
Seen |
Filialrein
Wetzikon |
Wetzikon |
Wetzikon |
Filialrein
Winterthur |
Winterthur |
Winterthur |
Handring
Seen |
Seepark |
Seepark |
Beliebig
Rüti |
Rüti |
Herblingen |
Beliebig
Gäuggeli |
Gäuggeli |
Rosenberg |
Filialrein Rest
Winterthur |
Winterthur |
Das System produziert also zuerst die optimierten ungemischten Stapel (1 bis 3), dann den optimierten gemischten Stapel (4) und anschliessend die beliebig gemischten (5 und 6). Selbst bei den beliebig gemischten versucht das System eine Filiale auf so wenige Stapel wie möglich zu verteilen, und pro Stapel möglichst wenige unterschiedliche Filialen zu erhalten. Erkennbar ist diese Berechnung im Beispiel daran, dass Rüti nach Standard-Reihenfolge eigentlich zuerst kommissioniert würde, und Rosenberg zuletzt. Ganz am Schluss folgen schliesslich die Restmengen von optimierbaren Filialen, wodurch sich die Chance ergibt dass der letzte Stapel wie im Beispiel doch noch optimiert ist wenn der letzte Stapel nicht voll wird.
Der Benützer hat keine direkte Möglichkeit die Reihenfolge mit den Funktionen Weiter oder Zurück zu ändern. Er kann sie nur indirekt durch Änderung der Sollmengen beeinflussen, oder durch vorzeitiges Verlassen des Auftrags bei angefangenem Stapel (weil nach erneutem Auftragsaufruf wieder mit einem leeren Stapel gerechnet wird).
Bei Änderung der Sollmenge mit der Plus- und Minus-Taste im Pickfenster muss der Benutzer sehr vorsichtig sein, da die aktuelle Filiale durch die Mengenänderung und anschliessende Neuberechnung plötzlich ändern kann.
Schaut man nicht richtig hin und drückt z.B. 3x hintereinander die Minus-Taste, kann es sein dass man ungewollt die Mengen von drei verschiedenen Filialen geändert hat.
Die Berechnung des nächsten Stapels geschieht dynamisch jedes mal neu nachdem ein Stapel komplett ist (oder wenn der Benutzer die Sollmenge per +/- Taste ändert). Sollte also während der Produktion des Stapels Herblingen/Rüti/Rüti eine weitere LU für Winterthur nachbestellt werden, so wird das System anschliessend gleich einen reinen Winterthur-Stapel produzieren statt des Stapels Rosenberg/Gäuggeli/Gäuggeli:
Seen |
Seen |
Seen |
Wetzikon |
Wetzikon |
Wetzikon |
Winterthur |
Winterthur |
Winterthur |
Seen |
Seepark |
Seepark |
Rüti |
Rüti |
Herblingen |
Winterthur |
Winterthur |
Winterthur |
Gäuggeli |
Gäuggeli |
Rosenberg |
Die dynamische Neuberechnung in Verbindung mit einer erweiterten Lockfunktion für den ganzen nächsten Stapel ermöglicht es, dass zwei oder mehr Linien den gleichen Artikelauftrag parallel abarbeiten, und trotzdem noch die maximale Anzahl von optimierten Stapeln erzeugt werden.
Es wäre schwierig und verwirrend die voraussichtliche optimierte Kommissionierfolge in der Übersichtsliste darzustellen, die gleiche Filiale könnte z.B. mehrfach vorkommen. Es würde ausserdem die Funktionen Reset und Sollmenge ändern auf geteilten Positionen verunmöglichen.
Die Übersicht des Kommissionierauftrags wird deshalb gleich dargestellt wie im nicht optimierten Betrieb, also für jede Filiale eine Zeile und sortiert nach der Standard-Kommissionierreihenfolge.
Die Basiseinstellungen erfolgen im BPS Einstellungsprogramm unter
Central Sytem Settings GuiConfig Packline Picking
Vom Installationsprogramm werden dort die Default-Einstellungen wie folgt eingetragen:
Änderungen an den Einstellungen werden an den Packlinien aktiv sobald die Packlinienkommissionierung neu gestartet wird. Es ist also nicht notwendig den BPS Arbeitsplatz ganz zu verlassen, es genügt das Kommissionierprogramm selber zu schliessen und neu zu öffnen.
Die Erläuterung der einzelnen Einstellungen erfolgt in den nachfolgenden Abschnitten.
Dies ist sozusagen der Hauptschalter für die Stapeloptimierung. Beim Wert no
ist die Stapeloptimierung ausgeschaltet und die anderen Einstellungen sind unwirksam. Bei yes
ist die Stapeloptimierung aktiv und die weiteren Einstellungen kommen zum Zug.
Eine per Komma separierte Liste von Touren-ID's die angibt bei welchen Touren die Stapeloptimierung durchgeführt werden soll. Bei Touren die nicht aufgelistet sind (zum Beispiel hier T00
, T07K
und T09K
) erfolgt die Kommissionierung ohne Stapeloptimierung.
Hier definiert man wie hoch der Stapel maximal sein darf. Die Limite ist durch die nachfolgenden Anlagen (Transportstrecke, Entstapler etc.) gegeben. Das System rechnet selber aus wie viele LU-Gebinde in die angegebene Höhe passen.
Die Anzahl ergibt sich aus folgender Formel:
LU_Gebinde_Sockel + (LU_Gebinde_Höhe * Stapelgrösse) <= StackMaxHeight
respektive umgeformt zu:
Stapelgrösse <= (StackMaxHeight - LU_Gebinde_Sockel) / LU_Gebinde_Höhe
Bei einigen typischen Gebinden ergeben bei maximaler Höhe 0.31m die folgenden Stapelgrössen:
Gebindetyp | Sockel m | Höhe m | Stapelgrösse | Stapelhöhe m |
---|---|---|---|---|
A/N | 0.013 | 0.146 | 2 | 0.305 |
B/N | 0.013 | 0.146 | 2 | 0.305 |
C/N | 0.013 | 0.279 | 1 | 0.292 |
D | 0.012 | 0.412 | <html>1</html> | <html>0.424</html> |
E | 0.012 | 0.088 | 3 | 0.276 |
U | 0.013 | 0.213 | 1 | 0.226 |
Beim Gebinde D sieht man, dass die angegebene Höhe in StackMaxHeight bereits mit einem Gebinde überschritten wird. In diesem Fall rechnet das System mit Stapelgrösse 1, da ohne Gebinde ja nicht kommissioniert werden kann.
Die Stapeloptimierung wird bei einem Auftrag nur dann angewendet wenn die Stapelgrösse 2 oder mehr ist, bei Stapelgrösse 1 wird hingegen normal ohne Stapeloptimierung kommissioniert.
Zwei per Komma separierte Listen von Partnerattributen:
Wird einem Partner ein bei StackPureAttributes
gelistetes Attribut zugeordnet, so werden möglichst viele ungemischte Stapel generiert. Restmengen die keinen ganzen Stapel mehr ergeben kommen in einen beliebig gemischten Stapel.
Wird einem Partner ein bei StackMixedAttributes
gelistetes Attribut zugeordnet, so werden zuerst wieder möglichst viele ungemischte Stapel generiert. Restmengen die keinen ungemischten Stapel mehr ergeben, kommen danach in gemischte Stapel mit anderen Partnern die dasselbe Attribut haben. Wenn schliesslich auch diese Option ausgeschöpft ist kommt der letzte Rest in einen beliebig gemischten Stapel.
Jeder Partner sollte höchstens ein Stapel-Attribut zugeordnet haben, sonst ist nicht definiert welches gilt: