资源描述
-电力生产问题摘要本文针对发电机厂每天在不同时间段用电需求量不同的情况下,根据给定不同型号不同数量的发电机,合理分配各台发电机在不同时间段的开启数量和运行功率,使得一天内总发电成本最小的问题,采用单目标非线性规划方法,建立所求问题的最优化模型,借助Lingo软件对模型进行求解,得到每日最小发电总成本,以此制定机组启停计划。针对问题一:为了使一天总的发电成本最低,同时还要考虑到不同时间段开机数量不同对启动成本的相互影响,将七个时间段的成本统一考虑,选取相应的约束条件对目标函数进行约束,从而给出优化模型,运用非线性规划的方法,利用Lingo编程求解,得到发电厂每天最小发电总成本为:1463625元。针对问题二:根据题目要求,在任何时刻,正在工作的发电机组必须留出20%的发电能力余量,以防用电量突然上升,在建模时将每台发电机的实际输出功率降至80%,所以可以按照问题一建立的模型,将其约束条件中每个时间段用电量的需求量进行相应的修改即可,同样利用Lingo编程求解,得到发电厂每天最小发电总成本为:1885420元。最后,对最终得到的结果进行分析,对模型的优缺点给出了客观的评价,就模型的不足之处提出了改进方法,并对模型的应用以及前景提出了自己见解。关键词:电力生产优化非线性规划多变量整体最优化 1问题重述1.1问题背景为了满足每日用电需求,有四种类型的发电机可供选择。用户每日的用电主要分为7个阶段,每个阶段的用电需求(单位为兆瓦(MW)各不相同,为了能够高效低成本完成每天发电计划,就必须使得每阶段的供需平衡,否则就会影响电力系统的安全运行。为了能够实现这样的平衡状态,就需要电力部门对发电机组进行合理的启停计划,在满足每日用电需求的前提下,追求发电成本的最小化。在不考虑其它成本因素的前提下,假定所有发电机组的发电成本都是由三部分组成:1.固定成本;2.边际成本;3.启动成本。需要考虑的约束有:1. 负荷平衡约束;2.发电机组使用数量范围约束;3. 发电机组输出功率范围约束;4.每日电力需求约束。因此,在不同时段开启哪些型号发电机,使发电厂每天的发电总成本最小是一个值得研究的问题。1.2已知条件每天的用电需求分为七个阶段,各个阶段的用电需求各不相同,其用电情况如表1。表1:每日用电需求(兆瓦)时段(0-24)0-66-99-1212-1414-1818-2222-24需求12000320002500036000250003000018000为了便于观察每天的用电需求,将数据重新整理,转化为图1所示的图表。图1各时段的用电需求量从图表中可以清晰的观察到每天用电需求变化,在第一阶段用电需求处于低谷时段,第四阶段处于峰值时段,且用电需求变化较大。可供选择的发电机共有四种型号,每种发电机都有一个最大发电能力,当接入电网时,其输出功率不应低于*一最小输出功率。所有发电机都存在一个启动成本,以及工作于最小功率状态时的固定成本,并且如果功率高于最小功率,则超出部分的功率每兆瓦每小时还存在一个成本,即边际成本。发电机的各项参数指标如表2。表2:发电机情况可用数量最小输出功率(MW)最大输出功率(MW)固定成本(元/小时)每兆瓦边际成本(元/小时)启动成本型号110750175022502.75000型号241000150018002.21600型号381200200037501.82400型号431800350048003.81200只有在每个时段开始时才允许启动或关闭发电机,而且关闭发电机不需要付出任何代价。1.3需要解决的问题:问题(1) 在每个时段应分别使用哪些发电机才能使每天的总成本最小,最小总成本为多少?问题(2) 如果在任何时刻,正在工作的发电机组必须留出20%的发电能力余量,以防用电量突然上升。则每个时段又应分别使用哪些发电机才能使每天的总成本最小,此时最小总成本又为多少?2模型假设与符号说明2.1模型假设假设1:每台发电机在同一时间段内按照预订功率稳定运行,并且输出功率恒定不变。假设2:发电机在相邻时间段进行功率调整时是瞬间完成的,并且不需要考虑调整成本。假设3:发电机的启动和关闭是在瞬间完成,并启动之后就可以达到设定工作功率。假设4:发电机在工作过程中不考虑其电能的损失,即实际输出电能全部转化为用户需求。假设5:发电厂每日发电总成本仅由发电机组的固定成本、边际成本和启动成本构成,不考虑其他成本的影响。假设6:在第一时间段开机前,所有的机组都处于关闭状态。2.2符号说明表3: 符号说明符号符号说明第j种型号发电机在第i阶段开启的数量第j 种型号发电机在第i阶段的输出功率第i个时间段的总时间第j种发电机的每小时边际成本第j种发电机的每小时固定成本第j种发电机的启动成本第j种电机的最小输出功率目标函数,每天发电机组发电的总成本第时段发电机组用户需求量与实际输出总功率的差值第时间段用户的电量需求3问题分析多机组启停优化问题是在满足约束的前提下,优化确定每个阶段机组的启停,求出机组的最佳运行方案,实现每日发电总成本最小。首先建立每日发电成本的目标函数和约束条件的数学表达式。总成本是由各个时间段的总固定成本、总边际成本和总启动成本构成,因此就可以根据已知的数据,求出相应成本表达式。其中启动机组需要相应的启动费用,而关闭机组则不需要费用,这样上一阶段的电机运行情况将影响下一阶段的启动成本,进而影响总成本,因此在考虑电机的运行费用时应该把下一阶段电机的运行状况和上一阶段的运行状况联系起来,故在此需要对全天的7个时间段的发电机的开启情况进行统一、合理的安排,不可只考虑*一个时间段。在第二问中如果在任何时刻,正在工作的发电机组必须留出20%的发电能力余量,以防用电量突然上升。在求解时每台发电机的输出功率就应该改变其相应的约束,将实际输出功率减少20%,即将每日的用电需求提高25%,然后再对模型进行求解。机组组合问题是一个多变量、多约束的混合非线性规划问题,因此在求解时需要对各个时段每一台用于发电的发电机所需要的各项成本进行求和计算,在此我们采用Lingo软件对其进行求解,得到发电厂每日最小发电总成本。4模型建立与求解4.1问题一模型的建立及求解确定目标函数由题目给出的条件及模型的假设知:发电厂每日发电总成本仅由发电机组的固定成本、边际成本和启动成本构成。(1)每天四种型号发电机固定成本:(2)每天四种型号发电机边际成本:(3)每天四种型号发电机总启动成本:(4)目标函数为:综上所述,得到问题一的多变量最优化模型:其中已知量(各时段需求电量)。模型一的求解由上述分析可知,该问题为多变量非线性规划问题,应用LINGO程序进行编程(程序见附录)计算,最终得出每时段各型号发电机的使用数量及其各自的功率。由各型号发电机使用数量及各自功率可求出各时段内的最小成本及一天的最小总成本,得到发电厂每天最小发电总成本为:1463625元。具体的数据见表4。表4:问题一最优化方案时段06699121214141818222224型号1台数0333220功率01533.333750175075013000型号2台数4444444功率150015001237.51500142515001500型号3台数3888886功率2000200020002000200020002000型号4台数0313130功率0180018002916.6671800180004.2问题二模型的建立及求解确定目标函数由题目给出的条件及模型的假设知:发电厂每日发电总成本仅由发电机组的固定成本、边际成本和启动成本构成。(1)每天四种型号发电机固定成本:(2)每天四种型号发电机边际成本:(3)每天四种型号发电机总启动成本:,(4)目标函数为:综上所述,得到问题一的多变量最优化模型:与问题一相比较,只需针对每台实际输出功率进行改变即可,将实际输出功率减少20%,即将N提高25%,则:模型二的求解由上述分析可知,该问题为多变量非线性规划问题,应用LINGO程序进行编程(程序见附录)计算,最终得出每时段各型号发电机的使用数量及其各自的功率。由各型号发电机使用数量及各自功率可求出各时段内的最小成本及一天的最小总成本,得到发电厂每天最小发电总成本为:1885420元。具体的数据见表5。表5问题二最优化方案时段06699121214141818222224型号1台数1778661功率10001750807.142917507501683750型号2台数4444444功率15001500150015001337.515001437.5型号3台数4888888功率2000200020002000200020002000型号4台数0323330功率01916.667180030001800180005结果分析5.1问题一结果分析将问题一机组启动计划最优化方案转化为图示2以便于直接观察:图2 各时段各型号发电机台数安排由图2可清晰看出各型号电机在不同时段的使用情况。其中,型号1的发电机组在每天的各个时段的使用数量均维持在3台及以下;型号2的发电机组在每天的各个时段的使用数量均维持在4台;型号3的发电机组在每天的各个时段的使用数量均维持在8台及以下;型号4的发电机组在每天的各个时段的使用数量均维持在3台及以下。由此可见,型号3的发电机组的使用频率较高。图3 各时段各型号发电机输出功率由图3可清晰看出各型号电机在不同时段的输出功率情况。其中,型号1的发电机组在每天的各个时段使用的输出功率均维持在7501750MW之间,且多数时段的输出功率为750MW或1750MW;型号2的发电机组在每天使用时除第七时段的输出功率除第三、第五时段,其他时段的输出功率基本维持在1500MW;型号3的发电机组在每天使用输出功率均为2000MW;型号4的发电机组在每天使用时输出功率维持在18003000MW之间。5.2 问题二结果分析将最优化方案图示如下:图4 各时段各型号发电机台数安排由图4可清晰看出各型号电机在不同时段的使用情况。其中,型号1的发电机组在每天的各个时段的使用数量均维持在8台及以下;型号2的发电机组在每天的各个时段的使用数量均维持在4台;型号3的发电机组在每天的各个时段的使用数量均维持在8台及以下;型号4的发电机组在每天的各个时段的使用数量均维持在3台及以下。图5 各时段各型号发电机输出功率由图5可清晰看出各型号电机在不同时段的输出功率情况。其中,型号1的发电机组在每天的各个时段使用的输出功率均维持在7501750MW之间;型号2的发电机组在每天的各个时段使用的输出功率均维持在1337.51500MW之间,且多时段为1500MW;型号3的发电机组在每天使用时各时段输出功率均为2000MW;型号4的发电机组在每天使用时输出功率均维持在18003000MW之间。6模型的评价与改进模型的优点:(1)我们将一天所有时段作为整体出发,考虑到了各个时段间启动发电机对成本的影响,构建了不同时段发电机组的启动成本计算公式,该公式可以很好的满足出不同时段发电机组的启动成本的计算。(2)我们提供了一种求解多变量,多约束整数非线性规划的组合优化问题的思路,此方法思路清晰明了,构思新颖,方便易行,极具参考价值。(3)我们所建立的非线性规划模型,很好的解决了发电机厂关于每天发电机组的启停计划,通过模型的求解得出了比较合理的结果,得出了每天发电机组成本的最小值,通过验证,我们所建立的模型具有很好的实用价值,可以推广到其他电厂的应用。模型的缺点:根据题目的要求,以及其他条件的限制和约束,对模型进行了一些合理的假设,虽然求出的结果在所要求的误差范围之内,但是假设还是会对所求结果有一定的影响。对于这些方面还需要做进一步的探讨和改进。7模型的应用和推广模型的应用:(1) 通过所建立的模型以及求解结果,我们可以得到,合理的机组优化将会大幅度的减少机组的发电成本,较低企业消耗,有效的增加企业的经济效益,将模型应用与实际的生活具有非常重要的现实意义。(2) 从得到的优化结果中可以看出,每个机型的利用率是不同的,机型1的利用率较低,而机型3的利用率较高,根据这样的结果可以指导电力企业合理的采购,各种机型,合理的配置机型数量,使得所有机组都能够得到应用,减少浪费。(3) 根据每个时间段的用电需求,可以得到在在06时间段是用电低谷,即晚上的时候用电量较低,而在1214时间段是用电高峰期,这也使符合时间生活的规律,夏季中午温度较高,需要各种电器设备来降温消暑,所以用电增加,针对用电高峰期,我们可以给出建立,例如:尽量的使用风扇,开窗通风,适当的提高空调温度,集中制冷等方法节约用电,从而节约能源,减少用电压力。模型推广:(1)此模型具有一定的适用性,当每个时间段的用电需求发生变化时,只需要对模型的需求约束进行相应的改变就可以重新的求解优化结果。(2)同样当提供的机型数量发生变化时,此模型也可以通过改变其,机型数量约束来重新求解,以达到要求。(3)此模型不仅仅限于电力生产问题,也可以应用于其他的行业,即在有限的资源条件下,合理的分配资源得到相应的要求,同时使得消耗最小。综上,此模型具有很好的应用价值,可以作进一步的推广和研究。参考文献1 宋来忠,王志明.数学建模与实验.:科学,2005.2王正东.数学软件与数学实验.:科学,2010.3 赵静,但琦,数学建模与数学实验.:高等教育,2008.4 楼顺天,姚若玉,沈俊霞.MATLAB7.*程序设计语言.:*电子科技大学,2008.5 *国立.现货市场功率分配问题模型及其求解算法研究 J,2006.56 *来福,杨淳,黄海洋译.数学建模方法与分析.:械工业,2007,4389.7吴礼斌,李柏年.数学实验与建模.:国防工业,2007.8 谢金星.优化建模与LINDO/LINGO软件.:清华大学,2005.附录!目标函数;min=(6*11+3*21+3*31+2*41+4*51+4*61+2*71)*2250+(6*11*(a11-750)+3*21*(a21-750)+3*31*(a31-750)+2*41*(a41-750)+4*51*(a51-750)+4*61*(a61-750)+2*71*(a71-750)*2.7+(abs(*11-*01)+(*11-*01)+(abs(*21-*11)+(*21-*11)+(abs(*31-*21)+(*31-*21)+(abs(*41-*31)+(*41-*31)+(abs(*51-*41)+(*51-*41)+(abs(*61-*51)+(*61-*51)+(abs(*71-*61)+(*71-*61)*5000/2 +(6*12+3*22+3*32+2*42+4*52+4*62+2*72)*1800+(6*12*(a12-1000)+3*22*(a22-1000)+3*32*(a32-1000)+2*42*(a42-1000)+4*52*(a52-1000)+4*62*(a62-1000)+2*72*(a72-1000)*2.2+(abs(*12-*02)+(*12-*02)+(abs(*22-*12)+(*22-*12)+(abs(*32-*22)+(*32-*22)+(abs(*42-*32)+(*42-*32)+(abs(*52-*42)+(*52-*42)+(abs(*62-*52)+(*62-*52)+(abs(*72-*62)+(*72-*62)*1600/2+(6*13+3*23+3*33+2*43+4*53+4*63+2*73)*3750+(6*13*(a13-1200)+3*23*(a23-1200)+3*33*(a33-1200)+2*43*(a43-1200)+4*53*(a53-1200)+4*63*(a63-1200)+2*73*(a73-1200)*1.8+(abs(*13-*03)+(*13-*03)+(abs(*23-*13)+(*23-*13)+(abs(*33-*23)+(*33-*23)+(abs(*43-*33)+(*43-*33)+(abs(*53-*43)+(*53-*43)+(abs(*63-*53)+(*63-*53)+(abs(*73-*63)+(*73-*63)*2400/2 +(6*14+3*24+3*34+2*44+4*54+4*64+2*74)*4800+(6*14*(a14-1800)+3*24*(a24-1800)+3*34*(a34-1800)+2*44*(a44-1800)+4*54*(a54-1800)+4*64*(a64-1800)+2*74*(a74-1800)*3.8+(abs(*14-*04)+(*14-*04)+(abs(*24-*14)+(*24-*14)+(abs(*34-*24)+(*34-*24)+(abs(*44-*34)+(*44-*34)+(abs(*54-*44)+(*54-*44)+(abs(*64-*54)+(*64-*54)+(abs(*74-*64)+(*74-*64)*1200/2;!约束条件;*11*a11+*12*a12+*13*a13+*14*a14=12000;*21*a21+*22*a22+*23*a23+*24*a24=32000;*31*a31+*32*a32+*33*a33+*34*a34=25000;*41*a41+*42*a42+*43*a43+*44*a44=36000;*51*a51+*52*a52+*53*a53+*54*a54=25000;*61*a61+*62*a62+*63*a63+*64*a64=30000;*71*a71+*72*a72+*73*a73+*74*a74=18000;a11=750;a11=750;a21=750;a31=750;a41=750;a51=750;a61=750;a71=1000;a12=1000;a22=1000;a32=1000;a42=1000;a52=1000;a62=1000;a72=1200;a13=1200;a23=1200;a33=1200;a43=1200;a53=1200;a63=1200;a73=1800;a14=1800;a24=1800;a34=1800;a44=1800;a54=1800;a64=1800;a74=3500;*11=10;*21=10;*31=10;*41=10;*51=10;*61=10;*71=10;*12=4;*22=4;*32=4;*42=4;*52=4;*62=4;*72=4;*13=8;*23=8;*33=8;*43=8;*53=8;*63=8;*73=8;*14=3;*24=3;*34=3;*44=3;*54=3;*64=3;*74=3;gin(*11);gin(*21);gin(*31);gin(*41);gin(*51);gin(*61);gin(*71);gin(*12);gin(*22);gin(*32);gin(*42);gin(*52);gin(*62);gin(*72);gin(*13);gin(*23);gin(*33);gin(*43);gin(*53);gin(*63);gin(*73);gin(*14);gin(*24);gin(*34);gin(*44);gin(*54);gin(*64);gin(*74);*01=0;*02=0;*03=0;*04=0;Local optimal solution found. Objective value: 1463625. Objective bound: 1463625. Infeasibilities: 0.2849143E-10 E*tended solver steps: 33 Total solver iterations: 12410 Variable Value *11 0.000000 *21 3.000000 *31 3.000000 *41 3.000000 *51 2.000000 *61 2.000000 *71 0.000000 A11 750.0000 A21 1533.333 A31 750.0000 A41 1750.000 A51 750.0000 A61 1300.000 A71 750.0000 *01 0.000000 *12 4.000000 *22 4.000000 *32 4.000000 *42 4.000000 *52 4.000000 *62 4.000000 *72 4.000000 A12 1500.000 A22 1500.000 A32 1237.500 A42 1500.000 A52 1425.000 A62 1500.000 A72 1500.000 *02 0.000000 *13 3.000000 *23 8.000000 *33 8.000000 *43 8.000000 *53 8.000000 *63 8.000000 *73 6.000000 A13 2000.000 A23 2000.000 A33 2000.000 A43 2000.000 A53 2000.000 A63 2000.000 A73 2000.000 *03 0.000000 *14 0.000000 *24 3.000000 *34 1.000000 *44 3.000000 *54 1.000000 *64 3.000000 *74 0.000000 A14 1800.000 A24 1800.000 A34 1800.000 A44 2916.667 A54 1800.000 A64 1800.000 A74 1800.000 *04 0.000000 Row Slack or Surplus 1 1463625. 2 0.000000 3 0.000000 4 0.000000 5 0.000000 6 0.000000 7 0.000000 8 0.000000 9 0.000000 10 1000.000 11 783.3333 12 216.6667 13 0.000000 14 1000.000 15 1000.000 16 0.000000 17 0.000000 18 1000.000 19 550.0000 20 450.0000 21 0.000000 22 1000.000 23 500.0000 24 0.000000 25 500.0000 26 0.000000 27 237.5000 28 262.5000 29 500.0000 30 0.000000 31 425.0000 32 75.00000 33 500.0000 34 0.000000 35 500.0000 36 0.000000 37 800.0000 38 0.000000 39 800.0000 40 0.000000 41 800.0000 42 0.000000 43 800.0000 44 0.000000 45 800.0000 46 0.000000 47 800.0000 48 0.000000 49 800.0000 50 0.000000 51 0.000000 52 1700.000 53 0.000000 54 1700.000 55 0.000000 56 1700.000 57 1116.667 58 583.3333 59 0.000000 60 1700.000 61 0.000000 62 1700.000 63 0.000000 64 1700.000 65 10.00000 66 7.000000 67 7.000000 68 7.000000 69 8.000000 70 8.000000 71 10.00000 72 0.000000 73 0.000000 74 0.000000 75 0.000000 76 0.000000 77 0.000000 78 0.000000 79 5.000000 80 0.000000 81 0.000000 82 0.000000 83 0.000000 84 0.000000 85 2.000000 86 3.000000 87 0.000000 88 2.000000 89 0.000000
展开阅读全文