含风电-光伏-光热电站电力系统N-k安全优化调度模型 关键词N-K安全约束 光热电站 优化调度 参考文档参考《光热电站促进风电消纳的电力系统优化调度》光热电站模型 仿真软件: matlabyalmipcplex(gurobi) 研究内容代码主要做的是考虑N-k安全约束的含义风电-光伏-光热电站的电力系统优化调度模型从而体现光热电站在调度灵活性以及经济性方面的优势。 同时代码还考虑了光热电站对风光消纳的作用对比了含义光热电站和不含光热电站下的弃风弃光问题同时还对比了考虑N-k约束下的调度策略区别。 以14节点和118节点算例为例对模型进行了系统性的测试复现效果良好是学习N-k约束以及光热电站调度的必备程序 注意事项代码注释详细软件模块运行稳定仿真结果如下截图所示风电和光伏的波动性让电力系统调度头疼不已这时候光热电站带着它的充电宝属性进场了。今天咱们就拆解一个含N-k安全约束的风光光热联合调度模型顺便看看怎么用MatlabYALMIP把这事儿给撸明白了。先说说N-k安全约束这个硬核概念。简单来说就是系统在任意k个元件故障时还能保持稳定运行。在代码里我们得给所有可能的故障组合上保险。比如处理线路N-1约束时得把每条线路断开的场景都遍历一遍。这里有个取巧的写法for cont 1:num_lines P_line_post P_line; P_line_post(cont,:) 0; % 把第cont条线路功率置零 Constraints [Constraints, -line_limit P_line_post line_limit]; end这种向量化操作比写多重循环清爽多了特别是处理118节点这种大系统时省下的计算时间够泡两杯咖啡。光热电站的建模是重头戏。它的牛掰之处在于既能像火电那样调节又能储能。参考那篇文献我们把集热场、储热罐、汽轮机三个部分拆开建模% 光热电站决策变量 CSP_collect sdpvar(T,1); % 集热功率 CSP_storage sdpvar(T,1); % 储热状态 CSP_generate sdpvar(T,1); % 发电功率 % 能量守恒约束 Constraints [Constraints, CSP_storage(2:end) CSP_storage(1:end-1) CSP_collect(2:end) - CSP_generate(2:end)/0.4];注意最后那个0.4是热电转换效率这个参数直接关系到光热电站的档位切换速度。在实际系统中这个值的高低决定了光热电站能不能及时吃掉突增的风电。目标函数里藏着调度模型的灵魂Objective sum(coal_cost.*P_coal) 1000*sum(spill_wind) 800*sum(spill_pv);1000和800这两个惩罚系数设置是门艺术。设低了系统会无脑弃风弃光设高了可能影响常规机组经济运行。建议的做法是先跑几轮试算看看弃风率的拐点在哪。含风电-光伏-光热电站电力系统N-k安全优化调度模型 关键词N-K安全约束 光热电站 优化调度 参考文档参考《光热电站促进风电消纳的电力系统优化调度》光热电站模型 仿真软件: matlabyalmipcplex(gurobi) 研究内容代码主要做的是考虑N-k安全约束的含义风电-光伏-光热电站的电力系统优化调度模型从而体现光热电站在调度灵活性以及经济性方面的优势。 同时代码还考虑了光热电站对风光消纳的作用对比了含义光热电站和不含光热电站下的弃风弃光问题同时还对比了考虑N-k约束下的调度策略区别。 以14节点和118节点算例为例对模型进行了系统性的测试复现效果良好是学习N-k约束以及光热电站调度的必备程序 注意事项代码注释详细软件模块运行稳定仿真结果如下截图所示当我们在118节点系统测试时发现个有趣现象加上N-1约束后光热电站的调度模式从跟风光走变成了看线路脸色。比如这段线路越限判断line_loading P_line ./ line_limit * 100; if max(line_loading) 85 % 触发安全约束调整 CSP_generate(t) CSP_generate(t) (max(line_loading)-85)*0.2; end这种动态调整策略让光热电站成了系统里的消防员哪里有过载风险就往哪调度。最后上点干货对比在同一个风电出力尖峰时段不含光热的系统弃风率高达18.7%而光热接入后压到6.3%。更骚的是光热机组通过储热把晚高峰的光伏出力挪到了夜间风电低谷时段用相当于自带了一个时间平移buff。代码里有个防坑指南必须提处理储热罐的爬坡约束时千万别直接用diff()函数会出时间对齐问题。正确姿势是for t 2:T Constraints [Constraints, -ramp_rate CSP_storage(t)-CSP_storage(t-1) ramp_rate]; end这种逐个时间步的处理虽然代码量多点但避免了很多诡异的越限bug。跑完仿真最大的感触是光热电站就像电力系统的瑞士军刀——风光出力大时它是充电宝线路吃紧时它是稳压器还要兼职做备用的搬运工。这种灵活性在N-k安全约束下尤其珍贵毕竟多一个灵活调节单元就少建一条备用线路的成本。
含风电-光伏-光热电站电力系统N-k安全优化调度模型 关键词:N-K安全约束 光热电站 优化调...
含风电-光伏-光热电站电力系统N-k安全优化调度模型 关键词N-K安全约束 光热电站 优化调度 参考文档参考《光热电站促进风电消纳的电力系统优化调度》光热电站模型 仿真软件: matlabyalmipcplex(gurobi) 研究内容代码主要做的是考虑N-k安全约束的含义风电-光伏-光热电站的电力系统优化调度模型从而体现光热电站在调度灵活性以及经济性方面的优势。 同时代码还考虑了光热电站对风光消纳的作用对比了含义光热电站和不含光热电站下的弃风弃光问题同时还对比了考虑N-k约束下的调度策略区别。 以14节点和118节点算例为例对模型进行了系统性的测试复现效果良好是学习N-k约束以及光热电站调度的必备程序 注意事项代码注释详细软件模块运行稳定仿真结果如下截图所示风电和光伏的波动性让电力系统调度头疼不已这时候光热电站带着它的充电宝属性进场了。今天咱们就拆解一个含N-k安全约束的风光光热联合调度模型顺便看看怎么用MatlabYALMIP把这事儿给撸明白了。先说说N-k安全约束这个硬核概念。简单来说就是系统在任意k个元件故障时还能保持稳定运行。在代码里我们得给所有可能的故障组合上保险。比如处理线路N-1约束时得把每条线路断开的场景都遍历一遍。这里有个取巧的写法for cont 1:num_lines P_line_post P_line; P_line_post(cont,:) 0; % 把第cont条线路功率置零 Constraints [Constraints, -line_limit P_line_post line_limit]; end这种向量化操作比写多重循环清爽多了特别是处理118节点这种大系统时省下的计算时间够泡两杯咖啡。光热电站的建模是重头戏。它的牛掰之处在于既能像火电那样调节又能储能。参考那篇文献我们把集热场、储热罐、汽轮机三个部分拆开建模% 光热电站决策变量 CSP_collect sdpvar(T,1); % 集热功率 CSP_storage sdpvar(T,1); % 储热状态 CSP_generate sdpvar(T,1); % 发电功率 % 能量守恒约束 Constraints [Constraints, CSP_storage(2:end) CSP_storage(1:end-1) CSP_collect(2:end) - CSP_generate(2:end)/0.4];注意最后那个0.4是热电转换效率这个参数直接关系到光热电站的档位切换速度。在实际系统中这个值的高低决定了光热电站能不能及时吃掉突增的风电。目标函数里藏着调度模型的灵魂Objective sum(coal_cost.*P_coal) 1000*sum(spill_wind) 800*sum(spill_pv);1000和800这两个惩罚系数设置是门艺术。设低了系统会无脑弃风弃光设高了可能影响常规机组经济运行。建议的做法是先跑几轮试算看看弃风率的拐点在哪。含风电-光伏-光热电站电力系统N-k安全优化调度模型 关键词N-K安全约束 光热电站 优化调度 参考文档参考《光热电站促进风电消纳的电力系统优化调度》光热电站模型 仿真软件: matlabyalmipcplex(gurobi) 研究内容代码主要做的是考虑N-k安全约束的含义风电-光伏-光热电站的电力系统优化调度模型从而体现光热电站在调度灵活性以及经济性方面的优势。 同时代码还考虑了光热电站对风光消纳的作用对比了含义光热电站和不含光热电站下的弃风弃光问题同时还对比了考虑N-k约束下的调度策略区别。 以14节点和118节点算例为例对模型进行了系统性的测试复现效果良好是学习N-k约束以及光热电站调度的必备程序 注意事项代码注释详细软件模块运行稳定仿真结果如下截图所示当我们在118节点系统测试时发现个有趣现象加上N-1约束后光热电站的调度模式从跟风光走变成了看线路脸色。比如这段线路越限判断line_loading P_line ./ line_limit * 100; if max(line_loading) 85 % 触发安全约束调整 CSP_generate(t) CSP_generate(t) (max(line_loading)-85)*0.2; end这种动态调整策略让光热电站成了系统里的消防员哪里有过载风险就往哪调度。最后上点干货对比在同一个风电出力尖峰时段不含光热的系统弃风率高达18.7%而光热接入后压到6.3%。更骚的是光热机组通过储热把晚高峰的光伏出力挪到了夜间风电低谷时段用相当于自带了一个时间平移buff。代码里有个防坑指南必须提处理储热罐的爬坡约束时千万别直接用diff()函数会出时间对齐问题。正确姿势是for t 2:T Constraints [Constraints, -ramp_rate CSP_storage(t)-CSP_storage(t-1) ramp_rate]; end这种逐个时间步的处理虽然代码量多点但避免了很多诡异的越限bug。跑完仿真最大的感触是光热电站就像电力系统的瑞士军刀——风光出力大时它是充电宝线路吃紧时它是稳压器还要兼职做备用的搬运工。这种灵活性在N-k安全约束下尤其珍贵毕竟多一个灵活调节单元就少建一条备用线路的成本。