搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
从前慢现在也慢
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
读《底层逻辑》
2
MySQL创建用户
3
Apollo(阿波罗)分布式配置中心_apollo github
4
Flutter 入门指北(Part 8)之 Sliver 组件、NestedScrollView
5
Flink CDC 2.4 正式发布,5分钟了解CDC 2.4新内容,新增 Vitess 数据源,更多连接器支持增量快照,升级 Debezium 版本
6
【解决NodeJS项目无法在IDEA中调试的问题】使用JetBrains IDEA 2023 调试nodejs项目
7
Ubuntu配置Yolov8环境并训练自己的数据集 + ROS实时运行_ubuntu安装yolov8
8
Linux timerfd 的基本使用_timerfd_create(clock_monotonic
9
图像、视频质量评价方法综述(框架)_comparative validation of polyp detection methods
10
优秀项目经理应备技能09-如何做一个优秀的项目经理_项目经理先拿主管开刀
当前位置:
article
> 正文
开源代码分享(22)-基于拉格朗日松弛的电动汽车分布式充放电调度
作者:从前慢现在也慢 | 2024-04-25 13:45:33
赞
踩
开源代码分享(22)-基于拉格朗日松弛的电动汽车分布式充放电调度
1.分布式充放电控制方法
与集中式控制中调度机构直接下达充电指令不同
,
分布式控制中
,调度机构根据系统运行状况发出调度信号
,
用户接收调度信号优化充放电过程
、确定充放电曲线
,
并上报调度中心
。 当电动汽车数量较多时
,充放电策略会对电力系统运行状态产生显著 影响
,
因而需要进行多步迭代产生恰当的调度信号。
图 1
给出了分布式充放电控制的一般流程
。 需要指出的是
,
当系统规模较大
、
电动汽车数目较多时
,可设置电动汽车聚集体层
,
构成树状的调度系统
,减轻调度中心的通信和数据汇总压力。电价
(
发电
、
辅助服务的边际成本
)信号能反映电能供需状况
,用户通常也以用电费用最省为充放电控制目标
,因而电价信号是一种理想的分布式充放电控制信号
。 当电价信号与采用集中式最优充电控
制的电价接近时
,
表明
2
种控制下电力系统运行方
式接近
,
分布式控制的效果与集中式控制效果接近
。
直接采用上一次迭代产生的电价作为本次迭代
中的调度信号会导致用户充放电曲线振荡
、
迭代过
程不收敛
,
此现象在文献
[
16
]
的研究中已得到证实
,
不再赘述
。
从流程上看
,
促进迭代过程收敛可采用
以下
2
种方法
:
在迭代过程中采用恰当的电价信号
修正方法
;
调整用户的优化目标
。
文献
[
16
]、[
17
]
从
后一种思路出发
,
分别在用户优化目标中加入表示
本次迭代充放电功率偏离上一次迭代所有用户平均
或自身充放电功率的项
,
保证问题收敛
。
本文从前一
种思路出发
,
基于
拉格朗日松弛(LR)
、
采用次梯度法对电价信号进
行修正
。
2、基于拉格朗日松弛的分布式充放电控制方法
拉格朗日松弛是一种大规模优化问题的分解算法,其基本思想是利用对偶因子将耦合约束松弛
,将原问题转化为一个分层迭代求解的鞍点问题
。 下层求解一系列规模较小的子问题
;上层通过对偶因子的更新实现子问题间的协调
。
LR
在电力系统优化特别是 UC中得到广泛应用
[
18
-
20
]
,
本文方法正是以
LR
求解 UC为蓝本的
。
LR 可将原问题分解为单一机组优化运行和单一车辆充放电优化问题
,
同时
,对偶因子对应于发电
、
备用边际价格
(
成本
)
的概念
,非常适用于分布式充放电控制
。
2.1
问题分解
与UC 类似
,该对偶问题具有良好的变量分离特性
,
可以拆解为单机优化问题和单一车辆优化问题。下层的单机优化问题与
UC
中类似
,而单一车辆优化问题具有如下形式
:
式(
17
)、(
18
)分别描述了充电和充放电控制问题
。
λ
t
由上层计算给定
,
此时它们为线性规划问题,可采用单纯形法
、
动态规划法等方法求解
。
2.2
可行解构造
非凸问题的对偶最优解一般对应于原问题的非可行解
。
利用
LR
求解
UC
问题时
,会将对偶解的整数部分
(
即发电机启停状态
)
代入原问题
。 原问题退化为发电经济调度问题
,求解该问题得到发电机出力水平
。
当该组整数值不是原问题可行解时
,需采用启发式方法构造原问题可行解。
电动汽车数量庞大,无法在原问题中对电动汽车充放电功率优化
,因此将子问题中求得的充放电功率汇总后直接代入原问题
,并采用罚函数处理功率平衡和备用约束不满足的情形
。
选取罚因子时
,应保证罚因子大于发电或备用的边际成本
。 罚函数的引入可以避免迭代过程中每一步修正整数变量取值
、构造原问题可行解的繁琐
,只需在对偶间隙达到收敛门限
、
求解过程收敛后
,采用已有方法进行一步可行解构造
。
2.3
基于
LR
的分布式充放电控制流程
参照 LR
求解
UC
问题的过程
,
提出了基于 LR的分布式充放电控制流程
,
如下所示
:
a.
选取一组初始的对偶因子
(即发电和备用的边际价格
)
作为调度信号
;
b.
在给定的信号下
,求解单机优化问题和单一车辆优化问题
,
并将结果上报调度中心
;
c.
调度中心根据上报信息
,计算对偶问题目标函数值
L
和原问题目标函数值
J
;
d.
调度中心计算相对对偶间隙
dual =
(
J - L
)
/
L,根据对偶间隙取值判断问题是否收敛
,若收敛转向步骤
e
,
若不收敛则更新对偶因子
,
转向步骤
b
;
e.
各车辆的充放电功率即为最优功率
,并可以根据对偶问题解构造可行的发电调度计划
。
本文选用次梯度法进行对偶因子更新。 LR 对偶因子在更新过程中反映了机组启停的影响和发电成本变化情况
,
采用
LR 对偶因子作为调度信号更有利于发电成本的优化
。
2.4
计算耗时分析
文中方法耗时主要发生在子问题求解、发电经济调度问题求解和信息交换环节
。
分布式结构下
,单一车辆子问题和单机子问题并行求解
,
而前者
(线性规划
)
复杂度远低于后者
(
混合整数规划
),决定子问题求解环节耗时的单机子问题。因而
,
文中方法仅比
LR
求解
UC 多出了信息交换时耗
。
从计算效率和耗时角度而言
,
随着低延时通信设施的建设和智能电网的完善,文中方法将能够用于实际
。
3.运行结果分析
4.代码获取
开源代码分享(22)-基于拉格朗日松弛的电动汽车分布式充放电调度matlab代码资源-CSDN文库
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/485595
推荐阅读
article
zookeeper
学习_
nioworkerthread
-
1
:
zookeeper
server...
文章目录目标zk的启动流程
1
.
1
启动入口
1
.2 单机启动主流程
1
.3 zk网络通信
1
.3.
1
NIOServerCnx...
赞
踩
article
Redis
面试
大全及答案_
redis
面试
题大全含答案...
答:集群脑裂是由于主节点和从节点和sentinel处于不同的网络分区,使得sentinel没有能够心跳感知到主节点,所以...
赞
踩
article
“您与此
网站
之间
建立
的
连接
并非完全
安全
”的解决方法_您与此
网站
之间
建立
的
连接
不
安全
怎么办
...
您与此
网站
之间
建立
的
连接
不
安全
,打不开网址,有些官网也打不开_您与此
网站
之间
建立
的
连接
不
安全
怎么办
您与此
网站
之间
建立
的连...
赞
踩
article
JavaScript
基础
(
超详细全文约一万
字
)
...
回顾整个
JavaScript
的发展历程, 实际上就是Web发展的历程从最开始的拨号上网方式到现在的100M光纤, 4G/...
赞
踩
article
编译
器
工具
链
(一)——
编译
过程
_
编译
工具
链
...
随着芯片行业的不断发展,
编译
器
技术变得比以往任何时候都重要。从大到小的技术公司都需要
编译
器
工程师。随着物联网设备、ML基...
赞
踩
article
spark
_sql 参数调优_
spark
.
hadoop
.
mapreduce
.
input
.filein...
spark
Sql 参数调优目录前言 异常调优
spark
.sql.hive.convertMetastoreParqu...
赞
踩
article
Rust
使用
国内
镜像
安装依赖_
rust
国内
镜像
...
修改 cargo 的配置文件即可,对应的配置文件位置如下,如果没有就自己创建一个。# 喜欢哪个用哪个吧,没有注释掉的那个...
赞
踩
article
AI嵌入式3——君正T40之
MIPS32
架构交叉编译
opencv
4
篇_君正
mips
opencv
m...
想要编译安装的顺利,需要好好捋一捋配置_君正
mips
opencv
mips
-
linux
-
gnu
-
gcc
君正
mips
o...
赞
踩
article
Java
类
文件
版本说明...
低版本的
Java
环境中运行高版本的类
文件
,出现错误_java类
文件
版本java类
文件
版本 ...
赞
踩
article
【
git
安装
配置
/ 拉取上传】
仓库
流程_请确保已在
git
中
配置
您
的
...
一、在电脑管家中
安装
拉取
git
的
安装
包二、新建文件夹,克隆项目鼠标右键选择Git Bash Here,输入
git
cl...
赞
踩
article
WIN10
AndroidStudio
调试便携设备
MTP
转为ADB
驱动
_安卓mtp
adb
驱动
64位...
win10
AndroidStudio
调试荣耀手机
MTP
为 ADB
驱动
_安卓mtp
adb
驱动
64位安卓mtp ...
赞
踩
article
第27天:
安全
开发
-
PHP
应用&
TP
框架
&路由访问&对象操作&
内置
过滤绕过&核心
漏洞
...
参考:https://www.kancloud.cn/manual/thinkphp5_1第27天:
安全
开发
-
PHP
应用...
赞
踩
article
MySQL
将一张
表
的
数据
copy
到另一张
表
中_
mysql
复制
表
数据
到另一张
表
...
SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE...
赞
踩
article
【
自然语言
NLP
】TensorFlow使用
LSTM
实现
文本
匹配任务_
tensorflow
nlp 例...
在
NLP
自然语言
处理领域,有时我们需要计算不同
文本
之间的相似度,将不同
文本
进行编码,然后处理成Embedding定长表示...
赞
踩
article
【
MySQL
】
数据库
创建
入门
字
段梳理:
字
符集
与
排序
规则
...
创建
数据库
在开发过程并不是一个陌生的动作,最简单的命令就是:这样就简简单单的
创建
了一个
数据库
,但是明面上并没有指定
字
符集
...
赞
踩
article
分享
10
个
NodeJS
相关的专业级
工具
...
Node.js已成为开发人员创建强大且可扩展的Web应用程序的首选选项。根据2022年StackOverflow开发者调...
赞
踩
article
基于
LSTM
模型
的
时间
序列
预测
(车厢重量
预测
),
Python
中
Keras
库实现
LSTM
,实现
预测
未来...
基于
LSTM
模型
的
时间
序列
预测
,
Python
中
Keras
库实现
LSTM
,实现
预测
未来未知
数据
,保姆级教程包括参数详解、模...
赞
踩
article
Spark
SQL
_
different
object
bound
with
the
first ro...
1、spark 前世今生
Spark
SQL
SQL
: My
SQL
、Oracle、DB2、
SQL
Server很多小伙伴熟悉S...
赞
踩
article
Java
版本
和
JDK
版本
对应关系
_
jdk17
是
1.7
吗...
JDK
则在
Java
1.0 到
Java
9 对应每一个
版本
号 :
JDK
1.0、
JDK
1.2 ...
JDK
1.8、
JDK
...
赞
踩
article
Linux配置
Supervisor
管理进程_
supervisorctl
update
socket
...
Supervisor
是由python语言编写,基于linux操作系统的一款服务器管理工具,用以监控服务器的运行,发现问题...
赞
踩
相关标签
zookeeper
学习
java
redis
面试
数据库
搜索引擎
百度
经验分享
javascript
ecmascript
c++
开发语言
spark
rust
后端
人工智能
硬件架构
opencv
spring
spring boot
前端
adb
android
android studio