Jump to content
Simio Forum

Batching without combiners


Recommended Posts

I have a part that arrives every 10 minutes in varying batch sizes. The batch size varies and is uniformly distributed [Random.Unifrom(1,5)].


These parts then need to travel together in the batches they arrived in (no traveler necessary or vehicle) and moved to a processing station[server].


At the Server these parts need to be processed one at a time and then batched together again at the output buffer. Once all parts in a particular batch have been processed, they can then be transferred to the next Server to again be processed one by one.


I have seen a video online that used Add-On Processes at the SourceOutputNode to batch these together however, this acts as a substitute for using a combiner and separator and I am instead tying to model a scenario whereby parts of the same type only move to the next station once the entire batch is complete.


I have tried using Add-On Process Triggers with the Batch, UnBatch and Delay function to no success. Any help or tips on how to proceed with this would be highly appreciated.

Link to post
Share on other sites

Hi Dave, thank you for that. The challenge I have with my model is batching the different types of entities based on the batch size that has been drawn from a Uniform distribution (1,8).


I need to somehow get the model logic to essentially recognise every newly formed batch of entities as a unique set of parts that are batched together after processing and unbatch before processing. These parts need to then be transferred in their unique batches to the various servers as well.


I'm not sure if this is possible, but I will keep giving it a go. If I do find a way to do this, I will gladly share it on this.


thanks again for your response.

Link to post
Share on other sites

Is there a reason that you need to model the individual parts as entities? What about modeling the batches as the only entity, and setting a state variable representing the batch size N. Then you could have each server delay an additional N-1 times using an add-on process. You could also put that processing logic in a sub-classed server, if you wanted the server to execute the process entirely (rather than have the model execute an add-on process).


-Adam

FakeBatching.spfx

  • Like 1
Link to post
Share on other sites

Adam has a good approach. You can make that even simpler by using a Math feature to calculate the total processing time.


For example if each item required Random.Uniform(4,8.5) time to process and you had a state named NumberInBatch, then your processing time expression might be

Math.SumOfSamples(Random.Uniform(4,8.5),NumberInBatch).

Link to post
Share on other sites
×
×
  • Create New...