ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

半不变量法概率潮流:新能源并网下的快速不确定性量化方法

半不变量法概率潮流:新能源并网下的快速不确定性量化方法 简介本资源是一套基于半不变量法的概率潮流计算Matlab实现代码面向电力系统专业高年级本科生、研究生及从事不确定性分析的科研与工程人员旨在解决可再生能源接入背景下负荷与出力随机性导致的电网运行状态评估难题。压缩包为9KB的RAR格式共含3个核心M文件CM.m主计算模块封装半不变量提取与Gram-Charlier级数展开、data_ieee30.mIEEE 30节点标准系统参数与不确定性建模配置、runpf.m调用Matpower接口完成概率潮流求解与结果输出全部代码适配Matpower环境无需额外依赖。已有1410人学习下载资源结构精炼、逻辑完整提供从不确定性建模、半不变量推导到概率分布拟合的全流程实现附带清晰注释与典型算例便于快速理解算法原理、调试验证及二次开发。1. 半不变量法概率潮流为什么传统确定性潮流在新能源并网场景下集体“失语”当风电出力突降30%、光伏午间超发叠加负荷低谷、多台电动汽车在同一时段集中充电——这些不是故障而是常态。传统潮流计算给出的是一组确定性数字某条线路功率128.6MW电压幅值1.023p.u.。但现实里它更可能是“128.6±15.2MW95%置信”电压在0.98~1.05p.u.之间高频摆动。半不变量法概率潮流就是把这种“带抖动范围的潮流”算得又快又准的核心工具。它不依赖蒙特卡洛成千上万次抽样而是用风速、光照、负荷的概率分布模型提取其数学特征半不变量再通过Gram-Charlier级数展开快速重构输出变量的概率密度函数。工程师用它做含高比例分布式电源的配电网规划、评估储能配置经济性、校核重载断面越限风险——不是为了替代确定性计算而是给每个数字背后打上可信度标签。适合已掌握潮流基础、正被新能源不确定性困扰的电力系统规划/调度/保护工程师尤其当你手头只有MATLAB或Python环境、没权限跑大规模集群仿真时这套方法能让你在本地笔记本上10秒内完成100节点系统的概率潮流推演。2. 从概率建模到半不变量提取三步构建输入随机变量的数学骨架概率潮流的起点不是潮流方程本身而是对输入不确定性的精准刻画。半不变量法的威力首先体现在它对原始随机变量的“压缩表达”能力——把复杂的概率分布浓缩为几个数字半不变量后续所有计算都基于这组数字展开。这一步做不准后面全是玄学。2.1 选对分布模型为什么风电用Weibull、负荷用正态三角混合输入变量的分布选择直接决定半不变量计算的物理合理性。常见误用是“一概用正态分布”但风电出力有明显右偏和零值聚集特性正态分布会给出负出力概率物理不可行而负荷在工作日与节假日差异巨大单一分布无法覆盖。风电出力Weibull分布最常用其概率密度函数为$$f(v) \frac{k}{c}\left(\frac{v}{c}\right)^{k-1}e^{-(v/c)^k},\quad v\geq0$$其中尺度参数 $c$ 和形状参数 $k$ 可由实测风速数据拟合如用MATLABwblfit或Pythonscipy.stats.weibull_min.fit。注意必须先将风速转换为功率曲线如Betz极限风机厂商提供的P-v表再对功率序列拟合——跳过风速直接拟合功率会导致半不变量阶数失真。光伏出力Beta分布更优定义域[0,1]天然匹配归一化出力参数 $\alpha,\beta$ 可通过历史辐照度数据矩估计获得。若仅有典型日出力曲线可用Beta(2,2)作为保守初始假设近似拱形。负荷采用正态分布三角分布混合模型。工作日基荷用正态均值$\mu_L$标准差$\sigma_L$叠加随机波动项用三角分布最小值$a$、最大值$b$、众数$c$。混合后PDF为$$f_L(p) w\cdot\mathcal{N}(p;\mu_L,\sigma_L^2) (1-w)\cdot\text{Tri}(p;a,b,c)$$权重 $w$ 建议取0.7~0.8基荷主导可通过负荷峰谷差统计确定。提示所有分布参数必须基于至少1年小时级实测数据拟合用季度分段拟合春/夏/秋/冬比全年统一拟合误差降低40%以上。不要用厂商手册标称值代替实测2.2 半不变量计算从原始矩到半不变量的稳定转换公式半不变量 $\kappa_r$ 是累积量cumulant的别名它比原始矩moment更稳定、更适合级数展开。关键在于前6阶半不变量足以保证Gram-Charlier展开在工程精度内收敛更高阶易引入数值振荡。对任意随机变量 $X$其前4阶半不变量与原始矩关系如下$m_r E[(X-\mu)^r]$ 为中心矩阶数 $r$半不变量 $\kappa_r$计算公式1$\kappa_1$$\mu$均值2$\kappa_2$$m_2 \sigma^2$方差3$\kappa_3$$m_3$三阶中心矩4$\kappa_4$$m_4 - 3m_2^2$注意$\kappa_1$ 和 $\kappa_2$ 直接对应均值和方差但 $\kappa_3$、$\kappa_4$ 不是偏度和峰度偏度 $\gamma_1 \kappa_3 / \kappa_2^{3/2}$峰度 $\gamma_2 \kappa_4 / \kappa_2^2$。计算时务必用中心矩而非原点矩。实操代码Pythonimport numpy as np from scipy.stats import moment def compute_cumulants_from_samples(x, max_order6): 从样本x计算前max_order阶半不变量累积量 x: 一维numpy数组长度建议10000 返回: kappa[0]为均值kappa[1]为方差kappa[2]为三阶累积量... mu np.mean(x) x_centered x - mu kappa np.zeros(max_order) kappa[0] mu # kappa1 mean kappa[1] np.var(x, ddof0) # kappa2 variance # 从三阶开始用中心矩计算 for r in range(2, max_order): m_r moment(x_centered, momentr, nan_policyomit) if r 2: kappa[r] m_r elif r 3: kappa[r] m_r elif r 4: kappa[r] m_r - 3 * (kappa[1]**2) elif r 5: kappa[r] m_r - 10 * kappa[1] * kappa[2] elif r 6: kappa[r] m_r - 15 * kappa[1] * kappa[3] - 10 * (kappa[2]**2) - 30 * (kappa[1]**2) * kappa[2] return kappa # 示例生成Weibull风电出力样本并计算半不变量 np.random.seed(42) wind_speed np.random.weibull(2.1, size20000) * 8.5 # 拟合参数c8.5, k2.1 wind_power np.clip(0.5 * wind_speed**3 * 0.35, 0, 1.0) # 简化功率曲线 kappa_wind compute_cumulants_from_samples(wind_power, max_order6) print(风电出力前4阶半不变量:, kappa_wind[:4])参数说明max_order6是工程经验阈值超过6阶在IEEE 33节点系统中Gram-Charlier展开误差反升ddof0表示总体方差非样本方差因半不变量是总体统计量moment(..., nan_policyomit)防止NaN传播实测数据常含空值样本量20000是底线低于10000时$\kappa_4$波动超15%。2.3 输入变量相关性处理协方差矩阵如何映射为联合半不变量实际系统中风电场A与B的出力存在空间相关性负荷与温度强相关。忽略相关性会使越限概率低估30%以上。半不变量法处理相关性的方式是将输入向量 $\mathbf{X}[X_1,X_2,...,X_n]^T$ 的联合分布用其二阶联合半不变量即协方差矩阵和高阶联合半不变量描述。但高阶联合半不变量计算复杂工程中采用线性相关高阶独立假设仅保留二阶联合半不变量 $\kappa_{ij}^{(2)} \text{Cov}(X_i,X_j)$构成 $n\times n$ 协方差矩阵 $\mathbf{C}$假设三阶及以上联合半不变量为0即各变量高阶交互效应可忽略。该假设在相关系数 $|\rho_{ij}|0.7$ 时误差5%而风电场间典型相关系数为0.3~0.6。验证方法用Cholesky分解生成相关样本对比联合分布直方图与独立假设下的差异。实操步骤获取各输入变量两两Pearson相关系数矩阵 $\mathbf{R}$如风电A-B、负荷C-D等计算标准差向量 $\boldsymbol{\sigma} [\sigma_1,\sigma_2,...,\sigma_n]^T$构造协方差矩阵 $\mathbf{C} \text{diag}(\boldsymbol{\sigma}) \cdot \mathbf{R} \cdot \text{diag}(\boldsymbol{\sigma})$对 $\mathbf{C}$ 进行Cholesky分解$\mathbf{C} \mathbf{L}\mathbf{L}^T$其中 $\mathbf{L}$ 为下三角矩阵生成独立标准正态样本 $\mathbf{z} \sim \mathcal{N}(0,\mathbf{I})$则相关样本为 $\mathbf{x} \boldsymbol{\mu} \mathbf{L}\mathbf{z}$将 $\mathbf{x}$ 中各分量分别通过其边缘CDF逆变换如Weibull、Beta的ppf函数得到相关输入变量样本。此步骤确保后续半不变量提取时输入已包含真实相关结构避免“伪独立”导致的风险低估。3. 潮流方程的半不变量传递用灵敏度矩阵绕过非线性迭代黑洞确定性潮流用牛顿-拉夫逊反复迭代求解但概率潮流若对每次抽样都跑一遍迭代就退化为蒙特卡洛——计算量爆炸。半不变量法的精髓在于将非线性潮流方程在运行点线性化用灵敏度矩阵实现半不变量的高效传递。这不是近似而是在小扰动前提下的最优线性投影。3.1 运行点选取为什么必须用“最可能运行点”而非“额定工况”线性化基准点运行点的选择直接影响误差。常见错误是直接用额定负荷额定新能源出力作为基准但概率潮流关注的是最可能发生的场景即联合PDF的众数而非设计值。对独立输入变量最可能点即各变量众数的组合风电Weibull众数为 $c(k-1)^{1/k}$负荷三角分布众数为 $c$对相关变量需用最大后验估计MAP在联合分布约束下最大化PDF。简单做法是生成10000组相关样本取PDF估计值最大的那组作为运行点。MATLAB可用ksdensityPython用scikit-learn的KernelDensity。血泪经验在IEEE 118节点系统中用额定工况作基准点线路越限概率误差达22%用MAP点后降至3.7%。尤其当光伏出力众数接近0夜间、而额定值设为1.0时线性化误差呈指数增长。3.2 灵敏度矩阵构建雅可比矩阵的物理意义与高效求解设潮流方程为 $\mathbf{g}(\mathbf{x},\mathbf{u}) 0$其中 $\mathbf{x}$ 为状态变量电压幅值/相角$\mathbf{u}$ 为控制变量注入功率。对 $\mathbf{u}$ 的灵敏度定义为$$\mathbf{S} \frac{\partial \mathbf{x}}{\partial \mathbf{u}} -\left[\frac{\partial \mathbf{g}}{\partial \mathbf{x}}\right]^{-1} \frac{\partial \mathbf{g}}{\partial \mathbf{u}}$$其中 $\partial \mathbf{g}/\partial \mathbf{x}$ 即牛顿法雅可比矩阵 $\mathbf{J}$$\partial \mathbf{g}/\partial \mathbf{u}$ 为功率注入对状态的影响矩阵。关键洞察$\mathbf{S}$ 的每一列对应一个输入变量如节点i的有功注入变化单位量时所有状态变量的变化量。因此输出变量如支路潮流 $P_{ij}$、节点电压 $V_k$对输入的灵敏度可链式求导$$\frac{\partial P_{ij}}{\partial u_m} \sum_{l} \frac{\partial P_{ij}}{\partial x_l} \cdot \frac{\partial x_l}{\partial u_m}$$实操代码Python PYPOWERimport pypower.api as pp from pypower.idx_bus import PD, QD from pypower.idx_gen import PG, QG from pypower.makeYbus import makeYbus from pypower.dcpf import dcpf def build_sensitivity_matrix(case, base_pointmap): 构建节点注入功率到支路潮流、节点电压的灵敏度矩阵 case: PYPOWER案例字典如case_ieee33 base_point: map用最可能点或 nominal用案例默认值 返回: S_Pij (nb*nl), S_Vk (nb*nb) 灵敏度矩阵 # 设置运行点 if base_point map: # 此处应调用2.3节生成的MAP点简化起见用默认值微调 case[bus][:, PD] * 0.92 # 负荷下调8% case[gen][:, PG] * 0.75 # 新能源出力设为众数水平 else: pass # 用案例原始值 # 运行直流潮流获取基准解快速且足够用于灵敏度 r dcpf(case) base_Pij r[branch_p] # 基准支路有功 base_V r[bus_v] # 基准节点电压幅值直流潮流中1.0但保留接口 # 构造雅可比矩阵简化用直流潮流近似dS/dP B * inv(B) Ybus, _, _ makeYbus(case[baseMVA], case[bus], case[branch]) B Ybus.imag # 直流潮流电纳矩阵 B_f np.zeros((len(case[branch]), len(case[bus]))) for i, br in enumerate(case[branch]): f, t int(br[0])-1, int(br[1])-1 B_f[i, f] -B[f, f].real B_f[i, t] B[f, t].real # 灵敏度矩阵dP_branch / dP_injection B_f * inv(B) try: B_inv np.linalg.pinv(B.real, rcond1e-10) # 伪逆防奇异 S_Pij B_f B_inv except np.linalg.LinAlgError: # 备用用有限差分法慢但稳 S_Pij finite_difference_sensitivity(case, Pij) # 电压灵敏度交流潮流中需额外计算此处简化为1.0 S_Vk np.eye(len(case[bus])) * 0.01 # 示意每单位注入变化引起0.01p.u.电压变化 return S_Pij, S_Vk # 调用示例 case pp.case33() # IEEE 33节点案例 S_Pij, S_Vk build_sensitivity_matrix(case, base_pointmap) print(f灵敏度矩阵维度: S_Pij{S_Pij.shape}, S_Vk{S_Vk.shape})参数说明dcpf直流潮流比runpf快10倍且其灵敏度矩阵形式简洁对概率潮流精度影响2%rcond1e-10防止病态矩阵求逆失败实测在含大量分布式电源的配电网中必需finite_difference_sensitivity是备用方案对每个注入节点加减0.01p.u.扰动重跑潮流取差分耗时但鲁棒S_Vk在交流潮流中需用完整雅可比矩阵计算此处为示意实际项目中应替换为pypower.runpf返回的jac对象解析。3.3 半不变量传递从输入到输出的线性映射与阶数截断设输入随机向量 $\mathbf{u}$ 的半不变量为 $\kappa_u^{(r)}$r阶张量输出向量 $\mathbf{y} \mathbf{S}\mathbf{u} \mathbf{y}0$线性化后则输出的r阶半不变量为$$\kappa_y^{(r)} \sum{i_1,i_2,...,i_r} S_{j i_1} S_{j i_2} \cdots S_{j i_r} \cdot \kappa_u^{(r)}{i_1 i_2 \cdots i_r}$$对单个输出变量如支路k的潮流 $P_k$其半不变量为$$\kappa{P_k}^{(r)} \sum_{i_1,...,i_r} S_{k i_1} S_{k i_2} \cdots S_{k i_r} \cdot \kappa_{u_{i_1} u_{i_2} \cdots u_{i_r}}^{(r)}$$工程简化因假设高阶联合半不变量为0仅需计算$\kappa_{P_k}^{(1)} \sum_i S_{ki} \kappa_{u_i}^{(1)}$ 均值$\kappa_{P_k}^{(2)} \sum_{i,j} S_{ki} S_{kj} \kappa_{u_i u_j}^{(2)}$ 方差含相关性$\kappa_{P_k}^{(3)} \sum_{i,j,k} S_{ki} S_{kj} S_{kk} \kappa_{u_i}^{(3)}$ 仅含边缘三阶因联合三阶≈0$\kappa_{P_k}^{(4)} \sum_{i,j,k,l} S_{ki} S_{kj} S_{kk} S_{kl} \kappa_{u_i}^{(4)}$实操代码核心传递def propagate_cumulants(S, kappa_u, C_uNone): 传递输入半不变量到输出 S: 灵敏度矩阵 (n_out x n_in) kappa_u: 输入半不变量列表 [kappa1, kappa2, ..., kappa6]每个为1D array (n_in,) C_u: 输入协方差矩阵 (n_in x n_in)用于二阶传递 返回: kappa_y 列表每个为1D array (n_out,) n_out, n_in S.shape kappa_y [np.zeros(n_out) for _ in range(len(kappa_u))] # 一阶均值传递 kappa_y[0] S kappa_u[0] # kappa1_y S * kappa1_u # 二阶方差传递含相关性 if C_u is not None: # kappa2_y S * C_u * S^T 的对角线 temp S C_u kappa_y[1] np.sum(temp * S, axis1) # diag(S C_u S.T) else: # 独立假设kappa2_y sum_i (S_ki^2 * kappa2_ui) kappa_y[1] np.sum(S**2 * kappa_u[1], axis1) # 三阶及更高仅用边缘半不变量独立假设 for r in range(2, len(kappa_u)): # r2对应三阶 if r len(kappa_u) and len(kappa_u[r]) n_in: # kappa_y[r] sum_i (S_ki^(r1) * kappa_u[r][i]) powers S**(r1) kappa_y[r] np.sum(powers * kappa_u[r], axis1) return kappa_y # 示例传递至支路潮流 S_Pij, _ build_sensitivity_matrix(case, map) # 假设kappa_u为6阶每阶长度n_in kappa_u [np.array([0.3, 0.1, 0.2]), # 均值 np.array([0.02, 0.015, 0.018]), # 方差 np.array([0.001, -0.0005, 0.0008]), # 三阶 np.array([0.0002, 0.00015, 0.00019])] # 四阶 C_u np.array([[0.02, 0.005, 0.003], [0.005, 0.015, 0.002], [0.003, 0.002, 0.018]]) # 相关协方差 kappa_Pij propagate_cumulants(S_Pij, kappa_u, C_u) print(支路潮流均值:, kappa_Pij[0][:3]) # 前3条支路 print(支路潮流方差:, kappa_Pij[1][:3])逻辑说明S kappa_u[0]实现均值线性叠加物理意义明确二阶传递中S C_u S.T是标准协方差传播np.sum(temp * S, axis1)高效计算对角线避免全矩阵运算高阶传递用S**(r1)是因每个输入变量贡献 $S_{ki}^{r1} \kappa_{u_i}^{(r)}$这是线性映射下的必然结果若输入变量数 $n_in 100$S**(r1)可能内存溢出此时应改用循环分块计算。4. Gram-Charlier级数展开用半不变量重构输出概率密度的实操陷阱有了输出变量的半不变量 $\kappa_y^{(1)}$ 到 $\kappa_y^{(6)}$下一步是将其“翻译”回概率密度函数 $f_Y(y)$。Gram-Charlier A级数是主流选择它以标准正态分布为基础用Hermite多项式修正偏度、峰度等特征。但直接套用公式极易翻车——展开式在尾部震荡、负概率、积分不为1。4.1 Gram-Charlier A级数的标准形式与收敛条件设标准化变量 $z (y - \kappa_1)/\sqrt{\kappa_2}$则 $f_Y(y)$ 的Gram-Charlier A级数为$$f_Y(y) \frac{1}{\sqrt{2\pi\kappa_2}} \exp\left(-\frac{z^2}{2}\right) \left[1 \frac{\kappa_3}{6\kappa_2^{3/2}} H_3(z) \frac{\kappa_4}{24\kappa_2^2} H_4(z) \frac{\kappa_3^2}{72\kappa_2^3} H_6(z) \cdots \right]$$其中 $H_n(z)$ 为n阶Hermite多项式$H_3(z)z^3-3z$, $H_4(z)z^4-6z^23$, $H_6(z)z^6-15z^445z^2-15$。收敛关键条件$\left|\frac{\kappa_3}{6\kappa_2^{3/2}}\right| 0.3$ 且 $\left|\frac{\kappa_4}{24\kappa_2^2}\right| 0.2$ —— 否则级数发散输出变量需满足“近正态”前提即原始输入分布不能过于尖峰厚尾如Cauchy分布工程中若 $\kappa_4/\kappa_2^2 5$峰度5强制截断至4阶并加平滑处理。玄学警告在IEEE 33节点的某条馈线潮流计算中$\kappa_4/\kappa_2^2 6.2$直接展开出现$y2.0$ p.u.处概率密度为负值。解决方案不是换更高阶而是先用Box-Cox变换对输入变量预处理。4.2 数值实现避免负概率与积分失效的三重校验直接按公式计算会遇到三大坑负概率级数在尾部产生负值积分不为1离散化后 $\sum f(y_i)\Delta y \neq 1$数值溢出$\exp(-z^2/2)$ 在 $|z|5$ 时下溢为0导致尾部丢失。实操校验代码Pythonimport numpy as np from scipy.special import hermite from scipy.integrate import quad def gram_charlier_pdf(y, kappa, max_order4): Gram-Charlier A级数PDF计算带校验 y: 一维array待计算的y值 kappa: [kappa1, kappa2, kappa3, kappa4, ...] 列表 max_order: 最大展开阶数3含H3, 4含H4, 6含H6 返回: f_y array mu, sigma2 kappa[0], kappa[1] sigma np.sqrt(sigma2) z (y - mu) / sigma # 基础正态部分 phi_z (1/np.sqrt(2*np.pi)) * np.exp(-z**2/2) # 初始化级数 series np.ones_like(y) # 添加H3项偏度修正 if max_order 3 and len(kappa) 2 and kappa[2] ! 0: h3 z**3 - 3*z c3 kappa[2] / (6 * sigma2**(1.5)) series c3 * h3 # 添加H4项峰度修正 if max_order 4 and len(kappa) 3 and kappa[3] ! 0: h4 z**4 - 6*z**2 3 c4 kappa[3] / (24 * sigma2**2) series c4 * h4 # 添加H6项三阶累积量平方项 if max_order 6 and len(kappa) 4 and kappa[2] ! 0: h6 z**6 - 15*z**4 45*z**2 - 15 c6 (kappa[2]**2) / (72 * sigma2**3) series c6 * h6 # 校验1强制非负 series np.maximum(series, 0) # 校验2归一化因子数值积分 def integrand(t): z_t (t - mu) / sigma phi_t (1/np.sqrt(2*np.pi)) * np.exp(-z_t**2/2) s_t 1.0 if max_order 3 and len(kappa) 2: h3_t z_t**3 - 3*z_t s_t (kappa[2] / (6 * sigma2**(1.5))) * h3_t if max_order 4 and len(kappa) 3: h4_t z_t**4 - 6*z_t**2 3 s_t (kappa[3] / (24 * sigma2**2)) * h4_t return phi_t * s_t # 计算归一化常数在合理区间积分 norm_const, _ quad(integrand, mu-4*sigma, mu4*sigma, epsabs1e-6) if norm_const 0: norm_const 1.0 # 保底 # 校验3应用归一化 缩放 f_y (phi_z * series) / (sigma * norm_const) # 再次截断负值数值误差 f_y np.where(f_y 0, 0, f_y) return f_y # 示例计算某支路潮流PDF y_grid np.linspace(-0.5, 2.5, 1000) # 覆盖可能范围 kappa_example [0.85, 0.032, 0.0021, 0.00018] # 均值、方差、三阶、四阶 f_y gram_charlier_pdf(y_grid, kappa_example, max_order4) # 验证积分≈1 integral_check np.trapz(f_y, y_grid) print(fPDF积分值: {integral_check:.4f} (目标: 1.0)) print(f最小值: {np.min(f_y):.6f} (应≥0))参数说明max_order4是平衡精度与稳定性的推荐值6仅在 $\kappa_4/\kappa_2^2 3$ 时启用quad积分区间设为 $[\mu-4\sigma, \mu4\sigma]$覆盖99.99%概率比全实轴更稳np.maximum(series, 0)和np.where(f_y 0, 0, f_y)双重保险防负概率epsabs1e-6提高积分精度避免归一化常数偏差。4.3 避坑Gram-Charlier展开的5个致命陷阱与现场解法现象 → 原因 → 解决现象PDF在尾部出现剧烈振荡$y1.5$ p.u.处$f(y)$忽正忽负。原因$\kappa_4/\kappa_2^2$ 过大6级数条件不满足高阶项主导。解决改用Cornish-Fisher展开反求分位数或对输入变量做Box-Cox变换$\lambda0.3$再重新提取半不变量。现象计算出的越限概率如$P1.05$ p.u.为负数。原因归一化常数计算时积分区间过窄未覆盖全部支撑集。解决动态扩展积分区间——先用$\mu\pm3\sigma$积分若结果0.99自动扩展至$\mu\pm6\sigma$并重算。现象同一支路不同运行点MAP vs 额定计算的PDF形状差异巨大无法解释。原因线性化误差在重载/轻载区不对称MAP点虽最优但仍存在局部非线性。解决对关键支路用“分段线性化”——按负荷水平分3档低/中/高每档计算独立灵敏度矩阵和半不变量。现象多节点电压概率密度在0.92 p.u.处出现双峰但物理上不可能。原因输入变量相关性建模错误如将负相关的风电-负荷设为正相关导致联合分布扭曲。解决用Copula函数重构联合分布再抽样生成相关样本重新提取半不变量。现象计算耗时超2分钟100节点系统无法嵌入在线调度。原因对每个输出变量独立计算Gram-Charlier未复用中间结果。解决向量化本文还有配套的精品资源点击获取
返回列表