基于双层优化的微电网系统规划设计方法matlab程序(yalmip+cplex)

news2025/7/13 14:48:45

基于双层优化的微电网系统规划设计方法matlab程序(yalmip+cplex)
参考文献:基于双层优化的微电网系统规划设计方法

摘要:规划设计是微电网系统核心技术体系之一。从分布式电源的综合优化(组合优化、容量优化)和分布式电源间的调度优化两个方面对其展开研究。根据分布式电源特性,提出了适用于并网型微电网系统和独立型微电网系统的双层优化规划设计模型。上层优化采用综合目标计算系统最优配置;下层优化采用混合整数线性规划算法(MILP)计算系统最优运行方案。运用所建立模型,针对并网型微电网系统作了案例计算, 验证了所提方法的正确性。
关键词:微电网;双层优化;规划设计;综合目标;MILP

1 微电网系统规划设计架构研究
1.1 微电网系统结构
本文研究的微电网系统结构如图1所示。风力发电机、光伏发电和储能系统等通过各自的变流器接入交流微电网系统,并通过公共连接点(PCC)与配电网连接,组成并网型微电网。通过对该微电网的控制,可实现微电网的孤岛和并网运行。柴油发电机采用同步发电机发电,直接并入交流微电网。在优化规划设计中,忽略线路阻抗引起的损耗。
在这里插入图片描述

1.2 微电网系统双层规划设计结构
本文采用双层优化规划方法对微电网系统进行优化,上层为容量优化模块,用于寻找系统最优配置,包括系统各设备类型、台数和容量,下层为调度优化模块,用于计算系统最优运行方案。
双层优化含有两个层次,上层决策结果一般会影响下层目标和约束条件,而下层则将决策结果反馈给上层,从而实现上下层决策的相互作用,如图2 所示为本文双层优化逻辑图。
在这里插入图片描述

2 基于双层优化的微电网系统规划设计数学模型2.1 双层优化模型
Bracken J 和 McGill J T 于 1973 年最早提出了多层规划的概念,已解决多层规划/优化问题,双层规划是多层规划的特例。双层规划在输电系统、无功优化、配电系统优化规划等领域已有研究报道。数学上双层优化可描述为
在这里插入图片描述

式中:F(•)为上层优化的目标函数;x 为上层优化的决策向量;G(•)为上层优化所需满足的约束条件;f(•)为下层优化的目标函数;y 为下层优化的决策向量;g(•)为下层优化所需满足的约束条件。

2.2 上层容量优化模型2.2.1 目标函数
本文选取微电网项目周期内系统经济性能和环保性能作为评估系统优劣的指标,可描述为
在这里插入图片描述

(1) 全寿命周期经济现值微电网系统的全寿命周期经济现值可由下式计算。
在这里插入图片描述

式中:CTANN 指等年值费用;CRFl 指资本回收系数(the Capital Recovery Factor),可由下式计算。
在这里插入图片描述

式中:l 表示年数;r 表示资本的年利率。
系统等年值费用由设备投资等年值费用和系统年运行和设备维护费用组成。计算公式为
在这里插入图片描述

式中:CTANN指项目投资等年值费用;Cfac指设备投资等年值;Cope 指系统年运行费用;COM 指设备年维护费用。
设备投资等年值费用使用下式计算。
在这里插入图片描述

式中:CI,i 指设备 i 初始投资费用;li 为设备 i 运行寿命期望值。
系统年运行费用包括系统购电费用、燃料购买费用和卖电收益,计算公式为
在这里插入图片描述

式中:CE指系统年购电费用;CF指系统年购买燃料费用;CS指年卖电收益。
(2) 污染物排放
柴油发电机以柴油作为主要燃料,其污染物包括 CO、CO2、燃料中未燃烧尽的碳氢化合物、硫化物和一氧化氮。污染物的排放量与燃料消耗量直接相关。微电网年排放水平等于年燃料消耗量乘以其气体排放系数。
在这里插入图片描述

其中:σCO2、σCO、σHC、σNO、σS分别代表各污染物的排放系数(kg/L);vF 代表柴油发电机的年消耗燃料量(L)。

2.3 下层调度优化模型2.3.1 目标函数
调度优化模型选取 24 h 为调度尺度,实现系统的动态经济调度,以系统日运行费用最低为目标函数,包括日购电费用、日燃料购买费用、日卖电收益。
在这里插入图片描述

式中:Ce指系统日购电费用;Cf指系统日燃料购买费用;Cs 指系统日卖电收益。

2.3.2 约束条件2.3.2.1 功率平衡约束
在这里插入图片描述

式中:PG 指电网购电功率;PS 指电网卖电功率;PDG 指柴油发电机功率;PCON 指变流器功率,整流为负,逆变为正;PL 指负荷功率;PPV 指光伏发电功率;PWT指风机发电功率。
2.3.2.2 设备性能约束
(1) 柴油发电机
本文采用简化线性功率燃料曲线描述柴油发电机发电量和燃料消耗量之间的关系为
在这里插入图片描述

其中:F0 是燃料曲线的截距系数(L/h/kW);F1 是燃料曲线的斜率(L/h/kW);Ygen 是发电机的额定容量(kW)。
由于柴油发电机运行于低负载率时效率较低,为使燃气发电机以高效率运行,柴油发电机出力应满足如下式的约束。
在这里插入图片描述

其中:PDG,min和 PDG,max分别是柴油发电机出力的最小有功功率和最大有功功率(kW);uDG 是二进制变量,标志柴油发电机的启停(0 表示关机,1 表示开机)。
(2) 蓄电池性能约束
蓄电池作为储能设备,其能量存储就有时间上的耦合性,即本时刻的储能状态受上一时刻储能状态影响。即
在这里插入图片描述

式中:WtB和 Wt-1B分别为 t 和 t1 时段蓄电池储能状态;ηB,l指蓄电池自损耗率;PtB,c和 PtB,d分别指蓄电池最大充电功率和最大放电功率;CB指蓄电池容量。
3 算例
选取我国南部某社区四个季节典型日作为研究对象,该社区建有光伏系统、风机系统、柴油发电机以及蓄电池​,并网运行。
4 程序运行结果
1)迭代结果
在这里插入图片描述
2)典型日1结果
在这里插入图片描述

2)典型日2结果
在这里插入图片描述

2)典型日3结果
在这里插入图片描述

2)典型日4结果

在这里插入图片描述
4 matlab程序

%% 考虑四种典型日下的双层规划
clc
clear
warning off
close all
tic
%% 设置参数
canshu;

%% 初始值
%% 上层
%初始折现成本+投资成本+购售电成本和燃料成本 +运维成本
%LB为初始折现成本+投资成本+购售电成本+燃料成本 +运维成本
%yita购售电成本+燃料成本+运维成本
[yita,LB,ee_bat_int, p_wt_int,p_pv_int,p_g_int] = UP_1(rp,rbat,rPV,rWT,rG);
%% 下层
%UB为上层(折现成本+投资成本)+下层(购售电成本+燃料成本 +运维成本)
[p_wt,p_pv,p_load,x,UB,p_g,p_ch,p_dis,p_buy,p_sell] = DOWN_(ee_bat_int,p_wt_int,p_pv_int,p_g_int,LB,yita);
%UB1为初始上层(折现成本+投资成本)+下层(购售电成本+燃料成本 +运维成本)
UB1 = UB;
%% p为上层(购售电成本+燃料成本 +运维成本)与下层(购售电成本+燃料成本 +运维成本)差
p(1)= UB - LB;
e=100;%收敛度
%% 开始迭代
.。。。。。略

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

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

相关文章

【虚幻引擎UE】UE5 两种球体绘制方法

一、网格球体绘制 center 中心点向量 segments参数越大,线条越多 radius是球体半径 thickness 厚度可以不用管 Depth Priority 是渲染深度可以不用管 F Life Time 是持续时间 C代码如下—— .cpp #include "drawBallFunc.h" #include "Components…

机器学习中的数学基础(二)

机器学习中的数学基础(二)2 线代2.1 矩阵2.2 矩阵的秩2.3 内积与正交2.4 特征值与特征向量2.5 SVD矩阵分解2.5.1 要解决的问题2.5.2 基变换2.5.3 特征值分解2.5.4 奇异值分解(SVD)在看西瓜书的时候有些地方的数学推导(…

使用redis快速实现session共享,springboot

1.引入依赖 <dependency><groupId>org.springframework.session</groupId><artifactId>spring-session-data-redis</artifactId> </dependency> <!-- 引入 redis 依赖 --> <dependency><groupId>org.springframework.b…

8.2 数据结构——插入排序

1、基本思想&#xff1a;每步将一个排序的对象&#xff0c;按其关键码大小插入到前面已经排好序的一组对象的适当位置上&#xff0c;直到对象全部插入为止。即边插入边排序&#xff0c;保证子序列中随时都是有序的。 2、基本操作&#xff1a; &#xff08;1&#xff09;在有序…

嗯哦哎辟 NOIP 2022 游寄

虽然上次不是假的&#xff0c;但这次是真的寄了。 Day 0 虽然是南京本地人&#xff0c;但因疫情原因&#xff0c;晚上决定去住了酒店。 看了一眼考场&#xff0c;感觉位置小得离谱。不愧是 NOI 2022 团体总分第十的“强省”江苏。 刚开始去了 409&#xff0c;发现房间里一股…

非凡社群管理之社群管理如何制定规则

1、加人规则&#xff1a;我们上篇文章里说到了&#xff0c;拉人前也是要进行一个明确定位的&#xff0c;不能什么人都拉&#xff0c;这就是我们常说的“设门槛”&#xff0c;避免占用群资源以及后期花费精力对其进行筛除。常用到的方式有这么几种&#xff1a;邀请式&#xff08…

【C++】类和对象(下)(再谈构造函数 初始化列表 explicit关键字 static成员 特性 友元 友元函数 友元类 内部类 匿名对象)

文章目录再谈构造函数初始化列表explicit关键字static成员特性友元友元函数友元类内部类匿名对象再谈构造函数 我们之前学习构造函数的时候&#xff0c;调用构造之后对象中就已经有了一个初始值&#xff0c;但不能说它是对对象像成员变量的初始化&#xff0c;构造函数体中的语…

windows10不支持Miracast无线投屏(不能进行无线投影)

电脑屏幕小看视频不爽&#xff0c;想把电脑屏幕投屏到电视上&#xff08;单独买一块高质量显示屏太贵&#xff0c;而且没有大尺寸的电视看的爽&#xff09;&#xff0c;但是windows提示不支持Miracast&#xff0c;跟着下面步骤教你解决问题。 当链接电视时出现下图提示不支持Mi…

SpringBoot 3.0 来啦!

SpringBoot 3.0 来啦&#xff01;&#xff01; 大家好&#xff0c;我 是 Ding Jiaxiong。 没赶上热乎的&#xff0c;晚了两天&#xff0c;2022年11月24日&#xff0c;SpringBoot 3.0 正式发布了&#xff01; 文章目录SpringBoot 3.0 来啦&#xff01;&#xff01;1 看看官网2…

ARM 37 个通用寄存器详解

一、简介 1、ARM 总共有 37 个寄存器&#xff0c;但是每种模式下最多只能看到 18 个寄存器&#xff0c;其他寄存器虽然名字相同&#xff0c;但是在当前模式不可见。 2、例如&#xff0c;对 r13 这个名字来说&#xff0c;在 ARM 中共有 6 个名叫 r13&#xff08;又叫 sp&#x…

SpringBoot SpringBoot 原理篇 1 自动配置 1.10 bean 的加载方式【八】

SpringBoot 【黑马程序员SpringBoot2全套视频教程&#xff0c;springboot零基础到项目实战&#xff08;spring boot2完整版&#xff09;】 SpringBoot 原理篇 文章目录SpringBootSpringBoot 原理篇1 自动配置1.10 bean 的加载方式【八】1.10.1 BeanDefinitionRegistryPostPro…

ABAP学习笔记之——第五章:内表

内表&#xff1a; 内表是可以在程序内部定义且使用的表&#xff0c;属于本地表。 与C语言比较&#xff1a; C语言的数组和内表比较&#xff1a; 内表是动态数组(Dynamic Data Object) INITIALSIZE 语句并非实际占用内存空间&#xff0c;而只是预约(RESERVE)内存空间。 创建…

Python每日一练 06

Python每日一练 06 文章目录Python每日一练 06while循环实例一、斐波那契数列前n项实例二、Leibniz公式计算圆周率while循环 循环结构表示程序重复执行某个或某些操作&#xff0c;直到某条件为假&#xff08;或为真&#xff09;时才可终止循环。 在问题求解过程中&#xff0c;…

[算法笔记]最长递增子序列和编辑距离

最长递增子序列 例如对于 a[] {2,1,5,3,6,4,8,9,7}其最长递增子序列为{1,3,4,8,9}所以长度&#xff08;或者说是结果&#xff09;为5。 对于a[0...n-1]&#xff0c;用dp[i]表示a[0...i]中以a[i]结尾的最长递增子序列长度 其状态状态方程&#xff1a; dp[i]1 // 0≤i≤…

【无人机通信优化】基于粒子群算法的多跳无线网络部署优化附matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

[附源码]SSM计算机毕业设计时事资讯平台JAVA

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

Date对象

文章目录Date日期对象Date对象的创建格式化日期3.获取Date总的毫秒数(时间戳)&#xff0c;是距离1970年1月1日过了多少毫秒数。二&#xff1a;常用时间获取方法三&#xff1a;日期设置方法四&#xff1a;时间转字符串菜鸟工具&#xff1a;https://www.runoob.com/jsref/jsref-o…

在Express框架使用ORM模型访问关系型数据库

一、ORM模型&#xff1a;设计思想&#xff0c;主要目的是简化计算机程序访问数据库 1、ORM&#xff1a;对象关系模型(对象关系映射) Object Releastion Model,将程序中的对象和数据库中关系(表格)进行映射。可以使开发者在程序中方便的对数据库进行操作(用户在程序操作对对象实…

【网页制作课作业】用HTML+CSS制作一个简单的学校网页(9页)

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

一文熟悉 Go 的分支结构(if - else-if - else、switch)

哈喽大家好&#xff0c;我是陈明勇&#xff0c;今天分享的知识是 Go 的分支结构。如果本文对你有帮助&#xff0c;不妨点个赞&#xff0c;如果你是 Go 语言初学者&#xff0c;不妨点个关注&#xff0c;一起成长一起进步&#xff0c;如果本文有错误的地方&#xff0c;欢迎指出&a…