数学建模的作业_第1页
数学建模的作业_第2页
数学建模的作业_第3页
数学建模的作业_第4页
数学建模的作业_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验1 渡口模型仿真计算实验内容:(渡口模型仿真)渡船营运者如何规划,使得单次运送车辆最多、最合理,从而获得最大利润。实验目的:对渡口问题进行仿真计算,与理论结果进行比较,验证模型的正确性。实验步骤:1、对问题的变量进行合理定义,并指出合理存在区间; 2、选取合适步长,通过C语言或者MATLAB软件编程,遍历寻优,得到单次运送所获利润的最大值,并同时求出最大值点; 3、考虑随机到达的情况,进行随机优化; 4、比较结论,对模型的合理性进行评估,或者进一步优化和重构模型。【问题提出】一个渡口的渡船营运者拥有一只甲板长32米,可以并排停放两列车辆的渡船。他在考虑怎样在甲板上安排过河车辆的位置,才能安

2、全地运过最多数量的车辆。【准备工作】他关心一次可以运多少辆车,其中有多少小汽车,多少卡车,多少摩托车。他观察了数日,发现每次情况不尽相同,得到下列数据和情况:(1)车辆随机到达,形成一个等待上船的车列;(2)来到渡口的车辆中,轿车约占40,卡车约占55,摩托车越占5;(3)轿车车身长为3.55.5米,卡车车身长为810米。【问题分析】这是一个遵循“先到先服务”的随机排队问题,这里试图用模拟模型的方法来解决,故需分析以下几个问题需要考虑下面一些问题: (1)应该怎样安排摩托车? (2)下一辆到达的车是轿车还是卡车? (3)怎样描述一辆车的车身长度? (4)到达的车要加入甲板上两列车队的哪一列中去

3、?【建立模型】其中我以函数获得的平均分布的随机数,然后假定车身长度也符合平均分布,并假定渡船甲板由两列组合成一列,长64米,每辆车辆来到渡口,遵循先到先服务的原则,依次进入,并假定两辆车之间相隔0.5米,因此得出模型1假定遵循左右均衡的原则。尽可能使左右车辆的卡车数量相等,轿车数量相等,得出模型2模型1中,由于车辆为分两队摆放,每边都应有一定间隙,例如,若有8米空隙在模型1中,理论上还可停一辆车,但显然是不可能的.假定给出停放两列汽车的方式为采用先停一列再停一列的方式,得出模型3由于车辆的长度不可能特长或特短,因此车长该服从正态分布.将以上模型修改,得出模型4,5,6【模型求解】注意到甲板停放

4、两队汽车,可供停车的总长度为32*2=64米。这里汽车排成的车队总长为55.06米,似乎还可以停放一辆车,但应注意到车辆是分两队排放,且各车停放时均有一定间隙,因此我们可认为不能再停一辆车。船主关心一次能运载多少辆卡车,多少辆轿车,是否有空间浪费。上表给出一个解答,但它是由特定的一组随机数来确定车型和车身长度的,对于另一组随机数,将会产生不同的结果。实际上,如果将由一组随机数模拟确定的结果,看成对一次实际运载情况的观察,那么一次观察结果没有多少实际参考价值。船主应当做较多次的“观察”,求出每次“平均”运载多少辆卡车和轿车,每次“平均”会浪费多少空间。这儿的关键词是“平均”两字。列表123456

5、卡车数(平均)(左)4.48822.06502.01845.30562.39002.3464(右)1.98922.02902.35242.3384轿车数(平均)(左)3.47541.51482.19144.02601.78042.3682(右)1.80302.15462.00482.3800摩托车数(平均)0.44140.41220.51700.51640.47740.5732总长度(左)59.941227.162530.127961.201627.436629.4172(右)27.878630.009428.014629.3964剩余长度4.05888.95893.86272.79848.5

6、4885.1864【结论与解释】由于在小渡口,摩托车的数量很少,约5%,而且体积比起卡车和轿车要小得多,可以将它安插在车队的间隙,认为它不占有实际空间。关于到达码头的下一辆车的类型。若随机变量x u(0,1),由于车到来的情况是完全未知的,不能确定是哪类车,因此服从均匀分布。确定车辆类型: p0x0.55=0.55 p0.55x0.95=0.40 p0.95x1.0=0.05关于车身长的确定在表中记录了一次摸拟的数据和结果,其中列长表示甲板上已安排的车列的长度。RND0.100.280.61 0.34 0.77 0.57 0.02 0.88种类卡车卡车轿车卡车轿车轿车卡车轿车RND0.590.

7、480.100.560.300.900.810.66车长(米)9.448.963.709.124.105.309.624.82列长(米)9.4418.422.131.2235.3240.6250.2455.06上表中的数据是一串在(0,1)区间上均匀分布的随机数,通常记为RND。根据上面的不等式,参照下图所示,我们用一串随机数来确定到达车辆的车型。 0 0.55 0.95 1.0 卡车 轿车 摩托车假定轿车和卡车车身长服从给定区间上的均匀分布。我们用另一串RND来确定车身长度(见表中第三行和第四行)。根据概率论知识,若X U(0,1)则有a+(b-a)X U(a,b),即a+(b-a) X服从

8、(a,b)区间上均匀分布。我们假定轿车和卡车车身长服从给定区间上的均匀分布,则车身的长度由下面等式给出:轿车长度=3.5+2.0RND 卡车长度=8.0+2.0RND关于车辆的排放甲板可停放两列汽车,可供停车的总长为32×2=64米,但各车前后均有一定间隙,并且两列很难等长。 排放原则:两列尽可能均衡。由一组特定随机数确定车型和车身长度,得到一个解答,不同的随机数组将会产生不同的结果。将由一组随机数模拟确定的结果,看成对一次实际运载情况的观察,少数几次观察是无意义的,需要多次重复模拟(相当于实际观察),再进行统计分析。一、模型建立与问题处理1、 认为摩托车不会占用实际的空间2、 确定

9、即将到达的车辆类型利用随机模拟的方法3、 确定随机到大的车辆的身长利用随机模拟的方法4、 关于车辆的排放甲板可停放两列汽车,可供停车的总长为设到达的卡车、轿车长度分别为随机变量。结合实际,不妨设卡车、轿的车身长度均服从正态分布,由于卡车车身身长为,所以卡车车长均值为由概率知识中的“”原则,其标准差为,所以得到。同理可得。二 (一)、两个随机变量的模拟:(1)汽车类型确定原理分析若随机变量,有(2)车身长度模拟原理分析假定轿车和卡车车身身长服从给定区间上的均匀分布。根据概率论知识,若,有,即服从区间上的均匀分布。车身的长度由下面的等式给出:轿车车身长度 卡车车身长度(二)、模拟原理:汽车车型:轿

10、车车身长度 卡车车身长度(三)、模拟数据:可用一串随机数(RND)来确定到达车辆的车型与车长。RND0.10.280.610.340.770.57种类卡车卡车轿车卡车轿车轿车RND0.590.480.100.560.300.90车长(米)9.448.963.709.124.105.30三、模拟程序设计:由以上的分析,程序设计时应该划分的主要模块如下:1. 确定下一辆到达车辆的的类型;2. 根据车的类型确定到达的车辆长度;3. 根据一定的停放规则,确定放在哪一列。模拟求解结果及分析(一) 运行结果程序名为sim_dukou,运行程序,输出结果如:sim_dukou输入模拟次数:1000平均每次渡

11、船上的车数mean_=5.4840 3.9180 0.5160(二)结果分析上面为运行一次模拟程序,模拟次数为1000次的模拟结果。从模拟结果上看,摩托车的平均数量不到一辆,以此从另外一方面看,忽略摩托车的平均长度是合理的。统计结果显示平均每次渡口时船上的卡车、轿车、摩托车数量分别为5.484、3.918、0.516辆。用matlab写程序如下%M脚本文件eg1_1a.mfunction sim_dukouglobald=0.7;n=input('请输入随机数:');if isempty(n)|(n<500) n=500;endN=zeros(1,3);for i:n,i

12、sfull=0;BL=0,0;WhlieisfullId=markeid;N(id)=N(id)+1;Newlen=getlength(id);if id<=2,isfull,pos=getiffull(BL,newlen);Ifisfull,BL(pos)=BL(pos)+newlen;if BL(pos)=0,BL(pos)=BL(pos)+d;endendendend function r=makeidt=rand;if t<=0.55,r=1;else if t<0.95r=2;elser=3;end function len=getlength(id)switch

13、idcase 1,len=min(4.5+randn*(1/3),5.5);case 2,len= min(9+randn*(1/3),10);case 3,len=0;end function full,pos=getiffull(L,newlen)full=0;pos=0;global d;newlen=newlen+d;if L(1)>L(2),if L(2)+newlen<32,pos=2;elsefull=1;end sim_dukou输入模拟次数:1000mean_=5.4840 3.9180 0.5160由此得到小汽车 卡车 摩托车每次过河平均的数量。实验2 穿越公路

14、模型仿真计算实验内容:(穿越公路模型仿真)在一条不太拥挤的公路上如何合理设置斑马线,使得行人能安全穿越。实验目的:对穿越公路模型进行仿真计算,与理论结果进行比较,验证模型的正确性。实验步骤:1、利用题目给定模型和方法编程计算,对结果进行比较分析; 2、在上述基础上考虑有双向行驶的情况,计算模型结果,分析结果的变化情况; 3、考虑设置“安全岛”,计算相应结果,分析结果的变化情况。【问题提出】一条公路交通不太拥挤,以致人们养成冲过马路的习惯,不愿意行走到邻近较远处的“斑马线”。当地交通管理部门不允许任意横穿公路,为方便行人,准备在一些特殊地点增设“斑马线”,让行人可穿越公路,并且还要保证行人的等待

15、时间不超过15秒。【问题分析】增设“斑马线”需考虑哪方面的问题?1. 考虑问题的立场,司机或行人哪方面的利益更为重要?2. 公路情况:是否有弯道?车道之间是否设有安全隔离带?···3. 车流情况:车流量的大小4. 行人情况:穿越公路的速度大小?穿越公路的人群密度?穿越公路者的性质?此问题的特点是机理复杂,受到较多随机因素的影响,故采用统计随机模拟方法来解决。实验3 火车弯道仿真计算实验内容:火车弯道曲线仿真计算与作图实验目的:对火车弯道曲线进行仿真计算,与理论结果进行比较,验证模型的正确性,然后做出曲线图像。实验步骤:1、仔细阅读教材所建模型,掌握模型的建立与计算

16、方法; 2、用适当的近似计算技术,对模型进行数值计算; 3、比较结论,对模型的合理性进行评估; 4、绘制曲线图。实验过程:一、问题分析如果我们能够给火车弯道一个非常合理的建造的话,那么就会减小线路的损坏,使乘车人感到舒适、不会担心发生危险。因此,我们要给它编制一个合理的、保证列车安全运行的轨道。轨道的建造对人民和财产有密切的影响,我们可以从网上和电视上看到火车脱轨残不忍睹的场景。为了不使亲人们流泪、国家的财产得以保障。因此,为了解决这些问题我们现在所要解决的是用数学建模方法对现题中提出的问题给以计算。同时避免离心力的突然出现,要在弯道与直道间加设一段曲线,以使列车受到的离心力从零均匀地增大到F

17、,外轨超高也从零逐渐增大到h。所加曲线就是缓和曲线。根据所建立的模型,分别求出:缓和曲线方程,考虑到内轨和外轨的不同之处;在外轨超高不改变时,速度提高时,则转弯半径增大 ,缓和曲线的改造;在外轨超高可以改变时,缓和曲线的改造。二、实验假设:假设内外轨间的距离为L,内外轨的高度差为h,火车转弯的半径为R,假设在建造的地方无冻土地区,不会影响建造。 假设建造期间无不安全事故发生。 假设施工质量无质量问题。 假设不受地形的影响。假设火车在转弯时前的缓冲时的坐标与坐标轴的相同。假设个项指标符合国家标准。 假设微圆、曲线视为直线。三、符号及变量说明R为转弯半径 K为曲率R为曲率半径 V火车运行速度S为转

18、弯前缓和长度 转弯总的缓和长度O为圆曲线的圆心 为缓和曲线所上升的高度h为没在正式转弯是缓和上升的高度 r在外轨超高不变时,速度提高后的转弯半径a内轨缓和曲线上一点 Q外轨缓和曲线上一点m火车的质量 火车内外轨的距离用回旋线作为缓和曲线的数学模型K=在火车行驶到拐弯处时,即有mg得ha点坐标为(x,y),假设x的坐标值在坐标轴上相等时,斜率y为0。K=y 在根据假如缓和曲线所上升的高与转弯总的缓和长度成正比,则可得出: h0 s 200即h=,当取缓和曲线中的一小段在则有ds=积分后得ds=dx,即s=x在假如当火车运行到缓和曲线a时,火车所需的向心力为:得h=K,K=最后解得:y=对于问题(

19、2)在外轨超高不变时,速度提高时,则转弯半径增大。在转弯处使外轨略高于内轨,火车驶过转弯处时,铁轨对火车的支持力 的方向不再是竖直的,而是斜向弯道内侧,它与重力g的合力指向圆心,成为使火车转弯的向心力 设内外轨间的距离为,内外轨的高度差为h,火车转弯的半径为R,火车转弯的规定速度为 如图所示力的三角形得向心力为: 由牛顿第二定律得:所以: 即: 当 =200m =120 kmh g=9.8 m/s R=400m时 得到 = =0.428m 在超高0.428米不变的情况下,即:R=400米的情况下, =对于问题(3)在外轨超高可以改变时,速度的变化使缓和曲线随着外轨的超高变化.列车速度一定时在超

20、高可以变化的情况下,会引起半径R的变化。由缓和曲线方程知,在R变化的情况下L可变可不变(L<R),都会引起缓和曲线方程的变化。如:列车速度v=180Km/h,则其h=500m时,R=764.64m。=100m时,=X。所以,在超高改变的情况下缓和曲线也会发生相应的变化。 实验6易拉罐下料问题仿真计算实验内容:易拉罐模型仿真实验目的:对易拉罐下料问题进行仿真计算,与理论结果进行比较,验证模型的正确性。实验步骤:1、对问题的变量进行合理定义,并指出合理存在区间; 2、选取合适步长,通过C语言或者MATLAB软件编程,遍历寻优; 3、比较结论,对模型的合理性进行评估,或者进一步优化和重构模型。

21、【问题提出】罐身高10 cm,上盖、下底直径均 5cm上盖下底罐身每周工作40小时,每只易拉罐利润0.10元,原料余料损失0.001元 / cm2(不能装配的罐身、盖、底也是余料) 如何安排每周生产? 【问题分析】计算各种模式下的余料损失 模式1 上、下底直径d = 5cm,罐身高 h=10cm,周长p d = 15.71cm余料损失 242- 10´p d 2/ 4 - p d h = 222.6 cm2 罐身个数底、盖个数余料损失(cm2)冲压时间(秒)模式1110222.61.5模式224183.32模式3016261.81模式445169.53目标:易拉罐利润扣除余

22、料损失后的净利润最大 (不能装配的罐身、上下底也是余料)约束:每周工作时间不超过40小时原料数量:规格1(模式13)5万张 规格2(模式4)2万张 罐身和底、盖的配套组装【模型建立】决策变量 :xi 按照第 i 种模式生产的张数(i = 1, 2, 3, 4);y1 一周生产的易拉罐个数;y2 不配套的罐身个数;y3 不配套的底、盖个数。 y1 易拉罐个数;y2 不配套的罐身个数;y3 不配套的底、盖个数。每只易拉罐利润0.10元 余料损失0.001元 / cm2产品余料时间X1222.61.5X2183.32X3261.81X4169.523罐身面积p dh=157.1 cm2 底盖面积p

23、d2/4=19.6 cm2目标 MAX 0.1y1-0.001(222.6x1+183.3x2+261.8x3+169.5x4+157.1y2+19.6y3)约束条件1.5x1+2x2+x3+3x4<=144000(40小时) 时间约束x1+x2+x3<=50000 x4<=20000 原料约束y1 易拉罐个数;y2 不配套的罐身个数;y3 不配套的底、 盖个数。Y2=x1+2x2+4x4-y1 y3=10x1+4x2+16x3+5x4-2y1变量非负 x1,x2,x3,x4,y1,y2,y3>=0 【模型求解】LINDO发出警告信息:“数据之间的数量级差别太大,建议进

24、行预处理,缩小数据之间的差别将所有决策变量扩大10000倍(xi 万张,yi 万件) 即1.5x1+2x2+x3+3x4<=14.4 x1+x2+x3<=5 x4<=2OBJECTIVE FUNCTION VALUE 1) 0.4298337VARIABLE VALUE REDUCED COST Y1 16.025000 0.000000 X1 0.000000 0.000050 X2 4.012500 0.000000 X3 0.375000 0.000000 X4 2.000000 0.000000 Y2 0.000000 0.223331 Y3 0.000000 0.0

25、36484 模式2生产40125张模式3生产3750张模式4生产20000张共生产易拉罐160250个(罐身和底、盖无剩余)净利润为4298元 易拉罐下料c=0.2226;0.1833;0.2618;0.1695;-0.1;0.1571;0.0196;>> a=1.5 2 1 3 0 0 0;1 1 1 0 0 0 0;0 0 0 1 0 0 0;b=144000;50000;20000;>> Aeq=1 2 0 4 -1 -1 0;10 4 16 5 -2 0 -1;beq=0;0;>> x,fval=linprog(c,a,b,Aeq,beq,zeros

26、(7,1)Optimization terminated.x = 1.0e+005 * 0.0000 0.4012 0.0375 0.2000 1.6025 0.0000 0.0000fval = -4.2983e+003因此最大利润为-fval=4298.3实验8 奶制品生产和销售仿真计算实验内容:奶制品的生产和销售问题问题的提出一奶制品加工厂用牛奶生产A1、A2两种奶制品,1桶牛奶可以在设备甲上用12小时加工成3公斤A1,或者在设备乙上用8小时加工成4公斤A2。根据市场需求,生产的A1、A2全部能售出,且每公斤A1获利24元,每公斤A2获利16元。现在加工厂每天能得到50桶牛奶的供应,每天

27、正式工人总的劳动时间为480小时,并且设备甲每天至多能加工100公斤A1,设备乙的加工能力没有限制。试为该厂制订一个生产计划,使每天获利最大? 问题的分析该问题的决策受到3个条件的限制:原料(牛奶)供应、劳动时间、设备甲的加工能力。设每天用x1桶牛奶生产A1,用x2桶牛奶生产A2,并设每天获利为z元。则:x1桶牛奶可生产3x1公斤A1,获利243x1元,x2桶牛奶可生产4x2公斤A2,获利164x2元,目标函数为:Max z=72x1+64x2。由题设可以得到如下约束条件:原料供应: x1+x250桶;劳动时间:12x1+8x2480小时;设备能力: 3x1100;非负约束:即x10,x20综

28、上可得该问题的数学模型为:Max z=72x1+64x2 ;s.t.x1+x250;12x1+8x2480;3x1100;x10;x20;问题的求解1、图解法:这个线性规划模型的决策变量为2维,用图解法既简单,又便于直观地把握线性规划的基本性质。如下图所示:可行域是5条直线上的线段所围成的5边形OABCD容易算出,5个顶点的坐标为:O(0,0),A(0,50),B(20,30),C(100/3,10),D(100/3,0)。目标函数中的z取不同数值时,在图中表示一组平行直线(虚线),可以看出,当这族平行线向右上方移动到过B点时,z=3360,达到最大值,所以B点的坐标(20,30)即为最优解:=20,=30。2、图解法只能求解只有两个变量的LP模型,如果遇到多个变量时,就要考虑用其他方法,最常用的是用MAtlab或者Lingo软件进行求

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论