一种基于遗传算法的风电场多型号风机优化排布方法转让专利

申请号 : CN201410041331.X

文献号 : CN103793566B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王峻段彬

申请人 : 同济大学

摘要 :

本发明涉及一种基于遗传算法的风电场多型号风机优化排布方法,包括以下步骤:1)根据风机直径将风电场区域划分成大小相等的正方形网格,随机生成相同行列的整数矩阵作为算法的初始解;2)计算当前代的个体适应度值;3)通过均匀随机选择算子选择参与交叉的父代个体,再利用改进的交叉变异算子生成子代个体;4)对种群中的个体引入修复算子;5)对种群当前代最优解引入Tabu算子,将该最优解作为Tabu算法的初始解,搜索最优解的邻域解;6)判断是否达到最大的迭代次数,若为是,则完成多型号风机优化排布,否则返回步骤2)。与现有技术相比,本发明具有编码方式直观、性能指标好、局部搜索能力强、扩展性高、实用性强等优点。

权利要求 :

1.一种基于遗传算法的风电场多型号风机优化排布方法,其特征在于,包括以下步骤:

1)根据风机直径将风电场区域划分成大小相等的正方形网格,随机生成相同行列的整数矩阵作为算法的初始解,矩阵中元素的数值代表对应网格中风机的信息;

2)计算当前代的个体适应度值;

3)根据计算出的个体适应度值,通过均匀随机选择算子选择参与交叉的父代个体,再利用改进的交叉变异算子生成子代个体;

4)对种群中的个体引入修复算子,将不满足风机最小约束距离的排布方式修复为合理可行的排布;

5)对种群当前代最优解引入Tabu算子,将该最优解作为Tabu算法的初始解,搜索最优解的邻域解;

6)判断是否达到最大的迭代次数,若为是,则完成多型号风机优化排布,否则返回步骤

2);

所述的修复算子具体为:

由于多型号风机间高度和直径的差别,所划分的网格长宽以直径较小风机最小约束距离为准,而直径较大的风机的最小安全距离需要保证风机间距大于两个网格的长度,修复算子以逆时针的顺序轮询每个网格中,若网格中放置直径较大的风机,则其周围不能放置任何风机,从而确保风机的排布能够满足各自的最小约束距离。

2.根据权利要求1所述的一种基于遗传算法的风电场多型号风机优化排布方法,其特征在于,所述的网格中风机的信息包括网格中是否放置风机以及放置风机的具体型号。

3.根据权利要求1所述的一种基于遗传算法的风电场多型号风机优化排布方法,其特征在于,所述的个体适应度值计算如下:个体适应度值通过计算个体的净现值NPV来表示,适应度值最高的个体即NPV值最大的个体,NPV的计算公式为:其中Iwf表示风电场的初始投资成本,LT表示风电场使用期限,E表示风电场年发电量,pkWh与ΔpkWh分布表示度电成本及其年增长率,r表示折现率。

4.根据权利要求1所述的一种基于遗传算法的风电场多型号风机优化排布方法,其特征在于,所述的搜索最优解的邻域解具体为:对于当前最优排布结果,在可移动的网格邻域内对风机位置进行微调,通过比较调整前后排布结果的适应度值大小得出种群中最优解。

说明书 :

一种基于遗传算法的风电场多型号风机优化排布方法

技术领域

[0001] 本发明涉及一种风电场多型号风机优化排布方法,尤其是涉及一种基于遗传算法的风电场多型号风机优化排布方法。

背景技术

[0002] 风电场微观选址技术是风电产业合理规划的关键科学问题,可以从根本上杜绝风机选型、选址的失误,排布优化方法是提高风电场风能资源利用率和功率输出的关键方法,有助于实现风电场建设的合理决策与科学发展。然而如何充分利用风电场不同高度的风能资源,进一步提高风电场的经济效益仍然是微观选址领域的难题之一。
[0003] 实际风电场的选址主要包括宏观选址和微观选址两部分。风电场宏观选址是风电场场址选择,即在一个较大的地区内,通过对若干场址的风能资源和其它建设条件的分析比较,确定风电场的建设地点、开发价值、开发策略和开发步骤的过程,对项目经济可行性起重要作用。风电场微观选址是在宏观选址的基础上根据给定风电场的风向、风速、地形、地貌等特征以及风机特性,确定风机安装数量和位置,从而使整个风电场产能最优,具有较好的经济效益,同时满足其他经济、社会、环境指标的要求。
[0004] 由于风电场微观选址优化是一种非线性、强耦合问题,涉及地理、气象、流体、机电等因素,无法通过传统的最优控制方法获得确切的解,因而必须运用先进控制理论进行优化决策。目前,国内外就该研究方向已有一些指导性的研究成果,所采用的优化方法主要包括遗传算法、粒子群优化算法、蒙特卡洛模拟法等,研究对象大多为单一型号风机组成的风电场。选择这样的研究对象虽然降低了算法设计和实际风电场建设难度,然而在近地层中,由于风切变效应使得风速随高度显著变化,具体表现为风速随高度的升高而增加,因此仅包含单一型号风机的风电场会在一定程度上影响风电场功率输出和风能资源利用率,从而降低整个风电场的产能效率和经济指标。
[0005] 与本发明相关的文献和专利中,文献J.Castro Mora,J.M.Calero Barón,J.M.Riquelme Santos,and M.Burgos Payán,″An evolutive algorithm for wind farm optimal design,″Neurocomputing,pp.2651-2658,2007提出了多型号风机优化排布问题的解决方法,但文献中的优化结果中风机台数较少且并未考虑尾流影响,不符合实际风电场建设要求;专利《一种基于实数编码遗传算法的风电场微观选址优化方法》(申请公布号为CN102142103A)提出了使用实数编码方式的遗传算法解决风电场微观选址优化,但其研究对象为单一型号组成的风电场,并未考虑多型号风机的优化排布,不能充分利用不同高度的风能资源。

发明内容

[0006] 本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种编码方式直观、性能指标好、局部搜索能力强、扩展性高、实用性强的基于遗传算法的风电场多型号风机优化排布方法。
[0007] 本发明的目的可以通过以下技术方案来实现:
[0008] 一种基于遗传算法的风电场多型号风机优化排布方法,其特征在于,包括以下步骤:
[0009] 1)根据风机直径将风电场区域划分成大小相等的正方形网格,随机生成相同行列的整数矩阵作为算法的初始解,矩阵中元素的数值代表对应网格中风机的信息;
[0010] 2)计算当前代的个体适应度值;
[0011] 3)根据计算出的个体适应度值,通过均匀随机选择算子选择参与交叉的父代个体,再利用改进的交叉变异算子生成子代个体;
[0012] 4)对种群中的个体引入修复算子,将不满足风机最小约束距离的排布方式修复为合理可行的排布;
[0013] 5)对种群当前代最优解引入Tabu算子,将该最优解作为Tabu算法的初始解,搜索最优解的邻域解;
[0014] 6)判断是否达到最大的迭代次数,若为是,则完成多型号风机优化排布,否则返回步骤2)。
[0015] 所述的网格中风机的信息包括网格中是否放置风机以及放置风机的具体型号。
[0016] 所述的个体适应度值计算如下:
[0017] 个体适应度值通过计算个体的净现值NPV来表示,适应度值最高的个体即NPV值最大的个体,NPV的计算公式为:
[0018]
[0019] 其中Iwf表示风电场的初始投资成本,LT表示风电场使用期限,E表示风电场年发电量,pkWh与ΔpkWh分布表示度电成本及其年增长率,r表示折现率。
[0020] 所述的搜索最优解的邻域解具体为:
[0021] 对于当前最优排布结果,在可移动的网格邻域内对风机位置进行微调,通过比较调整前后排布结果的适应度值大小得出种群中最优解。
[0022] 所述的修复算子具体为:
[0023] 由于多型号风机间高度和直径的差别,所划分的网格长宽以直径较小风机最小约束距离为准,而直径较大的风机的最小安全距离需要保证风机间距大于两个网格的长度,修复算子以逆时针的顺序轮询每个网格中,若网格中放置直径较大的风机,则其周围不能放置任何风机,从而确保风机的排布能够满足各自的最小约束距离。
[0024] 与现有技术相比,本发明具有以下优点:
[0025] 1、编码方式直观,利用整数矩阵编码方式实现风电场表现型到基因型的转换,相比于传统二进制染色体串的编码方式,这种编码能直观准确地反应出风电场中不同风机之间的位置关系,并且有利于设计算法的进化算子;
[0026] 2、性能指标好,针对于特殊的编码方式设计了相应的进化算子,利用修复算子处理不同型号风机间的最小约束距离问题。以往的惩罚函数法不仅增加了算法的计算成本,还可能因为惩罚因子的选择不当使得算法不容易收敛至全局最优解。修复算子的引入能够克服惩罚函数带来的影响,降低算法的时间复杂度和空间复杂度,使得算法拥有更好的性能指标;
[0027] 3、局部搜索能力强,算法中加入Tabu算子,在可移动的网格邻域内对最优解风机位置进行微调,使得算法在优化过程中拥有较好的稳定性和克服早熟的能力,局部搜索能力得到进一步提高;
[0028] 4、扩展性高,本发明算法具有灵活的编码方式,其研究方法和成果可扩展至类似问题的求解之中;
[0029] 5、实用性强,本发明研究多型号不同高度的风机在风电场中的优化排布问题,与现有技术相比,本发明研究成果有利于提高风电场的风能利用效率和经济效益,具有较强的实用性,可用以指导实际风电场建设。

附图说明

[0030] 图1为本发明的流程图;
[0031] 图2为本发明实际排布下的修复算子应用示意图。

具体实施方式

[0032] 下面结合附图和具体实施例对本发明进行详细说明。
[0033] 实施例
[0034] (1)基于遗传算法的风电场多型号风机优化排布方法,该方法能够根据给定的条件,在网格状的风电场区域中,随机产生对应的初始解,再利用有效的编码方式和进化算子,引入两种特殊算子处理进化过程中的问题,提高算法的整体性能,并通过比较个体适应度值大小确定当前代的最优解,直到满足算法的终止条件。具体包括以下步骤:
[0035] a.在风机初步选型的基础上,给定整个风电场投资预算,随机生成相同行列的整数矩阵作为算法的初始解。
[0036] 本发明中采用的编码方式不同于传统二进制串的形式,而是根据风机直径将风电场区域划分成大小相等的正方形网格,再随机生成相同行列的整数矩阵作为算法的初始解,矩阵中元素的数值代表对应网格中风机的信息,由此可以判断出网格是否放置风机以及放置风机的具体型号;
[0037] b.计算个体的适应度值。
[0038] 算法中的个体适应度值通过计算个体的净现值NPV来表示,适应度值最高的个体即NPV值最大的个体,NPV的计算公式为:
[0039]
[0040] 其中Iwf表示风电场的初始投资成本(不大于预算成本),LT表示风电场使用期限,E表示风电场年发电量,pkWh与ΔpkWh分布表示度电成本及其年增长率,r表示折现率。
[0041] c.针对特别的编码方式,在进化过程中采用改进的进化算子。
[0042] 在遗传算法的搜索过程中,进化算子起到至关重要的作用,传统的进化算子主要包括选择算子、交叉算子和变异算子。本发明中,选择算子采用基于个体适应度值的均匀随机选择方式;交叉算子采用均匀交叉的方式,由于编码方式的改变,在父代交叉之前随机产生一个与个体行列数相同的二进制Mask矩阵,通过Mask矩阵中对应位置的值确定子代个体的基因信息;同理,变异算子采用均匀变异的方式,根据随机产生的Mask矩阵确定父代的变异位置,由此得出子代个体的基因信息;
[0043] d.针对多型号风机优化排布的具体情况,引入修复算子解决优化过程中存在的距离约束问题。
[0044] 实际风电场建设中,风机的排布需要考虑不同风机间的最小安全距离,在算法设计过程中需要作为约束进行处理。本发明中对于距离约束的处理方式不同于传统的惩罚函数法,而是引入修复算子,将不满足风机最小约束距离的排布方式修复为合理可行的排布(图2表示一种实际排布下的修复算子应用过程);
[0045] e.在遗传算法搜索过程中,通过比较每一代中个体适应度值大小确定当前代的最优解,将最优解作为Tabu算法的初始解应用于搜索过程中。
[0046] 遗传算法具有较强的全局搜索能力,然而传统的遗传算法较容易陷入局部最优,造成结果早熟的情况。本发明除了通过改进进化算子以提高算法的性能指标外,还对当前代的最优解引入Tabu算子,将该最优解作为Tabu算法的初始解,搜索最优解的邻域解,即对于当前最优排布结果,在可移动的网格邻域内对风机位置进行微调,通过比较调整前后排布结果的适应度值大小得出种群中最优解,提高了算法的局部搜索能力。
[0047] (2)上述的基于遗传算法的风电场多型号风机优化排布方法主要由编码过程、个体适应度值的计算、进化算子选择等环节所组成,通过仿真比较能够得出合理可行的多型号风机优化排布方案。
[0048] 图1是多型号风机优化排布方法的具体流程。在宏观选址的选定的风电场区域内,首先根据风场状况进行多型号风机的初步选型,在给定风电场预算的条件下,按照图1对以下各步骤进行详细描述:
[0049] 在步骤1中,根据风机直径将风电场区域划分成大小相等的正方形网格,随机生成相同行列的整数矩阵作为算法的初始解,矩阵中元素的数值代表对应网格中风机的信息。然后执行步骤2。
[0050] 在步骤2中,算法在进化过程中,通过公式(1)计算当前代个体的适应度值。然后执行步骤3。
[0051] 在步骤3中,基于步骤2计算出的个体适应度值,通过均匀随机选择算子选择参与交叉的父代个体,再利用改进的交叉变异算子生成子代个体。然后执行步骤4。
[0052] 在步骤4中,由于实际风电场建设中风机最小安全距离的存在,对种群中的个体引入修复算子可以有效地将其转化为非约束问题,同时能够克服惩罚函数法对算法性能指标的影响。修复算法完成后执行步骤5。
[0053] 在步骤5中,为了增强算法的局部搜索能力,对种群当前代最优解引入Tabu算子,将该最优解作为Tabu算法的初始解,搜索最优解的邻域解,即对于当前最优排布结果,在可移动的网格邻域内对风机位置进行微调,比较得出种群中最优解。然后执行步骤6。
[0054] 在步骤6中,判断算法是否满足终止条件,此处终止条件是判断是否达到了算法的最大迭代次数。如果是(达到算法终止条件),则完成多型号风机优化排布,如果否(未达到算法终止条件),返回执行步骤2。
[0055] 图2表示修复算子在一种实际排布下的应用示意图,其中0代表网格内不放置风机,1代表网格内放置直径较大风机,2代表网格内放置直径较小风机。由于多型号风机间高度和直径的差别,所划分的网格长宽以直径较小风机最小约束距离为准,而直径较大的风机的最小安全距离需要保证风机间距大于两个网格的长度。修复算子的应用过程是以逆时针的顺序将修复算法加入每个网格中,若网格中放置直径较大的风机,则其周围不能放置任何风机,即数字置0,这样就确保了风机的排布能够满足各自的最小约束距离。