【机会约束、鲁棒优化】具有排放感知型经济调度中机会约束和鲁棒优化研究【IEEE6节点、IEEE118节点算例】(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
📚2 运行结果
2.1 风能
2.2 IEEE6和IEEE118
2.3 IEEE6
2.4 IEEE118
🎉3 参考文献
🌈4 Matlab代码及数据实现
💥1 概述
机会约束规划(chance constrained programming简称CCP)也称为概率约束规划,最初由Charnes和 Cooper[1在1958年提出,是针对约束条件中含有随机参数并在一定概率条件满足下的最优化问题.近几十年,机会约束广泛应用于参数不确定的优化和决策问题中.比如,网络优化2]、供应链管理3、生产计划[4和水流箱管理5等.关于CCP的发展情形,感兴趣的读者可参见综述文献[6].机会约束规划的一般形式为:
常规机会约束假设已知随机变量概率分布Р的准确信息.然而,在许多实际应用中随机变量∈ 难以精确预测,仅能够获得其部分信息(如矩和样本信息等).满足这些概率信息的分布构从伏)方法结合.建立在分布不确定集合最环情优L好分布鲁棒优化问题优化思想和随机优化方法结合,建立在分布不确定
鲁棒优化(distributionally robust optimization,简称结合机会约束即为分布鲁棒机会约束优化问题(distributionally robust chance constrainedoptimization program,简称DRCC).
分布鲁棒机会约束优化的一般形式为:

调度者存在多元化的风险偏好,导致对“最恶劣场景”的评估产生差异。如图 3 所示,日前预测
总偏差由偏离时长和对应时刻的偏离度决定。也就是说,控制调度周期内不确定变量的总体偏离度,就能够度量调度者风险偏好。但是,在给定的总偏离度条件下,学界普遍认为“最恶劣场景”发生在不确定域边界,这在线性系统中必然成立,但是在非线性系统中,“最恶劣场景”可能发生在不确定域内。

为此,本文通过有限离散化不确定域,生成梯次偏离的不确定域边界,扩充“恶劣场景集”。在此基础上,控制不确定变量的总体偏离值,表征调度者的保守程度。

考虑风电不确定性的电力系统调度模型中的部分输入量(Pw和Pg)具有不确定性,通过传统数学规划方法得到的优化调度方案可能无法实现系统的经济性最优,甚至可能违反系统的安全运行约束。针对传统的数学规划方法难以消除不确定参量对优化模型的负面影响,Soyster提出了鲁棒优化方法。RO在优化模型建立之初就对其中的不确定参量进行分析,明确不确定参量的波动区间。RO旨在得到这样一个优化方案:在不确定参量可能的取值范围内,优化模型的所有约束条件都能被满足,且使得优化模型目标函数能取得最恶劣情况下的最优值。因此,RO所得的优化结果对不确定参量的波动具有免疫能力,并且不失良好性能。
对包含不确定参量的优化问题而言,RO提出了一种“劣甲选优的处理刀八,关注点在于最恶劣情况下模型的最优解,仅需知道不确定参量波动的边界信息即可进行决策,计算效率高,需要了解的不确定参量信息少,优化方案的抗干扰能力强,因此具有很高的实用价值。RO的提出和发展弥补了传统优化方法的不足,己成为处理含有不确定参量优化问题的重要工具。
传统的数学优化模型一般形式如下:


📚2 运行结果
2.1 风能








部分代码:
figure
yyaxis left
bar(x,y,'FaceColor','[0.3010 0.7450 0.9330]','EdgeColor','[0 0.4470 0.7410]');box off
xlim([mu-3*sigma,mu+3*sigma])
xlabel('Error','FontSize',13.2,'FontName','Times New Roman','FontWeight','Bold')
ylabel('Number of samples','FontSize',13.2,'FontName','Times New Roman','FontWeight','Bold')
% a2=axes;
yyaxis right
fp=fplot(@(x)normpdf(x,mu,sigma),[mu-3*sigma,mu+3*sigma]);
xlim([mu-3*sigma,mu+3*sigma])
fp.LineStyle = '-.';
fp.LineWidth =2;
fp.Color =[0.9290 0.6940 0.1250];
%set(a2,'box','off','yaxislocation','right','color','none')
% set(gca,'xticklabel',[]);
ylabel('Probability density','FontSize',13.2,'FontName','Times New Roman','FontWeight','Bold')
set(gcf,'Position',[100 100 400 500]);
set(gca,'FontSize',12,'FontName','Times New Roman')
ax = gca;
ax.YAxis(1).Exponent = 4;
2.2 IEEE6和IEEE118
x=[1,2,3,4];
b=BarPlotBreak(x,y_time_record',15,20,'Line',0.99);
x_label={'CC (Gaussian)','DRO (Binomial)','Clairvoyant','SO (Scenario)'};
set(gca,'XTickLabel', x_label)
legend('6 bus','118 bus')
ylabel('time (s)','FontSize',13.2,'FontName','Times New Roman','FontWeight','Bold')
set(gca,'FontSize',12,'FontName','Times New Roman')
b(1).FaceColor=[0.9290, 0.6940, 0.1250];
b(2).FaceColor=[0.4660, 0.6740, 0.1880];

2.3 IEEE6











2.4 IEEE118






部分代码:
function[fval_avg,x_avg]=gen_SSO_average_performance(c_level,epsilon,T,N,M,bb,d_f,p,q,H,fmax,gmin,gmax,w_loc,w_num,error_data,ramp_rate,DR,UR)
% scenarios to be generated to meet the probability guarantee
n_dv=4*N*T;
Num=ceil(n_dv/(epsilon*c_level))-1;
% generating wind scenario
index=ceil(T*Num*(1-epsilon));
d_real=d_f;
virtual_bb=bb;
[gm] = gen_samples(error_data);
for k=1:w_num
loc=w_loc(k);
% random_num=zeros(T*Num,1);
% for i=1:Num
% rng('default');
% [random_T,~]=random(gm,T);
% random_num((i-1)*T+1:i*T)=random_T;
% end
rng('default');
random_num=random(gm,T*Num);
random_num=sort(random_num);
virtual_bb(loc)=max([bb(loc)-random_num(index),0]);
end
[standard_delta,real_bb]= gen_standard_delta(bb,virtual_bb,w_loc);
umin=-real_bb*ramp_rate;
umax=real_bb*ramp_rate;
[x_avg,fval_avg]=MinC(T,N,M,real_bb,d_real,p,q,H,fmax,gmin,gmax,umin,umax,DR,UR);
end
function[wind_error]= gen_wind_data(real_capacity_scale,filename)
%filename='.\data\WindGenTotalLoadYTD_2020.xls';
input_data= xlsread(filename, 1, 'B25:C52428');
input_scale=mean(input_data(:,1));
wind_data=input_data./input_scale*real_capacity_scale;
wind_error=wind_data(:,2)-wind_data(:,1);
% error_norm=normalize(error_data,'scale');
% wind_error=error_norm*ratio;
end
function[wind_error]= gen_wind_data(real_capacity_scale,filename)
%filename='.\data\WindGenTotalLoadYTD_2020.xls';
input_data= xlsread(filename, 1, 'B25:C52428');
input_scale=mean(input_data(:,1));
wind_data=input_data./input_scale*real_capacity_scale;
wind_error=wind_data(:,2)-wind_data(:,1);
% error_norm=normalize(error_data,'scale');
% wind_error=error_norm*ratio;
end
🎉3 参考文献
部分理论来源于网络,如有侵权请联系删除。
[1]耿晓路,童小娇.分布鲁棒机会约束优化问题的研究[J].运筹学学报,2020,24(01):115-130.DOI:10.15960/j.cnki.issn.1007-6093.2020.01.009.
[2]随权,林湘宁,童宁,李雪松,汪致洵,胡志豪,李正天,孙士茼.基于改进两阶段鲁棒优化的主动配电网经济调度[J].中国电机工程学报,2020,40(07):2166-2179+2396.DOI:10.13334/j.0258-8013.pcsee.182259.
[3]程凤璐. 在线经济调度的鲁棒优化方法研究[D].山东大学,2015.
[4]王晨曦. 含大规模风电的电力系统鲁棒优化调度研究[D].华南理工大学,2019.DOI:10.27151/d.cnki.ghnlu.2019.002201.
[5]许书伟,吴文传,朱涛,王珍意.机会约束随机动态经济调度的凸松弛迭代求解法[J].电力系统自动化,2020,44(17):43-51.
🌈4 Matlab代码及数据实现
相关文章:
【机会约束、鲁棒优化】具有排放感知型经济调度中机会约束和鲁棒优化研究【IEEE6节点、IEEE118节点算例】(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
用Python帮老叔选出好基金,大赚一笔,老叔专门提着茅台登门道谢
我有个老叔很喜欢买基金,因为不想被割韭菜,所以啥群都没进,全部自己精挑细选。 看着他的一个本子密密麻麻地写了一大堆东西,全是基金的数据分析,一大把年纪了挺不容易的,于是就决定帮他一把。 在跟他详谈…...
ZeroTier实现内网穿透详细教程,无需公网IP,实现异地组网
ZeroTier实现内网穿透详细教程,无需公网IP,实现异地组网ZeroTier1.官网注册账号,创建自己的局域网段2.点击创建好的网络,进入设置界面进行设置3.下载客户端,安装客户端,然后连接到网络中4.加入网络成功后&a…...
电商 SaaS 全渠道实时数据中台最佳实践
摘要:本文整理自聚水潭数据专家张成玉,聚水潭高级数据工程师应圣楚,在 FFA 2022 行业案例专场的分享。本篇内容主要分为四个部分:实时数仓的建设和发展数据中台的产品体系及架构实时计算的实践和优化对实时计算的未来展望Tips&…...
macos ncnn 安装踩坑记录···
安装真麻烦踩了无数坑,官方给的安装教程:macos安装ncnn, 安装过程老是报错,记录一下卡的比较久的,网上也不好找资料的错. 我的电脑: 1. 使用homebrew 的时候失败fatal: not in a git directory Error: Command failed…...
ESP32设备驱动-AM2301(DHT21)温度湿度传感器驱动
AM2301(DHT21)温度湿度传感器驱动 文章目录 AM2301(DHT21)温度湿度传感器驱动1、AM2301(DHT21)介绍2、硬件准备3、软件准备4、驱动实现1、AM2301(DHT21)介绍 AM2301 湿敏电容数字温湿度模块是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温…...
[数据结构]:16-归并排序(顺序表指针实现形式)(C语言实现)
目录 前言 已完成内容 归并排序实现 01-开发环境 02-文件布局 03-代码 01-主函数 02-头文件 03-PSeqListFunction.cpp 04-SortFunction.cpp 结语 前言 此专栏包含408考研数据结构全部内容,除其中使用到C引用外,全为C语言代码。使用C引用主要是…...
React(七):Router基本使用、嵌套路由、编程式导航、路由传参、懒加载
React(七)一、React-Router的基本使用1.安装和介绍2.路由的配置和跳转3.Navigate的使用4.如果找不到对应的路由路径?二、嵌套路由的用法三、编程式路由导航1.类组件中使用useNavigate2.函数式组件中使用useNavigate四、路由跳转传参1.设置好路…...
Java基础面试题(一)
Java基础面试题 一、面向对象和集合专题 1. 面向对象和面向过程的区别 面向过程:是分析解决问题的步骤,然后用函数把这些步骤一步一步地实现,然后在使用的时候一一调用则可。性能较高,所以单片机、嵌入式开发等一般采用面向过程…...
代码命名规范是一种责任也是一种精神(工匠精神)
代码命名规范之美规范概述命名规范管理类命名BootstrapProcessorManagerHolderFactoryProviderRegistrarEngineServiceTask传播类命名ContextPropagator回调类命名Handler ,Callback,Trigger,ListenerAware监控类命名MetricsEstimatorAccumul…...
奇淫技巧:阅读源码时基于一组快捷键,让我们知道身在何方!
一个十分蛋疼的问题 在我们阅读框架底层源码的时候,我们往往会一个方法一个方法的往下翻,翻了很久很快就会有这样的灵魂拷问:我从那个类(方法)来,我要到哪个(类)方法中去。这个时候…...
你真的弄懂this指向了吗
前言 在说 this 指向之前,请观察以下代码,并说出它们的输出结果: 第 1 组:标准函数 window.color "red"; let o {color: "blue", }; function sayColor() {console.log(this.color); }sayColor(); // 输…...
阿里云服务器使用教程:使用xshell、xFtp工具连接阿里云服务器(Centos7)并修改Centos7的yum源为阿里镜像源
目录 1、下载并安装xshell、xFtp 2、远程连接阿里云服务器 3、 修改Centos7的yum源为阿里镜像源 1、下载并安装xshell、xFtp XShell可以在Windows界面下来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。它支持 RLOGIN、SFTP、SERIAL、TELNET、…...
一文快速入门 HTML 网页基础
专栏简介: 前端从入门到进阶 题目来源: leetcode,牛客,剑指offer. 创作目标: 记录学习JavaEE学习历程 希望在提升自己的同时,帮助他人,,与大家一起共同进步,互相成长. 学历代表过去,能力代表现在,学习能力代表未来! 目录 1.HTML 结构 1.1. 认识 HTML 标签 1.2 HTML 文件结构…...
DEJA_VU3D - Cesium功能集 之 100-任意多边形(标绘)
前言 编写这个专栏主要目的是对工作之中基于Cesium实现过的功能进行整合,有自己琢磨实现的,也有参考其他大神后整理实现的,初步算了算现在有差不多实现小140个左右的功能,后续也会不断的追加,所以暂时打算一周2-3更的样子来更新本专栏(每篇博文都会奉上完整demo的源代码,…...
Cadence OrCAD Capture全局修改原理图的非本地库符号的方法图文教程Repalce Catch功能
⏪《上一篇》 🏡《总目录》 ⏩《下一篇》 目录 1,概述2,修改方法2.1,新建本地库2.2,待修改搬入本地库2.3,修改原理图符号2.4,全局更新原理图符号3,总结B站关注“硬小二”浏览更多演示视频 1,概述 在完成原理图设计...
npm包版本号详解
npm包在发布时,需要按照包版本语义化中的约定去更新设置,例如我们常见的1.0.0,1.0.1,0.0.1等这样的版本号,那么这些数字分别代表什么意思呢?下面我们将详细介绍。 npm版本号的组成 一个完整的版本号&…...
ubuntu 系统安装docker——使用docker打包python项目,整个流程介绍
目录 1 安装docker和配置镜像源 2 下载基础镜像 3 通过镜像创建容器 4 制作项目所需的容器 5 容器制作好后打包为镜像 6 镜像备份为.tar文件 7 从其他服务器上恢复镜像 8 docker的其他常用指令 首先科普一下镜像、容器和实例; 镜像:相当于安装包&…...
MySQL事务篇
MySQL事务篇 一、一条Insert语句 为了故事的顺利发展,我们需要创建一个表: CREATE TABLE t (id INT PRIMARY KEY,c VARCHAR(100) ) EngineInnoDB CHARSETutf8;然后向这个表里插入一条数据: INSERT INTO t VALUES(1, 刘备); 现在表里的数据就…...
【Redis】搭建分片集群
目录 集群结构 准备实例和配置 启动 创建集群 测试 集群结构 分片集群需要的节点数量较多,这里我们搭建一个最小的分片集群,包含3个master节点,每个 master包含一个slave节点,结构如下: 这里我们会在同一台虚…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...
k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...
C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...
使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...
【C++特殊工具与技术】优化内存分配(一):C++中的内存分配
目录 一、C 内存的基本概念 1.1 内存的物理与逻辑结构 1.2 C 程序的内存区域划分 二、栈内存分配 2.1 栈内存的特点 2.2 栈内存分配示例 三、堆内存分配 3.1 new和delete操作符 4.2 内存泄漏与悬空指针问题 4.3 new和delete的重载 四、智能指针…...
PHP 8.5 即将发布:管道操作符、强力调试
前不久,PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5!作为 PHP 语言的又一次重要迭代,PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是,借助强大的本地开发环境 ServBay&am…...
uniapp 集成腾讯云 IM 富媒体消息(地理位置/文件)
UniApp 集成腾讯云 IM 富媒体消息全攻略(地理位置/文件) 一、功能实现原理 腾讯云 IM 通过 消息扩展机制 支持富媒体类型,核心实现方式: 标准消息类型:直接使用 SDK 内置类型(文件、图片等)自…...

