类扩展及其应用
InterPSS采用Java和面向对象技术建模,允许用户通过继承、复合等方法实现模型扩展。在本章中,我们将以DC-OPF的开发进行展示。直流最优潮流功能的开发扩展了InterPSS现有的系统模型,通过开发程序接口有效整合了开源二次规划问题求解工具QuadProgJ,最终在InterPSS软件平台上实现。扩展内容主要包括三部分:1)扩展原有潮流计算的发电机节点模型和网络模型;2)将DC-OPF问题转换为严格凸二次规划(SCQP)问题;3)编写程序接口,开源SCQP求解器QuadProgJ作为外部插件引用并实现问题求解。
4.1模型扩展
图4-1展示了基于潮流模型的节点和网络模型扩展(灰色背景为InterPSS原有模型类,蓝色背景为引入的外部插件类,其余为扩展模型类)。用于OPF分析的节点类OpfBus由原来的潮流计算节点类AclfBus扩展而来,具有节点边际价格(LMP)信息;而OpfGenBus继承了OpfBus,并增加了OPF分析中的发电机经济运行属性(由于显示原因,并非所有扩展属性都在图中描述或显示)。支路类OpfBranch是基于潮流计算支路类AclfBranch扩展。新的网络类OpfNetwork继承了潮流计算网络类AclfNetwork,具有总发电成本等优化目标属性。
图4.1. 直流最优潮流模块的主要类及其关系
OpfGenBus基于AclfBus的扩展实例如下:
OpfGenBus
public interface OpfGenBus extends AclfBus {
public void setCoeffA(double coefficientA);
public double getCoeffA();
public void setCoeffB(double coefficientB);
public double getCoeffB();
public void setCapLowerLimit(double capLowerLimit);
public double getCapLowerLimit();
public void setCapUpperLimit(double capUpperLimit);
public double getCapUpperLimit();
public void setFixCost(double newFixCost);
public double getFixCost();
public void setAclfBus(AclfBus aclfBus);
public AclfBus getAclfBus();
}
4.2 DCOPF求解模型——二次规划问题
本文采用文献[1]中的扩展直流最优潮流的模型。该模型引入电压相角偏差量罚因子,目标函数中增加了线路两端功角差平方和,如式(1)
(1)
式中各变量具体意义见文[1]。此环节定义了EqIneqMatrixBuilder类,主要用于形成模型中相关参数矩阵。
EqIneqMatrixBuilder Code
public class EqIneqMatrixBuilder {
private OpfNetwork opfNet = null;
//省略构造器及其他一些方法,下面是形成节点功率平衡约束相关的Beq向量。
public ArrayRealVector formBeq() {
ArrayRealVector beq =
new ArrayRealVector(opfNet.getNoActiveBus());
for (Bus b : opfNet.getBusList()) {
OpfBus acbus = (OpfBus) b;
int busIndex = acbus.getSortNumber();
if (acbus.isLoad()) {
beq.setEntry(busIndex, acbus.getLoadP());
}
}
return beq;
}
}
4.3编写程序接口
该环节通过QuadProgDCOPFSolverImpl类实现了接口DCOPFSolver,调用QuadProgJ实现问题求解和回存优化结果到OpfNetowork模型中。该实现模式可适应未来扩展,其他SCQP问题的求解工具或方法只要实现DCOPFSolver接口,即可插入本程序实现功能扩展。
4.4算例
采用改进的IEEE30节点系统[Data: IEEE30ODM.XML],电压相角偏差量罚因子Pi取值0.05,计算结果见表1。
表1. IEEE 30节点系统直流最优潮流结果统计表
源代码:
http://code.google.com/p/interpss/source/browse/#svn%2Ftrunk%2Fipss.opf
测试例子
http://code.google.com/p/interpss/source/browse/#svn%2Ftrunk%2Fipss.opf.test
Reference
[1] Sun J,Tesfatsion L.DC optimal power flow formulation and solution using quadprogj[J/OL].http://www.econ.iastate.edu/tesfatsi/DC-OPF. JSLT.pdf,2007