基于层次聚合原理的储药柜设计方法
2018-05-14童强焦栋斌
童强 焦栋斌
摘要:针对药盒规格数据,用数学表达式对间隙、并排重叠、侧翻和水平旋转进行了表述;依据层次聚合的原理计算了各种药盒放置于药槽中时竖向隔板间距需满足的条件,最后聚合确定了竖向隔板间距类型最少的储药柜设计方案;为了减少宽度冗余,采用的基本的思想是:逐个增加隔板间距的类型,为保证新增的隔板间距类型可以最大限度地减少宽度冗余,采用群举搜索的方法并运用Matlab编程进行确定和验证。
关键词:层次聚合;隔板间距;储药槽
1 绪论
储药柜是各医疗机构、药店(药房)最常用的储药装置,如何合理設计储药柜对于合理利用有限空间、减少冗余、提高药物提取效率等尤为重要。基于2014年全国大学生数学建模竞赛题目“储药柜的设计”给出的1919种药盒型号和每种药品的药品需求量数据出发,[1]建立数学模型,给出储药柜的设计方法。部分药盒规格数据如表1。
2 符号说明与定义
i,j编号;li编号为i的药品的药盒长度;hi编号为i的药品的药盒高度;wi编号为i的药品的药盒宽度;Lj第j类隔板间距类型的长度;Hj第j类隔板间距类型的高度;Wj第j类隔板间距类型的宽度;R总宽度冗余量。
3 模型的建立与求解
药盒放在特定的间距类型的竖向隔板中时需满足如下条件:
1)间隙要求。要求药盒与两侧竖向隔板之间、与上下两层横向隔板之间应留2mm的间隙,用数学公式表示即为:
Wiwi+2 (1)
2)药盒在推送的过程中不出现并排重叠、侧翻或水平旋转不发生并排重叠,用数学公式表示即为:
Wi<2wi (2)
不发生侧翻我们用数学公式表示即为:
Wi 我们定义药盒的水平旋转为药盒可在药槽内绕着垂直于横向隔板的直线任意旋转,不发生水平旋转用数学公式表示即为: Wi 为便于计算和分析,对表1中的每种药盒依据公式(1)至(4)计算其保留足够的竖向隔板间隙、并保证其不会出现并排重叠、侧翻或水平旋转,[2]竖向隔板间距需满足的条件如表2。 求最少隔板间距类型的问题可转化为:表3中的每种药盒隔板间距上、下限所组成的1919个区间是否有交集,如果有则合并为同一种隔板间距类型。为便于操作,我们对表3以隔板间距下限为主要关键字、隔板间距上限为次要关键字进行升序排序,并采用层次聚合的思想来实现。 层次聚合的基本原理如下: 由树状结构的底部开始逐层向上进行聚合,假定样本集S={o1,o2,...,on}共有n个样本,聚合规则如下[3]: step1[初始化]:置每个样本oi为一个类;/*共形成n个类:o1,o2,...,on*/ step2[开始合并]:以当前未合并到任何其他类的第一个类为基准类,与后续的类依次判断能否合并,若能则合并为一个类(现有的类数将减1),直到未合并过的所有类都不能合并到该类,则这一类合并终止; step3:若所有的样本都不能再进行合并,则终止本算法;否则,返回step2继续。 据此算法,用Matlab编程对表2中的间距上下限进行最大限度合并,合并后的类数即为竖向隔板间距类型最少的储药柜设计方案,合并的条件是:是否存在交集,最终合并为4类,即4种竖向隔板间距类型,每种类型对应的药品编号如表4。 通过上图药盒规格散点图的分布密集情况可以看出我们确定的四种隔板间距类型是较为合理的。 为保证冗余量尽量少,取问题一的解答中得到的四种隔板间距类型区间中的最小数据作为竖向隔板间距,即四种竖向隔板间距依次为:19,34,46,58。那么,1919种药品放入相应的四种竖向隔板后的总宽度冗余量R可表示为: R=∑(19-wi-2)+∑(34-wj-2)+∑(46-wk-2)+∑(58-wl-2)(其中i,j,k,l分别表示放置在第1,2,3,4种间距类型的竖向隔板间的药品编号),用Matlab计算得到:R =17703。 当前得到的四种竖向隔板间距依次为:19,34,46,58,实际上,放置1919种规格药盒的药槽竖向隔板间距的取值范围为区间[12,58]之间的整数,为了减少宽度冗余,在当前的四种隔板间距类型中增加新的隔板间距类型,做法是: 逐个增加隔板间距的类型,为保证新增的隔板间距类型可以最大限度地减少宽度冗余,我们采用群举搜索的方法确定间距的宽度,即: 从间距从12到58,以步长为1增长,逐个测试确定什么规格的竖向隔板间距可以最大限度减少宽度冗余。 采用这种方法,一个一个地增加间距类型,直到宽度总冗余量达到我们的要求终止增加。采用此方法,用Matlab编程计算得到如表5结果: 参考文献: [1]冯国勇,武斌.自动化药房中储药柜的优化数学模型[J].自动化与仪器仪表,2015,12:216217. [2]李艳梅,李广.基于模糊聚类和神经网络的干旱等级预测模型[J].自动化与仪器仪表,2014,04:148150. [3]安德智,刘光明,章恒.基于粒子群模糊C均值聚类在入侵检测中的应用[J].自动化与仪器仪表,2011,02:9698. 基金项目:兰州石化职业技术学院科技教研基金重点资助项目(项目编号:KJ201505) 作者简介:童强(1984),男,陕西榆林人,硕士,副教授,主要研究方向为计算机应用、应用数学。