将蒙特卡罗方法加速2000倍(Python代码实现) |
您所在的位置:网站首页 › 模拟器提速10倍的方法 › 将蒙特卡罗方法加速2000倍(Python代码实现) |
目录 0 绪论 1 概述 2. 方法 2.1 数学问题陈述 2.2 传统的蒙特卡诺 2.3 多层蒙特卡洛 2.4 测试模拟速度 3 实施时的考虑因素 3.1 联合样本空间 3.2 期望的直接评估 3.3 Python代码实现 4 综合系统充分性评估 4.1 模型 4.2 结果 0 绪论在电力系统规划和运行中,准确有效地估计不确定性下的系统性能是最重要的。蒙特卡洛模拟经常被用于这一目的,但收敛速度可能很慢,特别是在使用详细模型时。以前发表的加速计算的方法可能严重制约了模型的复杂性,限制了它们在现实世界的有效性。本文使用了最近提出的多级蒙特卡洛(MLMC)框架,该框架结合了一个层次的模拟器的输出,以提高计算效率而不牺牲准确性。它解释了MLMC框架对模型层次的要求,以及这些要求如何自然地出现在电力系统的充分性评估问题中。详细研究了两个充分性评估的例子:一个复合系统和一个具有异质存储单元的系统。介绍了一个直观的速度指标,以便于比较仿真设置。根据所关注的问题和指标,可以获得较大的速度提升。 1 概述电力系统领域的运行和规划问题经常涉及到对一系列概率模型情景下的(子)系统性能的评估。除了最简单的电力系统模型外,这无法通过分析来完成,而需要使用蒙特卡洛(MC)模拟。蒙特卡罗模拟是一种强大的通用计算方法,在电力系统应用中有着悠久的历史,但收敛到正确答案的速度可能很慢。有许多不同的减少方差的方法来加快蒙特卡罗估计的收敛。其中,重要性采样最近在电力系统应用中越来越受欢迎,特别是与使用交叉熵方法的模型偏置参数自动调整相结合。然而,实施重要性抽样通常需要对模型有深入的了解,并且限制了设计的自由度,例如对于涉及复杂决策或顺序行动的模拟。多层次蒙特卡洛(MLMC)方法是在计算金融的背景下引入的,目的是在不影响模型细节或准确性的情况下,加快样本路径的平均化速度[5]。最初的应用涉及到多分辨率模型(地理计量序列)的组合,但随后又发展出其他应用。对该方法及其应用的良好概述见。最近,MLMC方法被用于可靠性方面,以加快对大型系统平均任务时间的估计。使用MLMC估算了配电系统的风险指标,使用多尺度的方法来模拟部件的故障和维修。本文考虑了如何利用MLMC框架来加速风险计算,特别是在与复杂系统的系统充分性评估有关的应用中。这项工作的贡献如下: 1.给出了 MLMC 风险估计方法的简要概述。它显示了 MLMC 模拟所需的结构如何自然地出现在充分性评估问题中,并且通常可以通过对组成模型的最小更改来实现。给出了常见模型模式的两个示例。 2. 引入了一个直观的速度度量,允许在蒙特卡罗模拟方法之间以及跨风险度量进行公平比较。 3. 提出了两个案例研究,每个案例代表一种常见的模型模式。 MLMC 方法可实现大幅加速,在一种情况下,与传统的蒙特卡罗采样相比,模拟速度提高了 2000 倍。研究了计算速度对模型堆栈的敏感性。 2. 方法 2.1 数学问题陈述电力系统性能指标通常采用风险度量 q 的形式,表示为性能指标 X(随机变量)的期望 1,即q =E [ X] 。形式上,随机变量 X 可以被视为一个函数 X: Ω→R,它将数值结果与样本空间 Ω 中的每个系统状态 ω∈Ω 相关联。系统的概率行为以及 X 的概率行为是通过将概率与(组)状态相关联来定义的。在系统充足性评估的背景下,电力系统的概率行为通常使用定义需求水平、组件状态、发电机输出水平等的自下而上模型来指定。该模型生成样本空间 Ω(所有组件状态的可能组合)和相关的概率。函数 X 确定性地评估任何特定状态 ω∈Ω 并计算该状态的数值性能度量。风险度量 是函数 X 在所有状态下的(概率加权)平均值。即使对于中等复杂的系统,也不可能通过解析计算感兴趣的量 q =E [ X] ,也不能通过枚举 Ω 中的所有状态来计算。在这种情况下,通常采用蒙特卡罗模拟,其中电力系统状态
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |