摘要:抗旱方案的优化,旨在使我们在花费最小的情况下获得最大的回报。因此,我们进行了大量的数据实验,运用Excel表格,Matlb,Lingo等软件对我们的方案进行优化,并且运用0-1整数规划对我们的选井进行优化选择方案。手心我们考虑了三种方案的可行性,通过分析我们发现一次只打井和只铺设管道军是不可行的;于是只有采用第三种方案同时打井与铺设管道施工。在第三种方案的基础上,我们有进一步将其优化为一次性打井和逐年分次打井两套方案。在建立模型上,首先我们计算出了老四井在2010至2014年的每年产水量总和;之后进行优选打井方案,当然,管道的铺设使我们必不可少的考虑因素。最后,我们对两种方案经性对比,取的最优的方案,即为逐年打井更能为这一旱区提供更多的适量保障。
关键词:0-1规划 线性方程 优化设计 拟合
一、问题的重述
我国地域辽阔,水资源分布不均。使得我国部分地区处于半干旱或干旱状态,为了更好的解决干旱地区群众的生活用水问题。我们以一个处于我国西南地区的某个偏远贫困村为例,进行我们的分析解剖。我们所的此地年平均降水量不足20mm,是典型的缺水地区。过去村民的日常生活和农业生产用水来自于,一是每家每户自行建造的小蓄水池,用来屯积雨水,二是利用村里现有的四口水井。由于近年来环境破坏,经常是一连数月滴雨不下,这些小蓄水池的功能完全丧失。而现有的四口水井经过多年使用后,年产水量也在逐渐减少,在附表1中我们知道了其9年来的产水量粗略统计数据。2009年以来,由于水井的水远远不能满足需要,不仅各种农业生产全部停止,而且大量的村民每天要被迫翻山越岭到相隔十几里外去背水来维持日常生活。
为此,政府打算着手帮助该村解决用水难的问题。从两方面考虑,一是地质专家经过勘察,在该村附近又找到了8个可供打井的位置,它们的地质构造不同,因而每个位置打井的费用和预计的年产水量也不同,详见表2,而且预计每口水井的年产水量还会以平均每年10%左右的速率减少。二是从长远考虑,可以通过铺设管道的办法从相隔20公里外的地方把河水引入该村。铺设管道的费用为 (万元),其中
表示每年的可供水量(万吨/年),
表示管道长度(公里)。铺设管道从开工到完成需要三年时间,且每年投资铺设管道的费用为万元的整数倍。要求完成之后,每年能够通过管道至少提供100万吨水。
政府从2010年开始,连续三年,每年最多可提供60万元用于该村打井和铺设管道,为了保证该村从2010至2014年这五年间每年分别能至少获得150、160、170、180、190万吨水,请作出一个从2010年起三年的打井和铺设管道计划,以使整个计划的总开支尽量节省。
二、问题的分析
针对这一现状,我们发现在这三年内只铺设管道或只打井均是不符合现状要求的,因为其不仅达不到村民在2010年之后的用水需求而且不符合三年内铺设完管道的长远利益要求;故而,我们采取了铺设管道与打井的同时施工的措施方案。我们根据具体情况建立了二种模型;分别是一次性打井和逐年分次打井两套模型方案。对此,我们首先运用matlab软件拟合出了老四井随时间的产水量变化趋势,并获得了其在2010至2014年的产水量。然后,依据题设中村民各时间段用水总量的限制要求;分别在两种模型中进行优化求解获得最小花费。而且,我们发现铺设管道的费用在要求的输水量情况下,其花费是一个固定的值;因此,为节约花费,我们需要在选打井口数以及各井的产水量和打井费用上行优化选择,是的总打井费用最低。最终我们获得:结余=总投资钱数-铺设管道用费-打尽付费用,获得最大结余。
三、模型的假设与符号说明
模型假设
1、假设不考虑小蓄水池的作用和利息的因素。
2、假设该村水的供水仅有水井和管道提供。
3、假设在表2的每口水井的年产水量会以固定的每年10%速率减少。
4、假设不考虑其他因素的影响,铺设管道三年内完成且第4年开始供水。
5、假设在所打井中实际供水量不低于预测的供水量。
符号说明
Xi-------------- 表示选取i号井,i=(1,2,3,4,5,6,7,8)
qij------------- 表示第i口井第j年的产水量,i=(1,2,3,4).j=(2010,2011,2012,2013,2014)
t---------- -表示时间,(单位:年)
Q --------表示管道输水量
Qi--------表示第i年打井的产水量,i=(1,2,3)
J ---------表示结余费用
M --------表示总开支
M1------------ 表示铺设管道总开支
M2-------------- 表示打井所需总开支
Q旧n---------表示旧井在n年的总产量,n=(2010,2011,2012,2013,2014)
Q新n------------ 表示新井在n年的总产量,n=(2010,2011,2012)
Z ------------表示固有资金量
四、模型的建立与求解
我们首先考虑到这个村庄的老四井问题;即这个村庄以前的四口井预期的产水量的变化情况。我们依据Matlb拟合出其每口井产水量的变化趋势,并预测其2010至2014年每年每口井的总产水量。
4.1 #1的拟合图
从上拟合图,我们可万一看出#1的产水量q1出于逐年递减的状态。并从matlab求解中我们得到了其产水量随时间变化的线性方程,即为:
qij =-1.2017*t+33.4639;并且进一步求解出了该井在2010至2014年的产水量q11、q12、q13、q14、q15,分别为:21.4469、20.2452 、19.0435 、17.8418 、16.6401。
4.2 #2的拟合图
同样的,我们从#2的2001至2009年的产水量变化的三点图中,我们发现他合乎一个一元三次方程的坐标分布规律,因此我们得出了如上的拟合图。并且获得了该井产水量随时间的变化方程即为:
qij =-0.0311*t.^3+0.7966*t.^2-7.5771*t+28.2357;并且进一步求出了其2010至2014年的预期产水量q21、q22、q23、q24、q25分别为1.0247、0、0、0、0.
4.3 #3拟合图
从#3的三点图,我们发现其2001至2009年产水量随时间的变化基本符合一次线性函数,故而,我们拟合并求解除了其产水量随时间的变化方程,即为:
qij =-2.0850t+29.9806.并进一步求出了该井2010至2014年的预期产水量q31、q32、q33、q34、q35,分别为:9.1306、7.0456 、4.9606、2.8756、0.7906。
4.4 #4的拟合图
由#4的散点图分布,我们可以看出他基本符合产水量随时间的一元三次方程变化规律曲线。我们拟合出了上图,并且求出了他的产水量随时间变化的一元三次方程的系数,即该方程为:
qij =-0.1773*t.^3+3.7333*t.^2-27.0442*t+86.2095,并求出了该井在2010至2014年的预期产水量q41、q42、q43、q44、q45,分别为:11.7975、4.4663、0、0、0。
4.5 从上面的老四井中的预测中,我们可以得到这四口老井在2010至
2014年,每年总共能给该村提供的水量Q旧n。如下表04-1:
表04-4 老井产水量表
年份
| #1
| #2
| #3
| #4
| Q旧n
|
2010
| 21.4469
| 1.0247
| 9.1306
| 11.7975
| 43.3997
|
2011
| 20.2452
| 0
| 7.0456
| 4.4663
| 31.7571
|
2012
| 19.0435
| 0
| 4.9606
| 0
| 24.0041
|
2013
| 17.8418
| 0
| 2.8756
| 0
| 20.7174
|
2014
| 16.6401
| 0
| 0.7906
| 0
| 17.4307
|
模型一 一次性打井
为了满足,2010至2014年该村的需水要求,即该村在2010至2014年的需水分别为150、160、170、180、190万吨。我们建立了这样一个模型,即一次性打井能够为其后的2010、2011、2012年的需水提供足够的保障。根据如下的8个打井位置和所需费用:
表2 8个位置打井费用(万元)和当年产水量(万吨)
编号
| 1
| 2
| 3
| 4
| 5
| 6
| 7
| 8
|
打井费用
| 5
| 7
| 5
| 4
| 6
| 5
| 5
| 3
|
当年产水
| 25
| 36
| 32
| 15
| 31
| 28
| 22
| 12
|
我们发现要是得一次打井满足以后三年的需求量,就必须优先考虑其对第三年,也就是对2012年的供水量是否满足,我们知道2012年最低需求供水总量为170万吨,那么所打新井的供水量Q新3=170- Q旧3=145.9959(万吨),由此我们可以得出所打新井在2010年的供水量即为Q新1= Q新3/(1-10%)^2,得出:Q新1=180.2419,也就是说,我们所打新井在2010你的供水量不得小于180.2419.那么我们该在这8口井中如何选择才能使得花费最后,得到最优解呢?
我们通过运用0-1整数规划,以及lingo软件;获得了我们的最优打井数和选井方案。即为:
model:
min=5*x1+7*x2+5*x3+4*x4+6*x5+5*x6+5*x7+3*x8;
x1+x2+x3+x4+x5+x6+x7+x8=7;
25*x1+36*x2+32*x3+15*x4+31*x5+28*x6+22*x7+12*x8>=180.2419
从运算的结果中我们发现必须打7口井才能满足要求,而且打井所需花费为36万元。这几口井分别是第1、2、3、5、6、7、8号井;求解过程见附录五。对于每年的铺设管道费用和结余费用见我们整理后的表04-2和04-3
表04-2 花费细目表
年份
| 要求(万吨)
| 老四#(万吨)
| 新六井(万吨)
| 供应水(万吨)
| 打井费用(万元)
| 管道费用(万元)
| 铺设管道(公里)
| 结余花费(万元)
|
2010
| 150
| 43.3997
| 186
| 229.399
| 36
| 24
| 3.473
| 5
|
2011
| 160
| 31.7571
| 167.4
| 199.157
| 0
| 60
| 8.682
| |
2012
| 170
| 24.0041
| 150.66
| 174.664
| 0
| 55
| 7.958
| |
2013
| 180
| 20.7174
| 135.594
| 156.311
| 0
| 0
| 0
| |
2014
| 190
| 17.4307
| 122.0346
| 139.465
| 0
| 0
| 0
| |
提供100顿水管道的费用
| 139
|
即M1=139,M2=36,M=M1+M2=175,结余J=Z-M=180-175=5.
表04-3 花费细目表
要求(万吨)
| 年份
| 老四#(万吨)
| 新六井(万吨)
| 供应水(万吨)
| 打井费用(万元)
| 管道费用(万元)
| 铺设管道(公里)
| 结余花费(万元)
|
150
| 2010
| 43.3997
| 186
| 229.3997
| 36
| 24
| 3.35491544
| 0
|
160
| 2011
| 31.7571
| 167.4
| 199.1571
| 0
| 60
| 8.38728862
| |
170
| 2012
| 24.0041
| 150.66
| 174.6641
| 0
| 60
| 8.38728862
| |
180
| 2013
| 20.7174
| 135.594
| 156.3114
| 0
| 0
| 0
| |
190
| 2014
| 17.4307
| 122.0346
| 139.4653
| 0
| 0
| 0
| |
提供水量(Q)
| 107
| 铺设管道花费
| 144
| 铺设总公里数
| 20.12949
|
我们从04-2和04-3的对比中我们发现,随着我们的管道提供水量的增加,我们的结余相应减少。且当结余0时,管道最大提供水量Q=107万吨。同时,由于2013年开始管道为该村提供最少不小于100万吨的水量,再加上经所提供的2013和2014年分别为156.3114和139.4653万吨,所以说他满足,该村2013和2014 年分别180和190万吨水的需求。
模型二 逐年分次打井
一次性打井,一次性投入过大;我们采取分次打井,分流资金;希望可以能减少总投资量。我们设其第一年所打的井的产水量为q1,第二年以及第三年所打的井的产水量分别为q2和q3。那么只需求出满足2010至2012年的每年所需最低水量150、160.170的Q1、Q2、Q3的最优打井方案,即为Q1+ Q2+ Q3取之最小。那么这三年新井总的最小产水量为w1,他应满足如下的方程
目标函数: w1= Q1-+ Q2+ Q3;
106.6003<= Q1;
St 128.2429<= Q2+ Q1*0.9;
145.9959<= Q3+ Q2*0.9+ Q1*0.81;
381<= 2.71* Q1+1.9* Q2+ Q3
利用lingo软件(见附录六),我们求出了Q1=107,Q2=32,Q3=31
对于最优化的问题,我们应当首先对q2和q3得打井方式予以确定,然后,从整体上优化q1的选择方案。
我们明白尽量少打井是最优的设计方案。故而,q2和q3分别采用第3号和第5好打井方案,其总花费为11万。而后,我们则需要满足2010最低新井所需水量q1的值,则至少需要打4口井,花费最低。因此求解最优性价方案,仍然运用0-1整数规划来求解他的最优打井方案:lingo的运算为(运算过程见附录七):
model:
min=5*x1+7*x2+4*x4+5*x6+5*x7+3*x8;
x1+x2+x4+x6+x7+x8=4;
25*x1+36*x2+15*x4+28*x6+22*x7+12*x8>=107;
最后我们所得结果为选择第1、2、6、7号井作为2010年的打井方案,且其满足了新井的最低要求107万吨水,花费最低为22万。
总体上该方案的花费总额为打井33万元,而铺设管道随着需要供应的水量有所变化。如下表04-4,当余额J=8万元时,其供水量Q=100万吨,当余额J=0时,每年可以提供Q=112万吨水。这可以有我们的附Excel表中所得,随着输入提供水量的变化,可以得到不同的结余额。
表04-4 花费细目表
年份
| 要求(万吨)
| 老四#(万吨)
| 新六井(万吨)
| 供应水(万吨)
| 打井费用(万元)
| 管道费用(万元)
| 铺设管道(公里)
| 结余花费(万元)
|
2010
| 150
| 43.3997
| 107
| 150.3997
| 22
| 38
| 5.3119494
| 8
|
2011
| 160
| 31.7571
| 128.3
| 160.0571
| 5
| 55
| 7.688347
| |
2012
| 170
| 24.0041
| 146.47
| 170.4741
| 6
| 46
| 6.430254
| |
2013
| 180
| 20.7174
| 131.823
| 152.5404
| 0
| 0
| 0
| |
2014
| 190
| 17.4307
| 118.6407
| 136.0714
| 0
| 0
| 0
| |
提供水量
| 100
| 铺设管道花费
| 139
| 铺设总公里数
| 20.43055
|
|
由图标04-4中,2013和2014年的几口井产水量总和分别为131.823万吨和118.6407万吨。我们再加上管道提供的水量,已完全满足该村2013和2014年的180万吨和190万吨水量的需求。故而,有M1=139,M2=33,结余J=Z-M1-M2=8该模型可以说是成立的。
对方案一和方案二的对比,我们从长远的考虑来说方案二更优,相比较来说其比第一方案更结余花费;在以后的供水中,方案二的管道能够提供的水量也最大。方案二的管道能提供最大112万吨水而方案一的管道运输最大只能提供107万吨水;而且从资金的周转上方案二也更优,因为他太能提供分流资金的作用。故而,我们的从经济和长远发展来说,我们应该优选方案二。
五、模型的评价与推广
模型评价:
优点:
1.该模型简单,思路清晰,使人一目了然。
2.利用MATLAB和LINGO软件使数据更加准确。
3.该模型铺设管道和打井同时应用,在保证水量供给正常的情况下,使得总费用最少,做到了节约。
缺点:
该模型中没有雨水的积蓄,雨水资源得不到充分的利用。
该模型中没有考虑到经济过快发展和人口剧增所带来的用水量过大。
模型推广:
因为模型没雨水的积蓄量,雨水资源得不到充分的利用。在生活和生产上,应该合理利用积蓄的雨水进行生产,合理的调配水源,减少生活用水用于生产上,而又能使雨水积蓄的水量得到利用,保证生产的正常。该模型还可以石油管道的铺设、道路的修建等。
六、软件应用
附录1
t=[1,2,3,4,5,6,7,8,9];
Q=[32.2 ,31.3 ,29.7 ,28.6 ,27.5 ,26.1 ,25.3 ,23.7, 22.7];
aa=polyfit(t,Q,1);
a=aa(1)b=aa(2),r=polyval(aa,t);
a = -1.2017,b = 33.4639
>> t=[10;11;12;13;14]
Q=-1.2017*t+33.4639
t =10,11,12,13, 14
Q = 21.4469, 20.2452, 19.0435,17.8418,16.6401
附录2
>> t=[1,2,3,4,5,6,7,8,9];
Q=[21.5 15.9 11.8 8.7 6.5 4.8 3.5 2.6 2.0];
aa=polyfit(t,Q,3);
a=aa(1),b=aa(2),c=aa(3),d=aa(4),r=polyval(aa,t);
plot(t,Q,'k+',t,r,'r');
a = -0.0311,b = 0.7966,
c = -7.5771,d =28.2357
>> t=[10;11;12;13;14];
Q=-0.0311*t.^3+0.7966*t.^2-7.5771*t+28.2357
Q = 1.0247,-0.1179,-1.7199,-3.9679,-7.0485
附录3
>> t=[1,2,3,4,5,6,7,8,9];
Q=[27.9 25.8 23.8 21.6 19.5 17.4 15.5 13.3 11.2];
aa=polyfit(t,Q,1);
a=aa(1),b=aa(2),r=polyval(aa,t);
plot(t,Q,'k+',t,r,'r');
a =-2.0850,b =29.9806
>> t=[10;11;12;13;14];
Q=-2.0850*t+29.9806
Q = 9.1306,7.0456,4.9606,2.8756,0.7906
附录4
t=[2,3,4,5,6,7,8,9];
Q=[46.2 32.6 26.7 23.0 20.0 18.9 17.5 16.3];
aa=polyfit(t,Q,3);
a=aa(1),b=aa(2),c=aa(3),d=aa(4)
r=polyval(aa,t);,plot(t,Q,'k+',t,r,'r');
a = -0.1773,b = 3.7333,
c = -27.0442,d = 86.2095
>> t=[10;11;12;13;14];
Q=-0.1773*t.^3+3.7333*t.^2-27.0442*t+86.2095
Q = 11.7975,4.4663,-7.1001,-23.9655,-47.1937
附录5
model:
min= q1+q2+q3;
106.6003<=q1;
128.2429<=q2+q1*0.9;
145.9959<=q3+q2*0.9+q1*0.81;
2.71*q1+1.9*q2+q3>=381;
q1>0;
q2>0;
q3>0;
@gin(q1);
@gin(q2);
@gin(q3);
end
Global optimal solution found.
Objective value: 170.0000
Extended solver steps: 0
Total solver iterations: 2
Variable Value Reduced Cost
Q1 107.0000 1.000000
Q2 32.00000 1.000000
Q3 31.00000 1.000000
Row Slack or Surplus Dual Price
1 170.0000 -1.000000
2 0.3997000 0.000000
3 0.5710000E-01 0.000000
4 0.4741000 0.000000
5 0.7700000 0.000000
6 107.0000 0.000000
7 32.00000 0.000000
8 31.00000 0.000000
附录6
model:
min=5*x1+7*x2+4*x4+5*x6+5*x7+3*x8;
x1+x2+x4+x6+x7+x8=4;
25*x1+36*x2+15*x4+28*x6+22*x7+12*x8>107;
@bin(x1);
@bin(x2);
@bin(x4);
@bin(x6);
@bin(x7);
@bin(x8);
end
Global optimal solution found.
Objective value: 22.00000
Extended solver steps: 0
Total solver iterations: 0
Variable Value Reduced Cost
X1 1.000000 5.000000
X2 1.000000 7.000000
X4 0.000000 4.000000
X6 1.000000 5.000000
X7 1.000000 5.000000
X8 0.000000 3.000000
Row Slack or Surplus Dual Price
1 22.00000 -1.000000
2 0.000000 0.000000
3 4.000000 0.000000
六、参考文献
[1]数学建模——方法与范例,寿纪麟等编,西安交通大学出版社,1993。
[2] 数学模型基础,王树禾编著,中国科学技术大学出版社,1996。
[3] 数学模型选谈(走向数学从书),华罗庚,王元著,王克译,湖南教育出版社,1991。
[4] 数学模型与数学建模,刘来福、曾文艺编,XX师范大学出版杜,1997。
[5] 姜启源.谢金星.数学建模[M].北京:高等教育出版社,2003年.
[6] 应用数学建模 Applied Mathematical Modelling (Elsevier) 参考时间 2010.8.12
七、心的体会
参加完我们这次数学建模模拟比赛,感觉只有一个字——累!三天紧张拼搏的日子已经过去了,我们一块合作的身影依然展现在我们的脑海里,让我们回味无穷。
经过这次比赛,我学到了许多东西,拓广了对数学的认识,锻炼了自己的思维,主要有以下几点:
一、理论联系实际
数模竞赛的题目往往是从日常生产生活中提炼、抽象出来的,尽管题目已经得到了相当程度的简化,但对于我们这些仍在学校里求学而并未遇到过如此复杂问题的学生来说,并不简单。有时我们需要对海量数据进行处理,有时我们面临的却是零数据,无论何种情形,问题的解决都很让人头疼。不过这并不要紧,我们是勇敢者,既然已经选择了挑战,无论多艰难都要坚持下去,绝不退缩,在纷繁复杂的题目中寻找规律,运用合适的数学工具加以解决,对问题进行有效的分类,并逐个击破。
二、团队合作
三天三夜的时间面对同一个题目,不仅仅是紧张枯燥、机械乏味的脑力劳动。只有真正参加了比赛的同学,才能体会到一种与集体融为一体,与数学融为一体,与竞赛融为一体的感觉。
在比赛中我们虽然要分工明确,但不是说大家各自做各自的、互不交流。而是三人相互合作,遇到问题时,大家需要共同讨论,发表自己的见解并理解同伴的想法,最后将意见统一起来。有的时候即使自己感觉别人不对,如果多数人意见统一了,也最好能同意他人的看法,这需要对队友充分的信任且具备否定自己的魄力。如果分工不当、配合失误,往往会导致竞赛的失败,对此我们一定要小心谨慎。
竞赛中的合作是一种艺术,只有大家不断的磨合,才能使合作达到默契的程度。
三、顽强的意志力
通过这次比赛使我重新认识了自己,72小时的连续奋战,不敢相信我的体力会如此充沛,能把题目做出来,写出了还算成功的范文来,这在心理上给了我们莫大的自信。这次比赛也让我明白了一个道理:人的潜能是巨大的,关键是自己怎样去挖掘。总之,这次参赛经历培养了我的综合素质,比如计算机应用能力,,学习新知识的意识与能力,范文撰写能力等;在和队友一起奋斗的过程中,使我们建立了深厚的友谊;在和指导老师的交往中,使我在更深层次上理解了数模;与周围的交际能力也得到提高,领悟和理解别人的意思的能力也得到了很好的锻炼。
抗旱优化方案相关范文