电力系统机组组合(IEEE14节点、IEEE30节点、IEEE118节点)(Matlab代码实现)

作品简介


1 概述

本文提出一种确定机组组合的降维半解析动态规划方法,可以与其他经济调度算法相结合,用以解决多种约束条件下的机组组合问题。该方法通过比较各时段负荷及机组参数,剔除各时段下不满足要求的组合状态,从而减少动态规划中的状态点数;根据机组的最小连续运行、停运时间限制,以及机组功率上升、下降速度的约束,剔除了状态点间的无效路径,从而减少了动态规划的路径个数,达到降维的目的;在确定机组启停状态后,再采用解析法进行机组的功率分配,可以大大提高动态规划方法的效率。

2 知识点学习

机组组合问题我们前面都总结过,这里给出学习链接:

电力系统机组组合(Matlab代码实现)

电力系统中机组组合强大的Yalmip+Cplex

基于改进的遗传算法的机组组合问题(Python实现)

电力系统中机组组合强大的Yalmip+Cplex(入门学习+机组组合问题Matlab实现)

3 运行结果

3.1 算例1——IEEE14节点

​编辑 

3.2 算例2——IEEE30节点

​编辑

 3.3 算例3——IEEE118节点

​编辑

4 Matlab代码及文章详细阅读 

​编辑

本文仅展现部分代码,全部代码及文章讲解见: 

​编辑

%发电机费用曲线 二次函数分段线性化
P_nl = sdpvar(n_gen, n_L, n_T);
% for i = 1: n_gen
for t = 1: n_T
    C = [C,
        gen_P(gen(:,GEN_BUS),t) == sum(P_nl(:,:,t), 2)+gen(:,GEN_PMIN).*u_state(gen(:,GEN_BUS),t)/baseMVA,
        ];
%         for l = 1: n_L
    C = [C,
        0 <= P_nl(:,:,t) <= (gen(:, GEN_PMAX)-gen(:, GEN_PMIN))/n_L/baseMVA*ones(1,n_L),
        ];
%         end
end
% end
%%
% 机组开机费用 Cjk
cost_up = sdpvar(n_gen, n_T);
C = [C, cost_up >= 0];
for k = 1: n_T
    for t = 1: k-1
         C = [C,
            cost_up(:,k) >= start_cost(:,t).*(u_state(gen(:,GEN_BUS),k) - sum(u_state(gen(:,GEN_BUS),[k-t: k-1]),2))
            ];       
    end
end
for i = 1: n_gen
    if (init_state(gen(i,GEN_BUS)) == 0)
        C = [C,
            cost_up(i,1) >= start_cost(i,init_down(i))*(u_state(gen(i,GEN_BUS),1)-init_down(i)*init_state(gen(i,GEN_BUS)))
            ];
    end
end

 

 

 

创作时间:2022-09-01 09:23:39