一种基于两阶段萤火虫编码的机组组合优化方法与流程

文档序号:14686154发布日期:2018-06-14 23:33阅读:来源:国知局
技术特征:

1.一种基于两阶段萤火虫编码的机组组合优化方法,其特征在于,包括建立以下机组组合模型:

所述的机组组合模型的目标函数是由发电费用和机组启动费用最小,满足有功平衡约束、旋转备用约束、机组出力上下限约束、机组爬坡约束、机组最小启/停时间约束的条件下建立;

所述的目标函数如下所示,由发电费用和启动费用两部分组成:

min F ( P , U ) = Σ i = 1 N Σ t = 1 T ( f ( P i t ) U i t + ST i U i t ( 1 - U i t - 1 ) ) ]]>

其中,发电费用函数如下:

f ( P i t ) = a i + b i × P i t + c i × ( P i t ) 2 ]]>

启动费用函数如下:

ST i = K i + B i ( 1 - e T i o f f ( t - 1 ) τ i ) ]]>

所述的目标函数中的机组出力及启停变量是模型的决策变量,需满足如下约束条件:

1 ) Σ i = 1 N P i t U i t = P D t 2 ) Σ i = 1 N U i t P i , max P D t + S D t 3 ) P i , min U i t P i t P i , max U i t 4 ) R i D o w n P i t - P i t - 1 R i u p 5 ) [ T i o n ( t - 1 ) - T i o n ] ( U i t - 1 - U i t ) 0 6 ) [ T i o f f ( t - 1 ) - T i o f f ] ( U i t - U i t - 1 ) 0 , t ( 1 , 2 , ... T ) ]]>

其中,N表示机组数目;T表示调度周期;分别表示第i号机组第t时段的出力及启停情况,U=0表示机组关停,U=1表示机组开启,除是待求的决策变量,其余量均是给定的参数;STi表示机组i的启动费用,Ki,Bi,τi为常数,为机组i在t-1时段连续停机时间;ai,bi,ci是机组i的发电费用系数;分表示t时段系统的负荷及旋转备用需求;Pi,max,Pi,min及分别表示第i号机组的最大、最小技术出力和向上、向下爬坡能力;分别表示第i号机组的最少开启、关停时间;

包括如下步骤:

步骤1:初始化模型中的参数,标记迭代次数cc=1;

步骤2:初始化离散种群;第一阶段离散萤火虫编码,在多维解空间中随机初始化种群Fn代表种群规模,每个解有D维,D代表待优化变量数目,此模型中D=N×T,N表示机组数目,T表示调度周期;编码的每一位分别代表机组在某时段的开/停状态;

步骤3:初始化机组启停状态及相应机组的最大出力,校核旋转备用约束是否满足,若满足,执行下一步;若不满足,执行旋转备用约束修复策略,继续步骤3校核旋转备用约束;

步骤4:校核机组最小启/停时间约束是否满足,若满足,执行下一步;若不满足,执行最小启/停时间约束修复策略,再转步骤3;

步骤5:由步骤3确定了满足旋转备用约束,步骤4确定了满足机组最小启/停时间约束,所述的机组的启/停变量由步骤3和4确定,使用第二阶段改进的实数编码萤火虫算法进行经济调度,确定各机组的出力,所述的有功平衡约束、机组出力上下限约束、机组爬坡约束在该步骤中处理;即以发电费用作为基本目标函数,将有功平衡约束、机组出力上下限约束、机组爬坡约束以罚函数的形式加入基本目标函数,优化得到各机组的出力;

步骤6:离散种群的适应度计算;在所述步骤3,步骤4确定的机组启停状态及步骤5确定的机组出力基础上,计算每一个萤火虫位置相对应的目标函数,并进行适应度评价;

所述步骤适应度计算,为避免过早收敛,使用如下适应度函数

Fitness=w[1-cost%],其中cost表示当前机组组合的费用,Max(cost),Min(Cost)为当前最大、最小费用;

所述个体最大、最小及当前费用按照模型中的目标函数计算;个体成本越小,适应度越大,常数W大于0;当适应度最大时得到相应的最优成本及机组组合结果;

步骤7:保存当前得到的最优解,若达到最大迭代次数,则终止迭代,输出结果;否则,迭代次数加1,cc=cc+1,对当前离散编码对应的实数编码进行更新,将更新后实数编码离散化为“01”编码,转步骤3。

2.根据权利要求1所述的一种基于两阶段萤火虫编码的机组组合的优化方法,其特征在于;所述的步骤2中所述的离散萤火虫编码包括先实数编码、再离散化两步,步骤如下:

第一步实数编码,对种群中每一个萤火虫的D维变量,以[0,1]间随机实数初始化;

第二步离散化具体如下:在二进制萤火虫算法中,当两萤火虫间距离值在-1到1之间变化时,则吸引度的取值在0.3679~2.7183之间变化,萤火虫移动后的位置x'p将在-2.2180到4.2180之间变化;若由0和1表示机组的启停状态,由阈值判断将实数变量映射为0,1离散变量;如果x'p大于阈值,则该个体选择为“1”,反之则选择为‘’0“;阈值水平从0到1变化,使用阈值函数:

f ( x p ) = tanh ( | x p | ) = e ( 2 × | x p | ) - 1 e ( 2 × | x p | ) + 1 ]]>

产生一个0到1之间的随机数rand(0,1),且用0或者1表示机组的状态,当f(x'p)大于rand(0,1),机组状态为1;否则为0;所述的rand(0,1)表示[0,1]之间的随机数。

3.根据权利要求1所述的一种基于两阶段萤火虫编码的机组组合的优化方法,其特征在于;所述的步骤3中的旋转备用约束修复策略如下:

若旋转备用约束不满足,则处于关停状态的机组根据经济性优先顺序依次启动,直到旋转备用约束满足;其中机组的经济性优先顺序按照平均煤耗大小确定,平均煤耗越小,经济性越好,则优先顺序越靠前,平均煤耗按下式确定;

AvP i = P i , m i n P i , m a x f ( P i ) dP i P i , m a x - P i , min ]]>

式中:Avpi为机组i平均煤耗,f(Pi)为机组i发电成本函数,Pi,max,Pi,min分别为机组i最大、最小出力。

4.根据权利要求1所述的一种基于两阶段萤火虫编码的机组组合的优化方法,其特征在于;所述的步骤4中的最小启/停时间约束修复策略如下:

若旋转备用约束满足,则在调度周期内的每一段间隔都要检查最小启/停时间约束,一旦最小启/停时间约束不再满足,则启用最小启/停时间约束修复策略修补偏差;所述的最小启/停时间约束修复策略为:

对机组i,其最少开启时间为最小关机时间为调度周期为T,若该机组实际关闭时间为则其违反最小关机约束,可将当前关机状态开始之前或结束之后的状态调整为“0”;通过该修复,若该机组违反了最小开机时间约束,则该机组的在违反约束时段的状态变为”1”。

5.根据权利要求1所述的一种基于两阶段萤火虫编码的机组组合的优化方法,其特征在于;所述的步骤4中的第二阶段改进的实数编码萤火虫算法包含如下定义:

吸引度:

在萤火虫算法中,吸引度函数如下:

β ( r ) = β 0 e - γr p q m , m 1 ]]>

其中,rpq是两萤火虫p,q之间的距离,β0≤是初始吸引度,γ是吸收系数,m为常数,通常取2;

萤火虫之间的距离:

两萤火虫p和q在分别位置xp和xq,两者间的距离可以定义为笛卡尔或者欧式距离:

r p q = | | x p - x q | | = Σ k = 1 d ( x p , s - x q , s ) 2 ]]>

其中,xp,s是第p只萤火虫的第s维空间坐标,xq,s是第q只萤火虫的第s维空间坐标,d是总共的坐标维度,q∈{1,2,…Fn};虽然q是随机选择的,但是不等于p,Fn表示总的萤火虫数目;

萤火虫移动:

当萤火虫p被另一只更有吸引力的萤火虫q吸引时,其将发生移动;

x p = x p + β ( r p q ) × ( x p - x q ) + α ( r a n d - 1 2 ) ]]>

式中的β(rpq)×(xp-xq)由萤火虫之间的吸引度β(rpq)决定,α为随机参数,rand是0到1之间均匀分布的随机数;

所述标准实数编码萤火虫算法,包含如下步骤:

1)初始化参数,进入迭代;2)计算萤火虫之间的距离;3)计算并比较萤火虫之间的吸引度;4)萤火虫之间发生移动;5)判断是否达到迭代最大次数,若达到则结束迭代,输出结果;否则转2);

所述的改进的实数萤火虫算法包含如下改进机制:

改进1:个体变异机制

为避免过早陷入局部最优值,在当前代迭代结束后,也即在标准实数萤火虫算法的萤火虫之间发生移动后进行个体变异;假设分别是当前迭代中的最优及最差个体,随机从当前种群中选择3个萤火虫个体Xq1,Xq2,Xq3,q1≠q2≠q3;通过差分变异得到两个新个体:

X M u t e 1 = X q 1 + Δ × ( X q 2 - X q 3 ) ]]>

X M u t e 2 = X M u t e 1 + Δ × ( X B e s t I t e r - X W o r s t I t e r ) ]]>

XMute1,XMute2表示差分变异新个体;表示当前迭代中最优、最差个体;Δ是[0,1]之间的随机数;使用上式中的变异个体,产生下述5个新个体:

x Im p 1 , j = x M u t e 1 , j , i f κ 1 κ 2 x B e s t , j , i f κ 1 > κ 2 ]]>

x Im p 2 , j = x M u t e 1 , j , i f κ 3 κ 2 x j , i f κ 3 > κ 2 ]]>

x Im p 3 , j = x B e s t , j , i f κ 4 κ 3 x j , i f κ 4 > κ 3 ]]>

x Im p 4 , j = x M u t e 1 , j , i f κ 5 κ 4 x M u t e 2 , j , i f κ 5 > κ 4 ]]>

XImp5=ψ×XWorst+ζ×(XBest-XWorst)

xImp1,j,xImp2,j…xImp4j分别表示第1至4个新个体的第j维元素;XImp5表示第5个新个体xMute1,j,xMute2,j,xBest,j,xj分别表示各自向量的第j维元素;

κ1,κ2,κ3,κ4,κ5,ψ和ζ是[0,1]之间的随机数;分别计算5个新个体的目标函数,若其中最小目标函数小于第i个萤火虫的目标函数值,则用其替代第i个萤火虫的位置;

改进2:参数自适应变化机制

标准实数萤火虫算法中的参数α,控制算法在对邻域萤火虫位置未知时进行随机搜索;α的大小控制着随机搜索的范围,较大的α值导致在大范围全局搜索,较小的α则进行局部搜索;合适的α值设定将平衡算法在全局和局部搜索上的表现;本方法提出一种随迭代的自适应调整的α值控制方式;

α I t e r + 1 = ( 1 2 k m a x ) 1 / k m a x α I t e r ]]>

Iter,kmax分别是当前迭代次数和最大迭代次数;α初值在[0,1]之间,随着迭代次数增大,α逐渐减小,控制算法在初始阶段有较强的全局搜索能力,在迭代后期则有较强的局部搜索能力,加快收敛速度。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1