基于多能互补的热电联供型微网优化运行(matlab代码)

news2024/11/29 1:41:29

目录

1 主要内容

多能互补模型

算例分析

2 部分代码

3 程序结果

4 下载链接


主要内容

该程序基本复现《基于多能互补的热电联供型微网优化运行》,在需求侧对负荷类型进行分类,利用电负荷的弹性和系统供热方式的多样性,构建含电负荷时移、削减响应及热负荷供能方式响应的综合能源需求响应模型,并提出响应补偿机制。在此基础上,以系统运行成本与响应补偿成本之和最小为目标,综合考虑供需双侧设备运行和可调度负荷资源约束,建立基于多能互补的 CHP-MG 优化运行数学模型。同时,为了体现模型的准确性,代码对比了热负荷参与、电负荷参与以及电热负荷均参与或者均不参与四种常见下的模型调度结果,体现了所构模型的经济型。

  • 多能互补模型

  • 算例分析

部分代码

%%  赋值
MT=intvar(1,24,'full');
​
Pgrid=intvar(1,24,'full');  %  购 、 售
​
Pnas=intvar(2,24,'full'); % 充、 放
​
​
H=intvar(1,24,'full');%锅炉
Q=intvar(1,24,'full');%可中断电负荷
​
Hti=intvar(1,24,'full');%充热
Hto=intvar(1,24,'full');%放热
xx=intvar(1,24,'full');%%%%%时平负荷量
yy=intvar(1,24,'full');
​
%% 0-1赋值
I_Hti=binvar(1,24,'full');%充热
I_Hto=binvar(1,24,'full');%放热
I_MT=binvar(1,24,'full');
I_Pnas=binvar(2,24,'full');% 1运行 0停止
I_Q=binvar(1,24,'full');
%%   目标函数
for i=1:24%发电成本
    Cf(1,i)=Cgas(i)*(aF(1)*MT(1,i)+bF(1)*I_MT(1,i));
end
for i=1:24%%%%余热回收
    H_cycle(1,i)=aH(1)*MT(1,i)+bH(1)*I_MT(1,i);
end
for k=1:24 %PCC交互成本 % 1-5,23-24 谷 % 6-12,19-22 峰 % 13-18 平 
    if k>=1&&k<7
        Cgrid(1,k)=Pgrid(1,k).*buy(3);
    elseif k>=7&&k<13
        Cgrid(1,k)=Pgrid(1,k).*buy(1);
    elseif k>=13&&k<19
        Cgrid(1,k)=Pgrid(1,k).*buy(2);
    elseif k>=19&&k<23
        Cgrid(1,k)=Pgrid(1,k).*buy(1);
    else
        Cgrid(1,k)=Pgrid(1,k).*buy(3);
    end
end
for k=1:24 %需求响应单位成本
   if k>=1&&k<7
        bu_q(1,k)=0.9*buy(1);
        bu_x(1,k)=0.5*buy(1);
        bu_p(1,k)=0.6*Cgas(1,k);
    elseif k>=7&&k<13
        bu_q(1,k)=0.9*buy(1);
        bu_x(1,k)=0.5*buy(1);
        bu_p(1,k)=0.6*Cgas(1,k);
    elseif k>=13&&k<19
        bu_q(1,k)=0.9*buy(1);
        bu_x(1,k)=0.5*buy(1);
        bu_p(1,k)=0.6*Cgas(1,k);
    elseif k>=19&&k<23
        bu_q(1,k)=0.9*buy(1);
        bu_x(1,k)=0.5*buy(1);
        bu_p(1,k)=0.6*Cgas(1,k);
    else
        bu_q(1,k)=0.8*buy(1);
        bu_x(1,k)=buy(1)/2;
        bu_p(1,k)=0.6*Cgas(k);
    end
end
for k=1:24  %% 切除负荷成本
        if k>=7&&k<=12
          Ck1(1,k)=(Q(1,k).*bu_q(1,k))+xx(1,k)*bu_x(1,k);
    elseif  k>=19&&k<=20
          Ck1(1,k)=(Q(1,k).*bu_q(1,k))+xx(1,k)*bu_x(1,k);
       else
          Ck1(1,k)=(Q(1,k).*bu_q(1,k))+xx(1,k)*bu_x(1,k);
        end
end
for i=1:24%锅炉成本
    Ch(1,i)=Cgas(i)*(H(1,i))/LHV;
end
F=0;%目标函数
mm=3.1;
for k=1:24 %1.8
     F=F+Cf(1,k)+Cgrid(1,k)+Ch(1,k)+(Pnas(1,k)+Pnas(2,k))*0.024;
end
for k=1:24 %SOC值
    SOC(k)=(500+sum(Pnas(1,1:k).*I_Pnas(1,1:k)-(Pnas(2,1:k)).*I_Pnas(2,1:k)))/1000;   
end
begin=500;
% for i=1:24%%热储能
%     L(1,i)=begin*h_n+h_charge*Hti(1,i)-Hto(1,i);%%%热储能容量
%     begin=L(1,i);
% end
​
%%  约束条件
constraints=[];
%% 状态约束
for k=1:24  %Pgrid状态 %Pnas状态
    constraints=[constraints,I_Pnas(1,k)+I_Pnas(2,k)<=1];
%     constraints=[constraints,I_Hti(1,k)+I_Hto(1,k)<=1];
end
constraints=[constraints,sum(I_Pnas(1,1:24)+I_Pnas(2,1:24))<=14];
%% 上下限约束
for k=1:24     
    constraints=[constraints,25.*I_MT(1,k)<=MT(1,k)<=145.*I_MT(1,k)]; 
    
    constraints=[constraints,Pgrid_min<=Pgrid(1,k)<=Pgrid_max]; 
​
    constraints=[constraints,Pnas_min.*I_Pnas(1,k)<=Pnas(1,k)<=Pnas_max.*I_Pnas(1,k)]; 
    constraints=[constraints,Pnas_min.*I_Pnas(2,k)<=Pnas(2,k)<=Pnas_max.*I_Pnas(2,k)];    
end
%%% MT爬坡率
for i=1:23
    constraints=[constraints,-55<=MT(1,i+1)-MT(1,i)<=65];
end
%   PCC深度限制
 for k=1:23
     constraints=[constraints,-90<=Pgrid(1,k+1)-Pgrid(1,k)<=90];
 end
 %%荷电状态
 for k=1:24
      constraints=[constraints,SOC_min<=300+sum(Pnas(1,1:k)-Pnas(2,1:k))<=SOC_max];      
 end
 %%储能充放电深度限制
 for k=1:23
     constraints=[constraints,-50<=Pnas(1,k+1)-Pnas(2,k+1)-Pnas(1,k)+Pnas(2,k)<=50];
 end
     constraints=[constraints,sum(Pnas(1,1:24))==sum(Pnas(2,1:24))];
%%%锅炉上下限、爬坡率
for i=1:24
    constraints=[constraints,30<=H(1,i)<=H_max];
end
for i=1:23   
   constraints=[constraints,-90<=H(1,i+1)-H(1,i)<=90];
end
​
%%功率平衡
for k=1:24
constraints=[constraints,MT(1,k)-Pnas(1,k)+Pnas(2,k)+Pgrid(1,k)+Pwind(1,k)==load(k)+L5(1,k)+L6(1,k)+L7(1,k)];
end

程序结果

4 下载链接

点击直达! 

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

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

相关文章

淘宝618每日一猜答案(6月9日)淘宝大赢家今日答案

淘宝6月9日每日一猜答案是什么&#xff1f;&#xff0c;接下来也会给大家来介绍一下6月9日淘宝大赢家每日一猜的答案。 淘宝每日一猜6月9日答案分享 活动问题&#xff1a;环球影城大酒店有几种主题房&#xff1f; 活动答案&#xff1a;【2种】 注意阿拉伯数字&#xff01; …

[游戏开发][Unity]Assetbundle加载篇(1)热更前准备与下载AB包清单

热更流程都不是固定的&#xff0c;每个人写的状态机也有所差别&#xff0c;但是一些必要步骤肯定不可能少&#xff0c;例如下载清单&#xff0c;对比版本&#xff0c;下载AB包&#xff0c;标记下载完成。 检查沙盒路径是否存在 public static string MakePersistentLoadPath(st…

UnityVR--组件7--动画事件BlendTree

目录 应用1&#xff1a;使用BlendTree实现站立和移动 应用2&#xff1a;人物跳跃事件&播放跳跃动画 应用3&#xff1a;开火动画事件&动画片段中建立事件监听 上一篇&#xff08;组件5--Animation动画&#xff09;已经做了2个动画片段&#xff0c;HeroIdle和HeroJump…

【C语言】qsort详细将解

系列文章目录 qsort目录 系列文章目录一、前言二、qosort是什么&#xff1f;二、qsort的使用1、原型2、参数3、头文件&#xff08;1&#xff09;qsort参数中的函数指针讲解 三、使用示例和运行截图1、整形例子&#xff08;升序&#xff09;3、字符例子&#xff08;降序&#xf…

Android——使用Service服务实现通信

实验目的&#xff1a; &#xff08;1&#xff09;能创建、启动和关闭服务 &#xff08;2&#xff09;能实现服务的通信 实验内容及原理&#xff1a; 设计一个服务的具体应用&#xff0c;实现服务的通信 实验设备及实验步骤&#xff1a; 实验设备&#xff1a;WindowsAndro…

VPS 和GPS 、SLAM 之间的爱恨情仇

注&#xff1a;该文章首发3D视觉工坊&#xff0c;链接如下3D视觉工坊 VPS 、GPS 、SLAM 的区别与联系 首先简单的阐述一下三者的定义&#xff1a; VPS全称为Visual Positioning System&#xff0c;即视觉定位系统。手机端(移动时代&#xff09;的VPS首次出现时间节点为2019年&…

Linux 负载均衡集群 LVS_NAT模式 LVS_DR模式

集群 由多台主机组成&#xff0c;只做一件事&#xff0c;对外表现为一个整体。 只干一件事 &#xff1a;集群 干不同的事&#xff1a;分布式 企业集群分类 负载均衡群集&#xff08;load balance cluster&#xff09; 提高系统响应效率&#xff0c;处理更多的访问请…

Qt6 C++基础入门3 对话框与MainWindow

目录 对话框MainWindow菜单工具栏 对话框 目前的对话框主要有以下几大类 文件对话框( QFile Dialog)消息对话框( QMessageBox)输入对话框( QInputDialog)颜色对话框( QColorDialog)字体对话框( QFontDialog) 这是七大对话框及其基本用法的实例参考&#xff0c;所有代码都写在…

《星岛日报》专访:欧科云链AML,助力数字资产合规及风险防控

6月1日&#xff0c;香港《适用于虚拟资产交易平台营运者的指引》及《打击洗钱指引》正式施行&#xff0c;香港虚拟资产发牌制度正式生效。作为深耕香港市场多年的Web3科技企业&#xff0c;欧科云链OKLink也正式推出的Onchain AML反洗钱合规解决方案&#xff0c;利用多年积累的海…

Windows下安装python和pip

Windows下安装python和pip 1、安装python 注意&#xff1a;windows10 安装时强烈建议不用使用 Windows Store 安装。避免后期python运行时牵扯权限相关问题。 具体步骤&#xff1a; 1、前往python官网下载windows python 安装包 下载文件 2、双击运行安装&#xff08;强力…

实时日志滚动显示 springboot+vue3

-:后端使用ssemiter保持客户端链接:http 这里不用websocket的原因是,sse很轻,整合方便,可发送日志,消息,群发等都可以。 -:前端使用vue3+ansi_up做页面展示 第一: 刷新页面导致session问题 可以在java的session中记录,如果是同一个客户重新链接的话,直接返回java…

【轴承故障诊断】用于轴承故障诊断的集中时频分析研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

SQL SERVER case when的使用方法

一、case when的使用方法 Case具有两种格式。简单Case函数和Case搜索函数。 第一种 格式 : 简单Case函数 : 格式说明     case 列名     when 条件值1 then 选项1     when 条件值2 then 选项2…     else 默认值 end eg:     select     case   job…

2021年国赛高教杯数学建模B题乙醇偶合制备C4烯烃解题全过程文档及程序

2021年国赛高教杯数学建模 B题 乙醇偶合制备C4烯烃 原题再现 C4 烯烃广泛应用于化工产品及医药的生产&#xff0c;乙醇是生产制备 C4 烯烃的原料。在制备过程中&#xff0c;催化剂组合&#xff08;即&#xff1a;Co 负载量、Co/SiO2 和 HAP 装料比、乙醇浓度的组合&#xff0…

JUC源码分析:通过ReentrantLock阅读AbstractQueuedSynchronizer源码

一、概述 ReentrantLock进行上锁的流程如下图所示&#xff0c;我们将按照下面的流程分析ReentrantLock上锁的流程&#xff0c;在此过程中阅读AbstractQueuedSynchronizer源码。 AQS 的数据结构如下图所示。 AQS大家还记得吗&#xff1f;最核心的是它的一个共享的int类型值叫做…

电脑自动关机是什么原因?如何解决?

案例&#xff1a;有时候我的电脑用着就突然关机&#xff0c;会导致一些没有保存的文件丢失。有没有小伙伴知道电脑为什么会自动关机&#xff1f;怎样做才能避免这个问题&#xff1f; 在使用电脑过程中&#xff0c;遇到电脑自动关机的问题是很常见的。当我们在进行重要任务时&a…

Netty核心源码剖析(四)

1.Netty心跳(heartbeat)服务源码剖析 1>.Netty作为一个网络框架,提供了诸多功能,比如编码解码等,Netty还提供了非常重要的一个服务–心跳机制heartbeat.通过心跳检查对方是否有效,这是RPC框架中是必不可少的功能.下面我们分析一下Netty内部心跳服务源码实现; 2>.Netty提…

电磁仿真需要牢记的内功心法

在射频、微波设计中&#xff0c;各种“强大”的商用电磁仿真软件的功能包罗万象&#xff0c;这篇“内功心法”从算法角度出发&#xff0c;提示大家如何谨慎选择仿真软件。 心法一&#xff1a;场”与“路”的区分 世上本无“路”&#xff0c;“场”近似得多了就变成了“路”&a…

千人规模亚马逊云科技出海日将于6月9日开启,助推企业出海出圈

向全球价值链上游奋进 中国企业增强国际竞争力的关键&#xff0c;是努力朝全球价值链上游奋进&#xff0c;发力技术出海。中国的出海新机遇&#xff0c;背后曾是疫情在全球按下数字互联和数字化升级的快进键&#xff0c;跨境电商、在线社交、移动支付、数字服务等数字经济迎来…

什么是 Vue.js 中的 keep-alive 组件?如何使用 keep-alive 组件?

Vue.js 中的 Keep-alive 组件 Vue.js 是一款流行的前端框架&#xff0c;它提供了许多实用的组件和工具&#xff0c;其中之一就是 Keep-alive 组件。Keep-alive 组件是 Vue.js 的一个高阶组件&#xff0c;它可以帮助我们缓存组件实例&#xff0c;提高应用程序的性能和响应速度。…