考虑源荷不确定性的热电联供微网优化(Matlab代码实现)

news2024/11/24 0:43:50

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

2.1 不含随机变量

2.2 含随机变量处理

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

CHP型微网是一个复杂的能量系统,存在多种能量平衡关系。在满足用户热电负荷需求的前提下,如何根据微源配置(即参与微源的种类、微源的运行参数等)制定系统未来一段时间内的运行方案(即各微源在各时段的功率分配),以使系统获得最佳经济效益,是微网经济运行研究中的一个重要内容。目前,国内的研究还仅局限在电力微网的层面上[6-10],对CHP系统涉及较少,国外在此方面已有相关研究展开。文献[11]针对由风电机组和质子交换膜型燃料电池组成的CHP系统,利用进化算法研究该系统的经济运行问题,比较了对回收的热能采取4种不同方案得到的结果。文献[12]研究了由燃气轮机、吸附式制冷机和余热锅炉构成的冷热电三联供系统,建立简单的线性模型,对系统运行策略进行优化。文献[13]以成本最小化为目标,建立了CHP型微网中各种类型微源的优化配置模型,并采用粒子群优化(PSO)算法进行求解。

本文建立了一种含可再生能源的CHP型微网系统,由风电机组+ 光伏电池+ 燃料电池+ 余热锅炉+燃气锅炉+蓄电池等微源和热电负荷构成。由于风电、光伏功率以及热电负荷存在很强的随机性﹐而且目前的预测水平还远未达到实际应用的要求,因此这些量将作为未知因素考虑。含可再生能源的CHP型微网的经济运行优化问题不再如文献[11-13]所述是常规意义下的确定性问题,而是一个包含多个随机变量的规划问题。机会约束规划(CCP)能够很好地描述随机变量带来的不确定性,学者们已经成功利用CCP模型解决了电力系统研究中的很多问题[14-17]。本文应用CCP理论建立含可再生能源的CHP型微网经济运行优化模型,并提出一种基于随机模拟技术的PSO算法求解上述模型。在预测未来一天24 h风电、光伏功率以及热电负荷的基础上,根据不同的微源配置,对系统的运行方案进行优化。

在传统的电热微网优化中,我们可以利用蓄电池、外网交互、燃料电池和余热锅炉等设备的功率。然而,传统模型相对基础,无法满足发表文章或撰写毕业论文的要求,因为它们的工作量和深度难以达到要求。因此,为了提高模型的鲁棒性,并考虑机会约束等因素,我们可以增加不确定变量并进行相应的规划。以王锐的《含可再生能源的热电联供型微网经济运行优化》为例,该论文探讨了机会约束规划理论的建模和编程方法,并比较了常规粒子群优化算法(PSO)和基于CCP理论的粒子群算法之间的区别。

📚2 运行结果

2.1 不含随机变量

2.2 含随机变量处理

部分代码:

%目标函数代码完美复刻了文献中的目标函数和约束条件,约束部分简洁明了,采用等式和不等

%式形式,易于理解,最终目标函数值通过罚函数实现。

function Function = Function_objective(X)
%% 准备工作 
parameter; %输入所有的数据 
% 各个决策变量的含义 
P_TL = X(1:24);      % 燃料电池出力 
P_BT = X(25:48);  % 蓄电池出力 
P_EX = X(49:72); % 交互功率
P_GB = X(73:96); % 锅炉出力
Function =0; 
%% 书写目标函数
for t=1:24
    Function = Function + 1/2*(CpH+Cse)*P_EX(t) + 1/2*(CpH-Cse)*abs( P_EX(t) ) ...
    + C_GAS*(P_TL(t)/eta_fl+ P_GB(t)/eta_gb ) + P_TL(t)*Cfl_om + ...
    P_TL(t)*r_fl*eta_Hrbl*Cbl_om + abs(P_BT(t))*Cbt_om+ ...
    P_GB(t)*Cgb_om + P_WT(t)*Cwt_om + P_PV(t)*Cpv_om;
end
%% 书写约束
% ******************* 等式约束****************************
H=[];
for t=1:24 % (1) 电能平衡约束
    if P_BT(t)<=0
        H = [H, P_EX(t)+P_TL(t)+P_WT(t)+P_PV(t)+P_BT(t)/eta_cH-Pel(t) ]; %=0
    else
        H = [H, P_EX(t)+P_TL(t)+P_WT(t)+P_PV(t)+P_BT(t)*eta_dis-Pel(t) ]; %=0
    end
end
for t=1:24 % (2) 热能平衡约束
    H = [H, P_GB(t)+P_TL(t)*r_fl*eta_Hrbl-PtH(t) ]; %=0
end
       % (3) 电池储能初始和最终状态相等约束
 H = [H, sum(P_BT) ]; %=0
% ******************* 不等式约束 ***************************
g=[];
for t=2:24 % (1) 燃料电池爬坡约束
    g=[g, P_TL(t)-P_TL(t-1)-deltaP_up] ; % <=0    
    g=[g, -( P_TL(t)-P_TL(t-1)-deltaP_down ) ] ; % <=0    
end
for t=1:24 % (2) 余热锅炉约束
    g=[g, P_TL(t)*r_fl*eta_Hrbl-Pbl_maX ] ; % <=0    
    g=[g, - ( P_TL(t)*r_fl*eta_Hrbl-Pbl_min ) ] ; % <=0    
end
for t=1:24 % (3) 蓄电池约束
    g=[g, Wbt_init-sum(P_BT(1:t))-Wbt_maX  ] ; % <=0    
    g=[g, -( Wbt_init-sum(P_BT(1:t))-Wbt_min )  ] ; % <=0    
end
%**********************罚函数处理*************************
Big=100000;
small=0.01;
N=lengtH(g);
M=lengtH(H);
G=0;
for n=1:N
    G=G+maX(0, g(n))^2;
end
H=0;
for m=1:M
    H=H+maX(  0, abs(H(m))-small  )^2;
end
%*******************加入罚函数后的目标函数******************
Function=Function+Big*(H+G);
end

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]王锐,顾伟,吴志.含可再生能源的热电联供型微网经济运行优化[J].电力系统自动化,2011,35(08):22-27.

🌈4 Matlab代码实现

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

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

相关文章

华为云云耀云服务器L实例评测|云耀云服务器L实例部署Gogs服务器

华为云云耀云服务器L实例评测&#xff5c;云耀云服务器L实例部署Gogs服务器 一、云耀云服务器L实例介绍1.1 云耀云服务器L实例简介1.2 云耀云服务器L实例特点 二、Gogs介绍2.1 Gogs简介2.2 Gogs特点 三、本次实践介绍3.1 本次实践简介3.2 本次环境规划 四、远程登录华为云云耀云…

【Spring】IoC 与 DI

IoC 与 DI 1. IoC2. DI 1. IoC IoC (Inversion of Control): 控制反转控制反转: 表示应用程序的控制权&#xff08;对象的生命周期&#xff09;由应用程序自身的代码反转到容器或框架中。应用程序的组件不再直接控制其依赖项的创建和生命周期管理&#xff0c;而是委托给容器。…

微服务moleculer03

1. Moleculer 目前支持SQLite&#xff0c;MySQL&#xff0c;MariaDB&#xff0c;PostgreSQL&#xff0c;MSSQL等数据库&#xff0c;这里以mysql为例 2. package.json 增加mysql依赖 "mysql2": "^2.3.3", "sequelize": "^6.21.3", &q…

Windows下载AOSP

关于repo repo只是谷歌做的&#xff0c;方便下载安卓源码的工具&#xff0c;本质上是对下载清单进行批量处理&#xff0c;然后使用git克隆。 在windows上下载源码只需要自己处理即可。 具体做法 首先使用git克隆安卓源码清单 git clone https://mirrors.tuna.tsinghua.edu.…

1.Tensor For Beginner - Motivation

为何要研究张量&#xff1f; --主要原因是几何。 Tensors Geometry 了解张量后&#xff0c;可深入了解几何的工作原理 几何的一个例子&#xff1a;爱因斯坦广义相对论中的时空几何 时空是如何弯曲的&#xff0c;宇宙是如何膨胀的。 要从数学上理解这两个问题&am…

归并排序及其非递归实现

个人主页&#xff1a;Lei宝啊 愿所有美好如期而遇 目录 归并排序递归实现 归并排序非递归实现 归并排序递归实现 图示&#xff1a; 代码&#xff1a; 先分再归并&#xff0c;像是后序一般。 //归并排序 void MergeSort(int* arr, int left, int right) {int* temp (int…

Pikachu靶场——越权访问漏洞(over permission)

文章目录 1. over permission1.1 水平越权1.1.1 源代码分析1.1.2 漏洞防御 1.2 垂直提权1.2.1 源代码分析1.2.2 漏洞防御 1.3 越权访问漏洞防御 1. over permission 漏洞描述 越权访问&#xff08;Broken Access Control&#xff0c;BAC&#xff09;&#xff0c;指应用在检查…

用python表格初级尝试

Excel&#xff0c;我的野心 当我输入3,2 就表示在第3行第2列。的单元格输入数据input输入表头 &#xff08;input内除了/&#xff0c;空格 回车 标点符号等 全部作为单元格分隔符&#xff09;由我设置input输入的是行or列 给选项 1. 行 2. 列默认回车或没输入值是列由我设置起…

SEO效果又慢又差,为什么还会有SEO从业者?

“SEO效果又慢又差&#xff0c;这么还会有SEO从业者&#xff1f;”这句话是我今天在某Q群里看到的&#xff0c;其实这个问题我之前也有写过一篇《你问我&#xff0c;为什么还有人做SEO&#xff1f;》。我文中提到过因为搜索无处不在&#xff0c;有搜索后&#xff0c;搜索引擎就…

JavaScript:从入门到进阶的旅程

JavaScript是一种广泛使用的编程语言&#xff0c;为网页和应用程序提供了交互性和动态性。从初学者到资深开发者&#xff0c;JavaScript都是一项值得掌握的技能。在本文中&#xff0c;我们将探讨JavaScript的基础知识&#xff0c;以及一些进阶的概念和技巧。 一、JavaScript简…

Linux系统编程系列之线程

一、什么是线程 线程&#xff08;Thread&#xff09;是计算机中的基本执行单元&#xff0c;是操作系统调度的最小单位。线程是进程内的一个独立执行流程&#xff0c;一个进程可以包含多个线程&#xff0c;这些线程共享进程的资源&#xff0c;但每个线程都有自己的独立栈空间以及…

基于SSM的学生事务处理系统设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

matplotlib从起点出发(9)_Tutorial_9_cycler

0 需求 绘图时有时需要指定几种颜色&#xff0c;或者线型&#xff0c;我们统称为样式&#xff0c;让绘制出的内容在这些样式中循环配置。这时就需要使用到本文所提到的技巧&#xff0c;即cycler. 1 进入教程 本文是自定义属性循环(cycler)设置的演示&#xff0c;用于控制多线…

travel总结:

1、前期准备&#xff1a; 对于项目的大体构成做了一定的了解&#xff0c;然后主要是做后端的数据处理&#xff0c;前期的准备的话创建项目的大体结构&#xff0c;servlet、service、domain、dao、utils的项目结构。以及一些基础的代码的生成&#xff0c;我觉得最主要的是一些基…

leetCode 55.跳跃游戏 贪心算法

给你一个非负整数数组 nums &#xff0c;你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标&#xff0c;如果可以&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 示例 1&#xff1a; 输入…

MySQL的卸载与安装(Linux)

MySQL 前言1. 卸载MySQL1.1 查询与关闭对应MySQL服务1.2 卸载对应安装包 2. 安装MySQL2.1 配置MySQL官方yum源2.2 开始安装MySQL 前言 在这里演示的卸载与安装MySQL都是在Linux的Centos 7.6 环境下&#xff0c;不同环境会有所出入。 为了避免安装和卸载MySQL过程中受到权限的…

CF505B Mr. Kitayuta‘s Colorful Graph

Mr. Kitayuta’s Colorful Graph 题面翻译 给出一个 n n n 个点&#xff0c; m m m 条边的无向图&#xff0c;每条边上是有颜色的。有 q q q 组询问 对于第 i i i 组询问&#xff0c;给出点对 u i , v i u_i,v_i ui​,vi​。求有多少种颜色 c c c 满足&#xff1a;有至…

算法-动态规划/trie树-单词拆分

算法-动态规划/trie树-单词拆分 1 题目概述 1.1 题目出处 https://leetcode.cn/problems/word-break/description/?envTypestudy-plan-v2&envIdtop-interview-150 1.2 题目描述 2 动态规划 2.1 解题思路 dp[i]表示[0, i)字符串可否构建那么dp[i]可构建的条件是&…

基于ssm的互联网废品回收/基于web的废品资源利用系统

摘 要 本毕业设计的内容是设计并且实现一个基于SSM框架的互联网废品回收。它是在Windows下&#xff0c;以MYSQL为数据库开发平台&#xff0c;Tomcat网络信息服务作为应用服务器。互联网废品回收的功能已基本实现&#xff0c;主要包括用户、回收员、物品分类、回收物品、用户下单…

W、X、Y

W z学长的apex 不等于180度的角的个数就是求转折点的个数 而每个y(x)都是一元函数&#xff0c;按照公式每个一元函数的转折点为 s(x)是若干y(x)的叠加&#xff0c;其中一个y(x)有转折点&#xff0c;在对应位置上s(x)也会有转折点 所以所有y(x)函数中不重复的转折点的个数就是…