ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

【优化配置】遗传算法求解风电混合储能容量优化配置问题matlab源码

2022-02-03 10:34:08  阅读:238  来源: 互联网

标签:25 储能 优化 range 源码 matlab fitness chrom best


1 简介

1 引言

风能是一种清洁能源,但由于自然条件的变化,风速和风向不断的、随机的变化,导致风力发电输出功率具有不稳定性和不可预测性,直接影响微电网的调度运行,而通过风力发电系统和储能设备的协调配合,可以提高风力发电技术的可调度性和可控性。

近年来,混合储能的容量配置及控制策略得到广泛的关注。混合储能将容量小、寿命长、功率比较高储能环节与容量比较大、循环次数受限、相对能量比高、功率比低的储能环节结合使用,如将超级电容器与蓄电池混合。但是对混合储能的研究仍然处于初级阶段,而且研究主要集中在控制策略上,对容量配置的研究较少。目前对容量配置的研究大多按照经验配置混合储能的容量,未用定量的分析。本文中风力发电系统的储能装置是蓄电池和超级电容器混合组成的,混合储能系统的容量配置是一个非线性规划问题,利用遗传算法进行求解,配置混合储能装置的全生命周期最小费用。

2 模型分析

基于蓄电池和超级电容器混合储能独立风力发电系统的结构如图 1 所示。当风速比较大时,储能装置处于充电状态,将电能存储起来;当风速比较弱或者峰值负荷时储能装置为负荷供电,以保证系统平稳连续的供电,提高供电可靠性。

2 部分代码

clc;

clear;

close all

%% 基础参数

%风电出力

Pwind=[24.6,22.1,17.5,13.5,10.1,8.5,13.9,23.5,25.8,29.4,35.1,38.9,36.9,32.5,30.3,25,23.2,25.1,27.8,32.3,35.3,35.5,25,10.8,];

%原电网24小时负荷

Pload=[55,50,53.1,49.4,54,49.4,45.6,34.8,30.1,25.2,21.8,10,10.9,11.2,6.3,5.9,5,5.6,18.6,35,36.2,37.1,40.2,25.3];

N = 100;  %种群内个体数目

N_chrom = 25; %染色体节点数,也就是每个个体有多少条染色体,其实说白了就是看适应函数里有几个自变量。

iter = 1000; %迭代次数,也就是一共有多少代

mut = 0.2;  %突变概率

acr = 0.2; %交叉概率

best = 1;

%每个节点的值的区间

for i=1:24

   chrom_range(1,(i+1)) = 0;

   chrom_range(2,(i+1)) = 0;

   if (Pload(i)-Pwind(i))>=0

       chrom_range(2,(i+1)) =(Pload(i)-Pwind(i));

   else

       chrom_range(1,(i+1)) = (Pload(i)-Pwind(i));

   end

end

chrom_range(1,1) = 100;

chrom_range(1,2:25) = -35;

chrom_range(2,1) = 80000;

chrom_range(2,2:25) = 50;

%% 初始化,这只是用于生成第一代个体,并计算其适应度函数

chrom = Initialize(N, N_chrom, chrom_range); %初始化染色体

fitness = CalFitness(chrom, N, N_chrom); %计算适应度

chrom_best = FindBest(chrom, fitness, N_chrom); %寻找最优染色体

fitness_best(1) = chrom_best(end); %将当前最优存入矩阵当中

fitness_ave(1) = CalAveFitness(fitness); %将当前平均适应度存入矩阵当中

%% 用于生成以下其余各代,一共迭代多少步就一共有多少代

for t = 2:iter

  chrom = MutChrom(chrom, mut, N, N_chrom, chrom_range, t, iter); %变异,这个进行基因突变处理的函数原理没有懂!!!

   chrom = AcrChrom(chrom, acr, N, N_chrom); %交叉

   fitness = CalFitness(chrom, N, N_chrom); %计算适应度

   chrom_best_temp = FindBest(chrom, fitness, N_chrom); %寻找最优染色体

   if chrom_best_temp(end)>chrom_best(end) %替换掉当前储存的最优

       chrom_best = chrom_best_temp;

   end

   %%替换掉最劣

   [chrom, fitness] = ReplaceWorse(chrom, chrom_best, fitness);

   fitness_best(t) = chrom_best(end); %将当前最优存入矩阵当中

   fitness_ave(t) = CalAveFitness(fitness); %将当前平均适应度存入矩阵当中

end

%% 作图

figure(1)

plot( 1:iter, fitness_best, 'b')

grid on

legend( '迭代优化结果')

%e=PlotModel(chrom_best);

figure(2)

t=1:24;

Pwind=[24.6,22.1,17.5,13.5,10.1,8.5,13.9,23.5,25.8,29.4,35.1,38.9,36.9,32.5,30.3,25,23.2,25.1,27.8,32.3,35.3,35.5,25,10.8,];

%原电网24小时负荷

Pload=[55,50,53.1,49.4,54,49.4,45.6,34.8,30.1,25.2,21.8,10,10.9,11.2,6.3,5.9,5,5.6,18.6,35,36.2,37.1,40.2,25.3];

plot(t,Pwind,'-')

hold on

plot(t,Pload,'-o')

hold on

plot(t,chrom_best(2:25),'-.')

legend( '风电出力','电网负荷','蓄电池出力')

%% 输出结果

disp(['最优染色体为', num2str(chrom_best(1:end-1))])

disp(['最优适应度为', num2str(chrom_best(end))])

function fitness = CalFitness(chrom, N, N_chrom)

fitness = zeros(N, 1);

%风电出力

Pwind=[24.6,22.1,17.5,13.5,10.1,8.5,13.9,23.5,25.8,29.4,35.1,38.9,36.9,32.5,30.3,25,23.2,25.1,27.8,32.3,35.3,35.5,25,10.8,];

%原电网24小时负荷

Pload=[55,50,53.1,49.4,54,49.4,45.6,34.8,30.1,25.2,21.8,10,10.9,11.2,6.3,5.9,5,5.6,18.6,35,36.2,37.1,40.2,25.3];

%% 基本参数

etac=0.95;%风电逆变效率

afa=0.7;%不平衡功率基本部分

belta=0.65;%重要负荷占比

lpsp=0.05;%缺电率

%% 蓄电池参数

 Ub=12;%蓄电池额定电压

 Cb=100;%蓄电池容量

 DoD=0.4;%放电深度  

 etabc=0.75;%充电效率

 etabd=0.85;%放电效率

 fob=0.1;%运行系数

 fmb=0.02;%维护系数

 fdb=0.08;%处理系数

 Pb=400;%蓄电池单价

3 仿真结果

4 参考文献

基于遗传算法的风电混合储能容量优化配置[J].杨国华,朱向芬,周鑫,丁晓花,卫宁波,马玉娟,王金梅.电气传动. 2015,45(02)​

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

标签:25,储能,优化,range,源码,matlab,fitness,chrom,best
来源: https://blog.csdn.net/qq_59747472/article/details/122774372

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有