【核心完整复现】基于目标级联法的微网群多主体分布式优化调度

news2024/12/24 9:17:16

主要内容

之前发布了华电学报的复现程序《基于目标级联法的微网群多主体分布式优化调度》,具体链接为【防骗版】基于目标级联法的微网群多主体分布式优化调度,虽然对模型及结果进行了复现,但是部分模型细节和参数并没有完全实现,本次发布该程序的完整复现版本,主要实现的内容如下:

1.考虑多源异质分布式电源的出力随机性,增加风光出力的鲁棒约束;

2.完全复现基于目标级联法的分布式​求解流程;

3.参数基本完全按照文献所列​;

4.程序目标函数和约束条件和文献一致​。

  • 程序主要内容

建立微网群系统的两级递阶优化调度模型: 上层是微网群能量调度中心优化调度模型,下层是子微网优化调度模型,然后对所建递阶优化调度模型耦合性和分布性进行分析,采用一种新型的协同优化方法———目标级联法,实现上下层模型的解耦独立优化,以3微网为算例进行验证,证明方法的可行性。

  • 上层微网群模型

  • 下层微网模型

  • 模型流程图

部分程序

%最终迭代后结果图
figure;
wwz=max(gPpcc1,0);
wwf=min(gPpcc1,0);
yyf=[-x_P_ch1;wwf]';
bar(yyf,'
stack
');
hold on
yyz=[x_P_dis1;x_P_g1;PV1;x_c_ld1;wwz]'
;bar(yyz,'stack');
plot(Pload1+Pkk1,'r','LineWidth',1.5)
xlabel('时间/h');
ylabel('功率/MW');
title('微网1功率');
sy=legend('储能充电','接受微网群电功率','储能放电','柴油发电','光伏','负荷响应','供给其他微网','微网1负荷');
sy.NumColumns = 3;
figure;
wwz=max(gPpcc2,0);
wwf=min(gPpcc2,0);
yyf=[-x_P_ch2;wwf]';
bar(yyf,'
stack
');
hold on
yyz=[x_P_dis2;x_P_g2;PW2;x_c_ld2;wwz]'
;bar(yyz,'stack');
plot(Pload2+Pkk2,'r','LineWidth',1.5)
xlabel('时间/h');
ylabel('功率/MW');
title('微网2功率');
sy=legend('储能充电','接受微网群电功率','储能放电','柴油发电','风电','负荷响应','供给其他微网','微网2负荷');
sy.NumColumns = 3;
figure;
wwz=max(gPpcc3,0);
wwf=min(gPpcc3,0);
yyf=[-x_P_ch3;wwf]';
bar(yyf,'
stack
');
hold on
yyz=[x_P_dis3;sum(x_P_g3);PW3;PV3;x_c_ld3;wwz]'
;bar(yyz,'stack');
plot(Pload3+Pkk3,'r','LineWidth',1.5)
xlabel('时间/h');
ylabel('功率/MW');
title('微网3功率');
sy=legend('储能充电','接受微网群电功率','储能放电','柴油发电','风电','光伏','负荷响应','供给其他微网','微网3负荷');
sy.NumColumns = 3;
figure;
plot(pv13,'r-o','LineWidth',1)
hold on
plot(pw2,'b-*','LineWidth',1)
plot(pw3,'m-s','LineWidth',1)
legend('MG1/MG3光伏','MG2风电','MG3风电');
xlabel('预测时段/h');
ylabel('可再生能源预测出力/p.u.');
grid on
figure;
plot(ploadz,'r-o','LineWidth',1)
hold on
plot(pload1,'b-*','LineWidth',1)
plot(pload2,'m-s','LineWidth',1)
plot(pload3,'c-^','LineWidth',1)
legend('微网群负荷','子微网1负荷','子微网2负荷','子微网3负荷');
xlabel('预测时段/h');
ylabel('预测负荷功率/p.u.');
grid on
figure;
title_name = '独立优化模型惩罚项';
title(title_name);   %%关键
plot(faz,'b-o','LineWidth',1.5);
hold on
plot(fa1,'b-o','LineWidth',1.5);
plot(fa2,'r-*','LineWidth',1.5);
plot(fa3,'k-^','LineWidth',1.5);
xlabel('迭代次数');
ylabel('独立优化模型惩罚项/元');
grid on
figure;
title_name = '最大连接变量偏差';
title(title_name);   %%关键
plot(detamax,'m-o','LineWidth',1.5);
xlabel('迭代次数');
ylabel('最大连接变量偏差/kW');
grid on
figure;
title_name = '整体经济性';
title(title_name);   %%关键
plot(y4,'b-o','LineWidth',1.5);
xlabel('迭代次数');
ylabel('整体经济性/元');
grid on
figure;
subplot(311)
plot(gPpcc1c,'--','LineWidth',1.5)
hold on
plot(gPMGc(1,:),'-','LineWidth',1.5)
grid on
legend('下层连接变量值','上层连接变量值');
xlabel('迭代次数');
ylabel('子微网1联络功率');
% ylim([0 200]);
subplot(312)
plot(gPpcc2c,'--','LineWidth',1.5)
hold on
plot(gPMGc(2,:),'-','LineWidth',1.5)
grid on
xlabel('迭代次数');
ylabel('子微网2联络功率');
% ylim([0 500]);
subplot(313)
plot(gPpcc3c,'--','LineWidth',1.5)
hold on
plot(gPMGc(3,:),'-','LineWidth',1.5)
grid on
xlabel('迭代次数');
ylabel('子微网3联络功率');

程序结果

4 下载链接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1592225.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

伪造CSRF

【1】什么是CSRF ​ CSRF全称是跨站请求伪造。这是一种网络攻击方式,攻击者通过伪造用户请求来达到非法操作的目的。 ​ CSRF 就像是攻击者利用了被攻击者的身份,通过伪装成被攻击者的身份,在被攻击者不知情的情况下执行操作。 ​ 攻击者通…

工业项目中你连PLM系统都没见过?

什么是 PLM 软件? PLM 软件是用于管理全球供应链中产品或服务全生命周期环节的解决方案。它包括从物料、零部件、产品、文档、规定、工程变更单到质量工作流的数据管理。 PLM 的发展历史 从最初的产品设计管理到如今的数字化转型和智能化生产,PLM 在不断…

三小时零基础入门微信扫码点餐小程序 手把手带你开发一款云开发版点餐软件,店铺地图导航,外卖小程序,用户端和后厨端都有

从今天开始带领大家实现一款云开发版的点餐小程序 视频讲解:《云开发后台微信扫码点餐小程序cms网页管理后台》 技术选型 1,前端 微信小程序原生框架cssJavaScript 2,管理后台 云开发Cms内容管理系统web网页 3,数据后台 小…

ifconfig用法 、默认掩码

文章目录 概述2. ifconfig(尽量别用,已废弃)2.1 配置地址2.1.1 默认掩码 2.2 查看功能2.2.1 ifconfig 查看不含禁用的网卡2.2.2 ifconfig -a 查看含禁用的网卡2.2.3 ip a 2.3 启用、禁用网卡2.3.1 ifconfig eth1 up、 ifconfig eth1 down2.3.2 ifdown eth0、ifip et…

基于微信公众号,搭建一套简单的电商支付环境(下)-- 微信公众号的对接

一、接着上文 上文把部署情况介绍了,侧重于网络及代理,本文选择把微信公众号的对接实现介绍一下。 还是那句话,微信官方的文档已非常详细,这里先摘抄一些重要的概念。 其次,待对接微信公众号的接口众多,…

面试算法-165-随机链表的复制

题目 给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。新节…

K8s 命令行工具

文章目录 K8s 命令行工具kubectl 工具在任意节点使用kubectl方式创建对象命令显示和查找资源更新资源修补资源编辑资源Scale 资源删除资源查看pod信息节点相关操作 K8s 命令行工具 在搭建集群的时候,我们通过yum 下载了kubeadm kubelet kubectl 三个命令行工具&…

两步解决 Flutter Your project requires a newer version of the Kotlin Gradle plugin

在开发Flutter项目的时候,遇到这个问题Flutter Your project requires a newer version of the Kotlin Gradle plugin 解决方案分两步: 1、在android/build.gradle里配置最新版本的kotlin 根据提示的kotlin官方网站搜到了Kotlin的最新版本是1.9.23,如下图所示: 同时在Ko…

鸿蒙TypeScript学习第14天:【联合类型】

1、TypeScript 联合类型 联合类型(Union Types)可以通过管道(|)将变量设置多种类型,赋值时可以根据设置的类型来赋值。 注意:只能赋值指定的类型,如果赋值其它类型就会报错。 创建联合类型的语法格式如下&#xff1…

MATLAB 构建协方差矩阵,解算特征值和特征向量(63)

MATLAB 局部点云构建协方差矩阵,解算特征值和特征向量(63) 一、算法介绍二、算法实现1.代码2.结果一、算法介绍 对于某片有待分析的点云,我们希望构建协方差矩阵,计算特征值和特征向量,这是很多算法必要的分析方法,这里提供完整的计算代码(验证正确) !!! 特别需要注意…

10分钟带你学会配置DNS服务正反向解析

正向解析 服务端IP客户端IP网址192.168.160.134192.168.160.135www.openlab.com 一、首先做准备工作: 关闭安全软件,关闭防火墙,下载bind软件 [rootserver ~]# setenforce 0 [rootserver ~]# systemctl stop firewalld [rootserver ~]# y…

iOS开发之为什么需要引用计数

iOS开发之为什么需要引用计数 在iOS开发中,Objective-C与Swift语言都是通过引用计数进行内存管理,实际上Python、Ruby、C等语言也提供了基于引用计数的内存管理方式,它们有一个共同点,那就是都是面向对象的编程语言。 引用计数可…

jmeter实验 模拟:从CSV数据到加密请求到解密返回数据再到跨越线程组访问解密后的数据

注意,本实验所说的加密只是模拟加密解密,您需要届时写自己的加解密算法或者引用含有加密算法的相关jar包才行. 思路: 线程组1: 1.从CSV文件读取原始数据 2.将读取到的数据用BeanShell预习处理器进行加密 3.HTTP提取器使用加密后的数据发起请求 4.使用BeanShell后置处理器…

word从零基础到高手【办公】

第1课 - word基础操作快速入门第2课 - 让你效率10倍提升的快捷操作第3课 - word排版快速入门第4课 - 排版实战案例讲解第5课 - 搞定论文排版全过程第6课 - 让你的word更强大的神技第7课 - 提高工作效率必备的批量操作 资料截图如下: 发送: "word办公" 获取提取码

计算机视觉——图像特征提取D2D先描述后检测特征提取算法原理

概述 局部特征提取是计算机视觉中的一个重要任务,它旨在从图像中提取出能够代表图像局部结构和外观信息的特征。这些特征通常用于图像匹配、物体识别、三维重建、跟踪和许多其他应用。传统方法,如尺度不变特征变换(SIFT)&#xf…

6.4Python之字典的可变数据类型

字典是不可变数据类型,但其值都是可变数据类型。添加修改删除,都是通过改变寻址的方式做数据的变化。 例如: d1 {"a": 1, "b": 2, "c": 5} print(d1) print(id(d1)) print(d1["c"], "的ID&a…

天猫精灵要会员,不能听歌,还能用来干什么呢?榨干它的剩余价值

目录 起因:以听歌为主要功能的设备,却不能听歌了 1.蓝牙音箱 2.控制智能家电 3.万能遥控器,需要一个外接设备 4.倒计时/提醒,闹钟提醒,整点提醒(这功能有人不喜欢,闲吵,还不能关…

大话设计模式——9.单例模式(Singleton Pattern)

简介 确保一个类只有一个实例,并提供全局访问点来获取该实例,是最简单的设计模式。 UML图: 单例模式共有两种创建方式: 饿汉式(线程安全) 提前创建实例,好处在于该实例全局唯一,不…

JVM修炼之路【11】- GC调优 、性能调优

上一篇中 我们详细讲了内存溢出 内存泄漏 还有相关的案例。 这篇博客中我们主要了解一下GC调优。 有些新手可能会有一点 疑问—— 这两者不是一回事吗?? 其实说一回事 也没错 因为GC调优本质上还是针对 堆上的内存 只不过前面我们关注的侧重点在于 不合…

Centos 7.9.2009 下 Gitlab 完全卸载

一、linux版本:lsb_release -a 二、GtiLab 版本 # 查看gitlab的版本号 cat /opt/gitlab/embedded/service/gitlab-rails/VERSION 三、开始卸载 3.1,停止Gitlab 相关服务 # 停止所有GitLab相关服务: sudo gitlab-ctl stop# 移除GitLab包…