收藏 分享(赏)

数学建模优秀论文--基于遗传算法的机组组合问题的建模与求解.doc

上传人:kpmy5893 文档编号:8640698 上传时间:2019-07-06 格式:DOC 页数:53 大小:1.94MB
下载 相关 举报
数学建模优秀论文--基于遗传算法的机组组合问题的建模与求解.doc_第1页
第1页 / 共53页
数学建模优秀论文--基于遗传算法的机组组合问题的建模与求解.doc_第2页
第2页 / 共53页
数学建模优秀论文--基于遗传算法的机组组合问题的建模与求解.doc_第3页
第3页 / 共53页
数学建模优秀论文--基于遗传算法的机组组合问题的建模与求解.doc_第4页
第4页 / 共53页
数学建模优秀论文--基于遗传算法的机组组合问题的建模与求解.doc_第5页
第5页 / 共53页
点击查看更多>>
资源描述

1、数学建模优秀论文-基于遗传算法的机组组合问题的建模与求解摘要本文针对当前科技水平不足以有效存储电力的情况下产生的发电机机组组合的问题,考虑负荷平衡、输电线传输容量限制等实际情况产生的约束条件,建立机组组合优化模型,追求发电成本最小。同时采用矩阵实数编码遗传算法(MRCGA)和穷举搜索算法,利用 MATLAB 7.0.1 和 C+编程,分别对模型进行求解,并对所得结果进行分析比较,以此来帮助电力部门制定机组启停计划。首先,建立发电成本最小目标函数和各项约束条件的数学表达式。其中机组空载成本和增量成本之和随该机组发电出力增长呈折线关系,在分析计算时为了简便,本文采用一条平滑的二次曲线来近似代替。对

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

3、最优机组组合计划(见表三) 。对于问题 3,用 IEEE118 系统对优化模型 II 进行测试。由于求解规模巨大,同样采用遗传算法和穷举搜索算法,利用 MATLAB 和 C+编程,分别对模型进行求解,部分结果如下:发电总成本(单位:百万)矩阵实数编码遗传算法 2.034穷举搜索算法 2.135在对所得结果进行比较时发现对于大规模问题,遗传算法优势明显,将其求解结果作为 24 小时的最优机组组合计划(见附录) 。最后,我们就模型存在的不足之处提出了改进方案,并对优缺点进行了分析。关键字 机组组合优化模型 矩阵实数编码遗传算法 穷举搜索算法一、问题的提出当前的科学技术还不能有效地存储电力,所以电力

4、生产和消费在任何时刻都要相等,否则就会威胁电力系统安全运行。为了能够实时平衡变化剧烈的电力负荷,电力部门往往需要根据预测的未来电力负荷安排发电机组起停计划,在满足电力系统安全运行条件下,追求发电成本最小。在没有电力负荷损耗以及一个小时之内的电力负荷和发电机出力均不变的前提下,假定所有发电机组的发电成本都是由 3 部分组成:1. 启动成本(Startup Cost) ,2.空载成本(No load cost) ,3.增量成本(Incremental Cost) 。需要考虑的约束有: 1负荷平衡约束 2系统备用约束 3输电线路传输容量约束 4发电机组出力范围约束 5机组增出力约束 6机组降出力约束

5、。问题 1:3 母线系统有一个 3 母线系统,其中有 2 台机组、1 个负荷和 3 条输电线路,已知 4 个小时的负荷和系统备用要求。请求出这 4 个小时的最优机组组合计划。最终结果应该包括总成本、各小时各机组的状态、各小时各机组的发电出力和各小时各机组提供的备用。 G1 L Bus 2Bus 1Bus 0 G2 Line 0-1Line 0-2Line 1-2问题 2:3 母线系统在问题 1 的基础上,考虑发电机组的下列物理特性约束:1. 发电机组的稳定出力范围约束 2.机组启动时的出力约束 3.机组停运时的出力约束 4.机组最小运行时间约束 5.机组最小停运时间约束。重新制定最优机组组合计

6、划。问题 3:IEEE 118 系统用 IEEE118 节点的电力系统对问题 2 的求解模型进行测试,试求出 24 个小时的最优机组组合计划。最终结果应该包括总成本、各小时各机组的状态、各小时各机组的发电出力和各小时各机组提供的备用。 二、问题的分析机组优化组合和优化启停就是要在满足约束条件的情况下,优化地选定各时段参加运行的机组,求出机组的最佳运行方案,实现发电成本最小。然而,机组组合问题是一个多变量、多约束的混合整数非线性规划问题。针对此类问题的求解,数学类优化方法如线性规划、非线性规划、动态规划等,都存在明显不足之处。而采用智能优化算法对此问题的研究较多,主要包括遗传算法、模拟退火算法、

7、禁忌搜索、人工神经网络、模糊优化等算法。其中模拟退火算法收敛速度慢、禁忌搜索算法对初始解依赖性较强、人工神经网络算法存在网络合适的隐含层数目和节点数目难以确定、模糊优化方法的隶属函数和模糊推理规则的确定较困难。鉴于遗传算法作为一种新的全局 优化搜索算法,以其简单通用、鲁棒性强、适于并行处理及应用范围广等显著特点,本文采用基于矩阵实数编码遗传算法来解决机组组合问题。可以将整个问题分为以下两个任务来完成:一、 建立机组组合问题的数学模型二、 采用穷举搜索法和遗传算法,利用 C+或者 MATLAB 编程,求解模型,得到最优机组组合计划由于题目中的三个问题所考虑的约束条件复杂程度不同,发电机组数与负荷

8、情况也不相同,本文将三个问题逐一建立模型并求解:问题 1根据负荷平衡、系统备用、输电线路传输容量、发电机组出力范围、机组增出力、机组降出力等约束建立优化模型 I,采用穷举搜索算法,利用 C+编程进行求解。问题 2 和问题 3在问题 1 的基础上,增加机组启动和停运时的出力、机组最小运行时间和最小停运时间约束条件,建立了优化模型 II,采用穷举搜索法和遗传算法,分别利用 C+和MATLAB 编程进行求解。三、模型假设和符号系统3.1 模型假设1. 假设系统不存在电力负荷损耗2. 假设一个小时之内的电力负荷和发电机出力均不变3. 假设参加交叉运算的染色体个数占全体染色体总数的比例为 0.40.99

9、4. 假设发生变异的基因位数所占全体染色体的基因总位数的比例为 0.00010.13.2 符号系统为机组 在 时段的运行状态,ituit 10itu, 表 示 运 行, 表 示 停 机为机组 的启动成本iSi为机组 在 时段的发电成本itft为机组 在 时段的出力;itpi为负荷 在 时段的负荷量;jtLjt为发电机组 的最大出力;maxi i为 时段系统备用要求;tR为线路 上流过的电能;linekpliek为第 根输电线路第 条母线的线性传输因子;lxl为母线 上的注入功率;,injbusll为第根输电线路的最大传输容量;maxkp发电机组最小稳定运行出力;in为机组 最大减出力;dir为

10、机组 最大增出力;rii为机组 最小运行时间;1iT为机组 最小停运时间;2ii四、模型的建立与求解4.1 模型建立分析4.1.1 先考虑目标函数1) 空载成本和增量成本观察空载成本和增量成本构成的部分成本随该机组发电出力变化特性图,如图一中折线所示。图一 空载成本和增量成本之和随该机组发电出力增长走势图在分析计算时为了简便,通常用一条平滑曲线来近似代替有起伏的部分成本特性,如图一中平画曲线所示。当 n 段直线近似表示时,部分成本特性可表示为(1)2itititifpabpc2) 启动成本(2)1it iituS其中: 为机组 在 时段的运行状态,ituit 0it, 表 示 运 行, 表 示

11、 停 机为机组 的启动成本iSi3) 目标函数机组组合的目的是针对在指定的周期内,满足系统负荷、备用容量、机组最小时间和最小停机时间等限制,优化确定各机组的启停机计划和优化分配其发电负荷,使发电总费用最小。因此,要以机组的费用最小为依据建立相应的目标函数。设所研究的计划周期为 ,机组台数为 ,则该问题的目标函数可以表示为:Tn(3)11minnitititiittiFufpuS其中: 为机组 在 时段的发电成本itfit4.1.2 再考虑约束条件1) 负荷平衡约束任何时段,电力负荷之和必须等于发电机发电出力之和。(4)11nmitjtupL其中: 为机组 在 时段的运行状态, ;ituit 0

12、it, 表 示 运 行, 表 示 停 机为机组 在 时段的出力;itpit为负荷 在 时段的负荷量;jtLj2) 系统备用约束任何时段,发电机的备用容量之和必须大于系统备用要求。(5)max1nitittupR其中: 为发电机组 的最大出力;maxipi为 时段系统备用要求;tR3) 输电线路传输容量约束线路传输的电能必须在它的传输容量范围内。(6),max0Nlinekklinjbuslklpxp其中: 为线路 上流过的电能;linekpli为第 根输电线路第 条母线的线性传输因子;lxl为母线 上的注入功率;,injbusll为第根输电线路的最大传输容量;maxkp4) 发电机组出力范围约

13、束与稳定出力范围约束处于运行状态的发电机组的发电出力必须小于其最大发电出力,同时必须大于其最小稳定运行出力。(7)minmaxitip其中: 发电机组最小稳定运行出力;minp5) 机组增降出力约束发电机组在增加发电出力时,增加出力的速度要小于其最大增出力;发电机组在减少发电出力时,减少出力的速度要小于其最大减出力。(8)1diitriitrp其中: 为机组 最大减出力;diri为机组 最大增出力;ri6) 机组启动和停运时的出力约束当机组从停运状态变为运行状态时,机组在该小时的发电出力必须为其最小稳定运行出力,且当机组从运行状态变为停运状态时,机组在该小时的发电出力必须为其最小稳定运行出力。

14、(9) min1 1it ititit itpuu 如 果 =0且 ; 或 且 =07) 机组最小运行时间和最小停运时间约束机组每次启动后,连续运行时间至少为该台机组的最小运行时间。机组每次停运后,连续停运时间至少为该台机组的最小停运时间。(10)11itijiititjtTuu(11)221itit ijiitjtT其中: 为机组 最小运行时间;1iTi为机组 最小停运时间;2i4.2 模型及其求解问题 11) 优化模型问题 1 中的 3 母线系统仅考虑负荷平衡约束 系统备用约束、输电线路传输容量约束、发电机组出力范围约束与稳定出力范围约束和机组增降出力约束,所建优化方程模型如下。(12)1

15、1minTnitititiittiFufpuS.st(13)11max,max0max1.nitjtititNlinekklinjbuslklitidiitriititLupRspru为 或 者其中: 为机组 在 时段的发电成本;itfit 2itititifpabpc为机组 的启动成本;iS2)优化模型 的求解算法机组组合问题在数学规划上属于 NP 完全问题,任何 NP 完全问题只有通过列举所有可能的组合,才能得到最优解,即采用穷举搜索法。由于问题 1 的求解规模不大,所以该问题将采用穷举搜索法对模型进行求解。我们设置一计数器 ( )用T234、 、 、以记录机组已运行的时间。读取各机组和负

16、荷的原始数据。另 。Step1. 1T设置机组 1 的第 小时的出力大小(从小到大依次搜索,跨度为 1) ,使2T其出力大小的变化满足增出力约束和降出力约束。判断机组 1 是否满足其出力范围约束。若满足则继续下一步,否则,重复Step3.步骤 2。根据系统负荷平衡约束,求出机组 2 的出力大小。Step4.判断机组 2 出力大小的变化和出力范围是否满足增出力约束、降出力约束5和出力范围约束。若满足则继续下一步,否则重复步骤 2、3、4。判断机组 1 和机组 2 是否满足系统备用约束,若满足则继续下一步,否则Step6.重复步骤 2、3、4、5。判断机组 1 和机组 2 是否满足输电线路传输容量

17、约束,若满足继续下一步,t7.否则重复步骤 2、3、4、5、6。判断计数器 是否为 4,若是则输出该种情况下两台机组各时段出力大 Step8.T小,否则重复步骤 2、3、4、5、6、7,另 。直到所有的情况搜1T索完毕为止。执行完该算法,可以得到一最优机组组合计划。3)模型求解与分析我们根据上面的算法步骤,我们编 C+程序(附录 1) ,并代入各机组和负荷的初始数据。可以得到一总成本为 6580¥的最优机组组合计划,如表一所示:表一 3 母线系统的最优机组组合计划机组 G1 机组 G2状态 运行 关机出力 (MW) 100 01备用 (MW) 100 0状态 运行 关机出力 (MW) 130

18、02备用 (MW) 70 0状态 运行 运行出力 (MW) 130 403备用 (MW) 70 60状态 运行 关机出力 (MW) 140 04备用 (MW) 60 0小时总成本(¥) 6580使用穷举搜索法对该问题虽然能得出结果,但其运行效率太低,不能用于求解大规模问题,且编程实现较复杂,不是一种优良的算法。问题 2 和问题 31) 优化模型问题 2 和问题 3 的优化模型为(14)11minTnitititiittiFufpuS.st(15) 111max,max0max1min1 111. initjtititNlinekklinjbuslklitidiitriitit ititit i

19、titjiititjTit iitupLRppsrupuuuu 为 或 者 如 果 =0且 ; 或 且 =022itjijt2)求解算法对于问题 2 和 3,我们同时采用穷举搜索法和遗传算法两种算法进行求解,并将求得结果进行比较,以比较两种算法的优劣。穷举搜索法的算法思想与问题 1 的求解算法思想一致。遗传算法的流程图如图二所示。算法开始编码确定适应值函数产生初始种群计算适应值函数适应值定标满足终止条件?解码确定最优解输出最优解算法结束选择 交叉 变异是否图二 遗传算法流程图矩阵实数编码遗传算法的描述:针对机组组合问题的矩阵实数编码Step1.本文以要安排发电机组起停计划作为遗传算法中的个体,

20、采用实数矩阵形式进行编码。其具体形式为(16)121122121212,.,.,.,. tTTktTiniiitiTnntnppGVRpp 其中: 为遗传种群中的第 个个体k k为编码矩阵中的第 行第 列元素,含义为发电机组 在 时段的发电出力itpit it为编码矩阵中的第 个列向量,含义为 时段内发电机组间的负荷分配情tVt况为编码矩阵中的第 个行向量,含义为发电机组 在发电计划制定周期内iRi i的出力过程发电机组的运行状态取决于矩阵中元素的具体取值,即根据机组在某时段中的出力大小来确定启停状态,具体表达式为(17)0,1ititpu其 他遗传种群初始化Step2.遗传种群初始化时,按编

21、码矩阵中列向量的顺序进行。以 中 为例,初始过程kGtV如下:(1)生成服从均匀分布的随机数数组(18)12R=r,.,inr1,2.in其中: 为在发电机组 最大最小出力之间随机生成的正数iri(2)计算百分比系数数组 Per(19)12,.,.,inprper其中: 1iinirpe,.in(3)初始化各台发电机组的出力,即初始化 tV(20)12,.,.TttitntVpp其中: itijtperL,.in为负荷 在 时段的负荷量jt个体调整方法Ste3.在进行个体调整时按列向量的先后顺序进行。以个体 中 为例,具体调整措施kGtV如下:(1)根据机组组合问题对精度的要求,对 列中的各个

22、元素保留tV(2)调整 列中的元素取值,使其满足相应发电机组出力范围约束。其方法如下:tV(21)maxmaxin1ina,0i ititit itipp其 他其中: 为调整前发电机组 在 时段的发电出力itpit为调整后发电机组 在 时段的发电出力1it为介于0、1之间的常数,本文取0.6发电机组 最小稳定运行出力;minpi发电机组 最大出力;axi(3)调整 列中的元素取值,使其满足相应发电机组的增出力和降出力约束约束。tV具体如下:(22)112 1,itriititriit dditiititripp其中: 为前一步调整完成的发电机组 在 时段的发电出力1itpt为此步调整后的发电机

23、组 在 时段的发电出力2it i为机组 最大减出力diri为机组 最大增出力ri(4)调整发电机组启停状态使其满足系统备用约束。具体调整方法如下:当 时,增开发电机组,令新投入运行的发电机组发电出力max1nitittupR为其最小出力,直至满足系统备用约束为止。其中, 为 时段系统备用要求tR(5)经过上述三步调整后, 列中所有元素的总和可能不等于 时段中的系统总tVt负荷。因此要进行负荷分配的调整。具体的调整办法为:当 时,通过增11nmitjtupL加运行发电机组出力来满足负荷平衡约束;反之,若 ,则降低运行发电11nitjt机组的出力。此步调整中,只能在发电机组的最大出力允许范围内进行

24、调整,不能改变机组的运行状态。(6)算法趋于收敛时,若发电机组的出力过程不满足最小运行、停运时间约束条件,则通过调整违反约束发电机组的运行状态满足此项约束条件,即:时,延长发电机组 的运行时间;11itijiititjtTuui时,采用将发电机组 违反约束的全部停运状态转变为运221itit ijiitjtT i行状态的方式来满足约束条件,并令相应的出力为机组 的最小出力。其中: 为机组 最小运行时间;1ii为机组 最小停运时间;2iT适度函数的选取Step4.采用个体调整方法后,在求解的过程中只有发电机组的最小运行、停运时间约束条件可能得不到满足。为了加快算法收敛,本文的适度函数采用如下形式

25、:(23)()itneskniiAfGFmS其中: 为发电机组 违反最小运行或停运时间约束条件时的惩罚量,本文取iSi为机组 的启动成本; 为惩罚因子,本文取 ; 为违反此项约束的次数;i 2为正常数,本文取 。其含义为:发电机组 违反1次最小运行时间或停运A61.0Ai时间约束,便以机组 的 倍的启动成本 进行惩罚。i2iS选择复制Step5.(1)群体中各个体的选择概率选择概率的计算公式为:(24)1()()itnesiiitjjfxPx其中: 为第 个体的选择概率()iPx为第 个个体,即本文中机组 各个时段的发电出力i i(2)赌轮选择法赌轮选择法用下面的子过程来模拟: 在 区间内产生

26、一个均匀分布的随机数 ;0,1r 若 ,则染色体 被选中;rq1x 若 , 则染色体 被选中。1(2)kknkx其中 称为染色体 的积累概率, 其计算公式为 i ,.ix(25)1()iijjqPx交叉Step6.通过 在父代中选择交配个体后,将准备进行交叉操作的父代个体表示为5(26)11112222,.,.,CCCtTtGVV交叉操作产生的个体记为 、 ,保留到子代中的个体记为 、 。本文的交1 1O2叉操作是在2个父代个体奇数列与偶数列之间进行的。具体操作过程为:(1)生成随机数 ;生成随机交叉位 。,(0,),1jT(2)交叉操作生成个体 、 ,其表达式为1D2(27)121122 2

27、21,.,(),.,CCCCjjjjTjjjjVVV (3)对交叉生成的个体依照 个体调整方法进行个体调整,然后计算出 、Step3. 1D的适度值。2D(4)采用局部锦标赛选择法在父代个体和交叉产生的个体间进行子代选择,具体方法如下:(28)111222max(),()itnesitnesititOfCfD变异Step7.通过 个体交叉后,将准备进行变异的父代个体表示为6.(29)1112222,.,.,OOtTtEVV变异后产生的个体记为 、 ,保留到子代中的个体记为 、 。1F1I2本文只对某列进行变异处理。具体操作过程为:(1) 生成随机变异因子 ;,(0.45.0)生成随机变异时段

28、;,1T且 为 整 数生成随机变异个体选择因子 1,( )0个 体 发 生 变 异, 个 体 未 发 生 变 异(2)变异后生成个体 、 ,其表达式为1E2(30)11122221,.,(),.OOOOTHVV (3)对变异后生成的个体依照 个体调整方法进行个体调整,然后计算出 、Step3. 1H的适度值。2H(4)采用局部锦标赛选择法在父代个体和变异产生的个体间进行子代选择,具体方法如下:(31)111222max(),()itnesitnesititIfEfH终止条件Step8.遗传算法的终止条件有两类常见条件:第一类:采用设定最大遗传代数的方法,一般可设为 50 代,此时就可能得出最优

29、解。第二类:根据个体的差异来判断,通过计算种群中基因多样性测度,即所有基因位相似程度来进行控制。本文采用第一类方法,将 、 个体依照 个体调整方法进行个体调整,然后1I2Step3.计算出对应的适度值,直到第 代,循环迭代结束,输出最优解 Tc0。G3)模型求解利用穷举搜索法和遗传算法可以分别求解问题 1 和 2。问题 2利用 C+程序对穷举搜索法进行实现,然后求解,所得结果如表二所示。表二 问题二穷举搜索法求解结果机组 G1 机组 G2状态 运行 关机出力 (MW) 100 01备用 (MW) 100 0状态 运行 运行出力 (MW) 110 202备用 (MW) 90 80状态 运行 运行

30、出力 (MW) 110 603备用 (MW) 90 40状态 运行 运行出力 (MW) 100 404备用 (MW) 100 60小时总成本(¥) 6820利用 MATLAB 程序对遗传进行实现,然后求解。 由于遗传算法具有随机性,所程序每次运行所得的结果有略微差别,我们从多次运行的解中选取总成本最小的一组机组组合计划,结果如表三所示。表三 问题二遗传算法求解结果机组 G1 机组 G2状态 运行 关机出力 (MW) 100 01备用 (MW) 100 0状态 运行 关机出力 (MW) 130 02备用 (MW) 70 0状态 运行 运行出力 (MW) 150 203备用 (MW) 50 80状

31、态 运行 运行出力 (MW) 120 204备用 (MW) 80 80小时总成本(¥) 6780从问题 2 两种算法的求解结果中我们可以发现,遗传算法的求解结果优于穷举搜索法,但遗传算法有一定的随机性,有时需多运行几次才能得到最优解。且遗传算法比穷举搜索法更容易实现。问题 3利用穷举搜索法和矩阵实数编码遗传算法分别求解问题 3。穷举搜索法求解结果见附录三。由于矩阵实数编码遗传算法得到的成本最小值具有一定的随机性,且随算法中迭代次数的变化而变化,所程序每次运行所得的结果有略微差别。为求得更为精确的结果,我们变换迭代次数,以判断迭代多少次为最优(这里取 30、50、100 次的结果) ,见图三、四

32、、五,详细结果见附录四、五图三 迭代 30 次的运行结果图四 迭代 50 次的运行结果图五 迭代 100 次的运行结果我们从多次运行的结果中选取最优机组组合计划,使用矩阵实数编码遗传算法求得的最优解为迭代次数为 50 次(总成本、各小时各机组的状态、各小时各机组的发电出力和各小时提供的备用)见附录五从问题 3 的求解结果中,通过不同迭代次数之间的比较以及穷举搜索法与矩阵实数编码遗传算法的对比分析,看出矩阵实数编码遗传算法在进行大规模机组组合问题求解时,具有很强的适应性和全局搜索能力,而且系统规模越大算法的优化结果越理想。因此,矩阵实数编码遗传算法的求解结果优于穷举搜索法,但矩阵实数编码遗传算法

33、有一定的随机性,需多运行几次才能得到最优解。六、模型的改进及评价6.1 模型的改进模型改进一:机组组合优化模型 I 与 II 的改进在机组组合优化模型 I、II 中,通过二次函数对空载成本和增量成本曲线参数进行拟合过程中,采用二次函数拟合误差比较大(增量成本变化幅度比较小) ,特别是机组规模比较小的时候更是如此。鉴于此种情况,当机组规模比较大时,可以采取平滑曲线进行拟合。如问题三,可以利用二次函数进行拟合,根据运行结果可以看出误差更小,机组启停更合理,发电成本更小。此外,当机组规模相对较小时,可以不进行曲线拟合,直接采取分段函数,编程求解。如问题一和二,利用 C+编程,采取穷举搜索法求解,精度

34、会更高。模型改进二:基于矩阵实数编码遗传算法的改进在矩阵实数编码遗传算法步骤中,根据实际情况(如机组规模,时段等问题)可以对各步骤进行优化或改进。如 变异,本文实在时段内列向量进行的,相当于发Step7电机组 在不同时段发电出力的重新调整。因此,还可以采用多窗口变异操作 【1】 。此i操作是在个体内行向量间进行的,相当于在不同发电机组间进行发电出力的重新调整。此法具有经济负荷分配的功能,并且,由于是同时进行多个时段的负荷分配调整,故执行效率较高。当然,二者相结合,效果更佳。6.2 模型的评价优点:第一,提供了一种求解多变量、多约束的混合整数非线性规划的机组组合优化问题的思路,此方法新颖可靠易行

35、,极具参考价值。第二,采用 MRCGA 算法求解机组组合问题的新方法。利用二维实数矩阵对发电计划安排进行编码,将机组组合问题转化为单层优化问题进行求解,因而降低了算法的时间复杂度。运用个体调整方法处理各项约束条件,确保了优化结果的可行性,使该算法更易于应用实际。第三, 矩阵实数编码遗传算法(MRCGA)适合求解大规模机组组合问题。通过MATLAB 仿真计算、不同迭代次数比较分析以及同其他方法(如穷举法)的对比分析,验证了该方法在进行大规模机组组合问题求解时,具有很强的适应性和全局搜索能力,而且系统规模越大算法的优化结果越理想。缺点:第一,采用二次函数对空载成本和增量成本曲线参数进行拟合过程中,

36、拟合误差比较大。特别是机组规模比较小时更是如此。第二,MRCGA 算法对小规模机组组合问题求解结果精度不高,误差大。参考文献:1 刘琼荪,龚劬,何中市,傅鹂,任善强,数学实验,北京:高等教育出版社,20042 姜启源,谢金星,叶俊,数学模型,北京:高等教育出版社,20063 孙力勇,张焰,蒋传文,基于矩阵实数编码遗传算法求解大规模机组组合问题,中国机电工程学报,第 26 卷(2 期),20064 赵东方,数学模型与计算,北京:科学出版社,2007附录附录 1 问题 1 的 C+求解程序#include #include using namespace std;double cost1(doub

37、le x);double cost2(double x);int get_total_price();void fun(int i);ofstream fout(“11.doc“);const int hour = 5;/ 最大出力int pmax2 = 200, 100;/ 最大增出力int pcmax2 = 30, 40;/ 最大减出力int pdmax2 = 50, 60;/ 状态int state2hour = 1, 0;/ 负荷int demand5 = 0, 100, 130, 170, 140;/ 启动费用int start2 = 350, 100;/ 机组各时段状态int po

38、wer25 = 100, 0;/ 系统备用要求int b_powerhour = 0, 20, 30, 50, 40;/ 最小费用int minprice = 9999999;int main()fun(1);return 0;/ 机组 1 成本double cost1(double x)if (x price ? price: minprice);/cout 200)continue;/ 机组 1 增出力和减出力约束if ( (power0i-power0i-1) pcmax0) / 机组 2/ 负荷平衡约束power1i = demandi - power0i;/ 机组 2 出力范围约束i

39、f (power1i 100)continue;/ 机组 2 增出力和减出力约束if ( (power1i-power1i-1) pcmax1) / 机组 1 状态if (power0i 0)state0i = 1;elsestate0i = 0;/ 机组 2 状态if (power1i 0)state1i = 1;elsestate1i = 0;/ 系统备用约束int bei = 0;int k = 0;for ( k = 0; k 2; k+)bei += stateki * (pmaxk - powerki);if (bei b_poweri)continue;if (i = hour

40、- 1)/ cout get_total_price() “ “;/ for (k = 0; k hour; k+)/ / cout power0k “-“ power1k “ “;/ / cout endl;fout get_total_price() “ “;for (k = 0; k hour; k+)fout power0k “-“ power1k “ “;fout endl;else/ 继续递归求解fun(i + 1);附录 22.1 初始化个参数% IEEE118BusData 遗传算法计算%分段增量总发电量 54*5rp = 10 15 20 25 3010 15 20 25 3

41、010 15 20 25 30180 210 240 270 300140 180 220 260 30014 18 22 26 3040 55 70 85 10010 15 20 25 3010 15 20 25 30140 180 220 260 300150 200 250 300 35012.4 16.8 21.2 25.6 3012.4 16.8 21.2 25.6 3040 55 70 85 10012.4 16.8 21.2 25.6 3040 55 70 85 10012.4 16.8 21.2 25.6 3012.4 16.8 21.2 25.6 3040 55 70 85

42、10090 130 170 210 25090 130 170 210 25040 55 70 85 10040 55 70 85 10080 110 140 170 20080 110 140 170 20040 55 70 85 100164 228 292 356 420164 228 292 356 420124 168 212 256 30040 50 60 70 8014 18 22 26 3010 15 20 25 308 11 14 17 2040 55 70 85 10040 55 70 85 100180 210 240 270 30040 55 70 85 10014 1

43、8 22 26 30140 180 220 260 30080 110 140 170 20010.4 12.8 15.2 17.6 2026 32 38 44 50140 180 220 260 300140 180 220 260 300140 180 220 260 30010.4 12.8 15.2 17.6 2040 55 70 85 10040 55 70 85 10010.4 12.8 15.2 17.6 2030 35 40 45 5040 55 70 85 10040 55 70 85 10040 55 70 85 10030 35 40 45 50;% 分段增量总成本 54

44、*5cp = 26.94 27.985 28.682 29.379 30.07526.94 27.985 28.682 29.379 30.07526.94 27.985 28.682 29.379 30.07514.845 17.129 17.781 18.434 19.08614.41 16.368 17.238 18.108 18.97827.219 28.473 29.03 29.588 30.14518.332 19.036 19.42 19.804 20.18826.94 27.985 28.682 29.379 30.07526.94 27.985 28.682 29.379 3

45、0.07514.41 16.368 17.238 18.108 18.97811.21 11.81 12.11 12.41 12.7127.108 28.278 28.891 29.504 30.11727.108 28.278 28.891 29.504 30.11718.332 19.036 19.42 19.804 20.18827.108 28.278 28.891 29.504 30.11718.332 19.036 19.42 19.804 20.18827.108 28.278 28.891 29.504 30.11727.108 28.278 28.891 29.504 30.

46、11718.332 19.036 19.42 19.804 20.18812.546 12.858 13.05 13.242 13.43512.546 12.858 13.05 13.242 13.43518.332 19.036 19.42 19.804 20.18818.332 19.036 19.42 19.804 20.18813.642 14.126 14.39 14.654 14.91813.642 14.126 14.39 14.654 14.91818.332 19.036 19.42 19.804 20.18810.076 12.491 13.846 15.202 16.55

47、710.076 12.491 13.846 15.202 16.55714.236 16.063 17.02 17.977 18.93417.308 19.604 20.522 21.441 22.35927.219 28.473 29.03 29.588 30.14526.94 27.985 28.682 29.379 30.07537.923 38.235 38.404 38.574 38.74418.332 19.036 19.42 19.804 20.18818.332 19.036 19.42 19.804 20.18814.845 17.129 17.781 18.434 19.08618.332 19.036 19.42 19.804 20.18827.219 28.473 29.03 29.588 30.14511.18 11.72 11.96 12.2 12.4413.758 14.954 15.606 16.259 16.91137.991 38.353 38.489 38.625 38.76123.196 23.509 23.626 23.744 23.86114.41 16.368 17.238 18.108 18.97814.41 16.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报