《储药柜的优化设计.doc》由会员分享,可在线阅读,更多相关《储药柜的优化设计.doc(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2014高教社杯全国大学生数学建模竞赛承 诺 书我们仔细阅读了全国大学生数学建模竞赛章程和全国大学生数学建模竞赛参赛规则(以下简称为“竞赛章程和参赛规则”,可从全国大学生数学建模竞赛网站下载)。我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)及队外的任何人(包括指导教师)研究、讨论及赛题有关的问题。我们知道,抄袭别人的成果是违反竞赛章程和参赛规则的,如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。我们郑重承诺,严格遵守竞赛章程和参赛规则,以保证竞赛的公正、公平性。如有违反竞赛章程和参赛
2、规则的行为,我们将受到严肃处理。我们授权全国大学生数学建模竞赛组委会,可将我们的论文以任何形式进行公开展示(包括进行网上公示,在书籍、期刊和其他媒体进行正式或非正式发表等)。我们参赛选择的题号是(从A/B/C/D中选择一项填写): D 我们的报名参赛队号为(8位数字组成的编号): 所属学校(请填写完整的全名): 参赛队员 (打印并签名) :1. 2. 3. 指导教师或指导教师组负责人 (打印并签名): (论文纸质版及电子版中的以上信息必须一致,只是电子版中无需签名。以上内容请仔细核对,提交后将不再允许做任何修改。如填写错误,论文可能被取消评奖资格。) 日期: 年 月 日赛区评阅编号(由赛区组委
3、会评阅前进行编号):2014高教社杯全国大学生数学建模竞赛编 号 专 用 页赛区评阅编号(由赛区组委会评阅前进行编号):赛区评阅记录(可供赛区评阅时使用):评阅人评分备注全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):储药柜的优化设计摘要本文针对保证药品能在储药槽内顺利出入及药盒及两侧竖向隔板之间、及上下两层横向隔板之间应留的间隙,同时药盒在储药槽内推送过程中不会出现并排重叠、侧翻或水平旋转等条件要求下。结合假设条件和实际分别进行求解,最后得出最优解。 针对问题一:将各种药盒的长,高,宽设为(x,y,z)建立空间直角坐标系并利用Matlab软件画三维散点
4、图,进而利用聚类分析法将数据进行标准化处理,样本间相似性采用欧氏距离变量,类间距离的计算选用平均法。再对数据进行分类,为了满足药盒能够顺利的通过储药槽,我们找出各类型中体积最大的药盒,若竖向隔板若能装进体积最大的药品盒,也就能在最大程度上装进同类中的其他药盒。及此同时,药盒及两侧竖向隔板之间、及上下两层横向隔板之间应留的间隙,故应再在最大药盒的数据上进行一系列的处理,最后得出所求有三种类型的最优方案,第一类:长高宽,第二类:长高宽,第三类:长高宽。 针对问题二:问题二是在问题一的基础上的进一步深入,故在问题一模型的三种类型的基础上,我们再进一步的考虑为使药盒及两侧竖向隔板之间的一个总宽度冗余尽
5、可能最小,将原始数据导入Matlab中并筛选出三种类型的相关数据,并用Matlab将三种类型分别进行组距分组,最终得出16组类型,再用Excel计算出各组的最大体积,从而得到16种类型的药盒,并计算出宽度冗余为8034。 针对问题三:问题三要求平面冗余最小,基于题二结果,宽度冗余一定则高度冗余越小,从而平面冗余就越小。所以我们首先将原始数据中的高度提出来,然后利用Matlab进行多次分组,然后选择用组中值来代表这组数据,最终得到了8组数据,也就是确定了8种横向隔板间距类型。再找出题二中16种竖向隔板间距类型所对应的横向隔板间距类型,从而就得到了单个储药柜的规格。并计算出高度冗余量为55468,
6、而平面冗余高度冗余宽度冗余,则平面冗余量为445629912。 针对问题四:问题四规定了储药槽的长度为,结合题三中储药柜的宽度不超过,储药柜的最大允许有效高度为。以及附件中各药品的销量,结合问题三得到的单个储药柜的规格再结合每种药槽所能装的最大盒数以及每种药品所能装的最大药槽数以小往大依次装填并利用Matlab以及Excel计算得到最少需要12个储药柜。关键词 聚类分析 Matlab软件 组距分组 Excel一、 问题重述储药柜的结构类似于书橱,通常由若干个横向隔板和竖向隔板将储药柜分割成若干个储药槽。为保证药品分拣的准确率,防止发药错误,一个储药槽内只能摆放同一种药品。药品从后端放入,从前端
7、取出。为保证药品在储药槽内顺利出入,要求药盒及两侧竖向隔板之间、及上下两层横向隔板之间应留的间隙,同时还要求药盒在储药槽内推送过程中不会出现并排重叠、侧翻或水平旋转。在忽略横向和竖向隔板厚度的情况下,建立数学模型,给出下面几个问题的解决方案。1.药房内的盒装药品种类繁多,药盒尺寸规格差异较大,附件1中给出了一些药盒的规格。请利用附件1的数据,给出竖向隔板间距类型最少的储药柜设计方案,包括类型的数量和每种类型所对应的药盒规格。2. 药盒及两侧竖向隔板之间的间隙超出的部分可视为宽度冗余。增加竖向隔板的间距类型数量可以有效地减少宽度冗余,但会增加储药柜的加工成本,同时降低了储药槽的适应能力。设计时希
8、望总宽度冗余尽可能小,同时也希望间距的类型数量尽可能少。仍利用附件1的数据,给出合理的竖向隔板间距类型的数量以及每种类型对应的药品编号。3.考虑补药的便利性,储药柜的宽度不超过、高度不超过,传送装置占用的高度为,即储药柜的最大允许有效高度为。药盒及两层横向隔板之间的间隙超出的部分可视为高度冗余,平面冗余高度冗余宽度冗余。在问题2计算结果的基础上,确定储药柜横向隔板间距的类型数量,使得储药柜的总平面冗余量尽可能地小,且横向隔板间距的类型数量也尽可能地少。4. 附件2给出了每一种药品编号对应的最大日需求量。在储药槽的长度为、每天仅集中补药一次的情况下,请计算每一种药品需要的储药槽个数。为保证药房储
9、药满足需求,根据问题3中单个储药柜的规格,计算最少需要多少个储药柜。二、 问题假设1. 假设药品体积最大时,其它比它体积小的药品都可装进。2. 假设所给数据符合市面上大多数药品的规格情况。3. 假设药槽的长宽高没有明确规定。 4. 假设药盒在推送过程中不会发生变形。三、 问题分析随着我国经济的快速增长和人民群众对医疗卫生需求的迅速提高,医院的医疗设备条件和医生素质也得到了大幅提高,同时,药品的品种和数量也随之迅速增长。如何有效管理这些药品,降低管理成本,压缩药品资金流动岗期,是当前大中型医院药房面临的一个严重问题。显然,对于此种问题储药柜的设计显得相当的重要,其及传统的“取药治病”大相径庭并且
10、在质量、效率、劳动力等方面有很大程度的提高,其功能包涵储存量大、快捷、方便、美观等几个方面。针对问题一:我们将各种药盒的长,高,宽设为(x,y,z)建立空间直角坐标系并利用Matlab软件画三维散点图,进而利用聚类分析法将数据进行标准化处理,样本间相似性采用欧氏距离变量,类间距离的计算选用平均法。然后用Matlab进行编程后得到3种分类并为防止其在推送过程中出现并排重叠、侧翻或水平旋转对分类的后的数据进行二次处理,依据给出竖向隔板间距类型最少的储药柜设计方案,我们选择分为3类的方案。(具体见附件1)再对数据进行分类,为了满足药盒能够顺利的通过储药槽,我们找出各类型中体积最大的药盒,若竖向隔板若
11、能装进体积最大的药品盒,也就能在最大程度上装进同类中的其他药盒。针对问题二:参照问题一的思路,我们可理解为竖向隔板间距类型最多的时候,我们能尽可能的保证总宽度的冗余尽可能的小。及此同时我们又考虑到药盒及两侧竖向隔板之间的一个总宽度冗余尽可能最小,结合问题一得到的结果数据,对其的每个类型的宽度导入Matlab并用Matlab进行分组,从而取得合适的分组类型,将数据在Excel进行计算。最后得到竖向隔板间距类型的数量和每种类型对应的药品编号。针对问题三:根据问题要求,要使平面冗余尽可能的小。我们可以利用假设一因素一定从而转求另一因素的方法来满足条件的要求。根据问题二的结果,从一定的条件下,肯定了我
12、们的方法及宽度冗余一定时可转求高度冗余的方法来求得结果使总平面冗余量尽可能的小。所以我们将高度进行分距分组,从而确定储药柜的横向隔板间距。结合题二的数据也就得到了单个储药柜的规格。针对问题四:依据问题三中单个储药柜的规格,计算最少需要多少个储药柜。我们可从问题三的模型中提取相关数据求出相关规格每种药品对应的体积。从而求出每个药槽所能容纳的最大药盒数,再根据每个药盒规格的日最大需求量,最终算出药槽的个数。四、 符号说明1. 表示类型数。2. 表示各类型中宽度冗余的临界值。3. 表示各类中存在宽度冗余的宽度值的平均值。4.表示一列的标准差。五、 模型的建立及求解问题一模型的建立及求解:首先,我们将
13、药盒的长、高、宽利用Matlab软件建立三维直角坐标系,从而画出其三维散点图如(图1),其程序为:loadshuju.txt;x=shuju(:,1);y=shuju(:,2);z=shuju(:,3);plot3(x,y,z,.);图1:散点图然后,利用聚类分析法对数据进行处理,根据题目的要求及相关数据的分析有:其欧氏距离计算方式如下:再对数据矩阵进行标准化处理,处理方式为:其中是矩阵每一列的均值和标准差。最后,再利用Matlab软件得出其聚类图,程序见附录1。我们根据程序的运行及题目要求,我们最终得出符合竖向隔板间距类型最少的储药柜设计方案,有三种类型,其聚类图如(图2):图2:聚类图为了
14、能保证药盒在储药槽内推送过程中顺利的进行,我们采用其体积最大化法,最大程度的保证药盒能够顺利的通过储药槽,三类中最大体积的药品盒数据如表1,表1:三类中最大体积的药品盒类别药盒编号长(mm)高(mm)宽(mm)最大体积第一类16391309053620100第二类91513212035554400第三类18321057056411600在此基础上又药盒及两侧竖向隔板之间、及上下两层横向隔板之间应留的间隙,然而为保证药盒能正常传送,则药盒的底面应及传送底面有一定的接触,故最终得出药盒的规格如表2表2:药盒的规格类别高(mm)宽(mm)第一类9257第二类12239第三类7260问题二模型的建立及
15、求解:问题二是在问题一的基础上的进一步深入,故在问题一模型的三种类型的基础上,我们再进一步的考虑为使药盒及两侧竖向隔板之间的一个总宽度冗余尽可能最小,将原始数据导入Matlab中(程序见附录2)并筛选出三种类型的相关数据,并用Matlab将三种类型分别进行组距分组,以及分布的正态性检验和参数估计。其程序见附录3,类型一经过多次分组,采用分成六组的形式如图3,和分布的正态性检验图4。图3:分组图图4:分布的正态性检验图类型二经过多次分组,采用分成五组的形式如图5,和分布的正态性检验如图6。图5:分组图图6:分布的正态性检验图类型三经过多次分组,采用分成五组的形式如图7,和分布的正态性检验如图8。
16、图7:分组图图8:分布的正态性检验通过Matlab对数据的分析及处理,我们将药品分成了16类,并找出了各类中体积最大的药品数据,得到表3表3:各类中体积最大的药品数据编号长(mm)高(mm)宽(mm)体积130212911117243423153812994182182681758132112202956801758132112202956801396131902731833018981331203047880091513212035554400915132120355544005881319640503040750125121406050005088649492064865471004949
17、24010030686505021500016391309053620100123810265553646504451006656369600然后根据药盒及两侧竖向隔板之间、上下两层横向隔板之间应留的间隙,故加上各类型中宽和高的间隙,得到16种不同类型的药品柜格,如表4所示:表4:不同类型的药品柜格类型长(mm)高(mm)宽(mm)1129113212129962231321142441321142451319231613312234713212239813212239913198441012512344118651531210051531386525414130925715102675916
18、1006860统计之后每种类型的对应的药品编号如下表5,详图见附录4。表5:每种类型的药品编号1药品编号长(mm)高(mm)宽(mm)6691001001077410010010135210010010668100100121797127661686212711216111112611017971130110171302129111172药品编号长(mm)高(mm)宽(mm)13571081002011461171062063312811019815132107201029130110201758132112203药品编号长(mm)高(mm)宽(mm)191312292311663137972
19、7382130963059213111226783138933015041379631131313011129189813312030最后,我们建立模型,根据各类中宽度冗余的临界值减去存在宽度冗余的宽度值的平均值,再乘以各类型中存在宽度冗余的宽度的数量,各类型中宽度冗余的总和就是储药柜的宽度冗余,其中为类型数,为各类中宽度冗余的临界值,为各类中存在宽度冗余的宽度值的平均值,为各类型中存在宽度冗余的宽度的数量有:最终得出宽度冗余为8034。问题三模型的建立及求解:问题三要求平面冗余最小,基于题二结果,宽度冗余一定则高度冗余越小,从而平面冗余就越小。所以我们首先将原始数据中的高度提出来,然后利用M
20、atlab进行多次分组,以及分布的正态性检验和参数估计。其程序见附录2,采用分成六组的形式如图9,和分布的正态性检验图10。图9:分组图图10:分布的正态性检验 然后选择用组中值来代表这组数据,最终得到了组数据,也就是确定了8种横向隔板间距类型。再找出题二中16种竖向隔板间距类型所对应的横向隔板间距类型,从而就得到了单个储药柜的63种规格。如下表6。(部分数据,详细数据见附录4)表6:储药柜的规格长13313213286高34宽34393953长133132132131高48宽34393944长133132132131高62宽34393944长129133132132高76宽21343939长
21、132131133132高90宽24313439长129129132132高104宽21222424长129129132132高118宽21222439长132132131132高125宽24243139并计算出高度冗余量为55468,而平面冗余高度冗余宽度冗余,则平面冗余量为445629912。问题四模型的建立及求解:依据问题三中单个储药柜的规格,计算最少需要多少个储药柜。我们可从问题三的模型中提取相关数据求出相关规格每种药品对应的体积。从而求出每个药槽所能容纳的最大药盒数,再根据每个药盒规格的日最大需求量,最终算出药槽的个数。然后用竖向隔板间距以及横向搁板间距类型作为限制条件筛选出每个药槽
22、所能够装的最大盒数和没种药所能装的最大药槽数,从小往大依次装填。 结合问题三中所得的63种规格的药槽,我们通过对附件2的数据重新处理,得出各种药品所需的药槽数,以及各种药槽所需的总数,制成表7数据表示宽、高,如下,为了使药柜数量尽量小,可以考虑药槽降级使用,如只要满足药品高度不低于药槽高度的一半,高度为76的药品可以放入药槽高度为90,104等药槽中。表7:各种药槽所需数量21222431343944535457596034/61000000/48/139326915925172262/28485202925172276192/580381722/13/90/71144261611/1731/
23、1048156387/118405/0/125/00/4/最后得到最少所需的储药柜数为12。六、 模型的评价本文大体上所采取的方法为聚类分析法,运用此方法对数据进行一系列的处理,并合理的分为若干类,它能让我们近距离的去接触数据,分析数据所包含的本质。相对于本文此类方法有如下优缺点:优点:能够直观的反映模型形状,运用Excel和Matlab处理数据机解决模型得到结果比较真实,贴近生活。缺点:在对数据进行分析时,带入无关数据对模型的分析造成一定的影响。有些特殊的数据不适合模型。七、 模型的推广模型中较多的运用Matlab和Excel处理数据,并编写程序来解决模型中的问题。本文次模型的应用在实际生活
24、中有着广泛的使用空间,该模型不仅可以应用于储药柜,还可以对类似问题进行求解,比如全自动加加药装置、循环水加药装置及锅炉加药装置等相关模型进行推广。参考文献百度百科层次分析法2 百度百科组距分组李成群,王伟,负超,朱贤,曹建波,张银花,自动化药房的现状和新进展,附录附录1clc,clearload shuju.txt %把原始数据保存在纯文本文件gj.txt中shuju=zscore(shuju); %数据标准化y=pdist(shuju); %求对象间的欧氏距离,每行是一个对象z=linkage(y,average); %按类平均法聚类dendrogram(z); %画聚类图for k=3:5
25、fprintf(划分成%d类的结果如下:n,k)T=cluster(z,maxclust,k); %把样本点划分成k类for i=1:ktm=find(T=i); %求第i类的对象tm=reshape(tm,1,length(tm); %变成行向量fprintf(第%d类的有%sn,i,int2str(tm); %显示分类结果endif k=3breakendfprintf(*n);end附录2function result = getInf(shuju, c)m, n=size(shuju);len = length(c);for i=1:m for j=1:len if shuju(i,1)=c(j) result(j,:)=shuju(c(j),:); i=c(j); end endendEnd附录3x=shuju;hist(x,6) normplot(x)muhat,sigmahat,muci,sigmaci=normfit(x)附录4:见附件2附录5:见附件3