论文部分内容阅读
水库调度利用水库对径流的调节能力,合理控制水库各时期的蓄水和放水情况,达到防洪、抗旱的目的。水库群优化调度问题是包含复杂约束条件的多目标优化问题,随着水利信息化进程的不断加快,水库调度所需的数据规模不断加大,使水库群优化调度的计算更加复杂,计算量更大,需要并行计算与大数据处理技术的支持。为此,本课题围绕水库群多目标优化调度问题,研究Spark大数据处理技术,并在水库群多目标优化调度系统中应用。作者调查了水库群多目标优化调度的发展现状;研究了大数据处理和并行化相关技术、水库群多目标优化调度的求解模型与基于遗传算法的优化调度方法;提出了基于Spark的遗传算法并行化方法。在此基础上,基于Linux操作系统、Hadoop2.7.1+Spark1.5.2+Spark on Yarn构建了Spark大数据支持环境,应用Scala语言完成了基于Spark的水库群多目标优化调度系统的设计与实现。该系统主要包括数据采集、数据存储、水库群调度并行计算三个模块。数据采集模块主要实现来自各个水库的源数据的接收、整理,并转换成大规模分布式数据库HBase所支持的格式。数据存储模块主要实现水库群调度数据的存储,通过HBase存储采集的源数据,采用HDFS存储Spark集群计算所需的内部数据与计算结果。水库群调度计算模块是整个系统的核心部分。采用遗传算法进行优化调度的过程中涉及到了一系列复杂的操作,数据量大、计算复杂,这些计算通过基于RDD的Spark的并行操作来实现,主要步骤包括RDD数据集的创建、种群的初始化、RDD并行适应度计算等。系统运行结果表明,基于Spark的水库群多目标优化调度系统不仅运算速度明显加快,而且水库群的年平均发电量也得到了提高。