1 内容介绍
为了保证小区电动汽车充电时变压器不过载,提出基于遗传算法的小区电动汽车有序充电控制方法.在综合考虑用户充电需求的基础上,以不改变变压器供电容量和"削峰填谷"为目标,采用蒙特卡洛法模拟负荷并采用遗传算法求解电动汽车的最优充电时间,以实现小区内电动汽车的有序充电.分析结果表明,相比无序充电,所提方法能够在不改变变压器供电容量下,满足用户充电需求,并有效地实现"削峰填谷".
2 部分代码
%%------------------------------------------------------
%利用遗传算法对电动汽车有序充电进行优化;优化目标包括充电费用最低,充电时间达到要求(电动汽车充到足够的电)
%考虑电动汽车充电对电网负荷的影响,使负荷峰谷差最小。
%--------------------------------------------------------
clc
clear all
close all
warning off
load jichu.mat
%实时电价数据导入,数据来源PJM
Price=[1.1,1.050,1,1.8,1.6,1.550,1.5,1.6,1.7,1.8,1.9,2.2,2.5,2.6,2.7,2.675,3.650,3.7,3.750,3.825,3.9,3.925,3.950,4.025,4.1,4.150,4.2,4.205,4.210,4.280,4.350,4.425,4.5,4.6,4.7,4.620,4.540,4.395,4.250,4.225,4.2,4.050,2.9,2.6,2.3,2.2,2.1,2.1];
% Price=[RP(35:48),RP(1:14)];% 设定车辆每天17:00之后才回家充电;每天7点之后就离家不充电
%% 遗传算法结果可视化
figure(1)
plot(min_Fitness)% 画出每一代最优个体的适应度
xlabel('遗传代数')
ylabel('组合目标函数值')
title('进化过程')
figure(2)
EV_load=sum(data(INDEX).generation');
EV_load1=sum(generation1');
plot(EV_load*PEV,'r-')
hold on
plot(EV_load1*PEV,'b-')
% set(gca, 'XLim',[1 48]); % X轴的数据显示范围
% set(gca, 'XTick',[8,16,24,32,40,48] ); % X轴的记号点
% set(gca, 'XTicklabel',{'4','8','12','16','20','24'}); % X轴的记号
xlabel('时间/h')
ylabel('负荷功率/kW')
legend('遗传优化后的区域负荷功率曲线''无序区域负荷功率曲线')
figure(3)
Residential_load=[2384.35633333333,2527.0840,2849.1070,3038.9160,3026.13366666667,2888.03833333333,2787.2830,2730.16333333333,2762.67133333333,2965.20133333333,3403.65066666667,3292.44533333333,3011.7440,2804.51133333333,2717.4130,2834.95466666667,3040.08966666667,3160.87966666667,3381.25666666667,3864.43433333333,4218.04066666667,4372.06066666667,4467.65866666667,4694.0800,4610.18166666667,4374.74966666667,4266.39233333333,4200.4780,4027.01666666667,3845.3350,3510.83266666667,3183.2540,2515.2300,1962.55433333333,1617.0920,1397.8030,1240.56566666667,1139.44666666667,1087.19533333333,1047.75966666667,1039.2160,1025.5060,1055.4670,1082.60533333333,1130.1090,1361.02566666667,1719.9520,2047.19933333333];
plot(EV_load*PEV+Residential_load,'r-');hold on% 当地负荷曲线
plot(EV_load1*PEV+Residential_load,'k-')% 叠加电动汽车后的当地负荷曲线
% plot(L_temp,'b');
% set(gca, 'YLim',[500 2000]); % X轴的数据显示范围
set(gca, 'XLim',[1 48]); % X轴的数据显示范围
set(gca, 'XTick',[8,16,24,32,40,48] ); % X轴的记号点
set(gca, 'XTicklabel',{'4','8','12','16','20','24'}); % X轴的记号
xlabel('时间/h')
ylabel('负荷功率/kW')
legend('遗传优化后的区域负荷功率曲线','无序区域负荷功率曲线')
3 运行结果
4 参考文献
[1]王劲峰, 谢诗雨, 李君豪,等. 基于遗传算法的小区电动汽车有序充电策略[J]. 低压电器, 2019, 000(010):47-50