文章解读与仿真程序复现思路——EI\CSCD\北大核心《基于模型预测控制的掺氢微能源网低碳经济调度 》
本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》
论文与完整源程序_电网论文源程序的博客-CSDN博客https://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博客https://blog.csdn.net/liang674027206/category_12531414.html
电网论文源程序-CSDN博客电网论文源程序擅长文章解读,论文与完整源程序,等方面的知识,电网论文源程序关注python,机器学习,计算机视觉,深度学习,神经网络,数据挖掘领域.https://blog.csdn.net/LIANG674027206?type=download