Anylogic用户手册.docx
《Anylogic用户手册.docx》由会员分享,可在线阅读,更多相关《Anylogic用户手册.docx(91页珍藏版)》请在冰豆网上搜索。
Anylogic用户手册
Anylogic用户手册(总86页)
1.创建AnyLogic模型
AnyLogicTM建模语言
AnyLogicTM建模语言已经成功应用于对大规模和复杂系统的建模。
AnyLogicTM模型的主要构建模块是活动对象(activeobject)。
活动对象可以用于建模现实世界中类型广泛的各种对象,例如加工工作台,资源,人员,硬件,具体的物体,控制器,等等。
一个活动对象即是活动对象类的一个实例。
在你开发一个AnyLogicTM模型时,你实际上是在开发活动对象的类,以及定义这些类之间的关系。
你也可以很方便地使用AnyLogicTM库中的活动对象类。
活动对象类被映射到JavaTM类上。
因此,活动对象类允许继承,虚函数,多态等等特性。
面向对象的方法给建模带来了显著的益处。
使用类进行建模提供了结构分解和活动对象重用的特性。
在定义了一个具有所需结构的活动对象类之后,你就可以在你的模型中创建此类的多个活动对象。
类等级结构允许对上述这些概念进行更进一步的扩展。
活动对象继承
由于活动对象类都是JavaTM类,因此一个活动对象类可以继承自另一个活动对象类。
子类继承了父类的接口,并且可以加入自己独有的结构元素和方法。
继承允许对代码的重用,并使得对模型的修改变得简单易行。
在你定义了基础类之后,例如此基类代表一辆汽车,则它的通用属性可以被子类所继承,例如子类可以分别代表运动型车辆和卡车。
实际上现实世界中的所有对象都具有复杂的结构。
为便于管理和掌握大规模系统的复杂结构,分解就成了一条重要原则。
通过将一个整体的系统分解为各个部分,并且对这些部分进一步分解,这样我们就克服了人类认知能力的局限。
等级化分解
由于一个活动对象可能在任意所需的深度上封装其他活动对象,因此AnyLogicTM模型可以等级化地分层分解。
由于每个活动对象通常代表模型中的一个逻辑部分,因此你就可以根据需要,将一个模型分解为具有不同细节的多个层次。
每个AnyLogicTM模型中都有一个根活动对象,其中包含了被封装起来的其他对象,而这些对象又包含其各自的被封装对象,以此类推。
这样,我们就创建了活动对象的等级树。
封装也使你能够隐藏被建模对象中的所有复杂细节。
结构分解
由于AnyLogicTM模型都具有定义良好的交互接口,因此这些模型可以被结构化地分解。
活动对象只通过边界对象与它们周围的环境进行交互。
通过定义连接器以建模实际的耦合关联,我们就可以很方便地描述不同对象之间的关联。
这样就将对象的内部实现与关于环境的直接知识分离开,使得活动对象可以重用。
活动对象重用
除了使用继承之外,对包含模型类的库的使用也支持了对建模知识的重用。
AnyLogicTM允许你创建可重用的活动对象类库,这些库可以在一些特定的应用领域或建模工作中进行创建。
库允许在不同模型中对类的更好的重用。
你只需要对一个类开发一次,并进行存储,即可在多个工程中使用这个类。
开始使用AnyLogicTM
在此后你都将使用AnyLogicTM开发环境开发和运行模型。
首先,你需要打开AnyLogicTM,并创建一个新工程,或打开一个已有的工程。
接着,你需要使用由AnyLogicTM提供的构建工具构建此模型。
然后你就可以运行仿真。
这一章节为你提供了如何开始使用AnyLogicTM的参考信息。
►打开AnyLogicTM
1.从Windows开始菜单中打开AnyLogic快捷方式(默认位于如下菜单路径中:
开始|所有程序|AnyLogic|AnyLogic)。
2.此时即出现注册向导。
为使用AnyLogicTM构建模型,你需要拥有试用(有限时间)或永久的全功能产品密钥。
►使用试用版AnyLogicTM
1.获得一个试用版密钥。
如果你下载了AnyLogicTM用于评估测试,则这一密钥将通过电子邮件发送给你。
其他情况,请打开如下网页:
2.
3.并填写其中的表格。
然后产品密钥将通过电子邮件发送给你。
4.打开了注册向导之后,选择向导中的Enterpermanentorevaluationkey(输入永久或试用密钥)选项,然后输入你通过电子邮件接收到的试用版产品密钥。
5.为继续运行AnyLogicTM,你可以选择Continueevaluation(继续评估)选项。
►获得全功能的AnyLogicTM产品密钥
1.在打开注册向导之后,选择Sendrequestforpermanentkey(发送永久密钥请求)选项,然后按照向导提示操作。
你将被提示要通过电子邮件发送请求信息到请求处理中心。
2.在你通过电子邮件接收到你的个人解锁密钥之后,再次打开注册向导(如有必要,请点击AnyLogicTM的Help(帮助)菜单,选择Registerproduct(产品注册)),接着选择Enterpermanentorevaluationkey(输入永久或试用密钥)选项,然后输入你的个人解锁密钥。
3.在完成了产品注册向导之后,AnyLogicTM即开始运行(图1)。
►运行AnyLogicTM,并打开指定工程
在Windows资源管理器中点击一个AnyLogicTM工程文件(扩展名为.alp,图标为
)。
如果你已经完成了产品注册向导,则此时AnyLogicTM应开始运行。
如果没有,请先完成产品注册向导,然后再次点击此文件图标。
图1AnyLogicTM用户界面
请注意点击另一个模型文件并不会打开一个新的AnyLogicTM窗口。
另一个模型文件将在同一个AnyLogicTM窗口中打开(如有必要,你将被提示要保存现在正在打开的文件)。
使用工程
在启动之后,AnyLogicTM即显示StartPage(开始页),如图2所示。
开始页将提示你创建一个新工程,打开现有工程,或打开一个最新的AnyLogicTM实例。
图2.AnyLogicTM开始页
一个工程即是你在开发模型时的一个工作区。
你可以使用开始页或AnyLogicTM的File(文件)菜单对AnyLogicTM工程进行管理。
►创建一个新工程
1.在开始页的Projects(工程)页面中,点击Newproject(新建工程)按钮,或者
2.点击New(新建)工具条按钮
,或者
3.从主菜单中选择File|New…(文件|新建),或者
4.按键盘上的Ctrl+N。
5.此时即出现Newproject(新建工程)对话框。
6.指定新工程的名称和保存位置。
7.指定你是否希望为此工程创建一个文件夹。
8.点击OK。
►打开一个现有的工程
1.在开始页的Projects(工程)页面,点击Browse(浏览)按钮,或者
2.点击Open(打开)工具条按钮
,或者
3.从主菜单中选择File|Open…(文件|打开),或者
4.按键盘上的Ctrl+O。
5.此时Open(打开)对话框即显示。
6.浏览找到你希望打开的工程文件,
7.双击此文件,或者
8.点击此文件,然后点击Open(打开)按钮。
AnyLogicTM提供了对最近打开过的工程的快捷访问。
►打开一个最近打开过的工程
1.在AnyLogicTM的File(文件)菜单底部的工程列表中选择你希望打开的工程,或者
2.点击开始页中的Projects(工程)选项卡,从最近打开的工程列表中选择你希望打开的工程,然后点击Open(打开)按钮。
如果你正在使用某个特定的工程,你可以告诉AnyLogicTM不要在程序启动时显示开始页,而是直接打开你最近使用过的工程。
►在AnyLogicTM启动时打开最近使用的工程/开始页
1.在主菜单中选择Tools|Options…(工具|选项..,)。
2.此时即出现Options(选项)对话框。
3.在Miscellaneous(杂项)页面,选择/取消Reloadlastprojectonstartup(在启动时重新加载前一次使用的工程)选框。
4.点击OK。
AnyLogicTM标准发行版本中包含了一些最新的范例,这些范例按照主题类别组织(计算机和电信网络,医疗健康,制造和后勤,交通和运输等)。
你可以查看这些例子以了解如何开发你自己的模型。
►打开一个AnyLogicTM范例
1.在开始页中点击Examples(范例)选项卡。
2.AnyLogicTM范例列表即显示于开始页的右侧面板中。
3.如有必要,选择Bycategory(按主题)选项,则将这些例子按照AnyLogicTM主题类别进行排序。
范例主题类别的列表显示于右侧面板中,为显示某一类别中的所有范例,请点击此类别项目左侧的加号图标。
4.如有必要,选择Sortedalphabetically(按字母顺序排序)选项以将范例按照字母顺序排序。
5.点击一个范例项目。
6.此时即显示此范例的描述信息。
7.点击Open(打开)按钮。
在开始页中,你可以查看AnyLogicTM的在线资源和文档。
►查看在线资源
1.在开始页中,点击OnlineResources(在线资源)选项卡。
2.AnyLogicTM在线资源和文档列表即显示于开始页右侧面板中。
3.点击你希望查看的在线资源。
4.点击Open(打开)按钮。
►保存当前工程
1.点击Save(保存)工具条按钮
,或者
2.在主菜单中选择File|Save(文件|保存),或者
3.按键盘上的Ctrl+S。
►保存当前工程到新的文件名中
1.从主菜单中选择File|SaveAs…(文件|另存为)。
2.SaveAs(另存为)对话框即显示。
3.指定保存此工程的新文件名称和位置。
4.点击Save(保存)按钮。
►保存所有工程
1.点击SaveAll(全部保存)工具条按钮
,或者
2.在主菜单中选择File|SaveAll(文件|全部保存)。
►关闭当前工程
1.在主菜单中选择File|Close(文件|关闭)。
AnyLogicTM一次可以打开一个工程。
然而,你可以运行多个AnyLogicTM窗口,并在不同的窗口中打开不同的模型。
►同时运行两个或多个AnyLogicTM窗口
1.在一个AnyLogicTM实例窗口正在运行时,从Windows开始菜单中打开AnyLogic快捷方式。
2.在新打开的AnyLogicTM窗口中,打开你所需的工程。
这样你就可以同时对多个工程进行操作,并可以将一个工程中的类复制到另一个工程中。
编辑工程
AnyLogicTM开发环境构建于最新的Windows用户界面技术之上,其特性包括:
可自定义的窗口,工具条,颜色,图像
鼠标拖放编辑
图表缩放
通过类树在工程中方便地进行浏览
动态检查类型,参数,以及图表语法
图形化高亮显示错误
你可以在多个AnyLogicTM编辑器窗口中对工程进行编辑。
在创建了一个新工程之后,Project(工程)窗口和Properties(属性)窗口即显示(请参考图3)。
Project(工程)窗口用于创建,查看,和操作模型元素。
Properties(属性)窗口用于查看和修改模型元素的属性。
这一章节将给出这些窗口的细节描述。
结构编辑器(Structureeditor)
工程(Project)窗口
状态图(Statechart)编辑器
动画编辑器(Animationeditor)
属性(Properties)窗口
代码(Code)窗口
输出(Output)窗口
图3用于编辑工程的窗口
Project(工程)窗口
你可以在Project(工程)窗口(工作区(Workspace)窗口中的一个页面,如图4所示)中访问多种工程元素,如包,类等等。
由于工程的结构是等级化的,因此一个工程将显示为一个树状结构:
工程自身构成树的顶层,接着下一层为包,然后下一层是活动对象和消息类,以此类推。
工作区的树状视图使得对此工程的浏览十分便捷。
图4.Project(工程)窗口
►显示Project(工程)窗口
1.点击Project(工程)工具条按钮
,或者
2.在主菜单中选择View|Project(查看|工程),或者
3.按键盘上的Alt+0。
对于Project(工程)窗口中的项目,你可以对它们实行一些通用的操作。
你可以复制,移动,和删除项目。
这样,你就可以方便地管理你的工程。
在复制或删除时,你应首先选定一个项目。
►选定一个项目
1.点击这个项目。
2.Properties(属性)窗口中即应显示出被选定项目的属性。
►删除这个项目
1.点击Delete(删除)工具条按钮
,或者
2.在主菜单中选择Edit|Delete(编辑|删除),或者
3.右键点击此项目,然后在弹出菜单中选择Delete(删除),或者
4.按键盘上的Del键。
►复制这个项目
1.点击Copy(复制)工具条按钮
,或者
2.在主菜单中选择Edit|Copy(编辑|复制),或者
3.右键点击此项目,然后在弹出菜单中选择Copy(复制),或者
4.按键盘上的Ctrl+Ins键。
►剪切这个项目
1.点击Cut(剪切)工具条按钮
,或者
2.在主菜单中选择Edit|Cut(编辑|剪切),或者
3.右键点击此项目,然后在弹出菜单中选择Cut(剪切),或者
4.按键盘上的Shift+Del键。
►粘贴这个项目
4.选择你希望将其粘贴到的父项目。
5.例如,你可以将一个活动对象类粘贴到一个包中。
6.点击Paste(粘贴)工具条按钮
,或者
7.在主菜单中选择Edit|Paste(编辑|粘贴),或者
8.右键点击父项目,然后在弹出菜单中选择Paste(粘贴),或者
9.按键盘上的Shift+Ins键。
如有必要,你可以将此工程元素排除在模型之外。
这样,你可以在设计时通过将一个元素排除在外来调整你的模型结构,并引入其他模型元素。
►从模型中排除/向模型中引入一个项目
1.右键点击此项目,然后从弹出菜单中选择Excludefrombuild(从模型中排除)。
此项目的图像即变得模糊/锐利。
Properties(属性)窗口
Properties(属性)窗口用于查看和修改当前选定的对象的属性。
在你选定了某个对象之后——即,在Project(工程)窗口中,或在图表编辑器窗口中(请查看图表编辑器,通用操作”)选定一个对象——Properties(属性)窗口中(如图5)将显示所选定对象的属性。
图5.Properties(属性)窗口
Properties(属性)窗口由若干个页面组成。
每个页面中都有如编辑框,选框,按钮等等之类的控件,用于查看和修改属性。
页面的数目和每个页面的内容取决于所选定对象的类型。
你可以直接将一个项目从模型树中拖动到Properties(属性)窗口的一个域内。
►显示/隐藏Properties(属性)窗口
1.点击Properties(属性)工具条按钮
,或者
2.在主菜单中选择View|Properties(查看|属性),或者
3.按键盘上的Alt+Enter键。
►显示Properties(属性)窗口中的特定页面
1.点击Properties(属性)窗口顶部的对应选项卡。
每个模型元素都可以有一条描述性文字与之相联系,以使模型更易于理解。
►设置元素描述
1.选择模型元素
2.在Properties(属性)窗口的Description(描述)页面中输入文字。
AnyLogicTM将为当前选定的模型元素显示工具提示,其中显示此对象的属性的细节描述。
►获得关于一条属性的信息
1.在Properties(属性)窗口中,将鼠标光标移动到所需的控件上,然后等待显示工具提示。
如有必要,你可以告诉AnyLogicTM不要显示属性的工具提示。
►显示/隐藏属性的工具提示
1.在主菜单中选择Tools|Options...(工具|选项)。
2.此时即出现Options(选项)对话框。
3.在Miscellaneous(杂项)页面中,选中/取消Enablepropertytips(允许属性提示)选框。
4.点击OK。
对窗口进行布局
在编辑你的工程时,你实际上是在若干个窗口中进行工作。
所打开的窗口的名称列表显示于AnyLogicTM的Windows菜单的底部。
你可以使用Window菜单的选项对打开的窗口进行布局。
►以层叠方式显示模型窗口
1.在主菜单中选择Window|Cascade(窗口|层叠)。
►将模型窗口沿着AnyLogicTM窗口宽度方向纵向平铺
1.在主菜单中选择Window|TileVertically(窗口|纵向平铺)。
►将模型窗口沿着AnyLogicTM窗口长度方向横向平铺
1.在主菜单中选择Window|TileHorizontally(窗口|横向平铺)。
►关闭所有窗口
1.在主菜单中选择Window|CloseAll(窗口|关闭所有窗口)。
►激活一个窗口
1.从Window(窗口)菜单中选择此窗口的名称。
2.如果打开了太多的窗口,则窗口列表中只显示其中的一部分。
在主菜单中选择Window|MoreWindows…(窗口|更多窗口),在SelectWindow(选择窗口)对话框中选择你希望激活的窗口,然后点击OK。
►激活列表中的下一个窗口
1.在主菜单中选择Window|Next(窗口|下一个窗口),或者
2.按键盘上的Ctrl+F6。
►激活列表中的上一个窗口
1.在主菜单中选择Window|Previous(窗口|上一个窗口),或者
2.按键盘上的Ctrl+Shift+F6。
模型元素
AnyLogicTM模型是等级化地组织起来的。
工程(project)由包(package)组成,以便更好地组织一个工程的结构。
一个工程可以使用其他工程作为库(library)——库是一组针对特定应用领域而开发的类的集合。
为使你的工作更加容易,AnyLogicTM允许你根据你需要对模型进行的实验,指定若干个对应于不同模型执行参数的实验(experiment)。
这一章节将对这些AnyLogicTM模型元素进行介绍。
工程
AnyLogicTM中的一个工作单元即称为一个工程。
在一个工程中完整地定义了一个模型或一个库。
一个工程在Project(工程)窗口中将显示为一个根项目。
下面所述的工程属性定义于Properties(属性)窗口的General(常规)页面中。
常规属性
Name(名称)——工程的名称,通常与模型的文件名相同。
Loadedfrom(加载位置)——[只读]工程文件(.alp)的位置。
Targetfile(目标文件)——[可选]存储所生成的代码的文件的文件名。
如果你希望将一个工程作为库来使用,则你需要指定此属性,请参考第20章“库”。
Additionallibraryfiles(附加的库文件)——[可选]你所希望在编译时加入到此工程的JavaTM库列表,由分号分隔。
Folderforgeneratedfiles(放置所生成的文件的文件夹)——[可选]AnyLogicTM存放所生成的文件的文件夹的路径。
如果未指定,则AnyLogicTM将所生成的文件放置于Windows临时文件夹中。
AnyLogic可以为整个工程生成一个HTML报告。
编辑器可以生成综合的交叉引用的HTML报告,其中包括图表,元素属性,和代码。
为打印整个报告,你可以从浏览器中打印此HTML报告。
►生成整个工程的HTML报告
1.在主菜单中选择File|GenerateReport…(文件|生成报告)。
2.此时即打开浏览器,并显示所生成的.html报告。
包
工程由包组成。
在工程中可以有一个或多个包。
包中含有活动对象,消息,其他类,和外部文件。
包可以用于更好地对工程的结构进行组织。
►向工程中加入一个新的包
1.在主菜单中选择Insert|NewPackage(插入|新的包),或者
2.在Project(工程)窗口中,右键点击此工程,然后从弹出菜单中选择NewPackage…(新建包)
3.此时即打开NewPackage(新建包)对话框。
4.指定新建的包的名称,然后点击OK。
属性
Name(名称)——此包的名称。
Excludefrombuild(构建时排除)——如果设置此属性,则此包将被排除出此模型。
当AnyLogicTM生成代码时,它把每个AnyLogicTM包映射到同名的JavaTM包上。
因此,位于不同的AnyLogicTM包中的类被放置到不同的JavaTM包中。
使用AnyLogicTM包的规则与使用JavaTM包的规则相同。
为使用一个来自于另一个包的类,你需要导入此包,或者在这个类的名称前面添加此包名称作为前缀。
包的导入将在“导入包”中介绍。
如果你不希望与名字空间打交道,你可以在你的模型中只使用一个包——例如,mypackage。
默认情况下,在你创建一个新工程时,AnyLogicTM即创建一个与此工程同名的包。
库
一个工程可以将其他工程作为库来使用。
库是为特定应用领域或建模任务所开发的类的集合。
AnyLogicTM中提供了若干个库,你也可以很容易地创建你自己的库。
使用库具有几个优点:
提供了在不同模型中对类的更好的重用。
一个类只需要被开发和存储一次,就可以在其他工程中被引用使用。
库使你可以在AnyLogicTM工程中组织团队工作:
模型的一部分由一个团队成员开发,并放到库中,其他人在他们的工作只需使用相兼容的库版本。
通过开发合适的库,你可以将AnyLogicTM转化成针对特定领域的高层次的建模工具,在此工具中可以通过简易的鼠标点击来进行操作。
AnyLogicTM在Libraries(库)窗口中显示了可用的库。
AnyLogicTM标准发行版本中包含了若干个库,这些库位于Lib目录下。
你可以查看这些库以了解如何开发你自己的库。
创建库和使用AnyLogicTM库类的细节信息将在第20章“库和外部文件”中给出。
实验
一个实验(experiment)中存储了模型的一组配置参数。
AnyLogicTM支持几种不同的实验类型,以用于不同的仿真任务。
当创建一个新工程时,AnyLogicTM即自动创建一个实验,并将其设置为当前实验(currentexperiment),即定义了当前模型仿真参数的实验。
这一实验是一个仿真实验(simulationexperiment)。
它将运行模型仿真,并显示动画,同时允许对模型进行调试。
大多数情况下使用的实验都是仿真实验。
其他的AnyLogicTM实验类型(优化实验optimizationexperiment,参数变化实验parametervariationexperiment)只用于模型参数起重要作用,并且你需要分析这些参数如何影响模型行为的情形,或你希望找到你模型对应的最优参数的情形下。
自定义参数(customparameter)允许你使用JavaTM语言定义自定义的实验脚本。
实验和配置参数具体将在第12章“实验”中进行介绍。
活动对象
活动对象是AnyLogicTM模型的主要构建模块。
活动对象可以用于建模现实世界中类型广泛的各种对象,例如:
加工工作台,资源,人员,硬件,具体的物体,控制器,等等。
一个活动对象是一个活动对象类的一个实例。
活动对象类可以由用户开发,或者从库中得到。
►向包中加入一个新的活动对象类
1.点击NewActiveObjectClass(新活动对象类)工具条按钮
,或者
2.在主菜单中选择Insert|NewActive