含多类型充电桩的电动汽车充电站优化配置方法(matlab代码)

news2024/11/25 1:00:26

目录

1 主要内容

目标函数

约束条件

程序亮点

2 部分代码

3 程序结果

4 下载链接


主要内容

该程序复现博士文章《互动环境下分布式电源与电动汽车充电站的优化配置方法研究》第三章《含多类型充电桩的电动汽车充电站优化配置方法》,本章选择3种典型的电动汽车充电桩,研究了含多类型充电桩的电 动汽车充电站优化配置方法。按照充电功率的升序排列,所选取的3种电动汽车充电桩 依次代表了慢速充电设施(Slow charging facility,SCF)、快速充电设施(Fast charging facility,FCF)和超级快速充电设施(Ultra-fast charging facility,UCF)。为了处理由多 类型充电桩间相互影响导致的条件场景约束,同时降低电动汽车充电站优化配置模型的 复杂度,本章提出了针对条件场景约束的二步等价方法,并应用二阶锥松弛技术将混合 整数非线性规划问题转化为混合整数二阶锥规划问题。为了检验上述模型与方法的有效 性,本章采用江苏地区一个实际的电气-地理信息耦合系统作为算例,通过对比不同电 动汽车充电站优化配置方案的年化社会总成本,证明了在优化配置问题中同时考虑多种 类型充电桩的意义与价值。 

  • 目标函数

  • 约束条件

  1. 系统潮流约束
  2. 电压幅值约束
  3. 支路电流约束
  4. 二阶锥约束
  5. 电动汽车负荷调度中的数量平衡约束
  6. 充电区域选择范围限制
  7. 充电桩数量约束
  • 程序亮点

该程序巧妙的将不同类型电动汽车充电站和文中30节点网络优化结合起来,采用二阶锥模型,程序采用整型变量的方式表达备选节点不同类型充电桩数量,同时结合四季和工作日/周末特点,很值得参考学习!

部分代码

T = 96;%时段数为1小时
nb = 31;%节点数,根节点为33
nl = 30;%支路数
P1=1e-5.*[500 200 250 180 180 120 240 240 240 240 240 160 160 400 320 300 300 300 300 800 0 80 200 100 60 40 500 200 80 30 0]';
Q1=1e-5.*[300 90 160 90 60 60 80 80 80 120 120 90 100 75 100 125 100 100 100 320 0 40 100 40 25 15 160 120 30 10 0]';
addpath('数据出力');
load pc_jm_w;
load pc_jm_wd;
load px_jm_w;
load px_jm_wd;
load pq_jm_w;
load pq_jm_wd;
load pd_jm_w;
load pd_jm_wd;
load pc_sc_w;
load pc_sc_wd;
load px_sc_w;
load px_sc_wd;
load pq_sc_w;
load pq_sc_wd;
load pd_sc_w;
load pd_sc_wd;
load pc_bg_w;
load pc_bg_wd;
load px_bg_w;
load px_bg_wd;
load pq_bg_w;
load pq_bg_wd;
load pd_bg_w;
load pd_bg_wd;
%电动汽车
prl=100;%容量
cdz=[7 30 60;400 3250 5600;40 325 560;10 10 10];%充电桩数据
cr=106.5;%单位容量增容成本
cl=80;%单位网损费用
plmax=600*1e-4;%线路最大电流
d=0.03;%折现率
num_peak=[1 2 5 1.*ones(1,28)];%测试数据,下为正式数据,运行速度太慢
%num_peak=[30 12 15 11 11 7 14 14 14 14 14 10 10 24 19 18 18 18 18 48 0 5 12 6 4 2 30 12 5 2 0]';%峰值电动汽车停车数量
load arr_jm_w;
load arr_jm_wd;
load arr_sc_w;
load arr_sc_wd;
load arr_bg_w;
load arr_bg_wd;
load stay_jm_w;
load stay_jm_wd;
load stay_sc_w;
load stay_sc_wd;
load stay_bg_w;
load stay_bg_wd;
sty_jd=[2 2 1 3 3 2 1 1 1 1 1 1 1 2 2 2 2 1 1 2 1 3 2 2 3 3 3 1 2 3 1];%节点区域类型
%构建负荷矩阵
for i=1:nb
   if sty_jd(i)==1
       pload(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)==2
       pload(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;%冬 周末
   else
       pload(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:31%分别计算工作日和周末时序停车数量
    if sty_jd(i)==1
    num_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)==2
    num_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));
    else
    num_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:T
    for i=1:nb
    if num_w(i,t)~=0
       for jj=1:num_w(i,t)
           soc=rand;
           st(k)=round(1+95*rand)*0.25;%充电时长
            if st(k)*cdz(1,1)>=prl*(1-soc)
        evjd_w(k,:)=[t,i,soc,0,st(k),1,sty_jd(i)];%时间,节点,soc,充电节点,充电时长,充电桩选择,节点区域类型
            elseif st(k)*cdz(1,1)<=prl*(1-soc) && prl*(1-soc)<=st(k)*cdz(1,2)
        evjd_w(k,:)=[t,i,soc,0,st(k),2,sty_jd(i)];%时间,节点,soc,充电节点,充电时长,充电桩选择,节点区域类型 
            else
        evjd_w(k,:)=[t,i,soc,0,st(k),3,sty_jd(i)];%时间,节点,soc,充电节点,充电时长,充电桩选择,节点区域类型  
            end
%             if gdch(i)~=0
%                 evjd_w(k,4)=gdch(i);
%             end
        k=k+1;
        end
    end
    end
end
%周末情况
 k=1;
for t=1:T
    for i=1:nb
    if num_w(i,t)~=0
       for jj=1:num_w(i,t)
           soc=rand;
           st(k)=round(1+95*rand)*0.25;%充电时长
            if st(k)*cdz(1,1)>=prl*(1-soc)
        evjd_wd(k,:)=[t,i,soc,0,st(k),1,sty_jd(i)];%时间,节点,soc,充电节点,充电时长,充电桩选择,节点区域类型
            elseif st(k)*cdz(1,1)<=prl*(1-soc) && prl*(1-soc)<=st(k)*cdz(1,2)
        evjd_wd(k,:)=[t,i,soc,0,st(k),2,sty_jd(i)];%时间,节点,soc,充电节点,充电时长,充电桩选择,节点区域类型 
            else
        evjd_wd(k,:)=[t,i,soc,0,st(k),3,sty_jd(i)];%时间,节点,soc,充电节点,充电时长,充电桩选择,节点区域类型  
            end
%             if gdch(i)~=0
%                 evjd_wd(k,4)=gdch(i);
%             end
        k=k+1;
        end
    end
    end
end

程序结果

部分原文结果

4 下载链接

 点击直达

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/667131.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

乐鑫创客沙龙精彩回顾|激发创新、共享技术

近期&#xff0c;乐鑫科技在全国多个城市举办了 ESP Friends 创客沙龙活动&#xff0c;吸引了来自物联网各个领域的企业家、开发者、创客和学生的参与&#xff0c;包含智能硬件企业家、技术自媒体、教育从业者、博士生、高校学生等。他们与乐鑫资深应用工程师和技术专家面对面深…

冯诺依曼体系结构和操作系统的工作方式

目录 一. 冯诺依曼体系结构 1.1 什么是冯诺依曼体系结构 1.2 为什么冯诺依曼体系结构这样设计 1.3 冯诺依曼体系结构与现实问题的结合 二. 操作系统的工作方式 2.1 操作系统的功能 2.2 操作系统对下进行软硬件管理的方式 2.3 操作系统对上提供使用环境的方式 三. 总结…

泛微E-Office前台文件上传漏洞

0x01 阅读须知 此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等&#xff08;包括但不限于&#xff09;进行检测或维护参考&#xff0c;未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失&…

史上最全Hadoop面试题:尼恩大数据面试宝典专题1

说在前面&#xff1a; 《尼恩 大数据 面试宝典》 是 《尼恩Java面试宝典》 姊妹篇。 这里特别说明一下&#xff1a;《尼恩Java面试宝典》41个专题 PDF &#xff08;请在文末获取&#xff09;自发布以来&#xff0c; 已经收集了 好几千题&#xff0c; 足足4000多页&#xff0c…

android 如何分析应用的内存(八)——Android 7.0以后的malloc debug

android 如何分析应用的内存&#xff08;八&#xff09; 接上文&#xff0c;介绍六大板块中的第三个————malloc调试和libc回调 上一篇文章中&#xff0c;仅仅是在分配和释放的时候&#xff0c;拦截对应的操作。而不能进一步的去检查内存问题。比如&#xff1a;释放之后再…

卖家必看,要做好独立站,一定要知道的八件事!

如何打造并运营你的跨境独立站&#xff1f;如何吸引更多的流量并促使他们在你的网站下单&#xff1f;在你决定开设独立站之前&#xff0c;以下这些方面是你必须要考虑的&#xff0c;否则你的独立站可能会面临失败的风险。 一、定义目标受众 你是B2B业务还是B2C独立站&#xff…

小区物业电瓶车充电桩收费管理系统 支持扫码刷卡

电动车火灾事故频频发生&#xff0c;毫不起眼的电动车屡次引发夺命大火&#xff0c;电动车已然成为火灾“重灾区”。为预防和遏制电动自行车火灾事故发生&#xff0c;国家三令五申各种政策&#xff0c;为此公安部安委会曾出台《电动自行车集中停放和充电治理方案》。 大部分充电…

visionOS:理想的UI设计竟要考虑这么多细节

拥有对macOS、iPadOS、watchOS、iOS等系统的开发经验&#xff0c;苹果在XR操作系统设计上也具有先天优势&#xff0c;相比于其他公司从头开始构建XR系统界面&#xff0c;苹果可直接借鉴已经过验证的设计美学。 与此同时&#xff0c;WWDC 2023上公布的一系列开发者教程来看&…

Vue3 + Vite + Ts自己封装的基础组件库发布npm ,npm安装使用(Volar )支持TS 类型提示功能(vite-plugin-dts 使用)

一、需求 在开发Vue3 Ts项目时&#xff1a;使用自己二次封装的基础组件&#xff0c;没有Ts类型提示&#xff0c;不能像Element-plus鼠标停在标签或者属性上就能提示当前组件有哪些属性&#xff08;即props&#xff09;及其属性的类型&#xff0c;如下图是Element-plus组件的使…

将mp3音频剪切器收藏起来使用

小明&#xff1a;最近我在剪视频&#xff0c;发现剪出来的音频还需要再进行剪辑和编辑&#xff0c;感觉有点繁琐啊。 小红&#xff1a;是啊&#xff0c;如果能有一个方便快捷的工具就好了&#xff0c;就是不知道剪切音频制作软件推荐免费有哪些&#xff1f; 小明&#xff1a;…

前端开发中遇到的小bug--解决方案

1.在 searchBox 搜索栏中&#xff0c;用到了多级下拉框的筛选条件&#xff0c;样式如下&#xff1a; 这样看起来是没什么问题的&#xff0c;但当我选择时&#xff0c;在框中显示的内容和筛选条件的内容就出错了&#xff1a; 这里其实是选择了 采矿业 -- 石油和天然气开采业 &am…

每日一练 | 华为认证真题练习Day63

1、IEEE 802.1D标准中规定桥优先级是多少bit&#xff1f; A. 8 B. 4 C. 16 D. 2 2、RSTP中处于Discarding状态下的端口&#xff0c;虽然会对接收到的数据帧做丢弃处理&#xff0c;但可以根据该端口收到的数据帧维护MAC地址表。 A. 对 B. 错 3、如下图所示&#xff0c;下列…

随笔-不要裸辞

2023年5月份&#xff0c;16-24岁、25-59岁劳动力调查失业率分别为20.8%、4.1%。 先不说这些大数据&#xff0c;就聊聊我身边发生的事儿。 NO1 欢迎你&#xff0c;新同事 A&#xff0c;别的项目组的&#xff0c;先前通过一个同事说过几句话&#xff0c;那是真正的点头之交。今…

「Java核心技术大会 2023」6月重磅启动,邀你共同探讨Java生态(文末送书5本)

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

slam十四讲 03 Eigen实践之不同坐标系下的坐标转换

目录 1. 题目 2. 使用欧式变换 3. 使用四元素 1. 题目 已知 (1) 世界坐标系到相机1坐标系变换关系为&#xff0c;即相机1的位姿q1[0.35,0.2,0.3,0.1]^T, t1[0.3,0.1,0.1]^T. (2) 世界坐标系到相机2坐标系变换关系为&#xff0c;即相机2的位姿q1[-0.5,0.4,-0.1,0.2]^T, t2[…

影响无线状态监控系统质量的关键:如何选择MEMS传感器?

随着工业领域对设备状态监测的需求不断增加&#xff0c;智能无线监测器成为一种重要的技术工具。其中&#xff0c;MEMS&#xff08;微机电系统&#xff09;传感器作为无线状态监控系统中的核心组件&#xff0c;发挥着关键的作用。本文将介绍如何为无线状态监控系统选择最佳的ME…

端午将至,VR全景奉上别开生面的“云上”端午节

端午将至&#xff0c;街上早已飘溢着粽子的香气&#xff0c;大家知道端午习俗有哪些吗&#xff1f;除了吃粽子&#xff0c;还有赛龙舟、悬艾蒿、踩露水、佩香囊等。搭乘端午假期的“顺风车”&#xff0c;多地都在推出活动吸引游客&#xff0c;各地文旅期望打造集文化、传承、艺…

在Linux中部署Flask+Gunicorn+Nginx

flask是一个轻量级的基于Werkzeug和Jinja2模板引擎的Web应用框架。gunicorn能与很多Web框架兼容&#xff0c;执行起来很简单&#xff0c;资源消耗很少&#xff0c;并且运行速度很快。 flaskgunicornnginx部署在公网IP为x.x.x.x的服务器上。 flask需要部署在Python3的环境中。…

KingIOServer采集杰控OPC UA服务器数据测试

哈喽&#xff0c;大家好&#xff0c;我是雷工&#xff01; 上一篇测试了同一台电脑上&#xff0c;KingIOServer采集杰控OPC DA服务器数据&#xff0c;本篇测试用KingIOServer采集杰控OPC UA服务器数据。 以下记录测试过程。 一、 KingIOServer的OPC UA数据采集介绍 KingIOSer…

少儿英语-思维导图学语法-特殊名词变复数

“通过思维导图&#xff0c;轻松学语法” 正文&#xff1a; 今天我们将一起探索英语中那些特殊的名词复数形式。学习特殊名词的复数变换可以让我们的英语更加地道和流利。让我们来看看一些有趣的例子吧&#xff01; "Man" 变成 "Men" 你可能已经知道 &q…