理解离散事件模拟,第2部分:为什么使用离散事件模拟?
从系列中:理解离散事件模拟
了解离散事件模拟如何在此MATLAB中帮助您解决与调度、资源分配和容量规划相关的问题®Will Campbell的技术讲座。一些过程由于其事件驱动的性质而很适合离散事件模拟。在选择不太明确的情况下,您可以采用离散事件方法,因为它比连续动态模拟提供了计算优势。不过,最终,采用与否取决于您试图解决的问题。在本视频中,您将了解在离散事件模拟中需要建模的细节级别,以及什么细节级别对您的模型很重要。
离散事件模拟通过将动态系统近似为瞬时事件序列来分析动态系统的行为。让我们来研究一下为什么它们对某些应用程序如此强大,以及为什么您可能会使用它们而不是其他模拟技术。一些过程由于其事件驱动的性质而很适合离散事件模拟。在选择不太明确的情况下,您可以采用离散事件方法,因为它比连续动态模拟提供了计算优势。最终,采用与否取决于你想要解决什么问题。离散事件模拟通常用于回答有关调度、资源分配和容量规划的问题。
统计学家乔治·e·p·博克斯(George E. P. Box)写道:“所有的模型都是错误的,但有些是有用的。”理解模拟的目的决定了如何近似系统。在许多情况下,离散事件模拟是建模问题和获取所需数据的直接方法。例如,如果您的任务是了解收银员的数量如何影响杂货店的排队长度,那么您可能不会担心模拟每次条形码扫描。如果你想预测数据网络中的比特掉落率,你可能不会关心每个晶体管上的电压。正是这类应用,当资源管理等问题出现时,低级细节变得无关紧要,离散事件模拟变得有用。让我们仔细看看。
考虑模拟飞机飞行的任务。一种方法是基于轨迹的模拟,在这种模拟中,模型会努力跟踪飞机的位置。你可以在任何时间点运行这个模拟,并精确地知道飞行器在飞行各个阶段的纬度、经度和高度的历史。
但也许我们关心的不仅仅是一架飞机。也许我们想要模拟在许多国家的数十个机场之间飞行的整个机队。我们进行模拟的原因是我们想了解一个地区的天气和空中交通延误是如何影响全球机队性能的。如果这是目标,唯一相关的信息就是飞机在做什么以及它们在哪个区域。计算每一架飞机在每个时间点的纬度、经度和高度是计算上的浪费。我们根本不需要所有这些数据来得到我们想要的答案。
因此,我们只追踪飞机所处的飞行阶段。以这种方式建模使我们能够使用离散事件模拟,其中事件是飞行阶段之间的过渡。每个阶段花费的时间由服务器表示,队列表示地面延迟和等待模式。通过简化,设计工程师开发模型的工作可以大大减少。此外,模拟的计算开销大大降低,因为唯一执行的计算是对每架飞机的飞行阶段的更新。这意味着我们可以进行更多的模拟,为我们提供不同场景下系统的更全面的图像。这些模拟能教给我们什么呢?我们可以使用模拟结果来识别流程中的瓶颈,描述死锁条件,并获得整个系统延迟的清晰图像。这些信息使我们能够就优化机队或我们选择调查的任何其他系统的性能做出明智的决定。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。