跳转到内容

使用 AnyLogic 进行模拟/行人模拟/步骤 8. 添加售票窗口

来自维基教科书,开放世界的开放书籍

步骤 8. 添加售票窗口

[编辑 | 编辑源代码]

现在我们将通过添加售票窗口来扩展我们的模型。

修改模型动画

  1. 绘制代表售票窗口的线条,如下图所示。
  2. 将这些线条添加到新组中。将组命名为windowsGroup.
  3. 绘制代表售票窗口队列的多段线,如下图所示。
  4. 多段线的起点很重要,因为它代表队列的头部。将每个多段线的第一个点放置在相应的服务线附近。
  5. 将这些多段线添加到新组中。将组命名为windowsQueuesGroup.
  6. 移动lineBeforeGates向下一点

现在我们将修改模型流程图。

修改流程图

  1. 添加新对象并按如下所示连接它们
  2. 配置PedServices 对象。此对象将定义代表售票窗口的服务参数。此对象定义的服务可以由流程图对象PedServices引用。
    设置以下对象属性
    • 命名此对象windows.
    • 指定包含代表服务的线条的组。类型windowsGroup服务(线条组) 字段中。
    • 指定包含代表服务队列的多段线的组。类型windowsQueuesGroup队列(线条、多段线组) 字段中。
    • 指定服务时间。类型triangular(15*second(), 25*second(), 35*second())延迟 字段中(您可以使用代码辅助)。我们假设服务时间呈三角形分布,最小值为 15 秒,平均值为 25 秒,最大值为 35 秒。
    • 服务类型 更改为 延迟延迟 服务由一条线定义,行人应踏上该线以进行服务延迟时间。
  3. 配置PedSelectOutput 对象。我们需要它将未购票乘客引导至售票窗口,而其他乘客则直接前往票务控制门。PedSelectOutput 对象是行人库的决策块。到达 PedSelectOutput 对象的行人将沿着五个输出端口中的一个转发,具体取决于为这些端口指定的比率。
    设置以下对象属性
    • 指定前往票务控制门(几率 1)和售票窗口(几率 2)的流量比率。在此流程图中,我们假设实际购买了车票的乘客数量要多得多。
  4. 配置刚刚添加的PedService 对象。此流程图对象引用 PedServices 对象,该对象定义了代表地铁售票窗口的服务。
    设置以下对象属性
    • 指定定义行人将通过的服务的 PedServices 对象。类型windows(我们 PedServices 对象的名称)在 服务(PedServices) 字段中。

运行模型。请注意,现在一些乘客首先前往售票窗口购买车票,然后才能通过票务控制门。

华夏公益教科书