主要内容

离散事件仿真中的队列和服务器概述

在一个simevents®模特,这实体队列实体服务器块是保持实体的存储块。

  • 根据队列策略队列订单实体并对其进行排序。

  • 服务器延迟实体,直到满足某些条件。

此示例模型表示生成实体的简单排队系统,并以指定的顺序排队它们以更改其属性,并终止它们以表示其离开线路。要了解有关基本排队系统的更多信息,请参阅模型基础排队系统

使用实体生成器,实体队列,实体服务器和实体终止器块的简单排队模型

用队列存储

在离散事件仿真中,一个实体队列块将实体存储在无法预先确定的时间长度。队列在可能时尝试输出实体,但其输出取决于下游块是否接受新实体。

排队模型。实体队列块突出显示。

队列的日常例子是等待商店注册的人。购物者无法预先确定他们必须等待完成购买的时间。

例如,队列可以表示以下行为:

  • 飞机等待进入跑道

  • 等待发送的消息

  • 零件等待在工厂组装

  • 等待执行的计算机程序

  • 等待在加油站排队的汽车

要定义队列的行为,请指定:

  • 容量 - 队列的实体数量可以同时存储。

  • 队列排序策略-如果队列存储多个实体,则指定最先离开的实体,如先进先出(FIFO)、后进先出(LIFO)或自定义优先级。

  • 覆盖策略 - 确定队列已满时的行为。您可以选择阻止新的传入实体或接受它以覆盖队列中最旧的实体。

有关队列行为的更多信息,请参阅模型基础排队系统

使用服务器存储

在离散事件仿真中,服务器将实体存储一段时间,称为服务时间,然后尝试输出实体。在服务期间,块是服务它存储的实体。

排队模型。实体服务器块突出显示。

服务器的一个日常例子是一个人(例如银行柜员或零售收银员),您可以使用预计持续时间执行交易。有关更多信息,请参阅模型基础排队系统

当实体到达时计算每个实体的服务时间。但是,如果下一个块不接受已完成其服务的实体的到达,则服务器被强制持续到更长的实体。

服务器的显着功能包括:

  • 它可以同时使用的实体数量可以是有限或无限的。

  • 计算的特征或计算方法,到达实体的服务时间。

  • 服务器是否允许将实体到达已存储在服务器中的抢占实体。有关更多信息,请参阅多任务处理器中的任务抢占

提示

在没有抢占的情况下,有限容量的服务器在已满时不接受新的到达。您可以在每个有限容量服务器之前放置队列,以便在等待服务器接受它们时,为实体建立一个位置。否则,等待实体可能会存储在模型中的各个位置,并且您的行为可能更难以预测或分析。

您可以使用服务器代表真实系统,例如:

  • 使用每个到达客户执行交易的人(如银行出纳员)

  • 处理和发送消息的发送器

  • 一台装配工厂零件的机器

  • 执行程序的计算机

  • 生产线应用中的处理单元

  • 网络应用程序中的处理器

在某些情况下,服务器不代表实际系统。共同的建模技术涉及持续时间零的延迟(即,服务时间为零的无限服务器),为实体提供驻留以操纵其属性的位置。

在排队系统中使用事件和事件操作

您可以使用事件和事件操作来操纵实体属性并在排队系统中创建自定义行为。有关事件操作的详细信息,请参阅事件和事件行动

假设您要在实体输入或退出时更改实体属性实体队列或者实体服务器堵塞。您可以使用诸如进入块(如块)(退出块)退出的操作,或者服务完成。有关更多信息,请参阅模型基础排队系统。您还可以使用事件操作来创建自定义实体路由模式。有关更多信息,请参阅使用队列事件操作对储罐进行建模

串行队列 - 服务器对

连接两个队列 - 服务器对串联可以表示实体的连续操作。例如,您可以模拟装配线上的部件如何按两台机器顺序处理。

排队模型。实体队列1和实体服务器1被称为进程1.实体队列2和实体服务器2被称为过程2。

或者,您可以通过在没有队列之间使用一对服务器来模拟相同的方案。

排队模型。Entity Server 1被称为进程1.实体服务器2被称为过程2。

但是,在没有队列的情况下,如果第一台服务器在实体上完成其服务,并且如果第二服务器可用于接受新实体:

  • 实体必须留在第一台服务器中过去的服务结束。

  • 直到第二个服务器可用,第一台服务器无法接受新实体。

如果您使用实体在存储中使用实体以体验两个不同的物理条件集的模型项,则连接两个队列可能很有用。例如,溢出一个存储区域必须留在另一个存储区域的其他库存项目,其中较少的受调节温度影响物品的长期质量。

将两个存储区域建模为不同的队列块,便于查看实体留在溢出存储区域中的平均时间长度。有关更多信息,请参阅模型基础排队系统

并行队列 - 服务器对作为替代方案

并行连接两个队列 - 服务器对,其中实体被路由到一个或另一个队列 - 服务器对,可以表示替代操作。例如,您可以模拟车辆如何在Toll Plaza的几个Tollbooths中排队等待。在这种情况下,模型必须具有决策逻辑,可能以前面的开关的形式。例如,看到根据优先级排序实体为高优先级客户提供服务

使用实体生成器,实体队列的简单队列系统。离开队列的实体涉及具有两个输出的实体输出交换机块。每个输出将实体指向队列服务器对。

并行连接两个队列 - 服务器对,其中每个实体的副本到达每个实体,可以表示多播方案,例如向多个收件人发送消息。请注意,在某些应用程序中,复制实体可能没有意义。例如,看到使用实体多播的广播实体

作者自定义存储块使用MATLAB离散事件系统离散事件图

如果要模拟更复杂的实体存储块并扩展SimEvents库提供的块的行为,请使用MATLAB离散事件系统离散事件图堵塞。

具有实体生成器块的模型,该模型将实体发送到通过使用MATLAB离散事件系统块的自定义块,并且之后终止实体

MATLAB离散事件系统块扩展系统对象以在模型中创建自定义SimEvents块。有关创作自定义SimEvents块的更多信息,请参阅使用MATLAB离散事件系统块创建自定义块

离散事件图块使用状态流®图表,并提供图形语言来在模型中创建自定义存储块。有关详细信息,请参阅从队列服务器刷新实体

表示可以刷新实体的队列服务器对的离散事件系统块

也可以看看

|

相关话题