【智能优化求解】基于粒子群算法实现综合能源系统优化附matlab代码
1 简介
为了解决现有冷热电联供型综合能源系统大多只单一考虑系统机组投资成本或系统环境污染,影响系统整体优化运行的问题,以系统经济性和环保性为目标,对冷热电联供系统进行研究分析。构建含燃气轮机、燃气锅炉、电制冷机等机组 的冷热电联供系统优化模型并建立约束条件。结果表明粒子群算法能够同时兼顾系统的经济性和环保性,使系统运行更加优化,为之后的能源供给系统的规划提供前期依据。
粒子群算法初始化为一群数量为N的随机粒子 (随机解) , 在D维空间中通过重复迭代、更新自身的位置以搜索适应度值最优解。粒子的位置代表被优化问题在搜索空间中的潜在解。在每次迭代中, 粒子通过跟踪2个“极值”来更新自己的速度和位置:一个是粒子自身目前所找到的最优解, 即个体极值;另一个是整个粒子群目前找到的最优解, 即全局极值。粒子i (i=1, 2, …, N) 在第j (j=1, 2, …, D) 维的速度vij和位置xij按如下格式更新:
式中, ω为非负数, 称为惯性权值 (惯性因子) , 描述了粒子对之前速度的“继承”, 即体现出粒子的“惯性”;c1和c2为非负常数, 称为学习因子 (加速因子) , 体现了粒子的社会性, 即粒子向全局最优粒子学习的特性;r1和r2为 (0, 1) 之间的随机数;pi= (pi1, pi2, …, pi D) 表示粒子i的个体极值所在位置;pg= (pg1, pg2, …, pg D) 表示所有粒子的全局极值所在位置。
速度更新公式的第一项, 反映粒子当前速度的影响, 每一个粒子按照惯性权值的比重沿着自身速度的方向搜索, 起到了平衡全局的作用, 同时避免算法陷入局部最优;第二项体现了个体最优值对粒子速度的影响, 即粒子本身的记忆和认识, 使得粒子具有全局搜索能力。第三项则反映群体对个体的影响, 即群体间的信息共享起到加速收敛的作用。
2 部分代码
function result=fitness(X,WEI)
%clear all;
%clc;
FG=zeros(1,24); %燃气机在t时段的消耗的燃气量
FBoi=zeros(1,24); %锅炉在t时段的消耗的燃料量
h=zeros(1,24);
FE=zeros(1,24); %存储一共用了多少燃气
yBoi=0.85; %锅炉的热效率
ygg=zeros(2,24); %ygg对应的是第i台燃气发电机的发电效率
D=8;
PG=zeros(1,24); %向主电网交互的电量
HJ=zeros(1,24); %二氧化碳的排放量
ue=0.872; %单位功率下二氧化碳的排放系数
uf=5.42; %单位体积的二氧化碳排放系数
W=0.004125;%此为惩罚系数,包括排放惩罚和环境价值
CE=zeros(1,24);%t时段与主电网间能量交互成本
Rr=zeros(1,24);%存电价
% rLrg=1.123;%天然气价格单位为美元/therm
fa=100; R=0.034;%电转气系数
% Pwind=[11160,12410,12140,12590,12410,11320,10040,10536,8230,9004,8050,8320,8878,8500,8230,8680,9482,9500,1770,11518,11068,11860,11140,8700]; %风力发电机的功率
Pwind=[693,718,883,698,888,683,723,695,678,721,568,583,614,693,678,703,692,693,808,994,869,813,873,808];
PD=[2800,2700,3000,3800,4600,4600,5200,5400,5800,6300,7400,8700,9700,10000,10100,10300,9000,7000,6700,5900,4500,3000,2700,2800]; %为一天中不同时段的系统需要的预测电功率
Ppv=[0,0,0,0,0,0,1650,2450,3250,3350,3400,3750,3450,3250,3200,2400,2100,1300,0,0,0,0,0,0]; %光伏发电机的功率
rElc=[0.182,0.182,0.182,0.182,0.182,0.182,0.518,0.518,0.882,0.882,0.882,0.882,0.518,0.518,0.882,0.882,0.882,0.882,0.882,0.518,0.518,0.518,0.182,0.182];%一天中每小时的购电价格
RElc=[0.14,0.14,0.14,0.14,0.14,0.14,0.406,0.406,0.70,0.70,0.70,0.70,0.406,0.406,0.70,0.70,0.70,0.70,0.70,0.406,0.406,0.406,0.14,0.14]; %一天中每小时的售电价格
Aa=8.935;Bb=33.157;Cc=-27.081;Dd=17.989;%这里的Aa,Bb,Cc,Dd分别对应四台不同的燃气发电机的发电效率
PGnom1=1200;PGnom2=2800;%电功率基准值为1200和2800
Copac=0.80;Copec=3;
%-------------%
for t=1:24
ygg(1,t)=(Aa+Bb*(X((t-1)*D+1)/PGnom1)+Cc*(X((t-1)*D+1)/PGnom1)^2+Dd*(X((t-1)*D+1)/PGnom1)^3)/100; %X((t-1)*D+1)在对应的该时刻的该燃气发电机的电功率
ygg(2,t)=(Aa+Bb*(X((t-1)*D+2)/PGnom2)+Cc*(X((t-1)*D+2)/PGnom2)^2+Dd*(X((t-1)*D+2)/PGnom2)^3)/100;
%ygg对应的是第i台燃气发电机的发电效率
end
%-------------%
for t=1:24
%R是燃气机发电模型的λ
FG(t)=R*(X((t-1)*D+1)/ygg(1,t)+X((t-1)*D+2)/ygg(2,t)); %燃气发电机在单时段的燃气耗量
%R疑似是锅炉模型的λ
FBoi(t)=R*(X((t-1)*D+3)+X((t-1)*D+4))/yBoi; %锅炉在单时段消耗的燃料量
FE(t)=FG(t)+FBoi(t); %t时刻的燃气量
if X((t-1)*D+5)>=0
Rr(t)=rElc(t);
PG(t)=X((t-1)*D+5); %向主电网交互的电量,此时是买电
else
Rr(t)=RElc(t);
PG(t)=0; %向主电网交互的电量,此时是卖电
end
CE(t)=Rr(t)*X((t-1)*D+5); %单时段与主电网间能量交互成本
HJ(t)=ue*PG(t)+uf*FE(t); %二氧化碳的排放量
%---单时段功率平衡约束---%
h(t)=abs(X((t-1)*D+1)+X((t-1)*D+2)+Pwind(t)+Ppv(t)-X((t-1)*D+6)+X((t-1)*D+5)-PD(t)-X((t-1)*D+8));%电负荷平衡约束
end
%---用的燃气量不同,得到的价格也不同---%
if sum(FE)<250
rLrg=5.257;
elseif 250<=sum(FE)<=4167
rLrg=3.25;
else
rLrg=2.814;
end
%-----------------------------------%
f1=rLrg*sum(FE)+sum(CE); %燃气成本和向电网购电或是售电后的花费
f2=W*sum(HJ); %碳排放消费费用
result=f1+f2+fa*sum(h);
3 仿真结果
4 参考文献
[1]杨强大, 吴丹, 张卫军,等. 一种基于改进粒子群算法的综合能源系统优化调度方法:, CN112383053A[P]. 2021.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
【智能优化求解】基于粒子群算法实现综合能源系统优化附matlab代码相关推荐
- Matlab程序代码,智能微电网PSO优化算法,多目标调度,粒子群算法,综合能源系统优化,机组最优组合,光伏出力预测
Matlab程序代码,智能微电网PSO优化算法,多目标调度,粒子群算法,综合能源系统优化,机组最优组合,光伏出力预测,神经网络简单应用,多目标优化,冷热电联供型综合能源系统优化调度模型,求解采用的是M ...
- 【无人机】基于粒子群的无人机车载网络优化UAV-VANET附matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.
- 【通信】基于粒子群实现5G物联网云网络优化附matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.
- 【Matlab多目标优化求解】粒子群算法求解智能微电网多目标优化问题【含源码 383期】
一.代码运行视频(哔哩哔哩) [Matlab多目标优化求解]粒子群算法求解智能微电网多目标优化问题[含源码 383期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 ...
- 【Matlab多目标优化求解】粒子群算法求解配电网抢修优化问题【含源码 777期】
一.代码运行视频(哔哩哔哩) [Matlab多目标优化求解]粒子群算法求解配电网抢修优化问题[含源码 777期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] ...
- 基于粒子群算法的混合储能容量配置matlab 以风光互补发电储能系统为背景,以年运行成本最低为目标
基于粒子群算法的混合储能容量配置matlab 以风光互补发电储能系统为背景,以年运行成本最低为目标,根据负荷和发电量的缺额等制定超级电容和蓄电池配置方案,采用粒子群算法得到蓄电池和超级电容的个数,有详 ...
- 【微电网优化】基于粒子群算法求解智能微电网调度问题附matlab代码
1 简介 搭建光伏,风力发电机和储能电池的数学模型.充分考虑对蓄电池的充放电保护,制定优化调度策略.应用粒子群算法(PSO)对其优化调度模型进行求解,在算法中增加了蓄电池满充满放的限制条件,同时使系统 ...
- 【微电网优化】基于粒子群算法求解混合储能系统容量优化问题含Matlab源码
1 简介 为了提高供电的稳定性.可靠性,实现日夜发电,在太阳能.风能资源比较丰富的区域,建立风能.太阳能互补发电系统.但是由于系统投入成本过高,风.光又存在间歇性和不稳定性等问题,需要配置储能系统来平 ...
- 【选址优化】基于粒子群算法求解配电网抢修选址优化问题含Matlab源码
1 简介 基于粒子群算法求解配电网抢修选址优化问题. 2 部分代码 function DrawCircle(Circle1, Circle2, r, 3600, s)plot(model.trou ...
最新文章
- Oracle安装错误“程序异常终止
- 转: MySQL 赋予用户权限(grant %-远程和localhost-本地区别)
- php $_post多个,使用PHP检查多个$ _ POST字词
- 渐变海报背景素材|潮流2021还将延续
- Java之Exception
- 识别和非识别关系之间有什么区别?
- VS2008 ---- VS2013各个版本下载地址
- CUDA的下载与安装
- IAM:瑞策科技位列《全球区块链专利排行榜》第五位
- 大数据和数据挖掘是什么关系?
- lenovo启动热键_联想笔记本进bios按什么键|联想笔记本开机进入bios热键是哪个
- 网络安全等级保护细则
- springboot上传图片
- 开源的 CMD 配色工具:ColorTool
- JavaC++题解与拓展——leetcode1823.找出游戏的获胜者【约瑟夫环】
- FME中WorkspaceRunner传参处理
- 终于搞懂了el-dialog属性modal-append-to-body,append-to-body的作用【图解】
- linux系统负载查看进程,Linux查看系统的负载
- 看张亚飞《.Net for Flash FMS》的笔记
- Python读取MIT-BIH数据中心电信号