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

news2024/11/16 1:20:57

目录

1 主要内容

1.1 风光场景聚类

1.2 主模型程序结果

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

1.4 有无储气对比

1.5 煤价灵敏性分析

1.6 甲烷价格灵敏性分析

2 部分程序

3 程序链接


主要内容

本程序复现《计及源荷不确定性的综合能源生产单元运行调度与容量配置两阶段随机优化》模型,采用全年光伏、风电数据通过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 甲烷价格灵敏性分析

部分程序

    %% 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 程序链接

点击直达!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/452566.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Cloud Kernel SIG月度动态:发布 Anolis 8.8 镜像、kABI 社区共建流程

Cloud Kernel SIG&#xff08;Special Interest Group&#xff09;&#xff1a;支撑龙蜥内核版本的研发、发布和服务&#xff0c;提供生产可用的高性价比内核产品。 01 SIG 整体进展 Anolis 8.8 镜像发布&#xff0c;默认搭载 ANCK 5.10-013 版本。 Anolis 23 滚动内核更新至…

4月更新!EasyOps®全平台27项新功能一口气来袭~

又到了每月产品盘点时刻&#xff0c;27大新功能上线和升级优化&#xff0c;设计Hyperlnsight超融合持续观测平台、DevOps持续交付平台、AutoOps自动化运维平台、ITSM服务平台、公共服务&#xff0c;在不断的技术创新过程中&#xff0c;进一步加速IT运维效率升级。 下面和小编一…

Vue监视数据的学习笔记

Vue监测数据变化的更新 <div id"monitor"><h2>人员列表</h2><button click"updateMei">更新马冬梅信息</button><ul><li v-for"(p,index) of persons" :key"index">{{p.name}}--{{p.age}}…

Python数据结构-----递归实现快速排序

目录 前言&#xff1a; 快速排序 1.概念 2.示例 Python代码实现 递归实现快速排序 前言&#xff1a; 今天我们就来一起学习快速排序的思想方法&#xff0c;然后通过Python语言来实现快速排序的功能&#xff0c;下面我们就开始今天的学习吧&#xff01; 快速排序 1.概念 快…

银行数字化转型导师坚鹏:金融科技在银行数字化转型中的创新案例

金融科技在银行数字化转型中的创新与应用案例&#xff08;偏重对公业务&#xff09; 课程背景&#xff1a; 数字化背景下&#xff0c;很多银行存在以下问题&#xff1a; 不清楚5G如何赋能银行数字化转型&#xff1f; 不清楚最新金融科技创新与应用案例&#xff1f; 不了…

【部署YUM仓库】

目录 一、YUM概述1.1、YUM&#xff08; Yellow dog Upadater Modified) 二、准备安装源2.1、YUM软件仓库类型2.2、RPM软件包的来源2.3、第三方yum源的网址查看:2.4、构建CentOS 7 软件仓库2.4.1、配置yum源仓库时要先挂载2.4.2、配置yum源仓库2.4.3、配置完后更新缓存 2.5、ftp…

AutoSAR内存映射

总目录链接>> AutoSAR入门和实战系列总目录 总目录链接>> AutoSAR BSW高阶配置系列总目录 文章目录 为了防止不必要的内存缺口&#xff08;RAM 中未使用的空间&#xff09;&#xff0c;不同大小&#xff08;8、16 和 32 位&#xff09;的变量根据其大小映射到特…

论文笔记:基于并行注意力 UNet的裂缝检测方法

0 简介 论文&#xff1a;基于并行注意力 UNet的裂缝检测方法&#xff08;Parallel Attention Based UNet for Crack Detection&#xff09;&#xff1b; 发表&#xff1a;2021年发表在《计算机研究与发展》上。 1 问题分析 问题&#xff1a;裂缝图像中存在噪声、光线、阴影等…

中睿天下亮相2022电力行业信息化年会

4月14日-15日&#xff0c;以“低碳数字新动力&#xff0c;电力转型新发展”为主题的2022电力行业信息化年会在长沙成功召开。中睿天下作为网络安全企业受邀出席参展&#xff0c;展示多样性网络安全产品、电力行业解决方案及相关应用成果。 作为能源电力领域的行业盛会和学术交流…

垃圾回收器(一)

垃圾回收器概述 垃圾收集器没有在规范中进行过多的规定&#xff0c;可以由不同的厂商、不同版本的JVM来实现。 由于JDK的版本处于高速迭代过程中&#xff0c;因此Java发展至今已经衍生了众多的GC版本。 从不同角度分析垃圾收集器&#xff0c;可以将GC分为不同的类型。 GC分…

设计模式简谈

设计模式是我们软件架构开发中不可缺失的一部分&#xff0c;通过学习设计模式&#xff0c;我们可以更好理解的代码的结构和层次。 设计原则 设计原则是早于设计方法出现的&#xff0c;所以的设计原则都要依赖于设计方法。这里主要有八个设计原则。 推荐一个零声学院免费教程&…

阳光万里,祝你上岸——免统考在职研究生

什么是在职研究生 在职研究生&#xff0c;是国家计划内&#xff0c;以在职人员身份&#xff0c;部分时间在职工作&#xff0c;部分时间在校学习的研究生教育的一种类型。在职攻读硕士方式有三种&#xff1a; 1.双证非全日制研究生&#xff1a;为普通高等教育研究生学历&#x…

QGIS--开发OpenSCENARIO动态场景(三)--制作动态场景

一、添加scenario&#xff0c;carla的环境变量 export CARLA_ROOT/path/to/your/carla/installation export SCENARIO_RUNNER_ROOT/path/to/your/scenario/runner/installation export PYTHONPATH$PYTHONPATH:${CARLA_ROOT}/PythonAPI/carla/dist/carla-<VERSION>.egg ex…

如何利用工时表来帮助项目管理做得更完善?

项目管理是一项复杂的任务&#xff0c;需要协调各种资源以确保项目按时交付。其中一个关键方面是管理各个员工工时。工时表软件是一种可以帮助企业记录各个员工工作时效的工具&#xff0c;而且还可以帮助项目管理者记录和跟踪项目成员的时间。那么如何利用工时表来帮助项目管理…

如何配置静态路由?这个实例详解交换机的静态路由配置

一、什么是静态路由 静态路由是一种路由的方式&#xff0c;它需要通过手动配置。静态路由与动态路由不同&#xff0c;静态路由是固定的&#xff0c;不会改变。一般来说&#xff0c;静态路由是由网络管理员逐项加入路由表&#xff0c;简单来说&#xff0c;就是需要手动添加的。…

相空间相关概念以及轨迹生成

在时间序列分析中&#xff0c;相位轨迹也被广泛应用于提取隐藏在数据中的结构信息。例如&#xff0c;在人类活动识别任务中&#xff0c;通过构建不同活动对应的相位轨迹&#xff0c;可以揭示活动间的相似性和差异性&#xff0c;从而有助于设计有效的分类方法。 相空间&#xff…

Java每日一练(20230420)

目录 1. 罗马数字转整数 &#x1f31f; 2. 电话号码的字母组合 &#x1f31f;&#x1f31f; 3. 排列序列 &#x1f31f;&#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每…

java基础——Map

Map 第一章 Map集合 1.1 概述 Java提供了专门的集合类用来存放键值对关系的对象&#xff0c;即java.util.Map接口。 我们通过查看Map接口描述&#xff0c;发现Map接口下的集合与Collection接口下的集合&#xff0c;它们存储数据的形式不同&#xff0c;如下图。 Collection中…

Java学习之匿名内部类(非常重要)

目录 一、匿名内部类介绍 基本语法 二、举例说明 1.传统方式实现接口 2.使用匿名内部类进行简化 一、匿名内部类介绍 1.匿名内部类也是类 2.匿名内部类也是内部类 3.匿名内部类没有名字&#xff08;名字存在于JVM中&#xff0c;不会显示出来&#xff09; 4.匿名内部类同时…

Pytorch深度学习笔记(八)处理多维度特征的输入

目录 1.概述 2. 处理多维度特征的输入 注&#xff1a;不同的激活函数&#xff08;sigmoid函数&#xff09;&#xff0c; 绘制不同的图表 推荐课程&#xff1a;07.处理多维特征的输入_哔哩哔哩_bilibili 1.概述 一个八维数据集&#xff1a; 数据集&#xff0c;每一行称为一个…