储能辅助电力系统调峰的容量需求研究(matlab代码)

news/2024/5/19 22:13:31 标签: 储能, 充放电, 风电, 调峰, matlab

目录

1 主要内容

2 部分代码

3 程序结果

4 下载链接


主要内容

该程序参考文献《储能辅助电力系统调峰的容量需求研究》,是一个很常规很经典的matlab优化代码,主要是对火电、风电储能等电力设备主体进行优化调度,在调峰能力达不到时采用弃负荷,程序以发电成本、投资运维成本、弃风惩罚、弃负荷成本以及储能调峰收益作为目标函数,程序包含多种电力设备代码建模,注释清晰,方便学习!

  • 目标函数

储能容量优化配置模型考虑经济性,以最小化运行成本为目标函数,包括:(1)发电成本;(2)储能系统投资运维成本;(3)弃风惩罚成本;(4)调峰不足惩罚成本;(5)调峰经济收益。

  • 约束条件
(1)系统功率平衡约束
(2)储能系统出力上下限约束
(3)储能系统多时段能量耦合约束
(4)储能系统荷电状态约束
(5)火电机组爬坡速率约束
(6)火电机组出力上下限约束
(7)风电出力上下限约束
(8)系统日弃风量约束
从这些约束形式能够看出,常规电力系统优化调度/配置基本就这些约束内容,这些都是比较基础和常规的约束,适合初学者学习参考!

部分代码

%% 连续变量
% 决策变量:火电出力, 风电出力, 调峰不足,u储能放电,u储能充电 ,储能容量,
Pf = sdpvar(1,24);       % 火电出力出力
Pw = sdpvar(1,24); %风电出力
Ploss = sdpvar(1,24);  %调峰不足
​
%储能
Pchr = sdpvar(1,24);   % 蓄电池充电功率
Pdis = sdpvar(1,24);   % 蓄电池放电功率
Uchr = binvar(1,24);   % 电池充电状态,1表示充电
Udis = binvar(1,24);   % 电池放电状态,1表示放电
Wbt= sdpvar(1,24);     % 蓄电池的荷电状态 
Ess= sdpvar(1);      % 蓄电池容量 
​
​
​
​
%% 约束
constraint=[];
for t=1:24 % (1) 电能平衡约束    
    constraint = [constraint, Pf(t)+Pw(t)+Ploss(t)+Pdis(t)-Pchr(t)-Pload(t)==0 ]; 
end
constraint=[constraint, 0 <= Ess <= E_max];
for t=1:24 %  蓄电池不等式约束
    constraint=[constraint, 0<=Pchr(t)<=Uchr(t)*E_max];
    constraint=[constraint, 0<=Pdis(t)<=Udis(t)*E_max];
    constraint=[constraint, Uchr(t)+Udis(t)<=1];
    constraint=[constraint, Ess*soc_min<=Wbt(t)<=Ess*soc_max];
end
for t=1:24 % 蓄电池等式约束
     if t==1
        constraint=[constraint, Wbt(t)==Ess*soc0+Pchr(t)*eta-Pdis(t)/eta];
    else
        constraint=[constraint, Wbt(t)==Wbt(t-1)+Pchr(t)*eta-Pdis(t)/eta];
    end
end
 constraint = [constraint, Ess*soc0==Wbt(24) ]; 
​
%% 火电上下限约束
for t=1:24 
    constraint=[constraint, pf_min<=Pf(t)<=pf_max] ; 
end
%% 火电爬坡约束
for t=2:24 
    constraint=[constraint, -delta<=Pf(t)-Pf(t-1)<=delta] ; 
end

程序结果

4 下载链接

下方联系方式->程序目录

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

相关文章

uniapp的H5实现图片长按保存

实现图片预览 使用uniapp的api实现图片预览&#xff0c;可以缩放&#xff0c;关闭等操作 uni.previewImage({urls:[imageUrl],success:()>{this.controllTouch();} }) imageUrl是图片地址&#xff0c;如https://www.111.com/abc/image.png urls是字符串数组&#xff0c;…

业界都有哪些数据库监控工具

本文主要介绍下数据库监控工具。 业界有很多数据库监控工具&#xff0c;以下是一些常见的数据库监控工具及其使用的公司&#xff1a; Zabbix&#xff1a;一款开源的企业级分布式监控解决方案&#xff0c;支持对MySQL、Redis、MongoDB等多种数据库的监控。使用的公司包括&…

【linux】常用的互斥手段及实例简述

文章目录 10. 原子变量(atomic_t)20. 自旋锁(spinlock_t)21. 读写锁(rwlock_t)22. 顺序锁(seqlock_t)30. 信号量(semaphore)31. 互斥体(mutex) 10. 原子变量(atomic_t) 头文件 #include <linux/types.h> // -> <linuc/atomic.h> // -> <asm-generic/ato…

【LeetCode-中等题】142. 环形链表 II

文章目录 题目方法一&#xff1a;哈希表set去重方法二&#xff1a;快慢指针 题目 方法一&#xff1a;哈希表set去重 思路&#xff1a;我们遍历链表中的每个节点&#xff0c;并将它记录下来&#xff1b;一旦遇到了此前遍历过的节点&#xff0c;就可以判定链表中存在环。借助哈希…

算法通关村第十六关——

LeetCode643给定n个整数&#xff0c;找出平均数最大且长度为k的连续子数组&#xff0c;并输出该最大平均数。 其中1<k<nums.length<105。 输入&#xff1a;[1,12&#xff0c;-5&#xff0c;-6,50,3]&#xff0c;k 4 输出&#xff1a;12.75 解释&#xff1a;最大平均…

创建本地镜像

通过前面文章的阅读&#xff0c;读者已经了解到所谓的容器实际上是在父镜像的基础上创建了一个可读写的文件层级&#xff0c;所有的修改操作都在这个文件层级上进行&#xff0c;而父镜像并未受影响&#xff0c;如果读者需要根据这种修改创建一个新的本地镜像&#xff0c;有两种…

Sinkhorn算法

Sinkhorn算法 介绍示例代码 介绍 Sinkhorn算法是一种用于解决最优传输问题的迭代算法。最优传输问题是指在给定两个概率分布 μ \mu μ和 ν \nu ν的情况下&#xff0c;找到一个最优的转移方案&#xff0c;使得从 μ \mu μ到 ν \nu ν的转移成本最小。Sinkhorn算法通过迭代…

浅析Linux SCSI子系统:IO路径

文章目录 概述scsi_cmd&#xff1a;SCSI命令result字段proto_op字段proto_type字段 SCSI命令下发scsi_request_fnscsi_dev_queue_readyscsi_host_queue_ready SCSI命令响应命令请求完成的软中断处理 相关参考 概述 SCSI子系统向上与块层对接&#xff0c;由块层提交的对块设备的…