电动汽车有序充电调度优化

针对大规模电动汽车无序充电对电网运行带来的影响和目前我国新能源消纳存在的问题,引导电动汽车有序充电以实现新能源的就地消纳.以用户充电总费用最低和电网负荷峰谷差最小为优化目标,综合考虑用户充电需求和新能源出力等约束条件,建立基于动态分时电价的多目标优化模型,并运用Matlab进行编程仿真.通过算例仿真,验证了所提策略可降低电网负荷峰谷差和用户充电总费用,达到削峰填谷和消纳新能源的效果。

 

 

电动汽车有序充电调度优化_第1张图片

电动汽车有序充电调度优化_第2张图片电动汽车有序充电调度优化_第3张图片

电动汽车有序充电调度优化_第4张图片

 

 

部分代码展示

%% 主程序,需要用到前面的两份生成的数据文件
clc
clear all
close all

%% 读取数据
% load EVdata.mat
% load data.mat

global EVLoad BLoad WTP EV
global EPrice
global EVnum
TMP = [];
for k = 0 : 4
    EVnum = 100 + 100*k;%EV数量
    EV0
    data
    load EVdata.mat
    load data.mat
    BLoad = Load(:,2)';
    [EPrice,PriceT] = EPriceCAL(WTP(:,2));%考虑风电影响的电价
    HighPriceTime = [];MediumPriceTime = [];LowPriceTime = [];
    
    for i = 1 : length(PriceT)
        if PriceT(i) == 1
            HighPriceTime = [HighPriceTime,i];
        end
        if PriceT(i) == 2
            MediumPriceTime = [MediumPriceTime,i];
        end
        if PriceT(i) == 3
            LowPriceTime = [LowPriceTime,i];
        end
    end
    %% PSO参数设置
    % Problem preparation
    problem.nVar = EVnum;
    problem.ub = ones(1,EVnum)*24;% Upper boundary
    problem.lb = EV(:,1)';% Lower boundary
    problem.fobj = @fun;
    
    % PSO parameters
    noP = 10;
    maxIter = 1000;
    visFlag = 0; % set this to 0 if you do not want visualization
    
    RunNo  = 30;
    BestSolutions_PSO = zeros(1 , RunNo);
    
    
    %% PSO优化
    [GBEST , cgcurve] = PSO( noP , maxIter, problem , visFlag ) ;
    
    % % % % [BestSol,BestCost] = pso(nVar,VarMin,VarMax,...
    % % % %     MaxIt,nPop,w,wdamp,c1,c2,@fun);
    %% 收敛图
    figure
    plot(cgcurve,'-r','Linewidth',1.5)
    
    title('PSO收敛图');
    xlabel('迭代次数');
    ylabel('目标函数');
    
    
    
    %% 优化结果展示
    disp(['各电动汽车调度充电时间点:',num2str(round(GBEST.X))])
    
    
    disp(['最优电动汽车调度策略的目标函数',num2str(GBEST.O)])
    
    
    [~,deltaP,ChargeCost,PLD,WindEnergyApplied] = fun(GBEST.X);
    disp(['最优电动汽车调度策略的峰值差',num2str(deltaP)])
    
    
    disp(['最优电动汽车充电成本',num2str(ChargeCost)])
    
    
    disp(['最优风能利用量:',num2str(sum(WindEnergyApplied))])
    
    TMP = [TMP;PLD];%存储各个情况下的优化负荷曲线结果
end


%% 画图,得到电动汽车优化前后总的负荷曲线
PLD0 = BLoad + EVLoad;
plot(PLD0(1,:),'-gs','linewidth',2);
title('优化电动汽车充电策略前后的总负荷');
xlabel('时间/h');
ylabel('功率需求/kW');
hold on

plot(TMP(1,:),'-rs','linewidth',2);
plot(TMP(2,:),'-bs','linewidth',2);
plot(TMP(3,:),'-ys','linewidth',2);
plot(TMP(4,:),'-ks','linewidth',2);
plot(TMP(5,:),'-ms','linewidth',2);


% title('优化电动汽车充电策略前后的总负荷');
% xlabel('时间/h');
% ylabel('功率需求/kW');
legend('优化前负荷曲线','N=200优化后负荷曲线','N=400优化后负荷曲线','N=600优化后负荷曲线','N=800优化后负荷曲线','N=1000优化后负荷曲线')

%% 电价数据展示
disp(['高电价时间段: ',num2str(HighPriceTime)])

disp(['平电价时间段: ',num2str(MediumPriceTime)])

disp(['低电价时间段: ',num2str(LowPriceTime)])

%% 风电利用展示
%无序充电风能利用
[~,~,~,~,WindEnergyApplied0] = fun(problem.lb);

%优化后风能利用,有序充电风能利用
WindEnergyApplied
figure
plot(WindEnergyApplied0,'-r','linewidth',1.5)
hold on
plot(WindEnergyApplied,'-g','linewidth',1.5)
title('有序充电和无序充电风电利用量');
xlabel('时间/h');
ylabel('风电利用量/kW');
legend('无序充电','有序充电')

 

 

专注优化算法开发,包括以下方面:

(1)启发式算法,元启发式算法,群智能优化算法(GA,PSO,GWO等)

(2)凸优化(ADMM,Benders分解,内点法等)

(3)多目标优化(NSGA-II,MOPSO,MOGWO等)

(4)机器学习(神经网络,SVM,决策树,随机森林等)
电力系统优化建模,多学科优化建模,包括:

(1)电力系统运行优化(日前优化调度,微电网运行优化,电动汽车调度优化,负荷调度,环境经济调度,风电储能优化,非侵入式负荷分解,神经网络分类预测)电力系统优化规划(可靠性评估,启发式算法优化,多阶段优化,鲁棒优化)
(2)TSP,VRP经典算法问题(含时间窗VRPTW)

(3)参数优化(PID智能优化调参,参数拟合,参数识别)
(4)分类问题,回归问题求解(轴承故障诊断,曲线拟合)

 

 

你可能感兴趣的:(电力系统优化,matlab)