基本信息
源码名称:2014年数学建模国赛D题优秀论文
源码大小:1.78M
文件格式:.doc
开发语言:MATLAB
更新时间:2020-08-12
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

2014年数学建模国赛D题优秀论文



储药柜的设计

 

摘要

本文针对自动补药药柜的设计进行研究。

针对问题一,在只考虑储药柜竖向隔板的最小间距种类,在满足安全送药的四个条件,即侧间距2mm,无并排,无侧翻,无水平旋转下,建立单目标优化模型,并设计区间无重叠聚类算法,实现最少间距种类的求解,由程序得到最少四类列宽的分类,分别为

19mm,34mm,46mm,58mm

针对问题二,我们将总宽度冗余,与列间距类型数量作为目标,建立双目标规划模型。基于分层求解多目标规划模型方法,我们在问题一得到的4个不同类型的基础上,首先建立冗余权重模型,首先计算出各中药盒宽度在原始4种分类基础上的加权冗余,并按照其加权冗余累积贡献率排序,根据累积贡献率,我们讨论了90%和95%下,根据列宽优化算法,计算出新的列宽分类,经过加权冗余度和列宽类数的分析,我们确定在新增3类情况下的最优解。列宽分别为

19mm,22mm,34mm,37mm,46mm,47mm,58mm

并且给出相应的药盒编号。

针对问题三,我们将平面总冗余度,与行间距类型最小作为目标,在以药柜给定规格为约束条件下,建立双目标规划模型。在问题二的基础上,我们通过对分布分析法,先按照比列均衡的思想确定药柜一行放置76个药槽,在此基础上为了尽量减少平面冗余,我们按照高相近归类方法,得到药柜至少需要26行,并且计算出高大致需要以下9类。

34mm,41mm,47mm,54mm,60mm,72mm,85mm,101mm,125mm

针对问题四,在药槽长度1.5米的条件下,我们首先计算出每一种药盒在药槽长度方向上能的个数。因此确定同一种要需要的药槽数量。又因为每天仅集中补药一次,所以设计的储药槽个数一次性能放药盒的个数大于该需求量的最大值才能满足。



function [dd,d]=rl(B)

[m,n]=size(B);

 

d=tabulate(B(:,2));

d=d(10:end,:);         %%%%%累计贡献率数据

 

dd=sortrows(d,3);

 

 

附录5:程序3分类加权冗余度

function B = jryl( A )

%UNTITLED5 Summary of this function goes here

%   Detailed explanation goes here

[m,n]=size(A);

 

for i=1:m

    

    if A(i,1)<=17&A(i,1)>=10

        B(i,2)=(19-A(i,1)-2)*A(i,3);

        B(i,1)=A(i,1);

    elseif A(i,1)<=31&A(i,1)>=18

        B(i,2)=(34-A(i,1)-2)*A(i,3);

         B(i,1)=A(i,1);

    elseif A(i,1)<=44&A(i,1)>=33

             B(i,2)=(46-A(i,1)-2)*A(i,3);

         B(i,1)=A(i,1);

         

         elseif A(i,1)<=56&A(i,1)>=45

             B(i,2)=(58-A(i,1)-2)*A(i,3);

         B(i,1)=A(i,1);

         

    end

end

end