Simio
  • queuing at server1 when server2 is busy

  • General Simio discussions. THIS IS *NOT* A GOOD PLACE FOR SUPPORT QUESTIONS.
    To limit spam this and all Public Forums have very limited ability to attach files. We recommend that support issues and more technical topics be initiated inside one of the Simio Insider (SI) forums below where you can attach your model and see example solutions. See above Welcome forum to join Simio Insiders.
General Simio discussions. THIS IS *NOT* A GOOD PLACE FOR SUPPORT QUESTIONS.
To limit spam this and all Public Forums have very limited ability to attach files. We recommend that support issues and more technical topics be initiated inside one of the Simio Insider (SI) forums below where you can attach your model and see example solutions. See above Welcome forum to join Simio Insiders.
 #3688  by mmashaie
 Tue Apr 30, 2013 2:28 pm
Hi,
I have a few servers and paths in my model. I am trying to queue up my entities in the input buffer of server1 when there are too many entities at server2. I am able to set server2's capacity to 3, but I can't seem to set an inputbuffer capacity to server2. I thought I can set the selection weight on my path to server1 to say math.if(server2.inputbuffer.contents>1,0,1), but that doesn't seem to work.

I can't seem to find any SimBits on this either.

Any help would be appreciated. Thanks.
 #3689  by dsturrock
 Tue Apr 30, 2013 10:11 pm
Sure. You can make tightly coupled servers by connecting them with a Connector and having Server1 output buffer capacity and Server 2 input buffer capacity set to 0.

But it sounds like you want more loosely coupled servers, so for example you could set:
-Server1 Output Buffer is 0 (nothing waits there)
-Path2 Capacity is 1 (only 1 can wait there)
-Server2 Input Buffer is 1 (only 1 waits there)
-Server1 Capacity is 1 (only 1 can be there)
So you can have a total of up to 3 entities in or on the way to Server 2. Beyond that Server1 will be blocked and and additional entities will wait in Server1 Input Buffer.

(I would have attached a model if you had posted this in an SI folder, but attachments are limited in these public folders.)
 #3693  by mmashaie
 Wed May 01, 2013 11:40 am
Thank you very much. I was able to create a new model with two servers and have my entities queue up in the server1's input buffer.

Then I tried to do something similar with three servers where I want server1's input buffer to have entities queue up when server3 is busy. I have server2 in between server1 and server3. I set server2's input and output buffers to 0 and set server1 and server2 and paths as described below. Is this correct, to set the in between server's input and output buffers to 0? Everything seems to work as expected and I get a long queue at server1's input buffer. I also used a rate table with many entities going through.

An interesting thing I noticed was that if I change server1 and server2 process times to 3 and 2 seconds respectively and leave server3 process time to the default random.triangular(.1,.2,.3) minutes. I also changed a few selection weights. I barely ever get a queue at server1 input buffer, and when I do, the time in queue is very small. I would have expected a significant queue with the rate table I am using. Does this sound correct? I also ended up getting a Simio error that I ended up sending to Simio, subject [SIMIO EXCEPTION REPORT] from mmashaie. This email includes the model.

Thanks again. Your help has been great.
Maryam
 #8430  by YavuzKahraman
 Mon May 22, 2017 2:27 pm
HELLO,

before asking my question ı want to make some explanations about the model.

1- the model is source- server 1, server2 - sink. server1 and server2 has
no connection. source connceted with this two servers and two servers
linked to the sink. each server has different processing times.

2- server1 is required 5 minutes in every 10 hours while server2 is
required 6 minutes in every 8 hours. server1 cannot give service during the
maintenance and maintenance cannot start if there are customers in queue.

3- when either server finishe serving a customer, server takes the next
customer from the server's queue, if any, and if server's queue is empty
but the other is not, server takes the first customer from the other queue.

My question is how to build this model? could you please help me???
 #8436  by dsturrock
 Fri May 26, 2017 5:40 pm
In 9.148 and later we introduced Reneging functions that make this easier. And one of our SimBits is very close to your request. Search the help or SimBits for "Reneg"