Jump to content

Batching based on Priority


DavidSowers

Recommended Posts

Hello All,


I have a single Sources that makes 3 different types of parent entities. When these entities exit their first Server through the transfer node, 3 other Sources randomly create Uniform(1,4) of a New type of member entities. I have changed the priority of the member entities, with a on exit add on process, to be equal to the event number of this happening which matches up with the parent Entities with the same priority.


With in the Combiner, I have the matching rule of 'Match Members and Parents' and both Member and Parent expressions of 'Entity.Priority'.


I am still pretty new to Simio but can someone please help with why this might not be working?? Both types of Entities just build up in their respective input queues at the combiner and never combine.


Please help, thanks!

David

Link to comment
Share on other sites

There may be a few different issues going on here-


Firstly Ensure you have input and output buffers, there is occasionally some issues with removing buffers from combiners.


Secondly you weren't very clear on what you use your Random.Uniform(1, 4) on. If this is how your calculating your priority on each entity, the issue may be that this distribution is returning real numbers (as opposed to integers) and the decimals differences invalidate your matching condition on your combiner.


You may want to Math. Floor, Math.Ceiling, Math.Round this distribution to ensure it gives you whole numbers.


Your best bet may be to build a simple model explaining what your trying to accomplish and post it here.

Link to comment
Share on other sites

MikeKk, Thanks for your quick response! I have attached an overly simple version of what I am attempting to show what it looks like. Those are all good points and I actually had some of them incorporated in my model already such as the rounding of the number of member entities created which was the uniform expression.


I am not sure what you mean by the deleting of output buffers but please take a look at the attached and see if this helps explain.


Thanks again for your help!!

David

BatchingHelpModel.spfx

Link to comment
Share on other sites

David -


Glad to see you are getting your hands dirty with Simio. :)


The problem in your model is that you have the Source 2 set to create between 1 and 4 entities per arrival. Your combiner is set to Batch Qty of 4. So if say only 3 entities are created in Source 2, they (and their matching parent) will never pass through the combiner, since they are waiting for the 4th entity.


As a solution I would suggest having either the parent (preferred) or the members carry a reference value to how many batch members are expected. Then use that in the Batch Qty field on the combiner, such that the combiner works with any 1, 2, 3, or 4 batch member sizes.


Sincerely,

Martin

Link to comment
Share on other sites

Martin - Thank you for the response! I am definitely diving in head first :D


I have figured out how to make the priority properties align but to your point, the Parent Entity won't wait for all Members of that same priority to arrive so as soon as it sees the first, it takes it.


Is there a Batch Quantity expression on the Combiner that someone can recommend / or / a combiner property, that will make it wait for the priority to change of the entities in the queue and then take all before that point. or something similar?


Thanks!

David

Link to comment
Share on other sites

×
×
  • Create New...