电动汽车入网技术(V2G)调度优化(Matlab代码实现)

简介: 电动汽车入网技术(V2G)调度优化(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥


🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。


⛳️座右铭:行百里者,半于九十。


📋📋📋本文目录如下:🎁🎁🎁


目录


💥1 概述


📚2 运行结果


🎉3 参考文献


🌈4 Matlab代码实现


💥1 概述

近年来我国电动汽车行业飞速发展,其中电动汽车入网技术(vehicle-to-grid,V2G)在中国新电力系统和能源互联网中是成本较低、规模较大、安全性能较好的一项新兴技术,成为未来发展的趋势。由于当前V2G技术不够成熟,试点项目较少,用户参与V2G的放电行为特征数据和V2G参与电力市场的案例分析较少。


本文开发了一种算法来调度使用充电站的500辆电动汽车(EV),以使充电成本最小化,同时,随机调度任意少量的电动汽车行驶到指定的房屋负载,在那里放电并返回充电站。模拟测试了三种不同的场景——首先,客户满意度(即电动汽车车主满意度)被认为是从放电中赚取的钱和在充电中花费的钱之间的总差异,其次,客户满意度与第一种场景相同,但减去模拟结束时未完成充电的总成本,第三,客户满意度考虑了放电利润、充电成本、未完成充电总成本以及在整个模拟过程中从每辆电动汽车切换的成本。


📚2 运行结果


e0055287fedd40209bac118e5c63cc35.png

6076f27dbefe40399d1ab83d61088b75.png

ae6f577f084f41de83102370b2cfb20b.png

ec5311312bd041f1b18baaf819bc7967.png

1a6db2b64e3d442bb32d9ecb0045699d.png

18eb122b2c0b487391eb1a781b465fd2.png

6c0c99028e984c8dbfe95fe14da2de88.png

4c854edd155ae987d0482601abf2df27.png

21ead4176cc5ec548ee23d4d5830d2b2.png

bb181a0b33ff11e583700106adf1c60c.png

910dc51f645aba2fff37ec0039ce661e.png

4ec041b0dcb54b37e21a9d379c906663.png


主函数部分代码:

clear all
clc
close all
global EV 
global CS_first CS_second CS_third Ct_available_EU Pt_available_EU pc periods N home_vehicles max_loss planning_periods cpt_available_EU
global list_of_total_switches_made_1st 
global frequency_of_switches_1st 
global total_x_1st
global total_y_1st
global list_of_total_z_1st
global frequency_of_z_1st
global EV_1st
global list_of_total_switches_made_2nd 
global frequency_of_switches_2nd
global total_x_2nd
global total_y_2nd
global list_of_total_z_2nd
global frequency_of_z_2nd
global EV_2nd
global list_of_total_switches_made_3rd
global frequency_of_switches_3rd
global total_x_3rd
global total_y_3rd
global list_of_total_z_3rd
global frequency_of_z_3rd
global EV_3rd
global no_home_vehicles
global home_vehicle_SOC_predictions_1st
global home_vehicle_SOC_predictions_2nd
global home_vehicle_SOC_predictions_3rd
%% Initialize all the required variables and parameters
%Choose the number of vehicles you want taking mid-home trips to discharge
%at homes - default = 20
no_home_vehicles = 20;
main_initialization
max_loss = -100; %maximum cost in cents an EV owner is willing to pay for charging
%Customer satisfaction variables
CS_first = 0;
CS_second = 0;
CS_third = 0;
%% Simulation - 1st scenario
EV_initial = EV;
first_scenario
%Customer satisfaction calculation for first scenario
for t = 1:periods
    for i = 1:N
        CS_first = CS_first + EV(i).y(t)*Pt_available_EU(t) - EV(i).x(t)*Ct_available_EU(t);
    end
end
first_scenario_plot_parameters
%% Analysis of travelling EV's that took home trips - first scenario
fprintf('FOR THE FIRST SCENARIO,\n\n');
for j = 1:length(home_vehicles)
    fprintf('Electric vehicle %i had the following states of charge at the associated arrival/departure times:\n', home_vehicles(j));
    for i = 1:length(EV(home_vehicles(j)).schedule)
        if rem(i,2) ~= 0
            fprintf('Arrival time at period %i => SOC of %i percent of maximum battery level\n', EV(home_vehicles(j)).schedule(i), EV(home_vehicles(j)).soc(EV(home_vehicles(j)).schedule(i))*100/EV(home_vehicles(j)).mc);
        else
            fprintf('Departure time at period %i => SOC of %i percent of maximum battery level\n', EV(home_vehicles(j)).schedule(i), EV(home_vehicles(j)).soc(EV(home_vehicles(j)).schedule(i))*100/EV(home_vehicles(j)).mc);
        end
    end
    fprintf('\n');
    fprintf('Estimated SOC percentage at the end of the simulation = %i percent\n', home_vehicle_SOC_predictions_1st(i)*100/EV(home_vehicles(j)).mc);
    fprintf('Actual SOC percentage at the end of the simulation = %i percent\n', EV(home_vehicles(j)).soc(EV(home_vehicles(j)).schedule(6))*100/EV(home_vehicles(j)).mc);
    fprintf('\n');
end
%% Simulation - 2nd scenario
EV = EV_initial;
second_scenario
%Customer satisfaction calculation for second scenario.
for i = 1:N
    for t = 1:periods
        CS_second = CS_second + EV(i).y(t)*Pt_available_EU(t) - EV(i).x(t)*Ct_available_EU(t);
    end
    CS_second = CS_second - pc*EV(i).z;
end


🎉3 参考文献

[1]洪睿洁,顾丹珍,莫阮清,蔡思楠,张超林.基于用户偏好的电动汽车储能V2G策略优化研究[J/OL].储能科学与技术:1-11[2023-05-17].


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


🌈4 Matlab代码实现


相关文章
|
3天前
|
数据安全/隐私保护
地震波功率谱密度函数、功率谱密度曲线,反应谱转功率谱,matlab代码
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
3天前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
3天前
|
算法 调度
考虑需求响应的微网优化调度模型【粒子群算法】【matlab】
考虑需求响应的微网优化调度模型【粒子群算法】【matlab】
|
3天前
|
算法 调度
面向配电网韧性提升的移动储能预布局与动态调度策略(matlab代码)
面向配电网韧性提升的移动储能预布局与动态调度策略(matlab代码)
|
3天前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
|
3天前
|
运维 算法
基于改进遗传算法的配电网故障定位(matlab代码)
基于改进遗传算法的配电网故障定位(matlab代码)
|
3天前
|
Serverless
基于Logistic函数的负荷需求响应(matlab代码)
基于Logistic函数的负荷需求响应(matlab代码)
|
3天前
|
供应链 算法
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)
|
3天前
|
算法 调度
基于多目标粒子群算法冷热电联供综合能源系统运行优化(matlab代码)
基于多目标粒子群算法冷热电联供综合能源系统运行优化(matlab代码)

热门文章

最新文章