You are on page 1of 42

系统 动力模型

• 研究进展
• 方法原理
• VENSIM 操作
推荐教材
• 李旭。社会系统动力学:政策研究的原理
、方法和应用 [M]. 复旦大学出版社。
• 系统动力学(简称 SD, System dynamic )最早是由美
国麻省理工学院弗雷斯特( Jay W. Forrester )教授于
1956 年为解决生产管理、库存管理和员工雇用等企业问
题而创立的一种综合集成方法,其经典著作包括《工业
动力学》、《城市动力学》、《世界动力学》等。
• 系统动力学此后在国内迅速得到推广和论证,主要应用
于社会、经济、交通、环境、军事、安全管理等多个领
域,并取得了丰富的研究成果。
• 在旅游研究领域中,尽管系统动力学引入到旅游学科
研究的时间相对较晚,最早文献可追溯到 21 世纪初期,
但也引起了国内外学者的广泛关注。截止目前,系统动
力学主要应用于城市旅游、可持续旅游、商务旅游、乡
村旅游和生态旅游等领域。
• 系统动力学是一种建立在控制论、信息论、系
统论、反馈理论的基础上,借助计算机仿真技
术,将定性方法和定量方法有机结合,通过流
( Flow )、水平变量( Level )、速率变量
( Rate )以及辅助变量( Auxiliary )等建
立仿真模型,用来研究复杂社会经济系统的重
要方法。社会经济系统结构是非常复杂的,需
要通过“回路”、“积累”、“信息”、“延
迟”和“决策” 5 个部分完成系统反馈回路来
模拟。
• 运行原理:流体在回路中流动必然要产生
积累现象,累积的物质产生压力,并通过
信息的传递作用于决策者,使得决策者根
据收到的信息,做出必要的“决策”去改
变流速,从而改变积累的物质。但由于物
质和信息在传递过程中是需要时间的,这
就产生了“延迟”问题,最后因为延迟的
存在又使得系统产生波动,这就大大增加
了系统控制的准确度和难度
• 系统动力学从系统的微观结构出发建立系统
的结构模型,用回路描述系统结构框架,用
因果关系图和流图描述系统要素之间的逻辑
关系,用方程描述系统要素之间的数量关系
,用专门的仿真软件进行模拟分析。
• 基本方法:
• 因果关系图:描述系统要素之间的逻辑关系(不
能反映变量的性质)
• 流图:描述系统要素的性质和整体框架。
• 方程将系统要素之间的局部关系量化。
• 仿真平台:仿真软件
系统动力学的理论基础
• 1. 系统理论
• 系统动力学把一切被研究对象看成系统,在系统边界以外的部分称
为系统的环境。
• 2. 信息反馈理论(信息反馈环)
• 系统的环境变化,系统决策改变,新的系统行动改变,系统与环境
的关系,系统未来决策
• 3. 决策理论
• 描述决策者的思考过程与决策过程,模拟决策的基本构造及系统在
不同决策下的行为。
• 4. 系统力学
• 5. 计算机仿真技术
系统及其构成和结构
– SD 研究的对象主要是社会经济系统
– SD 分析与解决问题的方法不是建立一组微分方程去求
解,而是
• 分析系统的结构:划分子系统
• 分析变量之间的相互作用:因果关系
• 区分速率变量,状态变量,辅助变量,研究反馈关系。

– 通过建立直观的模型,进行计算机模拟,而解决问题。
– 事件—行为模式—系统结构:系统结构决定行为行为模
式,行为模式决定具体事件,因此解决问题的根本出发
点是系统结构分析。
– 系统动力学能解决微分方程组方法难以解决的复杂非线
性系统问题。
• 系统的结构决定了系统的行为,并通过寻找系统的
较优结构来获得系统较优的系统行为。
• 系统动力学方法反映系统的结构、功能与行为特征
的耦合关系,擅长处理开放性、复杂性、非线性、
反馈性及时变性等系统耦合问题(王其藩, 199
4 )。

• 优点:
• ① 擅长处理周期性问题;②能够处理长期性问题;
③适合数据缺少条件下的研究;④擅长解决高阶、
非线性、时变的问题。
系统动力学解决问题的一般过程
提出 参考行为 提出假设 模型 得到
问题 模式分析 建立模型 模拟 结论

 提出问题:明确建立模型的目的。即要明确要研究和解决
什么问题。
 参考行为模式分析:分析系统的事件,及实际存在的行为
模式,提出设想和期望的系统行为模式。作为改善和调整
系统结构的目标。
 提出假设建立模型:由行为模式,提出系统的结构假设。
由假设出发,设计系统的因果关系图,流图,并列出方程
,定义参数。从而将一系列的系统动力学假设,表示成了
清晰的数学关系集合。
 模型模拟:调整参数,运行模型,产生行为模式。建立好
的模型是一个实验室,可以由试验参数和结构的变化理解
结构与系统行为模式的关系。
任务调研

系统分析
问题定义

划定界限

反馈结构分析
结构分析
变量定义

建立方程 修改模型

建立模型

模型模拟

模型评估

政策分析与模型使用
– 建模初期有四个重要环节:
• 系统框架图
• 因果回路图构建
• 因果链与反馈分析
• 模型流图构建
1. 系统框架图
2. 因果关系图
• 社会经济系统是一个以因果为基础的系统。
• 因果关系图是一种定性描述系统中变量间的因果
关系的图示模型。
• 因果关系图是系统动力学模型的基础,在绘制流
程图和建立数学仿真模型前使用。
• 因果链只能定性地说明系统变量之间的影响关系
的变化方向,但不能反映两个变量的变化量的大
小和他们之间变化的时间延迟。
– 因果链与反馈分析需要注意的几点
• 反馈结构应形成闭合回路,下图的结构是开环回路。

维持吸毒
所需费用
+
+ 吸毒者犯
罪频度
+
毒品价格
吸毒导
致犯罪
+
-
吸毒者
– 因果链与反馈分析需要注意的几点
• 在因果与相互关系图中采用名词或名词的短语,不用动
词。变量之间的影响与作用以带箭头的因果链表示。左
图是错误的,右图才是正确的;

订货增加 库存减少 增加交 -


货延迟 订货 库存
-
减少交 -
库存增加 订货减少 交货
货延迟
延迟
– 因果链极性
• 因果链 A→+ B :连接 A 与 B 的因果链取正号,
– ( 1 )若增加 A 使 B 也增加,或
– ( 2 )若 A 的变化使 B 在同一方向上发生变化。
• 因果链 A→- B :连接 A 与 B 的因果链取负号,
– ( 1 )若 A 的增加使 B 减少,或
– ( 2 )若 A 的变化使 B 在相反方向上发生变化。
污染治理

环保投资支出
固定资产投资

人均GDP
环境污染 GDP
交通设施水平
旅游固定
资产投资
经济发展指数
公共安全支出
污染指数
旅游资源
吸引能力
社会治安案件数量 游客接待量
产业协同发展
旅游风险指数
旅游总收入
居民支持参与
居民收入水平 总人口
居民幸福指数
就业水平
+ GDP
+
+ + -
5.12汶川地震冲击
财政支出
二产业产值 三产业产值 重建政策支持因子+
一产业产值
+
+ +
+ +
+ 林业产业面积
+ 林业产业产值 +
一产就业人数 +
社会保障支出 二产就业人数 三产就业人数 林业投资支出
+
医疗卫生支出 常住人口+ + + +
+ + + 固定资产投资
+ 餐饮住宿收入
+ 农民人均林业收入
总就业人数
参合率 旅游资源禀赋
+ +
农村医疗水平 - 人均旅游消费 农村经济发展 +
+ 失业率 +
- 财产性收入 ++ 农业资产投资
+ +
+ 交通设施水平
农民人均消费支出
- 农民经营收入
+ +
+
+ 旅游总收入 +
+交通固定资产投资
农民人均纯收入 +
农民生活质量 游客接待量
+ 农民可支配收入 +
+ +
- +
-
+ 旅游固定资产投资
转移性收入 工资性收入
恩格尔系数
+
环保资金支出
生态环境质量
+
注意:
• 1. 模型是根据建模的目的,对真实系统的简单描述,因此
只能反映真实世界的某些断面或侧面的本质特征。建模时
必须根据系统的类似性精心加以提炼,找出系统的主导结
构,而不是对实际系统进行简单的肤质,应防止所谓原原
本本、完全一一对应地按照实际系统去建立模型的错误倾
向。

• 2. 步骤参考:
• 首先,找出系统的关键要素
• 其次,从系统中的任何一个要素出发,画因果链或回路。
• 最后,①确定两者之间关系时,要假定其他要素不变;②
要注意互为因果、一因多果、多因一果情况
流图构建(模型的实质性)
流图是在因果关系图的基础上进一步区分变
量的性质,用更加直观的符号刻画系统要素的
逻辑关系,明确系统的反馈形式和控制规律,
为深入研究系统打基础的图形表示法。

订货延迟
商店订货
变量
状态变量(存量) :描述系统的积累效应的变量
• Level 或积分量(矩形符号表示)

速率变量(流量):描述系统中积累效应变化快慢
的变量
• 是单位时间变化量

辅助变量:状态变量和速率变量之间的信息传递和
转换过程的中间变量。
• 是单位时间变化量

• 常量:在研究期间变化甚微或相对不变的量称
为常量,也称外生变量
环保投资比重 旅游收入万元
环保投资万元 环保投资支出 <GDP> 废水排放量
废水处理量
一产产值增长率 废水处理量 废水排放量
一产就业增加率 旅游业固定资 废水存量
废水处理能力 废水增长量
产比重
一产就业人数 一产产出
一产就业增量 一产增加值
旅游业固定资 固废处理量 固废存量 固废排放量
二产就业增加率 二产产值增长率 <Time> 产投资额 固废处理能力 固废增长量

二产就业人数 二产产出 环保投资万元 废水存量 固废存量


废水指数 旅游收入万元
二产就业增量 二产增加值 旅游业固定资 固废处理量 上一期 上一期
固废排放量
固定资产投资总额 产投资上一期
三产就业增加率 三产产值增长率
旅游业固定资 <Time> 固废指数
三产就业人数 三产产出 产投资指数
三产就业增量 三产增加值 交通设施投资水平 <Time> 环境污染变化指数 旅游总收入
A级以上景 A级以上景区数
人均GDP上一期 旅游收入增长
<三产就业人数> 区数量 量上一期
交通设施水平 交通固定资产 <总人口> 指数
交通设施增加量 投资比重 人均旅游消费
总就业人数 <Time> 人均GDP 旅游总收入
旅游资源指数
<一产就业人数> 交通设施水平 <一产产出> 旅游固定资产 上一期
上一期
<二产就业人数>
<交通设施便利指数> <二产产出> 经济增长指数 游客变化影响 游客变化率
<旅游风险增长 GDP 旅游资源游客
交通设施便 <三产产出> 经济增长游 <Time>
就业率 指数> 就业增长率 利指数 变化影响
总人口 交通便利游客 客变化影响
<环境污染变化 变化影响
旅游就业人数 游客接待量
指数> 就业增长量 游客增长指数 <Time>
<Time> 游客变化量
失业率 居民幸福指数 <GDP>
公共安全支出系数 旅游风险增长 治安案件存量
居民收入水平 指数 上一期
收入增量 公共安全支出 游客接待万人
居民消费价格
案件量
指数 社会治安案件 社会治安案件
收入增长指数
基尼系数 公共安全支出
查处增长量 查处量 社会治安案件 发生数量 发生增长量
<Time> 万元查处量 存量
<旅游收入增长指数>
Feature PLE PLE Plus Pro DSS Read
SyntheSim
Ability to cut feedback links on the fly in SyntheSim • • • • •

Vensim 软件功能
mode • • • •
Sketch Editor with Undo/Redo • • • •

Causal Loop Diagrams • • • • •

Stock and Flow Diagrams • • • • •


Tree Diagrams • • • • •
Document Tool • • • • •

Vensim PLE Loop Identification


Equation Editor








 个人学习版。具有一般建模模拟功能, Built-in Functions • • • •

多视窗 , 原因追踪 , 复合模拟等功能。


Units Check • • • •
Causal Tracing® • • • • •
Reality Check®
 对教育机构免费。
• • • • •
Simulation • • • • •
Graphs • • • • •
Tabular Output (Tables) • • • • •
Vensim PLE Plus Run Comparison (between two simulations) • • • • •

 除具有 PLE Plus 功能外 , 具有 Monte On-line Help • • • •

Carlo 灵敏度测试 , 输入输出控制等 .


Multiple Views (pages or sectors of a model) • • • • •
Input and Output Sketch Objects • • • • •
Gaming • • • •

Vensim Professional Sensitivity Simulations (Monte Carlo) • • • •

 除具有 PLE Plus 功能外 , 具有真实性测


External Data Import/Export (spreadsheet etc.) • • • •
Live Data Connections • • • •

试,灵敏度测试,模型优化,方程文本 Discrete Event Functions     • • •

编辑,下标变量等高级功能 Editable  Sketch Toolsets


Hide Sketch Elements
 
 
 
 



• •

Vensim DSS Simulation Control Dialog

Partial Model Simulation



 具有模拟飞行器开发,宏定义及外部函 User-configurable Tools • •

数引用,通过 DLL 与其他程序交互。


Histograms • • •
Password Protection • • •
Model Calibration (optimization) • • •
Vensim Model Reader Policy Optimization
Kalman Filtering
• • •
• •
 供无 Vensim 及高版本的人者阅读,运 Subscripts (Arrays) - up to 8 dimensions • • •

行和分析模型。
Bar Graphs • • •
Gantt Charts • • •

 但是不能修改模型。免费
Summary Statistics • • •
Text Editor • •
User defined Macros • • •

Molecules ODBC Capabilities


Packaged Applications (Venapps, flight simulators)



Venapps Graphical Venapp Builder

Dynamic Data Exchange


External Functions • •
Compiled Models (C language)   • •
DLL Configuration   • •
Vensim 软件的界面
• 标题栏: Titel Bar
• 菜单栏 : Menu
• 工具栏 :Tools Bar
– Main Tools
– Simulation Tools
– Analysis Tools
– Sketch Tools
• 状态栏 :Status Bar
• 流图区
Vensim 函数与运算符
• Vensim 的函数与运
算符在公式编辑器中
– 运算符
• 算术 :+, -,*, /
• 逻辑 : =,>,<, :AND:,..

• 函数查找
– 所有函数列表
• Reference Manual 中

– 在 Vensim 中搜索
• 工具栏
– 主工具 Main Tools
Vensim 软件的界面
– 绘图工具 Sketch Tools
• Lock: 图形锁定 Move/Size: 移动
• Variable: 创建变量
• Box Variable: 用创建状态变量
• Arrow: 创建箭头。
• Rate: 建立速率变量
• Merge: 合并变量
• Delete: 删除模型的结构 , 变量及注
释。
• Model Variable: 在图形中加进已
存在模型变量和引起变量原因。
• Shadow Variable: 在图形中加进已
存在模型变量作为影子变量
• Input Output Object : 在图形中增
加输入滑动器和输出曲线图及图表。
Sketch Comment: 对图表增加注释
和图片。
• Unhide Wand: 在图表中显示被隐藏
的变量
• Hide Wand: 在图表中隐藏某变量
• Equations: 使用方程编辑器创建模
型方程
• Reference Model: 绘制与编辑参考
模型
Vensim 软件的界面
• 工具栏
– 模拟工具 Simulation Tools
• Control: 模拟控制
• Set up a simulation: 建立模

• Run Name: 数据集名称
• Choose Runname: 选择数据集
名称
• Simulate: 模拟
• SyntheSim: 符合模拟
• Game: 游戏
• Sensitivity: 灵敏度测试
• Optimize: 优化
• Reality Check: 真实性检验
• Build Windows: 切换到建模窗

• Output Windows: 切换到输出
窗口
• Control Panel: 控制窗口
• Subscrip: 下标变量
Vensim 软件的界面
• 工具栏
– 分析工具 Analysis Tools
• 结构分析工具
– 原因树
– 使用树
– 回路图
– 文档
• 数据分析工具
– 原因带状图
– 曲线图
– 灵敏性曲线图
– 条线图
– 表格
– 运行比较
– 统计表
• 其他工具
– 单元检查
– 方程式编辑器
– Venapp 编辑器
– 文本编辑器
系统动力学及 Vensim 函数

 SD 的主要函数类型
 Vensim 函数与运算符
 Vensim 函数类型
 延迟与平滑函数
 测试函数
 表函数
 部分数学函数
函数是构造系统动力学方程的
基础
系统动力学的主要函数
– 简单函数 Simple functions
• 函数值仅取决于当前的输入变量值
• 数学函数
• 逻辑函数 : If then else

– 模型测试函数
• 阶跃函数 , 斜坡函数等

– 延迟与平滑函数
• 物质延迟
• 信息平滑

– 表函数
数学函数

– ABS(X) = | X | ,对 X 取绝对值;
– EXP(X) = ex ,指数函数, e = 2.718… ;
– INTEGER(X) ,对 X 取整;
– LN(X) = logeX ,以 e 为底的对数函数;
– MODULO(X, Y) = X – n*Y ,其中 n*Y ≤ X < (n+1)*Y
, n 为非零整数;
– SIN(X) = SinX ,变量 X 的正弦函数, X 须以弧度表示;
– SQRT(X) ,非负值变量 X 的开方;
– ….
逻辑函数
– MAX (A, B) 取 A, B 中较大者 ;
– MIN (A, B) 取 A, B 中较小者
– IF ELSE THEN (cond, ontrue, onfalse)
• 为条件函数
• 当条件 cond 为真的时候,返回 ontrue 值,反之则返回 onfalse 值。
• 条件 cond 通常为一个表达式, ontrue 或 onfalse 亦可为表达式。
• 逻辑运算符号 : :AND:, :OR:, :NOT:
延迟函数
Delay

延迟函数
S
– 物质延迟 R M

• 变量 R, 经过时间 T 的延迟 .
Delay
• 甲方物品 R, 经过 T 天 , 完全交 15
15
T

给了客户客户拿到物品拉倒 M,
R为
经历了 T 天的发货延迟 . 7.5
7.5
Step 函

– 函数 : M=delayI (R, T) 0
0
0 10 20 30 40 50 60 70 80 90 100

– 数学表述 R : Current
M : Current
Time (Month)

• dM/dt = (R-M)/T Delay

– 用 SD 方程表示
10
10
R为
• S=INTEG(M-R,0) 5 Pules 函

5

• M=S/T
• T=4 0
0

• R=STEP(10,0)
0 5 10 15 20 25
Time (Month)
30 35 40 45 50

R : Current
M : Current
平滑函数
平滑函数
– 信息延迟 Smooth
R
• 在决策时 , 人们往往是将较长时间
段的变量值平均 , 然后据此决策 ,
这就是平滑 M
S
• 物品数量 R, 一直在波动 , 取其 T
时间段的平滑值 M, 作为决策依据 T

– 函数 : M=Smooth(R, T)
– 数学表述 10
smooth

• dM/dt = (R-M)/T 10

– 用 SD 方程表示 5
• M= INTEG (S,0) 5

• S=(R-M)/T
• R=10*PULSE(5, 5 ) 0
0
• T=4 0 5 10 15 20 25
Time
30 35 40 45 50

R : smooth
M : smooth
表函数
表函数用于建立不能用解析方式表达的变量关系
– Vensim 中表函数的数学描述形式是:
• TF = Lookup Name([(Xmin , Xmax)-(Ymin , Ymax)] , (X1 , Y1) , (X2 , Y2) ,
… (Xn , Yn))
– 建立表函数的注意事项
• 确定表函数中自变量和因变量;
• 明确变量的取值变化范围,通常通过历史数据和预测数据来确定;
• 考虑曲线的形状和斜率,在什么范围内曲线是平缓的,什么范围内
曲线坡度高,要符合自变量和因变量之间影响关系,其中正斜率表
示正反馈,负斜率表示负反馈;
• 选取合适的曲线端点、拐点等,例如因变量是一个 [0 , 1] 区间上
的影响因子,则因变量等于 0 或 1 的点显然是要标出的;
• 作出图形,通常用 X 轴表示自变量, Y 轴表示因变量。
• 表函数曲线并不是一个光滑的曲线,它也是通过离散化来实现的。
• 最好归一化
简单系统与行为
• 一阶系统系统
– 系统动力学对一阶系统的认识
• 系统动力学认为一阶反馈回路是构成系统的基本结构。
一个复杂系统则是由这些相互作用的反馈回路组成的

• 一阶系统的基本结构 状态
状态 速率
速率
信息
信息

系统的基本结构之一 系统的基本结构之二
简单系统与行为

• 典型的二阶系统
– 应用例举(库存与劳动力模型)

库存
产品生产率 产品销售率
库存周期

生产能力
目标库存量

库存调节

劳动力 目标生产量
纯雇用率
库存调节时间
目标劳动力
劳动力调整时间
实际操作

You might also like