风电 - 光伏 - 光热电站电力系统 N - k 安全优化调度模型探索
含风电-光伏-光热电站电力系统N-k安全优化调度模型该程序参考《光热电站促进风电消纳的电力系统优化调度》光热电站模型,主要做的是考虑N-k安全约束的含义风电-光伏-光热电站的电力系统优化调度模型,从而体现光热电站在调度灵活性以及经济性方面的优势。 同时代码还考虑了光热电站对风光消纳的作用,对比了含义光热电站和不含光热电站下的弃风弃光问题,同时还对比了考虑N-k约束下的调度策略区别。 以14节点和118节点算例为例,对模型进行了系统性的测试,复现效果良好,是学习N-k约束以及光热电站调度的必备程序!程序采用matlab+cplex(mosek/gurobi)进行求解,可以选择已经安装的求解器进行求解。

最近研究电力系统调度模型的时候,发现了一个超有意思的程序,它聚焦于含风电 - 光伏 - 光热电站电力系统的 N - k 安全优化调度,参考自《光热电站促进风电消纳的电力系统优化调度》中的光热电站模型,真的很值得跟大家分享分享。

这个程序主要的亮点在于,它充分考虑了 N - k 安全约束,构建出风电 - 光伏 - 光热电站的电力系统优化调度模型,通过这个模型来展现光热电站在调度灵活性和经济性方面的独特优势。

咱们先来说说 N - k 安全约束,简单理解就是在电力系统中,当系统中有 k 个元件(比如线路、发电机等)发生故障时,系统依然能够保持安全稳定运行,满足一定的供电可靠性要求。在代码里,这部分约束是怎么体现的呢?假设我们用 matlab 来构建这个模型,可能会有类似下面这样的代码片段(这里只是简单示意,实际代码会复杂很多):
% 定义系统元件数量等参数
num_elements = 100;
k = 2;
% 构建 N - k 约束
for i = 1:num_elements
for j = 1:k
% 这里假设是对线路约束的处理,实际可能涉及多种元件
if element_type(i) == 'line'
% 计算线路故障后的潮流约束
power_flow_constraint(i, j) = calculate_power_flow(i, j);
end
end
end
在上面代码里,通过循环来遍历系统元件,针对每个元件,考虑 k 种故障情况,计算故障后的潮流约束,以此来实现 N - k 安全约束的初步建模。当然,实际完整代码还需要和整个电力系统的发电、输电、负荷等模型进行深度融合。

同时,这个程序还特别关注光热电站对风光消纳的作用。光热电站的一大优势就是可以储存能量,在风光发电过剩时储存起来,在发电不足时释放,这样就能大大减少弃风弃光的情况。代码里通过对比含光热电站和不含光热电站的情况,来直观呈现这一作用。
% 假设定义含光热电站的情况
with_csp = true;
% 定义风光发电功率
wind_power = generate_wind_power();
solar_power = generate_solar_power();
if with_csp
% 计算光热电站的储热和释热功率,以调节风光发电
csp_storage_power = calculate_csp_storage(wind_power, solar_power);
% 重新计算系统总发电功率
total_power = wind_power + solar_power + csp_storage_power;
else
total_power = wind_power + solar_power;
end
% 根据总发电功率和负荷计算弃风弃光量
wind_curtailment = max(0, wind_power - load_demand);
solar_curtailment = max(0, solar_power - load_demand);
上述代码简单展示了如何根据光热电站是否存在,来调整系统发电功率计算,并进一步计算弃风弃光量。从这里就能很清晰地看出光热电站对风光消纳的影响。

含风电-光伏-光热电站电力系统N-k安全优化调度模型该程序参考《光热电站促进风电消纳的电力系统优化调度》光热电站模型,主要做的是考虑N-k安全约束的含义风电-光伏-光热电站的电力系统优化调度模型,从而体现光热电站在调度灵活性以及经济性方面的优势。 同时代码还考虑了光热电站对风光消纳的作用,对比了含义光热电站和不含光热电站下的弃风弃光问题,同时还对比了考虑N-k约束下的调度策略区别。 以14节点和118节点算例为例,对模型进行了系统性的测试,复现效果良好,是学习N-k约束以及光热电站调度的必备程序!程序采用matlab+cplex(mosek/gurobi)进行求解,可以选择已经安装的求解器进行求解。

另外,程序还对比了考虑 N - k 约束下的调度策略区别。这对于深入理解不同运行条件下电力系统如何优化调度非常有帮助。
为了验证模型的有效性,程序以 14 节点和 118 节点算例为例,进行了系统性的测试,而且复现效果良好。这就为我们学习 N - k 约束以及光热电站调度提供了非常好的实践样本。
程序采用 matlab + cplex(mosek/gurobi) 进行求解,这几个求解器在优化领域都非常强大。我们可以根据自己已经安装的求解器来选择使用。比如在 matlab 里调用 cplex 求解器可能是这样的代码:
% 假设已经构建好优化模型 prob
prob.solver = 'cplex';
result = solve(prob);
通过这样简单的设置,就能利用 cplex 求解器对我们构建的电力系统优化调度模型进行求解。
总之,这个程序无论是对于想要深入学习 N - k 约束理论的同学,还是研究光热电站在电力系统调度中应用的朋友,都是非常好的学习资料,强烈推荐大家亲自去研究研究。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)