question

Helen avatar image
0 Likes"
Helen asked Felix Möhlmann commented

Case Study: Dough and Cheese

Hello,

I've tried to replicate Case Study: Dough vs Cheese and I have several questions.

  1. The results suggests to label the maximun time a client is willing to wait (MaxTime). Why don't we use item.MaxTime when making the conditions?
  2. In the combiner I want the number of batches to be different according to a empirical distribution (ProductQ) but I have not been able to do it
  3. I accumulate no customer in the longwait queue, which doesn't seem logical to me and I guess that I'm doing something wrong.

Can someone help with this? I share the model here

FlexSim 22.2.1
lists
· 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.

Jacob W2 avatar image Jacob W2 ♦ commented ·
Hi @Myriam,

Could you please include a link or pdf of the case study you are referencing.

0 Likes 0 ·
Helen avatar image Helen commented ·

Sorry, I thought I did upload the case. Is the case study in the Applied Simulation: Modeling and Analysis using flexsim, page 166.

1662536094850.png


0 Likes 0 ·
1662536094850.png (136.1 KiB)
Jeanette F avatar image Jeanette F ♦♦ commented ·

Hi @Myriam, was Felix Möhlmann's answer helpful? If so, please click the "Accept" button at the bottom of their answer. Or if you still have questions, add a comment and we'll continue the conversation.

If we haven't heard back from you within 3 business days we'll auto-accept an answer, but you can always unaccept and comment back to reopen your question.

0 Likes 0 ·

1 Answer

Felix Möhlmann avatar image
0 Likes"
Felix Möhlmann answered Felix Möhlmann commented

1. I'm not familiar with the case study, so I can't comment on what it suggests to do. But your model does use the "MaxWait" label in the pull strategy of the "Too Long Wait" queue. Did you add this yourself?

2. The default way to change the combiner's components list is through the pick option "Update Combiner Component List With Labels" in the OnEntry trigger. This option assumes that you have set up a global table in which each column represents the component list for the corresponding value of the label you use in the trigger option.

To change the value between one and three you would first assign that value to a label (which you already do) and then refer to a global like the following to set the list.

1662541524723.png

Since in this case the column number and value are equal you can also add that option to the trigger and then customize the code to use the empirical value directly without needing to use a global table inbetween.

1662541618933.png

3. Some small issues that I noticed:

- The "Switching" queue pulls customers where age < 90 when it should be age > 90, so people who are willing to switch will do so immediately upon entering the queue.

- The DoughLine queue content is compared to the value 5 when pulling customers instead of the respective customer label ("MaxLine"). Is this by design?

The main reason why you are not getting any customers that leave the queue due to wait time is that the condition will only be evaluated for each customer once - when it first enters the queue. You need to add an event that tells FlexSim to reevaluate the back orders when the age increases past the threshold.

One way to do this would be to add a reevalution event to the list that listens for message to the "DoughLine" queue. Then, in its OnEntry trigger, it can send delayed messages to itself just after the thresholds of 90s and "MaxWait" (would) have been reached.

1662542059495.png


1662541524723.png (28.0 KiB)
1662541618933.png (23.2 KiB)
1662542059495.png (57.2 KiB)
· 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.

Helen avatar image Helen commented ·

Hello @Felix Möhlmann,

Thank you for the response, and my apologies for not having been able to go back to you before. I was able to change some of the issues that you mentioned but not all.

  1. I was able to create the OnEntryTrigger, Update Combiner Component List With Labels but to be honest I'm not sure what I'm doing with this. What for do you use a global table in the first time? I also don't understand why the global table has 3 columns? Where do I put the information of the globla table? I've tried to put it in the component list - target quantity but I guess I didnt do it correctly.
  2. The DoughLine queue content is compared to the value 5 when pulling customers instead of the respective customer label ("MaxLine"). Is this by design? > That's how the solution on the educational content was. That was the reason for my first question but we have the same doubt so I guess it makes sense to use MaxLine there.
  3. I understand what you are trying to do with the message sending. But why do we update after the MaxWaitingTime? And not for instance every minute?

Thank you very much in advance,

Myriam


0 Likes 0 ·
Jason Lightfoot avatar image Jason Lightfoot ♦♦ Helen commented ·
@Myriam By making this post private you may have denied Felix the opportunity to reply to your follow up questions
0 Likes 0 ·
Helen avatar image Helen Jason Lightfoot ♦♦ commented ·
Sorry for that. I hope that @Felix Möhlmann can see it now.

Thanks

0 Likes 0 ·
Show more comments