1、数学规划建模案例数学规划建模案例案例:高速公路问题案例:高速公路问题 A城和城和B城之间准备建一条高速公路,城之间准备建一条高速公路,B城位于城位于A城正南城正南20公里和正东公里和正东30公里交汇处,它们之间有东西走向连绵公里交汇处,它们之间有东西走向连绵起伏的山脉。公路造价与地形特点有关,下图给出了整起伏的山脉。公路造价与地形特点有关,下图给出了整个地区的大致地貌情况,显示可分为三条沿东西方向的个地区的大致地貌情况,显示可分为三条沿东西方向的地形带。地形带。你的任务是建立一个数学模型,在给定三种地形上每公你的任务是建立一个数学模型,在给定三种地形上每公里的建造费用的情况下,确定最便宜的路线
2、。图中直线里的建造费用的情况下,确定最便宜的路线。图中直线AB显然是路径最短的,但不一定最便宜。而路径显然是路径最短的,但不一定最便宜。而路径ARSB过山地的路段最短,但是否是最好的路径呢?你怎样使过山地的路段最短,但是否是最好的路径呢?你怎样使你的模型适合于下面两个限制条件的情况呢?你的模型适合于下面两个限制条件的情况呢?1.当道路转弯是,角度至少为当道路转弯是,角度至少为1400。2.道路必须通过一个已知地点(如道路必须通过一个已知地点(如P)。)。22111222212223323224434225545()()()()SlxSlxxSlxxSlxxSlxxC1:平原每公里的造价(单位:
3、万元平原每公里的造价(单位:万元/公里)公里)C2:高地每公里的造价(单位:万元高地每公里的造价(单位:万元/公里)公里)C3:高山每公里的造价(单位:万元高山每公里的造价(单位:万元/公里公里)模型假设模型假设1、假设在相同地貌中修改高速公路,建、假设在相同地貌中修改高速公路,建造费用与公路长度成正比;造费用与公路长度成正比;2、假设在相同地貌中修改高速为直线。、假设在相同地貌中修改高速为直线。在理论上,可以使得建造费用最少,当在理论上,可以使得建造费用最少,当然实际中一般达不到。然实际中一般达不到。模型建立模型建立 在在A城与城与B城之间建造一条高速公路的问题城之间建造一条高速公路的问题可
4、以转化为下面的非线性规划模型。优可以转化为下面的非线性规划模型。优化目标是在化目标是在A城与城与B城之间建造高速公路城之间建造高速公路的费用。的费用。1122332415min ().0 30(1,2,3,4)if xC SC SC SC SC Ss txi 模型求解模型求解 这里采用这里采用Matlab编程求解。编程求解。模型求解时,分别取模型求解时,分别取Ci如下。如下。平原每公里的造价平原每公里的造价C1400万元万元/公里;公里;高地每公里的造价高地每公里的造价C2800万元万元/公里;公里;高山每公里的造价高山每公里的造价C31200万元万元/公里。公里。(注意:实际建模时必须查找资
5、料来确定参数或(注意:实际建模时必须查找资料来确定参数或者题目给定有数据)者题目给定有数据)模型结果及分析模型结果及分析 通过求解可知,为了使得建造费用最小。通过求解可知,为了使得建造费用最小。建造地点的选择宜采取下列结果。建造地点的选择宜采取下列结果。1234=12.1731,=14.3323,=15.6677,=17.8269.xxxx建造总费用为建造总费用为2.2584亿元。亿元。总长度为总长度为38.9350公里。公里。求解模型的主程序文件求解模型的主程序文件model_p97 function x=model_p97%数学建模教材数学建模教材 P97 高速公路高速公路clear al
6、lglobal C LC=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)模型中描述目标函数的模型中描述目标函数的Matlab程序程序objfun_97.m function obj=objfun_97(x)global C Lobj=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);描述约束条件的描述约束条件的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=;主程序运行结果主程序运行结果model_p97optans=2.2584e+004len=38.9350ans=12.1731 14.3323 15.6677 17.8269