Vensim.docx
- 文档编号:9209973
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:35
- 大小:539.69KB
Vensim.docx
《Vensim.docx》由会员分享,可在线阅读,更多相关《Vensim.docx(35页珍藏版)》请在冰豆网上搜索。
Vensim
第1章概述
1.1.系统动力学简介
1956年,JayW.Forrester放弃了其在电机控制领域的研究,转而将反馈控制的基本原则用于社会经济学系统。
1961年,他在MIT工业管理学院研究公司管理问题,出版了其专著IndustrialDynomics,这标志着这一学科的创立。
在过去的40年中,系统动力学有了长足的发展。
系统动力学的理论、思想方法和工具,对于分析社会经济中许多复杂动态问题非常有效。
另一方面,系统动力学的分析方法、建模方法、模拟方法和模拟工具比较规范,易于学习和应用。
1、事件-行为-结构
在日常生活中,我们往往是从事件开始认识事物的。
例如股市暴涨暴跌,流行病发生,战争爆发等等。
事件一般是在固定的时间点上出现的。
我们要正确的认识事件,须要联系相关事件,并从它们的发展过程中去观察。
也即,要考察事件所在的行为模式。
行为模式是系统的外在表现,可表现为一系列的相关事件随事件的演变过程,是多个关联事件表现出的过去现在和未来。
例如,我们看到的经济的缓慢增长,利率的变化,失业率的波动等。
行为摸式是由系统的内部结构决定的。
结构是产生行为模式的物质的、能量的、信息的内在关系。
系统的结构决定其行为模式,而事件是行为模式的重要片段。
利用系统动力学分析问题,要由事件出发,分析系统的结构与行为模式的关系,以采取成功的政策和策略,调整系统结构,干预和控制系统,改善系统的行为模式,大大避免坏的事件的发生。
2、系统动力学处理问题的过程
●提出问题:
明确建立模型的目的。
即要明确要研究和解决什么问题。
●参考行为模式分析:
分析系统的事件,及实际存在的行为模式,提出设想和期望的系统行为模式。
作为改善和调整系统结构的目标。
●提出假设建立模型:
由行为模式,提出系统的结构假设。
由假设出发,设计系统的因果关系图,流图,并列出方程,定义参数。
从而将一系列的系统动力学假设,表示成了清晰的数学关系集合。
●模型模拟:
调整参数,运行模型,产生行为模式。
建立好的模型是一个实验室,可以由试验参数和结构的变化理解结构与系统行为模式的关系。
1.2VensimPLE软件的特点
VensimPLE全名为VentanaSimulationEnviromentPersonalLearningEdition.即Ventana系统动力学模拟环境个人学习版。
1.利用图示化编程建立模型。
在Vensim中,“编程”实际上并不存在,只有建模的概念。
只要在模型建立窗口画出流图,再通过Equations输入方程和参数,就可以直接进行模拟了。
如果用户需要查看有关方程和参数,可使用ModeDocument工具条。
另外,Vensim提供两种模型文件保存方式,一种是二进制文件,后缀为.vmf;另一种是文本文件,后缀为.mdf,这种文件可以用于模型的建立和修改,但这并不是Vensim推荐的方法。
2.运行于Windows下,数据共享性强,提供丰富的输出信息和灵活的输出方式。
由于采用了多种分析方法,因此Vensim的输出信息是非常丰富的。
其输出兼容性较强。
一般的模拟结果,除了即时显示外,还提供保存文件和copy到剪切板。
例如建立好的模型可以copy到剪贴板,再由剪贴板转到MSWord的编辑文件中。
3.对模型的多种分析方法
Vensim提供对于模型的结构分析和数据集分析。
其中结构分析包括原因树分析(逐层列举作用于指定变量的变量)、结果树分析(逐层列举该变量对于其它变量的作用)和反馈列表。
模型运行后,可进行数据集分析。
对指定变量,可以给出它随时间的变化图,列出数据表;可以给出原因图分析,列出所有作用于该变量的其它变量随时间变化的比较图;可以给出结果图分析,列出该变量与所有它作用的变量随时间变化的比较图;同时可以将多次运行的结果进行比较。
作为最终结果的图形分析和输出,可使用Graph,它不但可以列举多个变量随时间的变化图,而且可以列举变量之间的关系图。
4.真实性检验
对于我们所研究的系统,对于模型中的一些重要变量,依据常识和一些基本原则,我们可以预先提出对其正确性的基本要求。
这些假设是真实性约束。
将这些约束加到建好的模型中,专门模拟现有模型在运行时对于这些约束的遵守情况或违反情况,就可以判断模型的合理性与真实性,从而调整结构或参数。
真实性检验是Ventana公司的专利方法,是一种非常有效的建模工具。
1.3使用Vensim软件处理问题的一般过程
1.4VensimPLE的使用说明
VensimPLE3.0c可使用于Window3.X,Windows95,WindowsNT操作系统下。
硬件要求386以上PC机,2.0M内存,1.6M磁盘空间(安装时需6M硬盘空间)。
对于Machintosh机型,也可使用。
第2章Vensim的菜单和主窗口
Vensim的用户界面是标准的Windows应用程序界面。
除支持菜单和加速键外,还提供多个工具条。
这使得用户操作非常方便。
2.1VensimPLE的主菜单
VensimPLE提供以下菜单。
对于菜单的驱动,除了逐级打开外,还可以用相应的加速键。
●File文件管理:
提供建立新模型(NewModle),打开模型(OpenModle),保存模型(Save,Saveas),打印模型(Print,PrintOptions)等。
模型打开和建立后,检查可通过Check完成。
●View观察:
对于模型的流图进行总体观察。
提供按任意比例缩放。
●Model模型检验:
包括RealityCheck即真实性检验,TimeBounds时间控制设置。
其中TimeBounds是用于调控Simulate和RealityCheck的时间参数的。
●Windows窗口:
包括Controlpanel控制面板(即VariableSelection分析变量选择,TimeAxis时间轴设置,Scalling纵坐标调整,Datasets数据集选择,Graph自定义作图等),以及PopForward实现由其它窗口转换到模型建立窗口,ErrorHistory是出错记录,SelectionHistory是选择记录。
●Help帮助:
在该菜单下有Manual子菜单,它是Ventana公司提供的使用手册,比较详细。
另外一个是AboutModles子菜单,它提供了Vensim对模型的基本概括,如变量数目,状态量数目等。
并提供对模型设置加密口令。
第3章模型的建立
模型建立是在模型建立窗口,通过图示化的方式建立模型,或对已建立的模型进行修改。
主要过程是画出流图,然后输入参数和方程。
3.1开始
在主菜单File下,选择NewModle或OpenModle,就可以开始一个新模型的建立或者已建模型的修改工作。
在选择NewModle情况下,会出现如下窗口。
它是用来对于模型初始化的。
可以选择起始时间,结束时间,时间单位,时间步长(TimeStep)和数据记录步长SAVEPER。
3.2画图工具条
其功能依次为:
●Pointing指针:
用于选中、移动和改变变量和图符。
有三种选择方式。
按下左键并拖动会看到一个虚线方框,松开左键则方框内所有变量和图符被选中,选中后可以用鼠标拖动之;可直接左键用点按变量或图符选中之,按下左键可以拖动,另外若选中图符操作柄(一个小圆圈),可对图符进行伸缩放大;对变量用左键连续点按两次会将它选为工作台变量。
●Variable变量:
用于定义非状态变量的变量,如辅助变量和常量。
●BoxVariable方框变量:
用于创建状态变量。
注意,Vensim一般约定,状态变量第一个字母大写,常量和表格量字母全大写,其余变量字母全小写。
但用户也可以有自己的约定。
●Arrow箭头:
用于创建表示因果关系的箭头,可以是直的或弯曲的。
注意,创建时,先选中箭头,在因变量上按下左键,然后松开,移动鼠标到空白处点按左键,松开后移动到果变量再点按左键。
在中间电按位置会有一个操作柄。
●Rates速率变量:
用于创建速率变量。
它有四部分构成,两个箭头,一个开关,两朵表示源和漏的云,和变量本身。
可通过选择移动开关,移动和改变图符形状。
速率变量一般至少有一端指向一个状态变量,在创建时可是其一端直接指到状态变量上。
●ShadowVariable:
有时模型很大,若一个变量已在一个子块中定义,在另一子块中,只要用ShandowVariable再声明一次即可。
●Comment注释:
用于为流图增加注释,使容易看懂。
Vensim的注释方法很丰富,可以是文字,图符等。
它在模型流图中无实质性作用。
●Delete删除:
用于删除相关内容。
●Equations建立方程:
用于方程建立,即建立等式,赋值,定义单位等。
3.3对于图符和字体的调整
Vensim提供图符和字体的丰富多彩的表示方式。
对于已有的图符和字体,有两种方法实现调整。
一种是用指针选中图符和变量(注意,图符要选其操作柄),然后再点按底部工具条。
一种是直接用鼠标右键点按图符操作柄或变量,就会出现相应的对话框。
(1)利用工具条对图符和字符作调整:
图示工具条功能依次如下:
1.字体选择:
可用来对于当前变量或注释选择任何windows所提供的字体。
也可选择汉字。
2.字体的大小。
3.b:
字体的加粗。
4.i:
字体倾斜。
5.u:
字体加下划线。
6.s:
字体加中串线。
7.设置字体颜色。
8.设置变量边框颜色。
9.变量边框形状选择。
10.文本的位置选择。
11.设置箭头的颜色。
12.箭头的形状选择。
13.设置箭头的极性。
一般用“+,-”,也可选择用“S,N”。
14.将加亮的字符移到下面。
熟练使用这些工具条可以使模型外观非常漂亮。
但这些工具对于模型本身无实质影响。
(2)利用对话框操作对图符和字符作调整:
如上所述,用鼠标右键单击要操作的图符操作柄,则会出现相应的对话框。
这些对话框主要有箭头选择对话框,开关选择对话框,注释对话框,变量选择对话框。
其中注释对话框和变量设置对话框我们在后面讨论。
●箭头选择对话框:
图示可以选择极性(可以选择字体),箭头可以隐藏,可以无头,可以选择颜色及线的形状和宽度。
这是对于因果关系箭头和速率量箭头操作的。
开关选择对话框:
对于速率量的开关操作。
用来调整速率变量相对于图符的位置,图符的颜色等。
3.4对流图加注释
通过选择建立模型工具条可打开如下注释对话框。
注释可以是文字的或图形的。
文字的注释可以选择字体、大小、颜色、加粗等。
图形的注释可以选择点位图或者是可以是Windows的图元文件(均可由剪贴板获得)。
可以对注释加边框,选择边框形状等。
3.5方程和参数的输入
方程的左边一定是某一变量,而Vensim是围绕这一变量来建立方程和输入参数的。
在画图工具条中,有一个Equations项,当模型各种变量的关系建立完成以后,点击该项即可对任何一个变量进行建立等式和赋值等工作。
点击任何一个变量后,会先出现对话框。
主要内容包括:
●方程编辑:
可选择变量、函数、数字和运算符构成方程。
●Variables输入变量:
若流图正确,此变量的因变量均包含于此,并构成输入变量。
在方程编辑中只要从此选择即可,不需要再写入变量了。
●Functions函数:
此处列举了Vensim提供的所有函数,可选择进入方程编辑。
●Type:
确定变量类型,如表函数等。
●Units单位:
方程右边必须有正确的单位。
若是一个无量纲量,可不加或输入dmnl。
●Comment注释:
可对于方程进行注释,以增加可读性。
●Erros错误信息:
在方程书写中,会随时提示书写是否正确。
3.6查找表的建立
表函数是SD一个重要特征。
它用于建立两个变量之间的非线性关系。
特别是软变量之间的关系。
例如员工士气对工作效率的影响程度。
一般,两个变量先归一化,或者先规整化,再根据经验给出大致的关系图来。
这样设计的变量是无量纲量。
当在Type中选择Lookup项时,会有AsGraph选项,选择此选项,就会出现对话框。
该对话框用于图形化定义一个查找表。
包括自变量和函数值列举,自变量和函数的最大值等。
用鼠标左键在图形框中点按,会自动构成图形。
3.7对于Limits模型重新设计以后的流图
我们对于VensimPLE的modles子目录中的模型Limits进行重新编辑,得到以下。
模型文件为:
limitn.vmf。
第4章模型建立后的静态分析
模型建立后,在运行前和运行后均可以进行静态分析。
这主要的是一种结构分析。
Vensim是通过分析工具条操作的。
其中,原因树分析、结果树分析和反馈回路分析是对于具体的变量进行的,因此首先要选择变量到工作台。
而模型文档列举和量纲检查是对于整个模型的分析。
4.1将分析变量选人工作台
变量选入有两种方法,一是选择模型建立工具条的指针Pointing,然后连续两次点按要选择的变量,就会在主窗口标题栏看到被选中的变量。
另一种方法是,选择Controlpanel下的变量选择(Variable),则会出现一个对话框,列出了模型的所有的变量,且可以分类显示,选择要分析的变量即可。
4.2原因树分析
对于给定变量,列举作用于其上的变量;然后对于这些变量,再列举作用于其上的变量;依次类推,逐级反向追溯,直到出现给定变量本身的一级为止。
这时,就得到了给定变量的一个原因树,最末一级的所有变量(除变量本身),实际上是该子系统的边界。
是这些变量的外部作用决定了给定变量的。
图示是对于变量RabbitPopulationd的原因树分析图。
可以锁定窗口,打印该图,也可以拷贝到剪贴板或以图元文件(wmf)保存。
4.3结果树分析
对于给定变量,列举其作用的变量;然后对于这些变量,再列举其作用的变量;依次类推,逐级正向追溯,直到出现给定变量的一级为止。
给定变量的结果树也构成了一个子系统,其最末一级的所有变量(除给定变量本身),构成子系统边界,表示指定变量对于整个系统的最终作用。
图示是变量RabbitPopulationd的结果树分析图。
4.4模型文档
Vensim没有“程序”,用户可以看到的是方程列举的文档。
该文档详细列举了所有等式、参数、表函数,以及用户注释及Vensim提供的用途分析。
这一文档和模型流图构成了Veansim基本的模型文档。
(01)AREAOFGRASSLAND=20000
Units:
squareyards
Uses:
(03)carryingcapacity-
(02)AVERAGERABBITLIFE=2
Units:
Year
Uses:
(13)rabbitdeaths-
(03)carryingcapacity=AREAOFGRASSLAND/GRASSREQUIREDPERRABBIT
Units:
Rabbit
(01)AREAOFGRASSLAND-
(07)GRASSREQUIREDPERRABBIT-
Uses:
(12)rabbitcrowding-
(04)effectofcrowdingondeaths=EFFECTOFCROWDINGONDEATHSLOOKUP(rabbitcrowding)
Units:
Dmnl
(12)rabbitcrowding-
(05)EFFECTOFCROWDINGONDEATHSLOOKUP-
Uses:
(13)rabbitdeaths-
(05)EFFECTOFCROWDINGONDEATHSLOOKUP([(0,0)-(10,10)],(0,0.5),(1,1),(1.5,2),(2,5),(2.5,10))
Units:
Dmnl
Uses:
(04)effectofcrowdingondeaths-
(06)FINALTIME=10
Units:
Year
Thefinaltimeforthesimulation.
(07)GRASSREQUIREDPERRABBIT=10
Units:
squareyards/Rabbit
Uses:
(03)carryingcapacity-
(08)INITIALRABBITPOPULATION=100
Units:
Rabbit
Uses:
(14)RabbitPopulation-
(09)INITIALTIME=0
Units:
Year
Theinitialtimeforthesimulation.
Uses:
(00)Time-Internallydefinedsimulationtime.
(10)RABBITBIRTHRATE=1.1
Units:
1/Year
Uses:
(11)rabbitbirths-
(11)rabbitbirths=RabbitPopulation*RABBITBIRTHRATE
Units:
Rabbit/Year
(14)RabbitPopulation-
(10)RABBITBIRTHRATE-
Uses:
(14)RabbitPopulation-
(12)rabbitcrowding=RabbitPopulation/carryingcapacity
Units:
Dmnl
(14)RabbitPopulation-
(03)carryingcapacity-
Uses:
(04)effectofcrowdingondeaths-
(13)rabbitdeaths=(RabbitPopulation/AVERAGERABBITLIFE)*effectofcrowdingondeaths
Units:
Rabbit/Year
(14)RabbitPopulation-
(02)AVERAGERABBITLIFE-
(04)effectofcrowdingondeaths-
Uses:
(14)RabbitPopulation-
(14)RabbitPopulation=INTEG(rabbitbirths-rabbitdeaths,INITIALRABBITPOPULATION)
Units:
Rabbit
(08)INITIALRABBITPOPULATION-
(11)rabbitbirths-
(13)rabbitdeaths-
Uses:
(11)rabbitbirths-
(12)rabbitcrowding-
(13)rabbitdeaths-
(15)SAVEPER=TIMESTEP
Units:
Year
Thefrequencywithwhichoutputisstored.
(16)TIMESTEP-Thetimestepforthesimulation.
(16)TIMESTEP=0.125
Units:
Year
Thetimestepforthesimulation.
Uses:
(15)SAVEPER-Thefrequencywithwhichoutputisstored.
4.5反馈回路分析
对于给定变量,列举包含该变量的所有的反馈回路。
注意,尽管在建立模型时标明了每个箭头的极性,但Vensim并不提供反馈性质分析。
图示是包含变量RabbitPopulationd的反馈回路。
第5章模型模拟及数据集分析
建立好了模型,就可以进行模拟和数据集分析。
Vensim的数据集分析是对于模拟的结果—数据文件.vdf进行比较分析。
可以对于一次运行结果分析,也可以对于多次运行结果(即多个.vdf文件)比较分析。
同结构分析一样,数据集分析一般也是对于具体的变量进行的,须先选择要分析的变量。
5.1模型模拟
选择主菜单下面的SET选项,会出现下面对话框。
它允许用户修改有关参数,表函数,设定保存运行结果的文件名等。
在对于同一模型反复调整参数,比较运行结果时很重要。
注意,这里对于参数和表函数的修改不会保存到模型文件中去。
另外可以利用主菜Model中的TimeBounds,对于运行起始时间,步长进行重新设定。
模型运行后会产生供数据集分析用的文件.vdf。
若是多次调整参数运行同一模型,并生成不同数据文件,则图形和表格显示是多次运行结果的比较。
例如,在不同的参数条件下,运行Limits模型,得到数据文件:
Current.vdf,Current1.vdf,Current2.vdf。
下面对于变量RabbitPopulation进行分析。
首先,在鼠标选择Pointing情况下,连续两次点按变量RabbitPopulation。
可以看到,该变量被选入工作台标题栏。
5.2数据集分析的工具条
●RunCompare运行比较:
在多次运行同一模型,只是改变其参数时,显示和列举各次运行的参数比较。
在此例中,按下该工具条,则出现下面对话框。
将其Export到剪贴板,最后得到参数比较的文本。
它详细记录了三次运行模型参数的调整情况。
由于这些变化,使模型表现出不同的行为模式来。
ComparingC:
\VENSIM\MODELS\CURRENT2andC:
\VENSIM\MODELS\CURRENT1
******ConstantdifferencesbetweenC:
\VENSIM\MODELS\CURRENT2andC:
\VENSIM\MODELS\CURRENT1******
AVERAGERABBITLIFE-haschangedinvalue
2C:
\VENSIM\MODELS\CURRENT2
3C:
\VENSIM\MODELS\CURRENT1
-----------------------------------------------------------
GRASSREQUIREDPERRABBIT-haschangedinvalue
10C:
\VENSIM\MODELS\CURRENT2
12C:
\VENSIM\MODELS\CURRENT1
-----------------------------------------------------------
******LookupdifferencesbetweenC:
\VENSIM\MODELS\CURRENT2andC:
\VENSIM\MODELS\CURRENT1******
EFFECTOFCROWDINGONDEATHSLOOKUP-haschangedinvalue
C:
\VENSIM\MODELS\CURRENT2C:
\VENSIM\MODELS\CURRENT1
X|YX|Y
0|0.50|0.5
1|11|1
1.778|1.691
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Vensim