互动环境下分布式电源与电动汽车充电站的优化配置方法研究-全文复现matlab

本文主要是介绍互动环境下分布式电源与电动汽车充电站的优化配置方法研究-全文复现matlab,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、主要内容

本程序包含论文二、三、四、五共五章算例内容,每章内容​如下:

第二章的主要研究内容为计及光伏电站快速无功响应特性的分布式电源优化配置方法。考虑越来越多的敏感负荷接入配电系统,以及 PV-STATCOM 这一将光伏逆变器用作 STATCOM 以提供快速无功响应功能的新技术,本章提出了一类加权电压支撑能力指标以量化光伏电站在紧急状态下对敏感负荷节点电压恢复效率的影响,并将其嵌入到分布式电源优化配置模型中。对应的算例结果表明,基于这一改进模型得到的分布式电源配置方案可以有效提高瞬时故障后重要电力节点的电压恢复效率,减少电压暂降等电能质量问题给敏感负荷带来的损失。

 

第三章的主要研究内容为含多类型充电桩的电动汽车充电站优化配置方法。随着电动汽车快充技术的发展,越来越多的不同类型不同功率的充电设施接入了配电系统。这些充电设施在满足电动汽车车主多样化的充电需求的同时,也改变了电动汽车负荷的时空分布情况,从而给电动汽车充电站的优化配置带来了新的挑战。基于这一新趋势,本章提出了一种含多类型充电桩的电动汽车充电站优化配置模型,及其相应的简化处理方法,并分析了同时配置多种功率充电桩所带来的经济效益。 

第四章的主要研究内容为考虑充电负荷空间可调度特性的分布式电源与电动汽车充电站联合配置方法。随着手机、平板电脑等移动智能终端的普及,以及无线通讯技术的发展,越来越多的汽车车主依赖于实时导航技术决定自己的驾驶及泊车行为。对电动汽车而言,泊车地点在很大程度上决定了其充电行为的发生处所,即对应的充电负荷的接入位置。基于这一背景,本章认为实时导航技术的普及使得电动汽车负荷在一定程度上、一定空间范围内是可调度的,并建立了相应的分布式电源与电动汽车充电站联合配置模型,分析了这种空间可调度特性对分布式电源与电动汽车充电站配置方案的影响。 

第五章的主要研究内容为单向/双向 V2G 环境下分布式电源与电动汽车充电站联合配置方法。V2G 技术的发展使得电动汽车负荷成为一类可控的资源,能够为电网运行提供峰荷转移、电压调节、旋转备用等诸多类型的辅助服务。这一技术的出现,大大增加了电动汽车与电网间的互动频率及互动深度,对传统的分布式电源与电动汽车充电站优化配置方法形成了挑战。基于这一背景,本章提出了单向/双向 V2G 环境下分布式电源与电动汽车充电站联合配置模型,分别分析了无序充电模式、单向 V2G 模式、双向 V2G模式对分布式电源与电动汽车充电站配置方案的影响。

二、部分代码

%构建负荷矩阵
for i=1:nbif sty_jd(i)==1pload(i,1:T)=P1(i).*pc_jm_w;%春 工作日pload(i,T+1:2*T)=P1(i).*pc_jm_wd;%春 周末pload(i,2*T+1:3*T)=P1(i).*px_jm_w;%夏 工作日pload(i,3*T+1:4*T)=P1(i).*px_jm_wd;%夏 周末pload(i,4*T+1:5*T)=P1(i).*pq_jm_w;%秋 工作日pload(i,5*T+1:6*T)=P1(i).*pq_jm_wd;%秋 周末pload(i,6*T+1:7*T)=P1(i).*pd_jm_w;%冬 工作日pload(i,7*T+1:8*T)=P1(i).*pd_jm_wd;%冬 周末elseif sty_jd(i)==2pload(i,1:T)=P1(i).*pc_sc_w;%春 工作日pload(i,T+1:2*T)=P1(i).*pc_sc_wd;%春 周末pload(i,2*T+1:3*T)=P1(i).*px_sc_w;%夏 工作日pload(i,3*T+1:4*T)=P1(i).*px_sc_wd;%夏 周末pload(i,4*T+1:5*T)=P1(i).*pq_sc_w;%秋 工作日pload(i,5*T+1:6*T)=P1(i).*pq_sc_wd;%秋 周末pload(i,6*T+1:7*T)=P1(i).*pd_sc_w;%冬 工作日pload(i,7*T+1:8*T)=P1(i).*pd_sc_wd;%冬 周末elsepload(i,1:T)=P1(i).*pc_bg_w;%春 工作日pload(i,T+1:2*T)=P1(i).*pc_bg_wd;%春 周末pload(i,2*T+1:3*T)=P1(i).*px_bg_w;%夏 工作日pload(i,3*T+1:4*T)=P1(i).*px_bg_wd;%夏 周末pload(i,4*T+1:5*T)=P1(i).*pq_bg_w;%秋 工作日pload(i,5*T+1:6*T)=P1(i).*pq_bg_wd;%秋 周末pload(i,6*T+1:7*T)=P1(i).*pd_bg_w;%冬 工作日pload(i,7*T+1:8*T)=P1(i).*pd_bg_wd;%冬 周末end
end
qload=repmat(Q1,1,8*T);
num_w=[];num_wd=[];
for i=1:nb%分别计算工作日和周末时序停车数量if sty_jd(i)==1num_w(i,:)=round(num_peak(i).*arr_jm_w./max(arr_jm_w));num_wd(i,:)=round(num_peak(i).*arr_jm_wd./max(arr_jm_wd));%停车时长分布,样本数量不足,没法用停车时长概率曲线来计算,随机产生停车时长elseif sty_jd(i)==2num_w(i,:)=round(num_peak(i).*arr_sc_w./max(arr_sc_w));num_wd(i,:)=round(num_peak(i).*arr_sc_wd./max(arr_sc_wd));elsenum_w(i,:)=round(num_peak(i).*arr_bg_w./max(arr_bg_w));num_wd(i,:)=round(num_peak(i).*arr_bg_wd./max(arr_bg_wd));end
end
%建立节点电动汽车矩阵
sum_num_w=sum(num_w);
sum_num_wd=sum(num_wd);
max_num=max(sum_num_w,sum_num_wd);
% k=1;
% for t=1:T
%     k1=1;
%     for i=1:nb
%         if stay_time_w(i,t)~=0%计算每个电动汽车的充电时长
%             for y=1:stay_time_w(i,t)
%                 st(k1,t)=t*0.25;
%             end
%             k1=k1+1;
%         end
%     end
% end
k=1;
for t=1:Tfor i=1:nbif num_w(i,t)~=0for jj=1:num_w(i,t)soc=rand;%(0,1)均匀分布st(k)=round(1+95*rand)*0.25;%充电时长if soc<0.9linf=find(distance(i,:)==min(distance(i,:)));evjd_w(k,:)=[t,i,soc,linf(1),min(st(k),prl*(1-soc)/pev),sty_jd(i),min(distance(i,:))];%时间,节点,soc,充电节点,充电时长,节点区域类型,调度距离k=k+1;end
%             if gdch(i)~=0
%                 evjd_w(k,4)=gdch(i);
%             endendendend
end
%周末情况k=1;
for t=1:Tfor i=1:nbif num_w(i,t)~=0for jj=1:num_w(i,t)soc=rand;st(k)=round(1+95*rand)*0.25;%充电时长if soc<0.9linf=find(distance(i,:)==min(distance(i,:)));evjd_wd(k,:)=[t,i,soc,linf(1),min(st(k),prl*(1-soc)/pev),sty_jd(i),min(distance(i,:))];%时间,节点,soc,充电节点,充电时长,节点区域类型,调度距离k=k+1;end
%             if gdch(i)~=0
%                 evjd_wd(k,4)=gdch(i);
%             endendendend
end%% 1.设参
branch = mpc.branch;
branch(:,3) = branch(:,3)*100/(12.66^2);%求阻抗标幺值
r=real(branch(:,3));
x=imag(branch(:,3));
r=r(1:32);
x=x(1:32);
upstream=zeros(nb,nl);%代表流入节点支路
dnstream=zeros(nb,nl);%代表流出节点支路
for i=1:32upstream(i,i)=1;
end
for i=[1:16,18:20,22:23,25:31]dnstream(i,i+1)=1;
end
dnstream(1,18)=1;
dnstream(2,22)=1;
dnstream(5,25)=1;
dnstream(33,1)=1;Vmax=[1.05*1.05*ones(32,1);1.05*1.05*ones(1,1)];
Vmin=[0.95*0.95*ones(32,1);1.05*1.05*ones(1,1)];
Pgmax=[zeros(32,1);100.*ones(1,1)];
Qgmax=[zeros(32,1);100.*ones(1,1)];
%定义变量
V = sdpvar(nb,8*T);%电压的平方
I = sdpvar(nl,8*T);%电流的平方
P = sdpvar(nl,8*T);%线路有功
Q = sdpvar(nl,8*T);%线路无功
Pg = sdpvar(nb,8*T);%发电机有功
Qg = sdpvar(nb,8*T);%发电机无功
Nev = intvar(7,1);%备选节点充电桩数量
Npv = intvar(8,1);%光伏节点安装数量
%pv = sdpvar(nb,8*T);
qv = sdpvar(nb,8*T);
%sv = sdpvar(nb,8*T);
Ng = intvar(8,1);%燃气轮机安装数量
pg = intvar(nb,8*T);
Constraints = [];
%工作日充电桩情况
s_sumev=zeros(7,T);
[at,~]=size(evjd_w);
for k=1:atfor i=1:7for t=1:Tif evjd_w(k,4)==i && evjd_w(k,1)==ts_sumev(i,t)=s_sumev(i,t)+1;%计算节点充电电动汽车数量endendend
end
%周末充电站情况
s_sumevd=zeros(7,T);
[at,~]=size(evjd_wd);
for k=1:atfor i=1:7for t=1:Tif evjd_wd(k,4)==i && evjd_wd(k,1)==ts_sumevd(i,t)=s_sumevd(i,t)+1;%计算节点充电电动汽车数量endendend
end

三、程序链接

有需要的可以留言。

 

这篇关于互动环境下分布式电源与电动汽车充电站的优化配置方法研究-全文复现matlab的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/510945

相关文章

Feign Client超时时间设置不生效的解决方法

《FeignClient超时时间设置不生效的解决方法》这篇文章主要为大家详细介绍了FeignClient超时时间设置不生效的原因与解决方法,具有一定的的参考价值,希望对大家有一定的帮助... 在使用Feign Client时,可以通过两种方式来设置超时时间:1.针对整个Feign Client设置超时时间

SpringBoot首笔交易慢问题排查与优化方案

《SpringBoot首笔交易慢问题排查与优化方案》在我们的微服务项目中,遇到这样的问题:应用启动后,第一笔交易响应耗时高达4、5秒,而后续请求均能在毫秒级完成,这不仅触发监控告警,也极大影响了用户体... 目录问题背景排查步骤1. 日志分析2. 性能工具定位优化方案:提前预热各种资源1. Flowable

C/C++错误信息处理的常见方法及函数

《C/C++错误信息处理的常见方法及函数》C/C++是两种广泛使用的编程语言,特别是在系统编程、嵌入式开发以及高性能计算领域,:本文主要介绍C/C++错误信息处理的常见方法及函数,文中通过代码介绍... 目录前言1. errno 和 perror()示例:2. strerror()示例:3. perror(

CSS去除a标签的下划线的几种方法

《CSS去除a标签的下划线的几种方法》本文给大家分享在CSS中,去除a标签(超链接)的下划线的几种方法,本文给大家介绍的非常详细,感兴趣的朋友一起看看吧... 在 css 中,去除a标签(超链接)的下划线主要有以下几种方法:使用text-decoration属性通用选择器设置:使用a标签选择器,将tex

C++变换迭代器使用方法小结

《C++变换迭代器使用方法小结》本文主要介绍了C++变换迭代器使用方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1、源码2、代码解析代码解析:transform_iterator1. transform_iterat

C++中std::distance使用方法示例

《C++中std::distance使用方法示例》std::distance是C++标准库中的一个函数,用于计算两个迭代器之间的距离,本文主要介绍了C++中std::distance使用方法示例,具... 目录语法使用方式解释示例输出:其他说明:总结std::distance&n编程bsp;是 C++ 标准

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整