遗传算法求解微电网调度运行优化问题,包含风电、光伏、燃气轮机以及储能设备,同时有和电网的交互。以最小化运行成本为目标,通过遗传算法进行求解。遗传算法过程里的选择、交叉、变异等过程都有单独的m文件,并且已经结合目标函数进行了改写。程序可拓展性很强,且注释非常清楚,出图效果很好。
图1 能量设备功率图
%% 目标函数
% 输入 x:二进制编码
%lenchrom:各变量的二进制位数
% 输出 Y:目标值
% X:十进制数
%X(1)为FC出力;X(2)为BS出力;X(3)为电网出力
for i=1:24
if i==1
Ebat(1)=Ebat0*(1-0.0001)+X(1)*1*0.9;
else
Ebat(i)=Ebat(i-1)*(1-0.0001)+X(i)*1*0.9;
function flag=test(lenchrom,bound,code)
% lenchrom input : 染色体的长度
% bound input : 变量的取值范围
% code output: 染色体的编码值
flag=1;
[n,m]=size(code);
for i=1:n
if code(i)<bound(i,1) || code(i)>bound(i,2)
flag=0;
end
end
%本函数将变量编码成染色体,用于随机初始化一个种群
% lenchrom input : 染色体的长度
% bound input : 变量的取值范围
% ret output: 染色体的编码值