一二阶导数为常数。若采用一般算法,这些常数在每次迭代中都将被计算,占用了CPU大量时间。
为了提高计算效率,避免这些重复计算,采用了带有预处理子程序的AD工具来识别并记录不变元素在Jacobian和Hessian矩阵中的位置和相应约束的指数。并建立一个列表用来储存这些数值。在迭代中这个列表将被重复使用。
改进算法如同AD利用Jacobian和Hessian矩阵稀疏性一样,避免了常导数的重复计算。不变元素在矩阵中的位置和数值在迭代前被预先保存在一个列表中。在程序生成矩阵时,这些不变元素被提取并存进这些矩阵中。在迭代中AD用来计算剩余的变量。改进算法的流程如下: 步骤 1:为AD分配内存,生明活跃变量。
步骤 2:用ADC工具预生成矩阵,将不变元素的位置和数值存储在链表中。
步骤 3:迭代开始,应用前向模式计算相应矩阵中的可变元素,同时读取预生成中的链表,将不变元素和可变元素合并到同一个矩阵中,以此获得内点法中所需要的J acobian 矩阵和Hessian 矩阵。 步骤 4:计算线性系统(3)-(5),用预测校正器判断是否收敛,若收敛则结束迭代,否则跳转至步骤3。
步骤2 中生成的列表将被重复利用。该列表只需被ADC计算一次。完整的流程如Fig.4。
采用电流型潮流方程的OPF 问题中,J acobian 矩阵和Hessian 矩阵中不变元素的数量远超过功率型或混合型OPF 问题,本文提出的
改进算法在使用电流型潮流方程时会有较好的性能提升,因此,本文OPF 问题采用电流型潮流方程。
D.
处理新控制设备时AD的灵活性
在电力系统操作中,像SVC,TCSC,移相器等FACTS设备需要添加进系统来增强控制灵活性。此外,用户定义的模型也会被加入系统。在这种情况下,支持用户自定义模型是一种简单可行的方法来扩展最优潮流软件的灵活性和满足日益增加的用户需求。AD技术视用户定义模型为黑箱并根据IPM需要生产一阶和二阶导数。一般来说,用户定义的模型可分为以下三类:
1) 并联装置(例如的SVC,STATCOM)。这种类型的设备连接一条总线
2) 串联装置(例如,可控串补,直流输电,移相器)。这种类型连接两条总线。如Fig.5
3) 综合装置。
通常,在最优潮流问题中多采用电流或功率型的FACTS设备。在本文中我们采用电流型FACTS设备。如图Fig.6 假设FACTS设备的控制矢量为xf,则
????Iijk?Iij?ei,fi,ej,fj,xf??? (8) ??Iji?Iji?ei,fi,ej,fj,xf??k FACTS的约束条件如下:
?hf?ei,fi,ej,fj,xf??0?? (9) g?ge,f,e,f,x?g???fiijjffu?fl
例如,对于移相器,我们有
???Iijk?Iijx?jIijy?? (10) ?Ijik?Ijix+jIjiy??Iijx?Gffei?Gftej?Bfffi?Bftfj?I?Gf?Gf?Be?Be?ijyffiftjffiftj其中,?I?Ge?Ge?Bf?Bf
tfittjtfittj?jix??Ijiy?Gtffi?Gttfj?Btfei?Bttej对于移相器,式(9)的等式约束条件可被描述如下:
2?Gff?tijgij?2?Bff?tijbij?Gtt?gij??Btt?bij??Gft??tij?gijcos?ij?bijsin?ij? ??Bft??tij?gijsin?ij?bijcos?ij???Gtf??tij?gijcos?ij?bijsin?ij????Btf?tij?gijsin?ij?bijcos?ij? (11)
不等式约束条件可表述如下:
?tijmin?tij?tijmax ??????ijijmax?ijmin (12)
一旦有新的设备加入系统,我们可以通过下列等式修改Jacobian和Hessian矩阵的约束条件。
ns??Jf?Jf???Jfkk?1?ns??Jh?Jh???Jhkk?1?ns??Jg?Jg???Jgk?k?1 ?ns?H?H??H?ffk?fk?1?ns??Hh?Hh???Hhkk?1?ns??Hg?Hg???Hgkk?1? (13)
?Jf,?Jh,?Jg,?Hf,?Hh,?Hg为稀疏矩阵,这里ns为新控制装置的编号,
hkkkkk只和第k个新装置有关,用来表示其对于Jacobian和Hessian矩阵
的拉格朗日函数Lg的影响。在基于AD技术的OPF算法中,
?Jfh,?Jhk,?Jgk,?Hfk,?Hhk,?Hgk用ADC来计算。因为这些矩阵非常稀疏,
所以用AD工具的计算效率很高。
总之,在基于AD算法的OPF程序中添加一个用户自定义模型时有如下程序。
步骤 1:从特定的输入文件或GUI中读取目标函数和约束条件。 步骤 2:修改原始的潮流等式和约束条件。
步骤 3:用AD工具计算增加的?Jf,?Jh,?Jg,?Hf,?Hh,?Hg矩阵,和
hkkkkk原始矩阵合并成新的矩阵。
比较AD工具 和手动编程在处理OPF用户定义模型时的不同,如
Fig.7
4 分析
在此,我们列举了几个比较基于AD技术和手动编程处理OPF问题的测试结果。测试算例数据见表1.所有的测试均在一台配有Intel Pentium-M 1.73 GHz CPU和2 GB RAM 的PC机上进行的。程序采用