姓名 学号 班级 问题:(非线性规划) 某厂向用户提供发动机,合同规定,第一、二、三季度末分别交货40台、60台、80台.每季度的生产费用为 f x ax bx 2 (元),其中x是该季生产的台数.若交货后有剩余,可用于下季度交货,但需支付存储费,每台每季度c元.已知工厂每季度最大生产能力为100台,第一季度开始时无存货,设a=50、b=0.2、c=4,问工厂应如何安排生产计划,才能既满足合同又使总费用最低.讨论a、b、c变化对计划的影响,并作出合理的解释.. 问题的分析和假设: 该问题主要是一个费用的优化问题,我们可以假设每个季度该厂生产的发动机为x1台,x2台和x3台,则可以跟局费用的函数关系求出每个季度生产费用,同时,由于可以有剩余,由题意可知,由于每个季度该厂的最大生产能力为100可知,不会有某个产品将会在仓库中存储的时间超过一个季度。于是每个季度的剩余存货为生产量与上个季度剩余存货量之和同该季度交货量的差,同时注意到该差是非负的,否则表明该季度并未完成相应的生产任务。库存支付的费用同生产费用之和即为合同所花费的总费用。 建模: 由分析得:该厂第一季度、第二季度、第三季度的生产量分别是x1台、x2台和x3台时,才能既满足合同又使总费用最低。该费用表达式为:
带入a,b,c的具体值整理得:min(z)50(x1x2x3)0.2(x1x2x3)4(2x1x2140)约束条件为:s.t:x1x24060x1x2x318040x11000x21000x3100222min(z)a(x1x2x3)b(x1x2x3)c(x140)c(x1x2100)222
求解的Matlab程序代码: 先建立M-文件 funfee.m: function f=findfee(x); f=50*(x(1)+x(2)+x(3))+0.2*(x(1)^2+x(2)^2+x(3)^2)+4*(x(1)-40)+4*(x(1)+x(2)-100); 再建立主程序fxxgh.m: x0=[40;1;1]; A=[-1 -1 0;-1 -1 -1];b=[-100;-180]; Aeq=[];beq=[]; vlb=[40;0;0];vub=[100;100;100]; [x,fval]=fmincon('findfee',x0,A,b,Aeq,beq,vlb,vub) 计算结果与问题分析讨论: 计算结果:x = 50.0000 60.0000 70.0000 fval = 1.1280e+004 由运算结果得:该厂第一季度、第二季度、第三季度的生产量分别是50台、60台和70台时,才能既满足合同又使总费用最低,费用最低为11280元。 下面分析a,b,c变化对计划产生的影响。我们用单一变量法进行研究,首先对a进行研究。使b,c不变的情况下使a在[30,70]之间变化,分别求出此时每个季度的产量x1,x2,和x3,通过计算发现,a的变化对整个的产量的变化并没有任何影响,在目标函数中,a是 x1x2x3项的系数,由于将产量取整后发现所有最优解时的计划安排都可得出x1x2x3值为180,也就是三个季度需要交货的总量。因此a的变化对总体并不产生影响。但总费用显然随a的增大而增大,反之亦然。 采用同样的方法可以计算出,当b=0.1,0.2,0.3,0.4,0.8时,所对应的产量安排如下 b 0.1 0.2 0.3 0.4 0.8 X1 40.0000 50.0000 53.0000 55.0000 57.5000 X2 60.0000 60.0000 60.0000 60.0000 60.0000 X3 80.0000 70.0000 670000 65.0000 62.5000 总费用 1.0160e+004 1.1280e+004 1.2373e+004 1.3460e+004 1.7790e+004 通过对表的观察可知,随着b的增加,x1的增大,x2的值基本不变,而x3的值逐渐减小。同时可以看出当b的值增大时总费用增大。 再对c的变化进行分析,通过计算可知:当c= 1,2,3,4,5,6,7时,所对应的产量安排如下 C 1 2 3 4 5 6 7 X1 57.5000 55.0000 52.5000 50.0000 47.5000 45.0000 42.5000 X2 60.0000 60.0000 60.0000 60.0000 60.0000 60.0000 60.0000 X3 62.5000 65.0000 67.5000 70.0000 72.5000 75.0000 77.5000 总费用 1.1198e+004 1.1230e+004 1.1258e+004 1.1280e+004 1.1298e+004 1.1310e+004 1.1318e+004 通过对表的观察可知,随着c的增加,x1的减小,x2的值基本不变,而x3的值逐渐增大。同时可以看出当c的值增大时总费用增大。 针对以上现象给出解释: 很明显,当存储费用不动时,每个季度的费用受到产量的影响比较大,由于交货量是在不断递增,故当b变大时,第三季度的生产费用会明显增加(由于第三季度交货量最大,因此产量也会增多,费用与当月产量成二次函数关系)因此,可以平均分担每个月的生产量,利用库存降低总的费用。 当每月生产的函数关系不变时,显然库存费用将对总费用产生巨大影响,因此应减少每月的库存量以降低存储成本,故有x1随c的增大而减小的现象。该计算结果符合实际情况的分析。
因篇幅问题不能全部显示,请点此查看更多更全内容