最新:分级滚动鲁棒优化!考虑源荷不确定性的微电网多级鲁棒优化调度程序代码!

前言

可再生能源的波动性和不确定性给微电网的可靠运行带来了极大的挑战。储能(ES)作为缓解可再生能源不确定性的重要设备之一,发展迅速。此外,由于可再生能源的发电容量有限,具有可再生能源的微电网通常与电网并网和/或配备其他传统发电机组,如火电机组,以保证供电的安全和质量。区域微电网的典型结构如下图所示。

非预期性概念

鲁棒性和非预期性

在设计具有可再生能源和可再生能源的区域微电网调度方案时,鲁棒性和不可预测性将直接影响实际运行中调度结果的可行性。鲁棒性是指调度方案对于给定不确定性集合内的任何不确定性实现都必须是可行的;非预期性是指当前调度决策只能基于当前和以前可用的信息,而与未来未知的不确定性实现无关。事实上,通过一个简单的例子来说,不考虑鲁棒性和不可预测性的调度结果将导致ES的操作不可行。为此,鲁棒性和不可预测性是微电网调度中需要考虑的两个重要因素。在推进ES和可再生能源并网调度方面已经做了大量的工作。机会约束方法、基于场景的方法、两阶段鲁棒优化方法、区间优化方法、分布鲁棒优化算法(DRO)和信息差距决策理论(IGDT)是应用广泛、流行的主流方法。

不确定性描述

微电网的调度问题涉及两类不确定因素。第一类包含可再生能源出力和负荷的不确定性,影响调度问题的可行性和经济性;第二类是微网与主网之间交易价格的不确定性,仅影响经济效益。为了充分考虑调度结果的可行性,首先通过时间无关预算不确定性集模拟可再生能源和负荷的不确定性;为保证经济效益,在发电调度模型中进一步引入了可再生能源出力、负荷和电价的代表性场景。

主要创新点

1)基于后向推导思想,提出了重要的可行性命题,建立了微电网在不确定性条件下的运行可行性约束,即鲁棒约束和非预期约束。

2)提出了一种基于单级场景的多阶段鲁棒调度模型,该模型具有鲁棒和非预期约束,并通过代表性场景模拟了交易价格、源荷的不确定性保证调度结果的经济效益。该模型充分利用基于场景的方法在经济方面的优势,同时确保了处理不确定性问题的可行性。

3)通过调度模型求解火电机组的开/关决策以及ES能级和热输出的安全范围,建立实时滚动经济调度模型,保证有功功率和无功功率以及节点相电压值在合理范围内。

建模步骤

如图所示,首先建立微电网多时间尺度模型:日前调度模型和实时经济调度(ED)模型。由于无功补偿和节点电压与电力系统的实时运行状态密切相关,程序将重点放在日前调度中的有功功率上,并在实时ED问题中对无功功率和电压进行综合调整。

在日前调度中,根据不确定性集的信息,基于所提出的可行性命题获取非预期和鲁棒约束。其次,基于这些约束和不确定性的典型场景,通过所提出的具有非预期和鲁棒约束的场景的多级鲁棒调度方法来获得燃气轮机出力和ES能级的安全范围。同时,还可以获得预测情景下燃气轮机的投/切状态和出力大小,用于日前市场的投标策略的参考。其中,通过典型情景来考虑日前市场的价格不确定性。

最后,在热输出和ES能级的安全范围内,求解滚动经济调度模型,以获取每个区间的实时决策。并且只有第一个时隙决策(即对应于前一周期的不确定性)将用于实时市场的时间偏差。

程序介绍

程序本文提出了一种含可再生能源和ES的区域微电网多阶段鲁棒调度方法,该方法能够同时保证调度方案的鲁棒性和非预期性。首先,基于后向推导思想建立可行性命题解决了微电网在源荷不确定性下的可行性要求;其次,基于这一命题,提出了一种基于场景的多阶段鲁棒调度模型,该模型具有鲁棒性和非预则约束,通过代表性场景模拟交易价格、源荷的不确定性,保证调度结果的经济性。最后,根据机组的开/关决策以及调度模型导出的ES能级和热出力的安全范围,建立实时滚动经济调度模型确定有功功率和无功功率以及节点相电压值。程序中算例丰富,注释清晰,干货满满,创新性和可扩展性很高,足以撑起一篇高水平论文!下面对程序做简要介绍!

程序适用平台:Matlab+Yalmip+Cplex

参考文献:《Optimal Operation of Regional Microgrids With Renewable and Energy Storage: Solution Robustness and Nonanticipativity Against Uncertainties》-IEEE Trans on Smart Grid

程序结果

部分程序

[B,G,B_1,a,b,data_Grid] = makeB_G;% 节点导纳矩阵的虚部、实部和排除分流元件的导纳矩阵的虚部(S)
F_cost_a = [0.0524 0.058 0.028 0.0354 0.0211]';F_cost_b = 20+[28.5397 26.1591 20.3965 18.3055 16.3278]';
F_startup = 0.3*[200 165 105 85 85];
D_max = k_L*LD_upper';% 总负荷上限 (MW)​D_min = k_L*LD_lower';% 总负荷下限(MW)
E_cap = 40;% ES容量 (MWh)
k_min = 0.1;% ES充放电深度 (%)​k_max = 0.9;% ES充放电深度 (%)
E_max0 = k_max*E_cap;% ES原始的容量上限 (MWh)​E_min0 = k_min*E_cap;% ES原始的容量下限 (MWh)
E0 = 20;% ES初始容量 (MWh)
H ​ 发电机节点关联矩阵(0/1) 5*火电机组,2*可再生能源,1*ES,1*grid
P_grid_max = 15;P_grid_min = -15;% 与主网交互功率上下限 (MW)
P_g_max = [25 20 10 5 5]';P_g_min = [5 4 2 1 1]';% 火电机组出力上下限  (MW)
P_mic_max = [30 120 112.5 150 30];P_mic_min = -P_mic_max;% 支路容量上下限  (MW)
% p_ren_max = [40 40]';p_ren_min =[0 0]';% 没用到(文中只做论述用)
P_ren_max = WP_upper'+PV_upper';P_ren_min = WP_lower'+PV_lower';% 可再生能源总体出力上下限 (MW)
Pu = [10 8 5 2 2]';Pd = [10 8 5 2 2]';% 发电机开机/停机功率上限 (MW/h)
Q_comp_max = 15;Q_comp_min = -15;% 无功补偿装置上下限 (MVar)
V_max = 1.1;V_min = 0.9;% 节点电压上下限 (kV)
tau = 1;% 各时段长度 (h)​T = length(LD_scenairo);% 调度时段数量
delta_u = [10 8 5 3 3]';delta_d = [10 5 8 3 3]';% 火电机组爬坡功率上下限 (MW/h)
delta_ch = 15;delta_dis = 15;% ES的额定充放电功率 (MW/h)
Beta_S = 1;% 各场景权重因子 
phi_max = 0.7227;phi_min = 0.2003;% 功率因数角上下限 (文中没找到,设置功率因数为0.8-0.9)
yita_c = 0.9;yita_d = 0.9;% 充放电效率​lambda_shf = 0.5;

部分内容源自网络,侵权联系删除!

欢迎感兴趣的小伙伴关注并私信获取完整版代码,小编会不定期更新高质量的学习资料、文章和程序代码,为您的科研加油助力!

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值