【全部更新完毕】2024电工杯A题数学建模详细思路代码文章分享

news2025/3/17 20:51:31

A 题:园区微电网风光储协调优化配置
摘要
在全球范围内,气候变化和环境污染问题日益严重,减少碳排放和实现可持续发展成为各国的共同目标。新能源,尤其是风能和光伏发电,因其清洁、可再生的特性,正在全球范围内得到广泛应用。然而,风能和光伏发电的间歇性和波动性导致与用电负荷的时序不匹配,产生了弃风弃光问题。为解决这一问题,储能技术的应用显得尤为重要。通过储能设备,可以存储多余的风光电能,在用电高峰时段释放,提高风光发电的利用率,减少对主电网的依赖。

通过合理配置储能系统和优化运行策略,三个园区在可再生能源利用和经济性方面都有显著提升。特别是园区B,通过有效的储能系统配置和管理,实现了最低的单位电量平均供电成本。园区A尽管在经济性上表现不如园区B,但通过进一步优化,仍有较大提升空间。此次研究为实现经济高效的园区微电网系统提供了参考和指导。

在分析联合园区储能配置及其经济性时,我们通过线性规划优化方法,比较了联合园区在未配置储能和最优配置储能两种情况下的经济性。联合园区的购电量和总供电成本均显著低于独立园区的总和,单位电量平均供电成本也较低。同时,联合园区的电池功率上限和容量明显减少,表明通过共享储能资源,可以有效降低投资成本并提高能源利用效率。通过联合运行和优化储能配置,可以实现更高效的能源利用和显著的成本节约,具有重要的实际应用价值和推广前景。

随着园区电负荷需求的增加,如何在满足更高负荷的同时保持经济性和可持续性成为关键问题。本文通过模拟分析了在电负荷增加50%的条件下,各园区分别在独立运营和联合运营模式下的风光储协调配置方案及其经济性。结果表明在电负荷增加50%的情况下,联合运营模式展现了更高的经济性和资源利用效率。

关键词 :风能发电,光伏发电,混合整数线性规划 (MILP),Gurobi,磷酸铁锂电池

目录
A 题:园区微电网风光储协调优化配置 1
摘要 1
一、背景 4
二、问题重述与分析 6
三、模型假设与参数说明 8
四、问题求解 10
4.1问题一 各园区独立运营储能配置方案及其经济性分析 11
4.1.1分析未配置储能时各园区运行的经济性 11
4.1.2各园区分别配置50kW/100kWh储能,制定储能最优运行策略及购电计划 14
4.1.3是否最优及最优储能配置方案 19
4.2问题二 联合园区储能配置方案及其经济性分析 24
4.2.1若未配置储能,分析联合园区运行经济性 24
4.2.2制定联合园区的总储能最优配置方案 28
4.2.3与各园区独立运营相比,园区联合运营的经济收益 31
4.3问题三 园区风、光、储能的协调配置方案及其经济性分析 34
4.3.1分别按各园区独立运营、联合运营制定风光储协调配置方案 34
4.3.2按全年12个月典型日风光发电功率数据,制定各园区独立运营的风光储协调配置方案 47
五、展望 55
六、 参考文献 56
附录【自行删减】 57


### https://docs.qq.com/doc/DVWRIQUlKaVNqcWFr

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

四、问题求解
求解工具选择Gurobi搭配Matlab
Gurobi Optimizer 是一个用于数学优化(数值优化)问题求解的商业软件,它能够高效地求解线性规划(LP)、二次规划(QP)、二次约束规划(QCP)、整数规划(IP)、混合整数规划(MIP)、非线性规划(NLP)等问题。Gurobi 被广泛应用于工业、金融、能源、物流等多个领域,是优化求解的首选工具之一。

4.1问题一 各园区独立运营储能配置方案及其经济性分析
4.1.1分析未配置储能时各园区运行的经济性
对于ABC三个园区,都采用线性规划的方式来解决电网的优化调配问题优化方法:线性规划问题
优化变量:,
目标函数:
限制变量:
电平衡:
其他:
求解结果:
表1给出了三个园区未配置储能时各园区运行的经济性的购电量,弃风弃光电量,总供电成本和单位电量平均供电成本信息,可以看出:
1)园区A的购电量和供电成本最高,说明其对主电网的依赖程度较高,自发电能力不足。相反,园区B购电量和供电成本最低,表明其自发电能力较强,对主电网依赖较小。
2)园区C的弃风弃光电量最高,说明其可再生能源发电能力较强,但由于负荷时序不匹配,未能充分利用这些能源。减少弃风弃光电量是提高可再生能源利用率的关键。
3)园区A的单位电量平均供电成本最高,这不仅是因为购电量大,还因为可再生能源利用率低,导致整体供电成本较高。园区B的单位电量平均供电成本最低,说明其可再生能源利用率较高,经济性较好。

园区 A B C
购电量/kWh 4874.125 2432.3 2699.39
弃风弃光电量/kWh 951.2 897.5 1128.02
总供电成本/¥ 6863.1625 4902.38 5510.87
单位电量平均供电成本/(¥/kWh) 0.8686448 0.63585 0.7087
表1 三个园区未配置储能时各园区运行的经济性

在这里插入图片描述

图4 园区A未配置储能各时段电力调配信息

4.1.2各园区分别配置50kW/100kWh储能,制定储能最优运行策略及购电计划
优化方法:混合整数线性规划问题
优化变量:,,, ,
目标函数:

限制变量:
电平衡:
电池状态:
电池容量变换范围限制:
电池充放电状态限制:
不能同时充放电:
其他:

在这里插入图片描述

求解结果:
表2给出了三个园区未配置储能时各园区运行的经济性的购电量,弃风弃光电量,总供电成本和单位电量平均供电成本信息,可以看出:
1)园区A的购电量和供电成本最高,说明其对主电网的依赖程度较高,自发电能力不足。相反,园区B购电量和供电成本最低,表明其自发电能力较强,对主电网依赖较小。

4.1.3是否最优及最优储能配置方案
显然50kW/100kWh的 方案不是最优的,因为可以明显看出(2)的各个结果中仍然出现了大量的弃电现象,这会导致大量的浪费我们需要增加电池的电量来获取更好的电量‘去峰填谷’效果
优化方法:混合整数线性规划问题
优化变量:,,, ,,,
目标函数:

限制变量:
电平衡:
电池状态:
电池容量变换范围限制:
电池充放电状态限制:
不能同时充放电:
其他:
优化结果:
表3给出了三个园区配置最优储能时各园区运行的经济性的购电量,弃风

4.2.3与各园区独立运营相比,园区联合运营的经济收益
经济收益比较:
计算各园区独立运营和联合运营情况下的总购电量、总弃风弃光电量、总供电成本和单位电量平均供电成本。
园区 A B C 总和 联合园区
购电量/kWh 4015.667 1622.30625 1681.35195 7319.325 7149.719563
弃风弃光电量/kWh 0 0 0 0 0
总供电成本/¥ 6604.40039 4447.857303 5176.151573 16228.41 14480.59104
单位电量平均供电成本/(¥/kWh) 0.83589424 0.576894592 0.665657353 0.739382 0.619172662
电池功率上限/kW 194.625 212.9 260.69 668.215 448.115
电池容量/kWh 1129.55 626.1940789 1269.758125 3025.502 1469.145313
表7 独立园区与联合园区最优配置储能时运行经济性比较

在这里插入图片描述

表7展示了独立园区与联合园区最优配置储能时运行经济性比较,从表中可以看出

  1. 购电量
    独立园区:A、B、C三个园区的购电量分别为4015.667 kWh、1622.30625 kWh和1681.35195 kWh,总和为7319.325 kWh。
    联合园区:购电量为7149.719563 kWh,比独立园区的总和减少169.605437 kWh。
    分析:联合园区的购电量减少表明,通过联合运行和共享储能资源,可以有效降低购电需求,提高能源利用效率。
  2. 弃风弃光电量:
    所有园区的弃风弃光电量均为0。

4.3问题三 园区风、光、储能的协调配置方案及其经济性分析
4.3.1分别按各园区独立运营、联合运营制定风光储协调配置方案
条件:各园区的最大负荷增长50%,且负荷波动特性不变。风电、光伏电源的配置成本分别为3000元/kW、2500元/kW。投资回报期为5年。
分时电价如表8所示(需要提供表8的具体分时电价)。
时段 电价(元/kWh)
7:00-22:00 1
其余时段 0.4
表8 分时电价表
计算负荷增长后的最大负荷:
P_load.A_new = PLmax.A * 1.5
P_load.B_new = PLmax.B * 1.5
P_load.C_new = PLmax.C * 1.5
独立运营的风光储协调配置方案:
确定各园区风电和光伏的装机容量,使得满足未来的负荷需求。计算储能的配置容量和功率,使得能在高峰负荷时段提供足够的电力,并在风光发电高峰时段存储电能。
联合运营的风光储协调配置方案:
计算联合园区的总负荷需求和总风光装机容量。计算联合园区的储能配置容量和功率。
经济性分析:计算各方案的总投资成本(风电、光伏、储能)。计算年化成本(考虑5年投资回报期)。
比较不同方案的经济性。

优化变量:,,, ,,
目标函数:

限制变量:
电平衡:
电池状态:
电池容量变换范围限制:
电池充放电状态限制:
不能同时充放电:
其他:
优化结果:
表9为增长负荷之后的风光储协调配置方案经济性,从该表中可以看出:
购电量
在这里插入图片描述

在这里插入图片描述

图16联合园区增长负荷之后的风光储协调配置信息
时间段 购电量/kWh 弃风弃光电量/kWh 充电量/kWh 放电量/kWh
0 288.7293216 0 0 0
1 0 0 290.6295812 0
2 0 0 161.0289092 0
3 0 0 280.9827567 0
4 0 0 978.6979893 0
5 0 0 855.2761331 0
6 0 0 0 125.7532545
7 0 0 0 1090.747681
8 0 0 0 458.2943
9 0 0 309.81864 0
10 0 0 0 325.4529367
11 0 0 387.4384707 0
12 0 0 913.0820729 0
13 0 0 253.4907529 0
14 0 0 0 457.116122
15 0 0 0 488.5146185
16 0 0 193.054425 0
17 0 0 212.939244 0
18 0 0 415.5817153 0
19 0 0 726.5380996 0
20 0 0 0 322.9343346
21 0 0 0 623.4313861
22 0 0 0 527.7193439
23 0 0 0 975.6853304
表13联合增长负荷之后的风光储协调运行各时段参数
图13~16分别展示了园区A,B,C和联合园区在增长负荷之后的风光储协调配置信息,

在这里插入图片描述

问题代码展示:A_1_1_A

%A_1_1_A
% 清除工作区
clear;clc;close all;warning off;
%读取参数

%正常读取
% P_LOAD=xlsread('附件1:各园区典型日负荷数据.xlsx');
% P_PVWT=xlsread('附件2:各园区典型日风光发电数据.xlsx');
% P_load=P_LOAD(:,2)';
% P_PV=750*P_PVWT(:,2)';

%若无法读取直接使用该数据
P_load=[275,275,277,310,310,293,293,380,375,281,447,447,447,405,404,403,268,313,287,288,284,287,277,275];%电负荷/kW
P_PV=750*[0,0,0,0,0,0,0,.0058,.3026,.6020,.7711,.8555,.8531,.7842,.6437,.4242,.0619,0,0,0,0,0,0,0,];%光伏输出/kW

%常数
N_T=24;%24h
C_buy=1;%购电价格:元/kWh
C_WT=.5;    %风电价格:元/kWh
C_PV=.4;    %光伏价格:元/kWh

% 决策变量
P_buy = sdpvar(1,N_T);%购电功率
P_waste = sdpvar(1,N_T);%弃电功率

% 设置约束条件
C=[
    P_PV+P_buy==P_load+P_waste      %电平衡
    P_buy >= 0                      % 购电功率非负
    P_waste >= 0                    % 弃电功率非负
    ];

ops = sdpsettings('solver', 'gurobi', 'verbose', 2, 'debug', 1);

F = sum(P_PV*C_PV+C_buy*P_buy);
result = optimize(C,F,ops);
if result.problem == 0 % problem =0 代表求解成功
    disp(value(F));
else
    disp('求解出错');
end

% 定义要删除的文件名
filename = 'A_1_1_A.xlsx';
% 使用delete函数删除文件
if exist(filename, 'file')
    delete(filename);
    disp(['已成功删除文件:' filename]);
else
    disp(['文件 ' filename ' 不存在。']);
end
data = table({'购电量/kWh', '弃风弃光电量/kWh', '总供电成本/¥', '单位电量平均供电成本/(¥/kWh)'}', ...
    [sum(value(P_buy)), sum(value(P_waste)),value(F),value(F)/sum(P_load)]', 'VariableNames', {'经济参数', 'A_1_1_A'});
writetable(data, 'A_1_1_A.xlsx');

figure('Position', [880, 60, 800, 500]);  % [左下角 x 坐标, 左下角 y 坐标, 宽度, 高度]
b=bar([value(P_buy);value(P_PV);-value(P_waste)]','stacked');hold on;
b(1).FaceColor = [156/255 168/255 184/255];
b(2).FaceColor = [122/255 103/255 71/255];
b(3).FaceColor = [201/255 156/255 78/255];
plot(P_load,'k','LineWidth',2);hold on;
legend('购电','光伏','弃电','电负荷','Orientation', 'horizontal')%横着放图例
legend('Location', 'NorthWest');  % 根据需要选择位置
title('A\_1\_1\_A电平衡');


saveas(gcf, 'A_1_1_A电平衡.jpg');

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

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

相关文章

Python vscode debug: Error while enumerating installed packages.解决

记录一个vscode python debug时出现的错误: 具体错误如下: E00000.030: Error while enumerating installed packages. Traceback (most recent call last): File “/root/.vscode-server/extensions/ms-python.debugpy-2024.0.0-linux-x64/bundled/lib…

【C++11】lambda匿名函数和包装器

目录 一,lambda匿名函数 1-1,lambda的引入 1-2,lambda表达式书写格式 1-3,lambda函数的名称 1-4,lambda捕获列表的使用 1-5,函数对象与lambda表达式 二,包装器 2-1,function…

逻辑这回事(一)----编码规范

说明:优先级是M的规则为强制项,优先级为R的规则为建议项。 通用约束 应有全局观念。 优先级:M 说明:你所编写的代码在成为最终硅片上的一部分之前,需要经过许多设计者利用各种各样的工具进行各种各样的处理。有时&…

【编译原理】LL(1)预测分析法

一、实验目的 LL(1)的含义:第一个L表明自顶向下分析是从左向右扫描输入串,第2个L表明分析过程中将使用最左推导,1表明只需向右看一个符号便可决定如何推导,即选择哪个产生式进行推导。 LL(1) 预测分析方法是确定的自顶向下的语…

[保姆式教程]使用目标检测模型YOLO V8 OBB进行旋转目标的检测:训练自己的数据集(基于卫星和无人机的农业大棚数据集)

最近需要做基于卫星和无人机的农业大棚的旋转目标检测,基于YOLO V8 OBB的原因是因为尝试的第二个模型就是YOLO V8,后面会基于YOLO V9模型做农业大棚的旋转目标检测。YOLO V9目前还不能进行旋转目标的检测,需要修改代码 PS:欢迎大家分享农业大…

Capture One Studio for Mac:打造完美影像的利器

对于摄影师而言,每一次按下快门都是一次对完美影像的追求。而Capture One Studio for Mac正是这样一款能够帮助你实现这一追求的利器。 Capture One Studio for Mac v16.4.2.1中文直装版下载 首先,Capture One Studio for Mac拥有出色的图像处理能力。它…

网络初识 二

一、TCP/IP五层协议 -> 应用层 : 传输的数据在应用程序中如何使用 -> 传输层 : 关注的是通信的起点终点 -> 网络层 : 关注的是通信中的路线规划 -> 数据链路层 : 关注的是相邻节点之间的通信细节 -> 物理层 : 网络通信的基础设施 说是五层,实际上下面…

【Python搞定车载自动化测试】——Python实现CAN总线Bootloader刷写(含Python源码)

系列文章目录 【Python搞定车载自动化测试】系列文章目录汇总 文章目录 系列文章目录💯💯💯 前言💯💯💯一、环境搭建1.软件环境2.硬件环境 二、目录结构三、源码展示1.诊断基础函数方法2.诊断业务函数方法…

GmSSL3.X编译iOS和Android动态库

一、环境准备 我用的Mac电脑编译,Xcode版本15.2,安卓的NDK版本是android-ndk-r21e。 1.1、下载国密源码 下载最新的国密SDK源码到本地。 1.2、安装Xcode 前往Mac系统的AppStore下载安装最新Xcode。 1.3、安卓NDK下载 下载NDK到本地,选…

leetcode每日一题第八十九天

class Solution { public:int subarraySum(vector<int>& nums, int k) {unordered_map<int,int> mp;mp[0] 1;int count 0,pre 0;for(auto x:nums){pre x;if(mp.find(pre-k) ! mp.end()){count mp[pre-k];}mp[pre];}return count;} };

OSM最新台湾电力数据(2024年5月23日数据)转换总结及与(2024年2月16日数据)转换结果对比

osm包含种类繁多&#xff0c;我们这里是只以刚转换的台湾电力设备为例抛砖引玉的进行说明。本次仅仅转换了&#xff0c;变电站、电厂和线路杆塔数据&#xff01; 这种带增强的文件&#xff0c;是我在基础规则之外增加的提取规则。是为了更多的将OSM相关类型数据过滤提取出来&am…

Meta发布Chameleon模型预览,挑战多模态AI前沿

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

LeetCode 279 —— 完全平方数

阅读目录 1. 题目2. 解题思路3. 代码实现 1. 题目 2. 解题思路 此图利用动态规划进行求解&#xff0c;首先&#xff0c;我们求出小于 n n n 的所有完全平方数&#xff0c;存放在数组 squareNums 中。 定义 dp[n] 为和为 n n n 的完全平方数的最小数量&#xff0c;那么有状态…

基于Llama 3搭建中文版(Llama3-Chinese-Chat)大模型对话聊天机器人

前面两篇博文&#xff0c;我们分别在个人笔记本电脑部署了Llama 3 8B参数大模型&#xff0c;并使用Ollama搭建了基于 Web 可视化对话聊天机器人&#xff0c;可以在自己电脑上愉快的与Llama大模型 Web 机器人对话聊天了。但在使用过程中&#xff0c;笔者发现Llama大模型经常出现…

【IC设计】牛客网-序列检测习题总结

文章目录 状态机基础知识VL25 输入序列连续的序列检测VL26 含有无关项的序列检测VL27 不重叠序列检测VL28 输入序列不连续的序列检测参考资料 状态机基础知识 VL25 输入序列连续的序列检测 timescale 1ns/1ns module sequence_detect(input clk,input rst_n,input a,output re…

乡村振兴的乡村环境治理与保护:加强乡村环境治理与保护,改善乡村环境质量,打造美丽宜居的乡村环境

一、引言 随着乡村振兴战略的深入实施&#xff0c;乡村环境治理与保护成为推动乡村全面振兴的关键环节。乡村环境是乡村发展的重要基础&#xff0c;关系到农民的生产生活和身心健康&#xff0c;也直接影响到乡村经济的可持续发展。因此&#xff0c;加强乡村环境治理与保护&…

Stable Diffusion——U-ViT用于扩散建模的 ViT 主干网

1.概述 扩散模型是最近出现的强大的深度生成模型&#xff0c;可用于生成高质量图像。扩散模型发展迅速&#xff0c;可应用于文本到图像生成、图像到图像生成、视频生成、语音合成和 3D 合成。 除了算法的改进&#xff0c;骨干网的改进在扩散建模中也发挥着重要作用。一个典型…

收集 VSCode 常用快捷键

快速复制行 Shift Alt ↑/↓ 都是往下复制行&#xff0c;区别是&#xff1a;按↓复制时光标会跟着向下移动&#xff0c;按↑复制时光标不移动。 向上/向下移动一行 Alt ↑/↓ 删除整行 Ctrl Shift KCtrl x 剪切快捷键在VSCode 可以直接删除一行 垂直编辑 Ctrl…

Vue 安装vue

1、官网安装下载安装nodejs 2、安装完成后&#xff0c;通过命令查看版本,可以查看到版本 node -v npm -v 3、安装Vue CLi npm install -g vue/cli 4、创建项目,vue create test 如果遇到报错&#xff1a; ERROR Error: spawn yarn ENOENT Error: spawn yarn ENOENT at ChildP…

Flash与EEPROM

文章目录 1. 分类2. 工作原理2.1 擦除操作2.2 写入操作 3. 参考资料 1. 分类 2. 工作原理 在存储数据之前&#xff0c;先擦除存储区域&#xff08;写成全1&#xff09;&#xff0c;进行存储时&#xff0c;将对应位写为0。 注&#xff1a;这里编程不能反向&#xff0c;若写错了…