随机解算器

何时使用随机的解决者

所述随机模拟算法提供用于模拟在本质上随机反应的实用的方法。用少量的分子模型可以现实地随机模拟,即,允许所述结果包含概率的元件,不像确定性溶液。

模型的前提条件模拟了随机求解

型号先决条件包括:

  • 模型中的所有反应必须有自己的KineticLaw属性设置为MassAction

  • 如果模型包含的事件,你可以模拟使用随机SSA求解。其他随机解算器不支持的事件。金宝app

  • 您的模型不能包含剂量。没有随机求解器支持剂量。金宝app

此外,如果你对他们的模型执行个体或群体配件Configset对象指定一个随机求解器和选项,要知道,配件SimBiology期间®临时更改:

  • SolverType属性的默认求解器ode15s

  • SolverOptions属性选项最后配置的确定性求解

什么在一个随机模拟发生了什么?

在模型的随机模拟,软件会忽略任何率,转让,或代数规则,如果出现在模型中。根据型号的不同,随机模拟可能需要更多的计算时间比确定性模拟。

小费

当使用随机求解仿真模型,你可以增加LogDecimation财产configset对象记录较少的数据点,减少运行时间。

随机模拟算法(SSA)

化学主方程(CME)描述了概率分布的时间演化方面的化学系统的动态特性。直接求解这种分布是不切实际的最现实的问题。随机仿真算法(SSA),而不是有效地产生是与所述CME一致个体模拟,通过模拟使用其倾向函数中的每个反应。因此,分析多个随机模拟,以确定所述概率分布比直接求解CME更有效。

优点

  • 这种算法是精确的。

缺点

  • 由于这种算法评估一次一个反应,它可能是有大量的反应模式太慢。

  • 如果有任何反应物分子的数量是巨大的,它可能需要很长的时间来完成模拟。

明确的头,跳跃的算法

由于随机模拟算法可能是许多实际问题太慢,该算法旨在加快模拟一些精度的成本。该算法将每个反应为独立于其他的。它自动选择的时间间隔,使得在功能倾向对于每个反应的相对变化小于你的错误容限。选择时间间隔之后,算法计算该时间间隔期间发生的每个反应的次数,使所涉及的各种化学物质的浓度进行适当的更改。

优点

  • 该算法可以是数量级比SSA更快。

  • 您可以使用此算法对于大问题(如果该问题不在于数字僵硬)。

缺点

  • 这种算法牺牲了一些精度速度。

  • 该算法是不好的僵硬模式。

  • 你需要指定的误差容限,这样所产生的时间步长在最快的时间刻度的顺序。

隐头,跳跃的算法

就像明确tau蛋白跳跃算法,隐含的tau蛋白跨越式算法也是仿真设计,可以加快一些精度的成本模拟的近似方法。它可以处理数字刚性问题较明确的tau蛋白跳跃算法更好。对于确定性系统,一个问题被认为是数字僵硬,如果有“快”和系统中存在的“慢”的时间尺度。对于这样的问题,明确tau蛋白跳跃方法执行,如果它继续好只取那些在最快的时间刻度的顺序的小的时间步骤。隐式的tau-跳跃方法可能采取更大的步骤,并且仍然是稳定的。该算法将每个反应为独立于其它的。它会自动选择的时间间隔,使得在每个反应的倾向函数的相对变化小于用户指定的误差容限。选择时间间隔之后,算法计算该时间间隔期间发生的每个反应的次数,使所涉及的各种化学物质的浓度进行适当的更改。

优点

  • 该算法可以比SSA要快得多。这也是通常比明确的tau蛋白跳跃算法快。

  • 您可以使用此算法对于较大的问题,也为数字刚性问题。

  • 所采取的步骤的总数通常比明确化tau-跳跃算法更少。

缺点

  • 这种算法牺牲了一些精度速度。

  • 有每个步骤相比,明确tau蛋白跳跃算法更高的计算负担。这导致每一步一个更大的CPU时间。

  • 这种方法经常衰减慢歧管通向关于均值还原态方差扰动。

参考

[1]吉布森M.A.,布鲁克J.(2000)“与许多物种和许多频道化学系统的精确随机模拟”,物理化学杂志,105:1876至1899年。

[2]的Gillespie D.(1977),“精确耦合化学反应的随机模拟”,物理化学杂志,81(25)的:2340至2361年。

[3]的Gillespie D.(2000),“化学Langevin方程,” [化学物理学,113(1):297-306。

[4]的Gillespie D.(2001),“近似​​加速化学的随机模拟起反应系统” [化学物理学,115(4):1716至1733年。

[5]的Gillespie D.,彼佐尔德L.(2004),“用于加速随机模拟改进飞跃尺寸选择,” [化学物理学报,119:8229-8234

[6] Rathinam M.,彼佐尔德L.,曹Y.,Gillespie的D.(2003),“在随机化学刚度起反应系统:隐τ-跨越的方法,”化学物理学报,119(24):12784-12794。

[7] Moler,C.(2003),“刚性微分方程刚度是常微分方程的数值解一个微妙的,困难的,并且重要的概念,” MATLAB新闻和注记。

相关的例子

更多关于