AnyLogic软件功能介绍
操作系统
支持Windows XPWindows VistaWindows 7
支持Mac OS X
支持基于GTK的Linux,例如Ubuntu Linux
建模方法
系统动力学:多用于长期的战略模型,并对高度集合的对象进行建模:在模型中人、产品、事件和其他离散物都是大量地显示出来。这样,它们就失去了所有的个体特征、历史或动态变化。如果问题允许这种抽象程度,系统动力学是很好的选择。AnyLogic采用了为系统动力学建模者所熟悉的方式来设计和模拟反馈结构(存量、流程图和决策规则,包括数组变量又叫下标)。用户可以
依次定义存量和流变量
使用公式中的自动“代码补全”
为了模型有更好的易读性,可以定义“影子”变量
使用表函数(查表)、线性或样条曲线插值
定义枚举和范围类型的维度
定义子维度和子范围
定义任意维度的数组变量
每个数组变量的不同部分可以使用多种公式
使用特定的系统动力学和标准Java的数学函数
基于主体:是本质上分散的、以个体为中心的(和系统层相反)模型设计方案。建模者在设计基于主体的模型时,要确定活动实体,即主体(可以是人、公司、项目、资产、车辆、城市、动物、船、产品等),定义它们的行为(如主要的驱动力,反应、记忆、状态
等),并将它们置于某个环境里,可能还需建立关联,然后运行仿真模型。那时,整体的(系统层)行为就是个体行为相互交织的结果。AnyLogic是唯一能够有效的支持主体建模的工具,用户可以将基于主体的建模方法和其他方法相结合。AnyLogic基于主体建模提供了一些可重复使用的设计模式,包括:
模型结构
主体同步
空间(连续、离散或GIS地图)、移动性、空间动画
主体联系(网络,社会网络)和交流
主体的动态创建和消失
离散事件:我们观察到的绝大部分过程由连续的变化构成。然而,当我们分析那些过程时,很多情况下我们需要从连续特性中抽象出一些事件来,只对系统生命中的一些重要“瞬间”和“事件”加以考虑。用这些事件来接近真实世界过程的建模方式就叫做离散事件建模。
以过程为中心的建模建议将系统作为一系列连续的操作过程来分析:(到达、延迟、使用资源、分离、合并等),将操作程序看作是在某些类型的实体(顾客、文件、零件、数据包、车辆、电话)上运行。实体是被动的,但它们的某些特性却可以影响处理方式(例如,通话类型、任务的复杂度),或随着实体在过程(累计等待时间或费用)中的流动而改变。以过程为中心的建模的复杂度为中等偏下:虽然每个对象作为实体单独进行建模,但建模者通常丢掉了很多“物理层”的细节,如精确的几何、加速、减速。以过程为中心的建模广泛运用于商业流程、制造、物流和医疗领域。AnyLogic主要使用企业库实现离散事件建模。
多种方法:系统动力学方法高度抽象,主要用于战略层。流程导向型(离散事件)建模主要用于操作和策略层。基于主体的建模可应用于任何层面:主体可以是竞争的公司、消费者、项目、概念、车辆、行人、机器人等。AnyLogic 通过将三种建模方法置于同一平台,使建模者不再受限于特定的建模方法,可以始终选择最有效的建模方法,或将它们结合在一起解决问题。
面向对象、层次化建模:AnyLogic完全支持面向对象建模和层次化建模。
模型开发环境
多模型开发空间:可以同时打开和编辑多个模型,各模型之间可以复制建模元素。
模型开发采用可视化定义:包括控件库、逻辑行为图、状态图、等式、事件、函数、参数等均可采用拖放方式生成,并提供相应界面详细定义各建模元素。
模型代码编写辅助:例如自动代码补全、弹出相关帮助文档、关键字高亮、智能缩进等。
问题解决辅助:指出代码错误所在,提出更正建议。
建议AnyLogic新功能:用户可建议增加或改进AnyLogic的功能。
创建新模型向导:可选择不同建模方法,使用向导生成基本模型。
基本模型调试:包括运行时检测窗口、跟踪、消息、分步执行。
专业模型调试:例如断点、有条件断点、观察所有模型变量包括Java变量、表达式估值、代码逐行执行、Java级别调试。
事件队列观测:模型运行过程中,可以查看未来事件列表。
团队作业和并发版本系统(CVS)集成:当一个大型模型是由一个团队开发的时候,开发工具能够和版本控制软件很好地融合这一点至关重要。在AnyLogic 专业版本中用户可以将模型分割成几个可以同时开发的组块(但之间相互引用),以alp文件格式保存,再将这些文件添加到版本控制软件储存器中,然后从AnyLogic 集成开发环境中直接更新。
地理信息系统(GIS)集成:对于物流供应链,传染病学,社会和市场动态特征的仿真研究往往要用到地理方面的信息。这些研究如果可以直接和地理信息系统结合起来,将受益匪浅。在AnyLogic中,用户可以在动画画布上加入GIS地图,在模型坐标和GIS经纬度之间建立关系,通过GIS 应用程序接口控制地图(例如地图的比例尺,地图的移动,或者是给地图上的不同地区画上不同的颜,等等)。在基于主体的模型中可以规划出GIS空间,使主体在那里活动。
java类的概念
CAD绘图导入:CAD制图既可以当做动画背景也可以为“注重布局”的模型(例如基于网络的模型或者是行人模型)提供标记基础。在AnyLogic 专业版中,用户可以加入一些DXF格式的任何形状的矢量图,选择可见层、比例,并在运行过程中控制这些属性。
使用USB加密狗共享AnyLogic授权:授权信息记录在加密狗中,可随加密狗应用于任意一台计算机。
数据库连通性
基本组件:数据库控件
专业组件:查询、Key Value 表、插入、更新、文本文件
控件库
企业库:集合了所有定义工作流程的对象,如发生器、接收器、延迟、服务、输出选择等等,以及相关的资源。所有对象都可以自定义:它们的参数可以动态改变,行动可能取决于实体的属性等。对象有输入/输出扩展点,用户可以定义需要在实体上执行的行为。一般类实体(实际上是Java类)反过来也能通过添加自定义字段和方法而得到扩展。企业库还包含一系列特别为“注重空间”的过程所设计的对象,这些对象在某类物理空间中发生并涉及实体和资源的运动。这些对象的集合很大程度上简化了此类系统的建模,被称为网络建模。使用这项技术,你需要定义网络拓扑结构(例如在作为背景的设施地图上绘制AnyLogi
c图形)、资源池和流程本身。流程定义可以结合特定网络对象(如“移向定点”或“占用资源单位”)和常规企业库对象。实体和资源会自动生成动画,沿着网络段移动或待在节点,并且和常规动画交织在一起。
行人库:用传统的离散事件方法来模拟人流较大的场所(比如机场,地铁,博物馆,或者是运动场所)所得到的结果往往不准确。专业版所提供的新的行人库使得用户在建模过程中可以成功地模拟行人与行人之间的互动,真实地反映周围的环境(例如墙,十字转门,电梯,椅子等)的特点,再现行人的举动,并由此收集相关数据。行人库中的对象使得用户可以用流程图的方式进行建模,而且它们与企业库也可以很好地融合在一起,这样一来对于建模过程中那些不太注重物理层交互的地方,就可以使用更高层次的离散事件建模。
铁路调车场库:使用户可以高效地建模、仿真和可视化任意复杂度和规模的铁路调车场作业。用户可以很自然和轻易地将铁路调车场模型和相关的运输、装卸、资源分配、维护、商业流程等离散事件或基于主体的模型结合起来。可以生成详细而又高效的仿真,这在使用优化器确定最佳调车场管理规则时十分重要。
开发自定义控件库:可以将一些特定应用领域里可再次利用的对象以及Java类打包起来,
作为一个控件库保存。自定义控件库可以和标准控件库在面板中同时打开。于是可以把定制的仿真解决方案和一组建模者共享,或者发给客户。
使用自定义控件库:可以在面板中导入自定义控件库,并在模型中使用其中的控件。
动画
业务图表:例如条形图、饼状图、堆叠图、 点线图、柱状图
基本控件:如复选框、单选按钮、按钮、滑块、编辑框
专业控件:列表框、文件选择、复合框、进度条
三维动画:在注重立体空间的模型中,使用三维可视化展示模型。
导出模型
Java applet小程序:将模型导出为Java applet小程序,可以网页形式运行和观察模型。
独立Java程序:可以导出模型为单独的Java应用程序,并在其他计算机包括服务器上使用。
这使得用户可以为客户或同事创建自定义程序。不同于Java applet小程序(可以在AnyLogic普通版中导出),独立Java程序不受安全限制约束,可与数据库、外部文件及其他应用程序相通信。
实验框架
仿真实验:最基本的实验类型,既可以使用一定的参数值运行实验,以虚拟的或者实时的时间比例观察仿真动画 ,也可以停止、暂停、恢复模型运行,单步运行模型。在模型运行过程中,可以观察处于模型任何层次的任何对象,检验各个事件,状态图,动态和一般参数的状态。可用于对模型的程序进行调整,对动态仿真过程进行可视化展示。其他所有的实验类型都将仿真当做一个黑匣子,以最快的方式进行处理,而不会以动画方式进行展示。
优化实验:使用内置的OptQuest优化器寻求最佳解决方案,给定目标函数、约束和要求,参数(决策变量)可以改变。不确定性优化通过重复实验实现:在参数取值相同的情况下,随机性模型可以运行多次,参数空间中的下一步取值由汇总的输出所决定。优化实验自动生成用户界面,其中包含了当前的和最好的解决方案以及优化过程的动态图表。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。