高红丽,魏 霞,叶家豪,苏元鹏
(1.新疆大学电气工程学院,新疆 乌鲁木齐 830047;2.国网乌鲁木齐供电公司,新疆 乌鲁木齐 830000)
风能作为一种清洁能源,近几年在我国的得到迅速的发展,连续四年位居世界第一,预计在2020年,我国的风电装机容量达到1.283亿千瓦以上[1]。在大力发展风电的过程中,大多为集中式,大规模的开发,再加上风电随机性、间歇性和间歇性的特点。并网后对电力系统的功率平衡带来了很大的挑战。风电功率预测(wind power prediction WPP)可以提前知道风电出力的情况,合理的安排调度及电网能够消纳风电的能力,减少风电的不稳性对电力系统造成的冲击。
目前,鉴于风电场的功率,国内外已经开展多年,并形成了日趋成熟完整的预测策略。如文献[2]首先研究了KNN算法,并在基础上提出了基于邻域密度的邻域KNN算法,将其应用于风电功率的短期预测;文献[3]将人工鱼群算法用于优化支持向量机的参数,并将该算法用于风电场的短期功率预测中;文献[4、5]分别用了统计预测方法统计与物理的方法。文献[6]将改进的遗传算法与支持向量机结合起来,预测风电未来24小时风电出力的情况。文献[7]用自适应混沌粒子群法优化小波链神经网络,可以减少隐含层神经元数目与迭代步数,可以改进预测精度。虽然这些方法各具优势,但在预测精度方面依然有待改进。
文章在对风电出力的进行预测时,采用BP神经网络作为预测方法,把带精英策略的快速非支配排序遗传算法(NSGA-II)应用到风电功率预测中,将NSGA-II算法和BP神经网络结合起来(NSGA-II&BP);然后基于历史数据,利用NSGA-II算法得到最优的风力发电机组的组合后,用BP神经网络进行预测,以期望得到精度更高的预测模型。
非支配排序遗传算法通常用于多目标优化的领域,该算法的计算效率高,且鲁棒性好,最终得到的pareto解集分布均匀。将其和BP神经网络预测模型结合起来,能够大大的降低风电功率预测的难度。
带精英策略的快速非支配排序遗传算法(Nondominated Sorting Genetic Algorithm II, NSGA-II)是印度科学家Deb等人在2002对NSGA进行改进而提出的,在应用该算法进行优化的过程中,基于个体间的支配关系,进行非列排序。在某一代的迭代中,如果个体的序值越小,在该值就越接近于最优解。NSGA-II算法在判断所取得解的分布好坏时引入了拥挤度的概念,用来衡量解与解之间的距离。在序值相同的解当中,如果拥挤度越大,说明该解的分布越“稠密”,这样解在选择过程将被丢弃,留下拥挤度较小的解。再者,该算法引进了精英策略,将每代进化后得到的种群N与父代的种群N合并在一起,形成了规模为2N的种群,然后对该种群中的个体进行非支配排序和拥挤度计算。这样保证了迭代过程中上一代中优良个体保存下来。具体的算法流程图如图1所示。
图1 NSGA-II算法流程
由于风电出力的波动性会直接影响到风电功率预测的精确度,当风电出力波动性越不稳定时,就会出现功率的幅值在较大的范围内上下波动,进一步加大了风电功率预测的难度[8]。鉴于此,文章基于该风电场出力的历史数据,将风电场中不同的风力发电机组组合在一起,使得组合后的风电的出力的波形性最小。其具体模型如下所示:
决策变量X1、X2、X3分别表示风力发电机组出力的序列值,文章在建立模型时,将某一段时间风电出力的序列值写入一矩阵;在每次优化前,将风电出力的序列值随机排序。然后选取该矩阵中的1:到X1行为风电出力的波动量为第一个目标函数F1;X1+1行到X2行为第二个目标函数F2;X2+1行到X3行为第三个目标函数;X3+1到最后一行为第四个目标函数。该优化模型的目标函数依次为
(1)
(2)
(3)
(4)
式中,Pcap为风力发电机组的额定容量;n与l分别为在某段时间内,某些风力发电机组的出力序列的个数。
该优化模型的约束条件为
1 (5) n1+l1+n2+l2+n3+l3+n4+l4=C (6) 式中,C为风电出力的序列值的总数。 对于BP神经网络,由于其无需事前写入描述客观事物的数学方程的情况下能实现从输入到输出的映射关系的特点,所以BP神经网络在很多方面都得到了广泛的应用,典型的例子就是利用BP神经网络建立超短期风力发电系统的输出功率模型,由于BP神经网络是有指导训练的前馈多层网络,其训练算法为BP算法,而BP学习算法实质上是采用梯度搜索法,来调整系统参数,已达到全局最优。 表1 pareto最优解集 文章利用上节提到的NSGA-II算法的到最优组合,在该组合的基础上,选用BP神经网络算法进行风力发电机组的功率预测,其预测步骤如下所示: (1) 基于NSGA-II算法,将风电场的风力发电机组分成四类,该分法包括n种方案,即得到pareto最优解集。 (2)将该解集中的每一种方案历史的数据输入到 BP神经网络中,进行归一化处理,并进行网络学习训练,得到最终的预测模型。 (3)利用该预测模型,得到pareto最优解集中每一种方案的预测值。 (4)对这些方案的预测值和真实值比较,进行误差对比分析,误差最小的就是风力发电机组的最优组合模型。 由于风电出力具有随机性、间歇性、波动性的特点,使得风电出力的预测的准确性降低,势必会产生预测误差。风力发电的绝对误差Δi为真实值与预测值差值的绝对值,直观的表示了预测值偏离实际值的大小。 (7) 为了更加可靠地检验预测结果的好坏程度,评估在某个时段预测误差的大小。文章分别引入了相对误差Δ、绝对平均误差MAE、均方根误差RMSE及预测总误差Δz,表达方式如下式所示: 相对误差为预测误差与其真实值的百分比 (8) 绝对平均误差 (9) 均方根误差 (10) 预测总误差 (11) 式中,n为预测时间段内时间序列的个数。 为验证该所提算法的有效性和合理性,在MATLAB的平台上编程实现。文章采用某地区的一个风电场,该风电场总共有23台风力发电机组,选取15 d的数据,每隔15 min采一个点,将这些数据利用NSGA-II进行优化分析,然后将前14 d的数据作为训练BP神经网络训练数据,第15 d的数据作为预测数据。在用NSGA-II算法进行优化时,种群规模的大小为300,进化代数为50代,变异概率为0.2,交叉概率为0.8;在用BP神经网络进行训练并预测时,选取最大训练次数为50 000次,训练时所要达到的精度为10-5,学习速率为0.02,隐含层第一层和第二层节点的个分别为20个与40个。 以风电出力的波动量最小为目标函数,以风力发电机组的最优组合为决策变量。通过NSGA-II算法进行优化计算,选取一组pareto最优解集,得到的结果如表1所示。该解集中,共有7种组合方案。从表1可以看出,每一种方案的各个目标函数的之间的变化趋势总是呈现负相关性,即在pareto最优解集中,一个目标函数的取到较小值,其他目标函数取到的值必然会相对较大。 将每一种方案中的4个组合分别预测,然后将预测结果相加,就是该风电场的预测值,7种方案的预测结果及相对误差如图2~4所示。 图2 不同预测方案的预测曲线分布 图3 不同预测方案的预测曲线局部分布 图4 不同方案预测的相对误差分布程 从预测结果的图形可以看出,基于NSGA-II算法对该风电场中风力发电机组进行最优组合,使得组合后风电出力的波动量最小,然后预测,其预测误差小于直接用BP预测的误差。为了对比引进NSGA-II算法后预测精度与其它经典预测算法误差的大小,文章采用了常用的小波和粒子群优化的BP神经网络(PSOBP)两种预测方法,预测该风电场第15天的出力大小,并与文章提出的NSGA-II优化BP后的算法进行对比分析,其结果如图5~8所示。 图5 不同方法预测的绝对平均误差分布 图6 不同方法的均方根误差分布 图7 不同预测方法的总误差分布程 图8 几种经典的预测方法与NSGA-II&BP算法预测的对比 从图6~8可以得出,文章所提的NSGA-II&BP算法的每一种组合方案预测结果的绝对平均误差、均方根误差及预测总误差均小于BP神经网络、小波预测和粒子群优化的BP神经网络的预测误差,并且方案6的3种误差在所有的预测方法中达到了最小值,因此该方案为最优的组合方案。图8是将方案6与BP、小波、PSOBP的预测结果进行对比,可以看出,方案6更加贴近于真实值。 在进行风电功率的预测中,文章将带精英策略的快速非支配排序遗传算法(NSGA-II)引入,基于历 史数据的出力规律,以风电的波动量最小为目标函数,从而求出风电场中风力发电机组的最优组合的pareto解集,通过误差对比分析,得到最终的组合方案,该方案的预测误差最小。通过该方法,为进一步提高风电场功率预测精度提供理论依据和数据支撑。1.3 BP神经网络的预测模型
1.4 风电出力的误差表示模型
2 算例分析
3 结 语