处理网络模型

在一个处理网络(PN 模型中,处理对象(表示例如客户或原材料)会通过一个抵达事件,经由入口节点处进入系统。然后处理对象会流过一个或多个处理节点(表示例如服务台或制造机器),而它们在通过一个离开事件而在出口节点处离开系统之前,会经过一系列处理活动

four-consecutive-machines

对象事件模拟-网络处理建模(OES-PN)的概念基于对象事件活动的基本离散事件模拟(DES)建模概念。 网络处理(PN)模型的节点表示的建模元素,是重载的并且具有两个含义。入口和出口节点组合了一个(可能是空间的)节点对象和关联且隐式的(到达或离开的)事件类型,而处理节点组合了一个(可能是空间的)节点对象和关联且隐式活动类型。这种语义重载使PN模型更简洁,更易于阅读和理解。

由于其直观的构建模块及其对制造和服务行业问题的适用性,网络处理建模(PN)是最广泛使用的离散事件模拟(DES)建模范例。它受到许多仿真工具的支持,例如 Arena Simio ExtendSim Simul8 AnyLogic ,每个人都使用他们自己的专有术语和图表语言来实现相同的概念。

用于PN建模的OES概念是这些商业工具专有PN建模技术的开源替代方案,可用作理解和比较它们的参考概念框架。

 用于相同网络处理(PN)建模概念的不同术语的比较。                                                                                                                                                                                                           
OES-PN Arena SIMUL8 SIMIO AnyLogic
处理对象
Processing Object
实体
Entity
工作项
Work Item

标记
Token

代理
Agent

条目节点
Entry Node

创建
Create

起点
Start Point

来源
Source

来源
Source

处理节点
Processing Node

处理
Process

队列+活动
Queue + Activity

服务器
Server

服务
Service

退出节点
Exit Node

处置
Dispose

终点
End Point

水槽
Sink

水槽
Sink

入口节点

入口节点由入口对象组成,该入口对象参与导致创建处理对象的外部到达事件处理对象被路由到后继节点或被推送到输出队列。 入口节点的定义组合定义(可能是空间的)入口对象和关联的隐式到达事件类型。 可以被建模为入口节点的对象的示例是:办公室/建筑物入口和邮件接收办公室。

基本功能

一个入口节点对象定义应该包括:

  1. 一个successorNode 属性槽,用于分配处理对象路由到的后继节点;
  2. 一个maxNmrOfArrivals 属性槽,用于定义最大到达事件数,之后不再创建更多到达事件(因此,模拟可能会用完未来事件);
  3. 或者
    1. 一个arrivalRate 属性槽,用于定义指数概率分布函数的事件率参数,用于计算两个连续到达事件之间的时间, 或者
    2. 一个arrivalRecurrence 用于计算到达事件重现的到达再现方法(通常是随机变量)。

如果既没有定义 arrivalRate 也没有定义 arrivalRecurrence 方法,则事件率为1的指数分布将用作默认重复。

入口节点具有内置(只读)统计属性nmrOfArrivedObjects ,用于计算到达给定入口节点的对象数。

高级功能

一个入口节点应该包括:

  1. 一个outputType 槽,用于定义自定义输出类型(而不是默认的pROCESSINGoBJECT输出类型);
  2. 一个onArrival 事件规则方法,用于定义特定状态更改或调度特定后续事件。

处理节点

处理节点由参与处理活动处理器对象组成(通过扮演actor的特殊资源角色)。 处理节点的定义组合了定义处理器对象(作为actor)和相关的隐式活动类型。 可以被建模为处理节点的对象的示例是:服务台,自动柜员机和制造机器。

基本功能

处理节点具有用于传入处理对象的输入队列。 处理节点的定义可以包括:

  1. 一个successorNode 属性,用于分配处理对象路由到的后继节点;
  2. 一个capacity 属性,用于将一次处理的处理对象的数量设置为大于1的数字,这是默认值;
  3. 或者
    1. 一个fixedDuration 属性,用于将节点处理活动的持续时间设置为固定值,或者
    2. 一个randomDuration 方法,用于将节点处理活动的持续时间的随机变化建模为随机变量。

如果既未定义fixedDuration 也没有定义randomDuration 方法,则具有可自定义的默认事件率1的指数分布将用作分配处理活动持续时间的默认随机变量。

由于它们是执行活动的参与者,因此会自动为所有处理节点计算利用率统计信息。

高级功能

一个处理节点定义应该包括:

  1. 一个inputType 槽,用于定义自定义输入类型,而不是默认的pROCESSINGoBJECT输入类型;
  2. 一个inputTypes 集合槽,用于在处理节点处理多种类型的输入时定义输入类型;
  3. 一个outputTypes 集合槽,用于在处理节点将输入转换为输出时定义输出类型;
  4. 一个onActivityStart 事件规则方法,用于定义特定状态更改或在启动处理活动时调度后续事件;
  5. 一个onActivityEnd 事件规则方法,用于定义特定状态更改或在处理活动结束时安排后续事件。

退出节点

退出节点由退出对象组成,该退出对象参与离开事件,从而导致从模拟中移除离开的处理对象。

基础功能

退出节点有两个内置统计信息属性:

  1. nmrOfDepartedObjects 计算在给定出口节点处离开的对象的数量,还有
  2. cumulativeTimeInSystem 用于在系统中累计所有离开的对象的时间。

高级功能

退出节点定义可以包括onDeparture事件规则方法,用于定义特定状态改变或在处理对象离开时调度后续事件。