【优化调度】基于粒子群算法求解燃机冷热电优化联供问题matlab代码

本文介绍了使用粒子群算法优化冷热电联供系统中风机、光伏、微燃机和燃气锅炉等设备的出力,目标是降低运行成本、减少污染排放和提高能源利用率。通过Matlab实现的模型求解,结果显示优化方法有效改善了经济效益与环保性能。
摘要由CSDN通过智能技术生成

 ​1 简介

在研究冷热电联供系统优化运行的过程中,为了更好地优化调度冷热电联供系统中各设备的出力,提出了基于粒子群算法优化算法建立了一个包含风机,光伏,微燃机和燃气锅炉等主要设备的冷热电联供系统模型.以联供系统的运行成本,污染物排放量和能源利用率为目标,建立了优化模型.在满足设备出力,功率平衡等约束条件下,利用Matlab进行了优化求解.仿真结果表明,所提出的冷热电联供系统优化方法,可以有效地提高经济效益,减少污染排放,提高能源利用率.

2 部分代码

pop=initpop(80,2,24,66,33);

objvalue=calobjvalue(pop);

PL=[63 57 44 43 43 40 56 66 78 75 89 105 125 121 116 104 101 103 104 121 116 121 106 89];

QL=[139 136 122 128 128 128 131 142 138 138 150 169 183 187 189 183 171 161 154 165 156 148 141 132];

popsize=80;

scope=24;

PMTmax=66;

PMTmin=33;

MaxIt=60;

c1=2;

c2=2;

w=0.6;

v=zeros(2,24,80);

pbest=pop;

objvaluepbest=calobjvalue(pbest);

gbest=pop(:,:,1);

objvaluegbest=objvalue(1);

 for i=1:(popsize-1)

        if objvalue(i+1)<objvalue(i) 

            gbest=pop(:,:,i+1); %比较每个粒子的适应度,将适应度最小的粒子位置取做gbest

             objvaluegbest=objvalue(i+1);

        end     

 end

 iter=0;%迭代次数

while iter<MaxIt

    iter=iter+1;

    for i=1:popsize

        if objvalue(i)<objvaluepbest(i)

           objvaluepbest(i)=objvalue(i);

            pbest(:,:,i)=pop(:,:,i);%当粒子的适应度小于其最佳适应度时,用其替代原来粒子的最佳适应度,并记下此解

        end

    end

     for i=1:popsize

    if objvalue(i)<objvaluegbest

        objvaluegbest=objvalue(i);

        gbest=pop(:,:,i);%当存在粒子的适应度小于种群的最佳适应度时,用其替代原来种群的最佳适应度,并记下此解

    end

     end

     for i=1:popsize

     gbestpop(:,:,i)=gbest;%将二维gbest拓展为三维gbestpop

     end

     R1=rand(2,24,80);

    R2=rand(2,24,80);  

    v=v*w+c1*R1.*(pbest-pop)+c2*R2.*(gbestpop-pop);

    pop=pop+v;

    for j=1:popsize

    for i=1:scope

        if  pop(1,i,j)>PMTmax/2.91   

            pop(1,i,j)=PMTmax/2.91;

        end

         if  pop(1,i,j)<PMTmin/2.91   

            pop(1,i,j)=PMTmin/2.91;

         end

         %为满足功率平衡,电网购电由燃气轮机出力求得

        pop(2,i,j)=(QL(1,i)-pop(1,i,j)*2*2.91)/2.3+PL(1,i)-2.91*pop(1,i,j);

    end

    end

    objvalue=calobjvalue(pop)

end

gbest

%画图程序

x=[1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18   19  20  21  22  23  24];

y1=PL;

y2=2.91*gbest(1,:);

y3=gbest(2,:);

y7=y2+y3-y1;

scatter(x,y1,'k')

hold on

scatter(x,y2,'r*')

hold on

scatter(x,y3,'b^')

hold on

scatter(x,y7,'kx')

plot(x,y1);

hold on 

plot(x,y2);

hold on

plot(x,y3);

hold on

plot(x,y7);

 xlabel('时刻(h)');

ylabel('输出功率(KW)');

axis([0,24,0,180]);

legend('电负荷','燃机出力','系统与大电网交换功率','电空调功率');

title('夏季各设备电功率曲线图');

y4=QL;

y5=2*2.91*gbest(1,:);

y6=2.3*y7;

figure(2);

scatter(x,y4,'k')

hold on

scatter(x,y5,'r*')

hold on

scatter(x,y6,'b^')

plot(x,y4);

hold on 

plot(x,y5);

hold on

plot(x,y6);

 xlabel('时刻(h)');

ylabel('制冷功率(KW)');

title('夏季各设备冷功率曲线图');

axis([0,24,0,200]);

legend('冷负荷','烟气余热制冷功率','电空调制冷量');

3 仿真结果

4 参考文献

[1]贠保记, 白森珂, 张国. 基于混沌自适应粒子群算法的冷热电联供系统优化[J]. 电力系统保护与控制, 2020, 48(10):8.

​​​​​​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Matlab科研辅导帮

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

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

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

打赏作者

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

抵扣说明:

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

余额充值