第一节 系统动力学基本原理与方法简介
一、系统动力学的基本观点
(一)系统动力学关于系统的基本观点
-
系统组成 系统动力学认为,系统是由单元、单元的运动及信息组成的。单元是系统存在的现实基础,而信息在系统中发挥着关键的作用,赖以信息的单元才形成系统的结构,单元的运动才形成系统统一的行为与功能。这就是说,系统是结构与功能的统一体。系统动力学所研究的系统,其范围与规模可大可小,其种类可以是各种自然系统、社会系统、经济系统、技术系统、思维系统等以及这些系统相互作用所构成的复合高阶时变系统。
-
系统结构 所谓系统的结构,是指组成系统的各个单元之间相互作用与相互关系的秩序。
在系统动力学中,系统的基本单元是反馈回路。反馈回路是耦合系统的状态、速率(或称行为)与信息的一条回路。它们对应于系统的三个组成部分: 单元、运动与信息。任何复杂系统都是由这些相互作用的反馈回路所构成的, 这些回路之间相互作用、相互耦合形成了系统的总体功能。其中,构成系统的任何一条反馈回路又都包含了多个反馈环节。按照反馈过程的特点,又可以将这些反馈分为正反馈和负反馈。正反馈的特点是能够产生自我强化的作用机制,负反馈的特点则是能够产生自我抑制的作用机制。具有正反馈特性的回路称为正反馈回路;具有负反馈特性的回路称为负反馈回路。正、负反馈回路的交叉作用机制决定着复杂的系统行为。图 11-1 给出了某土地人口承载力系统中的两条基本反馈回路的正、负反馈作用机制。
- 系统功能 所谓系统的功能,是指系统中各单元活动的秩序,或指单元本身的运动或单元之间相互作用的总体效益。系统动力学是以定性与定量相结合的方法研究系统结构,模拟系统的功能的。它从系统的微观构造入手, 通过建造反映系统基本结构的模型,进而对系统随时间变化的行为进行模拟研究。建立系统动力学模型的过程,也就是剖析系统的结构与功能之间对立统一关系的过程。
(二)系统动力学关于系统特性的基本观点1.关于系统的一般特性
- 总体性与相关性:总体性是系统最基本的特性之一。系统总体不简单地等于其各个组成部分之和。一般而言,系统总体大于部分之和,然而一个失去组织的系统的总体也可能小于部分之和。
相关性是指系统总体与部分、部分与部分、系统与环境之间的普遍相互关系以及单元、运动、信息之间相互关系。在复杂系统中,存在着一因多果、一果多因,甚至多因多果相互交叉的因果关系链。系统动力学采用反馈因果关系代替已往的单向因果关系,这无疑是对系统相关性的进一步认识。
-
系统的层次与等级:系统动力学强调系统中各单元、各子系统之间的相互联系、相互影响的关系。然而,各单元、各子系统之间还存在着相对的独立性,即系统结构具有层次与等级性。系统结构的层次性、等级性决定了系统功能的层次性、等级性。根据系统的这种层次性与等级性,研究者可以将系统加以划分,从而使无从着手解决的问题,按系统的层次与等级逐级分解。
-
系统的类似性:系统动力学认为,在自然界与人类社会等不同领域里,各种类型的系统都存在着结构与功能上的类似性,即系统是相似的。这就是说可以用类似的规律和行为模式来描述看来似乎属于截然不同领域内的事物与现象。系统的类似性,决定了不同的系统之间存在着相同的研究模式与方法,这就是结构-功能模拟方法。这也是系统动力学用建立规范化模型的方法去研究和模拟真实系统的一个基本依据。
2.关于复杂系统的特性
系统动力学方法,主要用于研究与处理那些具有高阶次、非线性和多回路特点的复杂系统。它认为,这些复杂系统具有下述几个方面的特性。
-
反直观性:所有复杂系统,都毫无例外地表现出反直观的特性。在人们的日常生活思维过程中,所遇到的大多数是关于一阶负反馈系统的经验, 人们了解事物的因果关系总是紧密地与时空相关。然而,在复杂系统中,这种简单的因果关系已不复存在,原因与结果的联系在时空上往往是分离的, 因而比简单系统复杂得多,也往往被诱入歧途,使人们把系统的某些症候与某一种在时空上贴近的原因联系在一起,但事实上它们并无因果关系。
-
对变动参数的不敏感性:由于非线性的存在,使得即便是把复杂反馈系统模型的大多数参数加以变动,甚至使部分参数变动数倍,其模型模式也可能无多大变化。复杂系统的这一特性,使得即便是在缺乏严密的基础数据的情况下,有关研究者与决策者也可以通过“会诊”而估计参数,使复杂系统的研究成为可能,从而克服了资料不足给研究工作所带来的困难。
-
长短期效果的矛盾性:一般而言,由于非线性的作用,使得变更复杂系统内部结构与参数所引起的短期与长期的影响往往是彼此相反的。譬如, 在国民经济问题研究中,当涉及到投资时,往往就需要研究积累率问题,积累率是否适当,其影响甚大,持续的高积累率必然会导致国民经济短期的高速增长,但也会导致积累与消费比例的严重失调,从而影响消费,以至制约生产,最终使整个国民经济陷入困境。系统动力学方法在处理复杂系统的这种长短期效果的矛盾方面,有着其它方法无法比拟的独到优点。
二、系统动力学解决问题的过程与步骤(一)系统分析
-
了解问题。即回答要解决什么问题?拟达到什么目的?完成此项任务需要哪些条件?现已具备哪些条件?还需要准备哪些条件?等等。
-
分析系统的基本问题与主要问题、基本矛盾与主要矛盾以及矛盾的主要方面。
-
初步划定系统的边界,确定内生变量、外生变量和输入变量。一般而言,系统的范围取决于研究目的,系统边界的划定一般是把与建模目的有关的内容圈入系统内部,使其与外界环境隔开。那么,如何才算确定了系统的范围?系统的边界又应划在何处呢?按照系统动力学的观点,划定系统边界的一条基本准则是:应将系统中的反馈回路考虑成闭合的回路。应该力图把那些与建模目的关系密切、变量值较为重要的都划入系统内部。由此可见, 划定系统边界之前应首先明确研究的目的。没有目的就无法确定系统的边界。
-
确定系统行为的参考模式。即用图形表示出系统中的主要变量,并由此引出与这些变量有关的其它重要的变量,通过各方面的定性分析,勾绘出有待研究的问题的发展趋势。由于系统动力学所研究的对象大多数是复杂系
统,其发展趋势很难准确地预测,需要会同各方面专家,集思广益地“会诊” 或运用专家咨询法予以解决。一旦参考模式确立,在整个建模过程中,构模者就要反复地参考这些模式,以防研究偏离方向。
- 调查、搜集有关资料。系统动力学模型被认为是真实系统的“实验室”,要想通过模型模拟和剖析真实系统,获取更丰富、更深刻的信息,进而寻求解决问题的途径,“实验室”的建立是至关重要的。而要建好“实验室”,就必须在认真调查研究的基础上,花大力气搜集、完备各种资料。毫无疑问,为使模型更真实地反映系统,收集的资料应越多越好。但是,要强调的是,资料搜集工作必须紧紧围绕着研究目的进行,如果偏离了研究目的, 即使资料再多也是徒劳的,而且还会给资料的筛选带来许多困难。
(二)构建模型
模型的构建,是系统动力学研究、解决问题的关键性的一个步骤。系统动力学模型的建造,一般包括如下两个相互联系的工作环节。
- 分析系统结构 在需要研究的问题已经明确,系统中的重要变量与参考模式已经确定,资料搜集工作也已基本完成之后,就要研究系统及其组成部分之间的相互关系,系统中的主要变量与其它有关变量之间的关系,分析系统的结构。为了使建模工作一开始就能把握整个研究过程的方向,建模者首先要分析系统整体与局部的关系,然后分析变量与变量之间的关系(正关系、负关系、无关系),最后把这些关系转绘成反映系统结构的因果关系图和流图。
因果关系图,是反映变量与变量之间因果关系的示意图。(如图 11-1 所示),其中,变量之间相互影响作用的性质用因果关系键来表示。因果关系键中的正、负极性分别表示了正、负两种不同的影响作用。
正因果关系键A +→ B,表明A的变化使B在同一方向上发生变化,即箭头指向的变量 B 将随着箭头源发的变量 A 的增加(减少)而增加(减少);负因果关系键A -→ B,表明A的变化使B在相反方向上发生变化,即变量B将随着变量 A 的增加(减少)而减少(增加)。
因果关系键把若干个变量串联后又折回源发变量,这样便形成了一个反
馈回路。对于反馈回路,也有正、负极性之区别。如果沿着某一反馈回路绕行一周后,各因果关系键的累计效应为正,则该回路为正反馈回路,反之则为负反馈回路。正反馈具有自我强化的作用机制,负反馈则具有自我抑制的作用机制。
因果关系图虽然能够描述系统反馈结构的基本方面,但不能反映不同性质变量的区别。譬如,状态变量是系统动力学中最重要的变量,它具有积累效应。正是由于状态变量的积累效应,才使系统动力学模型的计算机模拟成为可能。为了进一步揭示系统变量的区别,分别用不同的符号代表不同的变量,并把有关的代表不同变量的各类符号用带箭头的线联结起来,便形成了反映系统结构的流图,如图 11-2 所示。
有了流图,便可以根据一定的规则建立 DYNAMO 模型。在 DYNAMO 模型中, 常用的流图符号如图 11-3 所示。
- 建立 DYNA MO 方程
在 DYNAMO 模型中,主要有六种方程,其标志符号分别为: L 状态变量方程
R 速率方程A 辅助方程
C 赋值予常数
T 赋值予表函数中 Y 坐标N 计算初始值
在这些方程中,C,T 与 N 方程都是为模型提供参数值的,并且这些值在同一次模拟中保持不变。L 方程是积累方程,R 与 A 方程是代数运算方程。下面我们将重点介绍 L,R 与 A 方程。
- 状态变量方程。在 DYNAMO 模型中,计算状态变量的方程称为状态方程,该方程的基本形式为:
LFVEL(现在)=LEVEL(过去)+
DT(输入速率-输出速率)(1) 譬如,以图 11-2 所示的流图为例,其方程为: L LEVEL.K=LEVEL.J+
DT※(INF LOW.JK-OUTFLOW.JK)(2)
在(2)式中,LEVEL 表示状态变量,INFLOW 表示输入速率,OUTFLOW 表示输出速率,DT 表示计算时间间隔,亦称时间步长。+、-、※、/分别为加、减、乘、除的代数运算符号,J、K、L 作为时间下标主要用以区别时间的先后顺序。K 表示现在,J 表示刚过去的那一时刻,L 表示即将到来的未来那一时刻。DT 表示 J 与 K 以及 K 与 L 之间的时间步长(见图 11-4)。
- 速率方程。在状态变量方程中,代表输入(INFLOW)与输出(OUTFLOW) 的变量称为速率变量,计算速率变量的代数方程称为速率方程。譬如,人口数量(状态变量)的输入速率(出生率)方程可以写成:
R BIRTHS.KL=BRF※POP.K (3)
在(3)式中,BIRTHS 代表出生率(人/年),BRF 代表出生率系数(人/ 年·人),POP 代表人口数(人)。
- 辅助变量方程。在 D YNAMO 模型中,附加的代数运算方程称为辅助方程。“辅助”的涵义就是帮助建立速率方程。一般而言,辅助方程没有统一的标准格式,但是其下标总是 K。辅助变量的值可由现在时刻的其它变量, 如状态变量、变化率、其它辅助变量和常量求得。譬如,土地占用率 LFO 的辅助方程式可以写成如下形式:
A LFO.K=B LDNGS. K※LPB (4)
A BLDNGS.K=BIRTHS.K※PBL (5)
在(4)与(5)式中,LFO 代表土地占用率(亩/年),BLDNGS 代表新建建筑物(座/年),LPB 代表平均每座建筑物占用土地(亩/座),BIRTHS 代表每年新增人口数(人/年),PBL 代表人均占用建筑物(座/人)。
在建立系统动力学模型时,为了使方程书写得井井有条,往往先把方程按照各子块(子系统)书写,书写顺序一般是沿流图按顺时针方向进行。
- 参数的确定与赋值
DYNAMO 模型中的参数,主要有表函数、初始值、常数、转换系数、调节时间与参考数值等。在运用 DYNAMO 模型对真实系统进行模拟之前,首先应对以上参数赋值。
(三)模型的模拟与评估
当系统动力学模型建构完成以后,经过反复检查各个方程,发现准确无误后,便可将其输入计算机进行调试运行。当模型调试运行通过后,研究者就可以根据其研究的目的,设计不同的方案,运用模型进行模拟运算,对真实系统进行仿真。然而,仿真结果是否可信,其关键是模型本身是否真实、有效。由此可见,对模型的真实性和有效性检验也还是系统动力学仿真研究工作中一个十分重要的环节。
一般而言,在系统动力学研究中,对模型的真实性和有效性检验主要包括如下四个方面。
- 模型结构适合性检验
-
量纲检验:系统动力学模型与其它模型一样,决不允许量纲不一致的情况出现。量纲的一致性检验是模型检验的一个最为基本的方面。量纲检验的要求是各变量必须有正确的量纲,而且各个方程式左右两端的量纲必须相同。
-
方程式极端条件的检验。即检验模型中每一个方程式在其变量的可能变化的极端条件下是否仍有意义。只要在极端条件下,方程运行仍然合理, 那么就能确定方程确具有强壮性。
-
模型边界检验。即主要检验模型所包含的变量与反馈回路是否足以描述所面向的问题和是否符合预定的研究目的。系统边界不宜过大,也不宜过小。如果边界划得过大,就会使模型变得过于复杂,反而模糊了系统结构与动态行为之间的主要关系;而当边界划得过小时,则意味着模型可能忽略了某些重要的变量,或者忽略了富有活力的反馈链。
- 模型行为适合性检验
-
结构灵敏度检验。模型结构是决定其行为的主要因素。一般来说,变动模型的结构会对其行为产生较大的影响,模型结构的最大变动即意味着改变系统的边界。但对于系统动力学模型来说,模型行为对结构与相应的方程式的合理变动也不是过于敏感的,而是表现出一定的强壮性,如果模型行为对结构的合理变动过于敏感,则模型不宜作仿真分析之用。这里所谓的“合理变动”是指在某些模型中使参数取极值或变表函数为常数时的情况。这些改变意味着这些参数或表函数代表的因果关系键被取消,系统的结构当然也就改变了。即便是在这种情况下,强壮性较好的模型的行为仍然不会有大的变化。
-
参数灵敏度检验。改变参数对模型行为的影响没有象改变模型结构带来的影响那样大。改变某一参数而不影响模型行为的情况是常见的。系统动力学模型对参数变化是不敏感的。究其原因有二:一是变动某参数时,可能在一段时间内对进行过程中的一部分起作用,但随着主反馈回路的转移,在其余时间或对其它部分不发生任何影响,这时若改变反馈回路中的参数,对系统行为的影响是微乎其微的。二是反馈回路的补偿作用。当改变某一参数时,固然可以加强或削弱某一回路,但由于系统动力学的多回路特点,与此同时将自然而然地加强或削弱其它回路去补偿前述的相反作用,其最后结果则是对模型行为影响甚微或毫无影响。因此,在对系统动力学模型进行参数灵敏度检验时,不应把其它类型的定量模型的高参数灵敏度强加给系统动力学模型,并把灵敏度的高低作为衡量模型精确性的主要标准。与此相反的是, 如果系统动力学模型对参数变动很敏感,则只能说明此模型没有实用性。
-
模型结构与真实系统一致性检验
这一工作,主要是请熟悉真实系统的人员参与判定模型结构是否与真实系统相象。如果模型的结构从“外观”上来看与实际系统毫无相似之处,那么即使模型的行为被判定是合适的,也不能认为模型是可信的。
-
模型行为与真实系统一致性检验
该环节检验首先应判断模型行为是否再现最初确立的那些参考模式,如果模型行为与参考模式差别较大,则这种模型再“好”也是无用的。但是,我们必须具体问题具体分析,切勿一遇模型行为与参考模式不符就对模型予以否定。因为模型与参考模式不符的原因有两种:一是模型有误,需要修改完善;二是模型出现的“奇特”行为很有可能是对真实系统的本质反映,而对这种“反映”人们以前从未注意到过。对此必须严格加以证实,如果“反映”的确有意义,而且产生“奇特”行为的机制是真实的,那么模型更是有效的。
系统动力学方法研究问题的过程是一个分解综合,循环反复,逐步实现研究目的的过程。这一过程的繁简及长短与研究对象的复杂程度有关,也与研究目的有关。但是,无论进行何种研究,建模不可能一次成功,即便是一次成功,也需要反复地修改、调试和改进,直至达到满足研究目的要求的模型。如此循环往复的过程,也正是系统动力学对于系统内部结构及其行为关系的认识不断深入的过程。
