系统动力学模拟软件Vensim使用指南.docx
《系统动力学模拟软件Vensim使用指南.docx》由会员分享,可在线阅读,更多相关《系统动力学模拟软件Vensim使用指南.docx(18页珍藏版)》请在冰豆网上搜索。
![系统动力学模拟软件Vensim使用指南.docx](https://file1.bdocx.com/fileroot1/2023-2/4/a0110ad4-a269-4b9f-8b13-7959ce3e7dbf/a0110ad4-a269-4b9f-8b13-7959ce3e7dbf1.gif)
系统动力学模拟软件Vensim使用指南
系统动力学模拟软件Vensim使用指南(总16页)
系统动力学模拟软件Vensim使用指南
严广乐张志刚
(上海理工大学管理学院)
在目前系统动力学专用的计算机模拟语言软件中,Vensim是界面非常友好的一种模拟工具,它的功能非常强大,可以运行方程数目达数千的大型模型,因此被人们广泛使用,如美国的国家模型等。
一、Vensim软件简介
Vensim是美国VentanaSystems公司推出的在Windows操作平台下运行的系统动力学专用软件包,其版本在不断升级,目前最新的版本为。
VensimPLE是VentanaSystems公司提供的个人学习版,可到公司的网站上免费下载试用。
Vensim软件的主要特点
Vensim是一款可视化的模型工具,使用该软件可以对动力学系统模型进行概念化、模拟、分析和优化。
VensimPLE和PLEPlus是为简化系统动力学的学习而设计的Vensim的标准版本。
VensimPLE提供了一个非常简单易用的基于因果关系链、状态变量和流图的建模方式。
Vensim用箭头来连接变量,系统变量之间的关系作为因果连接而得到确立,方程编辑器可以帮助方便地建立完整的模拟模型。
通过建立过程、检查因果关系、使用变量以及包含变量的反馈回路,可以分析模型。
当建立起一个可模拟的模型,Vensim可以从全局来研究模型的行为。
VensimPLE适合于建立规模较小的系统动力学模型,而VensimPLEPlus功能则更加强大,支持多视图,适合于大型的模型模拟。
Vensim提供了对所建模型的多种分析方法。
Vensim可以对模型进行结构分析和数据集分析,结构分析包括原因数分析、结果树分析和反馈回列表分析,数据集分析包括变量随时间变化的数据值及曲线图分析。
此外,Vensim还可以实现对模型的真实性检验,以判断模型的合理性,从而相应调整模型的参数或结构。
VensimPLE的用户界面
VensimPLE的用户界面是标准的Windows应用程序界面。
Vensim的主界面由一个工作区和一组工具组成,主窗口是工作区,它包括标题栏、菜单、工具栏和分析工具,在有模型打开的情况下还有图形工具和状态栏。
图1是在模型打开情况下VensimPLE运行后的主界面,下面逐一介绍一下各部分的含义。
图6-7-1VensimPLE的主界面
1.标题栏
标题栏(TitleBar)包含两个重要的信息:
当前打开的模型和工作区变量。
见图6-7-2。
图6-7-2VensimPLE的标题栏
工作区变量是指当前所选中的变量,可以双击某一变量或者通过控制面板中的变量选择控制来使该变量成为工作区变量。
2.菜单
VensimPLE中的所有操作均可通过执行菜单中的选项来实现,不过图形和分析功能除外。
见图6-7-3。
图6-7-3VensimPLE的菜单
①File(文件管理)。
包含新建模型、打开模型、保存模型、打印模型和关闭模型等常用的功能项。
②Edit(编辑)。
可以实现模型或模型局部的拷贝、粘贴操作,也可实现在模型中寻找某一变量的操作。
③View(观察)。
实现模型图形的缩放、设置和刷新等操作,以及作为文本格式预览模型等一些功能。
④Layout(布局)。
可以改变模型图形中元素的位置和尺寸。
在VensimPLE中该项功能是禁用的。
⑤Model(模型)。
提供了对模拟控制、时间限度对话框的访问,可实现模型的检查、数据的导入导出等操作。
⑥Options(选项)。
提供了对VensimPLE的整体设置选项。
⑦Windows(窗口)。
包括控制面板、输出窗口的设置和转换、出错记录和选择记录以及实现不同模型窗口间的转换。
⑧Help(帮助)。
包括使用手册、关键词查寻和版本信息等。
3.主工具栏
主工具栏提供了一些常用菜单项和模拟功能的快捷访问按钮,首先是对应FILE(文件管理)和EDIT(编辑)的工具,如图6-7-4。
图6-7-4VensimPLE中对应FILE和EDIT的工具按钮
下面的几个按钮和RUNNAME编辑框用于模型的模拟和不同窗口类间的切换,见图6-7-5。
图6-7-5VensimPLE中用于模型模拟和窗口类间切换的工具按钮
4.画入树和流图工具栏
图形工具包括以下按钮,各个图标的意义见图6-7-6。
图6-7-6VensimPLE中的图形工具按钮
①Lock(锁定)。
锁定图形后,鼠标可以选择图形对象和工作台变量,但是不能移动该对象。
②Move/Size(移动)。
用于对图形对象(变量、箭头等)进行移动、改变大小和选取。
③Variable(变量)。
用于创建非状态变量的变量(例如:
常量、辅助变量等)。
④BoxVariable(方框变量)。
用于创建状态变量(用于Levels流位或Stocks积量)。
⑤Arrow(箭头)。
用于创建表示因果关系的箭头。
⑥Rate(流率)。
用于创建流率变量。
流率变量由互相垂直的箭头、开关以及必要情况下表示源(sources)和漏(sinks)的云(clouds)。
⑦ShadowVariable(重复变量)。
用于给模型添加一个已存在的模型变量作为一个辅助变量,而不必再去关心它的原因。
⑧SketchComment(注释)。
用于给入树和流图添加注解。
⑨Delete(删除)。
用于删除入树或流图中的变量、线条和注解等。
.
⑩Equations(建立方程)。
用方程编辑器创建和编辑模型方程。
5.分析工具
分析工具集包含了用于研究模型的一些常用分析工具。
分析工具能够展示关于工作台变量、变量在模型中的位置和取值、模拟结果数据中变量的行为表现等的一些重要信息。
见图6-7-7。
在VensimPLE和VensimPLEPlus中不能对分析工具进行配置和修改。
图6-7-7VensimPLE中的分析工具按钮
①CausesTree(原因树)。
创建一个树状图,对于选定的工作台变量,列出作用于其上的各层(原因)变量。
②UsesTree(结果树)。
创建一个树状图,对于选定的工作台变量,列出其作用的各层(结果)变量。
③Loops(反馈回路)。
对于选定的工作台变量,列出通过该变量的所有反馈回路。
④Document(模型文档)。
给出关于选定工作台变量的方程、定义、单位、参数和取值等的详细信息文档。
⑤CausesStripGraph(原因图)。
给出选定工作台变量及其第一级原因变量的Strip图,以方便追溯因果关系。
⑥Graph(分析图)。
给出选定工作台变量随时间变化的Strip图。
⑦Table(数据表)。
给出选定工作台变量随时间变化的数据表格。
⑧RunsCompare(运行比较)。
多次运行同一模型,如果只是改变其参数,将显示和列举各次运行的参数比较。
6.图符字体状态栏
在VensimPLE中,对于已有的图符和字体有两种方式来进行调整,一种是用鼠标选中图符操作柄或变量,然后再点击主窗口底部的工具条,一种是直接用鼠标右键点击图符操作柄或变量,即会出现相应的快捷对话框。
(1)使用工具条对图符和字体进行调整
图符字体工具条显示了模型中图形和对象的状态,可以改变所选对象的状态,实现不同视图之间的切换。
字体图符工具条各按钮功能见图6-7-8。
图6-7-8VensimPLE中的字体图符工具按钮
熟练掌握这些工具按钮的使用可以方便地建立起美观的系统动力学模型,但这些工具对于模型本身并无实质影响,改变的只是模型的外观。
(2)使用快捷对话框对图符和字体进行调整
用鼠标右键直接点击要操作的图符操作柄或变量,就会出现相应的快捷对话框。
这些对话框包括箭头选项对话框、开关选项对话框、注释对话框、变量选项对话框等。
①OptionsforArrow(箭头选项对话框,图6-7-9)。
图6-7-9箭头选项对话框
在箭头选项对话框中可以对因果关系箭头和流率量箭头的极性、字体等进行设置,也可以设置箭头是否隐藏,箭头有无头、箭头的颜色及线的形状和宽度等。
②ValveDescription(开关选项对话框,图6-7-10)。
图6-7-10开关选项对话框
在该对话框中可以对流率量的开关进行操作,调整流率变量相对于图符的位置和颜色。
③CommentDescription(注释对话框,图6-7-11)。
图6-7-11注释对话框
注释对话框也可以通过点击画入树和流图工具条上的Comment按钮打开。
注释可以是文字也可以是图形。
文字注释可以对注释文字进行选择字体、大小、颜色、加粗等操作,图形注释可以选择位图也可以是Windows的图元文件。
并可以对注释加边框,选择边框形状等。
④OptionsforVariable(变量选项对话框,图6-7-12)。
图6-7-12变量选项对话框
在该对话框中可以对变量相关设置进行调整,可设置变量的形状、字体、大小、颜色、加粗等,以及对变量名的位置、背景颜色等进行调整。
2VensimPLE的模型仿真
在用Vensim建模时一般遵循以下步骤:
①新建一个模型(或打开一个已有的模型);
②用结构分析工具(TreeDiagrams,etc.)检查模型结构;
③对模型进行模拟运行;
④用数据集分析工具(GraphsandTables,etc.)检查模型的行为;
⑤执行仿真试验,理解和提炼模型;
⑥用图形控制(GraphControl)中的“分析工具输出(Analysistooloutput)”和“客户输出(Customoutput)”将模型及其行为介绍给你的听众。
用VensimPLE建立模型
Vensim建模的主要过程是画出简化流率基本入树或流图,然后输入参数和方程。
构造、检查和修改是此过程中基本的重复的步骤。
下面结合一个简单的模型-劳动力库存模型来一步步介绍建模方法,熟悉Vensim的建模机理。
(1)新建(或打开)模型
启动VensimPLE,进入主窗口后选择主菜单File项中的NewModel,开始建立一个新模型,或者选择OpenModel打开一个已有的模型进行修改。
这里选择NewModel,新建一个模型,出现模型设置窗口。
图6-7-13模型设置窗口
该窗口用于设置或修改模型运行时的初始时间(InitialTime)、终止时间(FinalTime)、时间单位(UnitsforTime)、时间步长(TimeStep)和数据记录步长(Saveper)等,即实现对模拟过程的控制。
这里各项取默认值,见图6-7-13。
(2)画流图
在对系统进行充分的分析之后,确立流位流率系,使用画入树和流图工具条建立模型的结构框架。
在建立流位流率系时应同时给变量命名,变量名可以是中文或是英文,但要注意变量名最好不要和那些有特定意义的符号相同,以免引起系统的混淆,比如TIME、DELAY等。
(3)创建各变量的因果关系
利用VensimPLE图形工具中的Arrow箭头工具可很方便的创建各变量之间的因果连线,因果连线既可以是直线,也可以画成曲线,也可以利用图符字体工具条或者用鼠标右键单击要操作的图符操作柄或变量来调整建立的流率流位因果图或入树模型的外观。
创建好因果关系的模型如图6-7-14所示。
图6-7-14模型示例
(4)注释流图
选择图形工具条中的Comment注释按钮或者直接用右键单击所操作的对象来对流图添加注释,参见图6-7-11。
(5)输入方程和参数
方程和参数是系统动力学模型的主要部分,也是模拟仿真的最主要依据,它们决定了模型的行为。
方程的左边一定是某一变量,Vensim正是围绕这一变量来建立方程和输入参数的。
用鼠标左键单击图形工具条上的Equations按钮,然后单击模型中的一个变量,即可打开方程编辑对话框,见图6-7-15。
图6-7-15方程编辑对话框
该对话框中主要包含以下选项:
①方程编辑框。
可以选择变量、函数、数字和运算符构成方程。
②输入变量(Variables)。
在流图正确的情况下该变量的因变量都会包含在内,并构成输入变量。
在方程编辑时对变量进行选择就可以了。
③函数(Functions)。
列举了Vensim提供的所有函数,以供方程编辑时选用。
④其他操作符(More)。
此处提供了方程编辑过程中常用的一些算符和操作符。
⑤变量类型(Type)。
Level意指当前变量为流位变量,只要在初始值框(InitialValue)中输入该流位变量的初始值,流位方程即告完成。
Auxiliary意指流率或辅助变量,Constant表示常量,Lookup表示表函数。
⑥单位(Units)。
方程的右边必须要有正确的单位,如果是一个无量纲的变量,可不加单位或是输入dmnl。
⑦注释(Comment)。
为增加模型的可读性和易于理解,可对方程进行注释。
⑧错误信息(Errors)。
在方程书写过程中,会随时提示书写是否正确。
⑨数字和运算符。
提供了一个类似于计算器面板的数字及常用运算符的按钮集,供方程中公式的编辑和计算。
(6)表函数的创建
表函数的使用和处理在系统动力学建模中是相当重要的。
表函数允许用户自定义自变量和因变量之间的特殊的函数关系,其所包含的信息量大大超过一般函数。
为了更加有效地用Vensim建模,在这里有必要介绍一下Vensim中对表函数的处理方法。
①打开方程编辑对话框(点击Equations按钮,然后选择一个变量),如图6-7-15,在Type下拉框中选择Auxiliary,激活其下方的下拉框,选择withlookup,出现表函数输入窗口,如图6-7-16。
图6-7-16表函数输入窗口
②点击ASGraph按钮,出现图6-7-17所示的窗口。
该窗口用于图形化定义表函数,包括自变量和因变量值列举,自变量和函数的最大值等,表函数可以直接填入Input和Output框中。
当自变量为非已知统计点时,可以用线性插值法取其近似值。
随着自变量因变量数值的输入,在图形区域会看到由自变量和因变量构成的曲线。
图6-7-17表函数的图形化输入
表函数表达形式还可以通过表函数输入窗口中的Lookup栏(见图6-7-16)进行列举,即把表函数的自变量、因变量最大值、因变量最小值及一些自变量与因变量对应的点值列出。
完成了所有变量及其方程和参数的输入,整个模型就已基本建立起来,可以进入模型的模拟分析阶段了。
结构和单位错误检查
在模拟运行模型之前,有必要对模型中方程及其单位进行错误检查。
在主菜单中选择Model项,在弹出的菜单中选择CheckModel子项(或者按Ctrl+T键),如果模型没有任何结构或是结构错误,会出现“ModelisOK.”的信息提示。
如果出现错误,根据提示信息检查模型的结构或者变量的方程,更改错误重新检查。
选择Model项中的UnitsCheck子项(或者按Ctrl+U键),如果模型没有任何的单位错误,会出现“Unitsare的信息提示。
如果出现错误(见图6-7-18),根据提示确定哪个变量出现错误,打开其方程编辑窗检查单位设置。
一般来说,单位出错表明方程中的公式不正确或是有问题。
图6-7-18UnitsCheck错误提示信息
模型的结构分析
模型的结构分析可以在模型完成后的模拟运行之前之后进行均可。
通过Vensim主窗口上分析工具集中的相关按钮可方便地进行模型的结构分析。
其中,原因树分析、结果树分析和反馈回路分析是针对具体的变量进行的,因此分析之前首先要将分析的变量选为工作台变量。
模型文档列举和量纲检查则是针对整个模型进行分析的,无须进行变量选择的操作。
工作台变量的选取有两种方式:
一种是用鼠标左键双击要选择的变量,即可将该变量选为当前工作台变量,此时就会在主窗口标题栏上看到被选中的变量名称;另一种是通过点击主工具栏上的控制面板(ControlPanel)按钮,打开控制面板窗口,在变量(Variable)标签栏内列出了模型用到的所有变量,选择其中要分析的变量即可,见图6-7-19。
图6-7-19控制面板中工作台变量的选取
下面逐一介绍对于模型的结构分析方法:
(1)原因树分析
单击分析工具条上的原因树(CausesTree)按钮,就可以列举出作用于所选定变量上的所有变量,包括直接原因变量和间接原因变量。
从而可以得到给定变量的一颗原因树的最末一级的所有变量,这些变量的外部作用决定了给定变量的变化。
图6-7-20描述了对变量劳动力(Workforce)的原因树分析,可以将窗口锁定、打印,亦可将图形拷贝到剪贴板供其他应用程序使用。
图6-7-20劳动力(Workforce)的原因树分析图
(2)结果树分析
单击分析工具条上的结果树(UsesTree)按钮,就可以列举出所选定变量作用的所有变量,包括直接作用变量和间接作用变量。
从而可以得到给定变量的一颗结果树的最末一级的所有变量,表示指定变量对于整个系统的最终作用。
图6-7-21描述了对变量劳动力(Workforce)的结果树分析,同样可以将窗口锁定、打印,亦可将图形拷贝到剪贴板供其他应用程序使用。
图6-7-21劳动力(Workforce)的结果树分析图
(3)反馈回路分析
单击分析工具条上的反馈回路(Loops)按钮,就可以列举出通过所选定变量的所有反馈回路(Vensim并未提供反馈回路的极性分析)。
图6-7-22描述了包含变量劳动力(Workforce)的所有反馈回路。
图6-7-22包含劳动力(Workforce)的反馈回路
(4)模型文档
单击分析工具条上的模型文档(Document)按钮,就可以看到方程列举的文档,该文档与模型流图共同构成Vensim的基本模型文档。
图6-7-23描述了劳动力库存模型的文档模式和部分方程。
图6-7-23劳动力库存模型的文档模式和部分方程
模型的模拟及数据集分析
模型建好之后就可以对其进行模拟运行和数据集分析了。
(1)模型的模拟
对建好的模型进行模拟是数据集分析的前提。
模拟运行过程可通过主工具栏中的相关工具按钮进行。
用鼠标左键单击主工具栏上的设置(SetupaSimulation)按钮,主工具栏会发生一些变化,变化前后的工具栏如图6-7-24所示。
图6-7-24变化前后的主工具栏
该工具栏允许用户修改有关参数、表函数,设定、保存运行结果的文件名等。
在对于同一模型反复调整参数,比较运行结果时很重要。
变化后的工具栏中各按钮含义如下:
①NametheSimulationtobeMade,为运行结果保存数据文件命名,它将作为结果文件名保存模型模拟后变量的模拟输出结果数据,缺省名称为Current,扩展名一般是.vdf。
②StopSimulationSetup,停止模型的模拟运行。
③SelectanIntegrationTechnique,有两种积分方法选择,一种是普通的欧拉法,一种是高精度的龙格库塔法。
此外,可以利用主菜单Model(模型)项中的TimeBounds来对模型运行的起始时间、步长等进行重新设定。
模型运行后产生的数据保存在前面设定的.vdf文件中,以供数据集分析使用,并且图形和表格工具会给出相应的运行结果的图形模式和表格模式。
如果多次调整参数运行同一模型,会生成不同的数据文件,并且图形和表格会显示这些多次运行结果的比较显示。
在劳动力库存模型中改变某个(某些)变量参数的值,运行模型,得到不同的运行结果存储在各自不同的数据文件中。
用鼠标双击适当的变量使其成为当前工作台变量,然后点击分析工具集中的图形或表格按钮,会看到这些结果显示在同一分析图和数据表中。
(2)数据集分析
Vensim的数据集分析,实际上是考察模型的动态行为表现,是对于模型模拟的结果―数据文件(.vdf文件)进行比较分析,基本的分析方法是给出变量随时间变化的Strip图,同时还可给出各变量之间的关系图。
既可以对一次运行的结果进行分析,也可以对多次运行的结果(存储在多个不同的.vdf中)进行分析。
数据集分析通过分析工具条上的数据集分析按钮结合控制面板进行,并且也是针对选中的当前工作台变量进行的。
①原因图分析(CausesStrip),在劳动力库存模型中选择变量Workforce为当前工作台变量,点击原因图分析按钮,可以看到Workforce随时间变化的曲线,以及其直接原因nethirerate随时间变化的曲线(图6-7-25)。
图6-7-25Workforce及Nethirerate随时间变化的曲线图
②分析图(Graph),在劳动力库存模型中选择变量Workforce为当前工作台变量,点击分析图工具按钮,可以看到Workforce变量随时间变化的Strip图(图6-7-26)。
图6-7-26Workforce随时间变化的Strip图
③数据表分析(Table),在劳动力库存模型中选择变量Workforce为当前工作台变量,点击数据表工具按钮,可以看到Workforce变量随时间变化的数据表格(图6-7-27)。
图6-7-27Workforce随时间变化的数据表格
④运行比较(RunsCompare),在劳动力库存模型中取不同的参数多次运行该模型,点击运行比较工具按钮,可以看到几次运行模型参数的调整情况(图6-7-28)。
图6-7-28多次运行比较窗口
(3)控制面板及对结果输出的控制
结合Vensim控制面板中的控制输出选项,可使模型的模拟分析更加直观方便,运行后输出的结果更加美观。
点击主工具栏上的控制面板(ControlPanel)按钮,或者选择主菜单上的Windows点击下拉菜单中的ControlPanel,出现控制面板窗口(参见图6-7-16),其中各标签项的功能分别为:
①Variable(变量选择)。
选择模型中的某一变量,使其成为当前工作台变量,可参见节。
②TimeAxis(时间轴调整)。
用于改变或定位于分析运行的时间区间。
③Scaling(纵坐标调整)。
可以改变输出图形中纵坐标的外观及设置。
④Datasets(数据集选择)。
用于选择已存储的运行结果数据文件进入数据集进行分析。
一般在作图之前首先要选择数据集。
⑤Graphs(作图)。
实现用户自定义作图功能。
点击该项标签,出现窗口(图6-7-29),可选择变量进行自定义图形输出。
图6-7-29控制面板中的Graphs标签项
单击窗口中的New按钮,出现变量选择和图形设置对话框,见图6-7-30,单击Sel按钮,出现模型中的所有变量列表,选中其中一个,并用同样方法选择其他变量。
还可以设置输出图形的GraphName(图形名称)、Title(标题)、X轴Y轴的标尺、Comment(注释)等项,以使欲输出的图形更加直观易读。
设置好所有的选项后,返回Graphs窗口,点击Display按钮,可查看上面自定义的图形输出结果,并可对其进行保存、打印、拷贝等操作。
图6-7-30变量选择和图形设置窗口
模型的多视图
对于大型模型来说,多视图比起单视图能更加清楚的展示模型的行为和全貌。
视图就像图书的页码,每一页给出了整个模型的一部分。
每一视图显示一个流图,并且通过变量或重复变量与其他视图的一个或多个关联起来。
多视图允许将整个模型分成若子模