来自系列:了解离散事件仿真
将坎贝尔,Mathworks
了解离散事件仿真的基础知识,并探索如何使用它在此Matlab中构建流程模型®威尔·坎贝尔的《Tech Talk》。离散事件模拟是描述动态系统的一种简单而通用的方法。它使用一系列瞬间发生的事件,或离散的事件。使用实体、队列、门和服务器等基本概念,您可以构建复杂的模型来探索延迟、利用率和瓶颈等基本问题。
今天我们将讨论离散事件模拟,这是描述动态系统的一种简单而通用的方法。模拟依赖于真实世界过程的模型来模拟依赖时间的行为。离散事件方法将一个过程建模为一系列瞬时事件或离散事件。在这些事件之间,系统近似为固定不变的。
我们可以通过开发一个电梯模型来说明这个概念。电梯由竖井、提升机构和轿厢组成,每个轿厢都有自己的一组子部件。我们必须决定在模型中包含哪些细节。知道按下汽车控制面板上的一个按钮会影响电路中的电流、电机的旋转和车门的位移,这很重要吗?我们需要一毫秒一毫秒地理解这些细节吗?也许吧。如果你正在使用模拟来设计电梯的微控制器软件,这些信息将是重要的。但如果手头的任务不同,如果我们想要确定电梯容纳客流的能力,那么建模毫秒级的行为可能就没有必要了。
所以,让我们把重点放在描述电梯行为的一系列事件上。我们从开门开始。任务完成后,乘客进入电梯并按下按钮。在那之后,门开始关闭,电梯开始移动。然后,汽车停在想要的楼层,车门打开,乘客下车,车门再次关闭。在这些事件之间,现实世界中的事物在不断变化。然而,离散事件模拟将忽略这些动力学,并将乘客近似为在没有经历事件时处于固定状态。事件之间的任何事情都是无关紧要的,这使模型保持简单,并使我们能够专注于对我们重要的信息:如运输时间、电梯利用率和乘客吞吐量。
我们可以通过绘制两个假设的输出来对比具有离散事件仿真的连续动态模拟。在这里,我们有三条线代表门的位置和汽车的重心。y轴上的任何值在连续表示中可以接受。但是,通过离散事件方法,Y轴将由离散状态组成,并且状态变化将对应于离散事件。在这种情况下,所有事件都会发生在不同的时间点,但没有任何禁止在单个实例发生多个事件的情况。仿真实际上只是一个在另一个之后执行的事件的计划,时间只是幕后追踪的伪像。思考这一点的另一种方法是将所有内容安排在活动日历上。有些日期将有多个事件,而其他日期则没有任何活动。
所以在这里,我们只有许多方法中的许多方法之一,即在视觉上表达一个电梯的离散事件模拟,其中一个是乘客体验的一个。乘客被建模为单独的单位或实体,穿过电梯系统。等待电梯的乘客被建模为坐在队列中的实体,这是一个型号组件,它在活动允许他们离开之前持有该实体。在这种情况下,电梯信号的到达,即乘客可以通过在模型中打开栅极来移动到下一步。一旦在电梯上,Transit通过称为服务器的内容进行建模。
服务器在规定的时间内保存实体,在我们的例子中,这是到达所需楼层所需的时间。
因此,对于实体,队列,盖茨和服务器等基本概念,离散事件模拟使我们能够探索一个过程的基本问题。在我们的情况下,我们可以使用模拟来回答乘客在电梯中花费的时间,电梯闲置的频率,以及哪个地板需求最多的使用。但有关系统延迟,资源利用率和瓶颈识别的问题,因此您可以凭借为银行柜员服务和通信网络流量多样化的离散事件模拟。我们可以进入这样的主题另一个时间,但现在,你有大局。
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。