基于记忆遗传算法的海上风电场运维调度研究

2019-06-27 10:00金礼伟
上海电气技术 2019年2期
关键词:船只风电场遗传算法

金礼伟

上海电气集团股份有限公司 中央研究院 上海 200070

1 研究背景

我国已成为海上风电行业装机规模增长速度最快的国家。2016年,我国海上风电新增装机154台,容量达到590 MW,同比增长64%,累计装机量达到1 630 MW。根据《可再生能源发展“十三五”规划》,截至2020年,我国海上风电开工建设目标规模为10 GW,确保并网容量5 GW。国际市场研究机构Researchmoz称,到2025年,整个亚太地区海上风电市场规模预计达到602亿美元。与陆上风电相比,海上风电运维时需要调用船舶、直升机、海工船等特殊设备,成本更高,且维修周期更长。目前,海上风电机组的维护成本占全生命周期成本的20%~30%[1-4]。

我国目前海上风电开发的场地主要分布在江苏沿海。江苏沿海具有宽阔的滩涂及浅水海床,面临台风等恶劣工况,存在较多的江淮气旋大风、团雾、雷雨天气,加之运维作业受潮汐影响,交通设备选择困难,运维作业有效时间短,安全风险大,且缺乏大型维修装备。可见,对于海上风力发电机而言,使用有效运维调度手段来降低风力发电机的运维成本,对提高风力发电机的可用率具有重要意义。

2 风电场运维调度问题描述

海上风电运维调度工作涵盖人员配置、工期优化、船只调度优化、流程优化等内容。人员配置在风力发电机运行中占有重要地位,是影响项目收益的关键因素。工期优化综合考虑风季情况,可以通过优化、缩减定检项目,减少定检工时,最大限度保证风力发电机在盛风季的运转时间。对于船只调度优化而言,船只租用费用可能占运维费用的很大比例,同时,船只类型选择、船只路径优化会直接影响运维费用及运维周期。对于流程优化而言,合理规划定期检修维护、日常排故维护、预防故障排除这三类维护工作,可以减少年检工时。

海上风电场的运维调度是一个复杂、动态问题。针对每个维修任务,可以由多个可用的维修团队选择乘坐多个可用的维修船只进行维修,这样可以提高系统维修安排的灵活性,有利于降低成本,但是会扩大可行解的搜索范围,使问题变得更加复杂。海上风电场运维调度问题可以描述为安排M艘维修船只和N个维修团队去完成P个不同的维修任务,优化的目标是为每个维修任务选择最合适的维修船只、维修团队和维修开始时间,使整个维修过程的成本达到最低。

采用文献[5]中的海上风电场运维调度评价方法,对于一个特定维护队列的运维任务,基于海上风电场历史运维数据,结合风力发电机健康状况,以及风功率预测、恶劣天气、维修资源约束、停机损耗、备品备件物流等复杂约束,完成对队列任务的调度,建立能够综合表达调度方案的评价函数,最终完成对海上风电场的运维调度。

3 遗传算法求解运维队列

遗传算法是目前较为流行的解决不确定性调度问题的启发式算法[6]。这一算法通用性强,计算能力较好,并且具有并行性和全局搜索等特点[7],在处理不确定性调度问题方面具有较强的稳定性。针对海上风电场运维调度的特点,充分考虑船只、天气、维修人员、维修次序、风力发电机健康状况、航行费用等因素,根据遗传算法的思想,提出了一种以最低成本为目标的求解方法。

3.1 遗传算法及其改进

遗传算法是一种通过模拟达尔文生物进化论中基于自然选择和遗传学机理的生物进化过程,来搜索最优解的算法。基本遗传算法以群体中的所有个体为对象,只使用选择、交叉和变异三种基本遗传算子,操作过程简单。基本遗传算法是其它遗传算法的基础,为各种遗传算法提供了一个基本框架。理论分析与实际应用都表明,基本遗传算法不能处处收敛于全局最优解,因此,基本遗传算法有待进一步改进。

针对遗传算法优化过程中基因编码相同的个体重复出现的现象,笔者引入基因库的概念,对基本遗传算法中个体适应度的求解过程进行改进[8]。对于前代出现过的个体,新的一代在进行遗传运算时,可以考虑直接引用重复个体已经计算生成的数据,这样不仅减小了计算量,而且能提高算法的收敛效率[9]。

3.2 遗传算法求解

提出一种推理式的编码及初始化方法,对维修任务的发生次序进行自然数编码,基于成本最低的原则,确定每个运维任务的最佳时间、最佳维修船只与最佳维修团队的组合,形成一个可行解。

确定队列的运维策略评价步骤如下。

(1) 对P个运维任务的执行次序进行自然数编码,得到g1、g2、…、gP。例如,g1=5表示运维任务5会第一个被执行。

(2) 显然,可以在第一时间派出船只去执行前M个运维任务,随机分配维修团队Wi和维修船只Bi。

(3) 一旦前M个运维任务中有任意一个开始执行,即有维修船只到达现场,则立即开始考虑第gM+1个运维任务对应的开始时间tgM+1、对应的维修船只BgM+1及维修团队WgM+1,满足[tgM+1,BgM+1,WgM+1]=arg min costgM+1。

(4) 一旦有新的运维任务开始被执行,则重复步骤(3),为运维任务序列中的下一个运维任务确定维修船只、维修团队和维修时间,直到运维任务序列中的所有运维任务都选择完毕。

(5) 采用文献[5]中的评价方法进行评价。

遗传算法总体流程如图1所示。

图1 遗传算法总体流程

3.3 改进记忆遗传算法求解

遗传算法在运行过程中产生的新个体往往在前代出现过,重复率的大小与种群规模、二进制编码长度、交叉率、变异率等参数的设置有关[10]。种群规模越小。二进制编码长度越短。交叉率越小,变异率越小,个体重复率就越大。重复率随迭代次数的增加而不断增大,尤其是在最近几代,个体的重复率比前代都大。

现阶段海上风电场还不是很集中,单风电场运维场景较多,采取单风电场的运维调度进行验证。海上风电场运维调度算法在求解过程中,任务数较少,通常小于20,交叉率设为0.6,变异率设为0.05,种群大小设为任务数的二次方,迭代次数设为50,此时个体重复率较大,因此采用改进记忆遗传算法进行求解。

第一种改进记忆遗传算法采取全部个体记忆的方式,当有新的个体产生时,添加新的个体和适应度到基因库,其流程如图2所示。

图2 第一种改进记忆遗传算法流程

第二种改进记忆遗传算法采取父代记忆的方式,只记忆父代种群的适应度,当子代个体不存在于父代种群中时,重新计算子代个体的适应度,最终形成新的种群基因库,其流程如图3所示。

图3 第二种改进记忆遗传算法流程

3.4 算法验证

配置算法参数,交叉率为0.6,变异率为0.05,种群大小为任务数的二次方,迭代次数为50。算法采用的风力发电机机位、功率等数据为某海上风电场实际数据。

验证场景一有10个运维任务、2艘船只、20个维修团队,验证场景二有10个运维任务、1艘船只、20个维修团队,验证场景三有15个运维任务、2艘船只、20个维修团队,验证场景四有15个运维任务、2艘船只、15个维修团队。四个场景的算法验证对比见表1。

表1 算法验证对比

由表1可以看出,三种算法寻找任务队列的成本大致相同,改进记忆遗传算法在时间效率上相比传统遗传算法有很大提高,时间效率提升率大约为40%,这与算法配置参数中的交叉率、变异率有很大关系。在应用过程中,交叉率和变异率的和在0.5~0.7之间,效率提升在30%~50%之间。对比第一种改进记忆遗传算法,第二种改进记忆遗传算法使用更小的计算空间,而提升效率则相近。因此,选择第二种改进记忆遗传算法作为工程算法。

4 结束语

笔者应用遗传算法,综合考虑风力发电机、船只、路径、人员、运维任务、资源等因素,以海上风电场运维调度成本最低为优化目标,得出运维队列。在研究中,应用了改进记忆遗传算法,提升了算法的效率。当然,算法中还存在一些假设和特定时间约束,后续还需要进行改进,以逐步符合海上风电场的实际运维调度情况。

猜你喜欢
船只风电场遗传算法
基于遗传算法的智能交通灯控制研究
基于PSS/E的风电场建模与动态分析
巴基斯坦风电场环网柜设计
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用
基于改进的遗传算法的模糊聚类算法
基于改进多岛遗传算法的动力总成悬置系统优化设计
国产多波束系统在海上失事船只探测中的应用
孟加拉船只“罢工”