
下料问题的优化设计.docx
5页题1、[下料问题的优化设计]某车间有一大批长130cm的棒料,根据加工零件的要求,需要从这批棒料中成套截取70cm长的毛坯不少于100根,32cm长的毛坯不少于100根,35cm长的毛坯不大于100根要求合理设计下料方案,使剩下的边角料总长最短根据题目意义,运用优化设计理论和方法,完成设计全过程;工程问题分析:数学模型建立及特征分析:优化方法选择;优化程序设计(解析优化);计算结果分析;结论及体会基于MATLAB-维优化下料问题分析0前言生产中常会通过切割、剪裁、冲压等手段,将原材料加工成所需大小零件,这种工艺过程,称为原料下料问题在生产实践中,毛坯下料是中小企业的一个重要工序怎样减少剩余料头损失是节约钢材、降低产品成本、提高企业经济效益的一个重要途径在毛坯下料中我们常会遇到毛坯种类多、数量大的情况,如不进行周密计算则因料头而造成的钢材损失是相当可观的为使料头造成的钢材损失减少到最小程度,我们可依据预定的目标和限制条件统筹安排,以最少的材料完成生产任务1一维优化下料问题的具体模型分析设原材料长度为L,数量充足需要切割成n(n>0)种不同规格的零件,根据既省材料容易操作的原则,人们已经设计好了n种不同的下料方式,设第j种下料方式中可下得第i种零件引个,又已知第i种零件得需要量为b个,Xj表示第Bj种下料方式所消耗得零件数目,Cj表示第Bj种下料方式所得余料(j=1,2,?,n,Xj€Z)。
满足条件的切割方案有很多种,现在要求既满足需要又使所用原材料数量最少,即最优下料方案满足:卩p=min(刀CjXj)约束条件:XaijXj二b,Xjz1.2线性规划数学模型根据线性规划算法,约束条件包括两部分:一是等式约束条件,二是变量的非负性出变量的非负要求外,还有其他不等式约束条件,可通过引入松弛变量将不等式约束化成等式约束形式如果是求最大值的,则松弛模型最优解对应的目标函数值必大于或等于整数规划最优解对应的目标函数值;如果问题是求最小值,则松弛模型最优解对应的目标函数值必于或等于整数规划最优解对应的目标函数值因此对于最优下料方案模型为:npminfcjXjj1naijXjbj1j1Xjz由式(1)的线性规划(LP)引入松弛变量p[minf]CjXjj1nayXjbi2jixj0如果得到的最优解是整数,则求解结束该最优解也是式(1)的最优解否则,得到的最优解只是式(1)的最优解的一个下界这样可以把式(1)划分为两个子问题再对式(3)和式(4)继续上述过程若在某一时刻得到了一个全整数解xm,则xm为式(1)的一个上界此时,若打算从子问题k开始分支,而这一问题的下界为xk>xm,则这一分支不必再考虑了,因为在这一分支中不会找到小于xm的解。
如果xkvxm,则分支过程还要继续1.3MATLAB一维优化算法求解整数线性规划MATLA程序:function[x,y]=ILp(f,G,h,Geq,heq,lb,ub,x,id,options)globalupperoptcx0AbAeqbeqIDoptions;ifnargin<10,options=optimset({});options.Display='off'options.LargeScale='off';endifnargin<9,id=ones(size(f));endifnargin<8,x=[];endifnargin<7|isempty(ub),ub=inf*ones(size(f));endifnargin<6|isempty(lb),lb=zeros(size(f));endifnargin<5,heq=[];endifnargin<4,Geq=[];endupper=inf;c=f;x0=x;A=G;b=h;Aeq=Geq;beq=heq;ID=id;ftemp=ILP(lb(:),ub(:));x=opt;y=upper;functionftemp=ILP(vlb,vub)globalupperoptcx0AbAeqbeqIDoptions;[x,ftemp,how]=linprog(c,A,b,Aeq,beq,vlb,vub,x0,options);ifhow<=0return;end;ifftemp-upper>0.00005%inordertoavoiderrorreturn;end;ifmax(abs(x*ID-round(x*ID)))<0.00005ifupper-ftemp>0.00005%inordertoavoiderroropt=x';upper=ftemp;return;elseopt=[opt;x'];return;end;end;notintx=find(abs(x-round(x))>=0.00005);%inordertoavoiderrorintx=fix(x);tempvlb=vlb;tempvub=vub;ifvub(notintx(1,1),1)>=intx(notintx(1,1),1)+1;tempvlb(notintx(1,1),1)=intx(notintx(1,1),1)+1;ftemp=IntLP(tempvlb,vub);end;ifvlb(notintx(1,1),1)<=intx(notintx(1,1),1)tempvub(notintx(1,1),1)=intx(notintx(1,1),1);ftemp=IntLP(vlb,tempvub);end;2线性规划实例分析某车间有一大批长130cm的棒料,根据加工零件的要求,需要从这批棒料中成套截取70cm长的毛坯不少于100根,32cm长的毛坯不少于100根,35cm长的毛坯不大于100根。
要求合理设计下料方案,使剩下的边角料总长最短分析:对于一维下料问题都可以用组合最优化的方法给出合理的下料方式该题要求剩余边角料总长最短,可以转化为求使用原材料的量最少设x1,x2,x3分别表示所需3种不同长度的棒料零件数,则70x1+32x2+35x3=130(xi€Z+,i=1,2,3)其中x1<1,表1给出下料方案表1下料方案零件类型下料方式需要量B1B2B3B4B5B6A1(70)110000>100A2(32)101240>100A3(35)012103>100余料28252831225由表1可列出目标函数及其约束条件minf28x〔25x228x331x42x525x6x2100x32x44x51005x22x3x4100%zj(123,4,5,6)用上面的MATLA程序求解方程组(5)>>c=[28,25,28,31,2,25];>>A=[1,1,0,0,0;1,0,1,2,4;0,1,2,1,0;0,0,3];>>b=[100;100;100];>>[x,f]=ILp(c,[],[],A,b,[0,0,0,0,0,0,],[inf,inf,inf,inf,inf,inf,]);x=[010000250]由此可知按B2方式下100根,B5方式下25根,其余方式都不用,按这种方式下料最高。
3结论及体会通过用MATLAB^件按照一维下料问题优化进行分析,优化下料要求最大限度地节约原材料,提高原材料的利用率本次设计又加深了对机械优化设计的认识,提高了自己分析问题、解决实际问题的能力;利用软件可以快速、简洁的解决问题。












