第二十章建立数学建模案例分析_第1页
第二十章建立数学建模案例分析_第2页
第二十章建立数学建模案例分析_第3页
第二十章建立数学建模案例分析_第4页
第二十章建立数学建模案例分析_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

锁具装箱问题[学习目标]能表述锁具装箱问题的分析过程;能表述模型的建立方法;会利用排列组合来计算古典概型;会利用Mathematica求解锁具装箱问题。问题某厂生产一种弹子锁具,每个锁具的钥匙有5个槽,每个槽的高度从{1,2,3,4,5,6}6个数(单位从略)中任取一数。由于工艺及其它原因,制造锁具时对5个槽的高度有两个要求:一是至少有3个不同的数;二是相邻两槽的高度之差不能为5。满足上述两个条件制造出来的所有互不相同的锁具称为一批。销售部门在一批锁具中随意地抽取,每60个装一箱出售。从顾客的利益出发,自然希望在每批锁具中不能互开(“一把钥匙开一把锁”)。但是,在当前工艺条件下,对于同一批中两个锁具是否能够互开,有以下实验结果:若二者相对应的5个槽的高度中有4个相同,另一个槽的高度差为1,则可能互开;在其它情况下,不可能互开。团体顾客往往购买几箱到几十箱,他们会抱怨购得的锁具中出现互开的情形。现请回答以下问题:每批锁具有多少个,能装多少箱?按照原来的装箱方案,如何定量地衡量团体顾客抱怨互开的程度(试对购买一、二箱者给出具体结果)。问题分析与建立模型因为弹子锁具的钥匙有5个槽,每个槽的高度从{1,2,3,4,5,6}这6个数中任取一数,且5个槽的高度必须满足两个条件:至少有3个不同的数;相邻两槽的高度之差不能为5。所以我们在求一批锁具的总数时,应把问题化为三种情况,即5个槽的高度由5个不同数字组成、由4个不同数字组成、由3个不同数字组成,分别算出各种情况的锁具个数,然后相加便得到一批锁具的总个数。在分别求这三种情况锁具个数的时候,先求出满足第1个条件的锁具个数再减去不满足第2个条件的锁具个数。在求这三种情况锁具个数的时候,主要依靠排列组合的不尽相异元素的全排列公式。下面用一个5元数组来表示一个锁具:Key=(h1,h2,h3,h4,h5)其中hi表示第i个槽的高度,i=1,2,3,4,5。此5元数组表示一把锁,应满足下述条件:条件1:hi∈{1,2,3,4,5,6},i=1,2,3,4,5。条件2:对于任意一种槽高排列h1,h2,h3,h4,h5,至少有3种不同的槽高。条件3:对于任意一种槽高排列h1,h2,h3,h4,h5,有|hi,hi-1|≠5,i=2,3,4,5。而两个锁可以互开的条件为:两个锁的钥匙有四个槽高相同,其中一个槽高相差为1。一批锁具个数的计算记一批锁具的集合为:K={(h1,h2,h3,h4,h5)|hi∈{1,2,3,4,5,6},i=1,2,3,4,5,且(h1,h2,h3,h4,h5)为一锁具},其个数小于65,可采用逐个检验条件1,2,3的方法,求一批中的所有锁具,当然也可计算出其个数。抱怨程度的刻划在这里我们简单地用平均互开总对数来刻划抱怨程度,所以,关键是计算出顾客购买一箱或两箱时的平均互开总对数,这可以用计算机模拟去计算。我们引入下面的记号:P={(h1,h2,h3,h4,h5)|(h1,h2,h3,h4,h5)∈K,且为偶数}Q={(h1,h2,h3,h4,h5)|(h1,h2,h3,h4,h5)∈K,且为奇数}则可得到P中的锁具不能互开,Q中的锁具不能互开,P中的锁具与Q中的才能互开。在计算中,判断互开时,我们将P和Q中的锁具分别标号为0,1,这样就减少了判断时的计算,大大提高了计算速度。说明:直接用平均互开总对数来刻划抱怨程度有一定的不合理性。因为这样来刻划,购买的箱数越多,抱怨程度就越大,而实际上,购买的越多,自然互开的可能性就越大,这是顾客意料之中的,不应有太多的抱怨,顾客所不能容忍的是在购买少量的锁具而出现互开现象。因此应把购买箱数作为一个因素考虑到抱怨函数中。理想的抱怨函数应该是,开始随购买量的增加而增加,到一定量后下降,这才合理。在这里,我们的主要任务是模拟求解,而简单地用平均互开总对数来刻划抱怨程度。计算过程计算流程如下:对(h1,h2,h3,h4,h5)的所有排列逐个检验条件2、条件3,判断其是否为锁具,将锁具放在数组key中,若为奇数,标号为1,若为偶数,标号为0,并计数count。输出一批锁具的总个数count。多次用随机数来模拟销售一箱的情况,计算平均互开总对数。输出一箱平均互开总对数average。注意:以上流程略去了某些细节,具体的细节可参看下面的程序。对上流程稍加修改,可用于研究2,3,4箱等的平均互开总对数。程序对(h1,h2,h3,h4,h5)的所有排列逐个检验条件2、条件3时要进行两次判断,一次是判断(h1,h2,h3,h4,h5)是否有3个不同的数,另一次是相邻槽高之差是否为5。在前一次判断时,采用了比较简捷的方法,请仔细考察。找(h1,h2,h3,h4,h5)的所有排列,实际上可用五重循环来实现。具体程序如下:Model[{h1,h2,h3,h4,h5,flag,cnt,key,flal,su,te,keel,i,aid,mnx,kebe,k,j,n},(*计算一批锁具的个数*)key=Table[Table[0,{5}],{5880}];keel=Table[0,{5}];flag=Table[-1,{5880}];cnt=0;For[h1=1,h1<=6,h1++,For[h2=1,h2<=6,h2++,For[h3=1,h3<=6,h3++,For[h4=1,h4<=6,h4++,For[h5=1,h5<=6,h5++,te=Table[0,{6}];te[[h1]]=1;te[[h2]]=1;Te=[[h3]]=1;te[[h4]]=1;te[[h5]]=1;su=te.Table[1,{6}];If[su>=3,keel[[1]]=h1;keel[[2]]=h2;keel[[3]]=h3;For[flal=1;i=2,i<=5,i++,If[Abs[keel[[i]]-keel[[i-1]]]>=5,flal=0,]];If[flal==1,cnt++;key[[cnt]]=keel;flag[[cnt]]=If[Mod[keel.Table[1,{5}],2]==0,0,1];,],]]]]]];Print[“count=”,cnt];(*计算顾客购买一箱时的平均互开总对数*)cnt=0;aid=Table[1,{5}];kebe=Table[0,{5}];For[n=1,n<=1000,n++,(*模拟1000次*)Mnx=Table[Rndom[Integer,{1,5880}],{60}];For[i=1,i<=60,i++,For[k=i+11,k<=60,k++,If[flag[[mnx[[i]]]!=flag[[mnx[[k]]]],If[Abs[key[[mnx[[i]]]].aid-key[[mnx[[k]]]].aid]==1,Keel=key[[mnx[[I]]]];kebe=key[[mnx[[k]]]];For[flal=0;j=1,j<=5,j++,If[keel[[j]]!=kebe[[j]],flal++,]];If[flal==1,cnt++,],],];]]];Print[“Average=”,N[cnt/1000]];]运算结果:count=5880与Average=2.362,即得到一批锁具的个数为:5880,购买一箱的平均互开总对数大约为:2.362。对程序稍加修改可得到买两箱时的平均互开总对数大约为:8.91,即得到如下结果:count=5880与Average=8.91。习题15.4请为销售部门提出一种方案,包括如何装箱(仍旧是60个锁具装一箱),如何给箱子以标志,出售时如何利用这些标志,使团体顾客不再抱怨或减少抱怨?有4位教师给5个班级授课,按教学要求教师Xi给班级Yi上课的课时数如下表所示。班级教师Y1Y2Y3Y4Y5X120110X201010X301110X400011试排出课程表。某些工业部门(如贵重石材加工等)采用截断切割的加工方式,从一个长方体中加工出一个已知尺寸、位置预定的长方体(这两个长方体的对应表面是平行的),通常要经过六次截断切割。已知待加工长方体和成品长方体的长、宽、高分别为10、14.5、19和3、2、4,二者左侧面、正面、底面之间的距离分别为6、7、9(单位均为厘米)。切割费用为每平方厘米1元,试求最佳切割方案。复习题十五席位分配问题在n个单位的团体中,经常涉及到代表名额分配问题,每个单位都希望自己的代表名额多一些,以便在委员会中能更好地反映自己单位的意图。试设计一种公平的代表名额分配方案,并针对下面三种情况就方案的公平与合理性进行说明。该团体有A、B、C三个单位,开始时A、B、C三个单位的人数分别是100、60、40,一年后三单位的人数是103、63、34。就20名代表和21名代表名额给出分配方案。该团体有A、B、C、D、E五个单位,其人数分别为9061、7179、5259、3319、1182,给出26、27、28、29个代表名额的分配方案。该团体有A、B、C、D、E、F六个单位,其人数分别为9215、159、158、157、156、155,给出100名代表名额的分配方案。实验数据分解组成生命蛋白质的若干种氨基酸可以形成不同的组合,通过质谱实验测定分子量来分析某个生命蛋白质分子的组成时,遇到的首要问题就是如何将它的分子量x分解为几个氨基酸的已知分子量a[i](i=1,2,…,n)之和,某实验室所研究的问题中:n=18,a[1:18]=57,71,87,97,99,101,103,113,114,115,128,129,131,147,156,163,186。x为正整数小于等于1000。要求针对该实验室拥有或不拥有计算机的情况,对上述问题提出相应解答,并就所讨论的数学模型与方法在一般情形下进行讨论。加工顺序现有14件工件等待在一台机床上加工,某些工件的加工必须安排在另一些工件加工完工以后才能开始,第j号工件的加工时间tj及先期必须完工的工件号i由下表给出。工件号j1234567891011121314tj2028251642123210242040243616前期工件号i3,45,7,85,9-10,113,8,943,5,74-4,76,7,145,121,2,6若给出一个加工工序,则确定了每个工件的完工时间(包括等待与加工两个阶段)。试设计一个满足条件的加工顺序,使各工件的完工时间之和最小。若第j号工件紧接着第i号工件完工后开工,机床需要花费的准备时间是:假定工件的完工时间(包括等待与加工两个阶段)超过一确定时限u时,则需支付一定的补偿费用,其数值等于超过时间与费用率之积,各工件的补偿费用率ωi如下:j1234567891011121314ωi121015161011108541010812u=100,tij=0,安排一个加工顺序,使总补偿最小。追捕与逃跑的策略问题一种肉食(捕食其它动物的)恐龙,成年恐龙平均长3米,髋高0.5米,重约45公斤。据估计,这种恐龙跑的非常快,速度可达60公里/小时,持续15秒。在以这种速度进行冲刺后,它要停下来在其肌肉中增加乳酸以恢复体力。假设恐龙捕食一种称为太西龙属的双足食草动物,大小与所述恐龙差不多,可以50公里/小时的速度长时间奔跑。设恐龙是一只独居的猎食者,试设计一个单个恐龙潜近猎物并追捕单只太西龙属的策略,以及被追捕者逃避追捕策略的数学模型。假设当恐龙潜近15米内时,太西龙属总能察觉到,根据栖息地及气候的条件不同,甚至在(多达50米)更大范围内觉察欲捕食者的存在。此外,由于恐龙的身体结构及体能,它在全速奔跑时的转弯半径是有限的,据估计,转弯半径大约是其髋高的三倍。另一方面,太西龙属却是极其灵活的,其转弯半径只有0.5米。更现实地假设恐龙是成对外出追猎,试设计一个新的关于成对恐龙潜近猎物并追猎单只太西龙属的策略,以及被追捕者逃避追捕策略的数学模型。利用(1)中给的假设和限制。评卷问题在确定以论文形式给出比赛优胜者时,常常要评阅大量的答卷,比如说有P=100份答卷。一个由J位评阅人组成的小组来完成评阅任务,基于比赛资金,对于能够聘请的评阅人数量和评阅时间的限制,如果P=100,通常J=8。理想的情况是每个评阅人看所有的答卷,并给出分数。为了减少所看答卷的数量,考虑如下的筛选模式:如果答卷是被排序的,则在每个评阅人给出的排序中排在最下面的30%答卷被筛除;如果答卷被打分(比如说从1分到10分),则某个截止分数线以下的答卷被筛除。这样,通过筛选的答卷重新放在一起返回给评阅小组,重复上述过程。人们关注的是,每个评阅人看的答卷总数要显

温馨提示

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

评论

0/150

提交评论