clear all;
clc;
format short;
tic
XDCRL=10; %蓄电池容量
pgridmax=7;%交互功率
m=100; %种群规模数
dd=500; %迭代次数
c1=1;
c2=1;
vmax=1;
vmin=-1;
wmax=0.9;
wmin=0.4;
d=25;%24时刻蓄电池SOC0
CFX =[];%惩罚项
cfx = 0;%惩罚项
PV=load('Ppv2.txt');%光伏发电量
% Pev=zeros(1,24);
Pev=load('PEV.txt');%电动汽车
LOAD= load('Load2.txt');%负荷
sub=load('C_sub2.txt');
buy=load('C_buy2.txt');
sell=load('C_sell2.txt');
xdccl=zeros(m,24);%蓄电池出力
v=zeros(m,d);%初始化速度
SOC=rand(m,d);%蓄电池的SOC
grid=zeros(m,24);%微网
GRID=zeros(1,24);
fx=zeros(1,m);
%%初始化粒子更新
for n=1:m; %每一次更新粒子群(100个粒子)都有判断是否满足条件
for i=2:d %保证蓄电池的SOC大于0.3,小于0.95
if SOC(n,i)<0.3
SOC(n,i)=0.3;
end
if SOC(n,i)>0.95
SOC(n,i)=0.95;
end
SOC(n,1)=0.4;%蓄电池的SOC不变,都为0.4
SOC(n,25)=0.4;%蓄电池的SOC不变,都为0.4
end
%储能系统的功率约束
for i=1:24
%蓄电池
j =SOC(n,i)-SOC(n,i+1);
if j > 0.3
j = 0.3;%放电
SOC(n,i+1)= SOC(n,i) - j;
elseif j <= -0.3;
j = -0.3;%充电
SOC(n,i+1)= SOC(n,i) - j;
end
xdccl(n,i) =j*XDCRL;%蓄电池出力
end
%确定大电网出力
for i = 1:24
grid(n,i)=LOAD(i)+Pev(i) - PV(i)- xdccl(n,i);
if grid(n,i)>pgridmax %买电
grid(n,i)=pgridmax;
end
if grid(n,i)<-pgridmax %卖电
grid(n,i)=-pgridmax;
% grid(n,i)=LOAD(i)+Pev(i) - PV(i)- xdccl(n,i);
end
end
cfx = (SOC(n,1)-SOC(n,25))*1000000;
CFX=[CFX;cfx];
end %初始粒子群的更新结束
%需要带入函数计算运行成本的单元:大电网出力,蓄电池出力
for i=1:m
fx(i)=fitnessEcoVir(CFX(i,:),grid(i,:),xdccl(i,:),sub,PV,buy,sell);
end
[fgbest, best_x]=min(fx);%fitgbest全局最佳适应度值
gbest=SOC(best_x,:);%全局最优位置
pbest=SOC;%个体最优位置的初始值,粒子的初始位置
fpbest=fx;%个体最佳适应度值
for t=1:dd
for f=1:m %m=100
%量子粒子更新
alpha=(-0.8*(t-1))/(dd-1)+1.2;
mbest=sum(pbest)/m;
fi1=rand(1,d);
fi2=rand(1,d);
p=(2*fi2.*pbest(f,:)+2.1*fi1.*gbest)./(2*fi2+2.1*fi1);
u=rand(1,d);
b=alpha*abs(mbest-SOC(f,:));
v=-log(u);
SOC(f,:)=p+((-1).^ceil(0.5+rand(1,d))).*b.*v;
% %普通粒子更新
% v(f,:) =v(f,:)+c1*rand*(pbest(f,:)-SOC(f,:))+c2*rand*(gbest-SOC(f,:));%%SOC速度更新
% SOC(f,:)=SOC(f,:)+v(f,:);%%SOC位置更新
% if(v(f,:)>vmax)
% v(f,:)=vmax;
% elseif(v(f,:)<vmin)
% v(f,:)=vmin;
% end
for h=2:d
if SOC(f,h)<0.3
SOC(f,h)=0.3;
end
if SOC(f,h)>0.95
SOC(f,h)=0.95;
end
SOC(f,1)=0.4;
end
for i=1:24
j =SOC(f,i)-SOC(f,i+1);
if j > 0.3
j = 0.3;
SOC(f,i+1)= SOC(f,i) - j;
elseif j<-0.3
j=-0.3;
SOC(f,i+1)= SOC(f,i) - j;
end
xdccl(f,i) =j*XDCRL; %蓄电池出力
end
for i=1:24
grid(f,i)=LOAD(i)+Pev(i) - PV(i)- xdccl(f,i);
if grid(f,:)>pgridmax %买电
grid(f,:)=pgridmax;
elseif grid(f,:)<-pgridmax %卖电
grid(f,:)=-pgridmax;
end
end
CFX= (SOC(f,1)-SOC(f,25))*1000000;
%%%%%%%%%SOC约束
fx(f)=fitnessEcoVir(CFX,grid(f,:),xdccl(f,:),sub,PV,buy,sell);%适应度更新
%个体最优
if fx(f)<fpbest(f)
pbest(f,:)=SOC(f,:);
fpbest(f)=fx(f);
end
%群体最优
if fx(f)<fgbest
gbest=SOC(f,:);
fgbest=fx(f);
GRID=grid(f,:);
end
end
MINIMUM(t)=fgbest;
end
db=gbest;
for j=1:24
xdc(j)=(gbest(j)-gbest(j+1))*XDCRL;
end
% for j=1:24
% GRID(j)=LOAD(j)+Pev(i) - PV(j)- xdc(j);
% end
GRID % 电网
xdc %蓄电池
a=sum(xdc)
fitgbest=min(MINIMUM)
plot(MINIMUM)
% figure
% l=1:24;
% plot(l,GRID,'o-',l,xdc,'*-',l,PV,'--')
% legend('大电网出力','蓄电池出力','光伏出力')
% xlabel('小时/h')
% ylabel('功率/kW')
%
% set(gca,'xtick',0:2:24)
% hold off
SOC=db(1:25)
figure(2)
ll=0:24;
plot(ll,SOC,'o-')
xlabel('小时/h')
ylabel('SOC')
xlim([0 24])
title('蓄电池SOC')
set(gca,'xtick',0:2:24)
%将数据导入到excel表格中
% xlswrite('C:\Users\Administrator\Desktop\出力',GRID',1,'A1')
% xlswrite('C:\Users\Administrator\Desktop\出力',PV',1,'B1')
% xlswrite('C:\Users\Administrator\Desktop\出力',xdc',1,'C1')
% xlswrite('C:\Users\Administrator\Desktop\出力',LOAD',1,'D1')
% xlswrite('C:\Users\Administrator\Desktop\出力',Pev',1,'E1')
toc
m0_64795180
- 粉丝: 21
- 资源: 694
最新资源
- 三菱PLC QD77定位模块FB功能块编程详解:清晰明了的私服电机控制方法,含全面注释,适用于Q系列与L系列PLC,成熟稳定,高借鉴价值案例分享 ,三菱PLC QD77定位模块功能块FB ,用私服电
- 固高GTS运动控制卡C#三轴点胶机样本程序源码分享,含操作手册与二次开发指南,固高GTS运动控制卡,C#语言三轴点胶机样本程序源代码,使用 的是固高GTS-800 8轴运动控制卡 资料齐全,3轴点胶
- 基于麻雀搜索算法优化的回声状态网络(SSA-ESN)数据回归预测算法Matlab实现,基于麻雀搜索算法优化回声状态网络(SSA-ESN)的数据回归预测 matlab代码 ,基于SSA-ESN的;数据
- 基于门控循环单元Adaboost算法的数据回归预测matlab代码实现(附详细教程),基于门控循环单元的Adaboost(GRU-Adaboost)数据回归预测 matlab代码,2020版本及以上
- 基于支持向量机(SVM)的手写字母识别算法的Matlab实现与应用探索,基于支持向量机(SVM)的手写字母识别 matlab代码 ,核心关键词:基于支持向量机(SVM)的手写字母识别; MATLAB
- 基于Linux平台的机器人控制系统与路径识别解决方案及案例分析
- 基于节点电价的电网接纳电动汽车能力评估模型与研究,主题:电网对电动汽车接纳能力的评估 针对电网对电动汽车接纳能力评估的问题,提出了节点电价的概念,通过分析电动汽车充电负荷下电网节点性能, 制定反映各项
- 两种滑模观测器在PMSM无感矢量控制仿真中的应用:PLL与arctan结合策略及算法原理资料(附Matlab版本),两种基于滑模观测器的PMSM无感矢量控制仿真(开关设置区分): 1. PLL+滑模(
- Cocos引擎与Creator介绍:开源跨平台图形引擎及其在多元领域的广泛应用
- 横纵向协同双PID控制路径规划与轨迹跟踪:Carsim设置下的Simulink模型及结果曲线图详解与操作指南,横纵向协同双PID控制路径规划及轨迹跟踪carsim设置+simulink模型+结果曲线图
- mmexport1737971065184.mp4
- "龙讯LT6911UXC与LT9611UXC源码固件支持,对接海思芯片高清4K60帧转换,HDMI转MIPI技术,双通道畅享极致画质",龙讯lt6911uxc,lt9611uxc资料,有源码固件,支持
- Scratch 编程教育资料汇集:适用于各年龄段的实例代码、教程与项目资源
- 高品质全自动挡风被生产设备全套图纸:含详细尺寸与技术的精准解析,挡风被生产要完整图纸,是全自动的哦 不议价 诚信的来,大公司挡风被生产设备的3D图纸,也有尺寸的2D图纸,拿来就可以加工做机器了 ,挡
- 三菱FX3u PLC与安邦信变频器通讯程序:通用性适配方案与实现技巧,三菱FX3uPLC和安邦信变频器通讯程序 硬件有:485BD通讯板一个,Fx3u一个,安邦信变频器一台,程序已经在项目中使用,对
- 单相PWM整流模型:主电路与控制模块实现详解及参考文献赠送,单相pwm整流模型包含了主电路及其控制模块的实现赠送参考文献和 ,核心关键词:单相PWM整流模型; 主电路; 控制模块; 实现; 参考文献
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈