question

Kulan Gunawardena avatar image
1 Like"
Kulan Gunawardena asked Joshua S commented

Inputting Setup Times as Scenarios for the Experimenter

Background: I am using the FlexSim experimenter to compare two scenarios for the same Assembly Station - one scenario with a setup time with a mean of 10 mins (600s) and a min value of 7.5 mins (450s), and another scenario with a lower setup time that has a mean value of 8 mins (480s) and a min value of 6 mins (360s). The setup times assume a beta distribution. In either case, I am using scripts.

Scenario 1: As you can see in the script, the setup time is denoted by: beta(450, 1100, 1.5, 5, getstream(current))/**/; (I would like this setup time to be treated as Scenario 1)

I would like another setup time denoted by 'beta(360, 880, 1.5, 5, getstream(current))/**/;' which can represent Scenario 2.

What I've tried to do:

I am wondering if this was the proper way to go about it, as the Throughput in either scenario is the same and I am unsure if it should be? Many thanks

FlexSim 18.2.3
experimentersetup timescenarioexperimenter variablebeta distribution
5 |100000

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

Joshua S avatar image
1 Like"
Joshua S answered Joshua S commented

Take a look at this sample model. The Processor has a label called Scenario where it is changed by the Experimenter to a 1 or 2. The Process time is by case, Which looks at the label on the processor.

experimenter.fsm


experimenter.fsm (241.5 KiB)
· 2
5 |100000

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

Kulan Gunawardena avatar image Kulan Gunawardena commented ·

Thanks for getting back to me. I think I could do that, however, I'm concerned that there are details in my script (attached below) that might be lost, thus affecting the rest of the model. For instance, Station 1 performs a setup at alternating batches of 20 items denoted by 'int batchnumber = /**\nBatch size: *//***tag:batch_num*//**/20/**/;' and I'm not sure how using 'Values By Case' would account for this. There's also a part of the script in the last seven lines that ensures reworked items neither get setup nor processed at Station 1.

Is there no way of sampling the 'beta(450, 1100, 1.5, 5, getstream(current))' part of the script from the way I've made my model, so that I can have another Scenario in the experiment where I have '360' and '880' instead of '450' and '1100'?

I also wonder if my script for batch processing setup time and your script for the sample model provided for process time by case could somehow be merged, along with using labels to distinguish between the two scenarios for the Experimenter?

batch-processing-script.txt

sample-model-script-process-time-with-values-by-ca.txt

Hope that makes sense, and apologies as I'm inexperienced with FlexSim.

0 Likes 0 ·
Joshua S avatar image Joshua S Kulan Gunawardena commented ·

Can you upload your model, I'll be able to then better customize your model so you can make adjustments as needed. another way to do it is just have several labels on your processor that replace the numbers, then just reference these labels in your experimenter.

for example, add labels on your processor called "LowerBounds" and "UpperBounds" and then in your script you can use

beta(current.LowerBounds, current.UpperBounds, 1.5, 5, getstream(current)
0 Likes 0 ·
Joerg Vogel avatar image
0 Likes"
Joerg Vogel answered

The experimenter can change any label very easily.

You can set the different parameters of a statistical distribution or the batchsize by labels.

normal(current.myMeanLabel, current.myStdDevLabel, current.myStreamLabel)

Or for a batchsize

current.myOwnBatchSizeLabel

I put the number labels in an object and give them the appropriate names.

  • myMeanLabel
  • myStdDevLabel
  • myStreamLabel
  • myOwnBatchSizeLabel
5 |100000

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