2024“电工杯”数学建模A题《园区微电网风光储协调优化配置》思路和代码分享

A 题:园区微电网风光储协调优化配置

        这个题目整体就是一个优化问题,可以采用Matlab+Yalmip+Gurobi求解器进行求解,持续更新中,敬请关注!!

        园区微电网由风光发电和主电网联合为负荷供电,为了尽量提高风光电量的负荷占比,需配置较高比例的风光发电装机容量,但由于园区负荷与风光发电功率时序不匹配,可能导致弃电问题。配置储能可缓解负荷与风光的时序不匹配问题,减少弃电。考虑到电化学储能成本不菲,配置储能需要考虑投资及其收益。
        设有三个园区微电网各自独立接入主电网,各园区风光装机容量、最大负荷参数如图 1 所示。
        简便起见,设各园区典型日负荷曲线如图 2 所示(数据见附件 1),风电光伏发电归一化数据见附件 2
        配置储能为磷酸铁锂电池,功率单价 800 /kW ,能量单价 1800 /kWh,SOC 允许范围 10%-90% ,充 / 放电效率 95% ,运行寿命按 10 年计。
        运行规则:各园区可再生能源发电优先供给本区域负荷,不足部分从主电网购电,网购电价格为 1 /kWh ;多余电量不允许向主电网出售(弃风、弃光)。
        分别考虑各园区独立运营配置储能、联合运营配置储能、风光储协调配置三种场景,试分析如下问题。

问题 1:各园区独立运营储能配置方案及其经济性分析

        系统结构如图 1 所示。以典型日风光发电功率为依据,设园区从风电、光伏的购电成本分别为 0.5 /kWh 0.4 /kWh
1)分析未配置储能时各园区运行的经济性,包括:购电量、弃风弃光电量、总供电成本和单位电量平均供电成本,并分析影响其经济性的关键因素;

问题1-1分析:

        这一问就是简单的数学计算,直接给出matlab代码:

%% 问题1-1
clc
clear
close all%% 1.读取数据
data1 = xlsread('附件1:各园区典型日负荷数据.xlsx');
data2 = xlsread('附件2:各园区典型日风光发电数据.xlsx');Pload = data1(:,2:4);                               % 各园区负荷数据
Ppv0 = [750,0,600];                                 % 各园区光伏装机容量
Pwt0 = [0,1000,500];                                % 各园区风电装机
Ppv = [data2(:,2),zeros(24,1),data2(:,4)].*Ppv0;    % 各园区光伏时序出力
Pwt = [zeros(24,1),data2(:,3),data2(:,5)].*Pwt0;    % 各园区风电时序出力
price_buy = 1;                                      % 主网购电价格为1元/kWh
price_pv = 0.4;                                     % 光伏购电价格为0.4元/kWh
price_wt = 0.5;                                     % 风电购电价格为0.5元/kWh%% 2.经济性分析
Pdiff = Pload - (Ppv + Pwt);                        % 各园区的功率差额
Pbuy = zeros(24,3);                                 % 各园区的购电量
Pbuy(Pdiff >= 0) = Pdiff(Pdiff >= 0);               % 负荷大于风光发电需要向主网购电
Ploss = zeros(24,3);                                % 各园区的弃风弃光
Ploss(Pdiff < 0) = -Pdiff(Pdiff < 0);               % 负荷小于风光发电则发生弃风弃光
C_buy = sum(Pbuy)*price_buy;                        % 向电网购电成本
C_pv = sum(Ppv)*price_pv;                           % 向光伏购电成本
C_wt = sum(Pwt)*price_wt;                           % 向风电购电成本
C_total = C_buy + C_pv + C_wt;                      % 各园区总供电成本
dC = C_total./sum(Pload);                           % 各园区单位电量平均供电成本%% 3.输出结果
disp(['A园区的总购电量为:',num2str(sum(Pbuy(:,1))), 'kW,总弃风弃光量为:',num2str(sum(Ploss(:,1))), 'kW,总供电成本为:',num2str(C_total(1)), '元,单位电量平均供电成本:',num2str(dC(1)), '元/kWh'])
disp(['B园区的总购电量为:',num2str(sum(Pbuy(:,2))), 'kW,总弃风弃光量为:',num2str(sum(Ploss(:,2))), 'kW,总供电成本为:',num2str(C_total(2)), '元,单位电量平均供电成本:',num2str(dC(2)), '元/kWh'])
disp(['C园区的总购电量为:',num2str(sum(Pbuy(:,3))), 'kW,总弃风弃光量为:',num2str(sum(Ploss(:,3))), 'kW,总供电成本为:',num2str(C_total(3)), '元,单位电量平均供电成本:',num2str(dC(3)), '元/kWh'])%% 4.画图分析
figure
bar(Pbuy(:,1))
hold on
bar(-Ploss(:,1))
plot(Pload(:,1),'k-','linewidth',2)
plot(Ppv(:,1),'k:','linewidth',2)
xlabel('时间/h')
ylabel('功率/kW')
legend('向电网购电量','弃光量','负荷曲线','光伏出力曲线')
title('A园区功率平衡分析')figure
bar(Pbuy(:,2))
hold on
bar(-Ploss(:,2))
plot(Pload(:,2),'k-','linewidth',2)
plot(Pwt(:,2),'k:','linewidth',2)
xlabel('时间/h')
ylabel('功率/kW')
legend('向电网购电量','弃风量','负荷曲线','风电出力曲线')
title('B园区功率平衡分析')figure
bar(Pbuy(:,3))
hold on
bar(-Ploss(:,3))
plot(Pload(:,3),'k--','linewidth',2)
plot(Ppv(:,3),'k:','linewidth',2)
plot(Pwt(:,3),'k-','linewidth',2)
xlabel('时间/h')
ylabel('功率/kW')
legend('向电网购电量','弃风量','负荷曲线','光伏出力曲线','风电出力曲线')
title('C园区功率平衡分析')

运行结果为:

2 )各园区分别配置 50kW/100kWh 储能,制定储能最优运行策略及购电计划,分析各园区运行经济性是否改善,并解释其原因;

问题1-2分析:

        这一问涉及到储能的运行策略优化,需要对其进行数学建模,得到优化结果,具体方法可以参考我之前的博客:
储能运行约束的Matlab建模方法-CSDN博客
需要注意,题中并未给出储能的初始容量,我们假设其初始SOC为0.5,还需要将储能的功率和容量费用从10年折算到典型日,假设折现率为0.1,总费用为C0,折算到典型日的费用为:
C=\frac{\gamma(1+\gamma)^T}{(1+\gamma)^T-1}C_0
这里直接给出经济性分析结果,代码可在博客最后获取。
显然,和1-1问相比,购电量,弃风弃光量,供电成本都有所下降,储能的作用明显。
3 )假设风光荷功率波动特性保持上述条件不变,你认为 50kW/100kWh 的方案是否最优?若是,请给出分析依据;若不是,请制定各园区最优的储能功率、容量配置方案,论证所制定方案的优越性。

问题1-3分析:

        这一问涉及到储能的运行策略优化和储能的最优配置策略,需要对其进行数学建模,得到优化结果。和1-2问主要的区别就是需要将储能的额定容量和额定功率从常量设置为变量。
        这里直接给出经济性分析结果,代码可在博客最后获取。

问题 2:联合园区储能配置方案及其经济性分析

        三个园区独立运营时,各园区独立实现发电(风光发电、网购电)与负荷均衡。若三个园区总发电与总负荷相均衡,形成联合运营园区,系统结构如图 3 所示。以典型日风光发电和负荷功率为依据,设园区从风电、光伏的购电成本分别为 0.5 /kWh 0.4 /kWh ,试分析以下问题。
1)若未配置储能,分析联合园区运行经济性,包括:联合园区的总购电量、总弃风弃光电量、总供电成本和单位电量平均供电成本;

问题2-1分析:

        这一问和问题1-1一样,就是简单的数学计算,直接给出matlab代码:

%% 问题2-1
clc
clear
close all%% 1.读取数据
data1 = xlsread('附件1:各园区典型日负荷数据.xlsx');
data2 = xlsread('附件2:各园区典型日风光发电数据.xlsx');Pload = data1(:,2:4);                               % 各园区负荷数据
Ppv0 = [750,0,600];                                 % 各园区光伏装机容量
Pwt0 = [0,1000,500];                                % 各园区风电装机
Ppv = [data2(:,2),zeros(24,1),data2(:,4)].*Ppv0;    % 各园区光伏时序出力
Pwt = [zeros(24,1),data2(:,3),data2(:,5)].*Pwt0;    % 各园区风电时序出力
Pload = sum(Pload,2);                               % 联合园区负荷数据
Ppv = sum(Ppv,2);                                   % 联合园区光伏时序出力
Pwt = sum(Pwt,2);                                   % 联合园区风电时序出力
price_buy = 1;                                      % 主网购电价格为1元/kWh
price_pv = 0.4;                                     % 光伏购电价格为0.4元/kWh
price_wt = 0.5;                                     % 风电购电价格为0.5元/kWh%% 2.经济性分析
Pdiff = Pload - (Ppv + Pwt);                        % 各园区的功率差额
Pbuy = zeros(24,1);                                 % 各园区的购电量
Pbuy(Pdiff >= 0) = Pdiff(Pdiff >= 0);               % 负荷大于风光发电需要向主网购电
Ploss = zeros(24,1);                                % 各园区的弃风弃光
Ploss(Pdiff < 0) = -Pdiff(Pdiff < 0);               % 负荷小于风光发电则发生弃风弃光
C_buy = sum(Pbuy)*price_buy;                        % 向电网购电成本
C_pv = sum(Ppv)*price_pv;                           % 向光伏购电成本
C_wt = sum(Pwt)*price_wt;                           % 向风电购电成本
C_total = C_buy + C_pv + C_wt;                      % 各园区总供电成本
dC = C_total./sum(Pload);                           % 各园区单位电量平均供电成本%% 3.输出结果
disp(['联合园区的总购电量为:',num2str(sum(Pbuy)), 'kW,总弃风弃光量为:',num2str(sum(Ploss)), 'kW,总供电成本为:',num2str(C_total), '元,单位电量平均供电成本:',num2str(dC), '元/kWh'])%% 4.画图分析
figure
bar(Pbuy)
hold on
bar(-Ploss)
plot(Pload,'k-','linewidth',2)
plot(Ppv,'k:','linewidth',2)
plot(Pwt,'k:','linewidth',2)
xlabel('时间/h')
ylabel('功率/kW')
legend('向电网购电量','弃光量','负荷曲线','光伏出力曲线','风电出力曲线')
title('联合园区功率平衡分析')

运行结果为:

2)假设风光荷功率波动特性保持上述条件不变,制定联合园区的总储能最优配置方案,给出储能运行策略及购电计划,分析其经济性;

问题2-2分析:

        这一问和问题1-3类似,涉及到储能的运行策略优化和储能的最优配置策略,需要对其进行数学建模,得到优化结果。
        这里直接给出经济性分析结果,代码可在博客最后获取。

3)与各园区独立运营相比,园区联合运营有何经济收益,试分析导致经济收益改变的主要因素。

问题2-3分析:

        这一问结合2-1与2-2的结果,进行定性和定量分析即可。

问题 3:园区风、光、储能的协调配置方案及其经济性分析

        如果园区经理委托你制定园区未来的风光储协调配置方案,并给出方案经济性分析论证报告。
        制定配置方案的条件:三个园区的最大负荷增长 50%,且负荷波动特性不变,风电、光伏电源的配置成本分别为 3000 /kW 2500 /kW ,投资回报期按 5 年考虑。
1 )分别按各园区独立运营、联合运营制定风光储协调配置方案;
2 )按附件 3 给出的全年 12 个月典型日风光发电功率数据,网购电采用如表 1 所示分时电价,制定各园区独立运营的风光储协调配置方案。

完整代码获取:

2024年电工杯A题:园区微电网风光储协调优化配置matlab代码-CSDN文库

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Docker】Linux 系统(CentOS 7)安装 Docker

文章目录 对 VMware 软件的建议官方说明文档Docker安装卸载旧版本docker设置仓库开始安装 docker 引擎最新版 Docker 安装指定版本 Docker 安装&#xff08;特殊需求使用&#xff09; 启动 Docker查看 Docker 版本查看 Docker 镜像设置 Docker 开机自启动 验证开机启动是否生效…

牛皮!亚信安全《2024国家级攻防演练100+必修高危漏洞合集》.pdf

上次分享了2023攻防演练高危漏洞&#xff0c;获得了很多粉丝的好评。 今天再分享一份由亚信安全服务团队结合自身的“外部攻击面管理”服务能力和专业的红队能力&#xff0c;最新发布的《2024攻防演练必修高危漏洞合集》&#xff0c;一共108页&#xff0c;非常详细&#xff0c…

windows、mac、linux中node版本的切换(nvm管理工具),解决项目兼容问题 node版本管理、国内npm源镜像切换

文章目录 在工作中&#xff0c;我们可能同时在进行2个或者多个不同的项目开发&#xff0c;每个项目的需求不同&#xff0c;进而不同项目必须依赖不同版本的NodeJS运行环境&#xff0c;这种情况下&#xff0c;对于维护多个版本的node将会是一件非常麻烦的事情&#xff0c;nvm就是…

014_C标准库函数之<stdio.h>

【背景】 今天这个主要说的是<stdio.h>头文件&#xff0c;大家众所周知&#xff0c;这个是我们学习C语言时第一个接触到的头文件了&#xff0c;那么为什么我不一开始就介绍这个头文件呢&#xff1f;我觉得有两个原因&#xff0c;如下&#xff1a; 1.一开始大家的编程思…

spring boot整合j2cache 关闭二级缓存

我们整合了 j2cache 的项目启动 日志会输出 一级缓存 二级缓存 一级是 EhCacheProvider 二级是 SpringRedisProvider 如果 我们不想用二级缓存 在 j2cache.properties 中 加上 j2cache.12-cache-open配置 值为 true/false true是启用二级缓存 false 是不起用 默认 true 所以 …

其它高阶数据结构⑦_Skiplist跳表_概念+实现+对比

目录 1. Skiplist跳表的概念 2. Skiplist跳表的效率 3. Skiplist跳表的实现 3.1 力扣1206. 设计跳表 3.2 Skiplist的初始化和查找 3.3 Skiplist的增加和删除 3.4 Skiplist的源码和OJ测试 4. 跳表和平衡搜索树/哈希表的对比 本篇完。 1. Skiplist跳表的概念 skiplist是…

AWTK实现汽车仪表Cluster/DashBoard嵌入式GUI开发(七):快启

前言: 汽车仪表是人们了解汽车状况的窗口,而仪表中的大部分信息都是以指示灯形式显示给驾驶者。仪表指示灯图案都较为抽象,对驾驶不熟悉的人在理解仪表指示灯含义方面存在不同程度的困难,尤其对于驾驶新手,如果对指示灯的含义不求甚解,有可能影响驾驶的安全性。即使是对…

人工智能应用-实验8-用生成对抗网络生成数字图像

文章目录 &#x1f9e1;&#x1f9e1;实验内容&#x1f9e1;&#x1f9e1;&#x1f9e1;&#x1f9e1;代码&#x1f9e1;&#x1f9e1;&#x1f9e1;&#x1f9e1;分析结果&#x1f9e1;&#x1f9e1;&#x1f9e1;&#x1f9e1;实验总结&#x1f9e1;&#x1f9e1; &#x1f9…

YOLOv10论文解读:实时端到端的目标检测模型

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

C#【进阶】特殊语法

特殊语法、值和引用类型 特殊语法 文章目录 特殊语法1、var隐式类型2、设置对象初始值3、设置集合初始值4、匿名类型5、可空类型6、空合并操作符7、内插字符串8、单句逻辑简略写法 值和引用类型1、判断值和引用类型2、语句块3、变量的生命周期4、结构体中的值和引用5、类中的值…

C++笔试强训day32

目录 1.素数回文 2.活动安排 3.合唱团 1.素数回文 链接https://www.nowcoder.com/practice/d638855898fb4d22bc0ae9314fed956f?tpId290&tqId39945&ru/exam/oj 现将其转化为回文数&#xff08;这里用字符串存储比较方便转化&#xff09;&#xff0c;然后判断是否为…

ASP.NET Core Identity框架介绍与使用

1 ASP.NET Core Identity框架 Identity &#xff08;标识&#xff09;框架&#xff1a;采用的是基于角色的访问控制策略&#xff08;Role-Based-Controll-Access&#xff09;&#xff0c;内置了对用户、角色等表的管理以及相关的接口&#xff0c;支持外部登录、2FA等。 Identit…

构建数字未来:探索Web3在物联网中的新视角

引言 随着Web3时代的来临&#xff0c;物联网技术正迎来一场新的变革。在这个数字化时代&#xff0c;Web3所带来的技术创新将为物联网的发展开辟新的视角。本文将深入探讨Web3在物联网领域的应用&#xff0c;揭示其在构建数字未来中的重要性和影响。 Web3与物联网的融合 区块链…

Golang项目代码组织架构实践

Golang在项目结构上没有强制性规范&#xff0c;虽然这给了开发者很大的自由度&#xff0c;但也需要自己沉淀一套可行的架构。本文介绍了一种项目布局&#xff0c;可以以此为参考设计适合自己的 Golang 项目组织模式。原文: Golang Project Layout Go 有很多强制的或是约定俗成的…

如何运用多媒体,打造企业实力展示厅?

企业文化、产品是其长期发展的根本所在&#xff0c;为此越来越多的企业开始选择运用多媒体互动&#xff0c;来打造企业多媒体展厅的方式&#xff0c;对企业文化、品牌形象、产品进行推广宣传&#xff0c;并在多媒体互动装置的支持下&#xff0c;能让客户能够快速且全面的了解企…

【设计模式】JAVA Design Patterns——Converter(转换器模式)

&#x1f50d;目的 转换器模式的目的是提供相应类型之间双向转换的通用方法&#xff0c;允许进行干净的实现&#xff0c;而类型之间无需相互了解。此外&#xff0c;Converter模式引入了双向集合映射&#xff0c;从而将样板代码减少到最少 &#x1f50d;解释 真实世界例子 在真实…

cocos 写 连连看 小游戏主要逻辑(Ts编写)算法总结

cocos官方文档&#xff1a;节点系统事件 | Cocos Creator 游戏界面展示 一、在cocos编译器随便画个页面 展示页面 二、连连看元素生成 2.1、准备单个方块元素&#xff0c;我这里就是直接使用一张图片&#xff0c;图片大小为100x100&#xff0c;锚点为&#xff08;0&#xff0…

【Linux-驱动开发】

Linux-驱动开发 ■ Linux-应用程序对驱动程序的调用流程■ Linux-file_operations 结构体■ Linux-驱动模块的加载和卸载■ 1. 驱动编译进 Linux 内核中■ 2. 驱动编译成模块(Linux 下模块扩展名为.ko) ■ Linux-■ Linux-■ Linux-设备号■ Linux-设备号-分配■ 静态分配设备号…

Unity Physics入门

概述 在unity中物理属性是非常重要的&#xff0c;它可以模拟真实物理的效果在unity中&#xff0c;其中的组件是非常多的&#xff0c;让我们来学习一下这部分的内容吧。 Unity组件入门篇总目录----------点击导航 Character Controller(角色控制) 说明&#xff1a;组件是Unity提…

运算符重载(上)

目录 运算符重载日期类的比较判断日期是否相等判断日期大小 赋值运算符重载赋值运算符重载格式赋值运算符只能重载成类的成员函数不能重载成全局函数用户没有显式实现时&#xff0c;编译器会生成一个默认赋值运算符重载&#xff0c;以值的方式逐字节拷贝 感谢各位大佬对我的支持…