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

目录

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);  %光伏板面积/m2k = 0.200;  %1平方米的光伏板1000w/m2的标准电功率为200wE_PVr = sdpvar(1,1);  %光伏板额定发电功率ita_PV = 0.200/1000;%文章内写了两个E_PV,有错位,本代码将其改为E_PVmppt与E_PVE_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.hita_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.m3CO2E_CCS = sdpvar(1,T); %碳捕集耗电功率%从图5可以找出火电机组的最大出力功率180MW,最大爬坡常出现在119时刻与162时刻的正负50MW%火电机组的最小出力功率90MW,%表1中给出的火电机组容量为300000kWE_PGUmax = 300000;  %kWE_PGUmin = 90000;   %kWdita_E_PGUmax = 50000;%kWdita_E_PGUmin = -50000;%kW%从图7可知CO2捕集的最大功率是23000m3每小时%由此计算碳捕集的最大电功率为 0.1937*23000 = 4.4551e+03 kW

3 下载链接

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

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

相关文章

基础算法(算法竞赛)--排序区间合并火烧赤壁、堆 序列合并

1、B站视频链接&#xff1a;A21 排序 区间合并_哔哩哔哩_bilibili 题目链接&#xff1a;火烧赤壁 - 洛谷 #include <bits/stdc.h> using namespace std; #define N 20005 struct line{int l,r;bool operator<(line &t){return l<t.l;} }a[N];//定义结构体数组…

面向对象设计模式

一、单例 一个类只能创建唯一一个对象 利用限制构造、static完成 二、工厂模式 优势&#xff1a;规范接口&#xff08;纯虚函数&#xff09;&#xff1b;实现多态&#xff08;虚函数表&#xff09;&#xff1b;继承 1、简单工厂 一个工厂创建所有产品。 返回基类指针可…

µC/OS-II---两个系统任务

目录 空闲任务---OS_TaskIdle()统计任务---OS_TaskStat()统计任务初始化统计任务代码 OSInit()函数二者的协调使用 空闲任务—OS_TaskIdle() C/OS-II 规定&#xff1a;一个用户应用程序必须使用这个空闲任务&#xff0c;而且这个任务不能用软件来删除。优先级别&#xff1a;OS…

K线实战分析系列之七:行情顶部的看跌信号——黄昏星形态

K线实战分析系列之七&#xff1a;行情顶部的看跌信号——黄昏星形态 一、黄昏星形态二、黄昏线总结 一、黄昏星形态 二、黄昏线总结 黄昏星的高点形成阻力位&#xff0c;启明星的低点形成支撑位中间的星线实体与第一根K线的实体跳空区域比较宽&#xff0c;第三根K线覆盖了第一…

linux系统git仓库

git仓库 获取 Git 仓库&#xff08;初始化仓库&#xff09;创建裸库创建本地库 获取 Git 仓库&#xff08;初始化仓库&#xff09; 创建裸库 git仓库服务器创建useradd git passwd git mkdir /git-root/ cd /git-root/git init --bare shell.git #制作裸库chown -R git:gi…

Linux进程信号 ----- (信号保存)

前言 信号从产生到执行&#xff0c;并不会被立即处理&#xff0c;这就意味着需要一种 “方式” 记录信号是否产生&#xff0c;对于 31 个普通信号来说&#xff0c;一个 int 整型就足以表示所有普通信号的产生信息了&#xff1b;信号还有可能被 “阻塞”&#xff0c;对于这种多状…

在Win11上部署Stable Diffusion WebUI Forge

Stable Diffusion WebUI Forge 是 Stable Diffusion WebUI&#xff08;基于 Gradio&#xff09;之上的平台&#xff0c;可简化开发、优化资源管理并加快推理速度。“Forge”这个名字的灵感来自“Minecraft Forge”。这个项目旨在成为SD WebUI的Forge。 与原始 WebUI&#xff0…

MySQL数据库调优之关联查询、排序查询、分页查询、子查询、Group by优化

关联查询优化 1.准备工作 CREATE TABLE IF NOT EXISTS type(id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,card INT(10) UNSIGNED NOT NULL,PRIMARY KEY(id));CREATE TABLE IF NOT EXISTS book( bookid INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, card INT(10) UNSIGNED N…

堆C++(Acwing)

代码&#xff1a; #include <iostream> #include <algorithm> #include <string.h>using namespace std;const int N 100010;int h[N], hp[N], ph[N], cnt;void heap_swap(int a, int b) {swap(ph[hp[a]] ,ph[hp[b]]);swap(hp[a], hp[b]);swap(h[a], h[b])…

1904_ARM Cortex M系列芯片特性小结

1904_ARM Cortex M系列芯片特性小结 全部学习汇总&#xff1a; g_arm_cores: ARM内核的学习笔记 (gitee.com) ARM Cortex M系列的MCU用过好几款了&#xff0c;也涉及到了不同的内核。不过&#xff0c;关于这些内核的基本的特性还是有些不了解。从ARM的官方网站上找来了一个对比…

[力扣 Hot100]Day33 排序链表

题目描述 给你链表的头结点 head &#xff0c;请将其按 升序 排列并返回 排序后的链表 。 出处 思路 归并排序即可。 代码 class Solution { public:ListNode* merge(ListNode *h1,ListNode *h2) {ListNode *head nullptr;if(h1->val<h2->val){head h1;h1h1-…

Sora:颠覆性AI视频生成工具

Sora是一款基于人工智能&#xff08;AI&#xff09;技术的视频生成工具&#xff0c;它彻底改变了传统视频制作的模式&#xff0c;为创作者提供了高效、便捷、高质量的视频内容生成方式。通过深度学习和自然语言处理等先进技术&#xff0c;Sora实现了从文字描述到视频画面的自动…

计算机体系架构初步入门

&#x1f3ac;个人简介&#xff1a;一个全栈工程师的升级之路&#xff01; &#x1f4cb;个人专栏&#xff1a;高性能&#xff08;HPC&#xff09;开发基础教程 &#x1f380;CSDN主页 发狂的小花 &#x1f304;人生秘诀&#xff1a;学习的本质就是极致重复! 目录 1 计算机五大…

数据结构-列表LinkedList

一,链表的简单的认识. 数组,栈,队列是线性数据结构,但都算不上是动态数据结构,底层都是依托静态数组,但是链表是确实真正意义上的动态数组. 为什么要学习链表? 1,链表时最简单的动态数据结构 2,掌握链表有助于学习更复杂的数据结构,例如,二叉树,trie. 3,学习链表有助于更深入…

【深度学习笔记】卷积神经网络——多输入多输出通道

多输入多输出通道 虽然我们在subsec_why-conv-channels中描述了构成每个图像的多个通道和多层卷积层。例如彩色图像具有标准的RGB通道来代表红、绿和蓝。 但是到目前为止&#xff0c;我们仅展示了单个输入和单个输出通道的简化例子。 这使得我们可以将输入、卷积核和输出看作二…

EasyRecovery2024电脑版软件评测与使用教程

一、EasyRecovery电脑版软件评测 EasyRecovery电脑版是一款功能强大、操作简便的数据恢复软件。它适用于多种场景&#xff0c;无论是误删除、格式化、分区丢失还是硬件故障&#xff0c;都能提供有效的恢复方案。该软件界面直观&#xff0c;即便没有技术背景的用户也能轻松完成…

使用 React 和 MUI 创建多选 Checkbox 树组件

在本篇博客中&#xff0c;我们将使用 React 和 MUI&#xff08;Material-UI&#xff09;库来创建一个多选 Checkbox 树组件。该组件可以用于展示树形结构的数据&#xff0c;并允许用户选择多个节点。 前提 在开始之前&#xff0c;确保你已经安装了以下依赖&#xff1a; Reac…

GEE入门篇|遥感专业术语(实践操作3):时间分辨率(Temporal Resolution)

目录 时间分辨率&#xff08;Temporal Resolution&#xff09; 1.Landsat 2.Sentinel-2 时间分辨率&#xff08;Temporal Resolution&#xff09; 时间分辨率是指特定传感器图像流的重访时间或时间节奏&#xff0c;重访时间是指卫星连续访问地球表面同一位置…

公众号平台迁移公证怎么操作?

公众号迁移有什么作用&#xff1f;只能变更主体吗&#xff1f;公众号账号迁移的作用可不止是变更主体哦&#xff01;还可以把多个公众号的粉丝、文章合并起来&#xff0c;打造一个超级大 V&#xff1b;还可以变更公众号主体、名称、类型&#xff0c;增加留言功能&#xff1b;个…

javascript监听浏览器离开、进入行为

document.addEventListener(visibilitychange, () > {if (document.visibilityState hidden) {alert(离开)}if (document.visibilityState visible) {alert(进入)}}) visibilitychange是浏览器新添加的一个事件&#xff0c;当其选项卡的内容变得可见或被隐藏时&#xff0…