matlab|计及源荷不确定性的综合能源生产单元运行调度与容量配置随机优化模型

目录

[1 主要内容](#1 主要内容)

[1.1 风光场景聚类](#1.1 风光场景聚类)

[1.2 主模型程序结果](#1.2 主模型程序结果)

[1.3 随机模型和确定性模型对比](#1.3 随机模型和确定性模型对比)

[1.4 有无储气对比](#1.4 有无储气对比)

[1.5 煤价灵敏性分析](#1.5 煤价灵敏性分析)

[1.6 甲烷价格灵敏性分析](#1.6 甲烷价格灵敏性分析)

[2 部分程序](#2 部分程序)

[3 下载链接](#3 下载链接)


1 主要内容

本程序复现《计及源荷不确定性的综合能源生产单元运行调度与容量配置两阶段随机优化》模型,采用全年光伏、风电数据通过kmeans聚类得到6种场景,构建了随机优化模型,在研究融合P2G与CCS的IEPU系统框架基础上,建立了各关键设备及生产环节数学模型,基于混合整数线性规划(mixed integer linear programming, MILP)算法,以全生命周期内经济成本最低为优化目标,考虑物料及能量平衡约束,实现典型周内各设备功率的最优逐时调度优化,并得到最佳综合能源系统中碳捕集+电制氢+甲烷化+氢存储+CO2存储的容量配置结果。

  • 程序和原文献的差别:原文献采用的是双层模型,将智能算法和MILP算法进行结合,但是考虑到智能算法由于容易陷入局优导致结果不稳定的问题,本程序采用单层MILP算法直接对模型进行复现;原文献算例采用的是典型周的方式,本文采用全年聚类形成6个典型日作为分析基础。
  • 程序优势:本程序不仅复现了主模型,而且实现了文献的对比算例和敏感性分析部分,分别是确定性模型和随机模型对比、无储气与有储气对比、甲烷价格灵敏度分析、煤价灵敏度分析。
  • 程序采用matlab+yalmip(求解器为gurobi)进行优化,由于非线性问题的存在,该程序采用cplex求解会报错,需要学习的同学可以下载安装gurobi并配置好环境后运行使用。

1.1 风光场景聚类

通过全年风光数据聚类得到6个典型日并计算得到每个典型日的频次。

1.2 主模型程序结果

1.3 随机模型和确定性模型对比

原文结果:因原始数据偏差,结果不尽相同,但趋势是一致的。

1.4 有无储气对比

1.5 煤价灵敏性分析

1.6 甲烷价格灵敏性分析

2 部分程序

复制代码
    %% 1.1.1光伏设备模型 
    E_PVmppt = sdpvar(1,T);  %光伏板mppt发电功率
    A_PV = sdpvar(1,1);  %光伏板面积/m2
    k = 0.200;  %1平方米的光伏板1000w/m2的标准电功率为200w
    E_PVr = sdpvar(1,1);  %光伏板额定发电功率
    ita_PV = 0.200/1000;
    %文章内写了两个E_PV,有错位,本代码将其改为E_PVmppt与E_PV
    E_PV = sdpvar(1,T);  %光伏板有效发电功率
    E_PV_cur = sdpvar(1,T);  %弃光功率
    %后文算例中出现135MW的光伏容量配置结果,那么这里的限值就算用300MW吧,即300 000kW.
    E_PVr_max = 300000;  %光伏板额定发电功率.kW
    %之后,这里直接将约束也写上,省的再回头来写约束了。
    C=[];
    C=[C, E_PVr ==  A_PV*k,
          E_PVmppt == E_PVr*ita_PV/k*It,
          E_PVmppt == E_PV + E_PV_cur,
          0<=E_PVr,E_PVr<=E_PVr_max,
          %补充
          E_PV >= 0,
          E_PV_cur >= 0,
          A_PV >= 0, 
    ];
    %% 1.1.2 CCS 模型   
    V_CO2_PGU = sdpvar(1,T);  %火电机组的二氧化碳排放量
    E_PGU = sdpvar(1,T);  %火电机组发电功率
    e_PGU = 0.46;   %火电机组的二氧化碳排放强度,见表1的 0.46 N.m3CO2/kW.h
    ita_CCS_max = 0.65;%碳捕集效率最大值  0.65 
    V_CO2_CCSmax = sdpvar(1,T); %碳捕集最大功率(体积)
    V_CO2_CCS = sdpvar(1,T); %实际碳捕集功率(体积)
    V_CO2_cur = sdpvar(1,T); %碳捕集功率耗散部分功率(体积)
    lamdaCO2 = 0.1937;   %碳捕集功率耗电系数 kW.h/N.m3CO2
    E_CCS = sdpvar(1,T); %碳捕集耗电功率
    %从图5可以找出火电机组的最大出力功率180MW,最大爬坡常出现在119时刻与162时刻的正负50MW
    %火电机组的最小出力功率90MW,
    %表1中给出的火电机组容量为300000kW
    E_PGUmax = 300000;  %kW
    E_PGUmin = 90000;   %kW
    dita_E_PGUmax = 50000;%kW
    dita_E_PGUmin = -50000;%kW
    %从图7可知CO2捕集的最大功率是23000m3每小时
    %由此计算碳捕集的最大电功率为 0.1937*23000 = 4.4551e+03 kW

3 下载链接

相关推荐
Evand J1 小时前
【MATLAB例程|图像滤波降噪13】局部噪声方差自适应滤波(LNR)图像降噪与效果展示。附完整例程的下载链接
图像处理·计算机视觉·matlab·滤波·代码·降噪
weixin_3077791313 小时前
C++代码实现MATLAB中的ode23t函数功能
开发语言·c++·算法·matlab
Evand J15 小时前
【MATLAB例程】二维Astar路径规划与AOA-TDOA定位仿真。完整代码,附下载链接。包运行成功,带中文注释
开发语言·matlab·路径规划·代码·定位·融合定位
路径规划6661 天前
(MATLAB代码)退火PSO融合DWA算法的船舶路径规划MATLAB实现(260915)
matlab·路径规划·船舶·dwa·pso粒子群算法
weixin_307779131 天前
C++代码实现MATLAB中的ode45函数功能
开发语言·c++·算法·matlab
菜鸟~noob2332 天前
【电子战】第15篇:混合定位——TDOA/FDOA/AOA 联合【含matlab代码】
开发语言·matlab
Evand J3 天前
【MATLAB例程,图像滤波降噪12】加权中值滑动窗口滤波(WMF)图像降噪,包含滤波质量评价。附代码下载链接
开发语言·图像处理·人工智能·计算机视觉·matlab·滑动窗口·滤波
Evand J3 天前
【MATLAB例程,图像降噪7】高斯加权滑动窗口滤波,用于图像降噪,带质量评价,附代码下载链接
开发语言·图像处理·matlab·滑动窗口·滤波·降噪·图像滤波
菜鸟~noob2334 天前
【电子战】第07篇:多普勒测向【含matlab代码】
android·开发语言·matlab
可编程芯片开发4 天前
基于压电能量收集和MPPT最大功率跟踪算法的IoT压力传感器电源系统Simulink建模与仿真
物联网·matlab·simulink·mppt·压电能量收集·iot压力传感器