question

Jorge Lizárraga avatar image
1 Like"
Jorge Lizárraga asked Adrian Haws commented

How to process a batch of items at consecutive processors

Hi there,

I am trying to simulate a testing process where each product enter to each testing machine. Products arrive as a family of 2, 4 or 8 products to the testing area; each product should enter to a machine, but the family must stay together, so the products should enter to consecutive machines (Ex. if two products from the same family enter to the testing area, machines 1 and 2 should be used; is not possible to use machines 1 and 3).

How can I make that the products acquire consecutive machines depending of the family name and the quantity of products?

FlexSim 16.2.0
batchprocessorsarraysend to portfixed resource list
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Adrian Haws avatar image
0 Likes"
Adrian Haws answered Adrian Haws commented

Jorge,

I apologize that we haven't gotten back to you on this one. I came up with another model that addresses the issue you mentioned, of allowing the processors to each process different types of families.

What I did was create a global fixed resource list of the processors, then had an array of objects in process flow pull an array of processors from the list. We then move each member of the "item" array to a corresponding member of the "processors" array (each on labels) with a loop. Once all of those processors are done processing, they are pushed back onto the list. The only hidden code I put in here is in the "Change Visual" activity.

Hope this helps.


familyobjects.fsm (24.4 KiB)
· 3
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Adrian Haws avatar image Adrian Haws commented ·
0 Likes 0 ·
Jorge Lizárraga avatar image Jorge Lizárraga commented ·

Hey @Adrian Haws,

This last model works so much better, thanks for the help! There is just one issue left, on the next image you can see that the yellow family is getting the top 2 machines and the bottom 2 machines, and it should have got the top 4 machines because are the nearest ones.

Can you imagine a way to make this possible? I tried to use a labes per each machine and Query on the list by the label called "Machine" but it didn't work.

Thank you so much for the support!

Regards,

Jorge

0 Likes 0 ·
family.jpg (121.0 KiB)
Adrian Haws avatar image Adrian Haws Jorge Lizárraga commented ·

@Jorge Lizárraga I changed the model logic somewhat to incorporate this. Instead of pulling all processors needed at once, they pull the "machine" label associated with a Process Flow label, which is incremented. The loop to pull from the list uses that Process Flow label to decide when it's pulled enough processors. The exception is with the families of 4. To handle those, there is a decide activity to keep those tokens from pulling processors until it will start at processor1 or processor5.

Granted, I'm sure there are simpler ways to do this and that will incorporate more easily with a larger model. If you have further trouble along the way or would like to change how your model logic works, feel free to ask another question here on Answers. Also, let me know if you need any clarification on this model.

0 Likes 0 ·
familyobjects-3.fsm (29.3 KiB)
Adrian Haws avatar image
0 Likes"
Adrian Haws answered Adrian Haws commented

Jorge,

I made a sample model with a scheduled source activity creating different numbers of objects at a time, based on a global table. The objects are then batched as a group, so that they arrive at the processors at the same time. They then acquire a different group of processors, based on the number of objects in the group.

Let me know if this answers your question or if your model has more specifications.


· 1
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Jorge Lizárraga avatar image Jorge Lizárraga commented ·

Hey @Adrian Haws,

Thanks for your early answer. The problem in the real process is that any type of family could ener to any machine, so having separate groups of machines does not work for the model I am working on.

Picture this scenario:

In Queue1 is a family of 4 products waiting to acquire 4 consecutive machines. There are 2 available machines, but due to the fact that there are not 4 consecutive machines available, the products wait until any 4 consecutive machines are available.

0 Likes 0 ·
screenshot-1.jpg (150.7 KiB)