Werden Sie mit Mathe zum Meister von Sortierer und Band.
Leitfaden zur mathematischen Analyse der Sortiereffizienz am Band
Einführung
Die Sortereffizienz wird durch die Artikel-/Slot-Verfügbarkeit der Quell- und Zielstelle beeinflusst. Dies ist meistens kompliziert, wenn der Sortierer auf einem Band/Bändern platziert wird.
Wenn zum Beispiel das Zielgitter einer Sortierung ein am stärksten gefülltes Band ist, werden wir feststellen, dass es dem Sortierer schwer fällt, einen leeren Platz für die Lieferung des Artikels zu finden, was zu einer viel geringeren Effizienz führt. Der gleiche Effekt würde beobachtet werden, wenn beim Sortieren versucht wird, einen Artikel von einem weitgehend leeren Band aufzunehmen.
Wir bieten eine formale mathematische Analyse der Sortiereffizienz am Band und einige praktische Formeln für die Berechnung/Schätzung im Spiel.
Hintergrund
Sehen wir uns zuerst die aktuellen Spielgrundlagen an:
Typ:Sorter – Band
- MK1:1,5/s – 4/s
- MK2:3/s – 12/s
- MK3:6/s – 30/s
Hinweis:Die Sortergeschwindigkeit in der Tabelle gilt für 1 Rasterspanne. Die tatsächliche Geschwindigkeit wird durch die Rasterweite (2 oder 3) dividiert. Zum Beispiel. MK2-Sortierer bei 2-Grid-Span ist 1,5/s, genau wie MK1. Und es wird 1/s bei 3-Grid-Span, weniger als MK1.
Für den Rest des Dokuments verwenden wir für Beispielberechnungen immer den 1-Grid-Span-Wert.
Etwas weniger offensichtlich hat ein Gürtel tatsächlich 2 Schlitze pro Kachel. Wenn wir einen Gürtel aus 100 Kacheln bauen, werden wir feststellen, dass der Gürtel ungefähr 200 Gegenstände aufnehmen kann (es sind nicht genau 200, weil die Endkacheln und die Rundenkacheln etwas anders sind als die geradlinigen Mittelkacheln). Die Riemengeschwindigkeit wird tatsächlich in Riemenschlitzen statt in Kacheln gemessen. Mit anderen Worten, in 1 Sekunde bewegt sich ein Gegenstand auf dem MK1-Band 6 Slots, was 3 Kacheln sind, nicht 6 Kacheln. Dies ist leicht zu überprüfen. Wenn Sie einen Gürtel mit geschlossener Schleife aus 60 Kacheln herstellen, legen Sie einen einzelnen Gegenstand darauf und messen Sie die Zeit, in der er eine Schleife vervollständigt. Es sind 20 Sekunden statt 10.
Ab jetzt verwenden wir b/s (als Riemenschlitze/Sekunde) für die Einheit der Riemengeschwindigkeit, um sie nicht mit Kacheln/Sekunde zu verwechseln, was vielleicht die meisten Menschen fälschlicherweise annehmen. Außerdem verwenden wir die Länge der "Anzahl der Schlitze", um die Länge eines Bandes zu messen, nicht die Fliesenlänge.
Bandschlitze und Sorterverzögerung
Um der Mathematik das Einsetzen zu erleichtern, definieren wir zunächst alternative Größen zum Messen von Dingen.
Modellieren Sie einen Laufgürtel
Das ist einfach. Wenn wir den Lauf des Riemens beobachten, hat er Riemenschlitze, die mit seiner Geschwindigkeit nacheinander durch jeden beliebigen Punkt laufen. Wenn wir die Gürtelschlitze mit natürlichen Zahlen indizieren, werden wir sehen, dass die folgenden zwei Ereignisse genau 1 Sekunde auseinander lagen:
- A. Slot 0 ist direkt unter einem Sorter
- B. Steckplatz N befindet sich direkt unter demselben Sortierer
Wobei N gleich der Bandgeschwindigkeit ist.
Wir werden dann sehen, dass sich Slot 2N nach einer weiteren Sekunde direkt unter demselben Sorter befindet.
Sortierverzögerung
Um die Wechselwirkung zwischen Sortierer und Band zu untersuchen, ist es einfacher, wenn wir die Verzögerung des Sortierers anstelle der Geschwindigkeit verwenden.
Sortierverzögerung =Bandgeschwindigkeit/Sortiergeschwindigkeit
Zum Beispiel gibt uns der MK1-Sortierer mit dem MK1-Band Folgendes:
Sortierverzögerung =(6b/s) / (1,5/s) =4b
Dies bedeutet, dass die Sortierverzögerung für den MK1-Sortierer auf dem MK1-Band 4 Riemenschlitze beträgt. Sie haben wahrscheinlich bereits bemerkt, dass, wenn wir einen einzelnen MK1-Sortierer verwenden, um Artikel an ein leeres MK1-Band zu liefern, die Artikel auf jeden vierten Slot gelegt werden, wie Slot 0, 4, 8, 12 …
Erweiterte Sorter-Verzögerung und -Effizienz
Wenn ein Sortierer versucht, Artikel an ein Band zu liefern, das bereits mit einigen Artikeln gefüllt ist, wird es kompliziert. Stellen Sie sich vor, der Sortierer trägt den Artikel und greift oben auf das Band, kann ihn aber nicht ausliefern, weil der Schlitz darunter gefüllt ist. Was tut es? Es wartet einfach und das Band läuft vorbei. Wenn der nächste Slot leer ist, ist die Lieferung erfolgreich. Ansonsten wartet es wieder. Irgendwann wird es ein leeres Grundstück finden und es geschehen lassen, solange das Band nicht ganz voll ist. Es wird jedoch einige Wartezeiten in Anspruch nehmen.
Wir definieren
Wartezeit:Die Anzahl der Riemenfächer, die ein am Ziel bereiter Sortierer benötigt, um zu warten, bis er tatsächlich liefern kann
Beachten Sie, dass dies „Zeit“ genannt wird, aber nicht in Sekunden, sondern in Gürtelschlitzen gemessen wird. Wenn Sie an der tatsächlichen Zeit interessiert sind, können Sie sie jederzeit durch die Bandgeschwindigkeit teilen. Aber wie Sie unten sehen können, ist es bequemer, dieses Gerät zu verwenden.
Dann definieren wir
Erweiterte Sorter-Verzögerung =Sorter-Verzögerung + Wartezeit
Wie Sie sich denken können, kann die tatsächliche Sortergeschwindigkeit folgendermaßen berechnet werden:
Tatsächliche Sortergeschwindigkeit =Bandgeschwindigkeit / Erweiterte Sorterverzögerung
Oder wenn wir es mit dem ursprünglichen Wert vergleichen möchten:
Tatsächliche Sorter-Geschwindigkeit =Sorter-Geschwindigkeit * (Sorter-Verzögerung / Erweiterte Sorter-Verzögerung)
Dann können wir die Effizienz definieren als:
Effizienz =Tatsächliche Sortiergeschwindigkeit / Sortiergeschwindigkeit =Sortierverzögerung / Erweiterte Sortierverzögerung
Beispielsweise läuft ein Sorter mit einer Verzögerung von 4 und einer Wartezeit von 2 mit 4/(4+2) =66,7 % Effizienz.
Wahrscheinlichkeit vs. erwartete Verzögerung
Etwas, worüber wir im letzten Abschnitt nicht gesprochen haben:Die Wartezeit und damit auch die Extended Sorter Delay sind keine festen Zahlen. Sie können als Zufallsvariablen betrachtet werden, die bei verschiedenen Versuchen unterschiedliche Werte annehmen können.
In-Sync-Gürtel
Stellen Sie sich ein leeres MK1-Band vor, das durch 4 MK1-Sortierer läuft (sie müssen nicht nebeneinander liegen). Sobald die Sortierer zu arbeiten beginnen, kann der erste Sortierer immer ohne Wartezeit liefern, sodass die Wartezeit immer 0 und die verlängerte Sortierverzögerung immer 4 ist. Er liefert dann Artikel an Slot 0, 4, 8, 12 … Der zweite Sortierer, Während er möglicherweise einen Slot warten muss, liefert er dann bei 1, 5, 7, 11 ... Dasselbe gilt für den dritten und vierten Sortierer. Beim ersten Zustellversuch kann es zu Wartezeiten kommen, alle nachfolgenden Zustellungen sind dann „synchron“ und erfordern kein Warten.
In dieser Situation haben die Sortierer maximale Effizienz, außer vielleicht bei der ersten Lieferung, wenn das Band nicht voll ist.
Zufälliger Gürtel
Stellen Sie sich nun ein weiteres leeres MK1-Band vor, das durch verschiedene Mechanismen (verschiedene Arten von Sortierern, Splittern, Bandzusammenführung) gefüllt und teilweise geleert wird. Einige von ihnen können von anderen Faktoren abhängen, z. B. ob ein anderes Band Produkte hat oder ein Monteur die Arbeit beendet oder ein Lager leer ist oder nicht. In diesem Fall ist es (je länger das Band und die Systeme, die es berührt) unwahrscheinlicher, dass die auf dem Band platzierten Gegenstände synchron sind. Wir können dann davon ausgehen, dass die Gürtelschlitze völlig zufällige Variablen sind.
Eine Möglichkeit, es zu modellieren:
Modell mit zufälligen Gürtelschlitzen:
Jeder Riemenschlitz hat unabhängig voneinander eine Wahrscheinlichkeit von p, leer zu sein.
Oder anders gesagt, das Band ist (1-p)*100 % gefüllt oder p*100 % leer.
Zum Beispiel ein langes Band mit 2000 Fächern und 800 Gegenständen darauf, das Band ist zu 40 % gefüllt und zu 60 % leer, die Wahrscheinlichkeit, dass jedes Fach einen Gegenstand hat, beträgt 0,4.
Einige Grundschulmathematiker werden uns sagen, dass die erwartete Wartezeit bei einem solchen Zufallsmodell wäre:
E(Wartezeit) =1/p – 1
Für ein vollständig leeres Band ist p 1 und die Wartezeit geht natürlich auf 0.
Für ein fast volles Band ist p nahe 0 und die Wartezeit wird daher sehr groß.
Wir können die geschätzte Effizienz mit der erwarteten Wartezeit ausdrücken:
Geschätzte Effizienz =Sorter-Verzögerung / E(erweiterte Sorter-Verzögerung) =Sorter-Verzögerung / (Sorter-Verzögerung + E(Wartezeit)) =1 / (1 + a)
Wobei der a-Faktor ist
a =(1/p – 1) / Sorter-Verzögerung
A-Faktor-Schätzung
Der A-Faktor bietet uns eine einfache Möglichkeit, Werte zu schätzen. Angesichts der Leerheit des Riemens können wir schnell den a-Faktor und damit den Wirkungsgrad berechnen oder umgekehrt.
Um beispielsweise die halbe Effizienz zu erhalten, benötigen wir einen A-Faktor von 1. Für eine Sortierverzögerung von 4 bedeutet dies p =1/5. Das heißt, ein MK1-Sortierer, der ein MK1-Band mit 20 % Leergut beliefert, läuft mit 50 % Effizienz. Sie fragen sich dann vielleicht, was wäre, wenn ich den MK1-Sortierer in einen MK2-Sortierer umwandele? Rechnen wir mal nach:
- p =1/5
- Sortierverzögerung =2
- a =2
- Geschätzter Wirkungsgrad =1/3
Es ist niedriger! Beachten Sie, dass die tatsächliche Sorter-Geschwindigkeit immer noch schneller ist, da sie sich von 1,5 * 1/2 =0,75 auf 3 * 1/3 =1 ändert. Es handelt sich jedoch nicht mehr um eine zweifache Verbesserung.
Alternativ, mit der gleichen Leerheit von 1/5, wenn wir das Band von MK1 auf MK2 umstellen, aber den MK1-Sortierer behalten, erhalten wir:
- p =1/5
- Sortierverzögerung =8
- a =1/2
- Geschätzter Wirkungsgrad =2/3
Dies gibt uns eine tatsächliche Sortiergeschwindigkeit von 1,5 * 2/3 =1, das gleiche wie beim Wechseln des Sortierers.
Erweitern Sie den Anwendungsbereich der Formel
Unsere Originalformeln dienen zum Liefern eines Artikels an ein teilweise gefülltes Band. Dies würde jedoch natürlich auch für den Fall des Aufnehmens von Gegenständen vom Band gelten. Ändern Sie einfach die Definition von p in Fülle statt Leere, alles andere ist gleich.
Um ein ähnliches Beispiel zu nehmen, benötigen wir einen A-Faktor von 1, um die halbe Effizienz zu erhalten. Für eine Sorter-Verzögerung von 4 bedeutet dies p =1/5. Das heißt, ein MK1-Sortierer, der Artikel von einem MK1-Band mit 20 % Fülle oder 80 % Leere aufnimmt, läuft mit 50 % Effizienz.
Noch ausgefallener ist, dass unsere Formel für gemischte Artikel verwendet werden kann, wenn der Sortierer einen Filtersatz hat. Stellen Sie sich ein Band vor, das mit 40 % Eisen, 30 % Magneten und 20 % Kupfer gefüllt ist und zu 10 % leer ist. Ein Sortierer, der gefiltert ist, um Eisen zu entnehmen, läuft mit einem Wirkungsgrad, der mit p =40 % berechnet wird, da dies dem Sortierer wichtig ist. Wenn stattdessen der Sortierer gefiltert wird, um den Magneten aufzunehmen, dann ist p =30 %. Kupfer für p =20 % und Liefergegenstand für p =10 %.
Ausgefallene Anwendung:Der automatische Lastausgleich am Band
Einige von Ihnen haben vielleicht schon aufgehört, diesen Leitfaden zu lesen, oder sich zumindest gefragt, was der Sinn dieser Mathematik ist. Nun, hier kommt eine schicke Anwendung:
Angenommen, wir bauen einen langen, großen Schleifengürtel, um gemischte Gegenstände herumlaufen zu lassen (der Hauptbus ist ein Beispiel für eine große Schleife, aber bisher habe ich noch niemanden gesehen, der es geschafft hat, mit gemischten Gegenständen zu arbeiten), können wir den Prozentsatz steuern jedes Artikels auf dem Band automatisch. Die Antwort ist ja!
Beginnend mit einer einfachen Einrichtung:
Die Gürtelschlaufe hat nur einen Platz zum „Hochladen“ von Bügeleisen und einen Platz zum „Herunterladen“ von Bügeleisen. Lassen Sie uns einige Variablen definieren:
- Upload Sorter Verzögerung =u
- Download-Sortierer-Verzögerung =d
- Gürtelleerheit =m
- Das Verhältnis des in die Schleife eingefüllten Eisens =r
Was passiert nun wann mit dem Eisenanteil im Kreislauf?
Nun, wir können diese „Gleichgewichtsbedingung“-Gleichung haben:
- Geschätzte tatsächliche Upload-Geschwindigkeit =geschätzte tatsächliche Download-Geschwindigkeit
- =>
- E(Extended Upload Sorter Delay) =E(Extended Download Sorter Delay)
Setzen Sie die oben definierten Variablen in:
- u + 1/m – 1 =d + 1/r – 1
- =>
- 1/r =1/m + (u – d)
Einmal erstellt, wird u – d zu einer Konstante, die Delay Diff genannt werden kann.
Wenn der Upload- und der Download-Sortierer die gleiche Nenngeschwindigkeit haben, ist Delay Diff 0, dann wird die Gleichgewichtsbedingung so, dass das Eisenverhältnis auf dem Band das gleiche ist wie das Leerverhältnis. Wenn der Gürtel nur Eisen hat, dann sind beide 1/2. Wenn der Gürtel N Arten von Gegenständen hat, alle mit 0 Delay Diff, nehmen sie jeweils 1/(1+N) in den Gürtel und das letzte 1/(1+N) ist leer.
Ein schneller Upload (also kleineres u) und ein langsamerer Download bedeutet einen negativen Delay Diff, was bedeutet, dass 1/r kleiner als 1/m ist, also r größer als m. Und umgekehrt.
Zum Beispiel ein MK1-Band mit MK1-Sortierer zum Hochladen und MK2-Sortierer zum Herunterladen, wir haben Sorter Diff =2. Wenn nur Eisen im Band ist, können wir Gleichungen lösen, um herauszufinden, dass wir am Ende ungefähr 71 % leer sind und 29 % Eisen auf dem Gürtel.
Das wirklich Erstaunliche ist, dass sich dies automatisch selbst ausbalanciert. Wenn sich zu viele Eisen auf dem Gürtel befinden (also ein größeres r), wird der Download schneller und die Eisenzahl wird reduziert. Wenn es zu viele leere Stellen auf dem Band gibt, wird die Upload-Geschwindigkeit schneller und die Leere wird reduziert.
Einfache Beispiele
Hier habe ich eine einfache kleine Schleife mit 3 Arten von Gegenständen gemischt gebaut.
Indem ich verschiedene Arten von Upload/Download-Sortierern auswähle, kann ich den Prozentsatz jedes Elements in der Schleife steuern, um ein gewisses Gleichgewicht zu erreichen.
Schwer herunterladen:
Schwer hochladen:
Möglicherweise stellen Sie fest, dass die Elemente nicht mehr zufällig sind und schnell eine Art Muster bilden.
Gemischt mit Randomizer:
Automatischer Produktionsstopper
Die Produktion kann mithilfe eines T-Joint-Tricks in Kombination mit der Upload-/Download-Geschwindigkeitsbalance automatisch gestoppt werden:
Basically, when the steel ratio in the belt loop is high and emptiness is low, the speed that we are getting steel from the belt loop is higher than the speed we deliver, as a result, the “horizontal” belt is always full. The product from the middle belt cannot get into the horizontal belt as long as it’s full.
Potential Caveat Discussion
Validity of the randomness model
This analysis is based on the assumption that the items on a belt will be randomly distributed. In reality it is more or less not so. Specifically, as player we tend build the same thing as the same place. As a result, the items on the belt is likely to exhibit some patterns thus deviate away from the math result based on random distribution.
At large scale belt loops though (main bus loop for mixed items), this tends to be a pretty good estimation. We might get somewhat higher ratio of one item and low ratio of another. But we can be sure that the big mixed item loop will never stop running and will contain each item type in a reasonable range.
Appendix:The elementary school Math
With independent random tests, to succeed the first one it takes, as expected value, 1/p runs.
In our case, the sorter returns and immediately does a “test” to try to deliver the item. So our Wait Time is effectively defined as number of tests – 1.
Note that, strictly speaking, the expected value of 1/X is not 1/E(X). That’s why I called it “estimated” efficiency instead of expected efficiency. They will be slightly off. But they should be close enough for estimation purposes.