question

pc neo avatar image
0 Likes"
pc neo asked Mischa Spelt commented

experimenter with floworks result not consistent

sample_opt_27Jul_InputSeq_reduceInput_try.fsmAttached is a model that is designed to change the material type of storage whenever a silo goes empty and when the original type of material is exhausted. A list of parameters is used to indicate the type of material to change to when such situation arises. Upon reset, the values in the parameter will be written into a global table named "SiloAllocation".


During my manual run, I have deduced 1 set of change of type of materials for the silos that runs with success. That is, the stop time is lesser than 16301 and Finishedflag as 1.


In order to find all possible combination of changes of type of materials, range-based experiments are setup. However, it is noted that using the experimenter at times the combination that I know will give success, shows as failure in the result of the experimenter. The below is done and purposefully included the combination of my manual run.


a) Setup with only 2 tasks


It is seen that when I setup range-based experiments with only 2 tasks, the result from experimenter is the same as when I manually runs the model. My combination is Scenario 1 and it gives success.


Result can be seen from xx_try1_1_1.sqlite (in attached zip file). It matches to the "Range Based1_1_1" job ( 2 total tasks)


b) Setup with 300 over task

It is seen that the result failed to flag my manual combination to have FinishedFlag value as 1 (refer to scenario 316). Instead the experiementer result indicate the combination that matches my manual run has a FinishedFlag as 0.


I then choose to replicate this scenario from experimenter, the manual result returns FinishedFlag 1.


Result can be seen from xx_try1_1.sqlite (in attached zip file). It matches to the "Range Based1_1" job (324 total tasks)


Question: Is there any advice on what is causing this inconsistency?

FlexSim 23.1.3
experimenterFloWorks
· 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.

Jordan Johnson avatar image
0 Likes"
Jordan Johnson answered Mischa Spelt commented

This does seem very strange. I am investigating this issue.

When I run the job Range Based1_1 (the one with 324 tasks), it looks like many of the scenarios at the start throw exceptions. For me, scenarios 8, 10, 12, 26, and many more have this message in the system console:

  1. time: 4172.165277 exception: FlexScript exception: Invalid row number: 3 in Global Table "SiloAllocation" at MODEL:/Tools/ProcessFlow/ProcessFlow/Compute SupplyRowNo and availOrRequireSpace>variables/codeNode
  2. time: 4172.165277 exception: FlexScript exception: label availOrRequireSpace doesn't exist on token id: 23991 at MODEL:/Tools/ProcessFlow/ProcessFlow/Go where?~2>variables/decision
  3. time: 4172.165277 exception: FlexScript exception: Invalid row number: 3 in Global Table "SiloAllocation" at MODEL:/Tools/ProcessFlow/ProcessFlow/Compute SupplyRowNo and availOrRequireSpace~2>variables/codeNode
  4. time: 4172.165277 exception: FlexScript exception: label availOrRequireSpace doesn't exist on token id: 23991 at MODEL:/Tools/ProcessFlow/ProcessFlow/Go where?~4>variables/decision
  5. time: 4172.165277 exception: FlexScript exception: label ChangeArrivalDate doesn't exist on token id: 23991 at MODEL:/Tools/ProcessFlow/ProcessFlow/increase TimesOfChange on silo if needed>variables/codeNode
  6. time: 4172.165277 exception: FlexScript exception: label SupplyRowNo doesn't exist on token id: 23991 at MODEL:/Tools/ProcessFlow/ProcessFlow/Assign PumpObj,SupplyTankName,ConsumeTankName~2>labels/2/2
  7. time: 4172.165277 exception: Exception caught in start() of activity Flow from silo2xx to silo3xx/Supplying/Set flow trigger in process flow "ProcessFlow". Continuing throw...
  8. time: 4172.165277 exception: Exception caught in Executive::processeventinlist().

I agree that it is strange that the running the model interactively gives a different result than running in a range-based job. My current theory is that this particular exception somehow corrupts something in FlexSim, and that the corruption is not cleared even by restoring the original tree. But I suggest fixing these exceptions first. We can continue our investigation at that point.

· 6
5 |100000

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

pc neo avatar image
0 Likes"
pc neo answered pc neo commented

sample_opt_27Jul_InputSeq_reduceInput_try_edit.fsm

@Mischa Spelt @Jordan Johnson I've fixed the issue on exceptions as well as updated the model to call endreplication(1) when running experiment and stop() when running manually. sample_opt_27Jul_InputSeq_reduceInput_try_edit1_1.zipExperiments with job range is then run again.


Below is my observation:

a) Setup experiment with job range with total tasks of 2

The results collected in experimenter is consistent with results when run manually.

Result can be seen in xx_edit1_1_1.sqlite (in attached zip file)


b) Setup experiment with job range with total tasks of 36

It is observed that results collected from tasks 17 onwards are all "negative" result ie FinishedFlag is 0.


This is not correct as I know that scenario 21 should give a "positive" result ie FinishedFlag should be 1. As this is the result collected when the model is run manually.

Result can be seen in xx_edit1_1_2.sqlite (in attached zip file)


c) Setup experiment with job range with total tasks of 136

Observation is similar to (b) above.

Result can be seen in xx_edit1_1.sqlite (in attached zip file)


Hope to get some advice on what is causing the issue.

Thank you.


· 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.