主动配电网的多智能体深度强化学习在优化调度与电压控制中的应用【附代码】

博主简介:擅长数据搜集与处理、建模仿真、程序设计、仿真代码、论文写作与指导,毕业论文、期刊论文经验交流。

 ✅ 具体问题可以私信或扫描文章底部二维码。


主动配电网的优化控制策略研究是一个复杂而多维的领域,涉及到电力系统的经济性、安全性以及新能源和柔性负荷的有效管理。以下是该研究领域的主要内容概述:

(1)日前分布式调度策略

在主动配电网中,日前集中式调度面临着难以协调大量分布式源荷的问题。为了解决这一挑战,研究提出了一种考虑信息壁垒和用户隐私保护的日前分布式调度策略。该策略首先建立了交直流混合微电网-主动配电网的优化调度模型,目标是在满足电压安全约束的前提下,降低配电网和多微网的运行成本,并最小化系统网损。考虑到信息壁垒和隐私保护的需求,采用辅助问题原理将集中式优化问题分解为多个子问题,并利用交替方向乘子法以分布式的方式进行求解。算例结果表明,所提出的分布式求解策略收敛速度快,满足日前调度的时间要求,优化得到的调度计划实现了功率互济,有效降低了系统运行成本

(2)日前分布式协调框架

针对日前调度过程中源荷不匹配导致的网络阻塞等安全运行问题,研究提出了考虑空调规模化预冷控制的主动配电网日前分布式协调框架。该框架首先基于住宅等效热参数模型建立了调度时间尺度下的需求响应模型,使单个空调负荷成为自动预冷/预热的价格响应型负荷。其次,建立了配电网节点边际电价模型,考虑了光伏逆变器无功支持能力、电压安全约束和网络阻塞约束,用以引导空调负荷的响应。从配电网利益和用户利益的一致性出发,分析规模化需求响应调节失灵的机理,并提出规模化需求响应的分布式协调框架。算例分析结果表明,所提方法能有效降低配电网运行成本,解决了源荷不匹配导致的网络阻塞和电压越限问题,并提高了可再生能源就地消纳水平;分布式协调框架优化了任务流,计算时长满足日前调度需求

(3)基于深度强化学习的实时调度策略

针对日前调度难以应对强随机性电动汽车负荷的问题,研究提出了基于深度强化学习的主动配电系统实时调度策略。该策略以最大化系统长期奖励为目标,将系统的实时调度问题建模为状态转移概率未知的马尔可夫决策过程,并采用深度确定性策略梯度算法进行求解。为了使智能体全面感知环境状态,建立了电动汽车的状态感知模型,通过与电动汽车的模糊控制器交互,实时感知系统负荷对不同电价的响应情况,为智能体提供决策依据。为了提高算法的探索和学习能力,提出相应的改进策略。算例结果表明,所提调度策略实现了对强随机性充电负荷的实时调度,提高了配电系统运行的经济性;实时调度策略显著减小了负荷和光伏出力之间的偏差,有效促进了源荷协调

(4)考虑分布式光伏无功支持的实时电压控制策略

针对实时调度过程中源荷快速波动引发的电压越限等安全运行问题,研究提出了考虑分布式光伏无功支持的主动配电网实时电压控制策略。该策略将实时电压控制问题建模为考虑最小化网损的约束马尔可夫博弈,并采用多智能体深度强化学习算法求解。针对约束马尔可夫博弈的安全探索问题,提出安全投影策略,在保证安全的前提下促进多智能体策略的有效探索。针对多智能体部署过程中遇到的通信延迟问题,提出了基于状态同步的实时决策算法。算例结果表明,所提策略仅需局部观测信息就能实时做出决策,有效降低了对全局通信的依赖;安全投影策略实现了零电压越限,并且获得了最小的网损;在出现通信延迟的情况下,仍能保证电压不越限

(5)基于分层强化学习的双时间尺度优化控制策略

针对不同时间尺度特性的源荷难以协调控制的问题,研究提出了基于分层强化学习的主动配电网双时间尺度优化控制策略。该策略将慢时间尺度下的充电站动态定价问题建模为考虑配电网长期收益最大化的马尔可夫决策过程。对于快时间尺度下的光伏逆变器实时控制问题,将其建模为考虑最小化网损的约束马尔可夫决策过程,采用安全投影网络将其转化为普通马尔可夫决策过程。为了提高训练的平稳性,提出了改进的分层强化学习训练框架。算例结果表明,所提策略能充分协调不同时间尺度下的源荷资源,在强随机性环境中有效提升了配网运行效益;分层智能体训练速度较快;所提策略实现了零电压越限

综上所述,本文聚焦主动配电网源荷调节特性,挖掘源荷调节潜力,提出了不同时间尺度下主动配电网的优化控制策略,以保障配电网的经济安全运行。配电网作为电力系统的毛细血管,其优化控制技术的研究成果可以推广到大量配电网工程中,具有较高的研究价值。

 

 
# 计算状态动作(s, a)出现的频率,以此估计策略的占用度量
def occupancy(episodes, s, a, timestep_max, gamma):
    rho = 0
    total_times = np.zeros(timestep_max)
    occur_times = np.zeros(timestep_max)
    for episode in episodes:
        for i in range(len(episode)):
            (s_opt, a_opt, r, s_next) = episode[i]
            total_times[i] += 1
            if s == s_opt and a == a_opt:
                occur_times[i] += 1
    for i in reversed(range(timestep_max)):
        if total_times[i]:
            rho += gamma ** i * occur_times[i] / total_times[i]
    return (1 - gamma) * rho

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坷拉博士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值