基于蒙特卡洛的电动车有序充放电(Matlab代码实现)

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

目前更新:电力系统相关知识,期刊论文,算法,机器学习和人工智能学习。
支持:如果觉得博主的文章还不错或者您用得到的话,可以关注一下博主,如果三连收藏支持就更好啦!这就是给予我最大的支持! 

本文目录如下:⛳️⛳️⛳️

目录

1 概述

2 蒙特卡洛模拟方法介绍

3 基于蒙特卡洛法的规模化电动汽车充电负荷预测(Python&Matlab实现)

4 (Matlab实现)基于蒙特卡诺和拉格朗日乘子法的电动车调度【有序、无序充放电】

5 规模化电动汽车充电负荷预测计算方法

6 仿真结果

7 兴趣

8 Matlab代码实现


1 概述

电动汽车EV(Electric Vehicle)具有清洁环保、高效节能的优点,不仅能缓解化石能源危机,而且能够有效地减少温室气体的排放。2015年10月,国务院发布加快EV充电基础设施建设的指导意见,指出到2020年充电基础设施能满足500万辆EV充电需求,预计未来几年我国EV的保有量将大幅增长。然而,规模化EV的无序充电会加大电网负荷的峰谷差,并对电力系统的规划、配电网的电能质量和经济运行以及稳定性带来显著的影响,反之.对EV的充电行为进行有序优化控制,充分发挥EV作为分布式储能元件的优势,能够实现削峰填谷、平抑可再生能源出力波动的功能,并为电网提供调峰、调频等辅助服务。本文利用蒙特卡洛模拟法和拉格朗日松弛法模拟出电动汽车负荷曲线,同时求解出无序充电功率曲线,作为有序充电曲线的对比基础。

2 蒙特卡洛模拟方法介绍

计算机模拟中的蒙特卡洛法也被称为随机抽样技术或统计检验方法,该方法最重要的特点是它是一种基于概率统计理论的方法。随着科学技术的发展和电子计算机的发明,蒙特卡洛法以其描述物理发展特点和物理实验过程的优点,在各个领域得到了广泛的应用。

在这篇文章有讲解和代码:蒙特卡罗法(随机模拟法)

蒙特卡洛模拟程序结构非常简单,随机数带入公式计算出结果,虽然没有毕竟最优的过程,模拟次数较少时很难得到满意的结果,而蒙特卡罗方法能够真实地模拟实际问题发生过程,故解决问题也比较实际,这也因此在交通运输、机械仿真、物理实验等常见到蒙特卡洛模拟步骤。

蒙特卡洛模拟用法主要是嵌套于仿真模型中,虽然在比赛中不常用,一般在工业生产中,常会遇到拟定几个方案,这时就可以根据不同的模型及规则条件求得结果的分布情况,以评价方案的优劣。
 

 在这篇文章用Matlab实现:整数规划蒙特卡洛模拟(Matlab实现)

3 基于蒙特卡洛法的规模化电动汽车充电负荷预测(Python&Matlab实现)

基于蒙特卡洛法的规模化电动汽车充电负荷预测(Python&Matlab实现)

4 (Matlab实现)基于蒙特卡诺和拉格朗日乘子法的电动车调度【有序、无序充放电】

(Matlab实现)基于蒙特卡诺和拉格朗日乘子法的电动车调度【有序、无序充放电】

5 规模化电动汽车充电负荷预测计算方法

经过原理及模型研究,假定各用途电动汽车均处于无序充电的状态,具体的计算方法如下:



(1)计算车辆的初始荷电状态和充电所需时长。电动汽车动力电池的剩余电量直接关系到电动汽车的充电所需时间。对于电动汽车的充电所需时间,文章运用电动汽车动力电池的荷电状态( state of charge,SOC)来进行计算。假设电池消耗电量与行驶距离成正比,d​为已行驶距离,d_{m}​为电动模式下最大续航里程。此处假定每种不同用途的电动汽车每公里的耗电量相同,最后一次出行结束时的剩余电量由下式计算所得:


式中SOC1为完成充电时的电池荷电状态,SOC2为上一次完成充电时的电池荷电状态。

计算电动汽车充电所需时间T,可以通过将电池容量C、起始荷电状态SOC和充电功率Р求
得,具体公式如下:


(2)计算某一种用途电动汽车在第i个充电负荷计算点时的总充电负荷。本文将每天计算为1440分钟,每15分钟计算一次充电负荷,共计96个充电负荷计算点,计算预测北京市各用途的电动汽车充电负荷,得到各用途电动汽车充电负荷。某一种用途电动汽车的充电负荷的预测计算方法如下:



其中t_{1}​表示第n 台某一种用途电动汽车结束充电的时刻,t_{2}​表示第n台某种用途电动汽车开始充电的时刻,T表示第n台某种用途电动汽车充电所需时间。某一种用途电动汽车在第 i个充电负荷计算点时的总充电负荷P_{n,i}​可由以下方法计算得到

 

P_{t_{i}}​表示第n台电动汽车在第i个充电负荷计算点时的充电负荷,N表示某一种用途电动汽车的保有量。
(3)通过叠加各用途电动汽车的充电负荷得到总的电动汽车充电负荷。第i个充电负荷计算点的总电动汽车充电负荷的计算方式如公式(4-6)所示:


 

式中,Nc,Nt,Nb分别表示在i时刻充电的电动私家车、电动出租车、电动公交车的数量;P_{nc,i}​,P_{nt,i}​,P_{nb,i}​分别表示在i时刻电动私家车、电动出租车、电动公交车的充电负荷大小。

6 仿真结果

部分代码:

Load=xlsread('数据.xls')
for i=1:1:5000
    S=20+10*rand(1);%容量
    P=rand(1)+2;%充电功率
    finish(i,1)=17.6+3.4*randn(1);%最后出行结束时刻
    if finish(i,1)>24
        finish(i,1)=finish(i,1)-24;
    end
    while(finish(i,1)<0)
        finish(i,1)=17.6+3.4*randn(1);
    end
    finish(i,1)=ceil(finish(i,1));
    distance(i,1)=lognrnd(3.2,0.88);
    while(distance(i,1)>160/1.61)
        distance(i,1)=lognrnd(3.2,0.88);%日行驶里程
    end
    %% 放电
    temp=9*rand(1);
    if (temp<=6)
        disch(i,1)=10+temp;
    else
        disch(i,1)=20-6+temp;
    end

7 兴趣

博主课外兴趣:中西方哲学,送予读者:

‍做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。当哲学课上老师问你什么是科学,什么是电的时候,不要觉得这些问题搞笑,哲学就是追究终极问题,寻找那些不言自明只有小孩子会问的但是你却回答不出来的问题。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能让人胸中升起一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它居然给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“真理”上的尘埃吧。

     或许,雨过云收,神驰的天地更清朗.......

8 Matlab代码实现

个人主页:@橘柑橙柠桔柚

你可能感兴趣的:(电气代码,matlab,开发语言,电动车,蒙特卡诺)