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.
{ }