组员:1062310114符成山1062310230叶策策1062310214韩河江生产策略问题一问题现代化生产过程中,生产部门面临的突出问题之一,便是如何选取合理的生产率。生产率过高,导致产品大量积压,使流动资金不能及时回笼;生产率过低,产品不能满足市场需要,使生产部门失去获利的机会。可见,生产部门在生产过程中必须时刻注意市场需求的变化,以便适时调整生产率,获取最大收益。某生产厂家年初要制定生产策略,已预知其产品在年初的需求量为a=6万单位,并以b=1万单位/月速度递增。若生产产品过剩,则需付单位产品单位时间(月)的库存保管费C2=0.2元;若产品短缺,则单位产品单位时间的短期损失费C3=0.4元。假定生产率每调整一次带有固定的调整费C1=1万元,试问工厂如何制定当年的生产策略,使工厂的总损失最小?二分析生产率过高,导致产品大量积压,使流动资金不能及时回笼;生产率过低,产品不能满足市场需要,使生产部门失去获利的机会。可见,为使工厂的总损失最少,生产部门在生产过程中必须时刻注意市场需求的变化,从而制定出使工厂总损失最小的生产策略。我们可把此求工厂总损失最小生产策略问题化为最短路问题的多阶段决策问题。设每个顶点代表各月,且以每个顶点为转折点进行生产策略调整,求出每个阶段的最小损耗,最后,使用Matlab软件求出最短的路径,此路径即为使工厂损失最小的生产策略。三假设3.1市场的需求量严格按照年初的需求量为a=6万单位,并以b=1万单位/月速度递增。3.2单位产品单位时间的库存保管费、短期损失费以及生产率每调整一次带有固定的调整费均不变。3.3工厂可以严格按照生产率生产产品。四分析与建模把此求工厂总损失最小生产策略问题化为最短路问题的多阶段决策问题,计算各阶段的最小损耗,及为它们之间的权值。符号说明符号说明顶点xx1211月至12月初;顶点x1312月末;弧xxaii从i月至1ai月不调整生产策略,111,212iai;sxxaii从i月至1ai月库存保管费和短期损失费的最小值以及第ai月的调整费用之和,111,212iai;sxxi13从i月至12月库存保管费和短期损失费的最小值,111i;s工厂一年的总损失;X不调整前每月生产X万单位;Yii月库存保管费和短期损失费;每月社会需求量见下表:月份123456789101112需求量(万元)678910111213141516175.1计算1月的库存保管费和短期损失费的最小值0以及2月的调整费用1万,因此为最小损耗sxx21为1(万元)。同理,可得sxxii1(111i)皆为1(万元),sxx1312为0。5.2计算1月至2月的库存保管费和短期损失费的最小值以及3月的调整费用1万最小值计算(1)6=X6.5Y1=(X-6)*0.2Y2=(13-2X)*0.4S=(4-0.6*X)+1(2)X=6.5Y1=(X-6)*0.2Y2=(2X-13)*0.2S=(0.6X-3.8)+1当X=6.5,因此sxx31为1.1(万元)。同理,可得sxxii2(110i)皆为1.1(万元),sxx1311为0.1(万元)从上式我们可以看出不论在何种情况下,因Yi是一次函数,而sxxaii为Yi的和加1(除1月至12月),所以sxxaii也为一次函数,所以最小损耗必在端点处取值。5.3计算1月至3月的库存保管费和短期损失费的最小值以及4月的调整费用1万分X=7,6.5=X7,6=X6.5三种情况讨论;得X=7,因此sxx41为1.4(万元)。同理,可得sxxii3(19i)皆为1.4(万元),sxx1310为0.4(万元)。5.4计算1月至4月的库存保管费和短期损失费的最小值以及5月的调整费用1万分X=7.5,7=X7.5,6.5=X7,6=X6.5四种情况讨论;得X=7.5,因此sxx51为2(万元)。同理,可得sxxii4(18i)皆为2(万元),sxx139为1(万元)。5.5计算1月至5月的库存保管费和短期损失费的最小值以及6月的调整费用1万分X=8,7.5=X8,7=X7.5,6.5=X7,6=X6.5五种情况讨论;得X=8,因此sxx61为3(万元)。同理,可得sxxii5(17i)皆为3(万元),sxx138为2(万元)。5.6计算1月至6月的库存保管费和短期损失费的最小值以及7月的调整费用1万分X=8.5,8=X8.5,7.5=X8,7=X7.5,6.5=X7,6=X6.5六种情况讨论;得X=8,因此sxx71为4.2(万元)。同理,可得sxxii6(16i)皆为4.2(万元),sxx137为3.2(万元)。5.7计算1月至7月的库存保管费和短期损失费的最小值以及8月的调整费用1万分X=9,8.5=X9,8=X8.5,7.5=X8,7=X7.5,6.5=X7,6=X6.5七种情况讨论;得X=8,因此sxx81为5.8(万元)。同理,可得sxxii7(15i)皆为5.8(万元),sxx136为4.8(万元)。5.8计算1月至8月的库存保管费和短期损失费的最小值以及9月的调整费用1万分X=9.5,9=X9.5,8.5=X9,8=X8.5,7.5=X8,7=X7.5,6.5=X7,6=X6.5八种情况讨论;得X=8.5,因此sxx91为7.7.(万元)。同理,可得sxxii8(14i)皆为7.7(万元),sxx135为6.7(万元)。5.9计算1月至9月的库存保管费和短期损失费的最小值以及10月的调整费用1万分X=10,9.5=X10,9=X9.5,8.5=X9,8=X8.5,7.5=X8,7=X7.5,6.5=X7,6=X6.5九种情况讨论;得X=8.5,因此sxx101为9.9(万元)。同理,可得sxxii9(13i)皆为9.9(万元),sxx134为8.9(万元)。5.10计算1月至10月的库存保管费和短期损失费的最小值以及11月的调整费用1万分X=10.5,10=X10.5,9.5=X10,9=X9.5,8.5=X9,8=X8.5,7.5=X8,7=X7.5,6.5=X7,6=X6.5十种情况讨论;得X=9.5,因此sxx111为12.4(万元)。同理,可得sxxii10(12i)皆为12.4(万元),sxx133为11.4(万元)。5.11计算1月至11月的库存保管费和短期损失费的最小值以及12月的调整费用1万分X=11,10.5=X11,10=X10.5,9.5=X10,9=X9.5,8.5=X9,8=X8.5,7.5=X8,7=X7.5,6.5=X7,6=X6.5十一种情况讨论;得X=9.5,因此sxx121为15(万元)。sxx132为14(万元)。5.12计算1月至12月的库存保管费和短期损失费的最小值分X=11.5,11=X11.5,10.5=X11,10=X10.5,9.5=X10,9=X9.5,8.5=X9,8=X8.5,7.5=X8,7=X7.5,6.5=X7,6=X6.5十二种情况讨论;得X=9.5,sxx131=17万。总权值表:五求解使用Dijkstra算法求出最小值和路径Dijkstra算法——算法步骤S:具有永久标号的顶点集;l(v):v的标记;f(v):v的父顶点,用以确定最短路径;输入加权图的带权邻接矩阵w=[w(vi,vj)]nxm.(1)初始化令l(v0)=0,S=;vv0,l(v)=;(2)更新l(v),f(v)寻找不在S中的顶点u,使l(u)为最小.把u加入到S中,然后对所有不在S中的顶点v,如l(v)l(u)+w(u,v),则更新l(v),f(v),即l(v)l(u)+w(u,v),f(v)u;(3)重复步骤2),直到所有顶点都在S中为止.MATLAB程序(Dijkstra算法)见附表1:MATLAB求解程序见附表2:六结论调整三次,四月初七月初十月初各调整一次,s=1.4*4-1=4.6万元。1~3月,产量为7万单位每月;4~6月,产量为10万单位每月,7~9月,产量为13万单位每月;10~12月,产量为16万单位每月。附表1;function[min,path]=dijkstra(w,start,terminal)n=size(w,1);label(start)=0;f(start)=start;fori=1:nifi~=startlabel(i)=inf;end,ends(1)=start;u=start;whilelength(s)nfori=1:nins=0;forj=1:length(s)ifi==s(j)ins=1;end,endifins==0v=i;iflabel(v)(label(u)+w(u,v))label(v)=(label(u)+w(u,v));f(v)=u;end,end,endv1=0;k=inf;fori=1:nins=0;forj=1:length(s)ifi==s(j)ins=1;end,endifins==0v=i;ifklabel(v)k=label(v);v1=v;end,end,ends(length(s)+1)=v1;u=v1;endmin=label(terminal);path(1)=terminal;i=1;whilepath(i)~=startpath(i+1)=f(path(i));i=i+1;endpath(i)=start;L=length(path);path=path(L:-1:1);附表2:w=[011.11.4234.25.87.79.912.41517;1011.11.4234.25.87.79.912.414;1.11011.11.4234.25.87.79.911.4;1.41.11011.11.4234.25.87.78.9;21.41.11011.11.4234.25.86.7;321.41.11011.11.4234.24.8;4.2321.41.11011.11.4233.2;5.84.2321.41.11011.11.422;7.75.84.2321.41.11011.11.41;9.97.75.84.2321.41.11011.10.4;12.49.97.75.84.2321.41.11010.1;1512.49.97.75.84.2321.41.1100;171411.48.96.74.83.2210.40.100][dis,path]=dijkstra(w,1,13)