《第4章 系统动力学仿真》由会员分享,可在线阅读,更多相关《第4章 系统动力学仿真(72页珍藏版)》请在金锄头文库上搜索。
1、第四章第四章 系统仿真及系统动力学方法系统仿真及系统动力学方法1.系统仿真概述系统仿真概述2.系统动力学结构模型化原理系统动力学结构模型化原理3.基本反馈回路的基本反馈回路的DYNAMO仿真分析仿真分析教学内容教学内容1.系统仿真概述系统仿真概述2.系统动力学结构模型化原理系统动力学结构模型化原理3. DYNAMO仿真分析仿真分析教学要求教学要求1.1.熟悉系统仿真的相关概念熟悉系统仿真的相关概念2.2.掌握系统动力学建模的原理、方掌握系统动力学建模的原理、方法及步骤法及步骤3.3.熟练应用熟练应用STELLASTELLA进行系统仿真进行系统仿真教学重点及难点教学重点及难点l因果关系图及流图的
2、绘制因果关系图及流图的绘制lDYNAMO仿真仿真 一一.系统仿真及系统动力学概述系统仿真及系统动力学概述(一)概念及作用(一)概念及作用 1.基本概念基本概念 所所谓谓系系统统仿仿真真,就就是是根根据据系系统统分分析析的的目目的的,在在分分析析系系统统各各要要素素性性质质及及其其相相互互关关系系的的基基础础上上,建建立立能能描描述述系系统统结结构构或或行行为为过过程程的的、且且具具有有一一定定逻逻辑辑关关系系或或数数量量关关系系的的仿仿真真模模型型,据据此此进进行行试试验验或定量分析,以获得正确决策所需的各种信息。或定量分析,以获得正确决策所需的各种信息。 实际系统计算机模型建模仿真2、系统仿
3、真的实质、系统仿真的实质 (1)它是一种对系统问题求数值解的计算技术。它是一种对系统问题求数值解的计算技术。 尤其当系统无法通过建立数学模型求解时尤其当系统无法通过建立数学模型求解时, 仿真技术能有效地来处理。仿真技术能有效地来处理。 (2)仿仿真真是是一一种种人人为为的的试试验验手手段段。它它和和现现实实系系统统 实验的差别在于,仿真实验不是依据实际环实验的差别在于,仿真实验不是依据实际环 境,而是作为实际系统映象的系统模型以及境,而是作为实际系统映象的系统模型以及 相相应应的的“人人造造”环环境境下下进进行行的的。这这是是仿仿真真的的主主 要功能。要功能。 (3)仿仿真真可可以以比比较较真
4、真实实地地描描述述系系统统的的运运行行、演演变变 及其发展过程。及其发展过程。3、系统仿真的作用、系统仿真的作用 (1)仿仿真真的的过过程程也也是是实实验验的的过过程程,而而且且还还是是系系统统地地收收集集和和积积累累信信息息的的过过程程。尤尤其其是是对对一一些些复复杂杂的的随随机机问问题题,应应用用仿仿真真技技术术是是提提供供所所需需信信息息的的唯唯一一令令人人满满意的方法。意的方法。 (2)对对一一些些难难以以建建立立物物理理模模型型和和数数学学模模型型的的对对象象系系统统,可可通通过过仿仿真真模模型型来来顺顺利利地地解解决决预预测测、分分析析和和评评价价等等系统问题。系统问题。 (3)(
5、3)通过系统仿真,可以把一个复杂系统降阶通过系统仿真,可以把一个复杂系统降阶成若干子系统以便于分析。成若干子系统以便于分析。 (4)(4)通过系统仿真,能启发新的思想或产生新通过系统仿真,能启发新的思想或产生新的策略,还能暴露出原系统中隐藏着的一的策略,还能暴露出原系统中隐藏着的一些问题,以便及时解决。些问题,以便及时解决。(二)系统仿真方法(二)系统仿真方法 系统仿真的基本方法是建立系统的结构模型系统仿真的基本方法是建立系统的结构模型和量化分析模型,并将其转换为适合在计算机上和量化分析模型,并将其转换为适合在计算机上编程的仿真模型,然后对模型进行仿真实验。编程的仿真模型,然后对模型进行仿真实
6、验。 由于连续系统和离散由于连续系统和离散(事件事件)系统的数学模系统的数学模型有很大差别,所以系统仿真方法基本上分为型有很大差别,所以系统仿真方法基本上分为两两大类大类,即,即连续系统仿真方法连续系统仿真方法和和离散系统仿真方法。离散系统仿真方法。 在以上两类基本方法的基础上,还有一些在以上两类基本方法的基础上,还有一些用于系统用于系统(特别是社会经济和管理系统特别是社会经济和管理系统)仿真的仿真的特殊而有效的方法,如系统动力学方法、蒙特特殊而有效的方法,如系统动力学方法、蒙特卡洛法等。卡洛法等。 系统动力学方法通过建立系统动力学模型系统动力学方法通过建立系统动力学模型(流图等流图等)、利用
7、、利用DYNAMO仿真语言在计算机仿真语言在计算机上实现对真实系统的仿真实验,从而研究系统上实现对真实系统的仿真实验,从而研究系统结构、功能和行为之间的动态关系。结构、功能和行为之间的动态关系。(三)系统动力学的发展及特点(三)系统动力学的发展及特点1 1、由来与发展、由来与发展系统动力学(SystemDynamics,简称SD)是美国麻省理工学院福雷斯特(JwForrester)教授提出来的研究系统动态行为的一种计算机仿真技术。本世纪50年代中期,研究作为工业系统的企业的各种活动工业动力学(industrialdynamics);1969年城市动力学模型(UrbanDynamics)1971
8、年罗马俱乐部(TheclubofRome)研究报告即增长的极限(TheLimitstotheGrowth),世界动力学模型(WorldDynamics)1972年正式定名系统动力学:“ 系统动力学是研究信息反馈系统动态行为的计算机仿真方法。它有效地把信息反馈的控制原理与因果关系的逻辑分析结合起来,面对复杂实际问题,从研究系统的内部结构入手,建立系统的仿真模型,并对模型实施各种不同的政策方案,通过计算机仿真展示系统的宏观行为,寻求解决问题的正确途径。”美彼得圣吉(PeterMSenge)著,第五项修炼第五项修炼学习型组织的艺术与实务学习型组织的艺术与实务,上海三联书店,上海三联书店, 1998。
9、作者简介:作者简介:1970年从斯坦福大学获工学学年从斯坦福大学获工学学士后进入士后进入MIT攻读管理硕士学位,在此期间被攻读管理硕士学位,在此期间被Forrester教授的教授的SD整体动态搭配的管理新理念所整体动态搭配的管理新理念所吸引。吸引。1978年获得博士学位后,一直和年获得博士学位后,一直和MIT的工的工作伙伴及企业界人士一道,孜孜不倦地致力于将作伙伴及企业界人士一道,孜孜不倦地致力于将SD与组织学习、创造原理、认知科学等融合,发与组织学习、创造原理、认知科学等融合,发展出一种人类梦寐以求的组织蓝图展出一种人类梦寐以求的组织蓝图学习型组织。学习型组织。 2 2、研究对象及其结构特点
10、、研究对象及其结构特点(1 1)研究对象)研究对象社会系统社会系统(2 2)结构特点)结构特点 抉择性抉择性具有决策环节(人、信息)具有决策环节(人、信息) 自律性自律性具有反馈环节具有反馈环节 非线性非线性具有延迟环节具有延迟环节(3 3)SDSD将社会系统当作将社会系统当作非线性(多重)信息反非线性(多重)信息反 馈系统馈系统来研究来研究系统动力学模型的特点系统动力学模型的特点(1)多变量多变量。这主要是由。这主要是由SD对象系统的动态特性和对象系统的动态特性和复杂性所决定的。复杂性所决定的。SD模型有三种基本变量、五到模型有三种基本变量、五到六种变量。六种变量。(2)定性分析与定量分析相
11、结合定性分析与定量分析相结合。SD模型由结构模模型由结构模型型(流图流图)和数学模型和数学模型(DYNAMO方程方程)所组成。所组成。(3)以仿真实验为基本手段和以计算机为工具以仿真实验为基本手段和以计算机为工具。SD作为一种计算机仿真分析方法,是实际系统的作为一种计算机仿真分析方法,是实际系统的“实验室实验室”,可在,可在PD-plus、VENSIM等软件支持下等软件支持下来运行。来运行。(4)可处理高阶次、多回路、非线性的时变复杂系统可处理高阶次、多回路、非线性的时变复杂系统问题。问题。3 3、工作程序、工作程序认识认识问题问题界定界定系统系统要素及其因要素及其因果关系分析果关系分析建立结
12、建立结构模型构模型建立数建立数学模型学模型仿真仿真分析分析比较与比较与评价评价政策政策分析分析(流图)(流图)(DYNAMOY方程方程) 二、二、SD结构模型化原理结构模型化原理 1 1、基本原理、基本原理决策决策信息信息行动行动系统系统状态状态速率变量速率变量水准变量水准变量信息信息 流流(行动)(行动)(Rate)(Level)四个基本要素四个基本要素状态、信息、决策、行动状态、信息、决策、行动两两个个基基本本变变量量水水准准变变量量(L)、速速率率变变量量(R)一个基本思想一个基本思想反馈控制反馈控制2 2、因果关系图和流图、因果关系图和流图(1 1)因果关系图(因果反馈回路)因果关系图
13、(因果反馈回路)因果箭因果箭因果链因果链因果(反馈)回路因果(反馈)回路利息利息(元元/年年)银行货币利率利率+(+)因果关系因果关系CausalRelationship是系统动力学建模的基础,对系统内部结构关系的一种定性描述。AB:变量A表示原因,变量B表示结果,因果关系用一个箭头线表示,标为因果链,表示A到B的作用。正关系正关系若满足下列条件之一:A加到B中;A是B的乘积因子;A变到AA,有B变到BB,即A、B的变化方向相同。则称A到B具有正因果关系,简称正关系,用“”号标在因果链上。人口出生率人口总数负关系负关系若满足下列条件之一:A从B中减去;1/A是B的乘积因子;A变到AA,有B变到
14、BB,即A、B的变化方向相反。则称A到B具有负因果关系,简称负关系,用“”号标在因果链上。人口死亡率人口总数反馈从控制论的观点看,任何一个具有使自身内部保持稳定的系统,都具有某种反馈机制。反馈(Feedback):构成系统的某一成分的输出与输入之间的关系,或者说是输出变成了决定系统未来功能的输入。生物群落的稳定性例例1:例例2:例例3:天敌害虫种群系统天敌害虫种群系统天敌数量天敌数量(输入)(输入)害虫数量害虫数量(输出)(输出)害虫环境系统害虫环境系统初春气温初春气温(输入)(输入)害虫数量害虫数量(输出)(输出)害虫作物系统害虫作物系统害虫数量害虫数量(输入)(输入)作物长势作物长势(输出
15、)(输出)反馈环反馈环反馈环反馈环反馈环反馈环因果反馈回路与反馈系统因果反馈回路:某因果关系中的结果经常是另一因果关系中的原因,若干因果链串联起来,形成一个因果序列;其中一个指定的初始原因依次对整个因果链发生作用,直到这个初始原因变成它自身的一个间接结果,这个初始原因依次作用,最后影响自身,这种闭合的因果序列就叫做因果反馈回路。(反馈指信息的传递与返回)一组相互联结的反馈回路的集合就构成反馈系统。若反馈回路包含偶数个负的因果链,则其极性为正,叫正反馈回路;若反馈回路包含奇数个负的因果链,则其极性为负,叫负反馈回路。库存量库存量订货量订货量库存差额库存差额期望期望库存库存+-( -)反馈系统实例
16、反馈系统实例库存库存发货单发货单期望库存期望库存定货定货途中货物量途中货物量收货收货一个简单的库存控制系统一个简单的库存控制系统:组织绩效组织绩效组织改善组织改善组织缺陷组织缺陷( -)-+(2 2)流图符号)流图符号 流流 实物流实物流信息流信息流 速率变量速率变量 水准变量水准变量 L1 辅助变量辅助变量A1。R1R1()。 参数(量)参数(量) (常量)(常量)(初值)(初值) 源与洞源与洞 信息的取出信息的取出L1。A1。 3.3.流图绘制程序和方法流图绘制程序和方法 明确问题及其构成要素;明确问题及其构成要素; 绘绘制制要要素素间间相相互互作作用用关关系系的的因因果果关关系系图图。注
17、注意意一一定要形成回路;定要形成回路; 确确定定变变量量类类型型(L变变量量、R变变量量和和A变变量量)。将将要要素素转转化化为为变变量量,是是建建模模的的关关键键一一步步。在在此此,应应考考虑虑以以下下几个具体原则:几个具体原则: a. 水准(水准(L)变量是积累变量,可定义在任何时间点;变量是积累变量,可定义在任何时间点;而速率(而速率(R)变量只变量只 在一个时段才有意义。在一个时段才有意义。 b. 决策者最为关注和需要输出的要素一般被处理成决策者最为关注和需要输出的要素一般被处理成L变量。变量。 c. 在反馈控制回路中,两个在反馈控制回路中,两个L变量或两个变量或两个R变量不能直变量不
18、能直接相连接相连 。 d. 为降低系统的阶次,应尽可能减少回路中为降低系统的阶次,应尽可能减少回路中L变量的变量的个数。故在实际系统描述中,辅助(个数。故在实际系统描述中,辅助(A)变量在数量上变量在数量上一般是较多的。一般是较多的。 绘制绘制SD流图。流图。 在在绘绘制制流流图图时时,应应特特别别注注意意形形成成正正确确的的回回路路和和用用好好信信息息连连接接线,并注意不要把不同的实物流直连在一起线,并注意不要把不同的实物流直连在一起. .3 3、举例、举例L1R1(利息1)C1(利率)IR1(订货量)库存量DY(期望库存)(库存差额)PR1R2(出生人口)(人口总量) (死亡人口)C1(出
19、生率)C2(死亡率)组织改善组 织绩效组织缺陷。三、基本反馈回路的三、基本反馈回路的DYNAMO仿真分析仿真分析(一)DYNAMO简介DYNAmicMOdel的缩写。它将实际问题构造成具有反馈结构的动态模型,并通过计算机仿真得到该系统随时间变化的动态行为。DYNAMO模型由两种语句组成:方程式语句(直接用于仿真计算),命令语句(用于控制仿真过程、输入输出)变量的时间标注DTDTJKKL前一时刻前一时刻现在时刻现在时刻下一时刻下一时刻J K L(二)DYNAMO方程状态(水准)方程决策(速率)方程辅助方程初值方程常数方程(1)状态(水准)方程)状态(水准)方程表述了系统动力学模型中状态积累的过程
20、LLEVELKLEVELJDT(RINJKROUTJK)用L方程式定义的流位变量必须用初值方程式给定初值例:LPOPKPOPJDT(BIRTHJKDEATHJK)NPOP10000(2)决策(速率)方程)决策(速率)方程决策方程(R方程)描述系统动力学中状态变化速率的方程。基本形式可表示为:RRATEKLf(状态变量,辅助变量,常量)速率R的值在K时刻进行计算,而在自K至L的时间间隔内(在DT内),假定保持不变辅助说明速率变量或简化决策函数的方程。基本形式可表示为:AAUX.K=g(A.K,L.K,R.JK,C,)时间标注总是K可由当前时刻的其他变量求出(3)辅助方程()辅助方程(A方程)方程
21、)(4)初值方程()初值方程(N方程)方程)为参数或变量设定初始值,一般形式:N变量名称表达式,变量名,数值仅在仿真过程中第一步运算时使用;左右两边的变量都不加时间标注;由N方程式定义的变量不能直接在重复运行中使用。(5)常数方程()常数方程(C方程)方程)给参数赋值,可以在重复运行中使用C变量名常数DYNAMO中变量名的字符数不超过6个,而且第一个字符必须是字母。除“*”及“RUN”语句以外,其他语句可以任意安排顺序。DYNAMO语言运行时有一个严格的仿真顺序。例:一阶正反馈回路例:一阶正反馈回路 年人口增加(+)PR+PPRPC1(人口年自然增长率人口年自然增长率0.02)。L PK=PJ
22、+DT*PRJKN P=100R PRKL=C1*PKC C1=0.02PPR0100211022.042104.042.0808p1000一阶正反馈(简单一阶正反馈(简单人口问题)系统输人口问题)系统输出特性曲线出特性曲线人口数+一级负反馈回路一级负反馈回路 库存量库存差额订货量+()R1DI+期望库存Y1000Z(订货调整时间,5)IR1DY(6000)。L IK=IK=IJ+DT*R1J+DT*R1J JK KN I=1000R R1KL=DKL=DK/ZK/ZA DK=Y-IK=Y-IK KC Z=5C Y=6000IDR10100050001000120004000800228003
23、200640It60000一阶负反馈(简单一阶负反馈(简单 库存控制)系统输库存控制)系统输 出特性曲线出特性曲线1000简单库存控制系统的扩展简单库存控制系统的扩展库存量入库量途中存货量订货量库存差额I()+()GR2+R1+Z(5)Y(6000)IG100001000R1R2DW(10)。LGK=GJ+DT*(R1KL-R2JK)L IK=IJ+DTR2JKR R1KL=D/ZA D=Y-IKC Y=6000C W=10,Z=5C I=1000C G=1000060001000t二阶负反馈系统输出特性曲线I系统动力学仿真软件系统动力学仿真软件STELLA介绍介绍内容背景组成功能小结一.背景
24、1987年由HighPerformanceSystem,Inc(HPS)开发的一种thinking-basedsoftwareproducts。现在已经开发出了STELLA10.0Version。从6.0开始界面非常友好,增加Storytelling功能,使得系统使用者更方便对系统进行控制。访问www.hps-了解更多有关该公司和STELLA的信息,同时可以升级你的版本。二.STELLA的组成2.interfacelevel(highmappinglevel):主要用于展现与交流模型,在modellevel的基础之上生成的更高一层的系统,使各个子系统完整的联系在一起。供系统使用者与决策者使用。
25、3.equationlevel:将modellevel翻译成为一种数学语言。1.modellevel:主要用于构建模型,设计各个子系统,供系统设计开发者使用。ModellevelInterfacelevelEquationlevel三.STELLA的功能构建模型(constructingmodel)检验模型(testingmodel)分享模型(sharingmodel)五个主要的构件(一)构筑模型constructingmodel子模型框架( 1 )构筑模型结构(2)量化模型当将一因果关系图转换成一个系统流图后,只能说明系统中各变量间的逻辑关系与系统结构已经建立,并不能显示其定量关系。接下来就
26、是将系统模型结构“翻译”成数学方程,既建立系统动力学方程。但在STELLA中,只是添加几个简单的方程、数字和拉伸一下曲线而已。状态方程的确立状态方程的确立速率方程的确立速率方程的确立辅助方程的确立辅助方程的确立(二)检验模型-testingmodel结果输出的四种形式:结果输出的四种形式:演示图时间序列图表数字(三)分享模型-sharingmodelflight-simulatortracingstorytelling(1) Flight-simulator(2)tracing(3)Storytelling四.体会Stella是一种系统仿真工具,只是系统动力学构模的辅助工具。系统建模者在使用其之前要明确建模目的(要解决何种问题)、确定系统边界、同时头脑中要形成系统的因果反馈图。具备系统动力学的特点。研究社会系统,能够容纳大变量。定性分析和定量分析相结合。仿真试验能起到实际系统实验室的作用。能够处理高阶次、非线性、多重反馈的复杂时变的社会系统有关问题(预测功能)。开发Stella的目的主要是为了方便模型构建者与使用者(决策者)之间的交流。这一功能在不断强化。