第3章 连续模拟原理
3.1 连续模拟基础
3.1.1 连续模拟的定义
连续模拟的目的是得到系统的状态变量的动态变化过程,并由此分析系统的性能。相关的术语:
1)状态变量
两类状态变量:水平变量(Level Variables)和速率变量(Rates Variables)。水平变量反映状态变量的绝对值大小,而速率变量反映状态变量单位时间的变化大小。
2)模拟时间
连续模拟模型的模拟时间可以是连续的也可以是离散的,因此,状态变量的输出结果呈连续变化的光滑曲线、或连续变化的间断曲线,如图1.1.2所示。
3)状态方程
连续时间模型:微分方程 离散时间模型:差分方程
3.1.2 连续模拟模型
1)微分方程模型
a. 常微分方程:称为集中参数系统
b. 偏微分方程:称为分布参数系统,在管理系统中,主要表现为具有多个自变量的系统。
(1)常微分方程
在管理系统中有大量可以用常微分方程描述的系统,下面举一些示例来说明。 a. 传染病模型
以某地区有传染病情况下三种类型人员人数变化为例。设可能受到传染的人数为x1,已被传染得病人数为x2,已经治愈人数为x3,?为x1中单位时间内的传染系数,?为x2中单位时间内被治愈的比例系数。则此问题的线性微分方程为:
?dx1?dt???x1x2??dx2??x1x2??x2 ?dt??dx3?dt??x2?b. 阻滞增长模型
人口增长问题为例,受环境、资源有限的影响,当人口增长到一定数量后,人口增长率就开始下降了。描述此过程的模型称为阻滞增长模型,即Logistic模型。
设x为世界人口数量,t为时间,xm为考虑环境、资源因素时地球所能容忍的人口最大数量,x0为初始时刻世界人口数量,?为不考虑环境、资源因素时人口固有的增长率。那么此问题的非线性微分方程:
dxx??x(1-),x(0) = x0
dtxm(2)偏微分方程
以人口发展方程为例,为了研究任意时刻不同年龄的人口数量,引入人口的分布函数和密度函数。时刻t年龄小于r的人口称为人口分布函数,记为F(r, t),其中,t, r≥0,均为连续变量,设F是连续、可微的。
人口密度函数定义为:P(r, t) =
?F,表示单位年龄内的人口数量。时刻t年龄r的?r人的死亡率记为?(r, t)。初始密度函数记为p(r, 0) = p0(r),单位时间出生的婴儿数记为p(0, t) = f(t),称为婴儿出生率。那么人口发展方程为:
??P?P??r??t???(r,t)p(r,t)? ?p(r,0)?p0(r)?p(0,t)?f(t)??2)差分方程模型
例如,差分形式的世界人口阻滞增长模型为:
yk?1?yk?ryk(1???ryk?1?(r?1)yk?1?yk?(r?1)N??
即:xk+1 = (? + 1) xk [1-
yk)(1)N?xk],k = 0, 1, 2, …
(1??)xm 其中,xk 为第k时间阶段世界人口数量。
3.1.3 连续模拟的过程
1)系统结构的建立
就是系统动力学中的流图绘制过程。 2)系统模型的建立
即在流图的基础上建立一组反映系统行为特征的数学模型,它描述了各项状态变量与主要自变量-模拟时间的关系。
3)离散化转换
包括单步法、多步法和预测校正方法,单步法包括欧拉法和龙格-库塔法。
欧拉法(Eular)
欧拉法又称折线法,其近似计算原理如图1.3.2所示。
y(t)yn?1y(t)AynT ttn?1t
图1.3.2 欧拉几何图形表示
欧拉递推公式:
yn?1?yn?Tfn
其中,T?tn?1?tn称为步长(时间增量),fn为y(t)在时刻tn时的导数值。 因已知初始值y(0)?y0,由欧拉公式可以推出y1,然后求出y2,依次类推。
从欧拉法可以清楚的看出,微分方程的数值解(仿真解)实质上是以有限的差分解近似表示精确解;从几何图形上也可以看出,它用折线逼近y(t),因此,有时也称欧拉法为折线法。
龙格-库塔法(Runge-Kutta)
Runge和Kutta两人先后提出:用函数值f的线性组合来代替f的高阶导数项,则可避免计算高阶导数,又可提高数值积分的精度。其方法如下。
下一时刻的变化量并不是取前一时刻的变化率与步长之积,而是取tn及tn?1两时刻的斜率平均值与步长相乘,即:
Yn+1=Yn+T(fn+fn+1)/2
所以精度要比欧拉法高一些。
y(t)L1L2ALttn?1t
图1.3.3 二阶龙格-库塔法几何图形表示
4)模拟模型的建立
即将数学模型转换为能在计算机上运行的计算机程序。一般采用专用的模拟语言:
Vensim、Arena、Anylogic。
5)模拟实验与分析 模拟结果的分析形式:
a. 以时间为横轴,状态变量为纵轴。
b. 以状态变量为横、纵轴,分析系统状态变化的相轨线。 图1.3.1所示为某类传染病模拟结果的图形分析,其中,i(t)为总人口中的染病人数比例,s(t)为未染病人数的比例。
is(t)i(t)tP0s
a. i(t)、s(t)图形 b. i~s图形
图1.3.1 传染病演化的模拟结果
3.2 系统动力学
3.2.1 基本原理
系统动力学的理论基础是控制论,涉及到以下概念: 1)物流与信息流
系统动力学把世界上一切系统的运动假想为流体运动。系统的运动包括物质的运动和信息的运动,分别称为物流和信息流。
系统中可能有不同的物流。例如,一个工厂系统里存在着材料流、能量流、资金流、设备流、订单流等。这些物流是相互作用、相互依赖的,这种相互作用相互依赖的媒介就是信息流。在系统动力学中,信息流指系统中不同要素(如状态变量)之间的相互作用和响应。
2)延迟
要素(如状态变量)之间的作用和响应是是有延迟的。花费时间使系统的状态变量的值发生变化叫做延迟。延迟的大小影响了状态变量的变化率。
3)因果关系
指系统的某两个要素之间的影响和响应关系,当然,这种影响和响应是通过信息流的作用而发生的。有正关系、负关系、无关系或者复杂关系。
4)反馈环
从某一变量出发经过一个闭合回路的传递,最后导致该变量本身的增加,这样的回路称为正反馈环。反之,为负反馈环。极性分别标在环中间,分别用+,-符号表示。
图1.3.3的例子说明了信息反馈的过程形成了一个闭环结构。如果所示的人工水位控制系统,观察一下进行控制的信息反馈机构。测水位以确定阀门开度的大小。水位高阀门开的小些,水进少些,水位低,阀门开得大些,水进多些,这样在水位与阀门开度之间形成了一
个负因果关系。即负反馈环。
进水水槽进水阀门进水速度-调节(-)+被控水槽出水阀门恒定出水量被控水位
(a)实际系统示意图 (b)因果关系图
图1.3.3 人工水位控制系统
5)结构
系统动力学的整个系统是由一些简单环节搭成的。由这些基本元素再进一步构成延迟环节、反馈环节。如此一个反馈环、一个反馈环的跟踪,最终就可以把系统的结构全貌刻画出来,形成系统结构。
3.2.2 系统动力学图解
(1)流位(LEVEL)
又称为存量、水平量,它是系统内部流的积累,是系统的状态变量。例如,库存量、人口数量、销售量等等,都是比较典型的存量。
流位(Level)在SD图中用一个矩形框表示。指向Level的实线箭头表示输入流,向外的实线箭头表示Level的输出流。如图1.3.5所示。
流位 图1.3.5 流位图符
(2)流率(RATE)
又称为流速,即各种存量增加或减少的速度,即流位的变化率。
在系统流图中,流率用类似阀门的符号来表示。通过Rate的箭头表示流,流率Rate又称决策函数,它可以用来控制输入流和输出流的大小。如图1.3.6所示。
流率或 图1.3.6 流率图符
(3)流(Flow) 包括物流和信息流。由一些量来确定另一些量会怎么变,是信息流。信息流是不守恒的,物流遵守物理上的守恒定律,是实际物体的流动路径。实线表示物流的流动路径,虚线表示