数学建模大作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
兰州交通大学
数学建模大作业
学院:机电工程学院
班级:车辆093
学号:********* 姓名:刘键学号:********* 姓名:杨海斌学号:********* 姓名:彭福泰学号:********* 姓名:程二永学号:********* 姓名:屈辉
高速公路问题
1 实验案例 (2)
1.1 高速公路问题(简化) (2)
1.1.1 问题分析 (3)
1.1.2 变量说明 (3)
1.1.3 模型假设 (3)
1.1.4 模型建立 (3)
1.1.5 模型求解 (4)
1.1.6 求解模型的程序 (4)
1实验案例
1.1 高速公路问题(简化)
A城和B城之间准备建一条高速公路,B城位于A城正南20公里和正东30公里交汇处,它们之间有东西走向连绵起伏的山脉。公路造价与地形特点有关,图4.2.4给出了整个地区的大致地貌情况,显示可分为三条沿东西方向的地形带。
你的任务是建立一个数学模型,在给定三种地形上每公里的建造费用的情况下,确定最便宜的路线。图中直线AB显然是路径最短的,但不一定最便宜。而路径ARSB过山地的路段最短,但是否是最好的路径呢?
A
B
图8.2 高速公路修建地段
1.1.1 问题分析
在建设高速公路时,总是希望建造费用最小。如果要建造的起点、终点在同一地貌
中,那么最佳路线则是两点间连接的线段,这样费用则最省。因此本问题是一个典型的最优
化问题,以建造费用最小为目标,需要做出的决策则是确定在各个地貌交界处的汇合点。
1.1.2 变量说明
i x :在第i 个汇合点上的横坐标(以左下角为直角坐标原点),i =1,2,…,4;x 5=30(指
目的地B 点的横坐标)
x=[x 1,x 2,x 3,x 4]T
l i :第i 段南北方向的长度(i =1,2, (5)
S i :在第i 段上地所建公路的长度(i =1,2, (5)
由问题分析可知, ()()()()
2
542552432442322332
212222
1211x x l S x x l S x x l S x x l S x l S -+=-+=-+=-+=+=
C 1:平原每公里的造价(单位:万元/公里)
C 2:高地每公里的造价(单位:万元/公里)
C 3:高山每公里的造价(单位:万元/公里) 1.1.3 模型假设
1、 假设在相同地貌中修建高速公路,建造费用与公路长度成正比;
2、 假设在相同地貌中修建高速公路在一条直线上。在理论上,可以使得建造费用最少,
当然实际中一般达不到。
1.1.4 模型建立
在A 城与B 城之间建造一条高速公路的问题可以转化为下面的非线性规划模型。优化
目标是在A 城与B 城之间建造高速公路的费用。
()4,3,2,1300..)(min 5
142332211=≤≤++++=i x t s S C S C S C S C S C x f i
1.1.5模型求解
这里采用Matlab编程求解。
模型求解时,分别取C i(i=1,2,3)如下。
平原每公里的造价C1=400万元/公里;
高地每公里的造价C2=800万元/公里;
高山每公里的造价C3=1200万元/公里。
输入主程序model_p97.m,运行结果如下:
model_p97
optans =
2.2584e+004
len =
38.9350
ans =
12.1731 14.3323 15.6677 17.8269
求解程序见附录。
注:实际建模时必须查找资料来确定参数或者题目给定有数据)
6.模型结果及分析
通过求解可知,为了使得建造费用最小。建造地点的选择宜采取下列结果。
x1=12.1731,x2=14.3233,x3=15.6677,x4=17.8269
建造总费用为2.2584亿元。
总长度为38.9350公里
1.1.6求解模型的程序
(1)求解主程序
model_p97
function x=model_p97 %数学建模教材 P97 高速公路
clear all
global C L
C=[400 800 1200];
L=[4 4 4 4 4];
x=fmincon('objfun_97',[1,1,1,1],[],[],[],[],zeros(1,4),ones(1,4)* 30,'mycon_p97');
optans=objfun_97(x)
C=ones(3,1);
len = objfun_97(x)
(2)模型中描述目标函数的Matlab程序objfun_97.m
function obj=objfun_97(x)
global C L
obj=C(1)*sqrt(L(1)^2+x(1)^2) + C(2)*sqrt(L(2)^2+(x(2)-x(1))^2) + ... C(3)*sqrt(L(3)^2+(x(3)-x(2))^2)
C(2)*sqrt(L(4)^2+(x(4)-x(3))^2)+C(1)*sqrt(L(5)^2+(...30-x(4))^2); (3)模型中描述约束条件的Matlab函数mycon_p97.m
function [c,ceq]=mycon_p97(x)
c(1)=x(1)-x(2);
c(2)=x(2)-x(3);
c(3)=x(3)-x(4);
c(4)=x(4)-30;
ceq=[];