Choosing from a list of resources/workers whichever becomes available first

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.
Post Reply
Posts: 2
Joined: Wed Dec 02, 2015 8:02 am

Choosing from a list of resources/workers whichever becomes available first

Post by manudelara » Wed Apr 13, 2016 8:24 am


I am trying to model a process that needs to be processed by whichever resource/worker becomes available first. I have four workers, who are undertaking other tasks simultaneously. I have tried creating an object list with all four resources, but I dont seem to be able to find the right selection expression for what I am trying to model, could anyone help with this?

Also, in an experiment I am trying to assess how the number of total parts that are in a station´s input buffer and processing station varies with time. I would like to get values of average and maximum number of entities in the stations, so I need to monitor this somehow. I have realised that if I just add the maximum values I will not be necessarily getting the right answer, as the maximum values of each could have happened at different points in time.

Any help will be very much appreciated!!

Posts: 9
Joined: Mon Jan 11, 2016 10:57 am

Re: Choosing from a list of resources/workers whichever becomes available first

Post by devdatta » Wed Apr 13, 2016 12:38 pm

For selecting a available resource from a list of resource you can use a selection expression like 'Candidate.Resource.Capacity.Remaining' and and set the Selection goal to 'Largest Value'. What this will do is, it will give priority to a Resource with highest available capacity ( in this case 1) indicating that a resource is available for seize and seize the available resource.

You can use a state variable to track the number of entities that enter the server. Whenever an entity enters the 'Input Buffer' of the server, assign the number of entities present in the buffer and the processing station to a state variable ( Using Server.InputBuffer.Contents+Server.Processing.Contents) and when the entity is leaving the server, decrement the value of the variable by 1. Use a state statistic element to keep time persistent statistic on the state variable. Use Statestatistic in the experiment response to report maximum and average number of entities.

If you share this same state and statestatistic across multiple servers, then you will see statistics about ALL the servers.

Post Reply