运筹学课程设计.docx
- 文档编号:2460360
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:5
- 大小:19.99KB
运筹学课程设计.docx
《运筹学课程设计.docx》由会员分享,可在线阅读,更多相关《运筹学课程设计.docx(5页珍藏版)》请在冰豆网上搜索。
运筹学课程设计
运筹学课程设计
运筹学案例分析 发电机经济调度论文 1 目录 摘要、关键字、引言 4 一、问题背景介绍 4 二、对问题进行数学建模 问题一:
某时刻的经济调度 5问题二:
动态经济调度 问题三:
机组组合问题 6 三、案例分析 7曲线拟合 7问题一案例分析 7 2 问题二案例分析 9问题三案例分析 13 四、研究结论 15 五、
() catch(IloException&e){ cerr catch(...){ cerr (); return0; } 运行结果如下图所示:
同样的,上述cplex程序仅进行了对3个小时内最优解的求解。
对半天12小时我们依然采用了较为简单的matlab编程,所编程序如下:
P1=sdpvar(1,12);%P1代表1号机组12小时内每小时的功率P2=sdpvar(1,12);%P2代表2号机组12小时内每小时的功率P3=sdpvar(1,12);%P3代表3号机组12小时内每小时的功率%定义每台机组每小时功率PA=P1;B=P2; C=P3;%将功率赋予数组 s1=binvar(1,12);%S1代表1号机组12小时内每小时的开关状态s2=binvar(1,12);%S2代表2号机组12小时内每小时的开关状态s3=binvar(1,12);%S3代表3号机组12小时内每小时的开关状态%定义0-1变量S1=s1;S2=s2; 11 S3=s3;%将0-1变量赋予数组 S=[111111111111]; Pw1=30;%Pw1代表机组1的爬坡功率最大值Pw2=50;%Pw2代表机组2的爬坡功率最大值Pw3=70;%Pw3代表机组3的爬坡功率最大值%定义每台机组每小时功率最大改变量Pw f=126+*A*S’+*B*S’+*C*S’;%求最小开销 F=set(10 F=F+set(A
(1)+B
(1)+C
(1)==87)+set(A
(2)+B
(2)+C
(2)==157)+set(A(3)+B(3)+C(3)==267)+set(A(4)+B(4)+C(4)==355); F=F+set(A(5)+B(5)+C(5)==399)+set(A(6)+B(6)+C(6)==402)+set(A(7)+B(7)+C(7)==379)+set(A(8)+B(8)+C(8)==346); F=F+set(A(9)+B(9)+C(9)==318)+set(A(10)+B(10)+C(10)==302)+set(A(11)+B(11)+C(11)==303)+set(A(12)+B(12)+C(12)==318);%任意小时功率P之和约束 F=F+set(abs(A
(2)-A
(1)) F=F+set(abs(B
(2)-B
(1)) F=F+set(abs(C
(2)-C
(1)) 12 F=F+set(abs(C(6)-C(5)) solvesdp(F,f);%进行非线性规划D=[A,B,C]; E=reshape(D,12,3)’;double(f); double(E);%输出结果 运行结果如下:
P1=[101010 101010] P2=[ ]P3=[ 303030303030]Minf= 以上我们仅对12小时内的情况进行求解,因为在执行24小时的优化过程中,会出现因为约束过多或数值不符而导致没有可行域的结果。
因此我们采用了12小时的优化方法,对12-24小时采用动态规划的方法,得出最优解,方法同上。
3.4问题3案例分析:
对于问题3,模型已变为非线性规划,而我们对cplex还不甚熟悉,不知道如何运用cplex解决非线性规划问题,所以我们只采用了matlab进行编程。
于我们模型的决策变量之于24小时高达144个,起初运行时不仅耗费时间,而且得到的最优解无法应用于实际情况,因此我们采用6小时决策,即每6小时进行一次规划,得到最优解。
例如,对1-6小时编写程序如下:
p1=sdpvar(1,6);p2=sdpvar(1,6); p3=sdpvar(1,6);%定义每台机组每小时功率pPA=sdpvar(1,6);PB=sdpvar(1,6);PC=sdpvar(1,6);A=p1;B=p2; C=p3;%将功率赋予数组s1=binvar(1,6);s2=binvar(1,6); s3=binvar(1,6);%定义0-1变量 13 S1=s1;S2=s2; S3=s3;%将0-1变量赋予数组PA
(1)=A
(1)*S1
(1);PA
(2)=A
(2)*S1
(2);PA(3)=A(3)*S1(3);PA(4)=A(4)*S1(4);PA(5)=A(5)*S1(5);PA(6)=A(6)*S1(6);PB
(1)=B
(1)*S2
(1);PB
(2)=B
(2)*S2
(2);PB(3)=B(3)*S2(3);PB(4)=B(4)*S2(4);PB(5)=B(5)*S2(5);PB(6)=B(6)*S2(6);PC
(1)=C
(1)*S3
(1);PC
(2)=C
(2)*S3
(2);PC(3)=C(3)*S3(3);PC(4)=C(4)*S3(4);PC(5)=C(5)*S3(5);PC(6)=C(6)*S3(6);pw1=30;pw2=50; pw3=70;%定义每台机组每小时功率最大改变量pw f=126+*A*S1’+*B*S2’+*C*S3’;%求最小开销 F=set(20 F=F+set(PA
(1)+PB
(1)+PC
(1)==87)+set(PA
(2)+PB
(2)+PC
(2)==157)+set(PA(3)+PB(3)+PC(3)==267)+set(PA(4)+PB(4)+PC(4)==355); F=F+set(PA(5)+PB(5)+PC(5)==399)+set(PA(6)+PB(6)+PC(6)==402);%任意小时功率p之和约束 F=F+set(S1
(1)*S1
(2)*abs(PA
(1)-PA
(2)) F=F+set(S2
(1)*S2
(2)*abs(PB
(1)-PB
(2)) F=F+set(S3
(1)*S3
(2)*abs(PC
(1)-PC
(2)) 14 F=F+set(S3
(2)*S3(3)*abs(PC
(2)-PC(3)) solvesdp(F,f);%进行非线性规划D=[PA,PB,PC,S1,S2,S3];E=reshape(D,6,6)’;double(f); double(E);%输出结果 运行结果如下:
P1 3832P2267317367P387157 S100011S200111S311000 Minf=482 相同的,在6-12,12-18,18-24小时可以在1-6小时基础上进行动态规划,从而得到在另外三个时段的最优解,方法同问题3。
四、研究结论:
三个问题的建模和编程我们发现,当一个问题是比较简单的线性规划问题的时候,利用软件去解决是比较方便的,即使变量数目很多,在很短的时间内也可以解决,但是当问题变得复杂时,不仅仅变量和约束变多,问题也很有可能转化为非线性规划问题,这样再利用软件求解时,不仅程序运行的时间长,而且很可能得不到最优解或者得到的最优解不能运用于实际情况。
在这种情况下,我们对此有两种方案:
1.重新对问题进行建模,对模型进行优化,使之能够尽量的用线性约束表示出来,减小软件实现的难度和所需要的时间;2.如果模型已足够优化,但问题的模型还是多变量非线性规划,我们通过减少决策变量的方法来先进行小部分决策变量的最优解的求解,在此基础上进行另外一小部分决策变量最优解的求解,依次类推,最终实现全变量的最优解的求解。
这种方法实际上是一种动态规划的方法,是在我们对全部决策变量寻找最优解不可行的情况下得到的最优解,并不是真正的“最优解”,而是一种次优解,但这对我们的现实情况是具有指导意义的。
对于这个数学模型,如果我们从更深的一方面去思考,就会发现更多的东西。
首先,这种对机组的调度仅仅建立在发电成本的基础上,而这在现实中肯定是不够合理的。
在现实中,当我们考虑一个发电机组的动态调度问题时,环境污染,启停时间限制,电能的运输损耗,人工成本,以及发电边际成本的最优取值等都是不可忽略的因素。
如果在这个建模问题中,老师没有给出一个明确标准,还是让学生们自己在考虑不同因素的基础上给出一个“最好的”的动态调度方案,那么,每个组给出的评价标 15
准,考虑和忽略的因素,每种因素和目标变量间所满足的假设或者近似的函数关系都会是不相同的,从而解决这个问题所采用的方法以及最后所给出的结果也会是不同的。
所以,我们必须看到这个模型的适应性,现实性和局限性在哪里,这对于我们在今后自己独立建模解决问题是十分必要的。
16 问题扩展一 现在,我们给出一个更加合乎实际的机组调度问题模型供大家参考。
㈠新增加的影响成本的因素 1于发电机组排放环境污染气体造成的发电成本变化 环境问题是任何一个发电厂都必须考虑的问题,现今,全球环境污染问题越来越严重,党中央更是将建设资源节约型,环境友好型社会作为一个重要目标,而生态文明更是在18大中被提了出来,所以,环境污染问题越来越被重视。
同时,许多环境污染严重的企业理所当然的会受到许多政策上的限制,包括限制产量,缴纳罚金等等。
所以,发电机组在发电过程中于排放污染气体而产生的对发电成本的影响必须要加以考虑。
2于发电机组自身老化或者损耗而引起的维修费用 众所周知,每一台设备都会在使用过程中不断损耗和老化,因此,相应的维修费用就是必不可少的,维修设备所产生的人力及物力的花费与消耗,肯定会对总计的发电成本产生影响。
所以,这一部分的影响也是必须要考虑的。
3于机组启停而引起的额外的成本损耗 每台发电机组在停止工作到开始工作或者开始工作到停止工作的时候,都会产生额外的消耗或者浪费,许多情况下,这种额外的消耗量可能是相当巨大的。
所以,当我们没有硬性规定发电机启停间隔的时候,启停成本就成了我们在评估发电总成本时必须要考虑的因素。
4固定成本 我们认为,发电机本身的成本消耗两部分组成,一部分是上面所说的维修成本,另一部分即是最初购买发电机所需要的成本,我们在这里把它作为固定成本来考虑。
㈡假设 正如同其他数学模型一样我们在用数字评估一个决策时,总会事先对各个因素之间的函数关系做一个基本符合事实的但同时又是简化了的假设,在此,我们的假设如下:
1我们考虑发电机排放的三种污染气体,二氧化碳,二氧化硫,氮的氧化物。
我们假定,某一时刻第i台发电机组排放的每种污染气体的排放量都与某一时刻该发电机组的功率成正比,但各自的比例系数不同,为K1i,K2i,K3i,同时,于污染气体而造成的成本损耗又与污染气体的排放量成正比,系数分别为g1,g2,g3. 2我们假定,每台发电机组的维修成本只与时间成正比例关系,而与发电机是否工作无关,并且设比例系数为ri,并认为发电总时间为t0. 3每台发电机组于启停原因而引起的额外成本消耗用ci进行表示,即每发生一次起停,都会消耗ci的成本。
4每台发电机的固定成本用mi来进行表述。
5同时,我们假定,根据国家的强制限制,整个发电机组对二氧化硫在某一时刻的总排放量要小
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 运筹学 课程设计