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

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

相关文章

Java -jar命令如何运行外部依赖JAR包

《Java-jar命令如何运行外部依赖JAR包》在Java应用部署中,java-jar命令是启动可执行JAR包的标准方式,但当应用需要依赖外部JAR文件时,直接使用java-jar会面临类加载困... 目录引言:外部依赖JAR的必要性一、问题本质:类加载机制的限制1. Java -jar的默认行为2. 类加

java -jar命令运行 jar包时运行外部依赖jar包的场景分析

《java-jar命令运行jar包时运行外部依赖jar包的场景分析》:本文主要介绍java-jar命令运行jar包时运行外部依赖jar包的场景分析,本文给大家介绍的非常详细,对大家的学习或工作... 目录Java -jar命令运行 jar包时如何运行外部依赖jar包场景:解决:方法一、启动参数添加: -Xb

eclipse如何运行springboot项目

《eclipse如何运行springboot项目》:本文主要介绍eclipse如何运行springboot项目问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目js录当在eclipse启动spring boot项目时出现问题解决办法1.通过cmd命令行2.在ecl

使用nohup和--remove-source-files在后台运行rsync并记录日志方式

《使用nohup和--remove-source-files在后台运行rsync并记录日志方式》:本文主要介绍使用nohup和--remove-source-files在后台运行rsync并记录日... 目录一、什么是 --remove-source-files?二、示例命令三、命令详解1. nohup2.

Spring Boot项目打包和运行的操作方法

《SpringBoot项目打包和运行的操作方法》SpringBoot应用内嵌了Web服务器,所以基于SpringBoot开发的web应用也可以独立运行,无须部署到其他Web服务器中,下面以打包dem... 目录一、打包为JAR包并运行1.打包为可执行的 JAR 包2.运行 JAR 包二、打包为WAR包并运行

Java NoClassDefFoundError运行时错误分析解决

《JavaNoClassDefFoundError运行时错误分析解决》在Java开发中,NoClassDefFoundError是一种常见的运行时错误,它通常表明Java虚拟机在尝试加载一个类时未能... 目录前言一、问题分析二、报错原因三、解决思路检查类路径配置检查依赖库检查类文件调试类加载器问题四、常见

Python如何精准判断某个进程是否在运行

《Python如何精准判断某个进程是否在运行》这篇文章主要为大家详细介绍了Python如何精准判断某个进程是否在运行,本文为大家整理了3种方法并进行了对比,有需要的小伙伴可以跟随小编一起学习一下... 目录一、为什么需要判断进程是否存在二、方法1:用psutil库(推荐)三、方法2:用os.system调用

Python运行中频繁出现Restart提示的解决办法

《Python运行中频繁出现Restart提示的解决办法》在编程的世界里,遇到各种奇怪的问题是家常便饭,但是,当你的Python程序在运行过程中频繁出现“Restart”提示时,这可能不仅仅是令人头疼... 目录问题描述代码示例无限循环递归调用内存泄漏解决方案1. 检查代码逻辑无限循环递归调用内存泄漏2.

Java终止正在运行的线程的三种方法

《Java终止正在运行的线程的三种方法》停止一个线程意味着在任务处理完任务之前停掉正在做的操作,也就是放弃当前的操作,停止一个线程可以用Thread.stop()方法,但最好不要用它,本文给大家介绍了... 目录前言1. 停止不了的线程2. 判断线程是否停止状态3. 能停止的线程–异常法4. 在沉睡中停止5

在VSCode中本地运行DeepSeek的流程步骤

《在VSCode中本地运行DeepSeek的流程步骤》本文详细介绍了如何在本地VSCode中安装和配置Ollama和CodeGPT,以使用DeepSeek进行AI编码辅助,无需依赖云服务,需要的朋友可... 目录步骤 1:在 VSCode 中安装 Ollama 和 CodeGPT安装Ollama下载Olla