# Iterations and Simulations

An iteration is one recalculation of a model during a simulation; a single simulation consists of many iterations. During each iteration, all uncertain variables are sampled once, according to their probability distributions (represented by the @RISK distribution function). Given enough iterations, the sampled values - and the statistics (mean, standard deviation, etc.) - of the sampled distribution approximate the theoretical distributed values (and statistics) for the input distribution. The graph of the sampled distribution will look something like a graph of the theoretical input distribution. The model is recalculated during each iteration using these sampled values.

Accurate results for output distributions depend on a complete sampling of input distributions. It is critical that a simulation include enough iterations so that any inputs have sufficient samples drawn. However, determining how many iterations to run is not a "more is better" scenario; increasing the number of iterations will increase the length of time required to complete a simulation, and once a distribution achieves convergence, additional iterations become unnecessary.

## 'Automatic' Iterations

**Figure 1 - **Automatic Iterations Settings

To assist in determining the appropriate number of iterations for a simulation, @RISK includes a setting of **'Automatic'** . When the Number of Iterations is set to 'Automatic' (or **'Auto'** for the shortcut pulldown in the @RISK Ribbon), @RISK will continue to execute iterations until all distributions have achieved convergence. Once this has occurred, @RISK will end a simulation.

**Please note**: it is not possible to run multiple simulations when using **Automatic Iterations**. If **Number of Iterations** is set to 'Automatic', the number of simulations will be set to one.

## Multiple Simulations

Running multiple simulations within a single simulation run has two major benefits.

The first is for running the same model with different inputs through the use of a**SimTable**. Using a SimTable allows designation of different values for an input for each simulation in a simulation run. For example, a RiskNormal input distribution could be configured with different mean and standard deviation values for each simulation within a run. See the **RiskSimTable** details for more information.

The second is for testing purposes to help verify that a simulation run is configured to include enough iterations and determine if the results are stable; this type of test could be considered an alternate method of convergence analysis. Running this type of analysis requires that the **Sampling Settings** configuration for **Multiple Simulations** is set to **'Use Different Seeds'** . This configuration will force @RISK to use different seed values for generating random values; if each simulation is returning similar results - even though each is using different random values - it can be concluded that the simulation is using enough iterations. If the results are not similar, it may be necessary to use more iterations in each simulation.

## Simulation Names

**Figure 2 - **Simulation Names

When running multiple simulations within a single simulation run, each simulation has its own name. Be default, @RISK names each simulation **'Sim#'** and the number of the simulation (e.g. 'Sim#1' for the first simulation, 'Sim#2' for the second, etc.). This behavior can be overridden, however, and simulations given names manually; this can help distinguish between results, especially in graphs and reports.

**To edit simulation names**, click the **Simulation Names** button (Figure 2, right). The **Simulation Names** window (Figure 3, below) will open. The bold line in the table indicates the number of simulations currently configured to run; additional names can be assigned but will not be used unless the simulation run is configured to include the appropriate number of simulations.

**To name a simulation manually**, enter a value in the name column.

**To copy simulation names from an Excel range**, click the Copy from Range button and select the range that includes the simulation names. **Please note**: this process will only copy the values from the selected cells; **simulation names will not dynamically update if the cell values change**.

**Figure 3 - **Simulation Names Window