使用 AnyLogic 进行模拟/行人模拟/步骤 8. 添加售票窗口
外观
< 使用 AnyLogic 进行模拟 | 行人模拟
现在我们将通过添加售票窗口来扩展我们的模型。
- 绘制代表售票窗口的线条,如下图所示。
- 将这些线条添加到新组中。将组命名为windowsGroup.
- 绘制代表售票窗口队列的多段线,如下图所示。
- 多段线的起点很重要,因为它代表队列的头部。将每个多段线的第一个点放置在相应的服务线附近。
- 将这些多段线添加到新组中。将组命名为windowsQueuesGroup.
- 移动lineBeforeGates向下一点
现在我们将修改模型流程图。
- 添加新对象并按如下所示连接它们
- 配置PedServices 对象。此对象将定义代表售票窗口的服务参数。此对象定义的服务可以由流程图对象PedServices引用。
设置以下对象属性
- 命名此对象windows.
- 指定包含代表服务的线条的组。类型windowsGroup在 服务(线条组) 字段中。
- 指定包含代表服务队列的多段线的组。类型windowsQueuesGroup在 队列(线条、多段线组) 字段中。
- 指定服务时间。类型triangular(15*second(), 25*second(), 35*second())在 延迟 字段中(您可以使用代码辅助)。我们假设服务时间呈三角形分布,最小值为 15 秒,平均值为 25 秒,最大值为 35 秒。
- 将 服务类型 更改为 延迟。延迟 服务由一条线定义,行人应踏上该线以进行服务延迟时间。
- 配置PedSelectOutput 对象。我们需要它将未购票乘客引导至售票窗口,而其他乘客则直接前往票务控制门。PedSelectOutput 对象是行人库的决策块。到达 PedSelectOutput 对象的行人将沿着五个输出端口中的一个转发,具体取决于为这些端口指定的比率。
设置以下对象属性
- 指定前往票务控制门(几率 1)和售票窗口(几率 2)的流量比率。在此流程图中,我们假设实际购买了车票的乘客数量要多得多。
- 配置刚刚添加的PedService 对象。此流程图对象引用 PedServices 对象,该对象定义了代表地铁售票窗口的服务。
设置以下对象属性
- 指定定义行人将通过的服务的 PedServices 对象。类型windows(我们 PedServices 对象的名称)在 服务(PedServices) 字段中。
运行模型。请注意,现在一些乘客首先前往售票窗口购买车票,然后才能通过票务控制门。