考虑需求响应的微网优化调度模型【粒子群算法】【matlab】

简介: 考虑需求响应的微网优化调度模型【粒子群算法】【matlab】

1 主要内容

该模型构建了考虑需求响应的微电网优化调度模型,并采用粒子群算法(PSO)进行优化求解,模型主体有储能、风电、光伏、微燃机和柴油发电机,以运行成本、环境保护成本、负荷需求响应补偿以及等效负荷波动性为目标,该负荷需求响应方式保证可转移负荷总量不变。程序采用matlab模块化编程,注释清晰,出图较多,有详细的参考文档,方便参考学习!

1.1 模型约束条件

功率平衡约束:

主体出力约束:

蓄电池荷电状态约束:

1.2 粒子群算法优化过程

模型采用PSO算法求解分布式能源储能系统的经济调度问题。粒子群算法最早是由 Eberhart博士和Kennedy博士于1995年提出。他们被动物寻找食物的方式引导,进一步采用动物群体的智慧等效建立的一个简单模型。

此方法在对鸟类群体活动行为的基础上,粒子群算法用单个粒子代表上述动物群体中的单一成员。每个粒子都有两个信息属性。一方面是粒子的当前位置,即 N 维空间中的坐标,另一方面是粒子的速度。粒子的当前位置表示粒子的运动方向,粒子的速度表示粒子的运动速度。在这些粒子群中有多个粒子对空间全局进行搜索,每个粒子搜索到的最优解为个体极值。

2 部分代码

%输出数据以及图
%数据
%成本,运行成本,环保成本
Pgrid=-(Pwind+Ppv+BestPos(:,1)+BestPos(:,2)+BestPos(:,3)-(PL(:,1)+BestPos(:,4)));
[f,f1,f2,f3]=Fitness(Pgrid,Pwind,Ppv,BestPos,PL,Prices);
disp('负荷波动与运行成本总和');
f%
disp('运行成本');
f1%运行成本
disp('环保成本');
f2%环保成本
% disp('优化前后可控负荷变化')
% dQ=PL(:,2)-BestPos(:,4);
% dQ
disp('需求响应成本');
f3%需求响应成本(或者称之为可调度负荷调度成本)
%最优解
disp('蓄电池充放电功率');
BestPos(:,1)%蓄电池充放电功率
disp('微型蒸汽轮机发电功率');
BestPos(:,2)%微型蒸汽轮机发电功率
disp('柴油发电机');
BestPos(:,3)%柴油发电功率
disp('可转移负荷功率');
BestPos(:,4)%可转移负荷
disp('大电网交互功率');
Pgrid%可转移负荷
%图
%负荷优化前后曲线(不一定平滑,因为价格除非各种价格设定的合理)
PLorgin=PL(:,1)+PL(:,2);
PLopt=PL(:,1)+BestPos(:,4);
figure
plot(PLorgin,'k--','LineWidth',1.5);
hold on 
plot(PLopt,'m->','LineWidth',1.5);
legend('优化前负荷','优化后负荷');
xlabel('时刻(h)');                                                                                                                                                                                                                                                                                         
ylabel('功率(KW)');
% %优化前后可转移负荷
% figure
% plot(PL(:,2));
% hold on 
% plot(BestPos(:,4));
% legend('优化前负荷','优化后负荷');
% xlabel('时刻(h)');                                                                                                                                                                                                                                                                                         
% ylabel('功率(KW)');


3 效果图

在优化前的总负荷中,可以明显的看出在12:00-16.00和20:00-22:00时间断内,明显出现了负荷的峰值特性,在夜间的0:00-5:00时间内出现了负荷的谷值特性。在进行可控负荷的优化后,新的负荷曲线具有明显的削峰填谷效果。2.将可调度的负荷(可平移负荷)优化以后,处于原始负荷中的可平移负荷部分相应被转移到了负荷谷时刻,原始的可调度负荷大多集中于工作日的白天时间,经过调度优化后,在保持可平移负荷总量不变的基础上,白天时段的可平移负荷大部分被转移到了0:00-8:00时段。其主要原因是设定了需求响应激励的负荷调度策略,负荷用户会在发电侧的价格激励影响下选择在补偿价格高时将自己的部分可调度负荷转移到负荷低谷时期。

4 下载链接

相关文章
|
3天前
|
机器学习/深度学习 算法 数据挖掘
基于GWO灰狼优化的CNN-GRU-Attention的时间序列回归预测matlab仿真
摘要: 该文介绍了使用 MATLAB 2022a 进行时间序列预测的算法优化。优化前后对比显示效果改善明显。算法基于CNN、GRU和注意力机制的深度学习模型,其中GWO(灰狼优化)用于优化超参数。CNN提取时间序列的局部特征,GRU处理序列数据的长期依赖,注意力机制聚焦关键信息。GWO算法模拟灰狼行为以实现全局优化。提供的代码片段展示了网络训练和预测过程,以及预测值与真实值的比较。
|
5天前
|
机器学习/深度学习 算法
m基于GA-GRU遗传优化门控循环单元网络的电力负荷数据预测算法matlab仿真
在MATLAB 2022a中,一个基于遗传算法优化的GRU网络展示显著优化效果。优化前后的电力负荷预测图表显示了改进的预测准确性和效率。GRU,作为RNN的一种形式,解决了长期依赖问题,而遗传算法用于优化其超参数,如学习率和隐藏层单元数。核心MATLAB程序执行超过30分钟,通过迭代和适应度评估寻找最佳超参数,最终构建优化的GRU模型进行负荷预测,结果显示预测误差和模型性能的提升。
21 4
|
15天前
|
数据安全/隐私保护
地震波功率谱密度函数、功率谱密度曲线,反应谱转功率谱,matlab代码
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
15天前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
15天前
|
算法 调度
面向配电网韧性提升的移动储能预布局与动态调度策略(matlab代码)
面向配电网韧性提升的移动储能预布局与动态调度策略(matlab代码)
|
15天前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
|
15天前
|
运维 算法
基于改进遗传算法的配电网故障定位(matlab代码)
基于改进遗传算法的配电网故障定位(matlab代码)
|
15天前
|
Serverless
基于Logistic函数的负荷需求响应(matlab代码)
基于Logistic函数的负荷需求响应(matlab代码)
|
15天前
|
供应链 算法
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)