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