全国大学生数学建模竞赛D题.doc
《全国大学生数学建模竞赛D题.doc》由会员分享,可在线阅读,更多相关《全国大学生数学建模竞赛D题.doc(9页珍藏版)》请在冰点文库上搜索。
储药柜的设计分析模型
摘要
摘要:
本文以并排重叠、侧翻或水平旋转作为限制条件,结合冗余尽可能小和隔板间距类型尽量少这两个实际要求,借助EXCEL和MATLAB软件,合理的给出了储药柜的设计方案,并在此设计方案的基础上解决了药房所需储药柜的数量。
关键词:
储药槽 隔板间距类型 冗余
一、问题重述
储药柜的设计
储药柜的结构类似于书橱,通常由若干个横向隔板和竖向隔板将储药柜分割成若干个储药槽(如图1所示)。
为保证药品分拣的准确率,防止发药错误,一个储药槽内只能摆放同一种药品。
药品在储药槽中的排列方式如图2所示。
药品从后端放入,从前端取出。
一个实际储药柜中药品的摆放情况如图3所示。
为保证药品在储药槽内顺利出入,要求药盒与两侧竖向隔板之间、与上下两层横向隔板之间应留2mm的间隙,同时还要求药盒在储药槽内推送过程中不会出现并排重叠、侧翻或水平旋转。
在忽略横向和竖向隔板厚度的情况下,建立数学模型,给出下面几个问题的解决方案。
1. 药房内的盒装药品种类繁多,药盒尺寸规格差异较大,附件1中给出了一些药盒的规格。
请利用附件1的数据,给出竖向隔板间距类型最少的储药柜设计方案,包括类型的数量和每种类型所对应的药盒规格。
2. 药盒与两侧竖向隔板之间的间隙超出2mm的部分可视为宽度冗余。
增加竖向隔板的间距类型数量可以有效地减少宽度冗余,但会增加储药柜的加工成本,同时降低了储药槽的适应能力。
设计时希望总宽度冗余尽可能小,同时也希望间距的类型数量尽可能少。
仍利用附件1的数据,给出合理的竖向隔板间距类型的数量以及每种类型对应的药品编号。
3. 考虑补药的便利性,储药柜的宽度不超过2.5m、高度不超过2m,传送装置占用的高度为0.5m,即储药柜的最大允许有效高度为1.5m。
药盒与两层横向隔板之间的间隙超出2mm的部分可视为高度冗余,平面冗余=高度冗余×宽度冗余。
在问题2计算结果的基础上,确定储药柜横向隔板间距的类型数量,使得储药柜的总平面冗余量尽可能地小,且横向隔板间距的类型数量也尽可能地少。
4. 附件2给出了每一种药品编号对应的最大日需求量。
在储药槽的长度为1.5m、每天仅集中补药一次的情况下,请计算每一种药品需要的储药槽个数。
为保证药房储药满足需求,根据问题3中单个储药柜的规格,计算最少需要多少个储药柜。
图1 储药柜立体示意图
图2 储药柜的侧剖面及药品摆放示意图
图3 储药槽药品摆放情况
二、问题的分析
本题是关于储药柜设计相关数据统计问题,需要解决四个问题。
问题一为了满足药盒在储药槽内推送过程中不会出现并排重叠——竖向隔板的间距应小于两倍盒宽加间隙;不会侧翻——竖向隔板间距应小于宽高面对角线长;不会水平旋转——竖向隔板间距应小于长宽面对角线;列出满足三个条件的不等式,将此作为求间距类型数量的限制条件。
为了保证所有药盒能放进储药槽,最大竖向隔板间距应大于等于药盒宽度最大值加间隙;而为了保证间距类型最少,最大竖向隔板间距应等于药盒宽度最大值加间隙。
根据限制条件,利用EXCEL筛选出所有能放入最大间距竖向隔板的药盒,剩余不能放进该类型隔板的药盒重复上述工作直到把所有药盒放进隔板中,得出竖向隔板间距的最少类型。
但从节约空间的角度考虑,药盒应尽量放入规格较小的药槽中,所以不能按照上述求解结果放药,应按照宽度从小到大的顺序放入药槽。
问题二在问题一的基础上增加竖向隔板间距类型,减少宽度冗余。
首先计算各药盒与隔板之间的宽度冗余,利用EXCEL得到药盒与同一间距类型隔板的宽度冗余和。
如果冗余和较小(小于500mm),则不增加竖向隔板间距类型;若冗余值较大,则增加一个隔板间距类型,使得新的宽度冗余和最小。
若新的宽度冗余和仍较大,则继续增加隔板类型,又考虑储药柜加工成本、储药槽的适应能力隔板间距类型不能过度增加,当增加隔板间距类型不能明显降低冗余和时,则停止增加隔板间距类型。
该过程可以通过MATLAB编程实现。
再根据竖向隔板类型,利用EXCEL进行数据筛选,最终得出对应的药品编号。
问题三在问题二的基础上确定储药柜横向隔板间距的类型数量,使得储药柜的总平面冗余量尽可能地小,且横向隔板间距的类型数量也尽可能地少。
根据竖向隔板间距及相应药盒个数、储药柜最大宽度确定一层可放入各个类型竖向隔板的条数。
用问题二类似的方法确定横向隔板间距类型数量,使得面积冗余尽可能小,再类似确定竖向隔板条数的方法,同样可以确定横向隔板的条数,从而得到储药柜的设计方案。
问题四根据附件1和2提供的数据先求出各种编号的药品所需的储药槽个数。
再根据问题三中储药柜的设计方案,可得每个储药柜能提供的种规格的储药槽的相应数量。
最后根据以上两组数据得到最少需要储药柜的个数。
三、问题假设和符号说明
1.假设宽度冗余和间距的类型数量尽可能少的平衡点为单个竖向隔板类型宽度冗余和小于500mm。
2.假设药房每天上午放药数量和下午补药数量各为药品日最大需求量的一半。
3.假设当储药槽的个数不个够时,可以将药品高度较小的药品放入高度规格较大的药槽。
4.假设如果同种规格的药品既可放入宽度规格较小的药槽,又可放入宽度规格较大的药槽时,则将其放入宽度规格较小的药槽。
5.符号说明
X:
药盒的长度(mm)
Y:
药盒的宽度(mm)
h:
药盒的高度(mm)
k:
竖向隔板间距(mm)
:
药盒平均高(mm)
:
平均横向隔板间距(mm)
四、模型的建立和求解
模型一:
由于药盒在储药槽内推送过程中,药盒不能出现并排重叠、侧翻或水平旋转,故需满足以下限制条件:
k-2<2Y, ‚ >k ƒ>k
根据附件1,利用Excel排序得药盒宽度最大值为56,从而竖向隔板的最大间距类型为58,计算药盒长宽、宽高面的对角线(详见附件一)。
以之作为限制条件,借助Excel分析筛选得出该竖向隔板间距类型包含的555种规格的药盒,在附件1中删除上述555种规格的药盒,然后对剩余的1364种规格的药盒重复上述工作直到把1919种药盒都能放入相应的药槽,得到4种竖向隔板间距类型:
58, 44, 33, 17
在筛选过程中是从大往小放药盒,药盒都会尽可能放入大药槽,然而某些药盒既能能放入大药槽也能放入小药槽,所以为了减少剩余空间,应从小往大放药盒,得到如下竖向隔板间距类型和每种类型对应的药盒宽度规格:
(详见表一)
表一
竖向隔板
间距类型
17
33
44
58
药盒宽度(Y)
10≤Y≤15
16≤Y≤31
32≤Y≤42
42≤Y≤56
药盒规格数量数
123
1236
308
252
模型二:
在模型一的基础上, 根据
宽度冗余,
利用Excel求出4种竖向隔板间距类型的与对应的冗余和(如下表二):
表二
竖向隔板
间距类型
17
33
44
58
冗余和
95
11149
1667
2261
根据上表,不用再增加间距小于17的竖向隔板,在其他间距之间需增加竖向隔板的间距类型,冗余和越大表明在这种竖向隔板间距类型上要增加越多的比该类型小的竖向隔板类型,但结合储药柜的加工成本和出药槽的适应能力这两点,不能增加过多的竖向隔板类型。
这一算法可以通过MATLAB的for循环语句编程实现,详见附件二。
竖向隔板的间距类型和每种类型对应的药盒宽度规格(如下表三)
表三
竖向隔板间距类型
药盒宽度(Y)
药盒规格数量
冗余和
17
10≤Y≤15
123
95
20
16≤Y≤18
257
257
22
19≤Y≤20
333
106
25
21≤Y≤23
243
308
29
24≤Y≤27
245
366
33
28≤Y≤31
158
184
337
32≤Y≤35
145
197
44
36≤Y≤42
163
455
49
43≤Y≤47
164
337
58
48≤Y≤56
88
448
每种类型对应的药品编号详见附件三。
模型三:
确定储药柜的竖向排列
由于药柜的宽为2.5m,再根据模型2中给出的竖向隔板间距类型以及各类型所对应的药盒规格数量,可确定各类型竖向隔板的条数(如下表四),
其中,药盒规格数量比值公式:
竖向隔板条数近似值公式:
表四
竖向隔板间距类型
药盒规格数量
药盒规格数量比值
竖向隔板条数近似值
竖向隔板条数取整
17
123
1.4
5.1
5
20
257
2.9
10.7
11
22
333
3.8
13.9
14
25
243
2.8
10.1
10
29
245
2.8
10.2
10
33
158
1.8
6.6
7
37
145
1.6
6.0
6
44
163
1.9
6.8
7
49
164
1.9
6.8
7
58
88
1
3.7
4
根据上述储药柜的竖向排列方法,可以验证:
,
这表明上述储药柜的竖向排列方法,可以尽量减少总宽度冗余。
由于,这表明如果要把所有药盒都放入一个储药柜至少需要24层才放得下,
又因为,药盒平均高:
平均横向隔板间距:
(两隔板之间应留:
2mm)
故如果要把所有药盒都放入一个储药柜,则该储药柜的高至少需要:
,这与储药柜的实际宽度只有1500mm不符,这表明不可能把所有药盒都放入同一个储药柜,至少需要2个储药柜才能放入所有规格的药盒。
‚确定储药柜的横向排列
为了保证所有药盒能放进储药柜,可以按照从高度大往小的顺序把药盒放入储药柜。
由于在所有规格的药盒中,高度的最大值为125mm,就要求储药柜必须要有一个横向隔板的间距类型为:
127mm。
为了保证高度冗余尽可能小,同时结合储药柜的横向隔板类型尽可能少的要求,确定剩余储药柜的横向隔板类型数量的方法与模型二中确定储药柜的竖向隔板类型数量的方法类似,得到4个横向隔板类型:
127, 88, 74, 54
由于药柜的高宽为1.5m,再根据MATLAB程序中给出的横向隔板间距类型以及各类型所对应的药盒规格数量,可确定各类型横向隔板的条数(如下表五)
其中,药盒规格数量比值公式:
由于在所有规格的药盒中,高度的最大值为125mm,这就要求储药柜必须要有一个横向隔板的间距类型为:
127mm ,又根据上述中储药柜的竖向排列方法,在理想状态下药柜的每一层可以放入81个规格的药盒,故规格为127mm类型的横向隔板只需取一条即可,其余的横向隔板条数求法如下:
横向隔板条数近似值公式:
表五
横向隔板间距类型
药盒规格数量
药盒规格数量比值
横向隔板条数近似值
横向隔板条数取整
127
85
不比较
1
88
420
1
4.5
5
74
854
2
8.8
8
54
560
1.3
5.9
6
根据上述储药柜的横向排列方法,可以验证:
,
这表明上述储药柜的横向排列方法,可以尽量减少总高度冗余。
此时,储药柜的竖排和横层就设计完成,且
总平面冗余=
模型四:
每种药品日需储药槽的数量
按照药品的编号把附件1和2合并,根据如下公式
单个药槽放药数量(盒)=
日需量的一半(盒)=
补药一次所需药槽数量(个)=
说明:
为取整符号
可得,每天补药一次,每种药品日需储药槽的个数,详见附件四。
‚单柜提供储药槽的类型和对应的放药数量(盒)
根据模型三所提供的设计方案,可得种规格的储药槽以及相应的放药数量,详见附件四。
ƒ储药柜的个数
利用Excel对附件四中数据按药品日需储药槽的规格(竖向隔板间距和横向隔板间距)做筛选,得到40种规格的储药槽的日需量,把它们和‚中单柜提供储药槽的类型和对应的放药数量(盒)进行比较后发现大部分药品只需2个储药柜就能满足日需量,小部分药品不能满足日需量。
对这一小部分药品可采取如下两种方案把它们放入储药柜:
方案一:
当储药柜中还存在与他们宽度相同,但高度较大的储药槽,把他们放入此类储药槽。
方案二:
当储药柜中不存在与他们宽度相同,高度较大的储药槽,但存在宽度稍大(临近),高度相同的储药槽,把他们放入此类储药槽。
详见附件四。
综上可知,仅需2个储药柜即可满足该药房的日需求量。
五、模型的评价
模型具有以下优点:
1.要同时保证宽度冗余和间距的类型数量尽可能少较为困难,此模型借助MATLAB设计程序,能最大程度上逼近于理想值,优化模型。
2. 统计数据全面,分析结果比较符合事实情况。
模型具有以下缺点:
1. 分析工具较为单一,不利于复杂数据的分析。
2.在模型四中由于过于简单假设药房每天上午放药数量和下午补药数量各为药品日最大需求量的一半,因此可能影响模型结果的准确性。
六、参考文献
[1] 林成森,王能超,易大义,数值分析,北京:
清华大学出版社,2004年[2] 王家文,王皓,刘海,matlab编程基础,北京机械工业出版社2005年[3] 姜启源,谢金星,数学建模案例选集,北京:
高等教育出版社,2006年
[4] 一种药品自动分包机的储药柜 [期刊] 梁德利; 王文龙;王兆春2007,12,19
[5]桂占吉,陈修焕,杨亚辉,MATLAB高等数学实验,华中科技大学出版社2010年