• 大小: 4KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-06-13
  • 语言: Matlab
  • 标签: 粒子群  

资源简介

为了提高冷热电三联供系统(CCHP)运行的经济性、更好的节约能源、减少污染物排放量,建立了含运行成本和燃料费用的目标函数。并且考虑了各个设备的运行约束。通过优化和仿真得到最优的出力计划。仿真结果表明:基于微型燃气轮机的三联供系统按优化结果进行能量调度可以使运行成本最低。

资源截图

代码片段和文件信息

%清空环境
clear
clc
%参数设置
w_max=0.9;
w_min=0.4;                       %惯性系数
c1=2;                            %加速常数
c2=2;                            %加速常数
Dim=3;                           %维数
SwarmSize=100;                   %粒子群规模
MaxIter=150;                     %最大迭代次数

Vmax=1.05;                          %最大速度
Vmin=-1.05;                         %最小速度

Ppv=[0 0 0 0 0 1 9 16 21 28.4 48 42 15 10 5 1 0 0 0 0 0 0 0 0];                                                   %光伏上界
Pwt=[11 9.2 5.8 3.6 3 3.6 3.2 3.8 2 18 21 9 5.4 2.8 2.6 3.6 7.6 11 9.6 8 2.6 6.6 9.4 11.6];                       %风电上界
Pmt=[80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80];                                    %燃气上界
Pba=[30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30];                                    %蓄电池充放电上界
Pba_1=[-30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30];          %蓄电池充放电下界
Pl=[53 53 50 50 51 57 63 70 75 77 80 78 74 72 72 77 80 85 85 88 82 78 71 65];

Pbat=60;
Pbatmax=60;
 y_fitness=zeros(124);                       %预先生产5个空矩阵
 k_pv=zeros(124);                            %为绘图做准备
 k_wt=zeros(124);
 k_mt=zeros(124);
 k_ba=zeros(124);
 
for t=1:24
 Ub=[Ppv(t) Pwt(t) Pmt(t)];                   %风光燃参数上界
 Lb=[0 0 30];                                 %风光燃参数下界 
 iter=0;

 %%粒子群初始化
 Range=ones(SwarmSize1)*(Ub-Lb);
 Swarm=rand(SwarmSizeDim).*Range+ones(SwarmSize1)*Lb;                   %初始化粒子群+ones(SwarmSize1)*Lb; 
 a4=zeros(SwarmSize1);
 for l=1:SwarmSize
     a4(l)=Pl(t)-Swarm(l1)-Swarm(l2)-Swarm(l3);
 end
 Swarm=[Swarm a4];
 VStep=rand(SwarmSizeDim)*(Vmax-Vmin)+Vmin;        %初始化速度
 fSwarm=zeros(SwarmSize1);


 for i=1:SwarmSize
  if ((a4(i)>Pba(t))||(a4(i)    fSwarm(i:)=20000;
  else
    fSwarm(i:)=0.884*Swarm(i1)+0.573*Swarm(i2)+1.9352*Swarm(i3)+1.3822*Swarm(i4);  %粒子群适应度计算
  end
 end

%%个体极值和群体极值
 [bestf bestindex]=min(fSwarm);
 zbest=Swarm(bestindex1:Dim);                         %全局最佳
 
 pbest=Swarm(:1:Dim

评论

共有 条评论

相关资源