0

I need to size a box classification system where boxes get on a queue until the packaging quantity is reached. Then they all leave the queue at a fixed rate.

This is done real time with production. I can estimate the volume for each SKU but I can't predict the order in which they will arrive at the classification/sorting facility. However I can look at previous manufacturing data to test the algorithm.

The key point is how would you estimate the needed bins/queues to accomplish the sorting (minimizing the "all queues used" condition)

I thought of queue theory but I want to run some simulations with the known data (data is not totally random) and most of what I searched assumes random entry to queues.

I'm starting to write a python script to model the queue behavior myself with given fixed times for queue evacuation.

Any suggestions?

Thanks in advance.

Ideally should be python based

The expected output should be the used queues vs time and, in case of a limited number of queues, the number of boxes "discarded" vs time

Alex
  • 13
  • 5

1 Answers1

0

Your question is frustratingly vague. I think I understand what you're asking for, but a little more detail would help.

As I understand it, you have something like an order processing facility, where each order is a queue in which you hold items until all the items for the order arrive. Then you release that queue at some rate (x seconds per item, or something like that).

The number of queues you need will depend on:

  1. The expected delivery rate: how many orders per minute do you want to complete? Call this OPM: Orders Per Minute.
  2. The average amount of time a queue lives. That is, time from when the first item arrives in the queue until the last item leaves. QLT: Queue Lifetime

The number of queues you need is OPM * QLT. If you want to deliver 100 orders per minute, and the average queue lifetime is 3 minutes. You will need 300 queues. If the average queue lifetime is 30 seconds, then you only need 50 queues.

The queue lifetime is a combination of how long it takes to fill the queue, and how long it takes to empty it. Call those QFT and QET. QET is easy: the average number of items in an order, divided by the queue empty rate. You said that items are released from the queue at a fixed rate. If the average order size is 5 items, and you empty the queue at a rate of 12 items per minute, then it will take 5/12 minutes (25 seconds) to empty the queue.

QFT (queue fill time) depends on the average order size and the average time it takes an item to be picked and delivered to the queue. If you can't get that from your manufacturing data, then you'll have to estimate it yourself.

Doing those calculations gives you a good estimate of how your system should react on average. You can then build a simple simulation using those numbers, and begin varying one or more of the parameters. For example, what happens if the average number of items per order gets larger or smaller for a period. If it gets larger, then QLT will probably increase. If it gets smaller, QLT will decrease, but you'll probably have more concurrent orders (and thus need more queues).

Jim Mischel
  • 131,090
  • 20
  • 188
  • 351