优化求解粒子群的微电网多目标优化matlab源码

Posted Matlab走起

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了优化求解粒子群的微电网多目标优化matlab源码相关的知识,希望对你有一定的参考价值。

一、简介


1 智能电网的定义
智能电网是以物理电网为基础将现代先进的传感测量技术、通讯技术、信息技术、计算机技术和控制技术与物理电网高度集成而形成的新型电网
1.1 硬件基础:电网和建立在集成的、高速双向通信网络。
1.2 软件基础:智能的控制技术,是指诊断电网状态,防止供电中断,改善电能质量扰动的装置和算法。

2 智能电网的组成
智能电网由很多部分组成,可分为:智能变电站,智能配电网,智能电能表,智能交互终端,智能调度,智能家电,智能用电楼宇,智能城市用电网,智能发电系统,新型储能系统。
它是建立在集成的、高速双向通信网络的基础上,通过先进的传感和测量技术、先进的设备技术、先进的控制方法以及先进的决策支持系统技术的应用,实现电网的可靠、安全、经济、高效、环境友好和使用安全的目标,其主要特征包括自愈、激励和包括用户、抵御攻击、提供满足21世纪用户需求的电能质量、容许各种不同发电形式的接入、启动电力市场以及资产的优化高效运行。

3 微电网的定义
微电网(Micro-Grid)也称为微网,是一种新型网络结构,是一组微电源、负荷、储能系统和控制装置构成的系统单元。微电网是一种由分布式电源组成的独立系统,一般通过联络线与大系统相连,由于供电与需求的不平衡关系,微电网可选择与主网之间互供或者独立运行。
微电网是一个能够实现自我控制、保护和管理的自治系统,既可以与外部电网并网运行,也可以孤立运行。微电网是相对传统大电网的一个概念,是指多个分布式电源及其相关负载按照一定的拓扑结构组成的网络,并通过静态开关关联至常规电网。开发和延伸微电网能够充分促进分布式电源与可再生能源的大规模接入,实现对负荷多种能源形式的高可靠供给,是实现主动式配电网的一种有效方式,是传统电网向智能电网过渡。

4 微电网的组成
微电网是一种由分布式电源组成的独立系统,由分布式电源、储能装置、能量转换装置、相关负荷和监控、保护等装置组成的小型发配电系统。它一般通过联络线与大系统相连,由于供电与需求的不平衡关系,微电网可选择与主网之间互供或者独立运行。
微电网中的电源多为容量较小的分布式电源,即含有电力电子接口的小型机组,包括微型燃气轮机、燃料电池、光伏电池、小型风力发电机组以及超级电容、飞轮及蓄电池等储能装置。它们接在用户侧,具有成本低、电压低以及污染小等特点。

5 智能微电网
智能微电网能实现从分布式微电网、发电设备群、到终端用户整个输配电过程中所有节点之间的信息和电能的双向流动,从而实现控制过程的数字化、智能化、快速化。

二、源代码

```c
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
```

三、运行结果

四、备注

完整代码或者代写添加QQ1575304183

以上是关于优化求解粒子群的微电网多目标优化matlab源码的主要内容,如果未能解决你的问题,请参考以下文章

优化调度基于matlab多目标粒子群算法求解风电光伏储能电网发电与需求响应调度优化问题含Matlab源码 239期

优化调度基于matlab多目标粒子群算法求解风电光伏储能电网发电与需求响应调度优化问题含Matlab源码 239期

微电网优化基于matlab粒子群算法求解热电联供型微电网经济运行优化问题含Matlab源码 1696期

微电网优化基于matlab粒子群优化算法的微电网调度(光伏储能电动车电网交互)含Matlab源码 2190期

优化求解粒子群算法的多目标优化matlab源码

优化配置基于matlab两阶段鲁棒优化算法求解微网多电源容量配置优化问题含Matlab源码 2257期