高热点算法!数据驱动+多离散场景分布鲁棒+电热综合能源系统优化(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码、数据


💥1 概述

2020 年 9 月 22 号中国公布了碳中和目标,可见的未来配电网中将会接入大量分布式电源和储

能系统(energy storage system,ESS),直流配电网能为 DG 和 ESS 提供直流并网接口,考虑到当前广泛存在的交流配电网,基于电力电子技术的交直流配电网将是未来发展的一个重要方向[1-2],其关键技术之一便是合理的优化调度策略[3]。

针对优化调度中的不确定因素,当前主要常用随机优化和鲁棒优化(robust optimization,RO)方

法。随机优化通常是假定不确定变量的概率分布,但因为影响变量不确定性的因素比较复杂,该方法一般无法准确反应实际的规律[9]。RO 采用不确定性集合刻画不确定性因素的变化范围,不需要假定随机变量的概率分布,但是由于得到的是最差场景下的优化结果,可能会使优化结果较为保守[10]。文献[11]考虑储能系统和实际光伏发电数据建立了机会约束随机优化模型。文献[12-13]采用随机优化解决了多类型能源调度问题。文献[14]构建了主动配电网分层鲁棒规划模型,将规划投资层和运行层统一建模求解,应用多面体不确定集合表征了风电、光伏以及负荷的不确定性范围。文献[15]介绍了不同不确定性集合的建模方法。近年来,分布鲁棒优化(distributed robust optimization,DRO)方法被提出以解决随机规划和鲁棒规化中的不足。文献[16]以系统网损为优化目标,考虑 DG 无功支撑和开关重构,构建了基于数据驱动的分布鲁棒两阶段无功优化模型。文献[17]计及需求响应柔性调节建立了两阶段分布鲁棒 DG 优化配置模型。以上研究多以交流配网为优化主体。

利用 1-范数与∞-范数对置信区间进行约束的分布鲁棒优化方法,避免了复杂的非确定性多项式问题,可降低求解的复杂度,目前该方法在储能管理 、综合能源系统调度与输电网规划中已得到初步应用。

利用手肘法确定 K-means 算法的聚类数,从而得到典型场景,场景分布的概率置信区间由 1-范数和∞-范数约束。

第1 阶段以机组启停成本和运行成本为目标函数对机组与储能的各时段运行域进行约束。将第 2 阶段转化为单时间尺度优化问题,通过求解得到经济性最优的结果。

第 1 阶段的机组约束条件包括机组运行域上下界约束、机组运行域内爬坡约束和机组最短连续运行时间约束。

结合风光和负荷的典型历史数据以及决策变量的调节特性,构建数据驱动的两阶段分布鲁棒优化调度模型,并综合 1-范数和∞ -范数同时约束不确定性概率 分布置信集合;

详细文章讲解见第4部分。 

📚2 运行结果

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]孙旭,邱晓燕,张志荣,任昊,张明珂.基于数据驱动的交直流配电网分布鲁棒优化调度[J].电网技术,2021,45(12):4768-4778.DOI:10.13335/j.1000-3673.pst.2020.2273.

[2]贺帅佳,高红均,刘俊勇,刘友波,王家怡,向月.计及需求响应柔性调节的分布鲁棒DG优化配置[J].中国电机工程学报,2019,39(08):2253-2264+8.DOI:10.13334/j.0258-8013.pcsee.181968.

[3]高海淑,张玉敏,吉兴全,张晓,于永进.基于场景聚类的主动配电网分布鲁棒综合优化[J].电力系统自动化,2020,44(21):32-41.

🌈4 Matlab代码、数据

  • 25
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于分布联合机会约束的能源和储备调度是指在能源供应和储备调度过程中考虑到不确定性和风险,并使用基于分布联合机会约束的方法进行优化。该方法的目标是最小化不确定性和风险,并满足能源需求和储备要求。 该方法的实现可以利用MATLAB语言来完成。以下是一个简单的MATLAB代码示例: ```matlab % 导入数据 data = importdata('data.txt'); % 定义变量 n = size(data, 1); % 数据的行数 m = size(data, 2); % 数据的列数 x = zeros(n, m); % 能源供应量决策变量 r = zeros(n, 1); % 储备决策变量 % 定义目标函数 obj = sum(x(:)) + sum(r); % 定义约束条件 constraints = []; % 添加能源供应约束 for i = 1:n constraint = sum(x(i, :)) - data(i, 1); constraints = [constraints, constraint <= 0]; end % 添加储备约束 for i = 1:n constraint = r(i) - data(i, 2); constraints = [constraints, constraint <= 0]; end % 添加分布联合机会约束 for i = 1:n constraint = x(i, :) * data(i, 3:m) - r(i); constraints = [constraints, constraint >= 0]; end % 设置优化参数 options = optimoptions('fmincon', 'Display', 'iter'); % 调用优化函数进行能源和储备调度 [x_opt, fval] = fmincon(obj, [x(:); r], [], [], [], [], [], [], constraints, options); % 将结果重新整形 x_opt = reshape(x_opt(1:(n*m)), n, m); r_opt = x_opt(:, end); % 输出最优解 disp('最优能源供应量:'); disp(x_opt); disp('最优储备量:'); disp(r_opt); disp('目标函数值:'); disp(fval); ``` 请注意,上述代码仅供参考,具体的实现可能需要根据实际情况进行调整和修改。另外,为了使代码正常运行,需要提前准备好相关的数据文件(如`data.txt`)并进行正确的导入操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值