CUMCM-2014年D题分析储药柜的设计2015年7月赛题简介1D题解答要点2答卷中存在的问题3评分标准细则4目录2015年7月1、赛题简介储药柜的结构类似于书橱,通常由若干个横向隔板和竖向隔板将储药柜分割成若干个储药槽(如下图1所示)。为保证药品分拣的准确率,防止发药错误,一个储药槽内只能摆放同一种药品。2015年7月图2药品在储药槽中的排列方式2015年7月药品从后端放入,前端取出。一个实际储药柜药品摆放情况如图3所示。图3.储药柜药品摆放情况2015年7月为保证药品在储药槽内顺利出入,要求药盒与两侧竖向隔板之间、与上下两层横向隔板之间应留2mm的间隙,同时还要求药盒在储药槽内推送过程中不会出现并排重叠、侧翻或水平旋转。在忽略横向和竖向隔板厚度的情况下,建立数学模型,给出下面几个问题的解决方案。2015年7月1.药房内的盒装药品种类繁多,药盒尺寸规格差异较大,附件1中给出了一些药盒的规格。请利用附件1的数据,给出竖向隔板间距类型最少的储药柜设计方案,包括类型的数量和每种类型所对应的药盒规格。2.药盒与两侧竖向隔板之间的间隙超出2mm的部分可视为宽度冗余。增加竖向隔板的间距类型数量可以有效地减少宽度冗余,但会增加储药柜的加工成本,同时降低了储药槽的适应能力。设计时希望总宽度冗余尽可能小,同时也希望竖向隔板类型数量尽可能少。仍利用附件1的数据,给出合理的竖向隔板间距类型的数量以及每种类型对应的药品编号。2015年7月3.考虑补药的便利性,储药柜的宽度不超过2.5m、高度不超过2m,传送装置占用的高度为0.5m,即储药柜的最大允许有效高度为1.5m。药盒与两层横向隔板之间的间隙超出2mm的部分可视为高度冗余,平面冗余=高度冗余×宽度冗余。在问题2计算结果的基础上,确定储药柜横向隔板间距的类型数量,使得储药柜的总平面冗余量尽可能地小,且横向隔板间距的类型数量也尽可能地少。4.附件2给出了每一种药品编号对应的最大日需求量。在储药槽的长度为1.5m、每天仅集中补药一次的情况下,请计算每一种药品需要的储药槽个数。为保证药房储药满足需求,根据问题3中单个储药柜的规格,计算最少需要多少个储药柜。2015年7月本题目来自于实际问题,主要考核学生关于空间结构分析与优化计算的能力。2、解答要点1.题目出发点2015年7月2问题一.仅考虑竖向隔板间距类型最少的方案。本问题要求学生给出防止卡挤、药盒并排重叠、平面旋转和侧翻的约束条件,并根据这些约束条件计算出竖向隔板间距类型最少的方案。2015年7月2015年7月图2.1防侧翻图2015年7月因为,所以有。因此,综合上面约束后得:(2.2)当然,根据题目要求,还需要有(2.3)iiiwhliiippp123.,...,2,1,,2min1riSETBPwWijjii,....,2,1,,2riSETBwWijji2015年7月注意:许多同学对题目中“两侧竖向隔板之间应留2mm的间隙”的理解存在偏差,认为是药盒两侧各留2mm,这样,其约束就变成这一约束条件的改变,会影响到问题的计算结果,但不会影响问题的求解思想.评阅组充分考虑到这点,只要模型合理,都不影响得分。还有,有些队对于防止侧翻的条件分析过于复杂,考虑到药盒倾斜的角度,尽管这本身没有错误,但过于复杂的约束会给后面的计算带来困难,实际上,药盒的部分倾斜是不影响药品的传送的,只有当倾斜角度超过45°时,才会出现侧翻,而角恰好就是对角线,因此,考虑倾斜角度的方法仍然是约束4,,1,2,.....,.ijjiWwBSETirjiPW12015年7月具体求解可以用枚举法.例如全部药盒的最小宽度是10mm,最小宽度对角线长是34.99mm,所以第一个储药槽的宽度应为19mm.在这个储药槽中药盒的最大宽度为17mm,所以,宽度为10mm—17mm的药盒.在总药盒中去掉的药盒,按上述方法重新计算.此时,余下的全部药盒的最小宽度是18mm,最小宽高对角线长仍为34.99mm,得到第二个储药槽的宽度应为33mm(取34mm也可以).宽度为18mm—31mm的药盒.补充,阅卷时也发现有些队在计算时忽略了防止侧翻约束的验证,第2种药槽的宽度直接取35mm,这样会导致有一种药盒不满足防止侧翻的条件。1SETBj1SETBj2jBSET1min2{2*10,34.99}20,iijWwP,1min2{2*18,34.99}34,iijWwP,2015年7月药槽宽度适用数量最小宽度最大宽度最大宽度差最小宽高斜边1192861017743.32233107318311334.9934430832421045.2545825243561360.81后面的工作以此类推,得到的计算结果如表2.1所示.表2.1:最小药槽种类的一种分配方案2015年7月竖向隔板间距类型最少的方案是4种,但考虑到学生可能选择不同的建模方法,因此4至6种均可以认为是正确的。注意:除给出类型的数量外,还需要给出每一种类型间距的具体宽度、包含药盒的数量和规格(如最小宽度、最大宽度等)。2015年7月3问题二总宽度冗余最小和竖向隔板间距类型最少----宽度冗余与药槽数量之间的平衡药盒与两侧竖向隔板之间的间隙超出2mm的部分可视为宽度冗余,设计时希望总宽度冗余尽可能小,同时也希望药槽间距的类型数量尽可能少,因此这一问的要点是定义宽度冗余,然后再处理两者的关系。这是一个双目标问题,加上对侧翻的约束和2mm的间隙约束可构成双目标规划,多目标规划的处理方法较多,选择其中的一种方法均可以求解,考虑到D题的完成者是专科学生,所以这里采用简单而直观的一种方法求解,其主要思想是在宽度冗余和药槽间距类型数量之间达到某种意义的平衡。2015年7月3.1宽度冗余定义记则每种药盒对应的宽度冗余可以表示为:系统的宽度冗余定义为(相对冗余):因此按照第一问的安排方式,系统的宽度冗余为25.24%。1,,1,2,,,1,2,,,0,,ijSETBijiNjrSSETBij12,1,2,,.rijjjSWiNwRii111112,NNNrNiiijjiiiiijiRwS2015年7月此处定义的是相对冗余,即百分比。实际上,也可以定义绝对冗余,即所有冗余的长度之和。参赛大多数队都选择的是绝对冗余。当然,无论是绝对冗余还是相对冗余,只要明确地给出冗余的定义,都认为是合理的。需要说明的,有些队没有明确给出冗余的定义,而是直接计算不同药槽宽度下的宽度冗余,这将会影响到该队论文的得分。当药槽类型的数量r越小,系统的宽度冗余越大;当r值越大,系统的宽度冗余越小。特别,r=47当时(每个药盒一个储药槽),宽度冗余为0。为了做到双目标平衡,需要计算储药槽的宽度与宽度冗余之间的关系。2015年7月3.2药盒宽度近似等间距划分药盒的最小宽度是10mm,最大宽度是56mm,共有47种类型。如果取r=10,按照宽度等间距划分,每种类型药槽的宽度大约相差5mm,其约束为对侧翻的约束和2mm的间隙约束。在确定好每种类型药槽的宽度后,再按第1问的方法,计算属于每种药槽的药盒种类与个数。根据系统宽度冗余的定义,分别计算间距类型r=5至47时,每种方案的系统宽度冗余,其结果如图3.1所示。2015年7月2015年7月从上图可以看出,在开始时,增加药槽宽度的数量,系统的宽度冗余下降较快,但随着药槽宽度数量的增加,宽度冗余的下降会变慢,由于每增加一种宽度的类型,药柜的生产成本会随着增加,而适应药品的能力会逐渐下降,因此,再增加储药槽宽度的数量是不合算的。从上图来看,取r=10~16都可以认为是合理的,当然最好给出相应的解释(如果给出解释,评阅中可以加分)。下面给出r=10的一种方案(见表3.1),之所以取r=10,一方面10已经达到上述目的外,另外还为第2问和第3问的计算作准备,便于药槽与药品之间的分配。图3.2给出了药槽宽度与对应药盒频数的条形图,通过图形可以看出不同药槽宽度之间药品数量之间的差别。2015年7月2015年7月2015年7月按题目要求,每一种药盒与惟一的一个药槽相对应,因此还需要给出每一种药槽的具体的安排。由于表3.2中第10类药槽的宽度最宽且对应药品数最少,就以这类药槽作为参考,按比例划分每种药槽安排。按此安排,共需要74个药槽,药柜的宽度为2305mm,具体结果如表3.2所示。2015年7月2015年7月按照药盒宽度等间距划分药槽的好处是操作起来方便,但出现的问题是,对应于每个药槽的药品数量不是均匀的,这给药槽与药品之间的分配带来了困难,因此才出现表3.2的情况。很多队在增加药槽宽度类型的数量时,看到了这一困难的存在。解决问题的方法是先画出药槽宽度与适应药品数量的直方图,药槽的宽度也不是均匀分配,而是在药品数量较大的地方,多分配一些药槽,在药品数量较小的地方,少分配一些药槽。或采用插入方法,也就是在药品数量较大的地方,插入药槽,当数量达到某一确定值后,停止计算。这些方法都有一定的优点或可取之处,都能根据药品或药槽的实际情况来分析问题。实际上,如果按照药品数量均匀划分药槽宽度就可以很容易地克服这一点。2015年7月•3.3药盒品种等数量划分将1919种药盒的宽度由小到大排列,如果将所有药盒分成组,每组药盒的数量大约是。再根据这些药盒的宽度确定出药槽宽度,并计算出对应药槽的系统宽度冗余,如图3.3.所示。r19192015年7月2015年7月2015年7月2015年7月注:药盒宽度等间距r=10划分时,系统的宽度冗余为7.17%,但按表3.2的方案将1919种药品分配给每一个药槽时,系统宽度冗余为9.16%.2015年7月双目标规划问题二可以使用双目标规划求解.两个目标分别为,一个是宽度冗余尽可能小,另一个是纵向间隔类型的数量最少.约束条件就是前面提到的防止重叠、侧翻和旋转,以及药盒需要有2mm的余量.求解时,可使用其最常用的方法——加权平均方法,将双目标转换成单目标,使用软件(如lingo)求解,即可得到问题二的结果.相关的模型与求解过程此处不赘述.2015年7月在加权时,希望应注意以下两点:(1)不仅仅是简单地加权,由于两个目标一个是数量,另一个是长度,直接加权,没有一个合理的解释.因此,在作加权之前,应先作无量纲处理,例如,都换成百分比,如数量的百分比和冗余的百分比,再加权就可以解释成,两种百分比所占的比例.(2)在权重的选择上,应根据实际意义,给予适当的解释,说明选择权重的合理性.有的队,权重只取1/2,即简单平均,然后计算出一组答案,就作为问题的结果.这种作法不够全面.一个可取的方案是,选择几种不同的权重,将不同权重值计算的结果作比较,从中选择较好的方案。2015年7月然而,这种方法说起来简单,但是用软件求解比较复杂的。所以有的队会出现模型与求解两张皮的现象,求解与模型没有完全对应。值得推荐的是,有的队考虑宽度冗余,当宽度冗余下降的百分比下降,每增加一种药槽的宽度,就计算相应的宽的冗余当宽度冗余的下降百分比小于一个指定数值时,则停止计算。这种做法与本文介绍的方法是一致的,本文的方法知识用图形来分析这一点。从规划角度来讲,就是将宽度冗余的目标换成约束,用单目标的方法计算。2015年7月•4问题三同时考虑总平面冗余最小和横向隔板间距类型字少储药柜的最大允许高度为1.5m。药盒于两层横向隔板之间的间隙超出2mm的部分可视为高度冗余。在第二问运算结果的基础上,综合分析隔板间高度,宽度与平面冗余量的关系确定储药柜横向隔板间距的类型数量,使得储药柜的总平面冗余量尽可能的小,且横向隔板间距的类型数量也尽可能的少。这一问与纵向隔板间距的设计相似,并在纵向隔板间距设计的基础上完成此问题。简单的处理方法是先定义高度冗余,再定义平面冗余。并利用平面冗余与横向隔板间距的类型数量之间的关系,确定横向隔板间距的类型数量。注意:这里处理问题的方法是相同的,只是方向不同,一个是横向,另一个是纵向。在同一组储药槽宽