question

Rahul T5 avatar image
0 Likes"
Rahul T5 asked Kavika F commented

Pull from Item List

BodyColor.fsm

Hello,
I am trying to simulate optimum queue size between two shops: Shop 1 (batch size of 5) feeds Shop 2 (no batching requirement). There are 10 variants with different mix percentages. I created a pseudo-random sequences for both shops. For Shop 2: 100 entries with said mix percentages. For Shop 1: 500 entries with same variant sequrence as Shop 2. Queue between shops pushes items to ItemList and Shop2 pulls from itemlist. But this does not help with right sizing the queue.
What will be the best way to randomize the pull order for Shop2 and trigger the batch sequence in sync with the demand from Shop 2.

1667262632297.png


FlexSim 22.2.0
pullrequirementpulling item list
1667262632297.png (16.4 KiB)
bodycolor.fsm (233.0 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.

Kavika F avatar image Kavika F ♦ commented ·
Hey @Rahul T5, could you clarify what you mean by "trigger the batch sequence in sync with demand from Shop 2"? Also, it helps us when the names you use in your question match the names of objects in your model - that way we can understand your question easier, thanks!
0 Likes 0 ·
Rahul T5 avatar image Rahul T5 Kavika F ♦ commented ·

Sure thing. Meaning shop 2 can randomly (and independently) pull one of the 10 labels (BodyColor in this case) from Queue. And based on the queue content and WIP on “conveyor Shop1”, this can trigger which label will be processed next by shop 1.

0 Likes 0 ·
Jeanette F avatar image Jeanette F ♦♦ commented ·

Hi @Rahul T5,

We haven't heard back from you. Were you able to solve your problem? If so, please add and accept an answer to let others know the solution. Or please respond to the previous comment so that we can continue to help you.

If we don't hear back in the next 3 business days, we'll assume you were able to solve your problem and we'll close this case in our tracker. You can always comment back at any time to reopen your question, or you can contact your local FlexSim distributor for phone or email help.

0 Likes 0 ·

1 Answer

·
Kavika F avatar image
0 Likes"
Kavika F answered Kavika F commented

Hey @Rahul T5, in response to pulling a random entry off the list, you can try this approach. I removed the "meetsrequirement" expression and the "Type" label from the ItemList1 properties. Then I added the "BodyColor" label to the ItemList1 so we could pick items based on that. Then I added some code that generated a query based on a random duniform distribution:

if (list.entries().length > 1) {
  Object queue = Model.find("QueueSizeToOptimize");
  treenode flowitem = queue.subnodes[duniform(1, queue.subnodes.length)];
  int bodyColor = flowitem.labels["BodyColor"].value;
  queryStr = "WHERE BodyColor = " + bodyColor;
}

Basically, I'm pulling a random flowitem from the queue, grabbing its color, and pulling any item from the list with that color.

· 4
5 |100000

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

Rahul T5 avatar image Rahul T5 commented ·

Hi @Kavika F,

Just to confirm, the custom code you posted above will be the "Pull Requirement" under Input panel?

0 Likes 0 ·
Jason Lightfoot avatar image Jason Lightfoot ♦ Rahul T5 commented ·
No that code was edited from the Pull Strategy.


Can I confirm that you want to pull the same ratio as per the table of items randomly onto shop2 but up to a limit of 100? So when it's empty you'll just try to get as close as possible? Is there a minimum dwell time in the store for painted bodies?


0 Likes 0 ·
Rahul T5 avatar image Rahul T5 Jason Lightfoot ♦ commented ·
Hi Jason,


yes, I wanted to model pulling from a list of 100 - so that as the product mix % changes, there is only one place I will need to make an update.
0 Likes 0 ·
Show more comments

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

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