【鲁棒优化、大M法、CCG算法】计及风、光、负荷不确定性两阶段鲁棒优化(Matlab代码实现)

news/2024/7/23 16:20:31 标签: matlab, 算法, 开发语言

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

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

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

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

目录

💥1 概述

1.1 微网优化调度不确定性因素

1.2 RO方法

 1.3 两阶段RO模型求解方法

1.4 对偶理论

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

1.1 微网优化调度不确定性因素


长久以来,微网系统面临着可再生能源出力和负荷不确定性且源荷不匹配的重大问可再生能源并网的规模越大。系统的运行模式就越受影响,可再生能源的渗透率也直接或接影响着微网系统稳定性。现阶段微网系统的能源利用率、灵活性及经济性已经达到了较高的水平,但源荷的不确定及不匹配依然是系统面临的重大问题。研究分布式电源以及负荷的特性是微网优化调度问题的关键。

1.2 RO方法


早在1950年代,Bellman、Zadeh与Charnes等人就已经开始研究不确定性优化问题[82J。传统的确定性优化问题如式所示:
                   

式中,fx)表示目标函数,x为决策变量,h(x)表示约束条件。式中的目标函数和约束条件均为确定性参数。但是,在实际应用中,难以预先确定模型中的一些变量参数。在某些具体的优化问题中,由于某个参数的细微扰动,可能就会使最优解失去意义。因而在不确定性情况下,优化求解问题显得尤为关键。在现实生活中,由于各种因素导致了模型参数的不确定性,其大多来源于下列几个方面:
(1)由于模型中的数据在统计与收集的环节中,会存在遗漏、丢失等问题,从而数据误差偏大,形成不确定性因素。
(2)一些不可抗拒的因素带来的影响,如自然因素。
(3)针对某些复杂的非凸非线性优化模型,只给出简单的表达形式。针对含有不确定性因素的优化问题,其数学模型如下所示:

式中、U分别表示不确定性参数及其取值范围。当不确定性参数出现波动时,会导致原来的最优解与实际最优解产生偏差,在某些情况下,还可能变成不可行解。所以,对不确定性最优问题的求解就显得尤为重要。


 1.3 两阶段RO模型求解方法


如果U为一个有限的离散集,且U内有大量元素,要把其中不确定的场景全部列举出来,需要耗费大量的时间。不过,如果仅列举U中元素的一部分不确定场景,那这将会更容易实现。根据上述分析,通过在关键场景中逐步增加不确定变量,对局部列举进行扩展,从而得出优化目标函数的下界值。综上,本文采用C&CG算法求解两阶段RO模型。与Benders分解一样,C&CG算法将原始问题解耦成主、子问题进行交互迭代求解,从而获得原始问题最优解。不同之处体现在,C&CG 算法在求解主问题时,不断加入与子问题有关的约束和变量,使原问题目标函数的下界更加紧凑,从而有效地减少了迭代次数。而Benders分解算法每次迭代时决策变量不变,并且要求决策问题须为可行性规划问题,使得问题难以收敛。

1.4 对偶理论


在线性规划问题中,通常存在着配对情形。即在任一种线性规划问题中,都会有跟其密切相关的一种线性规划问题,其中前者叫作原问题,后者叫作它的对偶问题。在1.3节采用C&CG算法将两阶段RO模型解耦为主、子问题的过程中,可以发现其子问题中的max-min模型依然是非常繁琐的两层优化模型。如果利用对偶原理,将内层的min问题转化为max问题,那么该模型就可以转化为较为简单的max问题,从而更易于求解。
 

📚2 运行结果

 

 

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]马明. 考虑风光不确定性的微网两阶段鲁棒优化调度[D].宁夏大学,2022.DOI:10.27257/d.cnki.gnxhc.2022.000735.

[2]刘一欣,郭力,王成山.微电网两阶段鲁棒优化经济调度方法[J].中国电机工程学报,2018,38(14):4013-4022+4307.DOI:10.13334/j.0258-8013.pcsee.170500.

🌈4 Matlab代码实现


http://www.niftyadmin.cn/n/196578.html

相关文章

Python 进阶指南(编程轻松进阶):三、使用 Black 工具来格式化代码

原文:http://inventwithpython.com/beyond/chapter3.html 代码格式化是将一组规则应用于源代码,从而使得代码风格能够简洁统一。虽然代码格式对解析程序的计算机来说不重要,但代码格式对于可读性是至关重要的,这是维护代码所必需的…

Golang Gin框架HTTP上传文件

Golang Gin框架HTTP上传文件解析 文章目录Golang Gin框架HTTP上传文件解析HTTP上传的文件的原理Gin框架文件上传Demo限制文件上传的大小文件类型验证文件上传进度-后台计算文件上传进度HTTP上传的文件的原理 HTTP协议的文件上传是通过HTTP POST请求实现的,使用mult…

【Python机器学习】——正态数据分布

Python机器学习——正态数据分布 文章目录Python机器学习——正态数据分布一、Python机器学习 正态数据分布一、Python机器学习 正态数据分布 正态数据分布(Normal Data Distribution) 在上一章中,我们学习了如何创建给定大小且在两个给定值…

【Redis】线程问题

文章目录单线程版本演化工作流程为什么逐渐又加入了多线程特性?影响Redis性能的主要因素->网络I/O多线程工作流程Unix网络编程中的五种I/O模型I/O多路复用工作原理:select、poll、epoll为什么Redis快单线程与多线程的比较配置文件开启多线程单线程 版本演化 Re…

自动驾驶汽车概述

自动驾驶汽车概述: 1.定位 定位,即通过GPS、惯导、激光雷达等传感器,获取车辆的位置和航向信息。 绝对定位是指通过GPS实现,采用双天线,通过卫星获得车辆在地球上的绝对位置和航向信息。相对定位是指根据车辆的初始…

SpringBoot整合SpringSecurity权限控制(动态拦截url+单点登录)

Spring Security是一个功能强大且可高度自定义的身份验证和访问控制框架。它是保护基于Spring的应用程序的事实上的标准。 Spring Security是一个专注于为Java应用程序提供身份验证和授权的框架。与所有Spring项目一样,Spring Security的真正强大之处在于它可以轻松…

主干网络| Conv4与Resnet12

1 Conv4 在一些论文中,也称为Conv-64F。其中“64F”表示网络中使用了64个滤波器(filters) 它包含 4 个重复的卷积块,在每个块中包含: 一个 kernel3,stride1,padding1的卷积层;一个…

java 线段树

线段树是一种二叉搜索树,什么叫做二叉搜索树,首先满足二叉树,每个结点度小于等于二,即每个结点最多有两颗子树,何为搜索,我们要知道,线段树的每个结点都存储了一个区间,也可以理解成…