基于遗传算法的机组组合问题的建模与求解 下载本文

基于遗传算法的机组组合问题的建模与求解

摘要

本文针对当前科技水平不足以有效存储电力的情况下产生的发电机机组组合的问题,考虑负荷平衡、输电线传输容量限制等实际情况产生的约束条件,建立机组组合优化模型,追求发电成本最小。同时采用矩阵实数编码遗传算法(MRCGA)和穷举搜索算法,利用MATLAB 7.0.1和C++编程,分别对模型进行求解,并对所得结果进行分析比较,以此来帮助电力部门制定机组启停计划。

首先,建立发电成本最小目标函数和各项约束条件的数学表达式。其中机组空载成本和增量成本之和随该机组发电出力增长呈折线关系,在分析计算时为了简便,本文采用一条平滑的二次曲线来近似代替。

对于问题1,选取相应的约束条件对目标函数进行约束,从而给出优化模型Ⅰ。由于问题1的求解规模很小,所以采用穷举搜索算法,利用C++编程求解,得到了3母线系统4小时的最优机组组合计划(见表一)。

对于问题2,在优化模型Ⅰ的基础上,增加最小稳定运行出力约束、机组启动和停运时的出力约束以及机组最小运行时间和最小停运时间约束这三个约束条件,建立了优化模型II。同时采用遗传算法和穷举搜索算法,利用MATLAB和C++编程,分别对模型进行求解,部分结果如下: 发电总成本(单位:元) 矩阵实数编码遗传算法 6780 穷举搜索算法 6820 在对所得结果进行了分析比较,重新制定了3母线系统4小时最优机组组合计划(见表三)。

对于问题3,用IEEE118系统对优化模型II进行测试。由于求解规模巨大,同样采用遗传算法和穷举搜索算法,利用MATLAB和C++编程,分别对模型进行求解,部分结果如下:

发电总成本(单位:百万) 矩阵实数编码遗传算法 2.034 穷举搜索算法 2.135 在对所得结果进行比较时发现对于大规模问题,遗传算法优势明显,将其求解结果作为24小时的最优机组组合计划(见附录)。

最后,我们就模型存在的不足之处提出了改进方案,并对优缺点进行了分析。

关键字 机组组合优化模型 矩阵实数编码遗传算法 穷举搜索算法

一、问题的提出

当前的科学技术还不能有效地存储电力,所以电力生产和消费在任何时刻都要相等,否则就会威胁电力系统安全运行。为了能够实时平衡变化剧烈的电力负荷,电力部门往往需要根据预测的未来电力负荷安排发电机组起停计划,在满足电力系统安全运行条件下,追求发电成本最小。

在没有电力负荷损耗以及一个小时之内的电力负荷和发电机出力均不变的前提下,假定所有发电机组的发电成本都是由3部分组成:1.启动成本(Startup Cost),2.空载成本(No load cost),3.增量成本(Incremental Cost)。需要考虑的约束有: 1.负荷平衡约束2.系统备用约束3.输电线路传输容量约束4.发电机组出力范围约束5.机组增出力约束6.机组降出力约束。 问题1:3母线系统

有一个3母线系统,其中有2台机组、1个负荷和3条输电线路,已知4个小时的负荷和系统备用要求。请求出这4个小时的最优机组组合计划。最终结果应该包括总成本、各小时各机组的状态、各小时各机组的发电出力和各小时各机组提供的备用。

G1 Bus 0 Line 0-1 Line 0-2 Line 1-2 Bus 1 G2 Bus 2 L 问题2:3母线系统

在问题1的基础上,考虑发电机组的下列物理特性约束:1.发电机组的稳定出力范围约束2.机组启动时的出力约束3.机组停运时的出力约束4.机组最小运行时间约束5.机组最小停运时间约束。重新制定最优机组组合计划。 问题3:IEEE 118系统

用IEEE-118节点的电力系统对问题2的求解模型进行测试,试求出24个小时的最优机组组合计划。最终结果应该包括总成本、各小时各机组的状态、各小时各机组的发电出力和各小时各机组提供的备用。

二、问题的分析

机组优化组合和优化启停就是要在满足约束条件的情况下,优化地选定各时段参加运行的机组,求出机组的最佳运行方案,实现发电成本最小。

然而,机组组合问题是一个多变量、多约束的混合整数非线性规划问题。针对此类问题的求解,数学类优化方法如线性规划、非线性规划、动态规划等,都存在明显不足之处。而采用智能优化算法对此问题的研究较多,主要包括遗传算法、模拟退火算法、禁忌搜索、人工神经网络、模糊优化等算法。其中模拟退火算法收敛速度慢、禁忌搜索

1

算法对初始解依赖性较强、人工神经网络算法存在网络合适的隐含层数目和节点数目难以确定、模糊优化方法的隶属函数和模糊推理规则的确定较困难。鉴于遗传算法作为一种新的全局 优化搜索算法,以其简单通用、鲁棒性强、适于并行处理及应用范围广等显著特点,本文采用基于矩阵实数编码遗传算法来解决机组组合问题。

可以将整个问题分为以下两个任务来完成: 一、 建立机组组合问题的数学模型 二、 采用穷举搜索法和遗传算法,利用C++或者MATLAB编程,求解模型,得到最优机组组合计划

由于题目中的三个问题所考虑的约束条件复杂程度不同,发电机组数与负荷情况也不相同,本文将三个问题逐一建立模型并求解:

问题1

根据负荷平衡、系统备用、输电线路传输容量、发电机组出力范围、机组增出力、机组降出力等约束建立优化模型I,采用穷举搜索算法,利用C++编程进行求解。

问题2和问题3

在问题1的基础上,增加机组启动和停运时的出力、机组最小运行时间和最小停运时间约束条件,建立了优化模型II,采用穷举搜索法和遗传算法,分别利用C++和MATLAB编程进行求解。

三、模型假设和符号系统

3.1 模型假设

1. 假设系统不存在电力负荷损耗

2. 假设一个小时之内的电力负荷和发电机出力均不变

3. 假设参加交叉运算的染色体个数占全体染色体总数的比例为0.4~0.99 4. 假设发生变异的基因位数所占全体染色体的基因总位数的比例为0.0001~0.1 3.2 符号系统

?1,表示运行uit为机组i在t时段的运行状态,uit??

0,表示停机?Si为机组i的启动成本

fit为机组i在t时段的发电成本 pit为机组i在t时段的出力;

Ljt为负荷j在t时段的负荷量;

pimax为发电机组i的最大出力;

2

Rt为t时段系统备用要求;

plinek为线路linek上流过的电能;

xkl为第k根输电线路第l条母线的线性传输因子;

pinj,busl为母线l上的注入功率;

pk?max为第根输电线路的最大传输容量;

pimin发电机组最小稳定运行出力; rdi为机组i最大减出力; rri为机组i最大增出力;

Ti1为机组i最小运行时间; Ti2为机组i最小停运时间;

四、模型的建立与求解

4.1模型建立分析

4.1.1先考虑目标函数

1) 空载成本和增量成本

观察空载成本和增量成本构成的部分成本随该机组发电出力变化特性图,如图一中折线所示。

图一 空载成本和增量成本之和随该机组发电出力增长走势图

3

在分析计算时为了简便,通常用一条平滑曲线来近似代替有起伏的部分成本特性,如图一中平画曲线所示。当n段直线近似表示时,部分成本特性可表示为

fit?pit??ai?pit??bipit?ci

2 (1)

2) 启动成本

uit1?ui?t?1?Si (2)

??其中:uit为机组i在t时段的运行状态,uit??Si为机组i的启动成本

?1,表示运行?0,表示停机

3) 目标函数

机组组合的目的是针对在指定的周期内,满足系统负荷、备用容量、机组最小时间和最小停机时间等限制,优化确定各机组的启停机计划和优化分配其发电负荷,使发电总费用最小。因此,要以机组的费用最小为依据建立相应的目标函数。

设所研究的计划周期为T,机组台数为n,则该问题的目标函数可以表示为:

minF?u????t?1i?1Tnitfit?pit??uit1?ui?t?1?Si???? (3)

其中:fit为机组i在t时段的发电成本 4.1.2再考虑约束条件

1) 负荷平衡约束

任何时段,电力负荷之和必须等于发电机发电出力之和。

nmit?ui?1pit??Lj?1jt (4)

其中:uit为机组i在t时段的运行状态,uit??pit?1,表示运行?0,表示停机;

为机组i在t时段的出力;

在t时段的负荷量;

Ljt为负荷j2) 系统备用约束

任何时段,发电机的备用容量之和必须大于系统备用要求。

n?u?piti?1imax?pit??Rt (5)

其中:pimax为发电机组i的最大出力;

Rt为t时段系统备用要求;

4