开源代码分享(8)—大规模电动汽车时空耦合双层优化调度(附matlab代码)

news2024/10/7 18:30:33

参考文献:

[1]He L , Yang J , Yan J , et al. A bi-layer optimization based temporal and spatial scheduling for large-scale electric vehicles[J]. Applied Energy, 2016, 168(apr.15):179-192. DOI:10.1016/j.apenergy.2016.01.089

1.基本原理

1.1摘要

        电动汽车(EV)是一种有前景的环保技术,因其减少使用化石燃料的潜力而备受关注。大规模的电动汽车为电力系统带来机遇和挑战,尤其是随着风电整合规模的不断扩大。本文研究了发电机、电动汽车和风能的协同优化调度问题。提出了一种新颖的双层优化方法,用于解决在风能存在的情况下,电动汽车充放电负荷在时间和空间领域的调度问题。在输电系统中,上层优化协调了电动汽车、热发电机和基本负荷,考虑了风能因素,优化了电动汽车在时间域内的负荷时段。在配电系统中,下层优化则对电动汽车负荷的位置进行空间调度。通过对一个拥有10台发电机的输电网和一个IEEE 33节点的配电网的电力系统基准进行评估,评估了提出的双层优化策略的性能。分析了电价曲线、电动汽车普及率以及电动汽车负荷位置等因素的影响。仿真结果表明,提出的双层优化策略能够在时间和空间上合理调度电动汽车的充放电,以适应风能的波动,从而改善电网运行经济性和电动汽车用户的收益。此外,结果还表明,电动汽车的充放电负荷位置对配电网络规划至关重要。

1.2 双层优化框架

        在图2中展示的提出的双层优化策略包括输电系统中的上层优化和配电系统中的下层优化。


        在输电系统层面上,上层时间域优化协调电动汽车的充电和/或放电计划与热发电机、基本负荷和风能之间的关系。电动汽车的充电和放电行为从时间维度上进行优化。在配电网络层面上,下层空间域优化确定电动汽车的最佳负载位置,确定电动汽车应该何时进行充电或放电。电动汽车的充电和放电行为从空间维度上进行优化。
        上层优化的目标是协调发电机、风能和电动汽车,以降低发电机运营成本、用户充电成本和风能削减量。基于充电和放电价格、电动汽车数量、热发电机参数、风能预测曲线和日负荷,提出了一个调度模型来优化热发电机的输出功率、风能削减量和电动汽车的充放电曲线。
        通过优化电动汽车充电和放电负载的空间分布,配电系统中的下层优化可以降低配电网的运营成本。基于传输系统的供电、配电网络中的日负荷需求以及电动汽车充电和放电曲线,提出了一个最优功率流模型(OPF)用于下层优化。

2.算例分析

        为了证明所提出的双层优化策略在电动汽车充放电调度方面的有效性,建立了一个包括传输网和配电网的综合系统。如图3所示,使用一个包括110兆瓦风电场和IEEE 33节点配电网络的10台发电机传输系统来模拟配电网。IEEE 33节点系统中的节点0是变压器低压侧的汇流排节点,其高压侧是10台发电机传输网的一个节点。从传输系统的角度看,配电网络可以被视为一个等效负载节点。所有计算都是在一台Intel(R) Core(TM) i5-2500 3.3 GHz CPU、3.42 GB RAM、Microsoft Windows XP操作系统和AIMMS优化工具上进行的。整个优化计算时间大约为半个小时。

        10台发电机系统的负荷需求和机组特性数据来自[52]。机组的爬坡速率可以参考[53]。假设启动爬坡和停机爬坡等于机组的最小输出,启动时间和停机时间均为1小时[54]。机组的煤耗系数来自[55]。风能的不同场景和其概率数据来自[47],风能的输出乘以比例系数(0.2)以匹配总装机容量。快备用需求被假设为负荷需求的10%,总调度周期为24小时。
        对于电动汽车的充电或放电负荷的预测一直是一个困难的问题。在我们的模型中,电动汽车的充电或放电负荷边界可以通过历史数据获得。由于目前缺乏足够的历史数据,我们可以使用一些合理的假设来评估电动汽车负荷的边界。电动汽车充电负荷的边界由电动汽车数量、充电功率、充电起始时间和充电持续时间确定。电动汽车放电负荷的边界类似。在本文中,我们对这些参数做了一些合理的假设。传输系统覆盖区域内的电动汽车总数为150,000辆,所有电动汽车都可以参与充放电。电动汽车的平均充电时间和放电时间分别为6小时和3小时。电动汽车的平均充放电功率均为1.8千瓦。充放电频率均为每天一次。可供充放电的电动汽车的最大数量在不同时间间隔内被假设为恒定的。在本文中,我们的研究主要关注于慢充电模式,即大多数用户下班回家后开始给电动汽车充电。因此,电动汽车充电的不确定性相对较小。因此,考虑到电动汽车的不确定性,每个时间间隔内可用于充电和放电的电动汽车的百分比分别设置为95%和40%。PM2.5 排放惩罚价格Ce为3000美元/吨。风能削减惩罚价格Cw为100美元/MWh。

        为了评估不同的电价分布和不同的电动汽车渗透率对上层优化的影响,在上层优化方案中研究了6个场景。充放电的价格概况如图4所示:

        场景1:在优化过程中没有考虑电动汽车。

        场景2:系统中有15万辆电动汽车,充放电的价格在一天内是相同的常值。本例下充放电的价格概况如图4(a).所示

        场景3:系统中有15万辆电动汽车,充放电价格相同,当负载变化时会出现波动。本例下充放电的价格概况如图4(b).所示

        场景4:系统内有15万辆电动汽车,充电价格与案例3相同。重负荷期间的放电价格高于充电价格,因此对电动汽车的放电更有吸引力。充放电的价格概况如图4(c).所示

        场景5:系统中有10万辆电动汽车,价格文件与案例4相同。

        场景6:系统中有5万辆电动汽车,价格文件与案例4相同。

        表1显示了六种情况下,对于20个风能场景的目标函数期望值、燃料成本、PM2.5排放、启动成本、用户充电成本以及相关的风能削减量。用户的负充电成本表示他们通过向电网放电赚钱。从表1可以看出,目标函数的值从案例2到案例4逐渐减小。与此同时,电动汽车用户的收益增加,这表明随着电动汽车数量的增加,目标函数的值也会减小。
        由于风能总容量与热发电机总容量相比较小,所以在所有情况下,风能削减量为0兆瓦,这意味着电力系统可以容纳100%的风能。
        根据场景1,电动汽车充放电的调度结果如图5所示。不同案例下的UC结果如图6所示,其中负荷曲线与机组的总输出之差包括所容纳的风能和电动汽车负荷。

 

 

        在场景2、场景3和场景4中,比较了不同价格档案对电动汽车调度的影响。在场景2中,电动汽车以相同的价格进行充放电,因此用户的成本在一天内不会变化。因此,最优目标仅由电力系统运行的利益确定。然而,在场景3和场景4中,用户更喜欢以较低的价格充电和以较高的价格放电以获得额外收入,因此充电负荷主要集中在夜间,放电负荷则集中在高负荷时段。场景2具有最低的运行成本,但电动汽车的总充电负荷在15:00-19:00期间达到峰值,放电负荷则在6:00-9:00期间集中。在实践中,很难在通勤时间段内安排电动汽车的充放电。相反,在场景3和场景4中,用户不会在高负荷时段以高价格充电,因为充电价格曲线相同。由于更高的放电价格,电动汽车用户更喜欢场景4中的放电,因此场景4的目标值要小得多。场景4的价格档案更有效和实用,因此本文中后续的模拟都基于场景4的价格档案。

        与场景2相比,由于价格波动的影响,场景3中充电负荷(15:00-19:00)要小得多。因此,在场景2中,为了向电动汽车提供更多电力,第3台机组在线时间为7:00至22:00,在场景3中,第3台机组在14:00至18:00期间离线。相反,在场景3中,第4台机组全天在线以满足充电负荷,该充电负荷已转移到夜间。尽管充放电价格存在差异,但场景3和场景4中的UC解决方案是相同的。

        在场景1、场景4、场景5和场景6中,比较了不同电动汽车渗透率对UC的影响。如表1所示,由于需要为电动汽车提供更多电力,电力系统运行成本随着电动汽车渗透率的增加而增加。总机组输出曲线变得更平滑,这意味着通过更多的价格转移电动汽车负荷来补偿谷值和峰值之间的差距。

        其他19个场景的结果与场景1类似,因此本文不考虑它们。

 

 

 

3完整代码获取

        完整代码可以从下面的链接获取:

GitHub - WHUzxp/Reprinted_Applied_Energy: 复刻论文Applied Energy的论文A bi-layer optimization based temporal and spatial scheduling for large-scale electric vehicles,包含考虑电动汽车有序充放电的机组组合和最优潮流

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

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

相关文章

Python模块基础

一、模块 模块可以看成是一堆函数的集合体。 一个py文件内部就可以放一堆函数,因此一个py文件就可以看成一个模块。 如果这个py文件的文件名为module.py,模块名则是module。 1、模块的四种形式 在Python中,总共有以下四种形式的模块&…

MySQL约束和查询

约束和查询 1. 约束1.1 约束类型1.2 常用的约束 2. 查询2.1 聚合查询2.1.1 聚合函数2.1.2 GROUP BY2.1.3 HAVING 2.2 联合查询2.2.1 内连接2.2.2 外连接 2.3 合并查询 1. 约束 1.1 约束类型 NOT NULL - 指示某列不能存储 NULL 值。UNIQUE - 保证某列的每行必须有唯一的值。DE…

TCP四次挥手过程

TCP 断开连接是通过四次挥手方式。 双方都可以主动断开连接,断开连接后主机中的「资源」将被释放, 刚开始双方都处于 establised 状态,假如是客户端先发起关闭请求,过程如下图: 第一次挥手:客户端打算关闭…

C++模拟实现位图和布隆过滤器(哈希)

目录 前言引入: 一、位图 1.1 位图概念 1.2 位图的实现 1.3 位图的应用 二、布隆过滤器 2.1 哈希的弊端 2.2 布隆过滤器概念 2.3 布隆过滤器的插入 2.4 布隆过滤器的查找 2.5 布隆过滤器的删除 2.6 布隆过滤器的模拟实现 2.7 布隆过滤器优缺点 三、…

CSS ::file-selector-button伪元素修改input上传文件按钮的样式

默认样式 修改后的样式 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdev…

HTTP 请求走私漏洞(HTTP Request Smuggling)

一、什么是Http 请求走私漏洞&#xff1f; HTTP请求走私漏洞&#xff08;HTTP Request Smuggling&#xff09;是一种安全漏洞&#xff0c;利用了HTTP协议中请求和响应的解析和处理方式的不一致性。攻击者通过构造特定的恶意请求&#xff0c;以欺骗服务器和代理服务器&#xff0…

微信小程序-地图上的图标计算旋转值朝向经纬度计算

废话不多说&#xff0c;开整 // 参数为寄件人经纬度和收件人经纬度 // 根据寄收件人经纬度弧度π进行rotate旋转计算 const getRotate (po1, po2) > {if (!(po1 && po2)) return 0const lng_a po1.longitudeconst lat_a po1.latitudeconst lng_b po2.longitud…

pg谓词下推分析(一)

谓词下推分析&#xff08;一&#xff09; 本文基于pg13.8。 谓词下推阶段即是把约束条件下推对条件涉及的表上&#xff08;RelOptlnfo&#xff09;&#xff0c;其中同时会涉及到等价类的推导&#xff0c;及建立逻辑连接关系&#xff08;外连接的SpecialJoinInfo结构的创建与设…

apple pencil二代平替笔哪个好用?苹果平板平替笔排行

光是一款Apple Pencil&#xff0c;就卖到了接近一千多块&#xff0c;信息对于很多人来说都觉得太贵了。事实上&#xff0c;由于平替电容笔的性价比也非常高&#xff0c;因此它还是值得一试的。不管是学习&#xff0c;写作&#xff0c;还是绘画&#xff0c;这支平替电容笔&#…

力扣 135. 分发糖果

题目来源&#xff1a;https://leetcode.cn/problems/candy/description/ C题解&#xff08;来源代码随想录&#xff09;&#xff1a; 先从左往右比较&#xff0c;右边孩子评分比左边高就多发1颗糖&#xff0c;否则就只发1颗&#xff1b;再从右往左比较&#xff0c;左边孩子评分…

Element ui table展开行中,某些行需要展开,某些行不需要展开

1.templatetemplate里面对应的代码&#xff1a; <el-table :data"menuList" style"width: 100%" :row-class-name"isShowIcon"><el-table-column type"expand"><template slot-scope"props" v-if"prop…

阿里云GPU服务器使用教程_创建_连接_GPU驱动_实践教程

阿里云GPU服务器怎么使用&#xff1f;先创建GPU实例、GPU云服务器远程连接&#xff0c;为GPU云服务器安装GPU驱动、安装GRID驱动等&#xff0c;使用GPU服务器部署NGC环境、GPU AI模型训练教程、在GPU实例上使用RAPIDS加速机器学习任务、RAPIDS加速机器学习等使用教程&#xff0…

AI代码生成能力进一步提高,网友:程序员饭碗保不住了?

文章内容来源于公众号——布博士&#xff08;擎创科技资深产品专家&#xff09; 自chatGPT出现以来&#xff0c;人工智能&#xff08;AI&#xff09;迅速发展成为科技行业的重要领域。人工智能已应用于医疗、金融、交通、农业等各个领域。人工智能代码生成的进步提高了软件开发…

Ingress:集群进出流量的总管

Service 很有用&#xff0c;但也只能说是“基础设施”&#xff0c;它对网络流量的管理方案还是太简单&#xff0c;离复杂的现代应用架构需求还有很大的差距&#xff0c;所以 Kubernetes 就在 Service 之上又提出了一个新的概念&#xff1a;Ingress。 Service 还有一个缺点&…

el-dialog 添加loading;avue-form 表单插槽

效果: 第一步&#xff1a;custom-class"publishDialog" 新起一个类名 <el-dialog title"发布配置" custom-class"publishDialog" :visible.sync"publishDialogVisible" width"800px" :append-to-body"true":b…

【电路效应】信号处理和通信系统模型中的模拟电路效应研究(SimulinkMatlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f308;4 Matlab代码、Simulink仿真实现 &#x1f4a5;1 概述 在信号处理和通信系统模型中&#xff0c;模拟电路效应研究是指考虑到实际电路的特性对信号进行建模和分析的过程。模拟电路效应…

C++中main()函数和命令行参数介绍

C中main()函数和命令行参数介绍 在C中&#xff0c;main()函数是程序的入口点&#xff0c;它是一个特殊的函数&#xff0c;在程序开始执行时被首先调用&#xff0c;也是程序结束时的最后一个被执行的函数。main() 函数的类型始终为 int&#xff0c;根据C标准&#xff0c;main() …

Petalinux 无法识别PHY ADDR 显示地址为FF 或者-1

BD文件使能了GEM 但是系统启动以后ifconfig发现没有ETH0 解决办法有两种 1&#xff0c;在DTS settings下设置对应的板卡 2.直接修改设备树&#xff0c;第二种方法对没有linux基础的朋友不是那么友好

地面点云提取:Autoware预处理ray_ground_filter节点解析 + 解决ray_ground_filter无输出的问题

文章目录 一、解决Autoware的ray_ground_filter节点无点云输出的问题二、ray_ground_filter节点代码分析2.1.监听bask_link和velodyne之间的TF2.2 裁切过高点云2.3 消除雷达近身反射点的影响2.4 角度和距离微分&#xff08;转换到柱坐标&#xff09;2.5 地面判断(核心部分) 一、…

TextView 必填项pro版

优点 基本解决对齐方式,可以设置前缀隐藏和显示 /*** https://blog.csdn.net/u013982652/article/details/94404711* Android自定义TextView实现必填项前面的*号* 另一种实现方式(推荐使用这种,有非必填情况的话不会有对齐问题)* <p>* <cn.mvp.mlibs.weight.MiRequire…