风电场运行状况分析及优化摘要随着现代化建设的推进,社会对电力的需求愈发庞大。
本文着力研究了风电场运行状况的分析和优化问题。
首先,利用已知风电场发电数据对不同风机全年的经济效益的经济效益进行了估计,其次根据两种风机的不同规格制定维修人员的排班方案与风机维护计划,使各组维修人员的工作任务相对均衡,且风电场具有较好的经济效益。
对于问题一,本文先运用曲线拟合的方法,对不同风机风速与输出功率之间的关系进行了近似,后尝试了运用分段线性插值与三次样条插值的方法对观测数据构造函数进行了近似。
但通过图像,可以看出分段线性插值的光滑性较差,不能很好地表示风速与功率的变化情况,因此选择三次样条插值的方法,计算出各风机型号全年功率总和。
对于问题二,本文运用0-1型整数规划,在排班方案中,维修人员工作班次的方差为衡量合理性的标准,求出工作任务相对均衡,具有较好的经济效益的排班方案。
关键词:曲线拟合;三次样条插值;Matlab;0-1型整数规划风能是一种最具活力的可再生能源,风力发电是风能最主要的应用形式。
我国某风电场已先后进行了一、二期建设,现有风机124台,总装机容量约20万千瓦。
为安全生产需要,风机每年需进行两次停机维护,两次维护之间的连续工作时间不超过270天,每次维护需一组维修人员连续工作2天。
同时风电场每天需有一组维修人员值班以应对突发情况。
风电场现有4组维修人员可从事值班或维护工作,每组维修人员连续工作时间(值班或维护)不超过6天。
请建立模型回答以下问题:1、估计不同风机全年的经济效益;2、制定维修人员的排班方案与风机维护计划,使各组维修人员的工作任务相对均衡,且风电场具有较好的经济效益,试给出你的方法和结果。
二、基本假设1、附件中所给出的数据真实可靠。
2、在计算风机全年经济效益时不考虑维护时间。
3、风机在运行过程中不会发生停机或损坏的状况。
4、风电场全年运行,不因节假日而停止运转。
5、维修人员按时接受完成工作,不缺席。
三、符号说明五、模型的建立与求解5.1 问题一模型建立与求解5.1.1 问题一模型的建立5.1.1.2 多项式拟合根据已知数据,运用Matlab拟合工具箱,分别对型号I与型号II的风机风速与功率之间的关系进行了拟合。
其中三次多项式拟合效果最好。
型号I风速与功率的关系型号I拟合效果型号II 风速与功率的关系型号II 拟合效果可以看出,两次拟合结果的R 平方值都超过了0.99,具有良好的拟合结果。
由此可得两种风机风速与功率之间的函数关系:y 1={1.046x 3+7.745x 2−34.73x +38.71 (0<x <12.0)2010 (x ≥12)y 2={−1.324x 3+47.71x 2−263.7 x +444.3 (0<x <11.0)1544 (x ≥11.0)5.1.1.2 样条插值因附件中功率数据为若干个已知点,又功率计算问题对插值函数的光滑性有较高要求,不仅需要连续,而且要有连续的曲率,这就需要运用样条插值的知识。
数学上将具有一定光滑性的分段多项式称为样条函数。
具体地说,给定区间[a,b]的一个分划Δ:a =x 0<x 1<⋯<x n−1<x n =b如果函数S(x)满足:(i)在每个小区间[xi ,xi−1](i = 0,1,…,n −1)上S(x)是k 次多项式; (ii)S(x)在[a,b]上具有k −1阶连续导数。
则称 S(x) 为关于分划 Δ 的k 次样条函数。
这里,我们使用分段线性插值与三次样条插值两种方法来估计功率。
分段线性插值简单地说,就是将每两个相领的节点用直线连接起来,如此形成一条折线。
此函数记为I n (x),它满足I n (x i )=y i ,且在每个区间上是线性函数。
I n (x)可以表示为I n (x )=∑y i l i (x)n i=0,其中l i (x )={x −x i−1x i−x i−1,x ∈[x i−1,x i ],i ≠0x −x i+1x i −x i+1,x ∈[x i ,x i+1],i ≠n 0,其他三次样条插值,即已知函数y =f(x)在区间[a,b]上的n+1个节点a =x 0<x 1<⋯<x n−1<x n =b上的值y i =f(x i )(i =0,1,⋯,n),插值函数S(x),使得 (i) S (x i )=y i ,(i =0,1,⋯,n);(ii) 在每个小区间[x i ,x i+1]上S (x )是三次多项式,记为S (x i ); (iii) S (x )在[a,b ]上二阶连续可微; 不妨记S (x )={S i (x ),x ∈[x i ,x i+1],i =0,1,⋯,n −1}S i (x )=a i x 3+b i x 2+c i x +d i其中:a i ,b i ,c i ,d i 为待定系数,共4n 个。
{S i (x i+1)=S i+1(x i+1)S i ′(x i+1)=S i+1′(x i+1)S i′′(x i+1)=S i+1′′(x i+1) 针对2015年1月1日四号机组全天数据报表,通过分段线性插值与三次样条插值两种方法,其中三次样条插值的边界条件采用了非扭结条件与二阶导数,得到了以下三种插值结果。
可以看出,分段线性插值的光滑性较差,出现了多处不可导点,不能反映地预测功率的变化情况,非扭结条件约束下的三次样条插值振动较大,与风速变化情况不相符合,因此选择二阶导数为约束条件的三次样条插值。
5.1.2 问题一模型的求解根据得到的三次样条函数,得到功率p=p(t)与时间的关系,然后进行积分,就可以得到总的功率P=∑∫p(t)t ft0dt12m=1则全年的经济效益为W=μPT最后求得不同风机各月及全年的发电量为,单位kW·h5.2 问题二模型建立与求解 5.2.1 问题二模型的建立风电场值班与维修排班问题具有复杂性,必须考虑到多个约束条件限制,找到“合理、令人满意的方法”,并且也要使风电场项目获得最大的利益。
为了使计算简单,记每两天为一个班次。
首先,在Matlab 中运用随机均匀函数产生出排班矩阵C 。
其次根据条件(1)连续工作不超过B 天,(2)每台风机维护时间均两天,(3)每个工作组只能干一项任务,(4)保证一组值班,(5)两次维护之间的连续工作时间不超过270天,及135个班次。
其次,为使各组维修人员的工作任务相对均衡,即各组维修人员工作班次的方差最小。
因此在排班方案中,维修人员工作班次的方差为衡量合理性的标准,即目标函数。
为了求解需要的司机数及排班方案,我们建立如下模型:x ijk ={1, 第i 组维修人员上第j 月的第k 个班次0, 第i 组维修人员不上第j 月第k 个班次目标函数为min σ=√∑(x ijk −13∑x ijk 31)2313−1 约束条件:{x ijk +x ijk+1+x ijk+2≤B∑∑x ijk ≥15k=13i=1T 在Lingo 中编程得出结果。
5.2.2 问题二模型的求解由于每组维修人员连续工作不超过6天,即3个班次;维修人员需要在270天内完成124座风机的检修工作,即124个班次,则每个月至少需要完成的班次数T=14。
则min σ=√∑(x ijk −13∑x ijk 31)2313−1{x ijk +x ijk+1+x ijk+2≤3∑∑x ijk ≥15k=13i=114六、模型的评价与推广6.1 模型的评价6.2 模型的推广七、参考文献八、附录8.1 附录清单附录:Matlab程序>> v(v>12)=12;>> y0=1.046*v.^3+7.745*v.^2-34.73*v+38.71;>> a=size(y0,2)>> x0=1:a;>> x=1:0.01:a;>> pp1=csape(x0,y0,'second');>> y1=ppval(pp1,x);>> [x',y1']>> plot(x0,y0,'+',x,y1)>> title('splinel')>> pp=csape(x0,y0)>> format long g>> xishu=pp.coefs>> s=quadl(@(t)ppval(pp,t),1,a)>> v(v>11)=11;>> y0=-1.324*v.^3+47.71*v.^2-263.7*v+444.3;>> a= size(y0,2);>> x0=1:a;>> x=1:0.01:a;>> pp1=csape(x0,y0,'second');>> y1=ppval(pp1,x);>> [x',y1']>> plot(x0,y0,'+',x,y1)>> title('splinel')>> pp=csape(x0,y0)>> format long g>> xishu=pp.coefs>> s=quadl(@(t)ppval(pp,t),1,a)lingo程序:model:sets:group/1..3/;month/1..12/;schedule/1..15/;links(group,month,schedule):x;endsetsmin= @for(group(i):@sum(x(i,j,k)-1/3*(@for(group(i):@sum(x(i,j,k)))));) @for(month(j):@sum(group(i):@sum(schedule(k):x(i,j,k)))>14;)@for(links(i,j,k):x(i,j,k)+x(i,j,k+1)+x(i,k,j+2)<3;)@for(links:@bin(x););end。