1、5.模型与方程的建立模型与方程的建立(3)l变量与方程l模型参数l方程的初始值l模型实例5.1 建立建立SD方程方程l建立方程是把模型结构“翻译”成数学方程式的过程,把非正规、概念的构思转换成正式的定量的数学表达式规范模型。l建立方程的目的:在于使模型能用计算机模拟(或得到解析解),以研究模型假设中隐含的动力学特性,并确定解决问题的方法与对策。l状态变量与状态变量与Level方程方程l速率(变化率)方程速率(变化率)方程l辅助方程辅助方程lSD模型举例模型举例5.1.1 状态变量与状态变量与Level方程方程l状态变量是随时间而变化的积累量,是物质、能量与信息的储存环节。如:人口、企业雇员人数
2、、库存、生产能力、银行存款等。l状态变量的输入、输出变化率使积累量增加或减少。L LEVEL.K=LEVEL.J+DT*(INFLOW.JK-OUTFLOW.JK)LEVEL状态变量;状态变量;INFLOW输入速率;输入速率;OUTFLOW输出速率;输出速率;DT计算间隔。计算间隔。如何确定状态变量如何确定状态变量l状态变量状态变量积累量?积累量?即 某种变量什么情况下应以LEVEL方程表示,在什么情况下以常数或辅助变量表示更合适?积累量积累量:随时间的积累效应 变化速率变化速率:视状态变量的变化速率,与模型的时间坐标相比较的快慢而定。LEVEL的变化速率与时间坐标比较,快?慢?常数随时间轴变
3、化非常慢;辅助变量随时间轴变化非常快;状态变量一般情况。状态变量在回路中的作用状态变量在回路中的作用l一个因果链中的状态变量具有改变系统整体的动力学性质的能力。雇员的累积作用流图雇员的累积作用流图R HR HFR.KL=(WFS.KFR.KL=(WFS.KWF.K)/WFATWF.K)/WFAT WFS突增?HFR(高),(高),WF(快速);(快速);HFR(低),(低),WF平滑趋近于平滑趋近于WFS。HFR=0,WF=WFS 突增WFS的特性经由状态变量WF自身的积累变换,WF表现平滑指数增平滑指数增长自寻的特性。长自寻的特性。状态变量在回路中的作用状态变量在回路中的作用期望雇员的阶跃增
4、长时的外部特性期望雇员的阶跃增长时的外部特性结论:结论:若因果链中的变量值可随其输入量的变化而瞬变,则它们可定义为辅助变量;若一变量经因果链的传递将改变其波形,则宜以状态变量表示。l具有积累作用的状态变量环节有改变其各种形式输入量特性(曲线形状)的能力。输入状态常数常数LEV取直线增长的形式。取直线增长的形式。直线增长直线增长LEV将为抛物线增长。将为抛物线增长。震荡波震荡波性质不同的波形性质不同的波形(T)。l状态变量:去耦作用去耦作用 它使连接的各辅助变量更加具有独立性。辅助变量:瞬变瞬变状态变量方程小结状态变量方程小结l状态变量环节能改变随时间变化的输入量的形状,能削弱输入量与输出量之间
5、的联系,使它们多多少少能独立变化,从而使模型可能具备不平衡的动力学性质。l把某变量定义为状态变量?1.积累量:即首先取决于是否能把这个量看作为某种对时间变化的积累过程。2.根据积分过程的时间常数来判断:时间常数很大时时间常数很大时常数项;常数项;时间常数很小时时间常数很小时辅助变量;辅助变量;一般情况一般情况状态变量。状态变量。5.1.2 速率速率(变化率变化率)方程方程l速率方程的功用:把影响系统状态的诸因素来自系统内外的信息、计划与决策,转化成改变系统状态的行动。l构思模型与建立方程时,一个重要的任务便是寻找适当的方程式去描述速率(或变化率)。l典型的变化率方程(构造复杂速率的基本单元):
6、LEVEL.K*CONSTLEVEL.K*CONST LEVEL.K/LIFE (GOAL.K-LEVEL.K)/ADJTM(GOAL.K-LEVEL.K)/ADJTM LEVEL.K*AUX.K与与LEVEL.K/AUX.K EFFECT.K+NORM.K(某些因素的影响作用+额定速率)EFFECT.K*NORM.KEFFECT.K*NORM.K(额定速率与某个(或几个)因子的乘积)LEVEL.K*CONSTl速率方程式:R RATE.KL=LEVEL.K*CONST银行付息结构流图银行付息结构流图l举例 R IPR.KL=BAL.K*FAIRl量纲问题 IPR=(元)*(1/年)=(元/年
7、)(GOAL.K-LEVEL.K)/ADJTMl速率方程式:R RATE.KL=(GOAL.K-LEVEL.K)/ADJTM纯雇佣率采用纯雇佣率采用(GOAL.K-LEVEL.K)/ADJTM模式的结构模式的结构L WF.K=WF.J+DT*HFR.JKR HFR.KL=(WFS.K-WF.K)/WFAT速率方程小结速率方程小结l关于RATE方程的两点说明:1.避免违背客观事实避免违背客观事实例:世界纯出生率NBRR NBR.KL=(NBRN*P.K)*NBRMM.K*NBRFM.K*NBRPM.K*NBRCM.K NBR出生率 NBRN正常的出生系数 P 人口四个对出生率的影响影响因素:NB
8、RMM、NBRFM、NBRPM、NBRCM依次是物质条件、食物供应、污染程度与居住条件。假如发生世界性灾难?(应分别考虑出生率、死亡率)2.方程形式要尽可能自然、合理地描述客观因素的影响方程形式要尽可能自然、合理地描述客观因素的影响5.1.3 辅助变量与方程辅助变量与方程l在系统动力学模型中,辅助变量辅助变量表述了系统内部的信息。建模的任务之一是揭示系统内部的机理系统内部的机理和对变量之间的关系加以量变量之间的关系加以量化化。辅助方程:概念量化l辅助变量可为常数项、状态变量、速率或其他辅助变量的任一组合。l辅助变量方程的表达类似于速率方程,都是代数运算,且无标准形式。辅助变量的表函数表示辅助变
9、量的表函数表示 构思表函数系一种颇具难度的技巧,表函数以图形表示方法在模型中规定变量之间的关系。例:土地对企业建设的影响土地对企业建设的影响R BC.KL=NCF*BS.K*ELBC.KELBC是LFO 的函数。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土地占用系数土地占用系数LFOLFO与与土地对企业建设的影响土地对企业建设的影响ELBCELBC存在非
10、线性关系存在非线性关系X(LFO)X(LFO)0 00.10.10.20.20.30.30.40.40.50.50.60.60.70.70.80.80.90.91 1Y(ELBC)Y(ELBC)1.31.31.281.281.251.251.221.221.181.181.11.11 10.70.70.30.30.10.10 0建立表函数的原则建立表函数的原则1.建立表函数时大致要考虑:曲线的斜率斜率和形状形状,一个或一个以上的特特殊点殊点和参考曲线参考曲线。2.设置曲线的斜率设置曲线的斜率。使之与其表示的影响的性质吻合,负值斜率代表负反馈,正值斜率代表正反馈。3.选择曲线的形状选择曲线的形状
11、。小心确定在极端条件下和曲线中部的斜率与曲线的值。4.尽可能在表函数上把x,y的特殊点特殊点标出,如:x,y分别取0和1时,极端条件下的x,y值和某些研究问题所要求的特殊点。5.一些参考线参考线如y=x,y=y0,或y=x0,可用来表示理想与希望的条件,作用达饱和的限制或表函数中的其他内容。6.实际系统难以测量时,用表函数表函数表示系统的非线性影响与压力是最有效与方便的。但是切勿滥用表函数,在可以用清晰的表达式表示因素的影响时,不要用表函数。辅助方程小结辅助方程小结1.量化模型回路中的信息和变量时,要有清晰的概念。构模者可借助因果关系图和流图等工具进行从变量的构思到具体建立变量的方程式。2.在
12、建立辅助方程时,最富有启发的思想往往来自变量的量纲,量纲分析与量化方法是一种很重要的技巧。3.正确、合理地使用表函数。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:
13、Dmnl(05)FINAL TIME =50Units:YearThe 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
14、consumption/(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 lookup (0,
15、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 consumption lookup (0,0)-(6,6),
16、(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 births=Rabbit Population*rabbit birth rateUnits:
17、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)Rabbit Population=INTEG(rabbit births-rabbit deaths,initial rabbit
18、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 模型的参数模型的参数l系统动力学模型在进行模拟之前,首先应对模型中的所有常数常数、表函数表函数及状态变量方程的初始值初始值赋值。l参数种类:l常数类,如转换系数、调节时间等常数类,如转换系数、调节时间等l表函数表函数lLevel方程的初始值方程的初始值注:辅助变量与速率均可
19、从LEV与CONST算出,因此不需单独计算其初始值。参数赋值方法与准确度问题参数赋值方法与准确度问题参数估计方法参数估计方法:统计学方法,系统动力学方法?l系统动力学模型的基本结构是信息反馈,反馈模型的行为对参数变化是不敏感的,其模型的模式与结果主要取决于模型结构模型结构而不是参数值参数值的大小。l系统动力学模型参数估计的原则 对模型参数的准确度应有恰当的要求,即只要满足建模要求即可,无须盲目追求高准确度,以免浪费时间、人力与物力。大多数社会经济模型的目的在于政策分析,若参数在一定范围内变动对模型所隐含的政策没有影响,则不必对它们作进一步的估计。参数估计方法参数估计方法l对某参数的估计,应以模
20、型行为对该参数值的灵敏度灵敏度如何而定。运行模型与模型参数之间的矛盾?一般的方法:一般的方法:可以粗略地试用参数的一些可能值进行模拟测试,直至模型行为无显著变化时,就把其相应值确定为该参数值。l参数值估计方法:(1)经调查获得的原始资料(2)从模型中部分变量间关系中确定参数值(3)分析已经掌握的有关系统的知识估计参数值(4)根据模型的参考行为特性估计参数5.4 方程的初始值方程的初始值l模型中状态方程的初始值有三类:1)拟合历史数据;2)模型模拟从平衡状态开始;3)模型模拟始于某些特殊的增长(或降低)规律。l此三类各有自己的特殊问题。通常确定模型初始值的工作既麻烦、困难,又需较高技术水平。模拟
21、从平衡状态开始模拟从平衡状态开始l所谓模型处于平衡是指模型中各LEV的输入与输出速率达到均衡,整个模型处于动态平衡状态,各状态变量值保持不变。输入速率输入速率(IN)=输出速率输出速率(OUT)简单的平衡系统简单的平衡系统l如何确定平衡模型LEV方程的初始值?L LEV.K=LEV.J+DT*(IN.JKL LEV.K=LEV.J+DT*(IN.JKOUT.JK)OUT.JK)N N LEVLEV(0 0)=?=?R IN.KL=EXOG.KR IN.KL=EXOG.KR OUT.KL=LEV.K/CONSTR OUT.KL=LEV.K/CONST令令 IN=OUTIN=OUT EXOG=LE
22、V/CONST EXOG=LEV/CONST则则 LEV=EXOG*CONSTLEV=EXOG*CONST (系统平衡系统平衡)模拟从非平衡状态开始模拟从非平衡状态开始l有一些系统的初始状态不是简单的稳定平衡的。例:非平衡的人口系统。即一个国家的人口平均年增长率为2%,其相应的模型的初始值就应尽可能与此吻合。(INOUT)/LEV=FC FC增长系数(增长系数(1/时间)时间)L POP.K=POP.J+DT*(BR.JKL POP.K=POP.J+DT*(BR.JKDR.JK)DR.JK)R BR.KL=BRF*POP.KR BR.KL=BRF*POP.KR DR.KL=POP.K/LER
23、DR.KL=POP.K/LE(BRF*POP(BRF*POPPOP/LE)/POP=FCPOP/LE)/POP=FC B BRFRF-(1/LE)=FC=0.(1/LE)=FC=0.0 02 2由此可知:由此可知:若 FC=0,则系统处于平衡状态,它是非平衡状态的特例;若 FC0,则为一般的情况,即非平衡的系统状态。若期望寿命LE已知,则初始值为:N BRF=FC+(1/LE)N BRF=FC+(1/LE)5.5 模型模拟模型模拟l建立了系统动力学模型后,即可借助于计算机模拟软件进行模拟。l模型模拟通常是跟模型调试与改进、模型检验与评估以及政策分析结合来做的。l模拟过程(略)小结小结构思模型结
24、构的原则构思模型结构的原则1.系统能比较完整的用状态变量加以描述;2.模型中每一个反馈回路中至少包含一个状态变量,否则将出现同时辅助方程及不同速率直接连接的回路,这是不允许的;3.状态变量仅受其速率控制;4.物质守恒原则;5.信息非守恒流;6.唯有信息链能连接不同类型的物流守恒系统或子块。小结小结建立模型方程的原则建立模型方程的原则l关于量纲关于量纲1)每一方程左右两边的量纲必须保持一致;2)不能只从量纲的含义判别系统中的状态变量与速率;3)同一物质系统(或子系统)中的状态变量组应具有相同的量纲。l关于参数关于参数模型中每个参数必须有意义或在真实系统中能找到对应物。l关于速率关于速率1)速率方
25、程在极端情况下仍要有意义;2)区别期望情况与实际情况;3)区别实际情况和被人们觉察到的情况(延迟与偏差);4)描述决策与行动的速率应基于可能得到的信息。6.模型检验与决策分析模型检验与决策分析(4,5)l模型调试与改进l模型检验与评估l模型实例l模型决策分析6.1 模型的调试与改进模型的调试与改进l建立系统动力学模型是一个分解综合、循环反复逐渐达到目标的过程。此过程包括下述主要环节:构思模型结构构思模型结构建立方程建立方程模型调试模型调试再构思与提炼修改再构思与提炼修改 如此循环反复正是洞察系统内部结构与其行为关系的不断深入过程,这正是建模的主要目的。系统结构与其功能、行为的奥秘系统结构与其功
26、能、行为的奥秘 模型的灵敏度与强壮性模型的灵敏度与强壮性 修改与完善模型修改与完善模型探索系统结构与其功能、行为关系的奥秘探索系统结构与其功能、行为关系的奥秘l研究系统结构与其行为关系的层次:研究系统结构与其行为关系的层次:l单反馈回路的行为l回路的各种组合的行为l系统行为的整体研究l模型调试方法(结构模型调试方法(结构行为):行为):l使参数值取极端值,改变系统结构l设表函数的值为常数(使反馈回路失效)l使用测试函数(step,pulse,ramp,noise)l通过模拟试验剖析模型的结构与行为举例举例Fox-Rabbit Ecology模拟结果(一)模拟结果(一)l使参数取极端值,改变系统
27、结构 fox birth rate=0模拟结果(二)模拟结果(二)l设表函数为常数(使反馈回路失效)fox rabbit consumption lookup=2模拟结果(三)模拟结果(三)l使用测试函数 Fox birth rate=0.25*step(1,4)模型的灵敏度与强壮性模型的灵敏度与强壮性l从不同观察角度看模型的灵敏度,可划分为三种:(1)数值的灵敏度 当参数或结构变动时导致模拟计算结果在数值上的变化。一切数量模型都显示其对数值的敏感性。(2)行为的灵敏度 行为灵敏度是动态模型所关心的。当变动参数或更改方程式时,模型行为的变化程度。SD模型的行为对参数变化是不敏感的。(3)政策的
28、灵敏度 政策灵敏度的潜在影响最大。通过政策灵敏度分析,可以确定模型行为对哪些参数的变动是不敏感的。l一个强壮性的模型应具有较低的行为灵敏度与政策灵敏度。模型参数、结构与行为模型参数、结构与行为小结小结l模型结构是决定系统动力学模型行为的主要因素。一般说,变动结构对模型的行为会有较大影响。结构的最大变动就是改变系统的界限,它可以使模型行为发生很大的变化,因此设定界限从建模工作的第一步棋就应给予重视。l灵敏度测试表明:系统动力学模型表现出对参数变化相对地不敏感性和强壮性。即:更改参数对模型行为的影响没有像改变反馈、变化率与状态变量的结构所带来的影响那样大。改变某一参数而不影响模型行为的情况是常见的
29、。注:注:研究模型结构与其行为只是了解掌握真实系统的结构与行为的手段。建模的最终目的是寻求对实际系统有益的策略与政策并在实际系统中加以实施,以解决实际系统存在的问题。6.2 模型正确性、有效性、信度与检验模型正确性、有效性、信度与检验模型实际系统模型的可靠性?可信程度?模型检验模型检验是为确定模型可信度、可靠性可信度、可靠性而对模型进行测试的过程。其目的主要在于确定所建模的合理性。模型的合理性体现为:(1)模型的结构应是真实动态系统的抽象 (2)模型能否对预定问题求解,并适合不同政策下的试验注:对于面向政策分析研究的模型,其最终检验是要看政策在实际系统中实施的客观效果是否与模型的分析基本一致。
30、关于模型的正确性关于模型的正确性l从研究模型正确性的目的考虑,可把他们转化为下面两个更加有用的问题(适用性与一致性):(1)模型是否适用于原来的目的和所要研究的问题?(2)模型是否和预订要描述的实际系统的那一部分一致?l评估模型的最终标准是它的实用性与有效性。(1)模型在实现研究目的方面的作用如何?(2)模型及其模拟结构能否被实用?l模型的实用性、有效性和模型的适用性、一致性紧密相关。模型的适用性与一致性检验模型的适用性与一致性检验l系统动力学模型的适用性与一致性的检验过程包括许多测试方法与技巧。它们可划分成四组:(1)结构的适合性检验结构的适合性检验 (2)模型行为的适用性模型行为的适用性
31、(3)模型结构与实际系统的一致性模型结构与实际系统的一致性 (4)模型行为与实际系统的一致性模型行为与实际系统的一致性l这四组中的任何一组都不足于单独地检验模型的实用性与一致性。但是当他们组合成一个整体时,则形成全面的、严密的检验手段,恰如精细严密的滤波器,能够把各类有严重弱点或粗制滥造的模型筛选出去,只允许那些能反映客观实际与系统本质的模型通过。系统动力学模型信度的检验方法系统动力学模型信度的检验方法模型结构模型行为针对目的要求的模型适合性检验(检验重点在内部)量纲一致性;方程式极端条件检验;界限范围:重要变量政策的杠杆作用参数灵敏度:行为特性政策结论结构灵敏度:行为特性政策结论模型与实际系
32、统一致性检验(检验模型模拟结果与来自实际系统的信息数据的一致性)模型的“外观”正确性:速率与状态变量信息反馈延迟逻辑函数参数值范围:概念上拟合数值上拟合参数模式的再现:所关心问题的行为以往的政策预期的行为奇异行为极端条件下模拟统计方法检验模型的实用性与有效性检验模型的实用性与有效性检验l模型结构规模适应使用者的要求模型规模大小,模型的繁简程度,状态变量的集中度与分解度l透析反直观的行为特性研究复杂系统行为:系统历史性、整体性、相关性,分析技巧l模型有效性的另一个度量:模型能否产生新的洞察问题的能力和新的思想(1)一个高有效性的模型应具有产生新的洞察问题的能力,也就是能进一步揭示所要研究问题的性
33、质以及产生这些问题的系统的内在奥秘的潜力。(2)一个真正有效的模型应该能成为新思想和提出新问题的丰富源泉。若新思想不仅在构模过程中而且在模型完成后都能不断产生,那么就可认为此模型的有效性和正确性是高的。模型实用性与有效性检验方法模型实用性与有效性检验方法模型结构模型行为模型的实用性与有效性是否满足用户的需要:规模大小模型的繁简状态集中度与分解度的高低反直观性行为:由模型显示的借助模拟进行分析问题而发现的反直观性产生新的洞察力和新的思想6.3 决策分析(政策实施)决策分析(政策实施)l所谓用模型进行政策分析政策分析是指借助模型分析研究某个特定政策的作用,其实施结果是否能改善实际系统中待解决问题的
34、行为。政策分析的目的就在于:研究哪些政策有效,以及为什么有效。l系统动力学研究所得出的策略建议,不仅来自模型的最终计算结果,而且还来自模拟过程中通过各阶段迭代所得到的认识。l系统动力学研究最终应该能够提出切实可行的策略建议策略建议。因为模型只是达到目的的工具,最终的目的是提高对现实世界的认识,增加对客观规律的理解。决策分析的方法与技巧决策分析的方法与技巧l调整参数以分析比较政策与方案模型中政策参数:常数,表函数以政策参数对实际系统的决策分析进行调试l变动结构以分析比较政策方案(1)引进或改变政策参数,以扩展或改变模型结构(2)在模型中增加政策反馈回路l政策推荐及其评价问题政策的真实性、灵敏度与强壮性、可行性总结总结 决策的执行对一个系统的认识问题的定义决策分析计算机模拟系统的概念化模型与方程的建立 结束结束祝大家学习进步!祝大家学习进步!