收藏 分享(赏)

系统动力学讲稿3.ppt

上传人:weiwoduzun 文档编号:4281381 上传时间:2018-12-20 格式:PPT 页数:48 大小:358.01KB
下载 相关 举报
系统动力学讲稿3.ppt_第1页
第1页 / 共48页
系统动力学讲稿3.ppt_第2页
第2页 / 共48页
系统动力学讲稿3.ppt_第3页
第3页 / 共48页
系统动力学讲稿3.ppt_第4页
第4页 / 共48页
系统动力学讲稿3.ppt_第5页
第5页 / 共48页
点击查看更多>>
资源描述

1、5. 模型与方程的建立(3),变量与方程 模型参数 方程的初始值 模型实例,5.1 建立SD方程,建立方程是把模型结构“翻译”成数学方程式的过程,把非正规、概念的构思转换成正式的定量的数学表达式规范模型。建立方程的目的:在于使模型能用计算机模拟(或得到解析解),以研究模型假设中隐含的动力学特性,并确定解决问题的方法与对策。,状态变量与Level方程 速率(变化率)方程 辅助方程 SD模型举例,5.1.1 状态变量与Level方程,状态变量是随时间而变化的积累量,是物质、能量与信息的储存环节。如:人口、企业雇员人数、库存、生产能力、银行存款等。状态变量的输入、输出变化率使积累量增加或减少。 L

2、LEVEL.K=LEVEL.J+DT * (INFLOW.JK- OUTFLOW.JK)LEVEL状态变量; INFLOW输入速率; OUTFLOW输出速率; DT计算间隔。,如何确定状态变量,状态变量积累量? 即 某种变量什么情况下应以LEVEL方程表示,在什么情况下以常数或辅助变量表示更合适?积累量:随时间的积累效应 变化速率:视状态变量的变化速率,与模型的时间坐标相比较的快慢而定。LEVEL的变化速率与时间坐标比较,快?慢?常数随时间轴变化非常慢;辅助变量随时间轴变化非常快;状态变量一般情况。,状态变量在回路中的作用,一个因果链中的状态变量具有改变系统整体的动力学性质的能力。,雇员的累积

3、作用流图,R HFR.KL=(WFS.KWF.K)/WFAT,WFS突增?HFR(高),WF(快速);HFR(低),WF平滑趋近于WFS。HFR=0, WF=WFS突增WFS的特性经由状态变量WF自身的积累变换,WF表现平滑指数增长自寻的特性。,状态变量在回路中的作用,期望雇员的阶跃增长时的外部特性,结论:若因果链中的变量值可随其输入量的变化而瞬变,则它们可定义为辅助变量;若一变量经因果链的传递将改变其波形,则宜以状态变量表示。,具有积累作用的状态变量环节有改变其各种形式输入量特性(曲线形状)的能力。输入状态 常数LEV取直线增长的形式。 直线增长LEV将为抛物线增长。 震荡波性质不同的波形(

4、T)。状态变量:去耦作用它使连接的各辅助变量更加具有独立性。辅助变量:瞬变,状态变量方程小结,状态变量环节能改变随时间变化的输入量的形状,能削弱输入量与输出量之间的联系,使它们多多少少能独立变化,从而使模型可能具备不平衡的动力学性质。把某变量定义为状态变量?1. 积累量:即首先取决于是否能把这个量看作为某种对时间变化的积累过程。2. 根据积分过程的时间常数来判断:时间常数很大时常数项;时间常数很小时辅助变量;一般情况状态变量。,5.1.2 速率(变化率)方程,速率方程的功用:把影响系统状态的诸因素来自系统内外的信息、计划与决策,转化成改变系统状态的行动。构思模型与建立方程时,一个重要的任务便是

5、寻找适当的方程式去描述速率(或变化率)。典型的变化率方程(构造复杂速率的基本单元):LEVEL.K*CONSTLEVEL.K/LIFE(GOAL.K-LEVEL.K)/ADJTMLEVEL.K*AUX.K与LEVEL.K/AUX.KEFFECT.K+NORM.K(某些因素的影响作用+额定速率)EFFECT.K*NORM.K(额定速率与某个(或几个)因子的乘积),LEVEL.K*CONST,速率方程式:R RATE.KL=LEVEL.K*CONST,银行付息结构流图,举例R IPR.KL=BAL.K*FAIR,量纲问题IPR=(元)*(1/年)=(元/年),(GOAL.K-LEVEL.K)/AD

6、JTM,速率方程式:R RATE.KL= (GOAL.K-LEVEL.K)/ADJTM,纯雇佣率采用(GOAL.K-LEVEL.K)/ADJTM模式的结构,L WF.K=WF.J+DT*HFR.JK R HFR.KL=(WFS.K-WF.K)/WFAT,速率方程小结,关于RATE方程的两点说明:1. 避免违背客观事实 例:世界纯出生率NBR R NBR.KL=(NBRN * P.K) * NBRMM.K*NBRFM.K*NBRPM.K*NBRCM.KNBR出生率NBRN正常的出生系数P 人口 四个对出生率的影响影响因素:NBRMM、 NBRFM、 NBRPM、 NBRCM依次是物质条件、食物供

7、应、污染程度与居住条件。假如发生世界性灾难?(应分别考虑出生率、死亡率)2. 方程形式要尽可能自然、合理地描述客观因素的影响,5.1.3 辅助变量与方程,在系统动力学模型中,辅助变量表述了系统内部的信息。建模的任务之一是揭示系统内部的机理和对变量之间的关系加以量化。辅助方程:概念量化辅助变量可为常数项、状态变量、速率或其他辅助变量的任一组合。辅助变量方程的表达类似于速率方程,都是代数运算,且无标准形式。,辅助变量的表函数表示,构思表函数系一种颇具难度的技巧,表函数以图形表示方法在模型中规定变量之间的关系。例:,土地对企业建设的影响,R BC.KL=NCF*BS.K*ELBC.K ELBC是LF

8、O 的函数。 LFO(01):被兴建前夕至完全建成 LFO=0, 未占用; LFO=1,占用,辅助变量的表函数表示,A ELBC.K=TABLE(TELBC,LFO.K,0,1,0.1) T TELBC=1.3/1.28/1.25/1.22/1.18/1.1/1/0.7/0.3/0.1/0,土地占用系数LFO 与土地对企业建设的影响ELBC 存在非线性关系,建立表函数的原则,建立表函数时大致要考虑:曲线的斜率和形状,一个或一个以上的特殊点和参考曲线。 设置曲线的斜率。使之与其表示的影响的性质吻合,负值斜率代表负反馈,正值斜率代表正反馈。 选择曲线的形状。小心确定在极端条件下和曲线中部的斜率与曲

9、线的值。 尽可能在表函数上把x,y的特殊点标出,如:x,y分别取0和1时,极端条件下的x,y值和某些研究问题所要求的特殊点。 一些参考线如y=x,y=y0,或y=x0,可用来表示理想与希望的条件,作用达饱和的限制或表函数中的其他内容。 实际系统难以测量时,用表函数表示系统的非线性影响与压力是最有效与方便的。但是切勿滥用表函数,在可以用清晰的表达式表示因素的影响时,不要用表函数。,辅助方程小结,量化模型回路中的信息和变量时,要有清晰的概念。构模者可借助因果关系图和流图等工具进行从变量的构思到具体建立变量的方程式。在建立辅助方程时,最富有启发的思想往往来自变量的量纲,量纲分析与量化方法是一种很重要

10、的技巧。正确、合理地使用表函数。,5.2 模型与方程Fox-Rabbit Ecology,方程举例,(01) average fox life = 4Units: Year(02) average rabbit life = 2Units: Year(03) carrying capacity = 500Units: Rabbit(04) effect of crowding on deaths lookup (0,0)-(10,20),(0,0.75),(1,1),(2,1.25),(5,2),(10,20) )Units: Dmnl(05) FINAL TIME = 50Units: Ye

11、arThe final time for the simulation.(06) fox birth rate = 0.25Units: 1/Year(07) fox births = Fox Population * fox birth rateUnits: Fox/Year(08) fox deaths = Fox Population / average fox life * fox mortality lookup (fox food availability)Units: Fox/Year,(09) fox food availability = fox rabbit consump

12、tion/(Fox Population * fox food requirements)Units: DmnlA lookup table showing the relationship between the input (crowding) along the x axis and the output (the effect that crowding has on the death rate) along the y-axis.(10) fox food requirements = 25Units: Rabbit/Year/Fox(11) fox mortality looku

13、p (0,0)-(2,20),(0,20),(0.5,2),(1,1),(2,0.5) )Units: Dmnl(12) Fox Population = INTEG (fox births-fox deaths, initial fox population)Units: Fox(13) fox rabbit consumption = Fox Population * fox food requirements * fox rabbit consumption lookup (rabbit crowding)Units: Rabbit/Year(14) fox rabbit consump

14、tion lookup (0,0)-(6,6),(0,0),(1,1),(2,2),(6,2) )Units: DmnlRelating rabbits to foxes(15) initial fox population = 40Units: Fox(16) initial rabbit population = 500Units: Rabbit,(17) INITIAL TIME = 0Units: YearThe initial time for the simulation. (18) rabbit birth rate = 2Units: 1/Year(19) rabbit bir

15、ths = Rabbit Population * rabbit birth rateUnits: Rabbit/Year(20) rabbit crowding = Rabbit Population/carrying capacityUnits: Dmnl(21) rabbit deaths = MAX (Rabbit Population / average rabbit life * effect of crowding on deaths lookup (rabbit crowding), fox rabbit consumption)Units: Rabbit/Year(22) R

16、abbit Population = INTEG (rabbit births-rabbit deaths, initial rabbit population)Units: Rabbit(23) SAVEPER = TIME STEPUnits: YearThe frequency with which output is stored.(24) TIME STEP = 0.25Units: YearThe time step for the simulation.,5.3 模型的参数,系统动力学模型在进行模拟之前,首先应对模型中的所有常数、表函数及状态变量方程的初始值赋值。参数种类: 常数

17、类,如转换系数、调节时间等 表函数 Level方程的初始值注:辅助变量与速率均可从LEV与CONST算出,因此不需单独计算其初始值。,参数赋值方法与准确度问题,参数估计方法:统计学方法,系统动力学方法?系统动力学模型的基本结构是信息反馈,反馈模型的行为对参数变化是不敏感的,其模型的模式与结果主要取决于模型结构而不是参数值的大小。系统动力学模型参数估计的原则对模型参数的准确度应有恰当的要求,即只要满足建模要求即可,无须盲目追求高准确度,以免浪费时间、人力与物力。大多数社会经济模型的目的在于政策分析,若参数在一定范围内变动对模型所隐含的政策没有影响,则不必对它们作进一步的估计。,参数估计方法,对某

18、参数的估计,应以模型行为对该参数值的灵敏度如何而定。运行模型与模型参数之间的矛盾?一般的方法:可以粗略地试用参数的一些可能值进行模拟测试,直至模型行为无显著变化时,就把其相应值确定为该参数值。参数值估计方法: (1) 经调查获得的原始资料 (2) 从模型中部分变量间关系中确定参数值 (3) 分析已经掌握的有关系统的知识估计参数值 (4) 根据模型的参考行为特性估计参数,5.4 方程的初始值,模型中状态方程的初始值有三类:拟合历史数据; 模型模拟从平衡状态开始; 模型模拟始于某些特殊的增长(或降低)规律。此三类各有自己的特殊问题。通常确定模型初始值的工作既麻烦、困难,又需较高技术水平。,模拟从平

19、衡状态开始,所谓模型处于平衡是指模型中各LEV的输入与输出速率达到均衡,整个模型处于动态平衡状态,各状态变量值保持不变。输入速率(IN)=输出速率(OUT),简单的平衡系统,如何确定平衡模型LEV方程的初始值?,L LEV.K=LEV.J+DT*(IN.JKOUT.JK) N LEV(0)=? R IN.KL=EXOG.K R OUT.KL=LEV.K/CONST,令 IN=OUTEXOG=LEV/CONST 则 LEV=EXOG*CONST (系统平衡),模拟从非平衡状态开始,有一些系统的初始状态不是简单的稳定平衡的。例:非平衡的人口系统。即一个国家的人口平均年增长率为2%,其相应的模型的初

20、始值就应尽可能与此吻合。(INOUT)/ LEV=FCFC增长系数(1/时间),L POP.K=POP.J+DT*(BR.JKDR.JK) R BR.KL=BRF*POP.K R DR.KL=POP.K/LE,(BRF*POPPOP/LE)/POP=FCBRF-(1/LE)=FC=0.02,由此可知:若 FC=0,则系统处于平衡状态,它是非平衡状态的特例;若 FC0,则为一般的情况,即非平衡的系统状态。,若期望寿命LE已知,则初始值为:N BRF=FC+(1/LE),5.5 模型模拟,建立了系统动力学模型后,即可借助于计算机模拟软件进行模拟。模型模拟通常是跟模型调试与改进、模型检验与评估以及政

21、策分析结合来做的。模拟过程(略),小结构思模型结构的原则,系统能比较完整的用状态变量加以描述; 模型中每一个反馈回路中至少包含一个状态变量,否则将出现同时辅助方程及不同速率直接连接的回路,这是不允许的; 状态变量仅受其速率控制; 物质守恒原则; 信息非守恒流; 唯有信息链能连接不同类型的物流守恒系统或子块。,小结建立模型方程的原则,关于量纲 1)每一方程左右两边的量纲必须保持一致; 2)不能只从量纲的含义判别系统中的状态变量与速率; 3)同一物质系统(或子系统)中的状态变量组应具有相同的量纲。关于参数 模型中每个参数必须有意义或在真实系统中能找到对应物。关于速率 1)速率方程在极端情况下仍要有

22、意义; 2)区别期望情况与实际情况; 3)区别实际情况和被人们觉察到的情况(延迟与偏差); 4)描述决策与行动的速率应基于可能得到的信息。,6. 模型检验与决策分析(4,5),模型调试与改进 模型检验与评估 模型实例 模型决策分析,6.1 模型的调试与改进,建立系统动力学模型是一个分解综合、循环反复逐渐达到目标的过程。此过程包括下述主要环节:构思模型结构建立方程模型调试再构思与提炼修改如此循环反复正是洞察系统内部结构与其行为关系的不断深入过程,这正是建模的主要目的。系统结构与其功能、行为的奥秘模型的灵敏度与强壮性修改与完善模型,探索系统结构与其功能、行为关系的奥秘,研究系统结构与其行为关系的层

23、次: 单反馈回路的行为 回路的各种组合的行为 系统行为的整体研究模型调试方法(结构行为): 使参数值取极端值,改变系统结构 设表函数的值为常数(使反馈回路失效) 使用测试函数(step, pulse, ramp, noise) 通过模拟试验剖析模型的结构与行为,举例Fox-Rabbit Ecology,模拟结果(一),使参数取极端值,改变系统结构fox birth rate=0,模拟结果(二),设表函数为常数(使反馈回路失效)fox rabbit consumption lookup=2,模拟结果(三),使用测试函数Fox birth rate=0.25*step(1,4),模型的灵敏度与强壮

24、性,从不同观察角度看模型的灵敏度,可划分为三种:(1)数值的灵敏度当参数或结构变动时导致模拟计算结果在数值上的变化。一切数量模型都显示其对数值的敏感性。 (2)行为的灵敏度行为灵敏度是动态模型所关心的。当变动参数或更改方程式时,模型行为的变化程度。SD模型的行为对参数变化是不敏感的。 (3)政策的灵敏度政策灵敏度的潜在影响最大。通过政策灵敏度分析,可以确定模型行为对哪些参数的变动是不敏感的。一个强壮性的模型应具有较低的行为灵敏度与政策灵敏度。,模型参数、结构与行为小结,模型结构是决定系统动力学模型行为的主要因素。一般说,变动结构对模型的行为会有较大影响。结构的最大变动就是改变系统的界限,它可以

25、使模型行为发生很大的变化,因此设定界限从建模工作的第一步棋就应给予重视。灵敏度测试表明:系统动力学模型表现出对参数变化相对地不敏感性和强壮性。即:更改参数对模型行为的影响没有像改变反馈、变化率与状态变量的结构所带来的影响那样大。改变某一参数而不影响模型行为的情况是常见的。,注:研究模型结构与其行为只是了解掌握真实系统的结构与行为的手段。建模的最终目的是寻求对实际系统有益的策略与政策并在实际系统中加以实施,以解决实际系统存在的问题。,6.2 模型正确性、有效性、信度与检验,模型实际系统 模型的可靠性?可信程度?,模型检验是为确定模型可信度、可靠性而对模型进行测试的过程。其目的主要在于确定所建模的

26、合理性。模型的合理性体现为:(1)模型的结构应是真实动态系统的抽象(2)模型能否对预定问题求解,并适合不同政策下的试验注:对于面向政策分析研究的模型,其最终检验是要看政策在实际系统中实施的客观效果是否与模型的分析基本一致。,关于模型的正确性,从研究模型正确性的目的考虑,可把他们转化为下面两个更加有用的问题(适用性与一致性): (1)模型是否适用于原来的目的和所要研究的问题? (2)模型是否和预订要描述的实际系统的那一部分一致?评估模型的最终标准是它的实用性与有效性。 (1)模型在实现研究目的方面的作用如何? (2)模型及其模拟结构能否被实用?模型的实用性、有效性和模型的适用性、一致性紧密相关。

27、,模型的适用性与一致性检验,系统动力学模型的适用性与一致性的检验过程包括许多测试方法与技巧。它们可划分成四组:(1) 结构的适合性检验(2) 模型行为的适用性(3) 模型结构与实际系统的一致性(4) 模型行为与实际系统的一致性这四组中的任何一组都不足于单独地检验模型的实用性与一致性。但是当他们组合成一个整体时,则形成全面的、严密的检验手段,恰如精细严密的滤波器,能够把各类有严重弱点或粗制滥造的模型筛选出去,只允许那些能反映客观实际与系统本质的模型通过。,系统动力学模型信度的检验方法,模型的实用性与有效性检验,模型结构规模适应使用者的要求 模型规模大小,模型的繁简程度,状态变量的集中度与分解度透

28、析反直观的行为特性 研究复杂系统行为:系统历史性、整体性、相关性,分析技巧模型有效性的另一个度量:模型能否产生新的洞察问题的能力和新的思想 (1)一个高有效性的模型应具有产生新的洞察问题的能力,也就是能进一步揭示所要研究问题的性质以及产生这些问题的系统的内在奥秘的潜力。 (2)一个真正有效的模型应该能成为新思想和提出新问题的丰富源泉。若新思想不仅在构模过程中而且在模型完成后都能不断产生,那么就可认为此模型的有效性和正确性是高的。,模型实用性与有效性检验方法,6.3 决策分析(政策实施),所谓用模型进行政策分析是指借助模型分析研究某个特定政策的作用,其实施结果是否能改善实际系统中待解决问题的行为

29、。政策分析的目的就在于:研究哪些政策有效,以及为什么有效。系统动力学研究所得出的策略建议,不仅来自模型的最终计算结果,而且还来自模拟过程中通过各阶段迭代所得到的认识。系统动力学研究最终应该能够提出切实可行的策略建议。因为模型只是达到目的的工具,最终的目的是提高对现实世界的认识,增加对客观规律的理解。,决策分析的方法与技巧,调整参数以分析比较政策与方案 模型中政策参数:常数,表函数 以政策参数对实际系统的决策分析进行调试变动结构以分析比较政策方案 (1)引进或改变政策参数,以扩展或改变模型结构 (2)在模型中增加政策反馈回路政策推荐及其评价问题 政策的真实性、灵敏度与强壮性、可行性,总结,结束,谢 谢 !,祝大家学习进步!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 理学

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报