生产策略问题摘要本文讨论了工厂根据当年市场对产品每月的需求量,如何制定生产策略从而使总损耗最少的问题。把此求工厂总损失最小生产策略问题化为最短路问题的多阶段决策问题。设每个顶点代表各月,且以每个顶点为转折点进行生产策略调整,运用Matlab软件求出每个阶段的最小损耗。用图论软件表示出各个阶段,用Matlab软件求出的每个阶段的最小损耗即为每个阶段的权值。最后,图论软件会自动求出最短的路径,此路径即为使工厂损失最小的生产策略。关键词:最短路模型最优化模型图论生产策略一、问题的重述现代化生产过程中,生产部门面临的突出问题之一,便是如何选取合理的生产率。生产率过高,导致产品大量积压,使流动资金不能及时回笼;生产率过低,产品不能满足市场需要,使生产部门失去获利的机会。可见,生产部门在生产过程中必须时刻注意市场需求的变化,以便适时调整生产率,获取最大收益。某生产厂家年初要制定生产策略,已预知其产品在年初的需求量为a=6万单位,并以b=1万单位/月速度递增。若生产产品过剩,则需付单位产品单位时间(月)的库存保管费C2=0.2元;若产品短缺,则单位产品单位时间的短期损失费C3=0.4元。假定生产率每调整一次带有固定的调整费C1=1万元,试问工厂如何制定当年的生产策略,使工厂的总损失最小?二、问题的分析生产率过高,导致产品大量积压,使流动资金不能及时回笼;生产率过低,产品不能满足市场需要,使生产部门失去获利的机会。可见,为使工厂的总损失最少,生产部门在生产过程中必须时刻注意市场需求的变化,从而制定出使工厂总损失最小的生产策略。我们可把此求工厂总损失最小生产策略问题化为最短路问题的多阶段决策问题。设每个顶点代表各月,且以每个顶点为转折点进行生产策略调整,运用Matlab软件求出每个阶段的最小损耗。用图论软件表示出每个阶段,用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工厂一年的总损失;五、分析与建模把此求工厂总损失最小生产策略问题化为最短路问题的多阶段决策问题,用图论软件画出各月之间的联系,然后计算各阶段的最小损耗,及为它们之间的权值。每月社会需求量见下表:月份123456789101112需求量(万元)67891011121314151617用Matlab软件计算各月之间权值如下:5.1计算sxx21,代表1月的库存保管费和短期损失费的最小值0以及2月的调整费用1万,因此sxx21为1(万元)。同理,可得ssxii1(111i)皆为1(万元),sxx1312为0。5.2计算sxx31,代表1月至2月的库存保管费和短期损失费的最小值以及3月的调整费用1万,因此sxx31为1.1(万元)。同理,可得ssxii2(110i)皆为1.1(万元),sxx1311为0.1(万元)。1月至2月的库存保管费和短期损失费的最小值见附录(5.2)。5.3计算sxx41,代表1月至3月的库存保管费和短期损失费的最小值以及4月的调整费用1万,因此sxx41为1.4(万元)。同理,可得ssxii3(19i)皆为1.4(万元),sxx1310为0.4(万元)。1月至3月的库存保管费和短期损失费的最小值见附录(5.3)。5.4计算sxx51,代表1月至4月的库存保管费和短期损失费的最小值以及5月的调整费用1万,因此sxx51为2(万元)。同理,可得ssxii4(18i)皆为2(万元),sxx139为1(万元)。1月至4月的库存保管费和短期损失费的最小值见附录(5.4)。5.5计算sxx61,代表1月至5月的库存保管费和短期损失费的最小值以及6月的调整费用1万,因此sxx61为3(万元)。同理,可得ssxii5(17i)皆为3(万元),sxx138为2(万元)。1月至5月的库存保管费和短期损失费的最小值见附录(5.5)。5.6计算sxx71,代表1月至6月的库存保管费和短期损失费的最小值以及7月的调整费用1万,因此sxx71为4.2(万元)。同理,可得ssxii6(16i)皆为4.2(万元),sxx137为3.2(万元)。1月至6月的库存保管费和短期损失费的最小值见附录(5.6)。5.7计算sxx81,代表1月至7月的库存保管费和短期损失费的最小值以及8月的调整费用1万,因此sxx81为5.9(万元)。同理,可得ssxii7(15i)皆为5.9(万元),sxx136为4.9(万元)。1月至7月的库存保管费和短期损失费的最小值见附录(5.7)。5.8计算sxx91,代表1月至8月的库存保管费和短期损失费的最小值以及9月的调整费用1万,因此sxx91为8.2(万元)。同理,可得ssxii8(14i)皆为8.2(万元),sxx135为7.2(万元)。1月至8月的库存保管费和短期损失费的最小值见附录(5.8)。5.9计算sxx101,代表1月至9月的库存保管费和短期损失费的最小值以及10月的调整费用1万,因此sxx101为11.2(万元)。同理,可得ssxii9(13i)皆为11.2(万元),sxx134为10.2(万元)。1月至9月的库存保管费和短期损失费的最小值见附录(5.9)。5.10计算sxx111,代表1月至10月的库存保管费和短期损失费的最小值以及11月的调整费用1万,因此sxx111为15(万元)。同理,可得ssxii10(12i)皆为15(万元),sxx133为14(万元)。1月至10月的库存保管费和短期损失费的最小值见附录(5.10)。5.11计算sxx121,代表1月至11月的库存保管费和短期损失费的最小值以及12月的调整费用1万,因此sxx121为19.4(万元)。sxx132为18.4(万元)。1月至11月的库存保管费和短期损失费的最小值见附录(5.11)。5.12计算sxx131,代表1月至12月的库存保管费和短期损失费的最小值为23.5见附录(5.12)。经计算各边权值见下表:六、模型的计算6.1最短路径的计算把用Matlab软件计算所得的权值标入图论软件中,设x1为起点,x13为终点,可得最短路径如下图:最短路线由图中绿线所示,由此图可看出,工厂应该在4月初、7月初和10月初改变生产率,会使总损耗最少。由上图可得从x1到x13得最短路径为:xxxxx1310741,总损耗s=4.6(万元)。6.2最短路径各阶段每月生产量及损耗的计算6.2.1xx41阶段的计算:由Matlab程序(见附录5.3)可得:由上可看出1月到3月的库存保管费和短期损失费的最小值为0.4万元,另外还有3月调整生产率的费用1万元,因此,此阶段总费用为1.4万元。且此阶段从1月至3月每月的生产量均为7万单位。6.2.2xx74阶段的计算:由6.2.1同理可得,4月到6月的库存保管费和短期损失费的最小值为0.4万元,另外还有7月调整生产率的费用1万元,因此,此阶段总费用为1.4万元。且此阶段从4月至6月每月的生产量均为10万单位。6.2.36.2.3xx107阶段的计算:由6.2.1同理可得,7月到9月的库存保管费和短期损失费的最小值为0.4万元,另外还有10月调整生产率的费用1万元,因此,此阶段总费用为1.4万元。且此阶段从7月至9月每月的生产量均为13万单位。6.2.4xx1310阶段的计算:由6.2.1同理可得,10月到12月的库存保管费和短期损失费的最小值为0.4万元,且此阶段从10月至12月每月的生产量均为16万单位。因此,总费用s=1.4*3+0.4=4.6万元。七、模型的评价把此求最少损耗的问题转化为最短路径的多阶段问题非常形象,让人容易理解。用图论软件求最短路径既包含了所有路径的情况,又比较轻松的计算出了最低损耗。在计算出最低损耗的同时也表示出了最短损耗的路径,既可清楚的得出工厂生产的策略。八、参考文献【1】姜启源,谢金星等,数学模型,北京:高等教育出版社,2003【2】周晓阳,数学实验与matlab,武汉:华中科技大学出版社,2005九、附录Matlab程序5.2y1=(x-6)*0.2;y2=@if((2*x-6)#ge#7,(2*x-13)*0.2,(13-2*x)*0.4);min=(y1+y2);5.3y1=(x-6)*0.2;y2=@if((2*x-6)#ge#7,(2*x-13)*0.2,(13-2*x)*0.4);y3=@if((3*x-13)#ge#8,(3*x-21)*0.2,(21-3*x)*0.4);min=(y1+y2+y3);5.4y1=(x-6)*0.2;y2=@if((2*x-6)#ge#7,(2*x-13)*0.2,(13-2*x)*0.4);y3=@if((3*x-13)#ge#8,(3*x-21)*0.2,(21-3*x)*0.4);y4=@if((4*x-21)#ge#9,(4*x-30)*0.2,(30-4*x)*0.4);min=(y1+y2+y3+y4);5.5y1=(x-6)*0.2;y2=@if((2*x-6)#ge#7,(2*x-13)*0.2,(13-2*x)*0.4);y3=@if((3*x-13)#ge#8,(3*x-21)*0.2,(21-3*x)*0.4);y4=@if((4*x-21)#ge#9,(4*x-30)*0.2,(30-4*x)*0.4);y5=@if((5*x-30)#ge#10,(5*x-40)*0.2,(40-5*x)*0.4);min=(y1+y2+y3+y4+y5);5.6y1=(x-6)*0.2;y2=@if((2*x-6)#ge#7,(2*x-13)*0.2,(13-2*x)*0.4);y3=@if((3*x-13)#ge#8,(3*x-21)*0.2,(21-3*x)*0.4);y4=@if((4*x-21)#ge#9,(4*x-30)*0.2,(30-4*x)*0.4);y5=@if((5*x-30)#ge#10,(5*x-40)*0.2,(40-5*x)*0.4);y6=@if((6*x-40)#ge#11,(6*x-51)*0.2,(51-6*x)*0.4);min=(y1+y2+y3+y4+y5+y6);5.7y1=(x-6)*0.2;y2=@if((2*x-6)#ge#7,(2*x-13)*0.2,(13-2*x)*0.4);y3=@if((3*x-13)#ge#8,(3*x-21)*0.2,(21-3*x)*0.4);y4=@if((4*x-21)#ge#9,(4*x-30)*0.2,(30-4*x)*0.4);y5=@if((5*x-30)#ge#10,(5*x-40)*0.2,(40-5*x)*0.4);y6=@if((6*x-40)#ge#11,(6*x-51)*0.2,(51-6*x)*0.4);y7=@if((7*x-51)#ge#12,(7*x-63)*0.2,(63-7*x)*0.4);min=(y1+y2+y3+y4+y5+y6+y7);5.8y1=(x-6)*0.2;y2=@if((2*x-6)#ge#7,(2*x-13)*0.2,(13-2*x)*0.4);y3=@if((3*x-13)#ge#8,(3*x-21)*0.2