【多目标优化求解】基于matlab粒子群求解微电网多目标优化问题【含Matlab源码 444期】
一、获取代码方式
获取代码方式1:
完整代码已上传我的资源: 【多目标优化求解】基于matlab粒子群求解微电网多目标优化问题【含Matlab源码 444期】
获取代码方式2:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。
备注:订阅紫极神光博客付费专栏,可免费获得1份代码(有效期为订阅日起,三天内有效);
二、智能电网简介
1 智能电网的定义
智能电网是以物理电网为基础将现代先进的传感测量技术、通讯技术、信息技术、计算机技术和控制技术与物理电网高度集成而形成的新型电网
1.1 硬件基础:电网和建立在集成的、高速双向通信网络。
1.2 软件基础:智能的控制技术,是指诊断电网状态,防止供电中断,改善电能质量扰动的装置和算法。
2 智能电网的组成
智能电网由很多部分组成,可分为:智能变电站,智能配电网,智能电能表,智能交互终端,智能调度,智能家电,智能用电楼宇,智能城市用电网,智能发电系统,新型储能系统。
它是建立在集成的、高速双向通信网络的基础上,通过先进的传感和测量技术、先进的设备技术、先进的控制方法以及先进的决策支持系统技术的应用,实现电网的可靠、安全、经济、高效、环境友好和使用安全的目标,其主要特征包括自愈、激励和包括用户、抵御攻击、提供满足21世纪用户需求的电能质量、容许各种不同发电形式的接入、启动电力市场以及资产的优化高效运行。
3 微电网的定义
微电网(Micro-Grid)也称为微网,是一种新型网络结构,是一组微电源、负荷、储能系统和控制装置构成的系统单元。微电网是一种由分布式电源组成的独立系统,一般通过联络线与大系统相连,由于供电与需求的不平衡关系,微电网可选择与主网之间互供或者独立运行。
微电网是一个能够实现自我控制、保护和管理的自治系统,既可以与外部电网并网运行,也可以孤立运行。微电网是相对传统大电网的一个概念,是指多个分布式电源及其相关负载按照一定的拓扑结构组成的网络,并通过静态开关关联至常规电网。开发和延伸微电网能够充分促进分布式电源与可再生能源的大规模接入,实现对负荷多种能源形式的高可靠供给,是实现主动式配电网的一种有效方式,是传统电网向智能电网过渡。
4 微电网的组成
微电网是一种由分布式电源组成的独立系统,由分布式电源、储能装置、能量转换装置、相关负荷和监控、保护等装置组成的小型发配电系统。它一般通过联络线与大系统相连,由于供电与需求的不平衡关系,微电网可选择与主网之间互供或者独立运行。
微电网中的电源多为容量较小的分布式电源,即含有电力电子接口的小型机组,包括微型燃气轮机、燃料电池、光伏电池、小型风力发电机组以及超级电容、飞轮及蓄电池等储能装置。它们接在用户侧,具有成本低、电压低以及污染小等特点。
5 智能微电网
智能微电网能实现从分布式微电网、发电设备群、到终端用户整个输配电过程中所有节点之间的信息和电能的双向流动,从而实现控制过程的数字化、智能化、快速化。
三、部分源代码
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
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
四、运行结果
五、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1] 包子阳,余继周,杨杉.智能优化算法及其MATLAB实例(第2版)[M].电子工业出版社,2016.
[2]张岩,吴水根.MATLAB优化算法源代码[M].清华大学出版社,2017.
[3]周品.MATLAB 神经网络设计与应用[M].清华大学出版社,2013.
[4]陈明.MATLAB神经网络原理与实例精解[M].清华大学出版社,2013.
[5]方清城.MATLAB R2016a神经网络设计与应用28个案例分析[M].清华大学出版社,2018.
文章来源: qq912100926.blog.csdn.net,作者:海神之光,版权归原作者所有,如需转载,请联系作者。
原文链接:qq912100926.blog.csdn.net/article/details/114375042
- 点赞
- 收藏
- 关注作者
评论(0)