您好,欢迎来到微智科技网。
搜索
您的当前位置:首页电站建设问题

电站建设问题

来源:微智科技网


运筹学期中考试论文

Thesis of Operations research for midterm

基于单目标多变量的线性整数规划模型的电站建设问题

选 题: 第二题:电站建设问题 姓 名: 学 号: 年 级: 2010级 院 系: 理学院 专 业: 信息与计算科学

摘要

在进行电力发展规划之前,会通过对电力需求的预测,提出电力规划的备选技术方案,再从中选取最优的建设方案。本文旨在通过已知条件建立单目标多变量的线性整数规划模型求最优解。

首先确定建立目标函数的依据是使电站建成后的年成本费用Q达到最小值,它由固定成本和可变成本组成。固定成本包括建设电站的前期工程投资和设备投资,由于电站建成后可在相当长时间内使用,因此应按年份分摊,得到的固定成本表达式为

P2.163x14.046x26.695x353.8512,可变成本指与发电量有关的成本,综合为年运

行成本,其表达式为S23.762x119.8728x267.1454x3,因此最终的目标函数为

minQ25.925x124.3788x273.8404x353.8512。

再建立约束条件,由于最终达到发电装机容量增加180万千瓦,即

10x125x230x318,达到年发电量增加100亿度,即

657186x187600x2183960x310。又因为在扩建旧火电站、新建水电站、新建火电站

这三种方案中允许装机最多台数依次为5、4、4台,因此有如下约束条件,

0x15,0x24,0x34;且x1,x2,x3均为整数。

最终对模型进行求解,用VisualC++6.0编写程序,运用枚举法原理,得到最优方案为扩建原有火电站安装2台设备,新建水电站安装4台设备,新建火电站安装3台设备。最终需要的最小年成本费用为424.7376百万元。

关键词:单目标多变量线性整数规划模型 目标函数 约束条件 Visual C++

一、问题的提出与分析

(一)问题的提出

某地区需制定十年电力发展规划。根据电力需求预测,该地区十年后发电装机容量需增加180万千瓦,年发电量需增加100亿度。根据调查和讨论,电力规划的备选技术方案有三个:

1、扩建原有的火电站,但由于条件,最多只能再安装五台10万千瓦的发电机组;

2、新建水电站,但最多只能安装四台25万千瓦的发电机组; 3、新建一个火电站,最多只能安装四台30万千瓦的发电机组; 通过研究和反复计算,得到的有关数据由表1给出:

表 1 规划备选技术方案参数 备选 工程投资 前期工程 单机设备 单机容量 允许装 年运行成本 (百万元/亿度) 4.11 负荷 因子 方案 (万千瓦) 机台数 (百万元) (百万元) 扩建旧 火电站 新建水 电站 新建 火电站

--- 21 10 5 0.66 504 70 25 4 2.28 0.4 240 65 30 4 3.65 0.7 年资本回收系数CRF的乘积。CRF的计算公式(其中为年利率,n为工程项目的使

nn用年限)为:年利率为0.06,CRF(1)/[(1)1]若火电站的使用年限取15年,。

水电站的使用年限为30年,年利率为0.04,相应的资本回收系数分别为0.103和0.0578。

请考虑确定电站建设的方案。

(二)问题的分析

此题解决的是解决的是一个单目标多变量的线性整数规划[1]求最优解的问题。在扩建旧火电站、新建水电站、新建火电站这三种备选方案中选取合理的搭配,所选建设方案应在所给技术要求前提下,达到对电力的需求。

首先我们可以直接不考虑只用一种方案的方法,因为已知该地区十年后发电装机容量需增加180万千瓦,而单独只用第一、二、三种备选方案只能增加发电装机容量依次为50、100、120万千瓦,均不能满足需要,因此我们更可需要对所给方案综合考虑,进行合理选取搭配,建立单线性整数规划模型进行优化求解。

根据所给问题可知,选择建设方案的依据是电站建设成后的年成本费用,包括可变成本和建设成本。由此可以得到所建模型的目标函数:使三种备选方案选取后总的年成本费用达到最小。而这三种备选方案的工程投资、单机容量、允许装机的台数、资本回收因子、年运行成本、负荷因子以及火电站、水电站的回收年限、年息均各有差异,而这些数据直接影响总成本,因此我们需要利用这些建立目标函数。模型建立根据 总年成本费用=固定成本+可变陈本,分别对可变成本和固定成本进行求解。此处固定成本是指建设电站的投资成本,包括前期工程投资和设备投资。对于可变成本,已知条件已进行处理。可变成本是指与发电量有关的成本,如原材料、燃料、动力和劳动力的消耗等,本问题中将它们综合为年运行成本。

由已知,方案一、二、三的允许最多装机台数依次为5、4、4台,并且要达到发电装机容量增加180万千瓦、年发电量增加100亿度,这些条件都约束这目标函数,由这些可以建立约束条件。

二、基本假设

1、假设题目中所给的数据都是真实可靠且具有代表性; 2、假设发电机的功率在传输过程中保持不变; 3、假设发电机生产的地阿亮在传输过程中没有损耗; 4、假设发电机都能正常工作,不发生故障; 5、假设各机组工作互不影响

三、符号说明

ai i=1 i=2 i=3 Q P S pisixi方案一:扩建旧火电站 方案二:新建水电站 方案三:新建火电站 年成本费用 总年固定成本 总年可变成本 第i种方案的固定成本(i=1,2,3) 第i种方案的可变成本(i=1,2,3) 第i种方案安装单机设备的台数(i=1,2,3) 第i种方案前期工程投资(i=1,2,3) 第i种方案单机设备投资(i=1,2,3) 第i种方案资本回收系数(i=1,2,3) 第i种方案的电站使用年限(i=1,2,3) 第i种方案的年利率(i=1,2,3) 第i种方案的负荷因子(i=1,2,3) 第i种方案的单机容量(万千瓦)(i=1,2,3) 第i种方案的年运行成本(百万元/亿度)(i=1,2,3) bi mini

i fi eihi 四、模型的建立与求解

(一)模型的建立

1、建立目标函数:最小年成本费用=固定成本+可变成本,即

33minQi1pii1si

(1)固定成本求解:pi年资本回收系数mi。

(aibi*xi)mi

(1)/[(1)1]。可以计算出各方案的

nn首先根据年资本回收系数公式:CRF 当n1n315,130.06时,m1m30.103 当n230,20.04时,m20.0578

又根据a10,a2504,a3240,b121,b270,b365,可解得各方案的固定成本:

p1 p2(021*x1)*0.1032.163*x1

(50470*x2)*0.057829.13124.046*x2

p3(24065*x3)*0.10324.726.695*x3

(2)可变成本求解:si根据

xi*fi*365*24*ei*hi/10000 ,h14.11,h22.28,h33.65f10.66,f20.4,f30.7,e110,e225,e330

可解得各方案的可变成本:

s1x1*0.66*365*24*10*4.11/1000023.762*x1 s2x2*0.4*365*24*25*2.28/1000019.9728*x2

s3x3*0.7*365*24*30*3.65/1000067.1454*x3

(3)最终可得需要的年成本费用(即所求的目标函数):

33minQi1pisi1i2.163x129.13124.046x224.726.695x323.762x119.9728x267.1454x325.925x124.3788x273.8404x353.8512

2、建立约束条件

(1)在满足备选技术方案参数的条件下,需要满足发电装机容量增加180万千瓦,年发电量增加100亿度。得到约束条件:

10x125x230x3180.66*365*24*10x10.4*365*24*25x20.7*365*24*30x3106

(2)在扩建旧火电站、新建水电站、新建火电站这三种方案中允许装机最多台数依次为5、4、4台。得到约束条件:

0x150x240x34且x1,x2,x3均为整数

当xi

0时,表示不采取这种方案。

3、最终建立的模型为

minQ25.925x124.3788x273.8404x353.8512

10x125x230x31857816x187600x2183960x3106

0x150x240x34x1,x2,x3均为整数

(二)模型求解

编写程序[2](运用枚举法原理,程序见附录)得到结果如下图:

最终确定方案为:扩建原有火电站安装2台设备,新建水电站安装4台设备,新建

火电站安装3台设备。最终需要的最小年成本费用为424.7376百万元。

五、模型分析

(一)模型的优点

1、模型充分分析已知条件,考虑多方面因素对成本的影响,最终建立的目标函数能综合反映出各方面成本之和,并考虑各方面约束条件,最终建立出符合题意的模型。

2、采用C++编程接模型,提高了效率。 (二)模型的缺点

1、在小数点处理方面,保留小数点位数较少,对结果产生略微影响。

参考文献

[1][2]

教材编写组,《运筹学》(第三版),北京:清华大学出版社,2012年5月 谭浩强,《C程序设计教程》,北京:清华大学出版社,2009年10月

附录

求解函数的程序: #include void main() {

int i,j,k,x[3];

double z,min=10000000000000000; for(x[0]=0;x[0]<=5;x[0]++) {

for(x[1]=0;x[1]<=4;x[1]++) {

for(x[2]=0;x[2]<=4;x[2]++) {

if(10*x[0]+25*x[1]+30*x[2]>=180 5.7816*x[0]+8.76*x[1]+18.396*x[2]>=100)

{

z=25.925*x[0]+24.3788*x[1]+73.8404*x[2]+53.8512; if(zprintf(\"x[0]=%d,x[1]=%d,x[2]=%d,min=%f\\n\}

&&

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务