数学建模解答.docx
《数学建模解答.docx》由会员分享,可在线阅读,更多相关《数学建模解答.docx(18页珍藏版)》请在冰豆网上搜索。
![数学建模解答.docx](https://file1.bdocx.com/fileroot1/2022-12/12/935ea1ef-f309-4f3e-9057-79912571c018/935ea1ef-f309-4f3e-9057-79912571c0181.gif)
数学建模解答
The2edhomeworkofmathematicalmodeling
TEAM:
14#304dormitory
Persons:
04231107FanJingjing04231114JiangLan04231115LiLinjian04231116LiXia
March21,2006
CollageofMathematicalScience,BNU
ModelinginconstructionMathematicalModeling
For:
Prof.ZengandTALee.
逢山修路问题
一,摘要
本题旨在通过对复杂地形的探索与分析,以及对资金费用的考虑,探索出一条逢山开路的最佳路线。
最终找到一条最优路线建设方案,使花费最低。
我们的主要思路如下:
从山脚经居民点到矿区,需要经过一个峡谷,并且有一条小溪,到达居民区,之后经过一条山脉到矿区。
经过小溪的地方我们要修桥,因为考虑到山的坡度问题以及修桥的高价费用问题,我们需要寻找一条最适路线,由于公路有坡度的限制(
),我们必须选择可行的一条道路通向山谷,并且尽量花费最少。
修桥的地方我们也要考虑到坡度的可行性,以及结合水面最宽处与峡谷深度的那个函数,找出河面比较窄的点来修桥达到资金花费最少。
之后考虑山峰修一条隧道,由已知条件,我们应尽量控制隧道长度在300米以内,因为超过300米花费就是一倍!
通过对隧道长度,公路坡度,以及矿区高程的因素的考虑,我们选定了一条路线通过修隧道过山峰,再至矿区。
最后,我们通过用matlab作图,拟合函数计算路线长度,以及应用公路学以及城市规划的一些原理分析,提出了一种花费最小化的可行做法。
关键词:
隧道,桥,高程,坡度,资费
二,模型假设
我们认为逢山开路主要从路线及价钱考虑,寻找一种可行的路线同时又较为省钱,为这个问题的最佳方案。
为简化该问题,我们先做出几点假设:
(1)、假设山体充分光滑。
(2)、不考虑路面宽度。
(3)、溪流的的最深处在x+y=4800,(2400≤x≤4800)上,且该直线为溪流的中线。
(4)、桥梁的长宽度为溪流的宽度。
根据对整个地形图及公路走向的认识,我们决定将公路分为四段来修:
一是从起点(0,800)到小溪流,二是修桥及到居民点一端,三是从居民点到山峰这段,最后就是越过山到达矿区。
我们先建立一个空间三维的直角坐标系,x、y坐标同题目中一致,z坐标则表示对应给出的x、y坐标的点的高程。
根据题中所给数据,我们将该地区的大致图形绘制如下:
下面是路段工程成本及对路段坡度α(上升高程与水平距离之比)的限制如下表:
工程种类
一般路段
桥梁
隧道
工程成本/(元/米)
300
2000
1500(长度≤300米)
3000(长度﹥300米)
对坡度的限制
α<0.125
α=0
α<0.100
第一段公路属于一般路段,由于这一段路的终点是桥梁,故要确定这一段路首先要确定桥梁的具体位置。
三,模型设计
(一)、桥梁位置的选取
我们已先假设溪流的中心连线在o-xy面上的投影为直线段x+y=4800(2400≤x≤4800)上,先假设桥梁的长度为小溪的宽度,小溪的宽度与(溪流最深处的)x的坐标关系可近似表示为:
由此可知,小溪的宽度随x的增加呈递增的关系。
再从小溪左右公路对坡度要求,我们暂时确定小溪的位置在点
之间,因为小溪的直线方程从
点开始为:
,我们先假设在小溪中心高程z=800的地方修桥。
在这样的高程上,我们找到小溪上对应的点为
,由此算出溪流的宽度:
。
因为桥的坡度为零,从这方面考虑,则桥的两个落点只能在点
这两点与A点的两条直线上确定,为了方便,我们做一个垂直于o-xy面,含直线
的剖面如下图,
为桥的两个落点,为了满足桥的宽度最接近小溪宽度,通过计算,我们求得
,则桥的实际高程为855,桥的实际宽度为82米。
倒此,我们解决的桥梁问题。
(二)、第一段山路的优化设计
由题所给数据及上面对桥梁位置的找寻,我们可以知道这段路的始点为M(0,800,650),终点为
。
通过对整个数据的观察及计算,我们需要在x=400,x=800的位置分别寻找高程z=700,750的点,为了简便计算,我们假设在x=400与x=800的地方,山形在两点间呈直线,那么我们可以得到这样两个点
我们用分段直线连接
,这里
记该段曲线的长度为
。
在y=400这个平面上,我们在x=1200到x=2400直接修路是可行的,于是根据题中所给数据,我们以合一条山体曲线,即公路的曲线如下图所示(由于横纵坐标的选取间隔不一样,故看起来较为陡峭,实际不然):
该曲线的函数为:
z=-2.0642e-8*x^3+3.125e-5*x^2+0.19167*x+570,x在1200到2400之间,记该段曲线的长度为
。
现在解决该段曲线最后一段,通过对数据的观察,我们认为该段曲线应该要经过
这点。
通过对坡的计算,发现这样走是可行的。
我们就直接用几段线段来连接这几点,记该部分曲线的长度为
。
则第一段公路的长度为
4124.2
(三)、桥与居民区之间的路段优化
这段是从点
开始到居民点
结束,通过对开始点高程和结束点高程的考虑,由于高程偏低,故不能直接走,需要从高程较接近的路线绕道居民点。
我们认为应该先从点(3200,1600,700)与点(3200,2000,1100)之间寻找一个高程在870左右的点,经过计算我们确定这个点为(3200,1770,870),再经由点(3600,1600,900),最后至居民点
。
通过对高度的考虑及周围点的坐标变化情况,在这几个点之间用折线连接可行,记这段公路的长度为
,通过计算有:
=1180.97。
(四)、隧道的选取及居民区到隧道一段路段的优化
因为整个公路的终点为
,其高程比居民点前一段公路的高程高出许多,因此从居民点到隧道及出隧道以后的路段呈缓慢上升趋势。
再通过对山峰两边高程的考虑,我们的想法是将修筑的隧道的高程应该在950到1200之间,再加上对隧道坡度及一般路段的坡度的考虑,我们先决定在以点(4400.2800,1500)为顶点的山峰上修筑高程在1100左右的隧道。
由于居民点到隧道这段路缓慢上升,即高程在允许的情况下缓慢增加。
居民点的高程为950,我们通过计算分别找到这样一些点(4012,2400,1002),(4047.06,2800,1050),最终确定隧道入口点的坐标为(4400,2927,1090),因为这座山峰近似图如下所示:
求得出口点坐标(4400.3446.1100),隧道长度为
519.1米,整个隧道坡度为0.02在允许的范围内,故在这个地方修筑隧道是可行的。
故该方案可行,在该方案下路段长度
米。
(五)、出隧道后到矿区路段的优化
出隧道后到矿区这一段路的高程也是缓慢增加的,我们的考虑是从隧道出口的高程1100开始一点点增加高程,使之最后到达矿区。
为了达到这一目的,我们在隧道出口和矿区之间选取了这样一些点作为公路的必经之处:
(4000,3491,1159)、(3600,3600,1200)、(3200,3685,1246)。
跟据隧道出口点和计算出的这三个点,我们拟合了一条公路走向近似曲线如图所示:
从点(3200,3685,1246)到矿区(2000,4000,1320)之间,我们通过计算发现这段路可近似用直线表处,故该段直线的方程为:
。
求得该直线的长度为1240.86米。
则出隧道到矿区的路段长度
2644.24米。
(六)、整段路程总合及所需资金计算
在整个路段中,一般路段的长度
米。
桥梁长度为82米。
隧道长为519.1米。
故最终所需资金为:
7950.65*300+82*2000+[300*1500+(519.1-300)*3000]=410.13(万元)
四,模型分析
由于我们对一些函数的不确定,一部分的路线近似用直线代替,通过线性差值法计算出一些高程,从宏观来说,是可以这样近似看待的。
用matlab拟合函数来计算点的位置以及确定修桥修隧道位置,使数据更加精确。
五,参考文献
刘来福曾文艺编著《数学模型与数学建模》北京师范大学出版社
谭浩强著《C程序设计》高等教育出版社
张志涌等《精通matlab6.5版》北京航空航天大学出版社
六,附件
一些用matlab拟合函数的图形及算法,如下:
1.第一段,海拔800-780的线性拟合:
先用二次的多项式曲线拟合:
h1=[800,850870850];
x1=[1200160020002400];
plot(x1,h1,'o')
holdon;
p2=polyfit(x1,h1,2);
xx=linspace(1200,2400);
plot(xx,polyval(p2,xx),'g')
见图:
二次多项式曲线拟合
再用三次的拟合一次:
figure
(2)
plot(x1,h1,'o')
holdon;
p3=polyfit(x1,h1,3);
plot(xx,polyval(p3,xx),'g')
见图:
三次多项式曲线拟合
比较得知,二次的拟合较为接近,而曲线尚有两个点未能通过,三次的拟合已经十分接近了,通过给定的全部的点。
因此,采用三次拟合。
由刚才的计算,得知:
p3=[-2.0642e-83.125e-50.19167570.0000]
即:
Whenxisin[1200,2400]h=-2.0642e-8*x^3+3.125e-5*x^2+0.19167*x+570
2.计算海拔在1010到880之间,纵坐标在4000到4400之间,海拔约为1000的点的横坐标。
线形拟合计算
为增加准确度,将海拔1380到1050及对应横坐标都纳入拟合范围
类似的:
figure(3)
h2=[138010108801050];
x2=[3600400044004800];
plot(x2,h2,'o')
holdon
q3=polyfit(x2,h2,3);
xx=linspace(3600,4800);
plot(xx,polyval(q3,xx),'r')
见图:
找海拔为1000米的那个拟合图
拟合情况非常好,MATLAB计算出q3=[1.5625e-007-0.0011250.855610]
鉴于是已知海拔求横坐标,是反求自变量,我们采取在图上采点找近似值的方法获取数据
gridon
打上网格后,获取数据x=4012,h=1002
见图:
找到1002的横坐标的图
3.
(1)找横为4000高为1150左右的点
从x=4000,y=2800~4000,拟合一个高度h关于y的曲线
figure(4)
h3=[10701550980780];
y1=[2800320036004000];
plot(y1,h3,'o')
holdon
f3=polyfit(y1,h3,3);
yy=linspace(2800,4000);
plot(yy,polyval(f3,yy),'r')
gridon
xlabel('y')
ylabel('h')
采点,取h=1150左右的点y=3491,h=1159
(2)同样的方法在x=3200,h=1600~950,拟合一个高度h关于y的曲线
figure(5)
h4=[160013001080950];
y2=[3200360040004400];
plot(y2,h4,'o')
holdon
f3=polyfit(y2,h4,3);
yy=linspace(3200,4400);
plot(yy,polyval(f3,yy),'r')
gridon
xlabel('y')
ylabel('h')
采点得y=3685,h=1246
见图:
找海拔约为1250的那个点的图
(3)下面根据刚才找出的点,算出隧道出口到矿区的公路拟合路线及其近似长度
首先,将曲线投影到XOY平面上,计算出射影线段的长度
将点(3200,3686),(3600,3600),(4000,3491),(4400,3225)(注明:
这个3225是凡静静算的)
拟合成XOY平面上的曲线,求长,再用空间关系求出公路近似长
x3=[3200360040004400];
y3=[3686360034913225];
plot(x3,y3,'o')
holdon
r3=polyfit(x3,y3,3);
xx=linspace(3200,4400);
plot(xx,polyval(r3,xx),'r')
见图:
出隧道口到3200,高1250左右那个点的拟合图如下所示
r3=[-3.4896e-0070.0036969-13.23819626]
得
y=-3.4896e-007*x^3+0.0036969*x^2-13.238*x+19626
A(2400,400,850)B(2800,800,830)C(3036,1836,855)的拟合
分别将AB,BC用二次曲线拟合,使它们在XOY上的投影是直线
为此,变量设为t=(x^2+y^2)^0.5:
如下计算:
AB:
考虑到:
[(2800-2400)^2+(800-400)^2]^0.5=565.7
figure
t1=[0565.7];
hh1=[850830];
plot(t1,hh1,'o')
holdon
tt=linspace(0,565.7);
g1=polyfit(t1,hh1,2);
plot(tt,polyval(g1,tt),'g')
见图:
多加的一段拟合
计算出:
g1=[-6.2497e-0050850]
hh1=-6.2497e-005*x^2+850
BC:
考虑到:
[(3036-2800)^2+(1836-800)^2]^0.5=333.8
类似地
figure
t2=[0333.8];
hh2=[830855];
plot(t2,hh2,'o')
holdon
tt=linspace(0,333.8);
g2=polyfit(t2,hh2,2);
plot(tt,polyval(g2,tt),'g')
见图:
多加的第二段拟合
计算出:
g2=[0.000224370830]
hh2=0.00022437*x^2+830
304组员:
04231107凡静静04231114姜岚04231115李林娟04231116李夏
For:
Prof.ZengandTALee.
2006.3.21