赞
踩
基于遗传算法的微电网经济运行优化matlab程序
摘 要: 微电网作为智能电网的一部分,是分布式电源接入电网的一种有效手段,微电网经济运行是其中一个重要研究方面。考察微电网经济性,通常是从最小运行成本和最小环境污染物排放成本两方面入手进行微电网的多目标优化,通过给适应度函数设置权重系数,将多目标函数转换为单目标函数。结合具体的微电网系统算例进行了仿真研究,结果显示: 运用权重系数法能够使优化目标中经济成本与环境成本达到一个相对平衡的状态,实现了微电网经济运行。
关键词: 微电网; 遗传算法; 多目标优化; 权重系数法
基于遗传算法的微电网经济运行优化
1 微电网电源构成
1.1 微型燃气轮机( MT)
微型燃气轮机利用天然气、沼气等多种燃料提供热能与电能。
1.2 光伏电池( PV)
光伏电池将太阳能转化为直流电能,其是一种非线性电能,电压与电流随着光照强度和温度的改变呈现出非线性。 1.3 风力发电( WT)
风力发电是利用风电机组叶片从风中获得能量转换为机械能,然后传送给发电机,转化为电能,因此风力发电燃料成本和气体排放治理成本为 0。风力发电机组的输出功率与风速有关
1.4 蓄电池储能( SB)
微电网中蓄电池充放电过程交替进行,充电达到额定容量后进入放电过程,放电达到 SOC ( 荷电状态) 为额定容量的 30% 时,停止放电,进入充电。
2 微电网的运行优化
2.1 目标函数
4 算例结果如下
1)迭代结果
2)光伏、风电出力
3)微型燃机、蓄电池出力
5 matlab程序
// 基于遗传算法的微电网经济运行优化matlab程序 %% 清空环境 clc clear tic; close all global Load pv wt %% 24小时负荷,光伏与风力 Load=[101.049,79.991,41.862,101.312,67.139,82,85.085,110.875,115.249,120.687,98.786,103.944,121.629,136.151,137.752,118.824,139.221,157.158,101.689,127.4,135.312,96.692,90.243,109.587];%负荷. pv=[0,0,0,0,0,0.6,2.4,10.5,30,69,69.9,95.4,129.9,111,120.9,99,71.4,39.9,12.9,0.9,0,0,0,0];%光伏发电 wt=10*[2.67,2.67,2.34,3.12,3.29,4.76,4.77,4.24,3.81,4.59,3.9,4.94,3.55,4.33,3.21,3.29,3.03,3.64,3.73,2.6,3.38,3.12,3.46,3.64];%风力发电 %% 遗传算法参数 MAXGEN=200; %进化代数 sizepop=40; %种群规模 pcross=0.6; %交叉概率 pmutation=0.01; %变异概率 lenchrom=ones(1,48); %变量字串长度,48个变量 bound=[-20 20 -20 20 -20 20 -20 20 -20 20 -20 20 -20 20 -20 20 -20 20 -20 20 -20 20 -20 20 -20 20 -20 20 -20 20 -20 20 -20 20 -20 20 -20 20 -20 20 -20 20 -20 20 -20 20 -20 20 30 120 30 120 30 120 30 120 30 120 30 120 30 120 30 120 30 120 30 120 30 120 30 120 30 120 30 120 30 120 30 120 30 120 30 120 30 120 30 120 30 120 30 120 30 120 30 120]; %BS、DE变量范围 trace=zeros(1,MAXGEN); %% 个体初始化 gen=1; fprintf('%d\n',gen); individuals=struct('fitness',zeros(1,sizepop), 'chrom',[],'pgrid',[],'Ebat',[]); %种群结构体 bestfitness=[]; %种群最佳适应度 bestchrom=[]; %适应度最好染色体 % 初始化种群 for i=1:sizepop individuals.chrom(i,:)=Code(lenchrom,bound); %随机产生个体 X=individuals.chrom(i,:); [money pgrid Ebat]=fun(X); individuals.fitness(i)=money; %个体适应度 individuals.pgrid(i,:)=pgrid; individuals.Ebat(i,:)=Ebat; end %找最好的染色体 [bestfitness bestindex]=min(individuals.fitness); bestchrom=individuals.chrom(bestindex,:); %最好的染色体 bestpgrid=individuals.pgrid(bestindex,:); bestEbat=individuals.Ebat(bestindex,:); 。。。。。。。。。。。略
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。