考虑机组禁止运行区间的含风电的鲁棒机组组合

2024-05-04 21:20

本文主要是介绍考虑机组禁止运行区间的含风电的鲁棒机组组合,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2.1目标函数:

目标函数主要考虑了投资成本和运行成本两部分,其中,投资成本主要为储能的等年值投资成本,运行成本则包括配电网交互成本(购售电成本)、各单元运维成本以及微型燃气轮机的燃料成本。

 2.2 各单元约束条件

2.2.1微型燃气轮机

2.2.2配电网交互

   

2.2.3储能

1储能充放电功率约束

(2)2储能荷电状态(State of Charge,SOC)约束

(3)充放电量平衡约束 

2.2.4功率平衡约束

储能寿命损耗线性化约束:

对储能寿命损耗成本Cbat线性化:

放电深度:

两阶段鲁棒模型:

参数:

高峰电价时段为9:00-11:00和19:00-23:00,电价均为1.35元/kWh,低谷电价时段为24:00-8:00和12:00-18:00,电价分别为0.48元/kWh和0.9元/kWh。

3.2  两阶段鲁棒模型及求解方法

3.2.1 两阶段鲁棒优化模型

(1) 模型预处理

(2) 等效模型和不确定集

为了解决微电网中风光出力和负荷功率的不确定性问题,将鲁棒优化的思想引入3.1中的确定型模型,构建了微电网的两阶段鲁棒优化容量配置模型,其一阶段目标函数为微电网的投资成本,二阶段目标函数为微电网的运行成本。将上文预处理过的约束条件分阶段归类后,两阶段鲁棒等效优化模型如下式:

式中:

n

——

一阶段决策变量,为微电网各微源的配置容量;

u

——

不确定变量,为微电网风光出力和负荷功率;

x

——

二阶段决策变量,为微电网各微源的0/1状态变量;

y

——

二阶段决策变量,为微电网各微源的时序出力;

y1

——

电池储能日循环次数计数变量,为0/1变量;

z

——

二阶段决策变量,为电池储能的分段放电深度;

一、二阶段决策变量及不确定变量的具体公式如下:

由于在微网系统中风光出力和负荷存在不确定性,将其以上下界等比例缩放的盒式不确定U集表示,如下式:

(3)约束的抽象形式

将式(3-21)中的约束经合并整理后,产生了如下几类抽象约束模型(为避免表述过于繁琐,不等式约束仅写出“≤”形式):

式中:

——

约束(3-18)的抽象形式;

——

约束(3-4)和(3-5)的抽象形式;

——

约束(3-13)和(3-14)的抽象形式;

——

约束(3-16)的抽象形式;

——

约束(3-17)的抽象形式;

——

约束(3-19)的抽象形式;

——

约束(3-20)的抽象形式;

——

约束(2-8)第二式的抽象形式;

——

约束(2-8)第三式的抽象形式;

——

约束(2-6)的抽象形式。

 3.2.2 求解方法

对于上述两阶段鲁棒模型,本章节采用C&CG算法将之分解为主问题和子问题,便于交替求解。另外,对于求解过程中遇到的一些数学问题,本章节也给出了单独说明。

主问题:

 子问题:

用 KarushKuhn-Tucker(KKT)条件将max-min双层问题转换成max单层问题求解。

这篇关于考虑机组禁止运行区间的含风电的鲁棒机组组合的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/960112

相关文章

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

禁止平板,iPad长按弹出默认菜单事件

通过监控按下抬起时间差来禁止弹出事件,把以下代码写在要禁止的页面的页面加载事件里面即可     var date;document.addEventListener('touchstart', event => {date = new Date().getTime();});document.addEventListener('touchend', event => {if (new

hdu4869(逆元+求组合数)

//输入n,m,n表示翻牌的次数,m表示牌的数目,求经过n次操作后共有几种状态#include<iostream>#include<algorithm>#include<cstring>#include<stack>#include<queue>#include<set>#include<map>#include<stdio.h>#include<stdlib.h>#includ

hdu 1754 I Hate It(线段树,单点更新,区间最值)

题意是求一个线段中的最大数。 线段树的模板题,试用了一下交大的模板。效率有点略低。 代码: #include <stdio.h>#include <string.h>#define TREE_SIZE (1 << (20))//const int TREE_SIZE = 200000 + 10;int max(int a, int b){return a > b ? a :

跨系统环境下LabVIEW程序稳定运行

在LabVIEW开发中,不同电脑的配置和操作系统(如Win11与Win7)可能对程序的稳定运行产生影响。为了确保程序在不同平台上都能正常且稳定运行,需要从兼容性、驱动、以及性能优化等多个方面入手。本文将详细介绍如何在不同系统环境下,使LabVIEW开发的程序保持稳定运行的有效策略。 LabVIEW版本兼容性 LabVIEW各版本对不同操作系统的支持存在差异。因此,在开发程序时,尽量使用

hdu4267区间统计

题意:给一些数,有两种操作,一种是在[a,b] 区间内,对(i - a)% k == 0 的加value,另一种操作是询问某个位置的值。 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import

hdu4417区间统计

给你一个数列{An},然后有m次查询,每次查询一段区间 [l,r] <= h 的值的个数。 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamRead

hdu3333区间统计

题目大意:求一个区间内不重复数字的和,例如1 1 1 3,区间[1,4]的和为4。 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;

如何在运行时修改serialVersionUID

优质博文:IT-BLOG-CN 问题 我正在使用第三方库连接到外部系统,一切运行正常,但突然出现序列化错误 java.io.InvalidClassException: com.essbase.api.base.EssException; local class incompatible: stream classdesc serialVersionUID = 90314637791991

禁止复制的网页怎么复制

禁止复制的网页怎么复制 文章目录 禁止复制的网页怎么复制前言准备工作操作步骤一、在浏览器菜单中找到“开发者工具”二、点击“检查元素(inspect element)”按钮三、在网页中选取需要的片段,锁定对应的元素四、复制被选中的元素五、粘贴到记事本,以`.html`为后缀命名六、打开`xxx.html`,优雅地复制 前言 在浏览网页的时候,有的网页内容无法复制。比如「360