【负荷响应优化】基于遗传优化的高载能负荷响应优化控制模型研究

该文研究了风电接入铝电解厂后如何优化控制自备电厂发电及设备功率分配以最大化效益。建立了以效益为目标的优化模型,考虑了设备响应潜力、无功补偿、用电等级等因素,并利用遗传算法进行求解。通过仿真验证了模型的正确性和优化效果,调整了自备电厂和风电的总功率在铝电解槽和辅助设备间的分配,以提高铝产量和经济效益。
摘要由CSDN通过智能技术生成

1.软件版本

matlab2013b

2.本算法理论知识

       高载能企业执行子站接收负荷调整指令后,需将有功功率、无功功率调整总量合理分配给各用能设备/系统。研究高载能负荷响应优化控制模型,建立以高载能企业响应效益最优为目标,以各用能设备/系统在不同时间尺度下有功、无功响应容量为变量,以各用能设备/系统在不同时间尺度下响应潜力、无功补偿容量、用电重要等级、生产工艺环节协调配合、有功功率及无功功率调整总量等为约束,提出寻优求解方法。搭建仿真验证平台,验证高载能负荷响应优化控制模型寻优求解后的优化结果的合理性,校验优化控制模型正确性和精确性;验证各用能设备/系统是否满足不同时间尺度下的响应潜力、无功补偿容量、用电重要等级、生产工艺环节协调配合等约束,以及有功功率、无功功率调整量目标,进而修正完善优化控制模型。

      对于铝电解厂来说,风电引入到铝电解厂,但是铝电解厂有自备电厂,正常情况下是自备电厂恒定地供给铝电解厂,铝电解厂的功率主要可分为两种设备,一个是主要设备铝电解槽(占总功率的95%),其余是辅助设备消耗的功率(约占总功率的5%。正常工作条件下,铝电解槽和辅助系统24小时的功率如下面两图所示,基本上处于稳定状态,此时P铝电解槽+P辅助= P自备电厂。

现在如果把风电引入到铝电解厂了,则原来的自备电厂供电的功率会发生变化,同时铝电解厂消耗的总功率也会发生变化。

P铝电解槽+P辅助=P风电+P自备电厂

        如果现在预先给定了引入铝电解厂风电24小时的曲线,如下图所示,现在在这24小时期间,如何调整自备电厂的发电、以及如何将自备电厂和风电的总功率分配给主要设备铝电解槽和辅助系统。才能使在引入风电的情况下电解厂获得的效益(赚的钱)最高,这时,最好使电解槽的功率得以调高,多增加铝的产量,会多带来效益。假设风电的价格是0.2元/kWh,自备电厂的价格是0.3元/kWh,铝的价格是13000元/吨。

 


首先是目标函数的建立,这根据你给的文档,建立的以效益为目标的优化目标函数,

这个是文档中有的,所以我们的建模方式大致按这个进行建模。

然后这里先介绍一下这个目标优化过程:

S1:

S2:

S3:

S4:

CL:这个文档中没写,也没相关定义,就直接设置了一个常数

然后控制这些公式的输入功率优化变量主要是Pfl,Pdc,Pdzl。遗传算法在优化过程中,通过不断的优化这三个参数,使得f达到最大化。

--------------------------------------------------------------------------------------------------

        然后说下几个约束条件:这里,我主要对几个调整功率进行了约束,以及调整后的功率需满足这个条件。

3.部分源码

clc;
clear;
close all;
warning off;
addpath 'func\'
addpath 'func\GA_toolbox\'
rand('state',1);


BD=[0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0.1462
0.1462
0.1462
0.1462
0.1462
0.1462
0.1462
0.1462
0.3549
0.3549
0.3549
0.3549
0.3549
0.3549
0.3549
0.3549
0.3549
0.3549
0.3549
0.3549
0.1462
0.1462
0.1462
0.1462
0.1462
0.1462
0.1462
0.1462
0.1462
0.1462
0.1462
0.1462
0.1462
0.1462
0.1462
0.1462
0.1462
0.1462
0.1462
0.1462
0.3495
0.3495
0.3495
0.3495
0.3495
0.3495
0.3495
0.3495
0.3495
0.3495
0.3495
0.3495
0.3495
0.3495
0.3495
0.3495
0.3495
0.1462
0.1462
0.1462
0.1462
0.1462
0.1462
0.1462
0
0
0
0
0
];


%输入风电变换情况
Times = [0.25:0.25:24];
Pfd0  = [3*ones(1,20),5*ones(1,12),10*ones(1,20),12*ones(1,8),8*ones(1,24),4*ones(1,12)]*1e6;
figure;
plot(Times,Pfd0/1e6,'r','linewidth',2);
xlabel('Time(h)');
ylabel('MW');
axis([0,24,0,15]);

Timesdelay = 2*4;%2小时后参与调解

Pdc21  = [];
Pfl21  = [];
Pdzl21 = [];
Pdc22  = [];
Pfl22  = [];
Pdzl22 = [];


for t = 1:length(Times)

%定义初始值,初始值
Pdc   = 40e6;%电厂调节功率
Pfl   = 15e6;%辅助设备调节功率
Pdzl  = 25e6;%电炉调节功率
Pfd   = Pfd0(t);

%风电价格波动
Pricefd = BD(t); 

%%
%下面开始使用遗传优化算法
%根据遗传算法进行参数的拟合
MAXGEN = 80;
NIND   = 200;
Nums   = 2;

Chrom  = crtbp(NIND,Nums*10);
%各个变量的约束条件,这几个参数稍微改了下,否则加入众多约束后,收敛非常慢
A1     = 20e6;
B1     = 60e6;

A2     = 12e6;
B2     = 20e6;

A3     = 30e6;
B3     = 35e6;
Areas  = [A2, A3;
          B2, B3];

FieldD = [rep([10],[1,Nums]);Areas;rep([0;0;0;0],[1,Nums])];

gen    = 0;
for a=1:1:NIND 
    %计算对应的目标值
    Moneys  = func_obj(Pdc,Pfl,Pdzl,Pfd,t,Pricefd);
    Js(a,1) = Moneys;
end

Objv  = (Js+eps);
gen   = 0; 
Pdc2  = [];
Pfl2  = [];
Pdzl2 = [];
%%
while gen < MAXGEN;   
      gen
      t
      
      flag=0;
      while flag == 0
      Pe0 = 0.8;
      pe1 = 0.001; 
      FitnV=ranking(Objv);    
      Selch=select('sus',Chrom,FitnV);    
      Selch=recombin('xovsp', Selch,Pe0);   
      Selch=mut( Selch,pe1);   
      phen1=bs2rv(Selch,FieldD);   
      NS=0;
          for aa=1:NIND
              if phen1(a,1) +  phen1(a,2) - Pfd <= B1 & phen1(a,1) +  phen1(a,2) - Pfd >= A1
                 NS=NS+1;
              end
          end
          if NS > NIND/2
             flag = 1;
          else
             flag = 0; 
          end
      end
      Pdc   = [];
      Pfl   = [];
      Pdzl  = [];
      for a=1:1:NIND  
          Pfl(a)   = phen1(a,1);
          %满足分配功率等式约束
          Pdzl(a)  = phen1(a,2);
          Pdc(a)   = phen1(a,1) +  phen1(a,2) - Pfd;
          
          
          %约束条件,重复约束条件
          if Pdc(a) <= A1;Pdc(a)=A1;end;
          if Pdc(a) >= B1;Pdc(a)=B1;end;
          
          if Pfl(a) <= A2;Pfl(a)=A2;end;
          if Pfl(a) >= B2;Pfl(a)=B2;end;   
          
          if Pdzl(a) <= A3;Pdzl(a)=A3;end;
          if Pdzl(a) >= B3;Pdzl(a)=B3;end; 
          
          
          
          %计算对应的目标值
          Moneys   = func_obj(Pdc(a),Pfl(a),Pdzl(a),Pfd,t,Pricefd);
          JJ(a,1)  = Moneys;
      end 
      Objvsel     = JJ ;    
      [Chrom,Objv]= reins(Chrom,Selch,1,1,Objv,Objvsel);   
      gen         = gen+1; 
      [VS,IS]     = min(Objv);
      Best(gen)   = 1/min(Objv);
      fit(gen)    = min(Objv);
      Pdc2(gen)   = Pdc(IS);
      Pfl2(gen)   = Pfl(IS);
      Pdzl2(gen)  = Pdzl(IS);
end 
     if t == 1
        figure;
        plot(Best,'b','linewidth',2);
        xlabel('迭代次数');
        ylabel('优化后的收益');
        grid on
        figure;
        plot(fit,'b','linewidth',2);
        xlabel('迭代次数');
        ylabel('适应度函数收敛情况');
        grid on
     end
     
     Timesdelay
     
    Pdc21  = [Pdc21,Pdc2(end)];
    Pfl21  = [Pfl21,Pfl2(end)];
    Pdzl21 = [Pdzl21,Pdzl2(end)];   

    if t <= Timesdelay
        Pdc22  = [Pdc22,mean(Pdc21(1:t))];
        Pfl22  = [Pfl22,mean(Pfl21(1:t))];
        Pdzl22 = [Pdzl22,mean(Pdzl21(1:t))]; 
    else
        Pdc22  = [Pdc22,mean(Pdc21(t-Timesdelay:t))];
        Pfl22  = [Pfl22,mean(Pfl21(t-Timesdelay:t))];
        Pdzl22 = [Pdzl22,mean(Pdzl21(t-Timesdelay:t))]; 
    end
end

figure;
subplot(221);
plot(Times,Pfd0/1e6,'r','linewidth',2);
xlabel('Time(h)');
ylabel('MW');
title('输入风电变换功率');

subplot(222);
plot(Times,Pdc22/1e6,'b','linewidth',2);
xlabel('Time(h)');
ylabel('MW');
title('电厂调节功率');
axis([0,24,10,80]);

subplot(223);
plot(Times,Pfl22/1e6,'b','linewidth',2);
xlabel('Time(h)');
ylabel('MW');
title('辅助设备调节功率');
axis([0,24,15,25]);

subplot(224);
plot(Times,Pdzl22/1e6,'b','linewidth',2);
xlabel('Time(h)');
ylabel('MW');
title('电炉调节功率');
axis([0,24,20,40]);
 

4.仿真分析

 

A06-43

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fpga和matlab

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值