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