MATLAB Answers


Server selecting which Queue to server

Asked by Chate
on 27 Nov 2012
I would like to create a queueing system with multiple queue priorities. For example, there are 3 queues for the customers, where queue 1 has highest priority and queue 3 has lowest.
I would like to link them all the queues to the server, and the server will serve customers on the queue with highest priority first. I realize that pathcombiner would not work, as it will not provide the information to which queue the customer comes from. What other configuration can be used?


Sign in to comment.

1 Answer

Answer by Devdatt Lad on 27 Nov 2012
 Accepted Answer

Unless I'm missing something, the Path Combiner should work for your case. Connect the highest priority queue to input port 1 of Path Combiner, next highest priority queue to input port 2 etc. And set the "Input Port Precedence" parameter on the Path Combiner to be "IN1 port". Connect the output port of the Path Combiner to your single server.
The first entity to enter either of the three queues will be accepted by the Path Combiner and sent to the Server. When the server is done with that entity, the Path Combiner will first ask the block connected to its IN1 port whether an entity is available to be accepted. If so, it will send that entity to the Server. If nothing is available, then it will ask IN2 and so on. Since IN1 is connected to the highest priority queue, it will always get preference, and entities from this queue will be served first.


on 28 Nov 2012
Ah I see thank you!
I have another question though. What if I want to have a dynamic priority queue? For example, queue 1 is not always fixed to be the highest priority. Instead, these priorities can change throughout the simulation. I would like to model a queuing system where the server can select which ever queue to serve, depending on the situations/attributes/signals. Is there some way to use a gate or something, and the trigger to open comes from a signal? (sorry, I'm new to SimEvent) Thanks!
The Path Combiner's "Input Port Precedence" parameter can also be set to "From signal port p". Feed a signal value (1 to number of inputs) to this input port. If the value is 2 then the Path Combiner will first ask the queue connected to its second input port for the entity, and cycle through from there.
on 28 Nov 2012
I see. I will give it a shot! Thank you!

Sign in to comment.