您好,欢迎访问三七文档
题1、[下料问题的优化设计]某车间有一大批长130cm的棒料,根据加工零件的要求,需要从这批棒料中成套截取70cm长的毛坯不少于100根,32cm长的毛坯不少于100根,35cm长的毛坯不大于100根。要求合理设计下料方案,使剩下的边角料总长最短。根据题目意义,运用优化设计理论和方法,完成设计全过程;工程问题分析:数学模型建立及特征分析:优化方法选择;优化程序设计(解析优化);计算结果分析;结论及体会。基于MATLAB一维优化下料问题分析0前言生产中常会通过切割、剪裁、冲压等手段,将原材料加工成所需大小零件,这种工艺过程,称为原料下料问题。在生产实践中,毛坯下料是中小企业的一个重要工序。怎样减少剩余料头损失是节约钢材、降低产品成本、提高企业经济效益的一个重要途径。在毛坯下料中我们常会遇到毛坯种类多、数量大的情况,如不进行周密计算则因料头而造成的钢材损失是相当可观的。为使料头造成的钢材损失减少到最小程度,我们可依据预定的目标和限制条件统筹安排,以最少的材料完成生产任务。++1一维优化下料问题的具体模型分析设原材料长度为L,数量充足。需要切割成n(n≥0)种不同规格的零件,根据既省材料容易操作的原则,人们已经设计好了n种不同的下料方式,设第j种下料方式中可下得第i种零件ija个,又已知第i种零件得需要量为ib个,jx表示第jB种下料方式所消耗得零件数目,jc表示第jB种下料方式所得余料(j=1,2,⋯,n,jx∈Z)。满足条件的切割方案有很多种,现在要求既满足需要又使所用原材料数量最少,即最优下料方案满足:μp=min(∑jcjx)约束条件:∑ijajx=ib,jx∈Z。1.2线性规划数学模型根据线性规划算法,约束条件包括两部分:一是等式约束条件,二是变量的非负性。出变量的非负要求外,还有其他不等式约束条件,可通过引入松弛变量将不等式约束化成等式约束形式。如果是求最大值的,则松弛模型最优解对应的目标函数值必大于或等于整数规划最优解对应的目标函数值;如果问题是求最小值,则松弛模型最优解对应的目标函数值必于或等于整数规划最优解对应的目标函数值。因此对于最优下料方案模型为:11min1npjjjnijjjjjfcxaxbxz由式(1)的线性规划(LP)引入松弛变量20][min11jnjijijnjjjpxbxaxcf如果得到的最优解是整数,则求解结束。该最优解也是式(1)的最优解。否则,得到的最优解只是式(1)的最优解的一个下界。这样可以把式(1)划分为两个子问题。再对式(3)和式(4)继续上述过程。若在某一时刻得到了一个全整数解xm,则xm为式(1)的一个上界。此时,若打算从子问题k开始分支,而这一问题的下界为xkxm,则这一分支不必再考虑了,因为在这一分支中不会找到小于xm的解。如果xkxm,则分支过程还要继续。1.3MATLAB一维优化算法求解整数线性规划MATLAB程序:function[x,y]=ILp(f,G,h,Geq,heq,lb,ub,x,id,options)globalupperoptcx0AbAeqbeqIDoptions;ifnargin10,options=optimset({});options.Display=’off’;options.LargeScale=’off’;endifnargin9,id=ones(size(f));endifnargin8,x=[];endifnargin7|isempty(ub),ub=inf*ones(size(f));endifnargin6|isempty(lb),lb=zeros(size(f));endifnargin5,heq=[];endifnargin4,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,op-tions);ifhow=0return;end;ifftemp-upper0.00005%inordertoavoiderrorreturn;end;ifmax(abs(x*ID-round(x*ID)))0.00005ifupper-ftemp0.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可列出目标函数及其约束条件123456121345234min282528312251002410052100(1,2,3,4,5,6)jfxxxxxxxxxxxxxxxxzj用上面的MATLAB程序求解方程组(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软件按照一维下料问题优化进行分析,优化下料要求最大限度地节约原材料,提高原材料的利用率。本次设计又加深了对机械优化设计的认识,提高了自己分析问题、解决实际问题的能力;利用软件可以快速、简洁的解决问题。
本文标题:下料问题的优化设计
链接地址:https://www.777doc.com/doc-5558875 .html