【EI复现】基于深度强化学习的微能源网能量管理与优化策略研究(Python代码实现)

2024-01-21

???????????????? 欢迎来到本博客 ❤️❤️????????

????博主优势: ???????????? 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️ 座右铭: 行百里者,半于九十。

???????????? 本文目录如下: ????????????

目录

????1 概述

????2 运行结果

2.1 有/无策略奖励

2.2 训练结果1

2.2 训练结果2

????3 参考文献

????4 Python代码、数据、文章


????1 概述

文献来源:

根据微电网或微能源网是否与主电网相连接,可将其分为并网型和独立型 2 种。本文以并网型微 能源网为研究对象,研究其并网运行的能量管理与优化问题。目前,针对微能源网的能量管理,从算法上来讲,多结合最优化算法或者启发式算法进行。文献[3]建立了微网混合整数非线性模型,通过将其分解为组合问题和最优潮流问题,避免直接求解混合整数非线性问题,加快了寻优速度。文献[4]通过概率约束对旋转备用储能的不确定性进行建模,提出了一种使用机会约束规划来最小化微网运营成本的最优调度方法。文献[5]在考虑可再生能源随机性和用户满意度的情况下,热电解耦的同时通过基于概率约束规划法优化,使运行成本最低。文献[6]提出一种基于记忆机制的遗传算法,对微网运行成本最小化问题进行求解。文献[7]提出了一种新的混合粒子群优化算法对含有可再生能源的微电网进行优化。文献[8]在考虑符合满意度的基础上,利用 NSGA-II 算法对微电网运行进行多目标优化。文献[9]基于 Stone-Geary 函数和双向拍卖机制构建了智慧能源系统能量优化模型,给出了通过收敛判定域引导的全局随机寻优与区域定向寻优策略。最优化算法的计算效率较高,但是其在处理非线性、非凸或非连续问题时难以逃出局部最优。启发式算法可以在给定的条件下求得相应的最优解或 Pareto 前沿,但限制多,计算耗时长且算法泛化学习能力不足。


关键词:微能源网;能量管理;深度强化学习;Q-learning;DQN

这种基于深度强化学习的微能源网能量管理与优化方法,不仅可以有效地预测微能源网的负荷需求和可再生能源的功率输出,还能够根据环境信息和分时电价进行智能化的能量调度。通过深度 Q 网络(DQN)的学习,系统可以不断优化能量管理策略,以最大程度地利用可再生能源并降低能源浪费。这种模型无关的智能算法还可以适应不同类型的微能源网,为各种规模和结构的能源系统提供定制化的能量管理方案。因此,这种创新的解决方案为可再生能源的接入和利用开辟了全新的可能性,有望推动微能源网的智能化发展,促进可再生能源在能源领域的更广泛应用。

强化学习是指从环境状态到动作策略集的学习,以使得动作从环境中获得的累计奖励最大,学

习的过程,如图 3 所示。本质上,智能体与环境的互动是一种马尔科夫决策过程(markov decision

process,MDP)。MDP 一般由一个四元组( S , A , R , ) 定义,其中:

在传统的 Q 学习算法中,由于维数灾难,强化学习难以解决大规模MDP问题或连续空间MDP问

题。因此,价值函数近似方法被提出以解决这一问题。

???? 2 运行结果

2.1 有/无策略奖励

2.2 训练结果1

2.2 训练结果2

部分代码:


class NetEnvironment:
    def __init__(self, phi):
        self.eta_MT = 0.3  # 联供发电单元的发电效率
        self.eta_HR = 0.73  # 余热回收锅炉的换热效率
        self.eta_HX = 0.9  # 换热装置的换热效率
        self.eta_SB = 0.9  # 燃气锅炉的效率
        self.eta_EC = 4  # 电制冷机的性能系数

        self.eta_BC = 0.2  # 电储能的最大充电率
        self.eta_BD = 0.4  # 电储能的最大放电率
        self.eta_B_max = 0.9  # 电储能的最大储能系数
        self.eta_B_min = 0.2  # 电储能的最小储能系数

        self.P_WT_max = 30  # 风机最大功率
        self.P_PV_max = 35  # 光伏最大功率

        self.P_PV = get_P_PV()  # 光伏的功率输出
        self.P_WT = get_P_WT()  # 风机的功率输出
        self.L_e = get_L_e()  # 电负荷
        self.L_h = get_L_h()  # 热负荷
        self.L_c = get_L_c()  # 冷负荷
        self.price = get_price()  # 电价

        self.P_MT_action = [0, 15, 30, 45, 60]  # 联合发电单元功率(0-60)
        self.P_g_action = [0, 16, 32, 48, 64, 80]  # 电网流入微能源网的电功率
        self.P_B_action = [-40, -20, 0, 20, 40, 60, 80]  # 蓄电池充放电功率
        self.action_space = []
        self.W_B = 200  # 蓄电池的最大容量
        self.c_f = 3.45  # 天然气的单位价格
        self.q_ng = 9.7  # 天然气的低热值(kW h)/m3
        self.Q_SB_max = 100  # 联供发电单元输出的最大热功率
        self.Q_HR_max = 120  # 余热回收锅炉输出的最大热功率
        self.P_M_t_1 = 30
        self.c_p = 0.9  # 单位差额电量的惩罚
        self.observation = [self.P_PV[0], self.P_WT[0], self.L_e[0], self.L_h[0], self.L_c[0], self.price[0],
                            phi]  # 光伏发电,风力发电、电负荷、热负荷、电负荷、电价、电储能的荷电状态  

????3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]刘俊峰,陈剑龙,王晓生等.基于深度强化学习的微能源网能量管理与优化策略研究[J].电网技术,2020,44(10):3794-3803.DOI:10.13335/j.1000-3673.pst.2020.0144

[2]陈剑龙.基于深度强化学习的微能源网能量管理策略研究[D].华南理工大学,2020.DOI:10.27151/d.cnki.ghnlu.2020.003401

???? 4 Python 代码、数据、文章

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【EI复现】基于深度强化学习的微能源网能量管理与优化策略研究(Python代码实现) 的相关文章

随机推荐