question

Ana Benavides avatar image
0 Likes"
Ana Benavides asked Felix Möhlmann commented

Need Help with Logical Parameters in FlexSim Experimenter

P.2_Modelo_LasSimulaches_Completo_autosave.fsm

Hi everyone,

I’m working on a simulation project in FlexSim for a university office in Ecuador, specifically for the Scholarships and Financial Aid department that provides services to students. The goal of the model is to evaluate different operational configurations through a Design of Experiments (DOE) using the Experimenter tool.

I’ve defined three qualitative input factors, each with three levels:

Factor 1 – Active service modules
Represents how many of the 8 service modules are active during a shift.
Levels: 7 / 6 / 5 modules active
This is a simple numeric parameter and it's already working properly in the Experimenter.

Factor 2 – Staff composition by specialization
We have three types of operators:

  • A: Specialists in Financial Aid

  • B: Specialists in Scholarships

  • M: Mixed operators (can handle both services)
    Levels evaluated:

  • 3A – 3M – 2B

  • 1A – 6M – 1B

  • 2A – 4M – 2B
    The challenge here is that these levels reflect logical changes in staff assignment and roles, not just a single numeric value.

Factor 3 – Staff speed (service time)
Operators are classified as either:

  • R: Fast

  • L: Slow
    Levels evaluated:

  • 4R – 4L

  • 6R – 2L

  • 8R – 0L
    Just like factor 2, what changes is the internal logic and processing time attributes assigned to each operator.

My goal:
To use the Experimenter to automatically run these scenarios, defining the factors as Parameters and collecting Performance Measures. However, I’m struggling with how to implement factors 2 and 3, since they aren’t simple numeric inputs.

I would really appreciate help with the following:

  • How can I define these logical configuration changes (staff type and speed) as parameters for the Experimenter to manage automatically?

  • Would it be better to use labels, global tables, Process Flow logic, or other tools that react to parameter values?

  • Are there any examples or recommended approaches for handling qualitative/logical factors within the Experimenter framework?

I’m attaching the FlexSim model (.fsm) I’ve built, in case anyone is willing to take a look and provide more specific guidance.

Thanks so much in advance for any support or suggestions you can provide!

FlexSim 25.1.0
simulationexperimenter variable3d simulationdoe
5 |100000

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

1 Answer

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

First, you will need to make the flow of items/people variable, allowing any processor to receive any item. Meaning all processors are connected to one common queue. Then you can constrain which types each processor receives by using the Pull Requirement, as you have already done for the "Pauli" processor. The Pull Requirement can then depend on a parameter (or label set by a parameter).

For the speeds, I would create a table that contains each possible speed value (each combination of type and speed of processor). In the process time field you then read from that table, again depeding on a parameter or label to know what speed and thus column (or row) is assigned to the processor.

I think you will need to define the type and speed for each processor individually, simply because only having the total number of those values does not define which processors are fast and which are slow. You could then of course add a couple of 'dummy' parameters in which you enter the totals to make the analysis of the experiments easier.

type-assignment-by-parameter.fsm

Apart from the OnSet code of the parameters, which is entirely custom, some default options on the processors are edited slightly to make them work.

In the process time field, I changed the way the value is read from the table, to allow to pass in the random number stream of the individual object.

capture1.png

In the Pull Requirement, the code is setup to allow you to enter individual values into the GUI. Since I already pass in an array, I removed the square brackets that normally make the values into an array. Otherwise I end up with a nested array and the code no longer works correctly.

capture2.png


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