当前位置: 首页 > news >正文

Matlab|基于广义Benders分解法的综合能源系统优化规划

目录

1 主要内容

广义benders分解法流程图:

优化目标:

约束条件:

2 部分代码

3 程序结果

4 下载链接


主要内容

该程序复现文章《综合能源系统协同运行策略与规划研究》第四章内容基于广义Benders分解法的综合能源系统优化规划,代码主要构建了以最小化包括初始投资和运行成本的总成本为优化目标的综合能源系统优化规划模型。模型上层是综合能源系统中相关设备的初始投资成本,下层以第三章所提出的综合能源优化运行问题为子问题,综合考虑风机、光伏随机性以及普遍存在的负荷预测误差等因素,通过广义Benders分解法进行求解。最后通过实际案例仿真分析,验证本文所提优化规划方法论可以实现综合能源系统在规划期内经济性最优,有力支撑了实际综合能源系统建设规划的策略依据。

广义benders分解法流程图:

优化目标:

约束条件:

部分代码

%% 气网
m=14;n=16;     % 节点与支路个数
isb=1;
pr=0.0001;
BH=1.2;%压缩机常数
ZH=1.2;%压缩机常数
B1=[1     2     0.2526     1  % 4列分别为首节点i、末节点j、Kij和支路编号1     3     0.2410     22     3     0.2990     32     4     0.2924     43     6     0.2777     54     5     0.2777     6  % *5     8     0.2365     76     7     0.1662     8  % *7     10    0.1662     98     9     0.2365     10 % *9     12    0.1634     1110    11    0.1493     12 % *11    13    0.1493     1312    13    0.1598     1412    14    0.1665     1513    14    0.1534     16];       % 支路矩阵
B2=[1     0     1     0      1200;    % 5列分别为节点编号、节点类型、压缩机比例、节点负荷和节点压力2     1     1     20    7003     1     1     20    6804     1     1     40    5205     1     1     60    8706     1     1     0      5007     1     1     20    9008     1     1     30    7209     1     1     0      100010    0     1     0      70011    1     1     0      110012    1     1     40    68013    1     1     20    72014    1     1     80    650];     % 节点矩阵 类型为1的节点压力为自定义初值 类型为0的节点压力保持
B2(:,4)=abs(B2(:,4));
B1(:,3)=4.*B1(:,3);
%不收敛情况
%B2(:,5)=[1109.67741935484,993.548387096774,1022.58064516129,790.322580645161,587.096774193548,1022.58064516129,906.451612903226,616.129032258065,761.290322580645,848.387096774194,935.483870967742,1022.58064516129,1022.58064516129,1080.64516129032];
A0 = zeros(m,n);            % 构建关联矩阵A0 (m x n)
for i=1:16for j=1:14if B1(i,1)==jA0(j,i) = -1;endif B1(i,2)==jA0(j,i) = 1;end end
end
% for i = 1:m
%     for j=1:n
%         COUNT1=[];
%         if B1(j,1)==i
%             COUNT1=[COUNT1 B1(j,4)];
%         end
%         A0(i,COUNT1) = 1;
%     end
%     for j=1:n
%         COUNT2=[];
%         if B1(j,2)==i
%             COUNT2=[COUNT2 B1(j,4)];
%         end
%         A0(i,COUNT2) = -1;
%     end
% end
A0;                     % 显示A0
A1 = A0(2:m,:);         % 构建缩减关联矩阵A1
A1;                     % 显示A1
for i=1:n               % 计算流量if B2(B1(i,1),5)^2 > B2(B1(i,2),5)^2S(i)=1;elseS(i)=-1;endDetaP(i) = B2(B1(i,1),5)^2 - B2(B1(i,2),5)^2;f(i) = B1(i,3)*S(i)*sqrt(S(i)*DetaP(i));
end
P = B2(2:m,5); 
for i=1:m-1PAI(i)=P(i)^2;
end
PAI = PAI';             % 显示PAI
f = f';                 % 把流量f转化为列向量
L = B2(2:m,4);          % 负荷列向量L
F = A1*f-L;
kk=1;

程序结果

原文结果图:

从结果对比看,本程序收敛性能达到预期!

4 下载链接

相关文章:

Matlab|基于广义Benders分解法的综合能源系统优化规划

目录 1 主要内容 广义benders分解法流程图: 优化目标: 约束条件: 2 部分代码 3 程序结果 4 下载链接 1 主要内容 该程序复现文章《综合能源系统协同运行策略与规划研究》第四章内容基于广义Benders分解法的综合能源系统优化规划&…...

vscode 打代码光标特效

vscode 打代码光标特效 在设置里面找到settings 进入之后在代码最下方加入此代码 "explorer.confirmDelete": false,"powermode.enabled": true, //启动"powermode.presets": "fireworks", // 火花效果// particles、 simple-rift、e…...

【代码随想录算法训练营第四十八天 | LeetCode198.打家劫舍、213.打家劫舍II、337.打家劫舍III】

代码随想录算法训练营第四十八天 | LeetCode198.打家劫舍、213.打家劫舍II、337.打家劫舍III 一、198.打家劫舍 解题代码C&#xff1a; class Solution { public:int rob(vector<int>& nums) {if (nums.size() 0) return 0;if (nums.size() 1) return nums[0];ve…...

蓝桥杯 — —灵能传输

灵能传输 友情链接&#xff1a;灵能传输 题目&#xff1a; 输入样例&#xff1a; 3 3 5 -2 3 4 0 0 0 0 3 1 2 3输出样例&#xff1a; 3 0 3思路&#xff1a; 题目大意&#xff1a;给出一个数组&#xff0c;每次选择数组中的一个数&#xff08;要求不能是第一个数与最后一个…...

智慧安防系统EasyCVR视频汇聚平台接入大华设备无法语音对讲的原因排查与解决

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台支持7*24小时实时高清视频监控&#xff0c;能同时播放多路监控视频流&#xff0c;视频画面1、4、9、16个可选&#xff0c;支持自定义视频轮播。EasyCVR平台可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标…...

基于Pytorch框架的CNN-LSTM模型在CWRU轴承故障诊断的应用

目录 1. 简介 2. 方法 2.1数据集 2.2模型架构 1. 简介 CWRU轴承故障诊断是工业领域一个重要的问题&#xff0c;及早发现轴承故障可以有效地减少设备停机时间和维修成本&#xff0c;提高生产效率和设备可靠性。传统的基于信号处理和特征提取的方法通常需要手工设计特征&…...

QQ 邮箱使用 SMTP 发送邮件报错:550 The From header is missing or invalid

文章目录 场景描述问题排查根据提示查看原因查看封装的 message 个人简介 场景描述 QQ 邮箱使用 SMTP 发送邮件报错&#xff1a;550 The From header is missing or invalid&#xff1a; 失败原因&#xff1a;(550, bThe "From" header is missing or invalid. Ple…...

mysql中的视图

1、什么是视图&#xff1f; view:站在不同的角度去看待同一份数据。 2、怎么创建视图对象&#xff1f;怎么删除视图对象&#xff1f; 表复制&#xff1a; mysql> create table dept2 as select * from dept; 创建视图对象&#xff1a; create view dept2_v…...

树莓派点亮双色LED

双色LED灯准确来说叫双基色LED灯,是指模块只能显示2种颜色,一般是红色和绿色,可以有三种状态 :灭,颜色1亮,颜色2亮,根据颜色组合的不同,分为红蓝双色,黄蓝双色,红绿双色等等。 接线:将引脚S(绿色)和中间引脚(红色)连接到Raspberry Pi的GPIO接口上,对Raspberry…...

DAY27| 39. 组合总和 ,40.组合总和II ,131.分割回文串

文章目录 39.组合总和40.组合总和II131.分割回文串 39.组合总和 文字讲解&#xff1a;组合总和 视频讲解&#xff1a;组合总和 状态: 此题ok 思路&#xff1a; 代码&#xff1a; class Solution {int sum;public List<List<Integer>> combinationSum(int[] candi…...

24年重庆三支一扶报名照不通过怎么处理?

24年重庆三支一扶报名照不通过怎么处理&#xff1f;...

20240409在全志H3平台的Nano Pi NEO CORE开发板上运行Ubuntu Core16.04时跑通4G模块EC200A-CN【PPP模式】

20240409在全志H3平台的Nano Pi NEO CORE开发板上运行Ubuntu Core16.04时跑通4G模块EC200A-CN【PPP模式】 2024/4/9 14:25 【不建议使用ppp模式&#xff0c;功耗大&#xff0c;貌似更过分的&#xff01;网速还低&#xff01;】 【唯一的优点&#xff1a;ppp模式下是通过脚本配置…...

【示例】MySQL-不同case下索引的使用分析

前言 本文主要讲述不同SQL语句下&#xff0c;索引的生效情况。 关于索引的前置知识&#xff0c;本文不再讲述。 SQL语句性能分析方法 查看不同类型SQL语句的执行频率 SHOW GLOBAL STATUS LIKE COM_______;慢查询日志 该日志记录了SQL执行时间超过指定参数的所有SQL语句。…...

MySQL表空间管理与优化(8/16)

表空间管理和优化 innodb_file_per_table参数&#xff08;此参数在分区表章节中还会出现&#xff09;&#xff1a; 这个参数决定了InnoDB表数据的存储方式。当参数设置为ON时&#xff0c;每个InnoDB表的数据会单独存储在一个以.ibd为后缀的文件中&#xff0c;这有利于管理和回收…...

杂货铺 | Linux虚拟机Ubuntu操作系统下设置共享文件夹(以及找不到hgfs文件夹怎么办)

文章目录 &#x1f4da;步骤一&#xff1a;配置共享文件夹&#x1f4da;步骤二&#xff1a;配置挂载环境&#x1f4da;步骤三&#xff1a;解决权限问题&#x1f4da;步骤四&#xff1a;解决重启失效问题 &#x1f4da;步骤一&#xff1a;配置共享文件夹 建立本地共享文件夹&…...

《HF经理》:二认知误区

一、管理者掌握重要权力&#xff1a; 二、全力来自管理者的职位&#xff1a; 三、管理者必须控制自己的直接下属&#xff1a; 对策&#xff1a;展示自己的品质&#xff0c;能力和影响力 四、管理者必须建立良好的个人关系&#xff1a; 五、管理这必须确保一切运行正常&…...

ELK日志分析系统之Zookeeper

一、Zookeeper简介 ZooKeeper是一种为分布式应用所设计的高可用、高性能且一致的开源协调服务&#xff0c;它提供了一项基本服务&#xff1a;分布式锁服务。分布式应用可以基于它实现更高级的服务&#xff0c;实现诸如同步服务、配置维护和集群管理或者命名的服务。 Zookeepe…...

家居网购项目(Ajax验证用户名+上传图片)

文章目录 1.Ajax验证用户名1.程序框架图2.修改MemberServlet3.修改login.jsp4.结果展示 2.Ajax判断验证码是否输入正确1.修改MemberServlet2.修改login.jsp3.结果展示 3.Ajax添加购物车1.程序框架图2.修改CartServlet2.修改index.jsp3.解决问题—未登录直接添加购物车&#xff…...

09 Php学习:超级全局变量

超级全局变量 PHP中预定义了几个超级全局变量&#xff08;superglobals&#xff09; &#xff0c;这意味着它们在一个脚本的全部作用域中都可用。 PHP 超级全局变量列表: $GLOBALS$_SERVER$_REQUEST$_POST$_GET$_FILES$_ENV$_COOKIE$_SESSION $GLOBALS $GLOBALS 是 PHP 中的…...

【Java】SpringBoot快速整合mongoDB

目录 1.什么是mongoDB&#xff1f; 2.Docker安装mongoDB 3.SpringBoot整合mongoDB步骤 4.验证 1.什么是mongoDB&#xff1f; MongoDB是一种非关系型数据库&#xff0c;被广泛用于大型数据存储和分布式系统的构建。MongoDB支持的数据模型比传统的关系型数据库更加灵活&#x…...

UI设计的未来发展

UI 设计的未来发展&#xff0c;实际上是互联网行业未来发展的折射。毕竟&#xff0c;UI 设计始终是互联网行业的一部分&#xff0c;因此在互联网行业未来发展的可能性来看&#xff0c;UI 设计同样会跟随着互联网的部分稳步前进。曾经&#xff0c;在最初的图形化界面出现的时候&…...

推荐系统学习记录——连续的嵌入空间

连续嵌入空间 推荐系统通常会将用户和项目&#xff08;或商品&#xff09;表示为向量或嵌入&#xff08;embeddings&#xff09;&#xff0c;这些向量被映射到一个称为嵌入空间&#xff08;embedding space&#xff09;的数学空间中。在这个空间中&#xff0c;相似的用户或项目…...

【Entity Framework】你要知道EF中功能序列与值转换

【Entity Framework】你要知道EF中功能序列与值转换 文章目录 【Entity Framework】你要知道EF中功能序列与值转换一、序列1.1 基本用法1.2 配置序列设置 二、值转换2.1 配置值转换器2.2 批量配置值转换器2.3 预定义的转换2.4 ValueConverter类2.5 内置转换器 三、应用3.1 简单…...

顶顶通呼叫中心中间件-SIP分机安全(mod_cti基于FreeSWITCH)

介绍 运行在公网的FreeSWITCH服务器&#xff0c;每天都会接收到很多恶意的呼叫请求和注册请求&#xff0c;尝试盗打电话。合理的配置可以防止电话给倒打&#xff0c;但是每天大量的攻击&#xff0c;会让FS产生很多日志&#xff0c;降低FreeSWITCH的处理能力&#xff0c;cti模块…...

CountDownLatch

CountDownLatch 翻译&#xff1a; 倒计时锁存器&#xff0c;&#xff0c;&#xff0c;&#xff0c;count计数&#xff0c;down停止&#xff0c;Latch锁 解释&#xff1a; 允许一个或多个线程等待&#xff0c;直到在其他线程中执行的一组操作完成的同步辅助不懂&#xff1f;…...

Vue3中的组合式API与选项式API:深入理解与比较

一、引言 Vue.js&#xff0c;作为前端开发的热门框架之一&#xff0c;以其轻量级、易上手、灵活性强等特点深受开发者的喜爱。随着Vue3的发布&#xff0c;其引入了全新的组合式API&#xff08;Composition API&#xff09;&#xff0c;这为Vue.js的开发方式带来了新的变革。本…...

接口自动化测试实战之接口概念、项目简介及测试流程问答!

一、前言 这篇文章呢主要是想讲实战方面的内容&#xff0c;本文主要会讲解接口测试中的一些接口概念&#xff0c;流程等方面的问答&#xff0c;同时还会介绍一下即将要进行测试的项目&#xff0c;这里呢我就不多说废话了&#xff0c;直接进入主题吧。 二、接口概念 接口测试&…...

浏览器工作原理与实践--跨站脚本攻击(XSS):为什么Cookie中有HttpOnly属性

通过上篇文章的介绍&#xff0c;我们知道了同源策略可以隔离各个站点之间的DOM交互、页面数据和网络通信&#xff0c;虽然严格的同源策略会带来更多的安全&#xff0c;但是也束缚了Web。这就需要在安全和自由之间找到一个平衡点&#xff0c;所以我们默认页面中可以引用任意第三…...

Ubuntu配置VScode的C++环境

在Ubuntu系统下配置C环境&#xff0c;并运行helloworld 1. 下载VScode 我这里使用的是星火应用商店&#xff0c;在商店里面可以直接下载安装 http://spark-app.store/ 2.创建文件夹 3.启动VScode并打开该文件夹 4.安装以下几个扩展 PS&#xff1a;Clang这个插件别安装&…...

使用Code开发Django_模版和CSS

转到定义 和 查看定义 在使用Django或任何其他库的过程中,我们可能需要检查这些库中的代码。VS Code提供了两个方便的命令,可以直接导航到任何代码中的类和其他对象的定义: 转到定义 在Python开发环境中,我们可以轻松地对函数、类或者其他导入模块中的成员使用“Go to Def…...

123网址大全/seo引擎搜索

I2C总线时序模拟(一)-加深理解总线协议 #include<reg52.h> #define uchar unsigned char sbit sda=P2^0; sbit scl=P2^1;//用单片机的两个I/O口模拟I2C接口 uchar a; *************************************************************************** void delay()//简单…...

一键生成房屋设计图/seo服务公司

症状&#xff1a; 前几天从ubuntu14.10升级到15.04&#xff0c; 升级的过程中都挺正常&#xff0c;但是升级完成以后突然发现没有声音&#xff0c;完全的没有声音。找了很多办法都没有解决&#xff0c;直到今天才找到这个解决办法&#xff1a; 解决办法&#xff1a; 打开te…...

荆州哪里做网站/宣传推广文案

【注&#xff1a;本文转自 https://blog.csdn.net/u012410733/article/details/63684663】 在其基础上添加了一些内容【注意】&#xff1a;Oracle数据库支持full join&#xff0c;mysql是不支持full join的&#xff0c;但仍然可以同过左外连接 union右外连接实现初始化SQL语句:…...

网站排名按天付费/关键词排名优化易下拉技巧

UT中需要的jar Junit4.1X.jar hamcrest-library-1.x.jar hamcrest-core-l.x.jar mockito-all-1.10.x.jar Junit 使用hamcrest的Matcher找不到的问题&#xff08;比如greaterThan&#xff09; 问题&#xff1a;用junit在进行单元测试的时候&#xff0c;使用assertThat方法&#…...

厦门微信网站建设/营销方式有哪些

在之前完成的实战项目【FFmpeg音视频播放器】属于拉流范畴&#xff0c;接下来将完成推流工作&#xff0c;通过RTMP实现推流&#xff0c;即直播客户端。简单的说&#xff0c;就是将手机采集的音频数据和视频数据&#xff0c;推到服务器端。 接下来的RTMP直播客户端系列&#xff…...

wordpress cropping 图片 出错/合肥百度网站排名优化

2019年5月&#xff0c;Red Hat发布了OpenShift 4.3(GitHub)&#xff0c;但文档尚不完善。 OpenShift 4新特性 自我管理&#xff0c;自动化安装、修补、更新使用不同类别的Operator来执行集群操作&#xff0c;并在集群上运行服务供应用程序使用全新的安装工具OpenShift Installe…...