310 likes | 475 Views
第三讲 无约束规划建模案例 ——— 模型解的检验与分析 数学科学学院 李洪明. 无约束规划建模案例. 案例:高速公路修建问题. A 城和 B 城之间准备建一条高速公路, B 城位于 A 城正南 20 公里和正东 30 公里交汇处,它们之间有东西走向连绵起伏的山脉。公路造价与地形特点有关,下图给出了整个地区的大致地貌情况,显示可分为三条沿东西方向的地形带。.
E N D
第三讲 无约束规划建模案例 ———模型解的检验与分析 数学科学学院 李洪明
无约束规划建模案例 案例:高速公路修建问题
A城和B城之间准备建一条高速公路,B城位于A城正南20公里和正东30公里交汇处,它们之间有东西走向连绵起伏的山脉。公路造价与地形特点有关,下图给出了整个地区的大致地貌情况,显示可分为三条沿东西方向的地形带。
建立一个数学模型,在给定三种地形上每公里的建造费用确定的情况下,制定最便宜的路线。图中直线AB显然是路径最短的,但不一定最便宜。而路径ARSB过山地的路段最短,但是否是最好的路径呢?你怎样使你的模型适合于下面两个限制条件的情况呢?建立一个数学模型,在给定三种地形上每公里的建造费用确定的情况下,制定最便宜的路线。图中直线AB显然是路径最短的,但不一定最便宜。而路径ARSB过山地的路段最短,但是否是最好的路径呢?你怎样使你的模型适合于下面两个限制条件的情况呢? 1.当道路转弯时,角度至少为1400。 2.道路必须通过一个已知地点(如P)。
1.当道路转弯时,角度至少为1400。 2.道路必须通过一个已知地点(如P)。
问题分析 在建设高速公路时,总是希望建造费用最小。如果要建造的起点、终点在同一地貌中,那么最佳路线则是两点间连接的线段,这样费用则最省。因此本问题是一个典型的最优化问题,以建造费用最小为目标,需要做出的决策则是确定在各个地貌交界处的汇合点。
变量说明 xi:在第i个汇合点上的横坐标(以左下角为直角坐标原点), i=1,2,…,4; x5=30(指目的地B点的横坐标)
li:第i段南北方向的长度 (i=1,2,… ,5) Si :在第i段上地所建公路的长度 (i=1,2,…,5)。 由问题分析可知,
北 西 东 南 30公 里 Y l1 l2 20 公里 l3 l4 l5 X O
C1:平原每公里的造价 (单位:万元/公里) • C2:高地每公里的造价 (单位:万元/公里) • C3:高山每公里的造价 (单位:万元/公里)
模型假设 1、假设在相同地貌中修改高速公路,建造费用与公路长度成正比; 2、假设在相同地貌条件下所修建的高速公路均为直线。在理论上,可以使得建造费用最少,当然实际中一般达不到。
模型建立 在A城与B城之间建造一条高速公路的问题可以转化为下面的非线性规划模型。优化目标是在A城与B城之间建造高速公路的费用。
模型求解 这里采用Matlab编程求解。 模型求解时,分别取Ci如下。 平原每公里的造价C1=400万元/公里; 高地每公里的造价C2=800万元/公里; 高山每公里的造价C3=1200万元/公里。 (注意:实际建模时必须查找资料来确定参数或者题目给定有数据)
模型结果及分析 • 通过求解可知,为了使得建造费用最小。建造地点的选择宜采取下列结果。
北 西 东 南 30公 里 Y l1 l2 20 公里 l3 l4 l5 X O
建造总费用为2.2584亿元。 • 总长度为38.9350公里。
模型解的分析、检验、推广 对于所求出的解,首先要对解的实际意义进行分析,即模型的解在实际问题中说明了什么、效果怎样、模型的适用范围如何等等。同时,还要进行必要的误差分析和灵敏度分析等工作。
由于数学模型是在一定的假设前提下建立的,而且利用计算机进行近似求解,其结果产生一定的误差是必然的。通常意义下的误差主要来自于由模型的假设引起的误差、近似求解方法产生的误差、计算机在进行近似计算所产生的舍入误差。由于数学模型是在一定的假设前提下建立的,而且利用计算机进行近似求解,其结果产生一定的误差是必然的。通常意义下的误差主要来自于由模型的假设引起的误差、近似求解方法产生的误差、计算机在进行近似计算所产生的舍入误差。
在实际工作中,对这些误差我们很难准确地给出确切的数值,但我们可以进行定量的估计和定性的分析,往往对某些主要的参数做出契合度估计和灵敏度分析,即当一个或几个参数出现很小的扰动时,对结果的影响是否也很小,由此来确定相应变量和参数的误差允许范围。在实际工作中,对这些误差我们很难准确地给出确切的数值,但我们可以进行定量的估计和定性的分析,往往对某些主要的参数做出契合度估计和灵敏度分析,即当一个或几个参数出现很小的扰动时,对结果的影响是否也很小,由此来确定相应变量和参数的误差允许范围。
在实际的分析、检验、推广中通常我们要作如下几项工作:在实际的分析、检验、推广中通常我们要作如下几项工作: 一、模型解的验证;将模型的解返回到问题原型,查验是否与原问题产生歧义,原工作是否得到解决。
二、对于较复杂的问题,通常所建立的模型表达式不止一个,所使用的变量也比较多,因此,用简单验证的方法不能完成结果检验的目的,往往还要进一步使用统计学中的假设检验的方法,来验证最终结论的可信度、扰动性等。二、对于较复杂的问题,通常所建立的模型表达式不止一个,所使用的变量也比较多,因此,用简单验证的方法不能完成结果检验的目的,往往还要进一步使用统计学中的假设检验的方法,来验证最终结论的可信度、扰动性等。
三、较复杂的问题还常用回归分析的方法进行检验。利用原始数据,过程数据,计算相应的统计量,再运用统计原则分析条件是否充分、合理、准确,进而来推证建模结果的准确性。三、较复杂的问题还常用回归分析的方法进行检验。利用原始数据,过程数据,计算相应的统计量,再运用统计原则分析条件是否充分、合理、准确,进而来推证建模结果的准确性。
接下来还要对数学模型,模型结果,原问题的解决方案进行推广。这是因为在我们所处的大千世界,所涉列的诸多工作中,如果抛开表象究其本质我们会发现有很多问题是相同或相近的,可以用完全相同或稍加改进的方法加以解决。用时也能大大提升该模型的应用价值,提高我们建模工作的实际意义。接下来还要对数学模型,模型结果,原问题的解决方案进行推广。这是因为在我们所处的大千世界,所涉列的诸多工作中,如果抛开表象究其本质我们会发现有很多问题是相同或相近的,可以用完全相同或稍加改进的方法加以解决。用时也能大大提升该模型的应用价值,提高我们建模工作的实际意义。
求解模型的主程序文件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)
模型中描述目标函数的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);
描述约束条件的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_p97 optans= 2.2584e+004 len= 38.9350 ans= 12.1731 14.3323 15.6677 17.8269
谢 谢 ! 下课,同学们再见。