数据预估法及其在变压器优化程序中的应用研究
2015-12-02王君杜江
王 君 杜 江
河北工业大学电磁场与电器可靠性省部共建重点实验室 天津 300130
0 引言
变压器的电磁计算即计算单的生成是变压器制造的第一步也是关键的一步。生成计算单的时间决定着变压器的生产周期,报价快速性,计算单的质量决定着变压器的生产成本。人工生成计算单包含了设计人员累积的经验但周期长,计算机语言出现后通过编写程序完成电磁计算生成一个合格的计算单只用几秒钟,但为了得到更加节省材料的高质量计算单人们开始采用各种方法如遗传算法、粒子群算法、循环遍历法等对计算过程进行优化,随之计算量大大增加,计算时间也在加长,从几十分钟到几个小时不等,为了提高变压器优化设计程序的运行效率,人们已经在变量的限制条件方面做了大量的研究,例如文献[1]中所介绍的,根据经验增加变量限制条件,及时排除不必要的方案,以减少循环次数来降低运行时间。这在很大程度上提高了优化软件的运行效率,但需要运行的方案仍然有几千个甚至几万个,运行时间仍然不短。因此有必要对进一步提高程序运行效率缩短运行时间做相应的研究。
1 数据库查询对程序循环效率的影响及对策
变压器的设计工作经历了上百年的历史,一些参数和设计变量的取值被总结成了数据表。这些数据表在计算机程序设计时被存储于数据库的表中,通过程序语言调用、查询。例如系列变压器铁心直径的取值范围,以及某个铁心直径取值对应的各级片宽、叠厚、截面积;再如线规表、硅钢片性能参数表、绕组散热参数表等等。每个表中的数据至少近千个甚至达到几万个,且程序运行过程中查询数据库表时一般采用顺序搜索法或对分法来查询,相当于遍历整个表中的数据。
另外,无论采用哪种方法对变压器电磁计算优化,其大致可概括为选择计算机语言编写的优化循环程序,就是以达到目标函数为目的,在满足约束条件的前提下不断迭代循环变量。所以在变压器优化程序中包含大量的嵌套循环。以循环遍历法为例,铁心直径一般作为第1个循环变量,确定1个铁心直径后可对应若干铁心磁密,1个铁心磁密值又可对应若干低压导线规格,1个低压导线规格确定后又可对应确定若干高压导线规格。上述迭代过程意味着所有存储于数据库的表都需要反复查询。
以上两个方面使得变压器优化程序运行过程中需要搜寻大量的重复数据,因而计算机进行了大量的运算工作。分析表明查询数据库数据所用时间占据了不小份额,成为了程序运算中降低速度的主要原因。
基于数据库查询耗时的问题,本文提出了数据预估法,从而提高变压器优化设计软件的运行效率。数据预估法简单来说就是在变压器优化程序还没有进入循环迭代之前,利用本次优化设计的基本参数采用估算的方法将数据库表中本次优化即将涉及到的查询数据进行提前截取并另存到一个新表中,通过程序控制该新表中的数据参与变压器优化程序的循环迭代。
图1为数据预估法的流程图,具体实施方法如下:
1)将手工计算时需要查询的某数据表中的全部数据输入到数据库文件的表1中;例如变压器铁心,在数据库文件“变压器数据.mdb”中建立“铁心表1”,列字段有22个,分别对应1个铁心直径、10个片宽、10个叠厚、1个截面积;
2)在同一数据库文件中,新建与表1列字段名完全相同的空表2;建立“铁心表2”,其字段名与“铁心表1”相同;
3)在变压器优化程序中建立与表1中n个字段名相对应的n个数组;建立22个数组,22个数组与“铁心表1”中的22个列字段对应;
4)根据已知条件分析预估查询表1所用变量的取值范围,由变量取值范围将表1中的相关数据写入3)中设立的数组中;例如铁心直径有5个可能取值,则将这5个铁心直径的具体数据和相关的片宽、叠厚、截面积数据写入3)中建立的22个数组中;
5)用程序语言清空表2中数据,防止出错。然后将数组中的数据写入表2中对应的字段名下;将4)中22个数组中的数据对应写入“铁心表2”;
6)以上过程将封装在一个函数中,在程序循环优化之前调用该函数,完成数据截取任务,在后续程序运算中调用表2中的数据。
图1 数据预估法流程图
从上述分析可见,数据预估法既能确保本次优化所需要查询数据的完整性,又大大减少了搜寻的数据量,有效的缩短了搜寻时间。在一次循环中,应用数据预估法的提速效果并不明显,但是对于循环迭代的变压器优化设计程序来说,每一次的优化过程都需要进行几万到几十万次的循环,假如一次循环能够在数据库查询环节减少几十到几百个毫秒的运行时间,那么一万次就可以减少了几十分钟,优化程序运行时间会明显缩短。
2 数据预估法在变压器循环遍历优化程序中的应用及效果分析
将数据预估法应用于树脂浇注干式配电变压器循环遍历优化程序中,该程序采用VC++开发语言和Access 2003数据库编写,图2为该优化程序的流程图。由图2可知该程序包含4重循环,分别是铁心直径循环、低压线圈匝数循环、低压线规循环、高压线规循环。在Access数据库中建立文件“变压器数据.mdb”,在“变压器数据.mdb”中建立铁心直径表1、线规表1、硅钢片性能参数表1、绕组散热参数表1。在“变压器数据.mdb”中建立铁心直径表2、线规表2、硅钢片性能参数表2、绕组散热参数表2。
铁心直径由公式(1)确定,再根据输入的直径步进上下限个数确定直径的循环范围。如图3所示程序提供了2毫米步进和4毫米步进两种方案。根据铁心直径具体循环范围查询在 “变压器数据.mdb”中的铁心直径表1,采用数据预估法将表1中的相关数据移入到铁心直径表2中。
图2 变压器循环遍历优化流程图
式中,D—铁心直径,mm;KD—经验系数;SN—额定容量,kVA。
根据变压器额定相电流以及输入的绕组电密范围由公式(2)来确定导线面积范围,根据导线面积范围查询“变压器数据.mdb”中的线规表1,采用数据预估法将表1中的相关数据移入到线规表2中。
式中,S—导线截面积,mm2;Ip—相电流,A;CJ—电流密度,A/mm2;Die—导线叠数;Bing—导线并数。
硅钢片性能参数表包括硅钢片牌号、铁心磁密、单位公斤损耗、单位公斤激磁功率这四方面数据,用于方案的空载损耗和空载电流的计算。铁心磁密不作为循环变量,程序中输入铁心磁密上限和下限,是用来根据上下限计算低压绕组的匝数取值范围,低压绕组的匝数作为循环变量参与迭代计算。于是利用输入的磁密上下限提前截取“变压器数据.mdb”中的硅钢片性能参数表1,采用数据预估法将表1中的相关数据移入到硅钢片性能参数表2中。另外,空载损耗和空载电流是设计方案是否可行的判据,其计算在最内侧循环,所以该表的反复查询率最高。
图3 实验结果
绕组散热参数表是根据线圈轴向高度、气道宽度来查询线圈表面热传导系数的数据表。绕组散热参数表与硅钢片性能参数表具有相似的特点,绕组温升也是设计方案的最终判断条件之一,在多层循环的最内层,查询次数最多,加之表中的数据量又是其他数据表的几倍,所以查询耗时最多。根据变压器计算过程,未进行循环计算之前电抗高度未知,可以采用公式(3)来估算电抗高度,然后根据输入的电抗上下裕度值来确定电抗高度范围,气道宽度是输入值,根据上述两个取值查询 “变压器数据.mdb”中的绕组散热参数表1,采用数据预估法将表1中的相关数据移入到绕组散热参数表2中。
表1 实验数据对比
式中,Hx—电抗高度估算值,mm;Ip—额定相电流,A;WN—额定分接匝数;D—铁心直径,mm;Kt—经验系数;et—匝电压,V;Uk—阻抗电压设计值;G—主空道宽度,mm。
将上述方法、过程用VC++语言编写为程序封装在一个函数中在优化循环之前进行调用即可。
为了验证上述方法的正确性和有效性,选用同一台电脑,相同的Windows系统及相同的工作环境。以1000kVA、10/0.4kV干式树脂浇注配电变压器为例,分别实验在输入相同的铁心直径范围、磁通密度范围、电流密度范围和电抗预估值范围的情况下直接调用原始数据库即调用数据库表1和应用数据预估法即调用数据库表2所用的时间。图3(a)所示为直接调用原始数据库的结果,用时2小时19分钟34秒;图3(b)所示为应用数据预估法的结果,用时1小时59分钟1秒,可知共计省时20分钟33秒。为了进一步验证数据库预估法使优化软件高效运行的效果,采用缩小或扩大输入变量、参数范围的方式,反复试验,整理得出如表1所示的对比实验数据。
由对比实验数据表1可以看出,在变量取值范围相同的情况下,数据预估法应用前后变压器优化程序的运行时间都有明显差别;随着变量取值范围的相对增大,采用数据预估法后变压器优化程序的运行时间减少的越明显。另外,本程序只针对了该类变压器所应用的较大的四个数据库进行截取,对于不同系列的变压器若截取的数据库越多,节省的时间就会越多。
3 结束语
本文针对变压器优化程序运行时间长的问题提出了数据预估的方法,并在循环遍历法变压器优化程序设计中加以应用,实验结果表明该方法可以有效节约程序运行时间,具有很高的实用价值。
[1]刘强,周佳,刘赫男.提高大型电力变压器优化设计软件运行效率的方法研究[J].变压器,2013,(11):35-39.
[2]潘再平,张震,潘晓弘.基于QPSO算法的电力变压器优化设计[J].电工技术学报,2013,(11):42-47.
[3]姜宏伟.高效节能配电变压器优化计算程序[J].变压器,2010,(3):22-26.
[4]李兆兆.循环遍数法上下界确定的一个方法[J].变压器,1994,(7):13-15.
[5]李湘生,陈乔夫.变压器的理论计算与优化设计[M].武汉:华中理工大学出版社,1990.
[6]潘再平,张震,潘晓弘.基于QPSO算法的电力变压器优化设计[J].电工技术学报,2013,(11):42-47.
[7]金明.基于改进鲍威尔法的电力变压器优化设计[J].变压器,1999,36(10):12-14.
[8]樊叔维,汪洁,鱼振民,汪国梁.遗传算法在电力变压器和电机全局优化设计中的应用研究[J].西安交通大学学报,1996,30(6):15-21.