EZStrobe Model Options


EZStrobe Model Logic and Options

One of the greatest advantages and design achievements of EZstrobe is the fact that everything that defines the logic of an EZStrobe model is visible on the model's activity cycle diagram (the model network). Only those elements that define the overall simulation control are not shown on the network. Those elements are:

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

All of the above, except for the options related to extended Queue statistics, are defined by using the Model Options form.


The Model Options Form

The Model Options form is invoked by right-clicking on any unoccupied area of the model page to bring up the context options form (shown on the left below) and then selecting Edit Model Parameters. This brings up the Model Options form with the default values shown on the right below.

EZStrobe Model Options Dialog
EZStrobe Model Parameters
    
Simulation Stop Conditions

Key options for any EZStrobe model are those grouped under the 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 simulation models for beginners are designed to stop when the model runs out of resources and thus no activity can start (such as, when "all soil has been excavated and moved"). This usually indicates that the desired amount of work (e.g., earthmoving) has been completed. Such models, however, could keep running forever if prepared incorrectly. Setting the default Time limit at 100,000 (which is a relatively high value) acts as a safeguard and forces runaway models to stop.

Another common beginner mistake is to forget to increase the Time limit from its default value of 100,000 for models that should last much longer (in terms of simulated time). In such cases, the amount of work simulated will be smaller than expected.

The maximum value for Time limit should not exceed 10^300 (which is close to 10^308, the largest possible time that simulation can reach without generating an overflow error). Such high limits, however, should only be used after the model has been verified to work correctly.

If a Control activity is specified, simulation will stop as soon as the indicated activity has started as many times as specified by the Limit field to its right. This simulation stop condition should be used with care because it controls the number of times that the control activity is allowed to start and not the number of times it actually ends.

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.

If multiple stopping conditions are specified, simulation will stop as soon as any one of the above stopping conditions is reached.

A simulation will also stop if the model runs out of resources. Technically, this means that no activities can be instantiated with the current resources available. When this happens, the simulation output will indicate that the Future Events List is empty at the time the simulation ends. An empty Future Events List indicates that (a) all activity instances that could have been started have been completed, and (b) no more activity instances can be created.


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 during simulation will be the same, and as a consequence, the simulation output will be identical, regardless of how many times the simulation is run. If a Seed is not specified explicitly, each simulation run will choose a different seed "at random" and thus produce different results. Specifying a Seed is useful during model development for debugging and model verification.

More sophisticated models, especially those whose output needs to be compared with that of  competing alternative models, need to use a separate and independent stream of random numbers for each source of uncertainty (e.g., each activity with a stochastic duration should have its own dedicated stream of random numbers). 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 which specifies the stream that will be used to generate samples. The number specified must not exceed 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 verification (debugging) features.

When Animate and enable breakpoints is checked, EZStrobe will animate the model's network during simulation and allow the simulation to proceed automatically, by time step, or by event. More details are available here: EZStrobe ACD Animation.
Note: When a model is no longer being verified, the Animate and enable breakpoints options should be turned OFF to allow simulation to run much faster (by orders-of-magnitude).

The Produce a trace output for debugging option generates a second output window inside the Stroboscope IDE when the simulation is run. The second output window contains a very detailed sequential listing of all the events that occurred during a simulation run. The kind of details included in the trace output is controlled by Stroboscope's Trace Options which can be selected in the Stroboscope IDE by the menu sequence File > Options... > Trace Flags. The trace output option is available primarily for advanced users. In most cases, EZStrobe model verification can be carried out more easily by using EZStrobe's ACD animation.


Multiple Replications

After a simulation model has been verified and is considered to be correct, it is useful to run multiple simulations of the same model (i.e., multiple replications) and produce a statistical sample for each model result that may be of interest. This provides insight into the distribution and variability of each selected model output.

The number of replications is specified by the Number of simulations to run.


Multiple Replications Statistics Table

When more than one replication is specified, EZStrobe's simulation report will automatically include a very useful table whose columns include all Results defined in the model (except those that have their No Print Result property set to True). Each row in this table corresponds to one simulation run and shows the value of each Result for that replication. The bottom of this table shows the overall statistics for the Results over all replications. These include the average, standard deviation, minimum and maximum.