1 简介


AnyLogic公司是在美国和欧洲运营的跨国团队,拥有全球合作伙伴网络。我们设计和开发用于业务应用程序的仿真建模软件。
AnyLogic,是一款应用广泛的,对离散、系统动力学、多智能体和混合系统建模和仿真的工具。它的应用领域包括:物流、供应链、制造生产业、行人交通仿真、行人疏散、城市规划建筑设计、Petri网、城市发展及生态环境、经济学、业务流程、服务系统、应急管理、GIS信息、公共政策、港口机场、疾病扩散等。
AnyLogic是一款独创的仿真软件,它以最新的复杂系统设计方法论为基础,是第一个将UML语言引入模型仿真领域的工具,也是唯一支持混合状态机这种能有效描述离散和连续行为的语言的商业化软件。


2 特色


2.1 为什么模拟


之所以模拟是因为模拟有很多好处,具体如下:


  • 01 无风险环境
  • 02 节省时间和金钱
  • 03 可视化
  • 04 对动力学的洞察力
  • 05 提高准确性
  • 06 处理不确定性

2.2 技术


2.2.1 多方法建模环境


使用所有三种现代仿真方法开发模型


  • 离散事件
    以过程为中心。
  • 基于代理
    基于代理的建模专注于系统的各个活动组件。
  • 系统动态
    更抽象。
    在这里插入图片描述

建模策略选择


  • 如果有许多独立的对象,请使用基于代理的方法。
  • 如果仅存在有关全局依赖项的信息,请使用系统动态。
  • 如果一个系统很容易描述为一个过程,请使用离散事件方法。
  • 如果您的系统具有所有这些方面,则应考虑组合所有三种方法。

基于代理的建模


基于代理的建模专注于系统的各个活动组件。
使用基于代理的建模时,必须标识活动实体(称为代理)并定义其行为。他们可能是与系统相关的人员,家庭,车辆,设备,产品或公司。建立它们之间的连接,设置环境变量并运行模拟。然后,系统的全局动力学从许多个体行为的相互作用中显现出来。


离散事件建模


大多数业务流程可以描述为一系列独立的离散事件。例如,一辆卡车到达仓库,到达卸货口,卸货,然后出发。为了模拟这一点,通常选择离散事件模拟。
使用离散事件模拟建模,可以使用两个事件(即出发和到达)对火车从点A到点B的运动进行建模。火车的实际运动将被建模为出发和到达事件之间的时间延迟。这些事件和它们之间的运动可以平滑地进行动画处理。
离散事件仿真着眼于中等抽象级别的系统中的过程。通常,不显示特定的物理细节,例如汽车的几何形状或火车加速度。离散事件模拟建模已广泛用于制造,物流和医疗保健领域。
在经典的离散事件工具中,实体是被动的,并且只能具有影响其处理方式的属性。


系统动态建模


系统动态是一种高度抽象的建模方法。它忽略了系统的精细细节,例如人员,产品或事件的各个属性,并生成了复杂系统的一般表示。这些抽象的仿真模型可用于长期的战略建模和仿真。例如,计划营销活动的电话网络可以模拟和分析新数据计划构想的成功,而不必对单个客户交互进行建模。


2.3 建模库


流程建模库



流程建模库是分析人员在物流,医疗保健,银行,制造以及其他具有动态性质的业务流程和服务的详细级别操作中建模的强大工具。该库促进了业务工作流仿真,并允许用户了解流程动态和流程组件之间的相互依赖性,并获得对决策的见解。
使用流程建模库时,用户可以根据流程(通常涉及队列,延迟和资源利用的操作顺序),流程流中的实体(事务,客户和产品)以及资源来对现实世界的系统进行建模。实体用来执行动作并影响流程的信息。使用该库,您可以快速轻松地可视化任何业务流程,并使用AnyLogic动画功能验证结果。


AnyLogic流程建模库是一个工具包,用于将业务流程表示为离散事件模拟模型。这些模型将业务工作流显示为一系列单独的离散事件,并被认为是最合适的流程模拟方式。
该库使用户可以借助流程图来捕获过程行为,流程图是被广泛采用的图形单元。它们是分层的,可伸缩的和可扩展的,从而使用户可以在任何细节级别上对大型复杂系统进行建模。流程图使您可以表示流程逻辑,以发现系统组件之间的隐藏依赖关系。
在这里插入图片描述


  • 通过AnyLogic流程建模库,您可以将一个复杂的系统分为多个较小的部分,并分别以不同的组件表示,从而对其进行建模。在顶层,您可以将那些较小的组件连接在一起。
  • 流程建模库可用于基于代理的模型和系统动力学模型中。例如,流程模型中的所有实体和资源都可以充当代理,具有单独的行为并影响模拟流程。
  • 在一个流程图中,过程建模库元素与其他库的组件兼容。
  • 模型执行统计信息可以自动记录等待时间,生产时间,资源利用率和其他参数。
  • 用户可以使用动画验证动态模型,从而使他们能够查看过程瓶颈并突出显示结果。可以使动画具有多个2D或3D视图分层。
    在这里插入图片描述

行人库



在设计公共环境时,重要的是评估其容量和吞吐量,发现行人瓶颈并执行疏散计划。AnyLogic行人库是行人模拟和人群分析工具,它使用户可以准确地建模,可视化和分析人群流动在物理环境中的行为,并消除其可能的低效率。
AnyLogic模型中的行人根据模拟的物理规则移动。它与周围的物体(包括墙壁和自动扶梯)相互作用,并避免可能发生的碰撞。用户可以为行人预先分配单独的属性,首选项和状态。库的工具包包括流量密度图,行人计数器以及用于计算等待时间和服务时间的元素。


在模拟城市景观,公开活动,博物馆,购物中心和交通枢纽中的行人动态时,行人库非常有用。在项目的初步设计阶段,行人模拟模型将有助于评估设施应对计划负荷并符合安全要求的能力。在一个运营机构中,行人库的功能将在评估容量,流动性和可访问性问题时发挥重要作用。在重建期间,人群管理工具将支持测试计划的更改并确定最佳解决方案。


库的应用领域包括:


  • 购物中心和商业建筑的设计和规划-分析高峰时段出入或部分关闭时的人群移动情况,测试客户行为,确定具有商业吸引力的位置,提供零售设施的人行道分析,以及测试紧急疏散和响应计划。
  • 机场航站楼的设计和规划-优化旅客的出行和处理,行李处理,排队行为和服务点操作。
  • 铁路和运输终点站规划-管理高密度人群和基于时间表的活动。
  • 城市环境规划-评估区域的流量密度,基础设施布局和紧急疏散方案。
    在这里插入图片描述
  • AnyLogic中的行人根据社会力量模型移动。他们选择最短的路线,通过分析当前环境避免与其他物体发生碰撞,并做出进一步运动的决策。
  • 行人的行为由过程流程图定义,该流程图易于创建和理解。除了用于模拟物理环境中运动的基本块外,该库还包含用于设置墙壁,服务,吸引器和自动扶梯的空间标记元素,仅举几例。
  • 行人可能被预先分配了个人属性,喜好和状态,例如他们是否携带手提行李,具有公民身份或准备购买商品。由于行人模型中实现了基于代理的方法,因此这是可能的。
  • 该模型的输出统计信息使用户能够评估设施的容量和吞吐量,对不同区域的行人进行计数以及衡量等待和服务时间。行人流量密度显示在密度图上。
  • 行人库可以与道路交通和铁路库无缝集成,以创建具有火车,停车场和道路基础设施的交通枢纽模型。
  • AnyLogic支持导入存储在X3D和VRML文件中的3D对象。行人模型可以使用人和周围物体(例如ATM机,旋转门和金属探测器)的3D资产进行动画处理。
  • AnyLogic功能使用户可以将CAD图纸文件,shapefile和数据库文件中的数据直接上传到行人模型。
    在这里插入图片描述

道路交通库



AnyLogic道路交通库使用户可以在详细的物理级别上规划,设计和模拟交通流。该库非常适合对每个驾驶员的行为进行显式建模,以及表示交通流动态。
该库的预定义算法考虑了典型的驾驶规定,例如速度控制或避免碰撞。同时,在道路交通模型中,每辆车代表一个代理,该代理可以具有自己的物理参数和行为模式。这与为每辆车及其周围环境创建2D和3D模型的可能性相结合,使交通模型更加灵活和直观。


道路交通库是用于模拟和管理道路交通系统的交通工程和交通规划工具。道路交通模型模拟街道和高速公路上的交通,包括十字路口,人行横道,环形交叉路口,停车场和公交车站。在以下情况下,库的功能将发挥重要作用:


  • 进行道路和高速公路规划。
  • 评估道路通行能力和吞吐量,并评估交通拥堵程度。
  • 完成交通信号灯的时间表。
  • 将公共建筑纳入道路网络。
    在这里插入图片描述
  • 每个车辆代表一个可以具有其自身物理参数(例如长度,速度和加速度)的代理。车辆的行为通过流程图进行模拟,可以通过拖放方式轻松构建。在评估整个交通系统性能时,捕获行为至关重要。
  • 该库提供的工具可轻松对具有优先级,交通信号灯,人行横道,公交车站和停车场的交叉路口进行建模。
  • 该库的预定义算法考虑了驾驶规则,例如速度控制,选择最不繁忙的车道,车道合并规则以及避免和检测碰撞。
  • 道路交通密度图有助于可视化交通拥堵并收集交通流量统计信息。
  • AnyLogic允许用户将GIS形状文件以及现有道路上的数据转换为AnyLogic道路空间标记形状。这样,路网会自动绘制。
  • 道路交通模型可以2D和3D进行动画处理,以实现更好的可视化效果。
  • 用户可以使用行人库和铁路库元素扩展道路交通模型,以模拟复杂的交通系统,包括铁路枢纽和机场航站楼。
    在这里插入图片描述

铁路库



AnyLogic铁路库使用户可以高效地建模,模拟和可视化任何规模和规模的铁路货场和铁路运输的运作。可以使用此库对分类堆场,大型工厂的堆场,火车站,轨道车辆维修设施,地铁站,机场班车甚至电车网络进行建模。它还可以帮助用户进行运营计划,车队管理以及培训和维护计划。
在铁路模型中,火车按照流程图中设置的逻辑移动,而模型中的每个铁路车和机车都是具有各自状态和属性的主体。这与其他库的互操作性一起,为复杂铁路系统的精确仿真提供了功能。


铁路库是模拟铁路物流运作的工具包。在计划或重新设计铁路网络,分析现有网络的参数以及分配资源时,铁路模型可能会发挥作用。
铁路仿真模型适用于:


  • 评估铁路物体(包括院子,车站和维修设施)的容量和吞吐量。
  • 优化铁路车队的结构和规模。
  • 维护计划。
    在这里插入图片描述
  • 模型中的每个有轨电车或机车都是具有各自状态和属性的主体,其运动逻辑以流程图的形式设置。轨道拓扑由空间标记形状指定,该形状可以使用AnyLogic图形编辑器手动创建,也可以从数据库上载。
  • 该库能够自动计算路线,并在火车沿着路线行驶时设置开关状态。因此,您可以检测到可能的碰撞并进行处理。
  • 该库提供了一个工具包来管理火车的运行,例如火车的分类,耦合和去耦。
  • 通过使用“行人库”和“道路库”元素扩展铁路模型,您可以创建火车站,地铁站和电车网络的准确表示。
  • AnyLogic包含用于机车,货车和乘用车的即用型3D对象。
    在这里插入图片描述

流体库



AnyLogic流体库使用户可以模拟散装物料,流体和气流的物流,并建模管道运行,采矿过程以及天然气和动力传输等。使用库的组件,用户可以创建罐,管道,输送机及其网络的准确表示,并执行流程的批次跟踪。它可以轻松捕获流量的各种特征(例如速率和吞吐量),以发现可能的瓶颈和停机时间,并优化操作流程。
为了精确模拟流的行为,该库使用离散速率模拟方法。这使建模过程更加透明,并允许用户跟踪流程发生的变化。


为了更好地了解网络中的流动行为,我们开发了AnyLogic流体库,该套件用于对散装和流体材料,天然气和石油物质的物流进行建模和仿真。使用该库,您可以将这样的连续过程集成到离散模型中,并查看它们如何相互作用。
该库的组件可以在模拟时应用:


  • 管道系统的设计,操作和维护。
  • 石油/天然气分配和存储设施。
  • 散装输送机操作,包括装卸系统。
  • 矿物或其他散装材料的加工。

AnyLogic流体库功能允许:


  • 捕获整个工厂的生产率。
  • 评估网络及其对象的容量和吞吐量。
  • 批处理计划。
  • 预测和管理网络中的故障。
  • 减少维护和改造成本。
    在这里插入图片描述
  • 流体库可处理成批的散装和流体材料。这些将使用默认单位和自定义单位进行量化,并可以通过管道和输送机进行传输。
  • 流体库模型是使用离散速率模拟方法构建的。它使用基于事件的逻辑来模拟连续流程和混合系统。该方法允许用户跟踪流程发生的变化,并使模型创建过程完全透明。
  • 该库的组件使用线性编程求解器来计算大批量流体和散装物料的费率。
  • 使用该库,您可以轻松模拟传入流的处理;在一罐中积累,混合和处理流量。该库还允许用户拆分和合并输入流。
  • 该库可以将试剂转换成流体的一部分,反之亦然。当用户需要将“铁路”,“道路交通”和“行人图书馆”的元素合并到“流体库”模型中时,这很有用。
    在这里插入图片描述

物料搬运库



AnyLogic物料处理库简化了复杂制造系统和操作的仿真。它可用于设计生产和存储设施的详细模型,并管理四壁内的物料工作流。使用物料搬运模拟工具包创建的数字工厂模型可以帮助测试和优化生产,运输和库存策略,并减少工厂车间可能出现的错误和物料流延迟。
在使用物料处理库创建的输送机网络模型中,用户可以使用默认值或为物料,工业机器人,制造机器和操作员设置自定义工艺路线策略。模拟的AGV和其他运输车可自动避免碰撞,检测可能的死锁并加以解决。
要了解有关材料处理库的更多信息,请获取我们的材料处理包,其中包含相关视频,案例研究和操作方法!


物料搬运库为用户提供了物料搬运设计功能,以模拟和分析工厂车间以及存储设施中的端到端流程。它可用于创建具有仿真和可视化功能的动态价值流图,以在以后实现设施工作流程中的见解。
利用该库的功能,您可以:


  • 评估站点和工厂布局替代方案以实施它们并提高车间性能。
  • 分析生产线的设计和性能,并测试其生产能力。
  • 分配工厂资源,包括人员和设备,以避免无法预料的瓶颈,并提供基于仿真的计划。
  • 预测系统行为并分析故障情况下的成本。
  • 模拟起重机的操作和维护。
  • 管理AGV车队并模拟其与输送机,制造机和操作员的互动。
  • 模拟仓库流程,包括传送带和AGV路线。
    在这里插入图片描述
  • 输送块通过输送网络移动物料,同时提供自动路线选择。当物品沿着传送带行进时,它会在途中的各个工位被自动处理。
  • TransporterFleet块定义了一批AGV和其他运输车。运输机可以移动,而无需引导路径。它会自动避免冲突,检测可能的死锁,并解决它们。您还可以自定义路由逻辑并将传输器与其他元素集成。
  • “网络端口”对象允许将两个输送机网络或部分连接到一个网络中,而“举升空间”标记对象可以连接在不同级别上运行的网络。
  • 在构建输送机网络时,请使用光电眼管理输送线的工作量并查看位于特定区域的物料。
  • 您可以通过从外部源(例如数据库或电子表格)读取布局来动态设置输送机网络的参数。
  • 您可以使用“自定义桩号”标记元素创建自定义类型的物料项目,桩号或工作区。它的逻辑是使用“过程建模库”和“物料处理库”块设置的。
    在这里插入图片描述

2.4 云


用于运行仿真模型的安全Web平台。使用基于云的丰富实验功能,在开发和执行模型时进行写作,并即时在线提供仿真结果。所有这些都是可以在组织的运营级别上提供更有效的应用仿真。


2.5 人工智能


AnyLogic已与Microsoft合作,将Project Bonsai的深度强化学习和机器教学功能引入实际的业务应用程序。通过与Microsoft的合作,我们开发了一种易于使用的连接器,使您可以将AnyLogic模型用作连接到Bonsai平台的模拟器。这种创新和新颖的面向业务仿真模型的用法为现实世界的制造和运营带来了最先进的自适应控制和深度强化学习。业务分析师和工程师现在都可以利用高级人工智能,而无需成为数据科学家。
AnyLogic是通用仿真领域的市场和技术领导者。AnyLogic模型可帮助AI从业人员进行许多不同的实际应用,其中包括:


  • 01 综合数据生成
    无限数量的相关的,干净的,结构化的和带标签的机器学习培训数据,可用于有监督的学习,分析和数据挖掘应用程序中-包括尚未经历或记录的数据。
  • 02 神经网络训练
    在实际场景的模拟中,使用深度强化学习体系结构来训练学习代理的模拟环境。神经网络可以与仿真模型交互工作,动态读取其状态并采取措施。
  • 03 测试AI模型
    在功能强大,切合实际且无风险的环境中测试系统的行为。可以在仿真模型中安全地探索和分析AI系统的行为。

2.6 数字孪生


数字双胞胎的两个关键要素是动态仿真模型和反映实时系统当前状态的数据。利用该模型和数据,可以构建功能强大的数字孪生软件进行实验,分析和通信,以便您可以提出假设问题,了解系统行为并在多个级别进行验证。
数字孪生技术可帮助保护和发展业务流程,而制造业和供应链等行业已在从中受益。它提供了易于理解和交流的见解-有助于建立信任并支持决策。
在这里插入图片描述
使用数字孪生可以增强对系统工作和交互方式的洞察力和理解力,从而有助于评估参数和相互依赖性。作为虚拟环境,数字双胞胎还为实验提供了低成本和无风险的可能性。使用数字孪生的主要原因基于以下原因:


  • 01 系统洞察力
    检查流程如何运行以及它们如何交互。了解如何利用资源并了解工作流程。例如,数字双胞胎用于改善涡轮机制造商的项目管理。
  • 02 假设分析
    测试想法并探索您的流程和系统的可能性,并根据当前或历史数据查看它们的性能。例如,数字孪生仿真有助于制造维护决策。
  • 03 明晰
    数字孪生模型可以输出统计数据并提供包括3D动画在内的视觉效果,以帮助验证分析,增进理解并更轻松地传达发现和建议。例如,基于模拟的数字孪生技术可优化井的施工过程。

3 技术分析


3.1 如下消息证实用到Java


  • Anylogic仿真入门教程
    这博客介绍Anylogic底层基于JAVA语言编译,学术界用的比较普及。是否基于Java,待考证。
  • Learn Java for AnyLogic!
    Java is the original, and currently the only fully-supported, scripting language. Knowing a little Java can really level up your simulation modeling in AnyLogic.
  • Anylogic招聘岗位
    JAVA DEVELOPER:
    Frontend: HTML 5, CSS, TypeScript, Webpack, Electron, Web-based code editor, Modern web framework (Angular, React, etc.), RxJS, Plotly.js, SVG, Three.js, and WebGL.
    Backend: Java 8+, Spring, Gradle, Eclipse JDT, Language Server Protocol, GeoTools, MapDB, HSQLDB, and Querydsl.

参考


1、AnyLogic官网
2、AnyLogic百科
3、Anylogic仿真入门教程
4、Learn Java for AnyLogic!
5、Anylogic招聘岗位