资源预览内容
第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
亲,该文档总共7页全部预览完了,如果喜欢就下载吧!
资源描述
下料问题下料问题生产实践中经常遇到这样的问题,要把规格一定的材料裁剪成不同尺寸的毛坯,在一般情况下,很难使原材料得到完全利用,总会多出一些料头。切割次序和方法的不同、各种规格搭配(即下料策略)不同,材料的消耗将不同。实际需要解决如下问题,在给定一组材料规格尺寸后,怎样合理截料,才能使原材料消耗最少,这就是合理下料问题。1建立一维单一原材料实用下料问题的数学模型,并用此模型求解下列问题,从钢管厂进货得到的原材料的钢管的长度都是 8m,现在一顾客需要 80 根 3m,100 根 2.5m,240 根1.3m 和 100 根 1.8m 的钢管。(1)应如何下料最节省;(2)为了简化生产过程,规定所使用的切割模式的种类不能超过 4 种,使用频率最高的一种切割模式按照一根原料钢管价值的 1/100 增加费用,使用频率次之的切割模式按照一根原料钢管价值的 2/100 增加费用,以此类推,为了使总费用最小,应该如何下料?2建立二维单一原材料实用下料问题的数学模型,并用此模型求解下列问题。制定出完成任务所需的原材料块数和余料。这个问题的单一原材料的长度为 2260mm,宽度为1330mm。所需毛坯数据:毛坯尺寸 (长 mm宽 mm需求)5174472, 5175971, 2575972, 5173974, 9073471, 9073971, 9074772, 9073971,7774472, 7775471, 7774471, 7772971, 3976471, 3879971, 7772971,,775971主要运用整数规划。主要运用整数规划。 f=0.2,0.8,0.7,0.2,0.2,0.1,0; a=-6,0,-1,0,-1,-2;0,-4,0,-1,-2,-3;0,0,-2,-2,-1,0; b=-240,-100,-30; x,y=IntLp(f,a,b,0,0,inf,inf);工具箱法 f=2 8 2 7 1 11 6 1 5 0; A=6 0 0 1 1 3 2 4 3 2;0 4 1 0 2 0 1 1 2 3;0 0 0 2 1 1 1 0 0 0;B=240;100;30; Ae=; Be=;xm=0,0,0,0,0,0,0,0,0,0;P=intvar(10,1);g=f*P;F=set(A*P=B)+set(xm ILpP =NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNMATLAB 中的线性规划问题的标准形式描述如下:中的线性规划问题的标准形式描述如下:Min z=fTXs.t. AX bAeqX=beqlb X ub其中:其中:f、X、b、beq、lb、ub 为向量,为向量,A、Aeq 为矩阵。为矩阵。注意:注意:1 本教材中标准形式的目标函数是求本教材中标准形式的目标函数是求 Max;2 任何形式的线性规划问题都能够经过适当的变换化成上述的标准形式。任何形式的线性规划问题都能够经过适当的变换化成上述的标准形式。在在 MATLAB6.0 及以上的版本中,求解线性规划问题的函数是及以上的版本中,求解线性规划问题的函数是 linprog。调用格式调用格式 1:x=linprog(f,A,b)说明:求说明:求 Min z=fTX,s.t. AX b 线性规划的最优解。线性规划的最优解。调用格式调用格式 2:x=linprog(f,A,b,Aeq,beq)说明:等式约束说明:等式约束 Aeq X = beq,若没有不等式约束,若没有不等式约束 AX b,则,则 A=,b=。调用格式调用格式 3:x=linprog(f,A,b,Aeq,beq,lb,ub)说明:约束说明:约束 X:lb X ub,若没有等式约束,若没有等式约束 AeqX=beq,则,则 Aeq=,beq=。调用格式调用格式 4:x=linprog(f,A,b,Aeq,beq,lb,ub,x0)说明:设置初值说明:设置初值 x0。该选项只适用于中型问题,默认时大型问题将忽略初值。该选项只适用于中型问题,默认时大型问题将忽略初值。调用格式调用格式 5:x=linprog(f,A,b,Aeq,beq,lb,ub,x0,options)说明:说明:options 为指定的优化参数,参数详情请查看为指定的优化参数,参数详情请查看 optimset 和和 optimget 函数。函数。调用格式调用格式 6:x,fval=linprog()说明:返回目标函数最优值,即说明:返回目标函数最优值,即 fval= fTX。调用格式调用格式 7:x,lambda,exitflag=linprog()说明:说明:lambda 为解为解 x 的的 Lagrange 乘子。若乘子。若 lambda=lower 表示下界表示下界lb,lambda=upper 表示上界表示上界 ub,lambda=ineqlin 表示不等式约束,表示不等式约束,lambda=eqlin 表示等式约束,表示等式约束,lambda 中的非中的非 0 元素表示对应的约束是有效约元素表示对应的约束是有效约束。束。调用格式调用格式 8:x,lambda,fval,exitflag=linprog()说明:说明:exitflag 为终止迭代的错误条件:若为终止迭代的错误条件:若 exitflag0 表示函数收敛于解表示函数收敛于解 x, exitflag=0,表示超过函数估值或迭代的最大数字,表示超过函数估值或迭代的最大数字,exitflag A=-6 0 0 1 1 3 2 4 3 2;0 4 1 0 2 0 1 1 2 3;0 0 0 2 1 1 1 0 0 0; B=-240;100;30; Ae=; Be=; lb=30;0;0;0;30;0;0;0;0;13;ub=30;inf;inf;inf;30;inf;inf;inf;inf;13; lb=0;0;0;0;30;0;0;0;0;0; ub=inf;inf;inf;inf;30;inf;inf;inf;inf;inf; x,f=ILp(c,A,B,Ae,Be,lb,ub)x =31.0000 1.0000 -0.0000 0 30.0000 -0.0000 0.0000 0.0000 0 12.000030.0000 0 0 0 30.0000 0.0000 0.0000 0 2.0000 12.0000f =74总解法:总解法:A=-1 2 2 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0;2 0 0 1 1 0 0 3 2 2 1 1 1 0 0 0 0 0 0 1;0 0 1 1 0 1 2 0 2 0 4 2 0 6 4 3 2 0 3 1;0 1 0 0 1 2 1 0 0 1 0 1 3 0 1 2 3 4 0 2;c=1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1;B=-80;100;240;100;Ae=; Be=;ub=inf;inf;inf;inf;inf;inf;inf;inf;inf;inf;inf;inf;inf;inf;inf;inf;inf;inf;inf;inf;lb=zeros(20,1);x,f=ILp(c,A,B,Ae,Be,lb,ub)结果:结果:f =124.0000c=0 2 7 12 7 1 6 5 4 12 3 11 1 2 10 5 0 8 11 6;x,f=ILp(c,Ae,Be,A,B,lb,ub)26 个解个解 余料余料 10 用料用料 124 根根
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号