考虑源荷不确定性的热电联供微网优化(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥

****🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️**座右铭:**行百里者,半于九十。

📋📋📋++本文目录如下:++🎁🎁🎁

目录

[💥1 概述](#💥1 概述)

[📚2 运行结果](#📚2 运行结果)

[2.1 不含随机变量](#2.1 不含随机变量)

[2.2 含随机变量处理](#2.2 含随机变量处理)

[🎉3 参考文献](#🎉3 参考文献)

[🌈4 Matlab代码实现](#🌈4 Matlab代码实现)


💥1 概述

CHP型微网是一个复杂的能量系统,存在多种能量平衡关系。在满足用户热电负荷需求的前提下,如何根据微源配置(即参与微源的种类、微源的运行参数等)制定系统未来一段时间内的运行方案(即各微源在各时段的功率分配),以使系统获得最佳经济效益,是微网经济运行研究中的一个重要内容。目前,国内的研究还仅局限在电力微网的层面上[6-10],对CHP系统涉及较少,国外在此方面已有相关研究展开。文献[11]针对由风电机组和质子交换膜型燃料电池组成的CHP系统,利用进化算法研究该系统的经济运行问题,比较了对回收的热能采取4种不同方案得到的结果。文献[12]研究了由燃气轮机、吸附式制冷机和余热锅炉构成的冷热电三联供系统,建立简单的线性模型,对系统运行策略进行优化。文献[13]以成本最小化为目标,建立了CHP型微网中各种类型微源的优化配置模型,并采用粒子群优化(PSO)算法进行求解。

本文建立了一种含可再生能源的CHP型微网系统,由风电机组+ 光伏电池+ 燃料电池+ 余热锅炉+燃气锅炉+蓄电池等微源和热电负荷构成。由于风电、光伏功率以及热电负荷存在很强的随机性﹐而且目前的预测水平还远未达到实际应用的要求,因此这些量将作为未知因素考虑。含可再生能源的CHP型微网的经济运行优化问题不再如文献[11-13]所述是常规意义下的确定性问题,而是一个包含多个随机变量的规划问题。机会约束规划(CCP)能够很好地描述随机变量带来的不确定性,学者们已经成功利用CCP模型解决了电力系统研究中的很多问题[14-17]。本文应用CCP理论建立含可再生能源的CHP型微网经济运行优化模型,并提出一种基于随机模拟技术的PSO算法求解上述模型。在预测未来一天24 h风电、光伏功率以及热电负荷的基础上,根据不同的微源配置,对系统的运行方案进行优化。

在传统的电热微网优化中,我们可以利用蓄电池、外网交互、燃料电池和余热锅炉等设备的功率。然而,传统模型相对基础,无法满足发表文章或撰写毕业论文的要求,因为它们的工作量和深度难以达到要求。因此,为了提高模型的鲁棒性,并考虑机会约束等因素,我们可以增加不确定变量并进行相应的规划。以王锐的《含可再生能源的热电联供型微网经济运行优化》为例,该论文探讨了机会约束规划理论的建模和编程方法,并比较了常规粒子群优化算法(PSO)和基于CCP理论的粒子群算法之间的区别。

📚 2 运行结果

2.1不含随机变量

2.2 含随机变量处理

部分代码:

%目标函数代码完美复刻了文献中的目标函数和约束条件,约束部分简洁明了,采用等式和不等

%式形式,易于理解,最终目标函数值通过罚函数实现。

复制代码
function Function = Function_objective(X)
%% 准备工作 
parameter; %输入所有的数据 
% 各个决策变量的含义 
P_TL = X(1:24);      % 燃料电池出力 
P_BT = X(25:48);  % 蓄电池出力 
P_EX = X(49:72); % 交互功率
P_GB = X(73:96); % 锅炉出力
Function =0; 
%% 书写目标函数
for t=1:24
    Function = Function + 1/2*(CpH+Cse)*P_EX(t) + 1/2*(CpH-Cse)*abs( P_EX(t) ) ...
    + C_GAS*(P_TL(t)/eta_fl+ P_GB(t)/eta_gb ) + P_TL(t)*Cfl_om + ...
    P_TL(t)*r_fl*eta_Hrbl*Cbl_om + abs(P_BT(t))*Cbt_om+ ...
    P_GB(t)*Cgb_om + P_WT(t)*Cwt_om + P_PV(t)*Cpv_om;
end
%% 书写约束
% ******************* 等式约束****************************
H=[];
for t=1:24 % (1) 电能平衡约束
    if P_BT(t)<=0
        H = [H, P_EX(t)+P_TL(t)+P_WT(t)+P_PV(t)+P_BT(t)/eta_cH-Pel(t) ]; %=0
    else
        H = [H, P_EX(t)+P_TL(t)+P_WT(t)+P_PV(t)+P_BT(t)*eta_dis-Pel(t) ]; %=0
    end
end
for t=1:24 % (2) 热能平衡约束
    H = [H, P_GB(t)+P_TL(t)*r_fl*eta_Hrbl-PtH(t) ]; %=0
end
       % (3) 电池储能初始和最终状态相等约束
 H = [H, sum(P_BT) ]; %=0
% ******************* 不等式约束 ***************************
g=[];
for t=2:24 % (1) 燃料电池爬坡约束
    g=[g, P_TL(t)-P_TL(t-1)-deltaP_up] ; % <=0    
    g=[g, -( P_TL(t)-P_TL(t-1)-deltaP_down ) ] ; % <=0    
end
for t=1:24 % (2) 余热锅炉约束
    g=[g, P_TL(t)*r_fl*eta_Hrbl-Pbl_maX ] ; % <=0    
    g=[g, - ( P_TL(t)*r_fl*eta_Hrbl-Pbl_min ) ] ; % <=0    
end
for t=1:24 % (3) 蓄电池约束
    g=[g, Wbt_init-sum(P_BT(1:t))-Wbt_maX  ] ; % <=0    
    g=[g, -( Wbt_init-sum(P_BT(1:t))-Wbt_min )  ] ; % <=0    
end
%**********************罚函数处理*************************
Big=100000;
small=0.01;
N=lengtH(g);
M=lengtH(H);
G=0;
for n=1:N
    G=G+maX(0, g(n))^2;
end
H=0;
for m=1:M
    H=H+maX(  0, abs(H(m))-small  )^2;
end
%*******************加入罚函数后的目标函数******************
Function=Function+Big*(H+G);
end

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]王锐,顾伟,吴志.含可再生能源的热电联供型微网经济运行优化[J].电力系统自动化,2011,35(08):22-27.

🌈4 Matlab代码实现

相关推荐
q567315235 分钟前
在 Bash 中获取 Python 模块变量列
开发语言·python·bash
许野平30 分钟前
Rust: 利用 chrono 库实现日期和字符串互相转换
开发语言·后端·rust·字符串·转换·日期·chrono
也无晴也无风雨34 分钟前
在JS中, 0 == [0] 吗
开发语言·javascript
狂奔solar42 分钟前
yelp数据集上识别潜在的热门商家
开发语言·python
blammmp1 小时前
Java:数据结构-枚举
java·开发语言·数据结构
何曾参静谧2 小时前
「C/C++」C/C++ 指针篇 之 指针运算
c语言·开发语言·c++
暗黑起源喵2 小时前
设计模式-工厂设计模式
java·开发语言·设计模式
WaaTong2 小时前
Java反射
java·开发语言·反射
Troc_wangpeng2 小时前
R language 关于二维平面直角坐标系的制作
开发语言·机器学习
努力的家伙是不讨厌的2 小时前
解析json导出csv或者直接入库
开发语言·python·json