主要内容

随机求解器

何时使用随机求解器

随机仿真算法提供了模拟性质本质上随机反应的实用方法。与确定性解决方案不同,可以将具有少量分子的模型进行实际模拟,即允许结果包含概率的元素。

用随机求解器模拟模拟先决条件

模型先决条件包括:

  • 模型中的所有反应都必须有他们的动力学物业设为mass

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

  • 您的模型不得包含剂量。没有随机溶剂支持剂量。金宝app

此外,如果您在模型上执行个人或人口拟合Configset对象指定随机求解器和选项,请注意,在拟合素生物学期间®暂时更改:

  • 索尔弗蒂默认解决者的财产ode15s.

  • leveroptions.属性到用于确定拟理求解器的选项

随机仿真过程中会发生什么?

在模型的随机模拟期间,如果在模型中存在,软件将忽略任何速率,分配或代数规则。根据模型的不同,随机仿真可能需要比确定性模拟更多的计算时间。

小费

使用随机求解器模拟模型时,可以增加logdecimation.财产的财产Configset对象记录更少的数据点并减少运行时间。

随机仿真算法(SSA)

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

优势

  • 该算法精确。

缺点

  • 因为该算法一次评估一个反应,所以对于具有大量反应的模型可能太慢了。

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

明细的Tau跳算法

由于随机仿真算法对于许多实际问题可能太慢,因此该算法旨在以某种准确度的成本加速模拟。该算法将每个反应视为与其他反应无关。它自动选择时间间隔,使得每个反应的倾向函数的相对变化小于您的误差容差。在选择时间间隔之后,算法计算在时间间隔期间每种反应发生的次数,并对所涉及的各种化学物质的浓度进行适当的变化。

优点

  • 该算法可以比SSA更快的级别。

  • 您可以使用此算法进行大问题(如果问题不是数值僵硬)。

缺点

  • 该算法牺牲了一些精度的速度。

  • 这种算法对僵硬型号不利。

  • 您需要指定错误容错,以便产生的时间步骤是最快时间尺度的顺序。

隐式Tau跳算法

与明确的Tau跳算法一样,隐式TAU跳队算法也是一种近似模拟方法,旨在以一定精度的成本加速模拟。它可以优于显式Tau跳跃算法来处理数值僵硬的问题。对于确定性系统,如果在系统中存在“快速”和“慢速”时间尺度,则据说问题是数值突破。对于此类问题,显式TAU-Leaping方法仅在继续采取最快时间尺度顺序的少量时间步长时执行良好。隐式Tau-跳线方法可能采取更大的步骤,仍然是稳定的。该算法将每个反应视为与他人无关。它自动选择时间间隔,使得每个反应的倾向函数的相对变化小于用户指定的误差容差。在选择时间间隔之后,算法计算在时间间隔期间每次反应发生的次数,并对所涉及的各种化学物质的浓度进行适当的变化。

优点

  • 该算法可以比SSA快得多。它通常比明确的Tau跳跃算法更快。

  • 您可以使用此算法进行大问题,也可以用于数值僵硬的问题。

  • 所采取的步骤总数通常小于显式TAU跳阵算法。

缺点

  • 该算法牺牲了一些精度的速度。

  • 与明确的TAU跳阵算法相比,每个步骤都有更高的计算负担。这导致每个步骤的较大CPU时间。

  • 该方法经常抑制慢歧管的扰动,导致围绕平均值的状态方差降低。

参考

[1] Gibson M.A.,Bruck 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.,Petzold L.(2004),“改善了加速随机仿真的跨级选择”,“化学物理学”,“化学物理学”,119:8229-8234

[6] Rathinam M.,Petzold L.,Cao Y.,Gillespie D.(2003),“随机化学反应系统的刚度:隐式Tau-跳动法”,“化学物理学,119(24):12784 -12794。

[7]致莫尔,C.(2003),“硬差动方程刚度是普通微分方程的数值解中的微妙,困难,重要的概念,”Matlab新闻和笔记。

相关例子

更多关于