目录
1 主要内容
之前分享的《主动配电网故障恢复的重构与孤岛划分统一模型》代码中在故障恢复资源方面仅考虑了一项检修策略,即同一时间段最多可同时检修的线路条数,这也是在为时序性的故障重构做铺垫,如果不加该限制,同时把所有故障线路同时恢复,就体现不出模型的特点了。
以此为突破口找创新点的时候就可以根据现实情况增加资源限制,如人力数量限制、物资限制等,当然这只是一个简单的找创新点的示例,在实际故障过程,尤其是灾后重建过程,资源限制就是现实问题。
下面分析一下资源限制如何加到原有模型进行编程。
(原程序实现了检修策略约束和潮流约束,辐射状与连通性约束考虑孤岛划分情形,采用虚拟潮流约束来实现网络联通和辐射性约束,以下不再赘述,只分析如何增加资源限制内容)
和原程序一样,以IEEE33节点为例,故障6条线路,故障线路为:
F=[6 12 18 21 24 32];%故障线路集合
每条故障线路受人力和物资约束,物资包括三类核心物资,具体如下:
n_man=8;%可调配人力数量 n_m1=3;n_m2=4;n_m3=5;%每类物资数量 %每条故障线路检修需要三类核心物资数量分别是 material1=[2 1 3 3 2 2]; material2=[1 3 2 1 2 3]; material3=[3 2 1 1 3 2]; %每条故障线路检修需要的人工数量分别为 labor=[5 3 4 2 2 2];
把资源限制和33节点配电网关联需要定义故障线路检修状态变量:
Rep=binvar(6,N-1,'full');
增加资源类约束代码如下:
for i=1:6 for t=2:N Rep(i,t-1)=Zij(F(i),t)-Zij(F(i),t-1);%线路维修状态和线路状态关系 end end for t=2:N Constraints = [Constraints,material1*Rep(:,t-1)<=n_m1]; Constraints = [Constraints,material2*Rep(:,t-1)<=n_m2]; Constraints = [Constraints,material3*Rep(:,t-1)<=n_m3]; Constraints = [Constraints,labor*Rep(:,t-1)<=n_man]; end
2 程序结果对比
2.1 故障时间段不变
原程序故障时间段是4个小时,如果故障时段不变,到故障时段末期不能完全修复故障线路,仍然存在弃负荷情况。
最后一个故障段时刻电网状态:
2.2 调整故障时段
将故障时段由4个小时改成6个小时,能够看到,最终故障线路全部恢复,弃负荷为0。
故障恢复过程: