1、优化大作业实时电价的计算丁波 张焱 师敬涛我们所做的实时电价前进路途中的探索原对偶内点法、预测校正内点法的选用程序流程程序中的问题结果与分析我们的不足之处致谢Contents我们所做的实时电价 实时电价是电力市场发展的需要,应用实时电价可以使系统时刻处在最优的运行状态之下,将系统运行的状态实时反映在电价之上,从而指导用户优化用电。 实时电价由MIT的Schweppe.F.C教授于1980年提出,它是使社会效益达到最大的一种定价方式。 20多年来,研究者确定了基于OPF计算实时电价的方法。其中有功的实时电价计算已经趋于成熟。我们所做的实时电价 无功的实时电价计算则比较复杂,在本设计中不予考虑。
2、同时,在本设计中只考虑了有功发电边际成本。其发电的成本函数由matpower的case30数据文件给出。前进路途中的探索 不得不承认本设计的选题是较难的,在概念和方法上我们都比较生疏,为此我们一路探索而来。前进路途中的探索STEP 1 研究研究matpowermatpower程序程序 由于matpower能够基于最优潮流直接算出有功边际电价的值,在了解了问题的数学模型之后,我们首先研究了matpower程序。 实时电价是最优潮流的衍生物。我们发现matpower计算最优潮流是基于外部程序的,即fmincon方法的优化工具箱,MINOS方法的fortran编译程序,PDIPM/SCPDIPM/T
3、RALM方法的C编译程序。 由于这些程序都是已经编译好的,不能够查看其算法的代码,matpower只相当于做了一个接口,对matpower的研究也告一段落。前进路途中的探索STEP 2 其他算法的考虑其他算法的考虑 编程实现30节点的内点法程序很庞大复杂,matpower之后我们一直在想能否有办法通过其他算法实现实时电价。 最终我们抛弃了用智能算法的想法,是基于以下的考虑: 1.智能算法是随机概率收敛的算法,应用在电力系统中不合适。并且其不一定找见最优解,每次算出的结果在实时电价上会有较大的偏差。 2.智能算法在求拉格朗日乘子上不占优势。一若只将目标函数用智能算法求出最优解,不能够算出拉格朗日
4、乘子;二若将拉格朗日函数用智能算法求解,对这一问题甚至比用传统方法更复杂。前进路途中的探索STEP 3 STEP 3 确定算法,形成矩阵确定算法,形成矩阵 由以上对算法的讨论我们已经确定,求解本问题只能走传统算法的路。 我们取发电机有无功、节点电压相角作为变量,则一共有72个变量。 在传统算法中要求等式约束的雅可比及黑塞矩阵,由于一个一个输入太麻烦,我们尝试用了符号工具箱。 由于两个原因我们放弃了符号工具箱:1.符号工具箱算出的雅可比矩阵只能以行来显示,并且不能对矩阵元素求黑塞矩阵;2.符号工具箱的求解速度太慢。前进路途中的探索STEP 4 STEP 4 矩阵病态的问题矩阵病态的问题 由于符号
5、工具箱以上的问题,我们只能选择手输矩阵元素。其中雅可比矩阵是7272维,黑塞矩阵是727260维。 这么大的矩阵参与迭代,说实话,我们很难控制。并且程序刚编制完成就出现了矩阵病态的问题。 针对这个问题,我们与另一小组讨论,参考了他们将潮流计算提取出来,使控制变量减少到12个的方法,意在提高我们对问题的操控能力。 可实际中发现若将潮流计算提取出来,程序的运行时间将有很大延长,不能满足实时电价计算的要求。前进路途中的探索STEP 5 STEP 5 改错改错 面对如此棘手的问题,我们现在只能按部就班的编程,在我们的程序中寻找错误,寻找能够解决矩阵病态问题的方法。 将求解delX的矩阵拆解之后,我们才
6、解决了此矩阵病态的问题。原对偶内点法、预测校正内点法的选用 原对偶内点法 是求解最优潮流问题的新一代算法,它的本质是拉格朗日函数、牛顿法和对数障碍函数三者的结合,从内点出发,沿可行方向求出使目标函数值下降的后继内点,再从得到的内点出发,沿可行方向迭代求出使目标函数值下降的内点,重复搜索,得出一个由内点组成的序列,使得目标函数值严格单调下降,求出最优值。 原对偶内点法、预测校正内点法的选用 关键关键 原对偶内点法的关键是障碍因子的确定。 对障碍因子有如下要求:初始时选取一充分大的值,而后在迭代过程中以某种策略使其逐渐减小,当收敛于最优解时,障碍因子趋近于零。 选取有很多方法,一般根据互补间隙RO
7、U和中心参数来确定。原对偶内点法、预测校正内点法的选用 互补间隙互补间隙ROU的作用的作用 互补间隙ROU是一个很重要的参数,决定了解的性质,当互补间隙趋于零的时候,就是解趋于最优的时候,因此互补间隙的值是判断最优解的条件之一。 SIGMA为中心参数,SIGMA=0时原变量和对偶增量决定的方向称为仿射方向,主要作用是改进解的最优性,收敛速度一般较快,但数值稳定较差,容易引起振荡,使算法的收敛速度减慢,甚至振荡发散。所以SIGMA的选取值一般大于0 。 原对偶内点法、预测校正内点法的选用 预测校正环节的引入预测校正环节的引入 基于中心参数的作用,我们在原算法的过程中加入了预测校正环节,其原理如下
8、:在每次求解修正方程时,对中心参数进行预测清零,追随最优方向求解一次修正方程,然后将得出的仿射结果代入原方程进行校正,再求解一次修正方程,整个计算就在对中心参数的不断预测一校正中进行。 这样做,虽有可能增加每一次迭代的时间,但整个寻优过程的速度却大大增加了,使程序更快的趋于收敛。预测一校正原对偶内点法的主要思想就是动态预测中心参数的取值,以较好的协调考虑解的最优性及可行性之间的关系,改善算法的收敛性能。程序流程以下我们给出了预测一校正原对偶内点法算法流程以下我们给出了预测一校正原对偶内点法算法流程Step1: 初始化,设初值Step2: 计算补偿间隙ROU和障碍参数,判断是否己收敛,若收敛则结
9、束Step3: 求解仿射方程,求取步长因子STEP,互补间隙ROU,计算出中心参数SIGMA和障碍因子MUafStep4: 求解校正后的迭代方向,计算步长因子STEP,更新原变量和对偶变量,得到新的补偿间隙ROUStep5: 判断ROU是否小于计算精度,如果是则结束计算Step6: 判断迭代次数是否超界,不超界则转第3步,否则算法不收敛程序中的问题解决问题的关键在于程序,在此我们将讨论我们在程序中遇见的问题。程序中的问题1. 矩阵病态问题的解决矩阵病态问题的解决在求解K-T条件的方程式时,我们得到了这样一个方程:在求解这个方程式时出现了病态的情况,我们将左边的矩阵进行了拆解,先用矩阵的第二行算
10、出 ,随后再用第一行算出拉格朗日乘子 ,解决了病态问题。 00)()(yTLyxxgxgHxy程序中的问题2. 形成矩阵的问题形成矩阵的问题 为了使代码简洁,同时使矩阵易读,我们将发电机节点调成了1-6号节点,这样在等式和不等式的雅可比黑塞矩阵中就能够容易的进行分块输入。 将目标函数f,等式约束h,不等式约束g对X=Pg,Qg,V,Vth的72个变量求J、H阵,其中Jf、Hf、Jg、Hg易得,Jh和Hh则要逐个输入得到。程序中的问题3. 有关初值、收敛判据、平衡节点的处理有关初值、收敛判据、平衡节点的处理 在编程中我们进行了实验,得出内点法对初值的要求近乎苛刻 经多次尝试,我们最终选取的初值为
11、: X=Pg,Qg,V,Vth选取case30运行一次基本潮流之后的值,初始的等式约束拉格朗日乘子取0.001,松弛变量取初始值减上下限,不等式约束的拉格朗日乘子取0.8/松弛变量,中心参数取为0.05 在原对偶内点法中,取收敛判据为松弛变量与对应拉格朗日乘子的乘积之和 平衡节点是不参与电压约束的,我们置其拉格朗日乘子及增量均为0程序中的问题4.有关仿射障碍因子对算法校正阶段的影响。有关仿射障碍因子对算法校正阶段的影响。 在预测仿射阶段会产生一个仿射障碍因子,这对算法而言无疑是一个很重要的量,所有文献均提出了此量。 但其本身如何对校正阶段产生影响,各篇文献均无描述,与此同时我们的预测校正算法也
12、与我们的预期产生了偏差。我们初步怀疑是仿射障碍因子未被采用的缘故,接下来在尝试多次之后,终于发现了仿射障碍因子对迭代不平衡量的两个重要初值有着间接的影响,当我们把影响考虑在内之后,预测校正算法终于达到了另我们满意的结果,我们由此扫清了前进途中的最后一道障碍。结果与分析1. 我们的结果我们的结果我们做出来的目标函数的值是593.92 $/hr,而matpower得到的值为576.89 $/hr得到了各节点的有功发电边际成本结果与分析2. 向心参数向心参数SIGMA的影响的影响SIGMASIGMA取值取值迭代次数迭代次数ik ik迭代时间迭代时间t(st(s) )最大等式约束误差最大等式约束误差m
13、ax(LLam0)max(LLam0)0.020.02不收敛不收敛- - -0.050.055 50.220.229.9087e-0159.9087e-0150.100.107 70.270.274.7184e-0154.7184e-0150.150.159 90.330.337.8548e-0157.8548e-0150.300.3014140.500.501.2046e-0141.2046e-0140.500.5025250.880.888.0769e-0158.0769e-0150.700.7047471.591.591.5044e-0141.5044e-0141 1不收敛不收敛- -
14、-结果与分析结果与分析SIGMASIGMA取值取值未加预测校正未加预测校正加入预测校正加入预测校正迭代次数迭代次数ik ik迭代时间迭代时间t(st(s) )迭代次数迭代次数ik ik迭代时间迭代时间t(st(s) )0.0010.001不收敛不收敛- -不收敛不收敛- -0.0050.005不收敛不收敛- -4 40.210.210.100.108 80.270.273 30.170.170.150.1510100.330.333 30.170.170.50.526260.880.883 30.160.161 1不收敛不收敛- -3 30.170.175050不收敛不收敛- -2 20.140.1450005000不收敛不收敛- -2 20.140.143.3.添加预测校正环节的影响添加预测校正环节的影响结果与分析我们的不足之处1.只计算了有功边际发电成本2.程序中还有不完善的地方,也可能还有某些错误3.采用的方法单一4.对概念、原理的掌握还较浅5.实时电价很难进入实际应用谢谢!