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