目录
一、理论基础
风力发电功率模型为:
2个风力发电功率模型
通过GA优化算法对比三个模型算出的结果。
二、案例背景
1.问题描述
由于化石燃料的消耗和污染特性,有必要寻找清洁能源以满足需求。人们正在关注风能和太阳能等可再生能源的使用,因为它们清洁、污染少。风力发电(WPG)和光伏发电(PVG)是在偏远和农村地区提供负荷的最有前景的技术,这些地区的公用事业线路由于地形原因安装不经济。提出了一种带有储能设备的独立混合风/光伏发电系统,该系统将有效地结合风能和太阳能的互补特性,以提高系统的可靠性并降低其成本。在混合动力系统中协调可再生能源、发电设备、储能装置和负载非常复杂,以经济可靠的方式获得电力对于混合动力系统的优化设计也非常重要。
2.思路流程
首先,通过matlab进行建模,然后通过遗传算法二进制编码求解混合发电系统配置优化问题。
三、部分MATLAB程序
遗传算法二进制编码求解混合发电系统配置优化问题
%***************遗传算法二进制编码求解混合发电系统配置优化问题 function [Apv,Aw,Cp,CT,LPSP,Pdump,Pdeficit,SOC,Iteration,BestJ,Bfi]=GASolveHybirdSystemSize(WindDataPV,SolarDataPVR,LoadDataPV,Apv_max,Aw_max,Cb_max) %**************遗传参数设置 Size=200;%种群大小 G=200;%迭代代数 CodeL=10;%编码长度 %**************问题解约束空间 u1max=Apv_max; u1min=0; u2max=Aw_max; u2min=0; u3max=Cb_max; u3min=0; %**************初始化编码 E=round(rand(Size,3*CodeL)); %**************GA主程序 for k=1:1:G k Iteration(k)=k; for s=1:1:Size m=E(s,:); y1=0;y2=0;y3=0; %*******************解码 m1=m(1:1:CodeL); for i=1:1:CodeL y1=y1+m1(i)*2^(i-1); end x1=(u1max-u1min)*y1/1023+u1min; m2=m(CodeL+1:1:2*CodeL); for i=1:1:CodeL y2=y2+m2(i)*2^(i-1); end x2=(u2max-u2min)*y2/1023+u2min; m3=m(2*CodeL+1:1:3*CodeL); for i=1:1:CodeL y3=y3+m3(i)*2^(i-1); end x3=(u3max-u3min)*y3/1023+u3min; %******************适应度函数 [F(s),~,~,~,~,~]=GAFitnessFunction(x1,x2,x3,WindDataPV,SolarDataPVR,LoadDataPV); end Ji=1./F; %*****************第一步:评估适应度 BestJ(k)=min(Ji); fi=F; %适应度函数 [Oderfi,Indexfi]=sort(fi); %按照适应度大小从小到大排序 Bestfi=Oderfi(Size); %选取最佳适应度 BestS=E(Indexfi(Size),:); %最佳基因序列 Bfi(k)=Bestfi; %记录最佳适应度值 %*****************第二步:选择和复制操作 fi_sum=sum(fi); fi_Size=(Oderfi/fi_sum)*Size; fi_S=floor(fi_Size); %选择适应度较好的基因个体 kk=1; for i=1:1:Size for j=1:1:fi_S(i) %选择和复制操作 TempE(kk,:)=E(Indexfi(i),:); kk=kk+1; end end %*****************第三步:交叉操作 pc=0.60;%交叉概率 n=ceil(30*rand); for i=1:2:(Size-1) temp=rand; if pc>temp %交叉条件 for j=n:1:30 TempE(i,j)=E(i+1,j); TempE(i+1,j)=E(i,j); end end end TempE(Size,:)=BestS; E=TempE; %*****************第三步:变异操作 pm=0.1; %变异概率 for i=1:1:Size for j=1:1:2*CodeL temp=rand; if pm>temp %变异条件 if TempE(i,j)==0 TempE(i,j)=1; else TempE(i,j)=0; end end end end %保证第30个基因个体是最佳基因序列 TempE(Size,:)=BestS; E=TempE; end %**********************解码最佳基因序列对应的各个参数优化值 y1=0;y2=0;y3=0; m1=BestS(1:1:CodeL); for i=1:1:CodeL y1=y1+m1(i)*2^(i-1); end m2=BestS(CodeL+1:1:2*CodeL); for i=1:1:CodeL y2=y2+m2(i)*2^(i-1); end m3=BestS(2*CodeL+1:1:3*CodeL); for i=1:1:CodeL y3=y3+m3(i)*2^(i-1); end Apv=(u1max-u1min)*y1/1023+u1min; Aw=(u2max-u2min)*y2/1023+u2min; Cp=(u3max-u3min)*y3/1023+u3min; %**********************混合发电系统最佳配置的性能参数输出 [~,LPSP,Pdump,Pdeficit,SOC,CT]=GAFitnessFunction(x1,x2,x3,WindDataPV,SolarDataPVR,LoadDataPV);
混合发电系统优化配置算法
%********混合发电系统优化配置算法 clc; clear all; close all; RandStream.setDefaultStream(RandStream('mt19937ar','seed',1)); %********优化参数约束空间 Apv_max=50;%单位为m2 Aw_max=120;%单位为m2 Cb_max=160;%单位为KWH %********读取当地气候数据 [WindDataPV,SolarDataPVR,LoadDataPV]=ReadLocalClimaticData(); %***************遗传算法二进制编码求解混合发电系统配置优化问题 [Apv,Aw,Cb,CT,LPSP,Pdump,Pdeficit,SOC,Iteration,BestJ,Bfi]=GASolveHybirdSystemSize(WindDataPV,SolarDataPVR,LoadDataPV,Apv_max,Aw_max,Cb_max); Apv,Aw,Cb,CT,LPSP
四、仿真结论分析
X坐标为风力发电机风轮扫过的面积
Y坐标为光伏组件的面积
Z 坐标为:LPSP(负荷失电率)
五、参考文献
[1]廖萍, 李兴源, 徐娇. 小型风力发电机模型及其接入系统研究[J]. 南方电网技术, 2008, 2(1):5.A02-25
Be First to Comment