数学建模论文
基于遗传算法的机组组合问题的建模与求解
摘要
首先,建立发电成本最小目标函数和各项约束条件的数学表达式。其中机组空载成本和增量成本之和随该机组发电出力增长呈折线关系,在分析计算时为了简便,本文采用一条平滑的二次曲线来近似代替。
本文针对当前科技水平不足以有效存储电力的情况下产生的发电机机组组合的问题,考虑负荷平衡、输电线传输容量限制等实际情况产生的约束条件,建立机组组合优化模型,追求发电成本最小。同时采用矩阵实数编码遗传算法(MRCGA)和穷举搜索算法,利用MATLAB 7.0.1和C++编程,分别对模型进行求解,并对所得结果进行分析比较,以此来帮助电力部门制定机组启停计划。
对于问题1,选取相应的约束条件对目标函数进行约束,从而给出优化模型Ⅰ。由于问题1的求解规模很小,所以采用穷举搜索算法,利用C++编程求解,得到了3母线系统4小时的最优机组组合计划(见表一)。
对于问题3,用IEEE118系统对优化模型II进行测试。由于求解规模巨大,同样采用遗传算法和穷举搜索算法,利用MATLAB和C++编程,分别对模型进行求解,部分结果如下:
发电总成本(单位:百万) 矩阵实数编码遗传算法 2.034 穷举搜索算法 2.135 在对所得结果进行比较时发现对于大规模问题,遗传算法优势明显,将其求解结果作为24小时的最优机组组合计划(见附录)。
最后,我们就模型存在的不足之处提出了改进方案,并对优缺点进行了分析。
对于问题2,在优化模型Ⅰ的基础上,增加最小稳定运行出力约束、机组启动和停运时的出力约束以及机组最小运行时间和最小停运时间约束这三个约束条件,建立了优化模型II。同时采用遗传算法和穷举搜索算法,利用MATLAB和C++编程,分别对模型进行求解,部分结果如下: 发电总成本(单位:元) 矩阵实数编码遗传算法 6780 穷举搜索算法 6820 在对所得结果进行了分析比较,重新制定了3母线系统4小时最优机组组合计划(见表三)。
关键字 机组组合优化模型 矩阵实数编码遗传算法 穷举搜索算法
1
一、 问题的提出
二、 在没有电力负荷损耗以及一个小时之内的电力负荷和发电机出力均不变的前提
下,假定所有发电机组的发电成本都是由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
问题3:IEEE 118系统
用IEEE-118节点的电力系统对问题2的求解模型进行测试,试求出24个小时的最优机组组合计划。最终结果应该包括总成本、各小时各机组的状态、各小时各机组的发电出力和各小时各机组提供的备用。
二、问题的分析
机组优化组合和优化启停就是要在满足约束条件的情况下,优化地选定各时段参加运行的机组,求出机组的最佳运行方案,实现发电成本最小。
然而,机组组合问题是一个多变量、多约束的混合整数非线性规划问题。针对此类问题的求解,数学类优化方法如线性规划、非线性规划、动态规划等,都存在明显不足之处。而采用智能优化算法对此问题的研究较多,主要包括遗传算法、模拟退火算法、禁忌搜索、人工神经网络、模糊优化等算法。其中模拟退火算法收敛速度慢、禁忌搜索算法对初始解依赖性较强、人工神经网络算法存在网络合适的隐含层数目和节点数目难以确定、模糊优化方法的隶属函数和模糊推理规则的确定较困难。鉴于遗传算法作为一
2
种新的全局 优化搜索算法,以其简单通用、鲁棒性强、适于并行处理及应用范围广等显著特点,本文采用基于矩阵实数编码遗传算法来解决机组组合问题。
可以将整个问题分为以下两个任务来完成: 一、 采用穷举搜索法和遗传算法,利用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 符号系统
uit为机组i在t时段的运行状态,uit??fit为机组i在t时段的发电成本
?1,表示运行
0,表示停机?Si为机组i的启动成本
Ljt为负荷j在t时段的负荷量; pimax为发电机组i的最大出力;
pit为机组i在t时段的出力;
3
Rt为t时段系统备用要求;
pinj,busl为母线l上的注入功率;
pk?max为第根输电线路的最大传输容量; pimin发电机组最小稳定运行出力; rdi为机组i最大减出力; rri为机组i最大增出力; Ti1为机组i最小运行时间; Ti2为机组i最小停运时间
plinek为线路linek上流过的电能;
xkl为第k根输电线路第l条母线的线性传输因子; ;
四、模型的建立与求解
4.1模型建立分析
4.1.1先考虑目标函数
1) 空载成本和增量成本
观察空载成本和增量成本构成的部分成本随该机组发电出力变化特性图,如图一中折线所示。
4