Tau Leaping Algorithm

This models implements the TauLeaping algorithm, as published in Cao2005.

The tau-leaping algorithm speeds up the SSA algorithm by approxiamting the number of firings for each reaction channel during a chosen time increment (tau) as a Poisson variable. This algorithm avoids negative reactants using a simple trick and it is generally more accurate thant other variants using a Poisson procedure.

Usage

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

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.

Nc
  • Usage: e[“Solver”][“Nc”] = integer

  • Description: TODO.

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

  • Description: Error control parameter, larger epsilon leads to larger tau steps and errors.

Acceptance Factor
  • Usage: e[“Solver”][“Acceptance Factor”] = real number

  • Description: Multiplicator of inverse total propensity, to calculate acceptance criterion of tau step.

Num SSA Steps
  • Usage: e[“Solver”][“Num SSA Steps”] = integer

  • Description: Number of intermediate SSA steps if leap step rejected.

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,
"Poisson Generator": {
    "Mean": 1.0,
    "Type": "Univariate/Poisson"
    },
"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.

{    }