123思维模型:系统动力学模型一用动态模型看清问题本质
一、系统动力学的定义
系统动力学(简称SD—system dynamics)的创始人为美国麻省理工学院(MIT)的福瑞斯特(J.W.Forrester)教授。是福瑞斯特教授于1958年为分析生产管理及库存管理等企业问题而提出的系统仿真方法,最初叫工业动态学,是一门分析研究信息反馈系统的学科,也是一门认识系统问题和解决系统问题的交叉综合学科。
简单而言,“系统动力学是研究社会系统动态行为的计算机仿真方法”。具体而言,系统动力学包括如下几点。
1、系统动力学将生命系统和非生命系统都作为信息反馈系统来研究,并且认为,在每个系统之中都存在着信息反馈机制,而这恰恰是控制论的重要观点,所以系统动力学是以控制论为理论基础的;
2、系统动力学把研究对象划分为若干子系统,并且建立起各个子系统之间的因果关系网络,立足于整体以及整体之间的关系研究,以整体观替代传统的元素观;
3、系统动力学的研究方法是建立计算机仿真模型和构造方程式,实行计算机仿真试验,验证模型的有效性,为战略与决策的制定提供依据。
随着系统动力学渗透到社会、经济、政治等多个领域,很快成为了系统科学与管理科学的一个重要分支,成为沟通自然科学和社会科学等领域的横向学科。
二、系统动力学的原理
系统是一个由相互区别、相互作用的元素有机地联结在一起,为同一目的完成某种功能的集合体。
系统动力学研究的系统必须是远离平衡的有序的耗散结构。耗散结构是指处在远离平衡态的复杂系统在外界能量流或物质流的维持下,通过自组织形成的一种新的有序结构。系统动力学主要研究的是开放复杂系统,例如:人脑系统、生命系统、生态系统、企业系统、经济系统和国家系统等。
开放复杂系统的一个重要特征就是多变量、高阶次、多回路和非线性,在非平衡状态下运动、发展和进化。开放系统在不断与外界进行信息流、物流、能流的交换过程中,获得外部动力;同时,在系统内部的各组成部分相互耦合、作用,形成自然约束与相互协调,产生内部动力。
在内外动力的共同作用下推动系统内的组成部分朝向共同目标发展。系统的结构、参数与功能、行为是随时间的推移而变化。
在系统运动全过程的始末,其主回路与反馈极性都在不断变动,主回路与非主回路也在相互转化,系统就可能发生新旧结构的更迭。当系统与外界进行信息流、物流、能流的交换发生重大变化时,或者系统能量积累到一定阈值时,系统结构和功能就会发生相变,进化出新的系统,并对外部环境产生强烈的影响。
系统动力学认为系统结构决定系统行为,通过寻找系统的较优结构,来获得较优的系统行为。系统结构是系统内的众多变量在它们相互作用的反馈环里有因果联系,反馈之间的相互联系所形成的网络。
系统动力学经过对系统的剖析,建立起系统的因果关系反馈图,再转变为存量流量图,建立系统动力学模型。通过仿真语言和仿真软件对模型进行计算机模拟,来完成对真实系统的结构进行仿真。最后对系统进行优化,其中包括:
1、参数优化:通过改变敏感参数优化系统,在系统中总存在一部分相对重要的变量,他们对系统的结构与行为的性质、特征的影响比较大,而且总被包含于主回路之中。系统中的灵敏变量(或参数),对干扰与涨落的反应十分敏感和强烈,一旦系统处于临界状态,这些灵敏变量的作用可能导致新旧结构的更迭。对这些重要参数的优化有助于控制系统的走向。
2、结构优化:系统是结构与功能的统一体。在系统内部的众多反馈回路中,增加或减少模型中的水平变量、速度变量等,通过调节反馈回路的结构来优化系统。
3、边界优化:通过扩大或缩小系统边界对系统进行优化。
三、系统动力学核心概念
1、因果回路图(反馈回路)
反馈是指系统输出与来自外部环境的输入的关系。反馈回路则是由一系列的因果与相互作用链组成的闭合回路或者说是由信息与动作构成的闭合路径。反馈回路是保障任何系统运行的必要条件,人是世界最复杂的系统,大脑通过反馈回路指挥着整个身体的运行。
比如像倒杯咖啡或茶这种看起来似乎非常简单、我们每天都不假思索地做了无数次的工作,也和反馈回路有关系。如果离开了反馈回路,即使是这种简单的工作都无法完成。不信的话,你可以试着蒙上眼睛倒杯茶看看。
在这个例子中,反馈回路的关键点就在于,在你向杯中倒水的同时,你通过观察杯中的水位而获取反馈信息。当你看着水位上升的时候,反馈通过你的大脑和眼睛发挥作用,让你在杯子将满时停止倒水。这个系统由你手所处的位置、你倒水的速率、咖啡杯中的水位、你的眼睛对杯中水位的观察,以及你的大脑到你的信号构成,共同组成一个反馈回路。如果你破坏了这个回路——比如蒙住眼睛,从而无法观察杯中水位是如何上升的,你就会不断地加水,直到杯中水溢出,系统产生了故障。
反馈回路分为增强回路(正反馈)和调节回路(负反馈)。
增强回路:在一个反馈回路中,每一个循环都使得系统效能持续增强的回路称为增强回路;加速成长或衰减,我们通常称之为良性循环和恶性循环。 例如越爱学习的人收入越高,越不学习收入越低,就是一个增强回路。
调节回路:为了系统的稳定或者实现某个目标,而采取的限制条件,可以理解为某一个平衡状态。
在一个反馈回路中,每一次循环都是使得系统进一步逼近某一个设定的目标值,这样的回路称为调节回路,也称为负反馈回路。
例如向杯子里倒水,要根据杯子里面水量来调节倒水的速率。调节回路非常重要,如果没有负反馈很多系统都会走向崩溃。如果“富者愈富穷者越穷”的正反馈一直持续下去,政府也不进行调节,系统一旦突破临界点,国家秩序就会崩溃。如果一个人开车在高速公路上,没有了刹车系统,最终可能导致车毁人亡。
2、存量流量图
因果回路图适合于表达系统中的因果关系和反馈回路,在建模开始时,因果回路用来描述系统结构,这是非常有效的。但是当建模继续进行下去,需要量化模型的时候,只用因果回路图就不够了。这时候就要区别不同类型的变量,在因果回路图的基础上画出存量流量图,用计算机模拟仿真来建立各变量之间的数学关系。这种方式可以做到定量分析,增加确定性。
存量流量图在因果回路图的基础上进一步区分变量性质,用更加直观的符号刻画系统要素之间的逻辑关系,明确系统的反馈形式和控制规律的一种图形表示法。
存量:是指某一指定的时点上,过去生产与积累起来的产品、货物、储备、资产负债的结存数量。如:库存商品、银行存款、固定资产等。由矩形表示。
流量:是指一定时期内发生的某种经济变量变动的数值,它是在一定的时期内测度的,其大小有时间维度。例如出生、迁出、迁入、死亡等。流量表示存量随时间变化快慢,类似于速率或导数的概念。例如银行帐户的余额就是存量,它会随时间推移而不断积聚;取款就像排水。如果取款(银行账户的流出量)多于存款和利息(流入量),那么金钱的“存量”就会下降。
状态变量:是描述系统的积累效应的变量,是数学意义上的积分,其值可以在瞬间被测量。
速率变量:描述系统累积效应变化快慢的变量为速率变量。速率变量描述了状态变量随时间变化的情况,是数学意义上的导数。其值不能在瞬间被观测,而是用一段时间内的平均值来表示。
辅助变量:是描述决策过程的中间变量,即状态变量和速率变量之间信息传递和转换过程的中间变量。如下图中,库存偏差就是辅助变量。
常量:在某段时间内,系统内不随时间而变化的量称为常量,常量一般为系统内局部目标或标准。
源(sources)与漏或沟(sinks): “源”是系统外流入系统内的物质,“漏或沟”表示系统内流入外部环境中的物质。
物质流:表示在系统中流动着的物质,物质流改变所流经变量的数量。
信息流:是连接状态变量和速率变量的信息通道,信息流只是获取或提供相关联变量的当前信息,不改变其数值。用带箭头的实线表示物质流或信息流。
四、动态系统的行为模式与结构
动态系统的行为一般有六种走向,即指数增长,寻的、振荡、S型增长、过度调整(超调)的增长、过度调整并崩溃。理解动态系统的走向可以帮助我们更好的预测和控制系统。
1、指数增长
指数增长由正反馈(放大反馈)结构产生。数量越大,其净增长量越大,进一步增加了数量并导致更快的增长。例如复利和人口增长等。
2、寻的
寻的模式主要受负反馈回路影响。正反馈回路产生增长、放大偏移并且加强变化,负反馈回路寻求平衡、均衡和停滞。负反馈回路追求将系统带到目标或设想状态,他们抵制任何将系统状态偏离目标的扰动。例如人饿了会吃饭、困了会睡觉、汽车太快会减速、手机太热会关机等,这些系统都在寻求某种目的,保证系统的平稳运行。
3、振荡
振荡行为像寻的行为一样,是由负反馈回路引起。系统状态同其目标相比,并且采取纠偏行动以消除任何差异。在一个振荡系统中,系统状态持续调高(超调),逆转,然后又调整过低,以此类推。过度(超调)是由负反馈回路中有显著时间延迟所产生的。时间延迟导致纠偏行动在系统达到目标后仍然继续,迫使系统调整过度,并引发反方向的新的纠偏。
4、S型增长
增长最初是指数性的,但是逐渐减缓直到系统状态达到平衡水平。曲线的形状就像一个伸展的“S”。例如企业的增长一般是一条s形曲线,前期高速增长、后期就是平稳增长。
5、过度调整(超调)的增长
S形增长需要限制增长的负反馈回路随着接近承载能力的限制而迅速发挥作用,然而,往往在这些负反馈回路中存在显著的时间延迟导致系统状态围绕着承载能力过度调整和振荡。例如:战争可以导致一个国家人口迅速减少,鼓励生育政策的出台可能导致的人口过度增长,超越了环境的承载能力,导致过度调整的增长。
6、过度调整并崩溃
S形增长背后的第二个假定是承载能力是固定的。然后,过度的增长对承载能力进行了破坏,最终整个系统崩溃。例如:草原上过度放牧导致的沙漠化,国家经济系统的崩溃,股票系统的崩溃,人遇到挫折时的精神崩溃等。
五、系统动力学建模
模型是对实际系统的抽象和归纳,其目的是为了解决所针对的问题。因此,模型从来不是孤立存在的,一旦谈到模型,必然有其所模仿的系统。这两者之间存在着一种映射关系。此外,还存在着研究者这个重要的因素,正是研究者根据自己的问题需要完成了这个映射。而且不同的研究者根据不同的问题,对于同一个系统也可能会映射出不同的模型来。
正确的系统建模是解决问题的关键,一个模型如果能成功的解决问题,就必须考虑三个要素,第一个是模型的目的,即模型目的是否明确和可度量。第二个是模型的边界,即模型的边界是否界定的很清晰。第三是模型的数据,即模型的数据是否反映了客观事实。系统动力学建模一般从以下六个步骤展开。
第一步:明确问题
选择问题:问题是什么?为什么它是一个问题?
分析问题:关键变量是什么?我们必须考虑的概念是什么?
第二步:确定系统边界
空间边界:问题出现在什么系统?边界在哪里?
时间边界:问题的根源应追溯过去多久?我们应考虑多远的将来?
参考模式:关键变量的历史行为是什么?将来它们的行为会怎样?
第三步:绘制系统循环图
现有的理论解释:对存在问题的行为现在的理论解释是什么?
聚焦系统内部:提出一个由于系统内部的反馈结构导致动态变化的假设。
绘图:根据初始假设、关键变量、参考模式和其他可用的数据建立系统的因果结构图,这一过程中可以使用的工具包括系统结构图、因果回路图、存量流量图等工具。
第四步:写方程
明确决策规则;
确定参数、行为关系和初始化条件;
测试目标和边界的一致性;
第五步:测试仿真
现实比对:模型能完全再现过去的行为模式吗?
鲁棒性分析:在极端条件下模型的行为结果符合现实吗?
灵敏度测试:模型的各个参数、初始化条件、模型边界和概括程度的灵敏度如何?
第六步:方案设计与评估
具体化方案:具体的解决方案有哪些?
设计政策:在现实世界中我们可以实施哪些新的决策规则、策略和结构?它们怎样在模型中表示?
“如果—则”分析:如果实施这些方案,其效果如何?前后有什么影响?
灵敏度分析:不同的方案和不确定性条件下,各种政策的鲁棒性如何?
政策的耦合性:这些政策相互影响吗?相互抵消吗?
总结
根据大脑的“经济性”原则,当我们面临复杂问题时,大量数据会让大脑“宕机”,而系统动力学模型就可以对复杂问题进行建模,让人类拥有“第二个大脑”,它能够清晰的规划出系统的边界,系统的结构,系统的因果回路,让我们能够更清晰的看清楚影响系统运行的核心变量以及重要的因果回路,同时还能够帮助我们模拟未来系统的走向,站在更高维的视角去俯瞰问题所在的系统,进而发现本质,解决问题。
当然越精细的模型越复杂,考虑的变量和细节越多,同时也会带来混乱,这就需要研究者在建模时把握好平衡,既不能太复杂,也不能太简单,复杂会增加混乱度,简单又不能够映射现实,把建模的“艺术”运用到极致,才能高效快速的解决复杂问题。
正如英国统计学家George E. P. Box所说:“All models are wrong, but some are useful.”所有模型都是错的,但其中有些是有用的。
参考资料:
《系统动力学》
作者:钟永光, 贾晓菁, 钱颖, 等