基于蒙特卡洛的电力系统可靠性分析matlab仿真,对比EDNS和LOLP

news2024/11/15 13:21:37

目录

1.课题概述

2.系统仿真结果

3.核心程序与模型

4.系统原理简介


1.课题概述

        电力系统可靠性是指电力系统按可接受的质量标准和所需数量不间断地向电力用户供应电力和电能量的能力的量度,包括充裕度和安全性两个方面。发电系统可靠性是指统一并网的全部发电机组按可接受标准及期望数量满足电力系统的电力和电能量需求的能力的量度。发电系统可靠性指标可以分为确定性和概率性两类。过去曾广泛应用确定性可靠性指标来指导电力系统规划和运行,如百分数备用法和偶然故障备用法。目前已逐渐被概率性可靠性指标所代替。

       概率法常用的可靠性指标有:电力不足概率(Loss of Load Probability, LOLP)和期望缺供电量(Expected Demand Not Served, EDNS)是评估电力系统可靠性的两个重要指标。通过随机法和蒙特卡洛法分别对这两个指标进行仿真分析。

2.系统仿真结果

        从仿真可以看到,对于电力不足概率指标LOLP,LOLP值的可能性随着LOLP值得变大而下降,这是因为在模拟元件失效过程中,由于元件失效而导致的电力不足的可能性会出现,但是其大概率的电力不足出现概率较低,而小概率的电力不足情况出现概率较大。

        对于停电功率期望值指标EDNS,EDNS值发生可能性的随着EDNS值得变大而下降,即在实际过程中,随着元件失效而发生停电的期望值,其大概率的停电功率出现概率较低,而小概率的停电功率情况出现概率较大。

3.核心程序与模型

版本:MATLAB2022a

.....................................................................
    while (Flag == 1)
        TTT = TTT + 1;
        %断开选定的线路
        if TTT == 1
           BRANCHo(Cut_info,3:end) = 0;
           All_Del_Point= [All_Del_Point;Cut_info'];
        else
           %断开相邻的线路
           Inders1 = find(BRANCHo(:,1) == Cut_info(1));
           Inders2 = find(BRANCHo(:,1) == Cut_info(2));
           Inders3 = find(BRANCHo(:,2) == Cut_info(1));
           Inders4 = find(BRANCHo(:,2) == Cut_info(2));               
           Inders  = unique([Inders1;Inders2;Inders3;Inders4]);
           %随机选择
           tmpsss       = randperm(length(Inders));
           Inders_sel   = Inders(tmpsss(1));
           BRANCHo(Inders_sel,3:end) = 0;
           All_Del_Point= [All_Del_Point;Inders_sel];
        end
        %根据信息节点的Pdi和Pmi进行失去控制
        for i1 = 1:N-1
            P1 = rand(1);
            P2 = rand(1);
            if P1 <= Pdi(i1) | (P1 > Pdi(i1) & P2 <= Pmi) 
               %调度中心认为线路处理初始状态
               BRANCHo(i1,3:end) = 0;
               All_Del_Point= [All_Del_Point;i1];
            end    
        end
        %对此时的电器网络进行计算潮流
        Ak          = func_Admittance_matrix(BUSo,BRANCHo);
        F           = Ak * Pp;
        %判断是否越限
        for jjj = 1:length(F)
            if (abs(F(jjj))) <= (abs(Fmax(jjj)))
               %没有越限,则进行步骤5
               P = rand();
               if P <= PH
                  Flag = 1;%被选中,则继续步骤2,即重新循环
               else
                  Flag = 0;%未被选中,则继续步骤6,跳出循环
               end
            else
               %有越限,则进行步骤3 
               %先进行LP优化,这里使用PSO进行优化 
               [V_score2,PP] = func_pso_calculate_min(Bus_Num,15,Pp);
               %再计算潮流
               Ak          = func_Admittance_matrix(BUSo,BRANCHo);
               F           = Ak*(1+g)*PP;
               if sum(abs(F)) > sum(abs(Fmax))
                  Flag = 1;
               else
                   %没有越限,则进行步骤5
                   P = rand();
                   if P <= PH
                      Flag = 1;%被选中,则继续步骤2,即重新循环
                   else
                      Flag = 0;%未被选中,则继续步骤6,跳出循环
                   end
               end
            end
        end
    end
    All_Del_Point          = unique(All_Del_Point);
    LL                     = length(Fo);
    Fedns                  = zeros(LL,1);
    %对于断掉的点取1,其余取0.
    Fedns(All_Del_Point)   = 1;
    deltaP                 = abs(Fo-F);
    E1(m)                  = sum(Fedns.*deltaP)/LL;
    NUMSS(:,m)             = NUMS;
 
 
[cdf,PAPR] = ecdf(E1);
EDNS       = E1;

%%
figure;
semilogy(100*PAPR(1:end-5),1-cdf(1:end-5),'b-o','LineWidth',1);
xlabel('edns');
ylabel('The cumulative probability of failure probability');

if NUM_Delete == 1
   save attack41.mat PAPR cdf EDNS NUMSS
end
if NUM_Delete == 2
   save attack42.mat PAPR cdf EDNS NUMSS
end
02_027m

4.系统原理简介

       基于蒙特卡洛的仿真思想,并根据每次产生的随机数种子,进行随机的失效模拟,元件失效过程使用马尔科夫过程建模产生。首先随机模拟一个元件失效的情况,对一个元件失效以及对应的连锁故障情况进行仿真分析。然后随机模拟二个元件失效的情况,对二个元件失效以及对应的连锁故障情况进行仿真分析。而对于三个甚至更多元件失效的情况,本文不做考虑,这是因为当出现三个或者更多的元件失效的情况,整个电力系统网络基本会发生大规模崩溃的情况,在这种情况下做可靠性评估没有实际的价值,故不做这方面的研究。

        在本课题中,使用IEEE24-RTS电力网络系统作为案例进行分析

这里采用的仿真步骤如下:

       由于我们需要考虑随机断开一条线路或者两条线路的系统的稳定性分析,因此,我们主要通过随机循环的思想,每次循环随机的断开线路,然后分析断开这条线路对系统造成的影响进行仿真分析。

       一般情况下,对系统稳定性评估的分析方法主要是分析断开后故障网络的是否正常工作(即分析其是否崩溃)

        通常,当断开一条线路的时候,往往会由于该线路的断开而导致其他的线路的连锁故障,从而导致整个系统的影响,但是这种连锁的情况在概率统计中,并不是必然事件,而是随机事件,因此,这里我们设计如下的故障及稳定性分析方法:

        第一:首先随机的移除信息网络的信息节点,并计算对应的信息节点的传输信息时的延迟概率P。

        第二:随机的选择故障线路,并断开该线路,并更新响应的网络参数;

        第三:根据网络参数,通过直流法进行最优潮流的计算(DC OPF),并判断潮流是否存在越限,如果存在越限,则通过LP优化算法进行第四步操作,如果没有越限,则进行第五步操作。

        第四:当存在越限的时候,那么基于随机的概率,并采用轮盘赌算法选择随机跳开的线路,并进行再次转入步骤二的操作。

        第五:当不存在越限的时候,那么通过一个随机的小概率Ph选择需要跳开的线路,如果存在线路被选择,那么进入步骤二开始操作,否则进入步骤六。

        第六:本次蒙特卡洛循环结束,进入下一次循环。

5.完整工程文件

v

v

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1439054.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【RT-DETR有效改进】重参数化模块DiverseBranchBlock助力特征提取(附代码 + 修改教程)

&#x1f451;欢迎大家订阅本专栏&#xff0c;一起学习RT-DETR&#x1f451; 一、本文介绍 本文给大家带来的是改进机制是一种替换多元分支模块&#xff08;Diverse Branch Block&#xff09;&#xff0c;Diverse Branch Block (DBB) 是一种用于增强卷积神经网络性能的结构…

Vue前端框架--Vue工程项目问题总结{脚手架 Vue-cli}

Vue脚手架部署问题总结 我所遇到的一共两大问题 只有先执行npm install之后 才能run serve 否则会报错 vue-cli-serve不是内部或者外部的命令&#xff0c;也不是可运行的程序或者批处理文件的错误 1. 运行npm install会报错 2. 运行npm run serve报错 nodejs官网为 https://no…

算法之双指针系列1

目录 一&#xff1a;双指针的介绍 1&#xff1a;快慢指针 2&#xff1a;对撞指针 二&#xff1a;对撞指针例题讲述 一&#xff1a;双指针的介绍 在做题中常用两种指针&#xff0c;分别为对撞指针与快慢指针。 1&#xff1a;快慢指针 简称为龟兔赛跑算法&#xff0c;它的基…

Unity引擎学习笔记之【动画层操作】

动画层Animation Layer 一、动画器的三个基本状态 1. Any State&#xff08;任意状态&#xff09; “Any State”&#xff08;任意状态&#xff09;&#xff1a;这个状态可以用来连接多个状态机的任意状态转换。在动画控制器中&#xff0c;你可以使用“Any State”作为过渡条…

前端架构: 从vue-cli探究脚手架原理

从使用角度理解什么是脚手架 脚手架本质是一个操作系统的客户端 在终端中去执行一个命令&#xff0c;这个命令本身它就是一个客户端我们其实可以把脚手架理解为操作系统的一个客户端通过命令去执行它的时候&#xff0c;这个命令往往是这样的一个构造&#xff0c;如下 比如&…

CTFshow web(php命令执行 37-40)

?ceval($_GET[shy]);&shypassthru(cat flag.php); #逃逸过滤 ?cinclude%09$_GET[shy]?>&shyphp://filter/readconvert.base64-encode/resourceflag.php #文件包含 ?cinclude%0a$_GET[cmd]?>&cmdphp://filter/readconvert.base64-encode/…

npm 下载报错

报错信息 : 证书过期 (CERT_HAS_EXPIRED) D:\Apps\nodejs-v18.16.1\npx.cmd --yes create-next-app"latest" . --ts npm ERR! code CERT_HAS_EXPIRED npm ERR! errno CERT_HAS_EXPIRED npm ERR! request to https://registry.npm.taobao.org/create-next-app failed…

深入探索 Express.js 的高级特性

引言 Express.js 是一个基于 Node.js 平台的 Web 开发框架&#xff0c;旨在提供一种简单、易于使用的方式来创建 Web 应用程序。由于其灵活性和可扩展性&#xff0c;它已经成为了 Node.js 社区最受欢迎的框架之一。在本文中&#xff0c;我们将重点介绍 Express.js 的高级特性&…

157基于matlab的GVF-snake算法能自动收敛到目标区域

基于matlab的GVF-snake算法能自动收敛到目标区域。关键技术GVF snake模型算法matlab源程序&#xff0c;GVF是根据光流场原理,利用变分方法,从图像中得到的一种向量场,该向量场被称为梯度矢量流(GVF)场。 Snake模型称为动态轮廓模型&#xff08;Active Contour Model&#xff0…

【开源】JAVA+Vue+SpringBoot实现房屋出售出租系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 房屋销售模块2.2 房屋出租模块2.3 预定意向模块2.4 交易订单模块 三、系统展示四、核心代码4.1 查询房屋求租单4.2 查询卖家的房屋求购单4.3 出租意向预定4.4 出租单支付4.5 查询买家房屋销售交易单 五、免责说明 一、摘…

LeetCode1365之切披萨的方案数(相关话题:二维前缀和,动态规划)

题目描述 给你一个 rows x cols 大小的矩形披萨和一个整数 k &#xff0c;矩形包含两种字符&#xff1a; A &#xff08;表示苹果&#xff09;和 . &#xff08;表示空白格子&#xff09;。你需要切披萨 k-1 次&#xff0c;得到 k 块披萨并送给别人。 切披萨的每一刀&#xf…

Java并发基础:BlockingQueue和BlockingDeque接口的区别?

核心概念 BlockingQueue 和 BlockingDeque 它们都支持在并发编程中的线程安全操作&#xff0c;但是&#xff0c;这两个接口之间存在一些关键的区别&#xff0c;主要在于它们所支持的操作和数据结构的特性&#xff0c;如下&#xff1a; 1、数据结构特性&#xff1a; Blocking…

单选全选功能实现

单选框&#xff1a; // v-for"i in carStore.cartList" i 是购物车里的单类商品 <el-checkbox :model-value"i.selected" change"(selected)>singeCheck(i,selected)"/>全选框&#xff1a; <el-checkbox :model-value"carSto…

Sublime Text 3配置 Node.js 开发环境

《开发工具系列》 Sublime Text 3配置 Node.js 开发环境 一、引言二、主要内容2.1 初识 Sublime Text 32.2 初识 Node.js2.3 接入 Node.js2.3.1 下载并安装 Node.js2.3.2 环境变量配置 2.4 配置 Node.js 开发环境2.5 编写 Node.js 代码2.6 运行 Node.js 代码 三、总结 一、引言…

vue3:25—其他API

目录 1、shallowRef和shallowReactive 2、readonly与shallowReadonly readonly shallowReadonly 3、toRaw和markRaw toRaw markRaw 4、customRef 1、shallowRef和shallowReactive shallowRef 1.作用:创建一个响应式数据&#xff0c;但只对顶层属性进行响应式处理。2…

Java基于微信小程序的驾校报名小程序,附源码

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

Pytorch+NCCL源码编译

目录 环境1. 安装cudnn2. 使用pytorch自带NCCL库进行编译3. 修改NCCL源代码并重新编译后测试&#xff0c;体现出源码更改 环境 Ubuntu 22.04.3 LTS (GNU/Linux 5.15.0-91-generic x86_64)cuda 11.8 cudnn 8python 3.10torch V2.0.1 nccl 2.14.3NVIDIA GeForce RTX 4090 *2 1.…

汽车控制臂的拓扑优化

前言 本示例使用优化模块通过减小控制臂的体积同时最大化其刚度来优化汽车控制臂的设计。 本页讨论 前言应用描述Abaqus建模方法和仿真技术文件参考 应用描述 本例说明了汽车控制臂的拓扑优化&#xff0c;在拓扑优化过程中&#xff0c;修改设计区域中单元的材料特性(有效地从…

我的PyTorch模型比内存还大,怎么训练呀?

原文&#xff1a;我的PyTorch模型比内存还大&#xff0c;怎么训练呀&#xff1f; - 知乎 看了一篇比较老&#xff08;21年4月文章&#xff09;的不大可能训练优化方案&#xff0c;保存起来以后研究一下。 随着深度学习的飞速发展&#xff0c;模型越来越臃肿&#xff0c;哦不&a…

2. Maven 继承与聚合

目录 2. 2.1 继承 2.2继承关系 2.2.1 思路分析 2.2.2 实现 2.1.2 版本锁定 2.1.2.1 场景 2.1.2.2 介绍 2.1.2.3 实现 2.1.2.4 属性配置 2.2 聚合 2.2.1 介绍 2.2.2 实现 2.3 继承与聚合对比 maven1&#xff1a;分模块设计开发 2. 在项目分模块开发之后啊&#x…