当前位置: 首页 > news >正文

2024年ASOC SCI2区TOP,基于强化学习教与学优化算法RLPS-TLBO+风电场布局优化,深度解析+性能实测

目录

    • 1.摘要
    • 2.风电场布局优化问题
    • 3.教与学优化算法TLBO原理
    • 4.基于强化学习教与学优化算法RLPS-TLBO
    • 5.结果展示
    • 6.参考文献
    • 7.代码获取
    • 8.算法辅导·应用定制·读者交流


1.摘要

随着全球对可再生能源需求的增长,风能作为一种环保能源得到了广泛关注。风力发电被视为减少碳排放、推动可持续发展的重要手段之一。在风电场中,多个风力发电机组协同工作,但下游风机不可避免地受到上游风机尾流的影响,导致部分风能未能得到有效利用。为减少尾流影响、提高风电场的发电效率并降低成本,本文提出了一种基于强化学习教与学优化算法(RLPS-TLBO),该算法的主要创新包括:将串行改为并行,加速收敛并提高效率;引入强化学习调整参数F,用于优化更新阶段的选择;在改进学习者阶段,新增个体参与更新,并提出选择概率以增强算法保留优质个体信息的能力。

2.风电场布局优化问题

尾流建模

风电场中尾流损失的预测是一项具有挑战性的工作,因为其本质涉及诸多复杂的非线性因素。风作用于风机叶片并驱动其转动的速度,会受到风速、湍流强度、叶片气动特性、桨距角等气象和控制参数的共同影响。经过一系列非线性损耗后,每台风机都以不同的最优状态发电,而风流经过风机后速度会降低,并形成带有湍流的尾流。叶片的旋转还会引入进一步的湍流,其强度与初始风速、湍流强度、叶片转速及偏航角等密切相关。最终,这些尾流在空间中横向和纵向扩散,表现出高度不确定性,因此准确的尾流建模对于评估风电场发电损失至关重要。

Jensen single wake model

目前,常用的尾流模型有Jensen模型、Larsen模型、Frandsen模型等。其中,Jensen尾流模型以其简明的结构和较高的预测精度,成为应用最广泛的解析模型。图中展示在恒定风速下Jensen单尾流模型,根据动能守恒定律,可以计算距离风机一定距离处的尾流风速:
Vx=V0−a(rα2rx2)×V0V_x=V_0-a\left(\frac{r_\alpha^2}{r_x^2}\right)\times V_0 Vx=V0a(rx2rα2)×V0

Multiple wake effect in the wind farm

在实际风电场中,多个相邻涡轮尾流的联合效应会导致更显著的尾流影响。根据动能守恒原理,当涡轮受到多个尾流的影响时尾流速度:
νxi=νo[1−∑i=1Nt(1−νxiνo)2]\nu_{xi}=\nu_o\left[1-\sqrt{\sum_{i=1}^{N_t}\left(1-\frac{\nu_{xi}}{\nu_o}\right)^2}\right] νxi=νo1i=1Nt(1νoνxi)2

Effects of overlapping parts of turbine wake

在实际风电场布局中,可以通过合理分组和布置涡轮位置,最大程度地降低尾流效应。在确定涡轮布局时,必须充分考虑上游涡轮尾流重叠对下游涡轮的影响。为提高尾流效应预测的准确性,需要计算阴影区域AijA_{ij}Aij
Aij=ri2cos−1(dij2+ri2−rj22dijri)+rj2cos−1(dij2+rj2−ri22dijrj)−12(−dij+ri+rj)(dij−ri+rj)(−dij+ri−rj)(dij+ri+rj)\begin{aligned} A_{ij} = & r_i^2\mathrm{cos}^{-1}\left(\frac{d_{ij}^2+r_i^2-r_j^2}{2d_{ij}r_i}\right)+r_j^2\mathrm{cos}^{-1}\left(\frac{d_{ij}^2+r_j^2-r_i^2}{2d_{ij}r_j}\right) \\ & -\frac{1}{2}\sqrt{\left(-d_{ij}+r_i+r_j\right)\left(d_{ij}-r_i+r_j\right)\left(-d_{ij}+r_i-r_j\right)\left(d_{ij}+r_i+r_j\right)} \end{aligned} Aij=ri2cos1(2dijridij2+ri2rj2)+rj2cos1(2dijrjdij2+rj2ri2)21(dij+ri+rj)(dijri+rj)(dij+rirj)(dij+ri+rj)

目标函数

风电场布局优化(WFLOP)需要综合考虑成本、发电量、环境影响和安全等多方面因素。当前常用的三种方法包括:

  • 网格法:将风电场区域划分为多个网格,评估每个网格的风能资源,利用优化算法确定风机的数量和最优布局;

  • 统计法:通过收集气象参数(如风速、风向等),采用统计建模的方法评估风能资源,实现风机布局优化;

  • 多目标优化法:在最大化发电量和最小化成本等多重目标之间权衡,利用多种优化算法给出帕累托最优解。

本文采用网格法结合最大功率与最低成本两项指标:
Objective=min⁡Cost(NWT)PtotalObjective=\min\frac{Cost(N_{WT})}{P_{total}} Objective=minPtotalCost(NWT)

其中,Cost(NWT)Cost(N_{WT})Cost(NWT)表示风机总成本,PtotaP_{tota}Ptota表示总功率。风电场效率通过有尾流影响下总发电量与无尾流影响下总发电量比值计算:
Cost=NWT(23+13e−0.00174NWT2)Cost=N_{WT}\left(\frac{2}{3}+\frac{1}{3}e^{-0.00174N_{WT}^2}\right) Cost=NWT(32+31e0.00174NWT2)
Ptotal=∑i=1NWT12ηiρairAiVi3P_{total}=\sum_{i=1}^{N_{WT}}\frac{1}{2}\eta_{i}\rho_{air}A_{i}V_{i}^{3} Ptotal=i=1NWT21ηiρairAiVi3
ηwf=PtotalNWT∗0.3∗V03\eta_{wf}=\frac{P_{total}}{N_{WT}*0.3*{V_{0}}^{3}} ηwf=NWT0.3V03Ptotal

The diagram of the wind conditions

编码

本文采用连续实数作为设计变量,来确定涡轮机在方格中的布置位置。

The code for Cases 1 and 2

The code for Cases 3 and 4

3.教与学优化算法TLBO原理

【智能算法】教与学优化算法 (TLBO)原理及实现

4.基于强化学习教与学优化算法RLPS-TLBO

RLPS-TLBO采用强化学习方法,根据每一代进化的结果,为每个个体自适应地调整参数FFF实现策略优化。当子代优于父代时,说明当前搜索方向有效,应增强局部搜索,即提高个体进入教师阶段的概率,此时设f=−0.05f=−0.05f=0.05。若父代优于子代,说明当前搜索方向效果不佳,应增强全局搜索,提高个体选择学习者阶段的概率,此时f=0.05f=0.05f=0.05。对于其他情况,f=0f=0f=0

每个智能体选择状态和动作的概率:
π(si,aj)=eQt(si,aj)/T∑j=1neQt(si,aj)/T\pi\left(s_i,a_j\right)=\frac{e^{Q_t\left(s_i,a_j\right)/T}}{\sum_{j=1}^ne^{Q_t\left(s_i,a_j\right)/T}} π(si,aj)=j=1neQt(si,aj)/TeQt(si,aj)/T

Flowchart of RLPS-TLBO

5.结果展示

论文仿真

6.参考文献

[1] Yu X, Zhang W. A teaching-learning-based optimization algorithm with reinforcement learning to address wind farm layout optimization problem[J]. Applied Soft Computing, 2024, 151: 111135.

7.代码获取

xx

8.算法辅导·应用定制·读者交流

http://www.dtcms.com/a/295963.html

相关文章:

  • 一种宏模板实现方法
  • (实用攻略)Linux操作系统(一)
  • 强制缓存与协商缓存
  • CentOS7 安装 rust 1.82.0
  • C语言转义字符‘\\‘‘ 解析与常见误区
  • 收银系统合作模式全解析:SaaS、私有化部署与开源版选型指南
  • Kylin V10 4070安装nvidia驱动+CUDA+docker安装
  • 循环队列的两种实现
  • Spring AI 系列之二十四 - ModerationModel
  • 每日算法刷题Day52:7.24:leetcode 栈5道题,用时1h35min
  • 前端性能新纪元:Rust + WebAssembly 如何在浏览器中实现10倍性能提升(以视频处理为例)
  • uniapp nvue开发App 横竖屏切换丢失上下文导致 setTimeout和clearTimeout报错
  • [网安工具] 自动化威胁检测工具 —— D 盾 · 使用手册
  • SAP-MM-采购订单批量创建 excel 版
  • 保留5位小数封装一个自定义指令
  • Linux 内核基础统简全解:Kbuild、内存分配和地址映射
  • 10分钟搭建脚手架:Spring Boot 3.2 + Vue3 前后端分离模板
  • Springboot儿童医院问诊导诊系统aqy75(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 使用钉钉开源api发送钉钉工作消息
  • C语言 一文详解常用的字符串操作函数及模拟实现
  • 医疗系统国产化实录:SQL Server国产替代,乙方保命指南
  • DigitalOcean 一键模型部署,新增支持百度开源大模型ERNIE 4.5 21B
  • 集合中Comparable接口和Equals方法的冲突
  • 【Mermaid 离线工具】Mermaid 流程图生成器 - 高清PNG输出,一键生成专业级流程图!
  • 共创养生新时代——2025酵素益生产品展暨中秋滋补选品节即将开启
  • QT6 源(165)模型视图架构里的所有的信号函数概览
  • UNETR++: Delving Into Efficient and Accurate 3D Medical Image Segmentation
  • 深度分析Java内存模型
  • 【全新上线】境内 Docker 镜像状态监控
  • 算法第三十八天:动态规划part06(第九章)