




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
三峡大学数学建模第一题电力生产问题三峡大学数学建模第一题电力生产问题三峡大学数学建模第一题电力生产问题资料仅供参考文件编号:2022年4月三峡大学数学建模第一题电力生产问题版本号:A修改号:1页次:1.0审核:批准:发布日期:电力生产问题为满足每日电力需求(单位为兆瓦(MW)),可以选用四种不同类型的发电机。每日电力需求如下表1。表1:每日用电需求(兆瓦)时段(0-24)0-66-99-1212-1414-1818-2222-24需求12000320002500036000250003000018000每种发电机都有一个最大发电能力,当接入电网时,其输出功率不应低于某一最小输出功率。所有发电机都存在一个启动成本,以及工作于最小功率状态时的固定的每小时成本,并且如果功率高于最小功率,则超出部分的功率每兆瓦每小时还存在一个成本,即边际成本。这些数据均列于表2中。表2:发电机情况可用数量最小输出功率(MW)最大输出功率(MW)固定成本(元/小时)每兆瓦边际成本(元/小时)启动成本型号110750175022505000型号241000150018001600型号381200200037502400型号431800350048001200只有在每个时段开始时才允许启动或关闭发电机。与启动发电机不同,关闭发电机不需要付出任何代价。问题(1)在每个时段应分别使用哪些发电机才能使每天的总成本最小,最小总成本为多少?
问题(2)如果在任何时刻,正在工作的发电机组必须留出20%的发电能力余量,以防用电量突然上升。那么每个时段又应分别使用哪些发电机才能使每天的总成本最小,此时最小总成本又为多少?
电力生产问题的数学模型摘要本文解决的是电力生产问题,在发电机的发电量能满足每日的电力需求的条件下,为了使每日的总成本达到最低,我们建立了一个最优化模型。对于问题一:由已知条件可知有固定成本、边际成本、启用成本,据此,我们确定了三个指标:即固定总成本、边际总成本、启动总成本。总成本即为这三项总成本之和。每天分为七个时段,发电机共有四种型号,方案结果应该包括每个时段每种型号平均功率及该时段该型号发电机的数量,一共有56个未知数,为减少未知数,并将非线性约束条件转化为线性约束条件,将整数规划转化为非整数规划,我们以每个时段每种型号的几个发电机发出的总功率为变量,并列出相应的约束条件,然后通过LINGO求出个时段各种型号发电机的总功率,再采用分支定界法求出最小总成本为万元。再根据总功率利用Matlab软件计算出总功率所对应的该型号发电机的数量(见表一)。对于问题二:题目要求在任何时刻,正在工作的发电机组必须留出20%的发电能力余量,以防用电量突然上升。其他条件与问题一相同,因此,只需增加一个约束条件,即发电机机组所能发出的最大总功率乘以80%后大于用电需求。为锻炼编程技术,故在第二问改用Matlab软件编程来求解,将所要求的7个时段4种型号的发电机的平均功率一共28个未知数用X1,X2,,,,X28表示,将其对应的发电机数量用X29,X30,,,X56表示,并利用矩阵列出约束条件和目标函数,然后编程并运行求解,得到的发电机数量有的不为整数,然后采用分支定界法,得到调整后的结果,最小总成本为万元。关键词:线性规划、总功率、使用数量、总成本1.问题重述问题背景为满足每日电力需求(单位为兆瓦(MW)),可以选用四种不同类型的发电机。每日电力需求如下表1。表1:每日用电需求(兆瓦)时段(0-24)0-66-99-1212-1414-1818-2222-24需求12000320002500036000250003000018000每种发电机都有一个最大发电能力,当接入电网时,其输出功率不应低于某一最小输出功率。所有发电机都存在一个启动成本,以及工作于最小功率状态时的固定的每小时成本,并且如果功率高于最小功率,则超出部分的功率每兆瓦每小时还存在一个成本,即边际成本。这些数据均列于表2中。表2:发电机情况可用数量最小输出功率(MW)最大输出功率(MW)固定成本(元/小时)每兆瓦边际成本(元/小时)启动成本型号110750175022505000型号241000150018001600型号381200200037502400型号431800350048001200只有在每个时段开始时才允许启动或关闭发电机。与启动发电机不同,关闭发电机不需要付出任何代价。需要解决的问题问题(1)在每个时段应分别使用哪些发电机才能使每天的总成本最小,最小总成本为多少?
问题(2)如果在任何时刻,正在工作的发电机组必须留出20%的发电能力余量,以防用电量突然上升。那么每个时段又应分别使用哪些发电机才能使每天的总成本最小,此时最小总成本又为多少?
模型假设假设1:调整发电机功率没有成本假设2:发电机生产的电量在传输过程中没有损耗假设3:忽略发电机启动的时间假设4:发电机的功率在时段初调整好后在那个时段内保持不变3.符号说明符号符号说明型号j发电机在第i个时间段的总功率型号j发电机的总数量单个型号j发电机的最小功率单个型号j发电机的最大功率第i个时间段的时间型号j发电机每小时的固定成本型号j发电机每兆瓦边际成本型号j发电机的启用成本第i个时间段的用电需求量型号j发电机在第i个时间段的使用数量,式中[]代表向下取整型号j发电机在第(i-1)个时间段的使用数量,式中[]代表向下取整第i时段型号为j的发电机的平均输出功率第i时段型号为j的发电机的数量4.问题分析此题研究的是电力生产中在满足每日电力需求的条件下,使每日的总成本达到最小的数学建模问题。针对问题一:从以下三方面来分析对已知条件的分析:从已知的条件来看,本题将一天分为了七个时间段,在每一个时间段都有对应的电力需求量。为了满足每日的电力需求,有四种型号的发电机可供使用,每种型号的发电机都已知其可用数量、最小输出功率、最大输出功率、固定成本、每兆瓦边际成本、启用成本。要使总成本达到最小,则问题的目标函数就是总成本函数。对目标函数的分析:总成本由三个指标组成,即固定总成本、边际总成本、启动总成本。分别对每个指标进行分析。固定总成本为第i个时间段的时间、型号j发电机在第i个时间段的数量、型号j发电机每小时的固定成本这三者之积的累积和。边际总成本为第i个时间段的时间、型号j发电机在第i个时间段超出此时间段最小总功率的功率、型号j发电机每兆瓦边际成本这三者之积的累积和。启动总成本为型号j发电机启动数量和型号j发电机的启动成本之积的累积和。(3)对约束条件的分析:对机型j发电机在第i个时间段总功率的约束有两个。一是若机型j发电机在第i个时间段不使用,则机型j发电机在第i个时间段的总功率为零;若机型j发电机在第i个时间段使用,则机型j发电机在第i个时间段的总功率要满足大于等于单个机型j发电机的最小输出功率且小于等于全部机型j发电机最大输出功率之和;二是四种机型的发电机在第i个时间段生产的总功率要满足大于等于第i个时间段的用电量需求。针对问题二:题目要求在任何时刻,正在工作的发电机组必须留出20%的发电能力余量,以防用电量突然上升,即发电机组在第i个时间段所能发出的最大总功率的80%要大于等于该时段的用电需求。5.问题一的解答针对问题一我们建立了模型一模型一的建立该模型是为了解决电力生产中,在满足每日电力需求的条件下,用四类不同型号的发电机在一天的七个时段进行电力生产,使总成本达到最小的问题。总成本由以下三项指标组成:指标一:固定总成本指标二:边际总成本指标三:启用总成本为了使总成本达到最小,我们建立了如下的目标函数:(1)若机型j发电机在第i个时间段不使用,则机型j发电机在第i个时间段的总功率为零;若机型j发电机在第i个时间段使用,则机型j发电机在第i个时间段的总功率要满足大于等于单个机型j发电机的最小输出功率且小于等于全部机型j发电机最大输出功率之和。据此,我们建立了如下约束条件:其中=1,2,···,7=1,2,3,4(2)四种机型的发电机在第i个时间段生产的总功率要满足大于等于第i个时间段的用电量需求。据此,我们建立如下约束条件:其中=1,2,···,7=1,2,3,4模型一的求解我们用Lingo软件求解这个模型,对于这个约束条件,Lingo软件不能直接处理,因此,我们先用分支定界法将此条件改为,然后用Lingo软件求解,分析计算结果发现有的时段的某型号发电机输出功率小于该型号发电机的最小功率,故对进行调整,调整后得到满足约束条件的最低总成本为万元。根据Lingo软件计算得到的第i时段型号为j的几个发电机发出的总功率,然后用Matlab软件以总功率除以该型号单个发电机的最大输出功率,然后向正无穷方向取整,得到第i时段型号为j的发电机的数量。各个时段各种型号几个发电机发出的总功率及对应的发电机数量如下表一所示:表一时段型号型号1型号2型号3型号4总功率数量总功率数量总功率数量总功率数量0-6006000460003006-926000416000839-1226000480012-1436000416000810500314-1830002600041600080018-22160004160008322-240047006.问题二的解答根据问题一的模型,我们已经求出了在满足每日电力需求的条件下,用四类不同型号的发电机在一天的七个时段进行电力生产,使总成本达到最小,而问题二要求在任何时刻,正在工作的发电机组必须留出20%的发电能力余量,以防用电量突然上升。故在第一问的目标函数和约束条件保持不变的情况下,应再增加一个约束条件,即第i个时段发电机组所能输出地最大功率的80%应大于第i个时段的用电需求。列出目标函数和约束条件如下:将目标函数和约束条件用矩阵的形式表示出来,然后用Matlab软件求解,求解结果中有的不为整数,故用分支定界法进行调整,调整后得到满足约束条件的最小总成本为每天万元。各个时段各种型号的发电机发出的平均功率和对应的数量见下表:表二时段型号型号1型号2型号3型号4平均功率数量平均功率数量平均功率数量平均功率数量0-67503420002006-992051500420008180039-12750611254200080012-141075815004200081800314-18750611254200080018-22750414004200081800322-247503100046007.模型的评价、改进及推广模型评价优点:(1)根据题目的要求我们确立了三个指标,即固定总成本、边际总成本、启用总成本,以上三项总成本之和即为总成本,通过对三项总成本的逐项分析,建立了最优的目标函数。(2)对于约束条件的建立,我们综合考虑了各种情况,使约束条件达到了具体化全面化。(3)以每个时段每种型号的几个发电机发出的总功率为变量,将56个未知数缩减为28个,将约束条件中的非线性约束转化为线性约束,将整数规划转化为非整数规划,并提高了运行速度,缺点:我们用总功率来表示数量,通过总功率来求数量,而此数量的结果不能在LINGO中直接表示出来,需要另外通过其他软件来得出结果,使建模工作复杂化模型改进所建模型是在发电机无故障的条件下建立的,如果考虑发电机随使用时间的增加,在不同的时间段(譬如以月为时间段单位)需要不同的检修费用,再把检修费用平分到每一天,将此检修费用也算作总成本的一部分。增加约束条件,使模型更精准优化。(3)所建模型假设了发电机的功率在时段初调整好后在那个时段内保持不变,如果在每个时段,发电机的功率在满足约束条的情况下为可变的,则可以根据实际情况做不同调整,使模型更实际化。模型推广我们建的模型不仅适用于电力生产,也适用于其它方面的生产,也可用于产销平衡问题,选址问题,值班问题等等。参考文献[1]赵静,但琦,数学建模与数学实验,高等教育出版社,2008.[2]楼顺天,姚若玉,沈俊霞,程序设计语言,西安电子科技大学出版社,2008.附录附录一:问题一中发电机组各时段的功率和开启的数量时段型号型号1型号2型号3型号4总功率数量总功率数量总功率数量总功率数量0-6006000460003006-926000416000839-1226000480012-1436000416000810500314-1830002600041600080018-22160004160008322-24004700附录二:问题二中发电机组各时段的功率和开启的数量表二时段型号型号1型号2型号3型号4总功率数量总功率数量总功率数量总功率数量0-680014800464004006-910400848004112007560029-1290007480041120070012-14112008480041280087200314-1890007480041120070018-2284006480041120075600222-2400480049600636002附录三:模型一调整前所用程序sets:!电力生产问题;shiduan/1..7/:s,x;xinghao/1..4/:n,p,q,g,b,v;link(shiduan,xinghao):c;endsetsdata:!各个时段的小时数;s=6,3,3,2,4,4,2;!各个时段的用电需求;x=12000,32000,25000,36000,25000,30000,18000;!可用数量;n=10,4,8,3;!最小输出功率;p=750,1000,1200,1800;!最大输出功率;q=1750,1500,2000,3500;!固定成本;g=2500,1800,3750,4800;!边际成本;b=,,,;!启动成本;v=5000,1600,2400,1200;enddata!目标函数@floor(c(i,j)/q(j)+为第i时段型号为j的发电机的数量@if函数用来判断:当i=1时,i-1=7;min=@sum(link(i,j):s(i)*(@floor(c(i,j)/q(j)+*g(j)+(c(i,j)-(@floor(c(i,j)/q(j)+)*p(j))*b(j))+(@sign((@floor(c(i,j)/q(j)+)-(@floor((@if(i#ge#2,c(i-1,j),0))/q(j)+)+1))/2*(@if(i#ge#2,@floor(c(i,j)/q(j)+-(@floor(c(i-1,j)/q(j)+),@floor(c(1,j)/q(j)+))*v(j));!第i时段的总发电量大于该时段的用电需求;@for(shiduan(i):@sum(xinghao(j):c(i,j))>=x(i));!型号为j的发电机发出的总功率小于或等于该型号几个发电机所能发出的最大功率;@for(link(i,j):c(i,j)<=n(j)*q(j));!型号为j的发电机发出的总功率大于或等于0;@for(link(i,j):c(i,j)>=0);End程序运行结果Feasiblesolutionfound.Objectivevalue:1463554.Infeasibilities:Totalsolveriterations:377VariableValueReducedCostS(1)附录四:模型一调整后所用程序sets:!电力生产问题;shiduan/1..7/:s,x;xinghao/1..4/:n,p,q,g,b,v;link(shiduan,xinghao):c;endsetsdata:!各个时段的小时数;s=6,3,3,2,4,4,2;!各个时段的用电需求;x=12000,32000,25000,36000,25000,30000,18000;!可用数量;n=10,4,8,3;!最小输出功率;p=750,1000,1200,1800;!最大输出功率(留有20%余量);q=1400,1200,1600,2800;!固定成本;g=2500,1800,3750,4800;!边际成本;b=,,,;!启动成本;v=5000,1600,2400,1200;enddata!目标函数@floor(c(i,j)/q(j)+为第i时段型号为j的发电机的数量@if函数用来判断:当i=1时,i-1=7;min=@sum(link(i,j):s(i)*(@floor(c(i,j)/q(j)+*g(j)+(c(i,j)-(@floor(c(i,j)/q(j)+)*p(j))*b(j))+(@sign((@floor(c(i,j)/q(j)+)-(@floor((@if(i#ge#2,c(i-1,j),0))/q(j)+)+1))/2*(@if(i#ge#2,@floor(c(i,j)/q(j)+-(@floor(c(i-1,j)/q(j)+),@floor(c(1,j)/q(j)+))*v(j));!第i时段的总发电量大于该时段的用电需求;@for(shiduan(i):@sum(xinghao(j):c(i,j))>=x(i));!型号为j的发电机发出的总功率小于或等于该型号几个发电机所能发出的最大功率;@for(link(i,j):c(i,j)<=n(j)*q(j));!型号为j的发电机发出的总功率大于或等于0;@for(link(i,j):c(i,j)>=0);c(3,4)=0;c(5,4)=0;c(7,1)=0;c(6,1)>=750;EndLocaloptimalsolutionfound.Objectivevalue:1575426.Objectivebound:1541773.Infeasibilities:Extendedsolversteps:4Totalsolveriterations:685024VariableValueReducedCostS(1)附录五:问题一中用Matlab软件求第i个时间段型号j发电机的数量的程序c=[001816..050为第i时段型号为j的几个发电机发出的总功率q=[500];qq=repmat(q,7,1);%qq(i,j)为型号为j的单个发电机所能发出的最大功率n=[10483];nn=repmat(n,7,1);%nn(i,j)为型号为j的发电机的可用数量N=ceil(c./qq)%N(i,j)为第i时段型号为j的发电机的数量N<=nn%N(i,j)应小于nn(i,j),故运算结果应该为所有元素均为1的7行4列的矩阵,此运算用于检验程序运行结果N=0430248324803483248014830470ans=1111111111111111111111111111附录六:问题二中用Matlab软件求第i个时间段型号j发电机的数量的程序c=[40000560011200007200112000003600];%c(i,j)为第i时段型号为j的几个发电机发出的总功率q=[800];qq=repmat(q,7,1);%qq(i,j)为型号为j的单个发电机所能发出的最大功率n=[10483];nn=repmat(n,7,1);%nn(i,j)为型号为j的发电机的可用数量N=ceil(c./qq)%N(i,j)为第i时段型号为j的发电机的数量N<=nn%N(i,j)应小于nn(i,j),故运算结果应该为所有元素均为1的7行4列的矩阵,此运算用于检验N=1440847274708483747064720462ans=1111111111111111111111111111M文件(总成本:zchb)functionf=zchb(x)G=ones(1,28);h=[2250]';H=repmat(h,7,1);i=[750]';I=repmat(i,7,1);j=[.8]';J=repmat(j,7,1);K=[2222]';l=[5000]';L=repmat(l,7,1);xxx=zeros(28,1);xxx(:)=x(1:28);nnn=zeros(28,1);nnn(:)=x(29:56);u=[1111]';s=zeros(24,1);s(:)=x(33:56);t=zeros(24,1);t(:)=x(29:52);xsh=(sign(s-t)+1)/2;XSh=cat(1,u,xsh);v=[x(29)x(30)x(31)x(32)]';shlch=cat(1,v,s-t);f=det(G*(nnn.*(H+(xxx-I).*J).*K+L.*XSh.*shlch));M文件(用电需求:ydxq:)function[g,ceq]=ydxq(x)%非线性约束条件xxx=zeros(28,1);xxx(:)=x(1:28);xxxx=(reshape(xxx,4,7))';nnn=zeros(28,1);nnn(:)=x(29:56);nnnn=reshape(nnn,4,7);xq=[000000]';a=eye(7);b=ones(7,1);c=[500]';cc=(repmat(c,1,7))';g=[xq-xxxx*nnnn.*a*b;*cc*nnnn.*a*b];ceq=[];主程序:p=[750;1000;1200;1800];pp=repmat(p,7,1);nnmin=[0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0];VLB=cat(1,pp,nnmin);q=[1750;1500;2000;3500];qq=repmat(q,7,1);nnmax=[10;4;8;3;10;4;8;3;10;4;8;3;10;4;8;3;10;4;8;3;10;4;8;3;10;4;8;3];VUB=cat(1,qq,nn
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国际金融理财师考试实务案例研究的重要性及试题答案
- 2025年银行从业资格证考试挑战与机遇试题答案
- 2024小语种考试考场准备及试题与答案
- 深化理解的2025年国际金融理财师考试基础技能提升试题及答案
- 2025年特许金融分析师心理适应措施试题及答案
- 透彻理解特许金融分析师考试的考题内涵试题及答案
- 小语种证书考试终极复习试题及答案
- 专业素养与畜牧师考试试题及答案
- 2024年畜牧师考试复习提升试题及答案
- 理财师考试中常见的误区试题及答案
- 瓶装矿泉水销售代理合同
- 2025数据中心基础设施运行维护
- 人教版(2024)七年级下册英语Unit 5 Here and Now 单元教学设计(共6课时)
- 2025年保密知识试题库(附参考答案)
- 2025年临床医师定期考核必考复习题库及答案(900题)
- 完善食品安全风险管控清单制度
- 2025年度光伏发电工程质量保修服务协议3篇
- 心理战心理策略-洞察分析
- 二年级语文下册 识字 口语交际 长大以后做什么教学实录 新人教版
- 外协单位进厂安全
- 影视动画产业升级-洞察分析
评论
0/150
提交评论