泄洪设施修建计划

更新时间:2023-12-21 06:39:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

泄洪设施修建计划

摘要

针对本题提出的如何修建泄洪河道使总费用最省以及维护人员在各村留宿的概率的问题,分别建立了非线性规划模型、马氏链模型,并运用matlab和lingo数学软件,对模型进行求解,得出修建河道的最省方案和维护人员在各村留宿的概率。最后还对原来建立的模型进行了评价,并加以推广。

在考虑修建的泄洪道路径和泄洪量的情况下,得到修建泄洪道的最省花费的0-1规划模型。并通过lingo求解得到最优泄洪道网络连接图(见图 1)和修建新泄洪河道最省总花费资金:547.0804万元。

维护人员是在问题一中解得的新泄洪河道上移动的,从一个村移动到与之相连的一个村,符合马氏链,所以建立了马氏链模型。通过分析得出,该马氏链是正则链。根据正则链的性质可知,正则链存在唯一的极限状态概率,所以维护人员在各村留宿的概率分布是稳定的。并运用matlab软件编程求解出维护人员在各村留宿的稳态概率(见表3)。

由于前面的模型仅是从修建泄洪道花费最省来建立的。而没有考虑建设后的维护成本。且由于上游地势高的村庄的水流要汇入下游地势低的村庄,从而会使得下游泄洪道的泄洪压力增大。有可能洪涝来临时对下游村庄带来危险。所以从安全和维护等因素来看,综合该乡地势由西向东逐渐降低的地势特点。可以考虑在该乡中间人口相对较少地区修建一由西向东的逐渐加宽的主渠道。再由各村庄各自修建泄洪渠道与主渠道相连,最终将洪水排出。

关键词: 0-1变量 线性规划模型 马氏链模型 matlab lingo

一、问题重述

位于我国南方的某个偏远贫困乡,地处山区,一旦遇到暴雨,经常发生洪涝灾害,以往下雨时,完全是依靠天然河流进行泄洪。2010年入夏以来,由于史无前例的连日大雨侵袭,加上这些天然河流泄洪不畅,造成大面积水灾,不仅夏粮无收,而且严重危重到当地群众的生命财产安全。

为此,乡政府打算立即着手解决防汛水利设施建设问题。从长远考虑,可以通过修建新泄洪河道的办法把洪水引出到主干河流。经测算,修建新泄洪河道的费用为

2p?LQ(万元)

3其中Q表示新泄洪河道的可泄洪量(万立方米/小时),L表示新泄洪河道的长度(公里)。

该乡共有10个村,分别标记为①--⑩,下图给出了它们大致的相对地理位置,海拔高度总体上呈自西向东逐渐降低的态势。

其中村⑧距离主干河流最近,且海拔高度最低。乡政府打算拟定一个修建在各村之间互通的新泄洪河道网络计划,将洪水先通过新泄洪河道引入村⑧后,再经村⑧引出到主干河流。要求完成之后,每个村通过新泄洪渠道能够达到可泄洪量100万立方米/小时以上的泄洪能力。

表1 各村之间修建新泄洪河道的距离(单位:公里) 2 3 4 5 6 7 8 9 10 1 7 4 8 11 13 12 16 17 22 2 9 14 16 8 11 18 14 23 3 7 9 11 7 12 12 17 4 4 17 10 7 15 18 5 8 10 6 15 15 6 9 16 8 15 7 8 6 11 8 13 11 9 12 请通过数学建模的方法,解决以下问题: 问题1:根据表1数据,为该乡提供一个各村之间修建新泄洪河道网络的合理方案,使得总费用尽量最省。(提示:从村A?村B的新泄洪河道,一般要求能够承载村A及上游新泄洪河道的泄洪量)。

问题2:新泄洪河道网络铺设完成后,打算安排一位维护人员,每天可以从一个村到与之直接有新泄洪河道连接的相邻村进行设施维护工作,并在到达的村

1

留宿,次日再随机地选择一个与该村直接有新泄洪河道连接的相邻村进行维护工作。试分析长此以往,他在各村留宿的概率分布是否稳定?

问题3:是否能够为该乡提出一个更加合理的修建新泄洪河道的办法?

二、问题分析

针对问题一,要求使得总费用尽量最省,而修建新泄洪河道的费用2p?LQ(万元),由此可知费用与新泄洪河道的可泄洪量Q和泄洪河道的长

3度L有关,要使费用P最小,即泄洪量Q尽量的小,且泄洪河道的长度L尽量的短。对于此,可以运用0-1变量建立规划模型,进而运用lingo软件编程求出最优方案。

针对问题二,维护人员是在问题一中解得的新泄洪河道网络上移动的,从一个村移动到与之相连的一个村,符合马氏链,所以建立了马氏链模型。通过分析得出,该马氏链是正则链。根据正则链的性质可知,正则链存在唯一的极限状态概率,所以维护人员在各村留宿的概率分布是稳定的。再用matlab软件编程求解出维护人员在各村留宿的稳态概率。

针对问题三,由于上游地势高的村庄的洪水要汇入下游地势低的村庄,从而会使得下游泄洪道的泄洪压力增大。有可能洪涝来临时对下游村庄带来危险。且由于渠道较多后期维护较难。所以从安全和维护等因素来看,综合该乡地势由西向东逐渐降低的地势特点。可以考虑修建一由西向东的逐渐加宽的主渠道。最终将洪水排出。

三、问题假设

1、村子1-10的海拔高度自西向东递减。

2、A-B的泄洪河道,其中B村的泄洪河道能够承载村A泄洪量及上游所有流入A的泄洪量。

3、若泄洪河道相交,假设互不影响各自泄洪量。

4、假设维修人员选择第一个村庄是随机的,且概率是相同的。

四、符号说明

Qij:第i村庄到第j村庄泄洪河道的流量。 Lij:i村到j村的距离 ?0,表示i?j不修河道 Xij?1,表示i?j修建河道 ?p:修建河道总费用

Pij:维护员从村子i到相邻村子j的概率(i,j?1,2,3,?,8,9,10,且i?j);

2

wi:在i村留宿的概率(i?1,2,?,10)

Xn:表示维护人员所处的状态(Xn可以取10个离散值Xn?1,2,?,10)

ai(n)?P(Xn?i):状态概率,维护人员处在村i的概率(i?1,2,?,10)

Pij?P(Xn?1?j|Xn?i):转移概率,维护人员从村i转移到村j的概率(i,j?1,2,3,?,8,9,10,且i?j)

P:转移概率矩阵

。 Qi:各段主泄洪道的泄洪量(100-900)

Li:各段主泄洪道的长度。

Qj:各村的泄洪量。

Lj:各村到主泄洪道的泄洪道长度。

五、模型的建立与求解

5.1:根据表1数据,为该乡提供一个各村之间修建新泄洪河道网络的合理方案,使得总费用尽量最省。 根据表1数据,为该乡提供一个各村之间修建新泄洪河道网络的合理方案,使得总费用尽量最省。其中为了表述的方便将村庄做如下编号即:

① 3

② 2

③ 5

④ 7

⑤ 9

⑥ 1

⑨ 4

⑩ 8

⑦ 6

⑧ 10

于是,表一数据整理为:

3

1⑥ 2② 3① 4⑨ 5③ 6⑦ 7④ 8⑩ 9⑤ 表2 2② 3① 4⑨ 5③ 6⑦ 7④ 8⑩ 9⑤ 10⑧ 8 13 8 11 9 17 15 8 16 7 14 9 11 14 23 16 18 17 4 12 8 22 11 16 12 6 15 12 15 13 7 7 17 9 12 10 11 10 8 18 4 7 15 11 6 为使费用最小,依据题意引入0-1变量,其中0表述不修河道,1表示要修建河道。故建立如下优化模型:

2minp???XijLijQij i=1j=i+13910

??Qij?(01?i?j?10)?10??i-1s.t.??Qki+100??Q(9)iji=2j=i+1 ?k=110?Q1j?100???j=1?由lingo软件可以得到(程序见附录 1 ):

X23?1,X35?1,X56?1,X46?1,X19?1,X79?1,X9,10?1,X6,10?1,X8,10?1 则:

Q21?100,Q13?200,Q37?300,Q97?100,Q78?500,Q58?300,Q10,8?100,Q45?100,Q65?100

L21?7,L13?4,L37?7,L97?6,L78?8,L58?6,L10,8?11,L45?4,L65?8

由此可绘出下图:

4

① 3

② 2 ③ 5

④ 7 ⑤ 9 ⑥ 1 ⑨ 4 ⑩ 8

⑦ 6 ⑧ 10

图1. 各村之间互通的新泄洪河道网络

可得出最小费用为:

minp?547.0804万元

5.2.1:维护人员的转移路线就是问题一中建立的新泄洪河道网络。为求维护人员在各村留宿的概率分布以及是否稳定,建立马氏链模型。

由问题一得出的新泄洪河道修建方案可知转移概率矩阵为:

000000??01/21/20?1?000000000???1/2000001/2000???0000100000???0001/301/301/300?P???

000100000??0?001/300001/31/30???0001/301/3001/3??0?0000001000????000000100??0?由马氏链的性质可知:Xn?1的取值只取决于Xn的取值及转移概率,而与

Xn?1,Xn?2,? 的取值无关。由状态转移的无后效性和全概率公式可以写出马氏链的基本方程为

ai(n?1)??aj(n)Pji,j?110i?1,2,?,10 ①

并且

5

?10??ai(n)?1,n?0,1,2,i?1??s..t?Pij?0,i,j?1,2,,10 ?10??Pij?1,j?1,2,,10??j?1

则状态概率向量(行向量)和转移概率矩阵

a?n???a1?n?,a2?n?,,a10?n??000000??01/21/20?1?000000000???1/2000001/2000???0000100000???0001/301/301/300? P???0000100000???001/300001/31/30???00001/301/3001/3???0000001000????000000100??0?则基本方程(1)可以表示为

a(n?1)?a?n?P

由该递推关系式还可以得到

a(n)?a?0?Pn

5.2.3判断该马氏链是否是正则链

正则链的定义为:一个有k个状态的马氏链如果存在正整数N,使从任意状态i经N次转移,都以大于零的概率到达状态j(i,j?1,2,?,k),则这样的马氏链称为正则链。

因为修建的新泄洪河道网络连接着这十个村,当维护人员沿着新泄洪河道网络转移时,每个村都有可能到达。即假设维护人员在村i,一定可以经过正整数N次转移到任意村j(i?j),即都以大于零的概率到达状态j。 由正则链的定义可以知道,本问题中建立的马氏链模型是正则链。

5.2.4求解极限状态概率

由定理可知,正则链存在唯一的极限状态频率w??w1,w2,...,wk?,使得当

n??时状态概率a?n??w,w与初始状态概率a?0?无关。w满足

6

wP?w?wi?1i?1k ②

所以,长此以往,维护人员在各村留宿的概率就是极限状态频率

w??w1,w2,...,w9,w10?,则由正则链的性质可知,维护人员在各村留宿的概率是稳定的。

由②式可得:

?w1,w2,...,w9,w10?P??w1,w2,...,w9,w10??wi?1i?110 ③

联立可解得极限状态概率为(matlab程序见附录 2 ):

w?0.1111 0.0556 0.1111 0.0556 0.1667 0.0556 0.1667 0.1667 0.0556 0.0556

表3 即可得维护人员随机在各村留宿的稳态概率

w1 1/9 w6 w2 1/18 w3 1/9 w8 3/18 w4 1/18 w9 1/18 w5 3/18 w10 1/18 w7 3/18 1/18

5.3:由于该乡地势由西向东逐渐降低。且各村庄由西向东分布。故可以在其中间人口分布密度较少区建一由西向东的主泄洪道。泄洪道泄洪量依次递增。从100-900。最终经村庄8注入主干河流。各村再各自修建泄洪道与主泄洪道相连。 各村最大泄洪量用Q表示。L为主泄洪道的长度。由几段构成。泄洪量100-900。

目标函数:minp??2/3*Qi*Li??2/3*Qj*Lj

六、模型的评价和优化

模型的优点:

1、用0-1变量刻画村庄之间的河道修理与否,结合线性规划模型简单易懂用lingo软件求解也较方便。 2、问题二建立的马氏链模型,即符合题意也具有理论依据用matlab求解其程序也比较简便。

3、该模型可运用性强,不仅仅运用于河道的修理也可以用于电缆的铺设、道路

7

的修建等等类似的模型。 模型的缺点:

1、该模型模型考虑的因素还不多,如有些地方可能因为地貌不能挖泄洪河道、有的地方河道没法加宽、以及修建排洪沟……这样会使建立的模型对实际产生较大的误差。

七、参考文献

[1] 孙祥 徐流美 吴清,《matlab7.0基础教程》,清华大学出版社,2005年. [2] 刘卫国,MATLAB程序设计与应用(第二版),北京:高等教育出版社,2006年。

[3] 姜启源 谢金星 叶俊,数学模型(第三版),北京:高等教育出版社,2006年。

[4] 戴明强 李卫军 杨鹏飞,数学模型及其应用,北京:科学出版社,2007年. [5] 谢金星、薛毅编著,优化建模与lingo/lindo软件,北京:清华大学出版社,2005.7.

8

附件: 附录1 model: sets:

cun/1..10/;

link(cun,cun) |&2#gt#&1:q,x,d; endsets data: d =

8 13 8 11 9 17 15 8 16 7 14 9 11 14 23 16 18 17 4 12 8 22 11 16 12 6 15 12 15 13 7 7 17 9 12 10 11 10 8 18 4 7 15 11 6;

enddata

min=@sum(link(k,i)|k#lt#i:x(k,i)*(2/3)*@sqrt(q(k,i))*d(k,i)); @for(link(i,j)|i#lt#j:@bin(x(i,j))); @for(link(i,j)|i#lt#j:q(i,j)>=100);

@for(cun(i)|i#ne#10 #and# i #ne# 1:@sum(cun(j)|i #lt#

j:q(i,j)*x(i,j))-@sum(cun(j)|j #lt# i:q(j,i)*x(j,i))=100;); @for(cun(i)|i #ne# 10:@sum(cun(j)|i #lt# j:x(i,j))=1); !@for(cun(i)|i #eq# 10:@sum(cun(j)|j #lt# i:x(j,i))=1); End

附录2

function main() clc

p=[0 1/2 1/2 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1/2 0 0 0 0 0 1/2 0 0 0 0 0 0 0 1 0 0 0 0 0

0 0 0 1/3 0 1/3 0 1/3 0 0 0 0 0 0 1 0 0 0 0 0

0 0 1/3 0 0 0 0 1/3 1/3 0 0 0 0 0 1/3 0 1/3 0 0 1/3 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0]; A=[ones(10,1),zeros(10,9)];

9

B=p-eye(10)+A;

W=[1 0 0 0 0 0 0 0 0 0]*inv(B); W

10

本文来源:https://www.bwwdw.com/article/qda5.html

Top