1系统动力学模拟软件Vensim使用指南严广乐张志刚(上海理工大学管理学院)在目前系统动力学专用的计算机模拟语言软件中,Vensim是界面非常友好的一种模拟工具,它的功能非常强大,可以运行方程数目达数千的大型模型,因此被人们广泛使用,如美国的国家模型等。一、Vensim软件简介Vensim是美国VentanaSystems公司推出的在Windows操作平台下运行的系统动力学专用软件包,其版本在不断升级,目前最新的版本为V5.0c。VensimPLE是VentanaSystems公司提供的个人学习版,可到公司的网站上免费下载试用。1.1Vensim软件的主要特点Vensim是一款可视化的模型工具,使用该软件可以对动力学系统模型进行概念化、模拟、分析和优化。VensimPLE和PLEPlus是为简化系统动力学的学习而设计的Vensim的标准版本。VensimPLE提供了一个非常简单易用的基于因果关系链、状态变量和流图的建模方式。Vensim用箭头来连接变量,系统变量之间的关系作为因果连接而得到确立,方程编辑器可以帮助方便地建立完整的模拟模型。通过建立过程、检查因果关系、使用变量以及包含变量的反馈回路,可以分析模型。当建立起一个可模拟的模型,Vensim可以从全局来研究模型的行为。VensimPLE适合于建立规模较小的系统动力学模型,而VensimPLEPlus功能则更加强大,支持多视图,适合于大型的模型模拟。Vensim提供了对所建模型的多种分析方法。Vensim可以对模型进行结构分析和数据集分析,结构分析包括原因数分析、结果树分析和反馈回列表分析,数据集分析包括变量随时间变化的数据值及曲线图分析。此外,Vensim还可以实现对模型的真实性检验,以判断模型的合理性,从而相应调整模型的参数或结构。1.2VensimPLE的用户界面VensimPLE的用户界面是标准的Windows应用程序界面。Vensim的主界面由一个工作区和一组工具组成,主窗口是工作区,它包括标题栏、菜单、工具栏和分析工具,在有模型打开的情况下还有图形工具和状态栏。图1是在模型打开情况下VensimPLE运行后的主界面,下面逐一介绍一下各部分的含义。2图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。3图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(原因树)。创建一个树状图,对于选定的工作台变量,列出作用于其上的各层(原因)变量。4②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)。5图6-7-10开关选项对话框在该对话框中可以对流率量的开关进行操作,调整流率变量相对于图符的位置和颜色。③CommentDescription(注释对话框,图6-7-11)。图6-7-11注释对话框注释对话框也可以通过点击画入树和流图工具条上的Comment按钮打开。注释可以是文字也可以是图形。文字注释可以对注释文字进行选择字体、大小、颜色、加粗等操作,图形注释可以选择位图也可以是Windows的图元文件。并可以对注释加边框,选择边框形状等。④OptionsforVariable(变量选项对话框,图6-7-12)。图6-7-12变量选项对话框在该对话框中可以对变量相关设置进行调整,可设置变量的形状、字体、大小、颜色、加粗等,以及对变量名的位置、背景颜色等进行调整。2VensimPLE的模型仿真在用Vensim建模时一般遵循以下步骤:①新建一个模型(或打开一个已有的模型);②用结构分析工具(TreeDiagrams,etc.)检查模型结构;③对模型进行模拟运行;6④用数据集分析工具(GraphsandTables,etc.)检查模型的行为;⑤执行仿真试验,理解和提炼模型;⑥用图形控制(GraphControl)中的“分析工具输出(Analysistooloutput)”和“客户输出(Customoutput)”将模型及其行为介绍给你的听众。2.1用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所示。7图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意指流率或辅助变量,Const