来自系列:了解离散事件仿真
将坎贝尔,Mathworks
了解离散事件仿真如何帮助您解决此Matlab中的调度,资源分配和容量规划相关的问题®坎贝尔的技术谈话。由于他们的事件驱动性质,一些过程对离散事件模拟很好。在选择不太清楚的情况下,您可能由于在连续动态仿真中提供的计算优势而采用离散事件方法。但是,尽管如此,采用取决于您试图解决的问题。在此视频中,您将了解在离散事件模拟中需要建模的详细程度,以及什么级别对您的模型很重要。
离散事件模拟通过将其作为瞬时发生序列来分析动态系统的行为。让我们检查为什么他们对某些应用程序如此强大,以及为什么您可以在其他仿真技术上使用它们。由于他们的事件驱动性质,一些过程对离散事件模拟很好。在选择不太清楚的情况下,您可能由于在连续动态仿真中提供的计算优势而采用离散事件方法。然而,最终,采用将取决于您试图解决的问题。离散事件模拟通常用于回答有关调度,资源分配和容量规划的问题。
统计日乔治E. P. Box写道,“所有型号都是错误的,但有些是有用的。”了解您的模拟的目的决定了你如何近似系统。在许多情况下,离散事件仿真是模拟问题的直接方式,并获取所需数据。例如,如果您的任务是了解收银员数量如何影响杂货店的线路长度,则可能不会担心模拟每个条形码刷卡。如果要预测数据网络中的位下降率,则可能不关心每个单个晶体管的电压。这是这些应用程序,当资源管理等问题在播放时,低级细节变得无关紧要,并且离散事件模拟变得有用。让我们仔细看看。
考虑模拟飞机飞行的任务。一种方法是基于轨迹的仿真,其中模型努力跟踪飞机的位置。您可以在任何时间点运行此模拟,并恰恰通过所有飞行阶段进行车辆的纬度,经度和高度的历史。
但也许我们不关心一架飞机。也许我们希望在许多国家的数十家机场之间模拟整个飞机飞行。我们正在模拟的原因是我们希望了解天气和空中交通延误在全球范围内的一个区域影响舰队性能。如果这是目标,则唯一有关的信息是飞机正在做什么以及他们所在的地区。在每个时间点计算每种飞机的纬度,经度和高度是计算浪费的。我们根本不需要所有这些数据来获得我们正在寻求的答案。
所以相反,让我们只追踪飞机的飞行阶段。以这种方式建模使我们能够使用离散事件模拟,事件是飞行阶段之间的过渡。每个阶段所花费的时间由服务器表示,并且队列代表地面延迟和保持模式。通过简化事物,设计工程师开发模型的努力可以大大减少。此外,由于所执行的唯一计算是对每种飞机的飞行阶段的更新,模拟的计算开销大大减少。这意味着我们可以运行更多的模拟,为我们提供更彻底的系统在不同场景下的图片。这些模拟可以教我们的东西是什么?嗯,我们可以使用模拟结果来识别我们过程中的瓶颈,表征死锁条件,并在整个系统中获得清晰的延迟画面。这些信息使我们能够了解有关优化飞机舰队的性能的知识决策,或我们选择调查的任何其他系统。