从系列:理解离散事件仿真
坎贝尔,MathWorks
学习离散事件模拟的基础知识,并探索如何使用它在这个MATLAB中构建过程模型®坎贝尔的技术谈话。离散事件仿真是一种简单而多才多艺的方式来描述动态系统。它使用一系列瞬时发生或离散事件。使用实体,队列,盖茨和服务器等基本概念,您可以构建复杂的模型以探索延迟,利用率和瓶颈等基本问题。
今天我们将谈论离散事件仿真,一种描述动态系统的简单而多才多艺的方式。仿真依赖于实现时间依赖行为的真实过程的模型。离散事件方法将过程模拟作为一系列瞬时发生或离散事件。在这些事件之间,系统近似为固定和不变。
我们可以通过开发电梯型号来说明这一概念。电梯由轴,提升机构和汽车组成。每个汽车都有自己的一组副组件。我们必须决定其中哪些细节包含在我们的模型中。知道如何按下汽车控制面板上的按钮会影响电路中的电流,电机旋转和门的位移的情况非常重要吗?我们需要毫秒地理解这些细节吗?也许。如果您使用模拟设计电梯的微控制器软件,这些信息将是重要的。但如果手头的任务是不同的,如果我们想确定电梯的容纳乘客流量的能力,那么建模毫秒级别行为可能是无需的。
因此,让我们专注于描述电梯行为的一系列事件。我们将从门口开始。一旦任务完成,乘客进入电梯并按下一个按钮。之后,门开始关闭,电梯开始移动。然后车停止在所需的地板上,门打开,乘客走出去,然后再次关闭。在这些事件之间,事情在现实世界中不断变化。然而,在不遇到事件时,离散事件模拟将忽略这些动态并将乘客近似于固定状态。事件之间的任何内容都是无关紧要的,这使模型简单,使我们能够专注于对我们重要的信息:像传输时间,电梯利用率和乘客吞吐量一样的信息。
我们可以通过绘制一个假设的输出集来对比连续动态模拟和离散事件模拟。这里我们有三条线代表车门的位置和汽车的重心。在连续表示中,Y轴上的任何值都可以接受。但是使用离散事件方法,Y轴将由离散状态组成,状态变化将对应于离散事件。在这种情况下,所有事件都发生在不同的时间点,但没有什么可以阻止多个事件在一个实例中发生。这个模拟实际上只是一个事件一个接一个执行的时间表,时间只是一个在幕后被跟踪的工件。考虑这个问题的另一种方法是将所有事情安排到事件日历上。一些日期将有多个事件,而另一些将没有任何活动。
所以这里我们有很多方法来直观地表达电梯的离散事件模拟,一个以乘客体验为中心的方法。乘客被建模为在电梯系统中移动的单个单元或实体。等待电梯的乘客被建模为排队的实体,这个模型组件保存着这些实体,直到一个事件允许他们离开。在这种情况下,电梯的到来意味着乘客可以通过打开模型中的一扇门进入下一步。一旦进入电梯,交通系统就会被称为服务器。
服务器将实体保存为规定的时间量,在我们的情况下是到达所需楼层所需的时间。
因此,通过实体、队列、门和服务器等基本概念,离散事件模拟使我们能够探索有关流程的基本问题。在我们的案例中,我们可以使用模拟来回答乘客在电梯里停留的时间有多长,电梯闲置的频率有多高,以及哪些楼层的使用率最高。但是关于系统延迟、资源利用和瓶颈识别的问题是如此普遍,以至于您会发现离散事件模拟应用于各种各样的问题,如银行出纳员服务和通信网络流量。我们可以下次再深入探讨这些话题,但现在,你已经了解了大局。
你也可以从以下列表中选择一个网站:
请选择表现最佳的中国网站(中文或英文)。MathWorks的其他国家网站并没有针对您所在位置的访问进行优化。