EZStrobe Model Options

In EZStrobe, almost everything that defines a model is visible in the model’s activity cycle diagram. Exceptions are:

  • The simulation stopping conditions.
  • The number of random number streams and the seed used to initialize them.
  • Some options for extended collection of statistics associated with Queues.
  • The number of replications.
  • Whether to animate the activity cycle diagram during simulation.
  • Whether to generate a trace file in the Stroboscope output.

All the above, except those related to extended Queue statistics, are visible and editable in the Model Options form. To invoke this form, right-click on an unoccupied space of a model page and select Edit Model Parameters.

image

The Model Options form with its default values is shown below:

image

Simulation Stop Conditions

The options most relevant to the behavior of the model are those grouped under Simulation Stop Conditions.

The Time limit, as its name indicates, will stop a simulation as soon as the simulated time exceeds the specified value. The default is 100,000 time units. Many beginner simulations are designed to stop when no more resources are available to continue simulating, which usually indicates that the desired amount of work represented by the operation is completed. The default Time limit is set at 100,000 so that an incorrectly prepared model will stop at some point rather than keep on going forever. A common beginner mistake is to leave the Time limit at its default value in simulations that are expected to last much longer (in terms of simulated time) – in these cases the amount of work simulated will be smaller than that desired. For cases where a model is known to work correctly, it is advisable to set the Time limit to a very large number, such as 10^300 (which is close to 10^308, the largest possible time that simulation can reach without generating an overflow error).

If a Control activity is specified, simulation will stop as soon as the indicated activity starts the number of times specified in the Limit field to its right.

If a Control queue is specified, simulation will stop as soon as the content of the indicated queue reaches the value specified in the Limit field to its right.

Simulation will stop when any of the stopping conditions is reached. If the reason for termination is the inability to continue because no more activities can be instantiated with the current resources available, the simulation output will indicate that the Future Events List is empty at the time of simulation end.

Random Number Control

Stochastic simulations such as those modeled by EZStrobe depend on random numbers to incorporate uncertainty. When a Seed is specified in the Model Options, the sequence of random numbers used (and as a consequence the output) will be identical, regardless of how often the simulation is run. If a Seed is not used, every simulation will develop in different ways and yield different results. Although different, these results will follow a certain distribution which is the truly useful outcome. Setting a Seed is useful during model development because it allows the modeler to follow the steps of a simulation in an identical manner between runs.

More sophisticated models, especially those whose output need to be compared with those of another alternative model, need to use a separate and independent stream of random numbers for each source of uncertainty. The Number of Streams tells EZStrobe how many independent random number streams to make available to the simulation. When a Number of Streams is specified, functions that sample from probability distributions allow an extra parameter to specify the stream that will be used to generate samples. The number specified must be equal to or smaller than the Number of Streams specified in the Model Options.

Single Replication Options

When a model is being run only once, particularly during its development, the Single Replication Options enable EZStrobe’s model verifcation (debugging) features.

When Animate and enable breakpoints is checked, simulations will animate the model’s network and allow it to proceed automatically, by time step, or by event. More details are available in the article EZStrobe ACD Animation. When a model is not being verified, the Animate and enable breakpoints options should be turned off, since this will result in a simulation speed orders of magnitude faster.

When Produce a trace output for debugging is checked, a second output will be generated in the Stroboscope IDE when the simulation is run. This output will contain a sequential listing of all the events that occurred in a simulation. The details that are output can be controlled using Stroboscope’s trace options invoked using the menu sequence File->Options…->Trace Flags in the Stroboscope IDE. This option is available for advanced modelers. Most EZStrobe verification can be carried out more effectively using EZStrobe ACD animation.

Multiple Replications

When a model is fully verified and believed to be completely correct, it is useful to run the simulation multiple times in order to understand the distribution of selected model outputs. To do this, you can specify the Number of simulations to run. When more than one single replication is specified, EZStrobe will produce tabular output with one row for each simulation run. In each row, the values of all Results will be listed, with the exception of those that have their No Print Result property set to True.