SSA (Stochastic Simulation Algorithm)

The Gillespie algorithm (1977) simulates trajectories of a stochastic equation system (reactions) for which the rates are known. If the number of reactants is high, the time steps become small and the algorithm stalls. This behaviour is alleviated in the tau-leaping algorithm.

Usage

e["Solver"]["Type"] = "SSM/SSA"

Results

These are the results produced by this solver:

Mean Trajectory
  • Usage: e[“Results”][“Mean Trajectory”] = List of Lists of real number

  • Description: Binned mean of trajectory, averaged over all simulation runs.

Variable-Specific Settings

These are settings required by this module that are added to each of the experiment’s variables when this module is selected.

Configuration

These are settings required by this module.

Simulation Length
  • Usage: e[“Solver”][“Simulation Length”] = real number

  • Description: Total duration of a stochastic reaction simulation.

Diagnostics / Num Bins
  • Usage: e[“Solver”][“Diagnostics”][“Num Bins”] = unsigned integer

  • Description: Number of bins to calculate the mean trajectory at termination.

Simulations Per Generation
  • Usage: e[“Solver”][“Simulations Per Generation”] = unsigned integer

  • Description: Number of trajectory simulations per Korali generation (checkpoints are generated between generations).

Termination Criteria

These are the customizable criteria that indicates whether the solver should continue or finish execution. Korali will stop when at least one of these conditions are met. The criteria is expressed in C++ since it is compiled and evaluated as seen here in the engine.

Max Num Simulations
  • Usage: e[“Solver”][“Max Num Simulations”] = unsigned integer

  • Description: Max number of trajectory simulations.

  • Criteria: _maxNumSimulations <= _completedSimulations

Max Model Evaluations
  • Usage: e[“Solver”][“Max Model Evaluations”] = unsigned integer

  • Description: Specifies the maximum allowed evaluations of the computational model.

  • Criteria: _maxModelEvaluations <= _modelEvaluationCount

Max Generations
  • Usage: e[“Solver”][“Max Generations”] = unsigned integer

  • Description: Determines how many solver generations to run before stopping execution. Execution can be resumed at a later moment.

  • Criteria: _k->_currentGeneration > _maxGenerations

Default Configuration

These following configuration will be assigned by default. Any settings defined by the user will override the given settings specified in these defaults.

{
"Diagnostics": {
    "Num Bins": 100
    },
"Model Evaluation Count": 0,
"Simulations Per Generation": 1,
"Termination Criteria": {
    "Max Generations": 10000000000,
    "Max Model Evaluations": 1000000000,
    "Max Num Simulations": 1
    },
"Uniform Generator": {
    "Maximum": 1.0,
    "Minimum": 0.0,
    "Type": "Univariate/Uniform"
    },
"Variable Count": 0
}

Variable Defaults

These following configuration will be assigned to each of the experiment variables by default. Any settings defined by the user will override the given settings specified in these defaults.

{    }