Page 1 of 1

Queue Model Question

Posted: Tue Jul 01, 2008 6:24 pm
by skendall
In my last topic I asked about DELAY CONVEYORS, if the work is arriving faster than it can be completed due to conveyance time the work stacks up in a queue.

I have been studying the /model/mguide/DISCRET/QUEUE2.MDL to understand how I can connect the queue to the conveyor to account for the accumulation or back up of work. I am struggling with the 'processing capacity' and 'minimum processing time' usage and how they would fit into this application.

Can anyone add any comments to this model that may help me grasp what is being done and how I might leverage this application?

Posted: Tue Jul 01, 2008 8:23 pm
by bob@vensim.com
You are confusing conveyance time and capacity - conveyors have infinite capacity. If something arrives just add it - three days later it pops out the other end.

My comment on the other post is germane. Using discrete event style functions may simply be confusing the analysis.

Posted: Tue Jul 01, 2008 10:13 pm
by skendall
Thanks for the feedback Bob. What I am dealing with are test cases, which are a finite number awaiting an opportunity to be run. When the test case queue is empty then the product is ready to ship. That is why I was looking at the Queue function.

I currently have a continuous model but was investigating using a discrete model to possibly simplify the exit decision criteria.

I understand the difference between conveyance time and capacity, but I was thinking the capacity might be used for instances when concurrent test cells are used to reduce the time to run the test cases, even though the execution time of the test case(the conveyance time) remains fixed.

If I am over thinking this approach I can stay with the continuous models base I have today.

Posted: Wed Jul 02, 2008 10:27 am
by bob@vensim.com
A queue is just a level increased by stuff arriving and decreased by stuff dispatched. Generally the formula

stuff dispatched = MIN(stuff in queue/min dispatch time,capacity)

is sufficient for managing these. If, however, you need more articulation on the outflow then use a QUEUE FIFO function and use

stuff dispatched = MIN(QUEUE AGE IN RANGE(stuff in queue,min dispatch time,1e9)/TIME STEP,capacity)

there will only be slight differences in behavior. Note that dividing by TIME STEP is common with discrete functions and does preclude Runge Kutta integration.