VENSIM软件建模指导手册X

VENSIM软件建模指导手册X
VENSIM软件建模指导手册X

(内部教学资料请勿外传

请勿外传)

Vensim软件建模指导手册

1.简介

Vensim是一种可视化建模工具,利用这种工具可以将系统动力学的模型概念化和文档化,并能对模型进行仿真、分析和优化。Vensim提供了简单而灵活的建模方式来绘制因果关系图和积量与流量图并在图上进行仿真。

Vensim通过文字以及文字间的箭头来表示和记录系统变量间的因果关系。在此基础上,使用公式编辑器来完成仿真模型的建立。在使用Vensim建模的过程中可以分析所建立的模型,包括变量的使用及其因果关系和因果关系环路。当一个可用于仿真模型建立起来以后,可以使用Vensim深入研究模型的行为。

Vensim是系统动力学研究领域应用最广泛的建模和仿真软件。包含了系统动力学研究中的几乎所有标准函数。V ensim包含多个版本,其中PLE版本是专门为教学设计的简化版本,可以免费使用。Vensim PLE可以从Ventana Systems公司的主页下载,网址为:https://www.360docs.net/doc/147559039.html,。

本手册通过建立一个反映劳动力和库存关系的系统动力学模型,并利用这个模型进行仿真,来介绍一个完整建模过程。这个模型展示了库存管理策略和劳动力雇用策略可以导致生产的不稳定。

2.进入Vensim PLE

从开始菜单进入Vensim PLE,如图2.1所示。

图2.1 进入Vensim PLE

进入后主界面如图2.2所示。这个界面可以看作是带有一系列工具的绘图工作台。Vensim 窗口的主界面以绘图区域为主,包括标题栏、菜单栏、工具栏和分析工具等。如果在Vensim 中打开一个模型(如图2.2)则绘图工具栏和状态栏也会出现。

图2.2 Vensim主界面

标题栏:显示当前打开的模型文件名称和选中的变量名称。

菜单栏:菜单栏是上下文敏感的,具体内容根据打开的模型和正在进行的操作有所变化。大多数常用的菜单命令列在了快捷工具栏中。

工具栏:工具栏中的按钮是常用的菜单项和仿真命令。分为3组,从左到右依次是:文件操作命令、仿真命令和控制命令。

绘图工具栏:包含创建因果关系图和积量与流量图的全部工具。

分析工具:分析工具用于显示绘图区域中变量的有关信息,包括位置信息、变量值以及从仿真数据集中得到的行为信息。

状态栏:显示了绘图区域和其中对象的状态。状态栏中的按钮可以改变所选对象的状态并且可以切换视图。

3.创建一个系统动力学模型

3.1. 建立一个新模型

有2种方法建立新模型。

从菜单栏创建:在菜单栏找到File – New Model,创建一个新模型。

图3.1 从菜单栏创建模型

从工具栏创建:直接单击New Model按钮,创建一个新模型。

创建后,出现如图3.2所示的模型设置界面,可以设置初始时间、终止时间、时间步长和单位等仿真基本条件。

图3.2 模型设置

选择默认设置,即直接单击OK 按钮,弹出如图3.3所示的空白主界面。

图3.3 空白主界面

单击保存按钮

,或者菜单栏的File – Save 命令,将模型保存为

Workforce_Inventory.mdl 。 3.2. 绘制因果关绘制因果关系图系图系图((CLDs )

绘制因果关系图的因素如表2.1所示 表3.1 主要影响因素表

生产相关因素 库存相关因素 销售相关因素 劳动力相关因素

产量(Production)

劳动生产率(Productivity)

目标产量

(Target Productivity)库存(Inventory)

目标库存

(Target Inventory)

库存调整量

(Inventory Correction)

库存覆盖比例

(inventory coverage)

库存调整时间

(time to correct inventory)

销量(Sales)劳动力(Workforce)

目标劳动力

(Target Workforce)

雇用量(Net Hire Rate)

劳动力调整时间

(time to adjust workforce)

1)产量:每月的出产品数量。

2)劳动生产率:每人每月的产量。

3)目标产量:计划达到的月产量。

4)库存:当前实际存货量。

5)目标库存:计划达到的库存量。

6)库存调整量:将库存补充到目标库存的速度。

7)库存覆盖比例:目标库存与当前销售量的比例。

8)库存调整时间:将库存补充到目标库存所需要的时间。

9)销量:每月销售的产品数量。

10)劳动力:当前劳动力总数。

11)目标劳动力:达到计划产量和计划库存需要的劳动力数量。

12)雇用量:每月实际净增加的劳动力数量。

13)劳动力调整时间:将当前劳动力补充到目标劳动力所需要的时间。

打开模型文件Workforce_Inventory.mdl。在工具栏上单击变量按钮(Variable),然后将鼠标箭头移动到绘图区域,箭头变为

,然后将鼠标箭头移动到绘图区域,箭头变为

图3.5 因果关系

图3.6 因果关系设置

按照上述方法,最后得到的因果关系图如图2.9所示。

Inventory

Target

+

,然后将鼠标箭头移动到绘图区域,箭头变为

量与流量图并进行仿真。

状态变量

状态变量即积量。单击状态变量按钮,然后将鼠标箭头移动到绘图区域,箭头变为

图3.9 状态变量

速率变量

单击速率按钮,然后将鼠标箭头移动到绘图区域,箭头变为

,可以调整相对位置。

图3.11状态变量与速率变量2

根据模型简化假设,将速率变量的形式设置为双箭头。单击移动按钮,将光标移动到速率变量箭头尾部,如图3.12左边所示,单击右键得到图3.13的属性设置对话框,选中箭头(Arrowhead)选项,单击OK按钮,得到图3.12右边所示速率变量。

图3.12 速率变量设置

图3.13 速率变量设置

辅助变量

除了积量与流量外,建立一个完整的系统动力学模型还需要辅助变量。辅助变量的添加与绘制因果关系图类似:在工具栏上单击变量按钮(Variable)添加辅助变量,然后单击箭头按钮建立各变量之间的联系。

Workforce

单击公式按钮,所有未设置公式的变量将以反色显示,如图3.15所示,然后将鼠标指针移动到待设置的变量上并单击,弹出如图3.16所示对话框。根据表3.2在对话框中设置变量公式。

图3.15 待设置公式的模型

图3.16 变量公式设置

所有变量设置完后,单击图3.16种的Check Model按钮,初步检查模型设置,如果弹出图3.17所示提示框,则表明可以用于模拟。

图3.17 模型检验成功

变量设置并检查完毕后,模型恢复到图3.14所示状态,将模型保存。

4.模型仿真

4.1. 检查模型结构

打开模型文件Workforce_Inventory2.mdl,如图4.1所示。在进行模拟前,要单击锁定按钮将模型锁定,使得不能修改。

图4.1 劳动力—库存模型

可以利用Vensim提供的分析工具来检查模型的结构。

因果树图(Casual Tree Diagram)

用鼠标选中任意一个变量(假定选中变量Inventory),单击因果树按钮可以得到影响该变量的所有直接和间接因素,即得到图4.2所示的输出窗口。选中图4.2中任何一个变量,再单击因果树按钮,还可以得到该变量的因果树图。

图4.2 因果树

影响树图(User Tree Diagram)

用鼠标选中任意一个变量(假定选中变量Inventory),单击影响树按钮可以得到变量所直接和间接影响的其他变量,即得到图4.3所示的输出窗口。选中图4.3中任何一个变量,再单击影响树按钮,还可以得到该变量的影响树图。

图4.3 影响树

环路分析(Loops)

用鼠标选中任意一个变量(假定选中变量net hire rate),单击环路按钮可以得到与该变量有关的所有环路,即得到图4.4所示的输出窗口。该输出显示了所有环路的数量和长度。选中图4.4中任何一个变量,再单击环路按钮,还可以得到该变量的环路图。

图4.4 环路分析

文档分析(Document)

用鼠标选中任意一个变量(假定选中变量net hire rate),单击文档按钮可以得到该变量的描述文档,即得到图4.5所示的输出窗口,该输出显示了变量的公式和单位等信息。选中图4.5中任何一个变量,再单击文档按钮,还可以得到该变量的文档描述。

图4.5 变量描述文档

4.2. 模型设定

在进行模拟前,要设定模拟的初始条件。选择菜单栏的Model – Setting菜单,如图4.6所示。然后弹出图4.7所示的模型设置对话框。

图4.6 选择模型设定

在模型设置对话框中设定模型的仿真条件和运行条件等,仿真条件如表4.1所示。

图4.7模型设定对话框

表4.1 仿真条件

条件FINAL TIME INITIAL TIME TIME STEP SA VEPER

初值100 0 0.25 TIME STEP

单位Month Month Month Month

4.3. 运行仿真

4.3.1.综合仿真

Vensim可以保存多次运行结果并进行对比,首先要设定运行的名称。双击图4.1中的运行名称编辑框,输入第一次运行名称baserun。单击综合仿真按钮,Vensim将按照综合仿真(SyntheSim)模式运行,如图4.8所示。

图4.8 综合仿真运行

在综合仿真模式下,每个变量要么叠加了一个曲线图形,要么在下方出现了一个滑动条。滑动条出现在常数的下方,而其他变量上策叠加了一个小的曲线图。如果将鼠标移动到变量上,则会出现一个较大的曲线图。

双击运行名称编辑框,将运行名称改为experiment,则在experiment下运行的数据集将不会改变baserun中的运行数据集。用鼠标前后拖动变量productivity 下的滑动条,变量上叠

加的蓝色曲线会随着仿真运算动态变化,而beserun的运行结果则以红线显示并保持不变。将鼠标指针移动到变量(假定为Workforce)上时,所弹出的曲线图显示了2次运行的结果,如图4.9所示。

图4.9 即时显示的图线

模型行为

在综合仿真基础上检验模型的行为。选中变量Workforce,单击图形按钮得到图4.10的输出结果。途中显示了2次不同运行的结果,这两条曲线并没有本质差别。首先曲线所表现出来的行为都是所谓的“阻尼波动”,其次,两次运行的结果可以看作仅仅是图形垂直标度的差异。

图4.10 变量Workforce的运行结果

关闭Workforce变量的输出图形,选中Inventory变量,单击图形按钮,得到图4.11所示的输出图形。

图4.11 变量Inventory的运行结果

从图4.11种可以看出库存的波动行为与劳动力相似,区别在于库存在上涨前有一个减

少的过程。更重要的是,两次模拟的库存曲线完全相同。可以通过对比两次运行的具体数据

来说明。单击表格按钮,得到图4.12所示的两次运行数据比较表。表中可以看出,任何时间点上,两次运行的库存数据相同。

图4.12 变量Inventory的运行对比表

改变劳动生产率仅仅影响到劳动力(Workforce)、目标劳动力(target workforce)和雇用量(net hire rate)。这一结果已经在拖动滑动条的时候清楚地体现出来,因为劳动生产率仅仅决定了生产单一产品所需要的劳动力数量。

单击重设滑动条按钮,或按键盘上的Home键,使变量productivity恢复到初始值。拖动其余常数下的滑动条,观察系统的行为,并输入研究特殊曲线的产生原因。

因果关系追踪

与4.1节中因果树分析工具类似,使用因果关系追踪工具可以分析变量行为间的因果关

系。单击重设所有滑动条按钮,或者按Ctrl + Home,将所有改变的变量恢复到初始值。在绘图区域选中变量Inventory,单击因果追踪图按钮,得到图4.12所示输出结果。

图4.13 因果关系追踪图

图4.13中最上方的是库存(Inventory)曲线,库存的直接影响因素(production和sales)的行为曲线排列在库存曲线下方。每个曲线的图形都包含了重叠的2种颜色(红色和蓝色),每种颜色表示一次运行结果。

注意图形中一个有趣的现象,库存的波动行为经过一段时间后逐渐收敛到稳定状态。库存的变化同时受到产量和销售的影响,但是只有产量发生波动。因此,销售不是产量和库存产生波动行为的原因,必须通过产量来发现使库存发生波动的原因。

选中图4.13种的变量production,单击因果追踪图按钮,得到新的因果追踪图,依次追

踪产生波动的变量,最后得到图4.14所示的一系列输出。

追踪的结果表明,库存反馈环路上的波动不是由于销售引起的。销售是以一个阶跃函数的形式变化的。销售改变了其他变量,但没有受到其他变量的影响,因此它不在任何反馈环路上。销售的突然变化改变了库存原有的均衡水平,因此系统的(负反馈)结构试图恢复原来的均衡水平,因而以一个特定的周期发生波动,但这种波动最终又恢复到一个新的均衡状态下。这非常想一个摇椅受到冲击后开始摆动,最终又恢复到静止状态。

选择菜单栏的Windows – Close All Output项,关闭所有输出窗口。

图4.15 波动性追踪结果

4.3.2.单次

仿真

单次仿真

综合仿真高效直观地显示了模型的行为,但是对于大型模型,运行时间相对较长,模型变量众多,同时观察各个变量已经不可能。借助于单次仿真试验可以较好地解决这个问题,单次仿真还有利于他人重复仿真过程。

在综合仿真状态下,单击停止仿真按钮,模型中的小图形和滑动条将消失,模型恢复到一打开时候的状态,即图4.1所示状态。

模型仿真

单击仿真设置按钮,有一些变量名称将以蓝底黄字显示,如。这些变量都是常数变量,它们在仿真的过程当中不能改变。可以在仿真开始前设置这些变量,并观察不同设置条件下的模型行为。

单击绘图区域中的变量time to adjust workforce,会出现一个文本编辑框。可以尝试放慢雇用新工人的速度(以及解雇现有工人的速度)是否可以消除波动。理想状态是从旧的库存和劳动力水平平滑过渡到新的水平。在文本框内输入数字12取代原来的数字3,然后按下Enter键。这将把劳动力的调整时间从3个月改变为12个月。单击单次仿真按钮,模型将进行仿真,并将仿真数据集存储于experiment的运行结果中。

在绘图区域选中变量Inventory,然后单击图形按钮,得到图4.16所示的输出结果。

图4.16 单次仿真输出结果

从图4.16所示的结果显示了劳动力调整时间为3个月(baserun)和12个月(experiment)时得到的不同库存状态。结果表明,放慢雇用和解雇工人的速度实际上加大了波动的幅度并且延长了波动周期。

要比较两次运行的不同,单击仿真比较按钮,得到图4.17所示的输出结果。结果中可以显示最早两次加载的仿真书记钟常数和表函数的差异。

图4.17 仿真运行比较

自定义图形输出

使用图形控制工具,可以自定义要显示的变量、数据集、图形样式和格式,便于综合分析。单击工具栏上的控制面板按钮,弹出图4.18所示的控制面板。选中Datasets标签可以看见当前所使用的数据集。双击baserun数据集卸载该数据集。

图4.18 输出控制面板

单击图形标签,得到图4.19所示输出图形控制面板。单击New…按钮弹出如图4.20所示自定义图形编辑框。

图4.19 输出图形控制面板

图4.20 自定义图形编辑框

在图4.20所示的编辑框中,标题栏Title键入Workforce and Inventory。单击V ariable列的第一个Sel按钮,弹出图4.21所示的变量选择框,拖动垂直滚动条选中变量Workforce,并双击,变量名处出现在图4.20所示编辑框的Variable列第一项。以同样的方法选中第二个变量Inventory。单击OK按钮关闭自定义图形编辑框。

图4.21 变量选择框

单击图4.19所示控制面板中的Display按钮,即可得到用户自定义图形,如图4.22所示。

图4.22 用户自定义图形

自定义图形输出

自定义表格输出能够以表格形式显示不同变量的运行结果。图4.19所示输出图形控制面板。单击New…按钮弹出如图4.20所示自定义图形编辑框,再单击按钮As Table…得到图4.23所示的对话框

图4.23 自定义表格编辑框

在图4.23所示的编辑框中,标题栏Title键入Workforce and Inventory。单击V ariable按钮,弹出图4.21所示对话框,选择Workforce变量。然后单击图4.23编辑框中Variable按钮右侧的Add按钮,则变量Workforce出现在变量列表框中。以同样的方法选中Inventory 变量。单击OK按钮关闭自定义表格编辑框。

在图4.19所示控制面板中,选中列表项中的Workforce_Inventory项,单击Display按钮,即可得到用户自定义表格,如图4.24所示。

图4.24 用户自定义表格

5.小结

本指导手册通过建立一个简单的劳动力—库存模型介绍了使用Vensim建立系统动力学模型,并进行仿真和分析的过程。所用到的工具是Vensim中最基本的,而这些工具在建立和分析复杂模型中也同样有用。

相关主题
相关文档
最新文档