Module 02 · 系统动力学

存量是记忆,
流量是变化率。

一句话:SD 不追踪个体事件,而是把世界抽象成存量(积累)与流量(变化率),用反馈回路解释结构如何决定行为,用数值积分让时间连续流动。这一页拆开 SD 的内部构造:存量-流量图如何运转、反馈回路如何闭环、以及欧拉法与龙格-库塔如何把微分方程变成计算机上的连续时间。

01 · 直觉与定义

从一只浴缸开始:水位是存量,水龙头是流入,排水口是流出。你不需要记住每一滴水何时进来——水位本身就是全部历史的记忆。SD 的世界里没有「第 3047 秒发生了什么」,只有「此刻水位多高、变化多快」,以及「是什么结构让水位这样变」。

时间因此是连续的:与 DES 在事件之间冻结状态相反,SD 的状态在每一个瞬间都有定义良好的值。DES 问「第 47 位顾客等多久」,SD 问「库存水平何时越过警戒线、为什么总是周期性震荡」。

结构决定行为

SD 最独特的主张:系统的行为模式——增长、震荡、崩溃——不来自某个外部事件,而来自内部的反馈结构。同样的存量-流量图,换一组参数还是同一类行为;换一个回路结构,行为性质就变。这使 SD 天然面向政策:改变结构,而不是预测事件。

S(t)流入 · 水龙头流出 · 排水口存量 · 水位即记忆
水位连续涨落——存量不需要事件来解释,流入与流出之差的累计就是它的全部历史。

02 · 核心机制:存量-流量与反馈回路

一切 SD 模型只有两种基本变量:存量是积累,只能被流量改变;流量是单位时间的变化率,决定存量多快填充或排空。辅助变量只做中间计算。规则极其严格——「存量只能由流量改变」这一条纪律,是 SD 模型可靠性的来源。

两类反馈回路

信息从存量流回决策(流量),就闭合了一个回路。增强回路(R)放大变化——越多则越多,产生指数增长或崩溃;调节回路(B)抵抗变化——把系统拉向目标,产生寻找平衡的行为。真实系统的复杂行为,几乎都是 R 与 B 的相互作用:增长被限制、目标被震荡地逼近。

时间推进是第二个分野:SD 用固定步长 dt 做数值积分,时间是等距切片;DES 的时钟则按事件间隔跳跃。步长的选择因此是 SD 特有的一类「模型风险」——见数学骨架一节。

人口新生人均资源死亡++−−−RB
因果回路图:人口-新生构成增强回路 R(增长),人口-资源-死亡构成调节回路 B(限制)——增长与限制的拉锯就是行为。

03 · 架构组成

存量-流量图是 SD 的标准记法:云是源与汇,阀门是流量,虚线是信息。物质沿实线流动并被存量积累,信息沿虚线回传并改变阀门开度——一张图同时画出了「什么在流动」与「谁在做决策」。

流入存量流出信息 · 反馈(虚线)
标准记法:物质沿实线流动,信息沿虚线回传——阀门(流量)由存量的信息控制。
Stocks

存量

系统的记忆——库存、人口、资本、信任、污染。

Flows

流量

存量的唯一出入口——单位时间的变化率,由决策规则驱动。

Aux

辅助变量

中间计算——比率、差额、压力指标,不积累。

Loops

反馈回路

信息闭环——R 增强放大变化,B 调节趋向目标。

Params

参数与表函数

外生输入与非线性关系——表函数把曲线写进模型。

Solver

求解器

数值积分——欧拉或龙格-库塔,步长 dt 是关键旋钮。

04 · 数学骨架:微分方程与数值积分

SD 的数学骨架是一阶常微分方程组:每个存量背后都是一个方程。存量-流量图不是比喻,而是微分方程的图形化——画图就是在写方程。

dSdt = Fin(t) − Fout(t)存量的瞬时变化率 = 流入 − 流出——每个存量就由这一个方程支配。
S(t + dt) = S(t) + dt · (Fin − Fout)显式欧拉积分:每步用当前斜率向前挪一格。简单、快,但对步长敏感。

欧拉法把每一步的切线当直线走,步长一大就会振荡甚至发散——数值不稳定会被误读为「模型的有趣行为」。工程惯例是龙格-库塔,以及一条铁律:把 dt 减半重跑,结果应当收敛,否则不要相信任何结论。

Sn+1 = Sn + dt6 (k1 + 2k2 + 2k3 + k4)四阶龙格-库塔(RK4):四个斜率的加权平均,精度远高于欧拉,代价是每步求四次导数。
S(t) = S0 · ert一阶正反馈的解析解:净增长率 r 恒定时存量指数演化;倍增时间 = ln 2 ⁄ r。
dt = 0.25; t = 0
while (t < t_end) {
  rate = eval_flows(S, aux)   // 先求本步流量
  S = S + dt * rate           // 再推进存量(欧拉)
  t = t + dt                  // 时间等距滑动——与 DES 相反
}

05 · 适用与失效

它擅长

  • 累积与延迟主导的问题:库存、资本、人口、声誉、污染。
  • 反馈主导的系统:政策、市场、生态——结构决定行为。
  • 长期趋势与政策实验:改结构、看模式,而不是预测事件。
  • 数据稀疏时的结构推断:定性结构 + 少量参数即可运转。

它失效

  • 个体异质性——平均数抹平了差异,而差异常常正是答案。
  • 离散随机事件——单个订单、单次故障、单笔交易不在世界里。
  • 中观流程细节——排队、路径、资源占用无法表达。
  • 结构突变——规则本身随时间改变时,固定方程失真。

失效处正是 DES 与 ABM 的主场——在对照页里,这些能力刚好互补。

06 · 耦合接口提示

放进混合模型时,SD 通常承担「宏观决策层」:向 DES 与 ABM 导出聚合信号——价格、需求率、产能目标、政策参数;同时接收它们上卷的实绩数据——实际通过率、平均交付延迟——来修正自身的存量动态。

三个关键技术点:上卷——微观事件流必须折算成速率才能进入存量方程;步长对齐——SD 的 dt 与 DES 的事件时钟需要同步协议;延迟不重复——SD 的物质/信息延迟与离散层的事件排队,别把同一份延迟计算两次。

查看完整对照表 →

SD 在耦合中的典型分工

  • 导出:价格与需求率、产能与政策参数、长期趋势边界。
  • 接收:实际吞吐率、平均延迟、服务水平——作为流入的修正项。
  • 同步:固定 dt ↔ 事件时钟/智能体周期,需时间推进协议(见对照页)。