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

文章解读与仿真程序复现思路——EI\CSCD\北大核心《基于模型预测控制的掺氢微能源网低碳经济调度 》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》

论文与完整源程序_电网论文源程序的博客-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/liang674027206/category_12531414.html

电网论文源程序-CSDN博客电网论文源程序擅长文章解读,论文与完整源程序,等方面的知识,电网论文源程序关注python,机器学习,计算机视觉,深度学习,神经网络,数据挖掘领域.https://blog.csdn.net/LIANG674027206?type=download

这篇文章提出了一种基于模型预测控制(MPC)的掺氢微能源网(MEG)低碳经济调度策略。以下是文章的核心内容:

研究背景与目的

  • 微能源网(MEG)能实现多元能源协同,提高能源利用效率,对经济低碳运行具有重要意义。
  • 考虑氢能制、储、用各环节与MEG的耦合关系,建立优化调度模型。
  • 提出基于深度学习的MPC调度策略,以实现MEG的低碳经济运行。

掺氢MEG的结构与建模

  • 结构:包含分布式光伏与风电、电解槽、高压储氢罐、掺氢燃机等。
  • 建模:详细建模了分布式可再生能源、电解槽、储氢罐、掺氢燃机、电制热机组和制冷系统。

MPC调度策略

  • 供需预测:使用长短期记忆(LSTM)网络进行风光出力及负荷的短期预测。
  • 滚动优化:在不断更新的时域边界内对系统进行连续优化,以系统日运行经济性最优为优化目标。
  • 校正反馈:将实际值与预测值的偏差反馈回去,修正预测模型,形成闭环控制。

算例分析

  • 调度结果分析:通过夏、冬季典型日的仿真验证所提策略的有效性。
  • 不同场景对比分析:分析氢能交互和阶梯碳价的引入对MEG低碳经济运行的影响。
  • 参数敏感性分析:分析燃机掺氢比和碳基价的变化对系统运行成本和碳排放量的影响。

结论

  • 提出的基于DL的MPC调度策略能有效抑制风光出力和负荷需求的随机性,提高运行经济性。
  • 氢能市场交互和合理的碳交易参数对降低MEG的碳排放量有显著作用。
  • 阶梯碳价机制对于高负荷的MEG降碳效果略优于固定碳价机制。

文章通过建立优化调度模型和提出MPC调度策略,为实现MEG的低碳经济运行提供了一种有效的解决方案,并通过对典型日的仿真分析验证了所提策略的有效性。

以下是复现文章中提到的基于模型预测控制(MPC)的掺氢微能源网低碳经济调度策略的仿真思路和程序表示:

# 导入必要的库
import numpy as np
import pandas as pd
from sklearn.preprocessing import MinMaxScaler
from keras.models import Sequential
from keras.layers import LSTM, Dense
from gurobipy import Model, GRB, quicksum

# 数据预处理
def preprocess_data(data):
    # 数据归一化处理
    scaler = MinMaxScaler(feature_range=(0, 1))
    data_scaled = scaler.fit_transform(data)
    return data_scaled

# 建立LSTM网络进行短期负荷预测
def build_lstm_model(input_shape):
    model = Sequential()
    model.add(LSTM(50, return_sequences=True, input_shape=input_shape))
    model.add(LSTM(50))
    model.add(Dense(1))
    model.compile(loss='mean_squared_error', optimizer='adam')
    return model

# 训练LSTM模型
def train_lstm_model(model, train_data):
    model.fit(train_data, epochs=300, batch_size=64, verbose=0)
    return model

# MPC优化调度
def mpc_optimization(model, data, params):
    # 创建优化模型
    m = Model()
    
    # 定义变量
    # ...(根据文章中的模型和约束条件定义变量)
    
    # 定义目标函数
    # ...(根据文章中的目标函数定义目标函数)
    
    # 添加约束
    # ...(根据文章中的约束条件添加约束)
    
    # 优化求解
    m.optimize()
    
    # 获取调度结果
    # ...(获取优化模型的调度结果)
    
    return results

# 主程序
if __name__ == "__main__":
    # 加载数据
    data = pd.read_csv('data.csv')
    
    # 数据预处理
    data_scaled = preprocess_data(data)
    
    # 划分数据集
    train_data, test_data = split_data(data_scaled)
    
    # 建立LSTM模型
    lstm_model = build_lstm_model((train_data.shape[1], 1))
    
    # 训练LSTM模型
    trained_model = train_lstm_model(lstm_model, train_data)
    
    # 使用训练好的模型进行预测
    predictions = trained_model.predict(test_data)
    
    # 反归一化处理
    predictions_original_scale = scaler.inverse_transform(predictions)
    
    # MPC优化调度
    results = mpc_optimization(trained_model, predictions_original_scale, params)
    
    # 输出结果
    print(results)

注释:

  • 首先,我们导入了必要的库,包括数据处理、LSTM模型构建、优化模型求解等所需的库。
  • preprocess_data函数用于数据归一化处理。
  • build_lstm_model函数用于建立LSTM模型。
  • train_lstm_model函数用于训练LSTM模型。
  • mpc_optimization函数用于进行MPC优化调度,包括创建优化模型、定义变量、定义目标函数、添加约束和优化求解。
  • 在主程序中,我们加载数据、进行数据预处理、划分数据集、建立和训练LSTM模型、使用模型进行预测、进行MPC优化调度,并输出结果。

请注意,上述代码是一个简化的框架,实际实现时需要根据具体的数据集和问题细节进行调整。例如,数据预处理步骤会根据实际数据集的特点而有所不同,LSTM模型的参数(如层数、神经元数量等)也需要根据实际情况进行调整。此外,MPC优化部分需要根据文章中的具体模型和约束条件来实现。

 本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》

论文与完整源程序_电网论文源程序的博客-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/liang674027206/category_12531414.html

电网论文源程序-CSDN博客电网论文源程序擅长文章解读,论文与完整源程序,等方面的知识,电网论文源程序关注python,机器学习,计算机视觉,深度学习,神经网络,数据挖掘领域.https://blog.csdn.net/LIANG674027206?type=download


http://www.kler.cn/a/461745.html

相关文章:

  • 【重庆】《政务数字化应用费用测算规范》(T/CDCIDA 001—2023)-省市费用标准解读系列36
  • 除了淘宝、天猫和京东,其他电商平台的按图搜索商品API返回值结构是怎样的?
  • vue学习第一阶段
  • C# 设计模式(结构型模式):组合模式
  • 免登录游客卡密发放系统PHP网站源码
  • gitlab 还原合并请求
  • Java Excel转PDF POI+Itext5
  • 【无线传感网】WSN数据管理技术
  • 自学记录鸿蒙API 13:Calendar Kit日历功能从学习到实践
  • 面试题解,JVM的运行时数据区
  • 【杂谈】-快速了解协作机器人
  • 推荐5款局域网IP扫描工具,支持电脑+Android!
  • 什么是递归解析服务器?它有什么特点
  • 正则表达式中,`$1` 是一个反向引用(backreference),它代表了匹配过程中捕获的第一个子表达式(即第一个括号内的内容)
  • 速盾:服务器CDN加速解析的好处有哪些呢?
  • leetcode热题100(79. 单词搜索)dfs回溯 c++
  • JWT包中的源码分析【Golang】
  • 解决uniapp H5页面限制输入框只能输数字问题
  • protobuf: 通讯录2.1
  • 生成文本格式日历的Python程序
  • SwanLab x LLaMA Factory:国产开源AI训练工具组合拳(含教程)
  • 如何使用Python生成词云图:结合`wordcloud`、`imageio`、`collections`和`jieba`分词模块
  • Excel VBA 自动填充空白并合并相同值的解决方案
  • 1.计算机英语
  • Spring boot对接安全证书
  • 通过 4 种方法将数据从 OnePlus 传输到Android