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

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

相关文章

怎么关闭Ubuntu无人值守升级? Ubuntu禁止自动更新的技巧

《怎么关闭Ubuntu无人值守升级?Ubuntu禁止自动更新的技巧》UbuntuLinux系统禁止自动更新的时候,提示“无人值守升级在关机期间,请不要关闭计算机进程”,该怎么解决这个问题?详细请看... 本教程教你如何处理无人值守的升级,即 Ubuntu linux 的自动系统更新。来源:https://

Linux使用nohup命令在后台运行脚本

《Linux使用nohup命令在后台运行脚本》在Linux或类Unix系统中,后台运行脚本是一项非常实用的技能,尤其适用于需要长时间运行的任务或服务,本文我们来看看如何使用nohup命令在后台... 目录nohup 命令简介基本用法输出重定向& 符号的作用后台进程的特点注意事项实际应用场景长时间运行的任务服

如何在一台服务器上使用docker运行kafka集群

《如何在一台服务器上使用docker运行kafka集群》文章详细介绍了如何在一台服务器上使用Docker运行Kafka集群,包括拉取镜像、创建网络、启动Kafka容器、检查运行状态、编写启动和关闭脚本... 目录1.拉取镜像2.创建集群之间通信的网络3.将zookeeper加入到网络中4.启动kafka集群

PostgreSQL如何用psql运行SQL文件

《PostgreSQL如何用psql运行SQL文件》文章介绍了两种运行预写好的SQL文件的方式:首先连接数据库后执行,或者直接通过psql命令执行,需要注意的是,文件路径在Linux系统中应使用斜杠/... 目录PostgreSQ编程L用psql运行SQL文件方式一方式二总结PostgreSQL用psql运

如何用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