资源描述
目录
摘要 - 2 —
一、问题重述 - 3 —
二、问题分析 - 4 —
1.问题(1)的分析 — 4 -
2.问题(2)的分析 — 4 —
三、模型假设 — 4 -
四、符号说明 - 4 —
五、问题一的模型建立与求解 - 5 -
(1)贮存函数及每月平均贮存数量的确定 — 5 —
(2)利润函数的确定 — 8 -
六、问题二的模型建立与求解 — 9 —
七、模型的评价与改进 - 11 -
参考文献 - 11 -
附录 — 11 -
- 16 -
制砖机生产计划
摘要
一个厂是否盈利以及盈利大小与该厂在各个阶段的生产计划息息相关,如何根据预期销售量、销售价格与销售成本等做出合理的生产计划,使得利润达到最大化是每个决策者最关心的问题,具有重大的意义。
在处理问题(1)时,本文首先运用积分法建立存贮模型,求得每个月的平均存贮数量,进而获知每个月的存贮费用和总的存贮费用,由于题目要求允许期货销售,不同的产量会影响存贮函数,导致有的贮存函数为分段函数。其次,根据利润=销售收入-(生产成本+销售费用+贮存费用)构造利润函数(即目标函数)W,分别算出销售收入、生产成本、销售费用和贮存费用,然后将利润函数表示出来.另外,依题意:到6月底前所有产品必须卖完以及生产数量非负等条件,确定约束条件。最后,将目标函数以及约束条件输入LINGO进行求解,得出未来6个月的生产计划为:一月份生产25台,二月份生产41台,三月份生产32台,四月份生产31台,五月份生产29台,六月份生产29台。
在处理问题(2)时,我们发现本问在第一问的基础上,新增加了一项约束条件:该厂每月的生产能力限于33台,将其用数学语言进行表达后,同样用LINGO进行求解。解得未来6个月的生产计划为:一月份生产33台,二月份生产33台,三月份生产30台,四月份生产31台,五月份生产30台,六月份生产30台。
关键字:积分法 存贮模型 优化模型 Lingo
一、问题重述
某重型机械厂通过对历史资料进行回归分析(即数据拟合),并给合今年上半年可能出现的影响制砖机销售的因素,预测该厂2011年上半年的销售情况如下表所示:
月份
1
2
3
4
5
6
销售量(台)
42
32
41
67
25
29
该厂的制砖机2010年12月的销售均价为48万元/台,今年上半年的售价保持不变。2010年12月末尚有49台未售出.制砖机从计划生产到售出会发生下列费用:(1)生产成本,包括固定成本(主要是指厂房、机器设备的折旧)和可变成本(钢材、其他材料和人工成本等,其中人工成本在可变成本中占到大约40%),按照2010年12月份的建材价格计算,可变成本(万元)与制砖机生产台数的平方成正比,比例系数为0。5。且可变成本与建材价格上涨幅度有关,例如建材价格上涨10%,则可变成本是按前面方法计算结果的1。1倍。(2)销售费用,与当月的销售金额成正比。(3)贮存费,生产出的制砖机未售出的必须贮存,即该厂生产的制砖机平均每台每月的贮存费为0。1万元。
2010年以来,央行和发改委出台了一系列措施平抑建材价格,但由于对建材需求结构而言,总体上求大于供的市场状况没有得到根本改善,预计今年上半年建材的价格仍会有一定的增长.预计的增长速度(以2010年12月的价格为基准)见下表:
月份
1
2
3
4
5
6
增长速度
10%
10%
20%
20%
30%
30%
该厂希望在上半年就把生产的制砖机全部销售完,为使利润最大化,需要制定出从2011年1月到6月每月的生产计划(即每月完成多少台)。
(1)如果该厂的月生产能力没有限制,并且允许期货(即尚未下线的制砖机)销售,但在6月底前要全部完成交货,如何制定月生产计划?
(2)如果该厂每月的生产能力限于33台,并且允许期货(即尚未下线的制砖机)销售,但在6月底前要全部完成交货,又该如何制定月生产计划
二、问题分析
1.问题(1)的分析
概念理解:期货销售—-指延期销售,即第周期的库存数量为零时仍可以继续销售,但延期数量(即尚未下线的制砖机)必须在第周期补足生产。
本问中,利润=销售收入-(生产成本+销售费用+贮存费),由于销售收入与实际生产数量无关,因此我们可以仅考虑生产成本、销售费用和贮存费用的最小化问题,其重点在于贮存函数的计算,主要约束条件为6月底前要全部完成交货。
2。问题(2)的分析
第二问实质上就是对于第一问的扩展。我们可以在第一问的规划模型基础上增加一项新的约束条件:该厂每月的生产能力限于33台,从中得出最优的生产方案。
三、模型假设
①在求得每个月的贮存总量后,取每个月的平均贮存量作为贮存数量进行计算;
②每月生产的产品在月底一次性补给;
③生产能力为无限大(相对于需求量),允许期货销售,但延期数量需要在下一次生产时补足;
④销售费用与销售收入的比例系数,我们取0.1、0.3、0。5进行比较计算;
⑤固定成本每个月都存在,而且是个常数,对生产数量无影响,所以我们在计算过程中取0计算(即不考虑);
⑥产品每天的需求量为常数。
四、符号说明
生产周期,本题中指一个月
表示储存函数
表示第i个月的储存量
表示第i个月的需求量
表示第i个月的生产量
销售费用与销售收入的比例系数
总利润
销售收入
生产成本
固定成本
可变成本
销售费用
贮存费用
五、问题一的模型建立与求解
(1)贮存函数及每月平均贮存数量的确定
由于生产成本与销售费用都可简单的从生产与销售数量得出,所以考虑生产成本(固定成本和可变成本)、销售费用和贮存费用的最小化问题,关键在于求出贮存数量,从而确定贮存费用。
设为第k个月的贮存函数(),为第i个月的贮存量,为第i个月的需求量,为第i个月的生产量().
下面对6个月的贮存情况进行讨论:
①因为第一个月不论是否有生产,第一个月都不会有贮存量为0的情况,所以第一个月的贮存函数为:
(1)
贮存量为:
(2)
平均贮存量为:
(3)
②假设第二个月的贮存函数为:
(4)
令式(4)=0,得:
(5)
②-1。若,即时,表示第二个月不会有贮存量为0的情况,此时贮存函数为:
(6)
贮存量为:
(7)
平均贮存量为:
(8)
②-2.若,即时,表示在第二个月末,有一段时间的贮存量为0,则此时的贮存函数为分段函数:
(9)
此时的贮存量为:
(10)
平均贮存量为:
(11)
③—1、当时,第二个月月末没有欠货,假设第三个月的贮存函数为: (12)
同样令式(12)=0,则,
③-1—1、若,即时,表示第三个月末有一段时间贮存量为0,此时贮存函数为分段函数:
(13)
此时的贮存量为:
(14)
平均贮存量为:
(15)
③-1—2、若,即时,表示第三个月不会有贮存量为0的情况,此时贮存函数为:
(16)
此时的贮存量为:
(17)
平均贮存量为:
(18)
③—2、。当时,第二个月末有欠货台,则在第三个月补齐第一个月的欠货可减少贮存成本,也符合实际情况,此时假设第三个月的贮存函数为:
(19)
令式(19)=0,则
③-2-1、若,即时,表示第三个月末有一段时间贮存量为0,此时贮存函数为分段函数: (20)
此时的贮存量为:
(21)
平均贮存量为:
(22)
③-2-2、若,即时,表示第三个月不会有贮存量为0的情况,此时贮存函数为:
(23)
此时的贮存量为:
(24)
平均贮存量为:
(25)
类似可以得到第4、5、6月份的贮存函数、贮存量和月平均贮存量,各个月的具体情况见附录一。
(2)利润函数的确定
设I为销售收入,C为生产成本(,代表固定成本,代表可变成本),F为销售费用,S为贮存费用,则利润函数W可以表示为:
(26)
月份
1
2
3
4
5
6
销售量(台)
42
32
41
67
25
29
表1
月份
1
2
3
4
5
6
增长速度
10%
10%
20%
20%
30%
30%
表2
①根据表1和表2,因为六个月的销售数量与销售价格已知,去年12月份的价格48万元/台也已知,可求的销售收入为:
(27)
②固定成本,顾名思义无论当月生产与否都要进行扣除,于是我们在使用LINGO进行优化求解时,先不考虑这个未知量。可变成本则是随着当月的生产数量而变化,已知可变成本(万元)与制砖机生产台数的平方成正比,比例系数为0.5,因此生产成本为:
(28)
③依题意,销售费用与当月的销售金额成正比,我们不妨假设其比例系数为k,则F=kI,将式(28)带入,可得销售费用:
(29)
④因为该厂生产的制砖机平均每台每月的贮存费为0.1万元,贮存费用:
(30)
其中可由上述(1)中分析及附录一表格得到。
最终,我们得到利润函数(即目标函数)为:
(31)
约束条件为:
(32)
(33)
分别取k=0.1,0.3,0。5,=0(因为是固定成本都会扣除,这里就不考虑)运用LINGO进行求解后,可得如下结果:
1月
2月
3月
4月
5月
6月
生产数量
25
41
32
31
29
29
表3
计算结果显示:无论k取何值,对输出结果无影响,说明该模型适用于销售费用与销售收入比例不同的情况。(运行结果见附录3)
六、问题二的模型建立与求解
已知目标函数:
(34)
因为在问题一的基础上限制了该厂每个月的最大生产能力为33台,新的约束条件为:
(35)
(36)
将目标函数与约束条件输入LINGO进行求解,结果为:
1月
2月
3月
4月
5月
6月
生产数量
33
33
30
31
30
30
表4
计算结果同样显示:无论k取何值,对输出结果无影响,说明该模型适用于销售费用与销售收入比例不同的情况。(运行结果见附录3)
七、模型的评价与改进
1.模型的优点:运用存贮模型较为简单,归结为微积分中的积分思想;优化模型的运用避免了实际生活中的主观决策。
2.模型的缺点:对6个月分别进行积分计算贮存函数,计算过程有点复杂.
3.模型的改进:可以建立更为简便的程序来减少计算量。
参考文献
[1]姜启源,数学模型(第三版),高等教育出版社,2004年
[2]张莹,运筹学基础(第二版),清华大学出版社,2010年
[3]谢金星 薛毅,优化建模与LINGO/LINDO软件,清华大学出版社,2004年
[4]wenku。baidu。com产品生产计划安排模型
[5]www。madio。net生产与存储的动态规划模型
附录
附录一:贮存函数、贮存量和月平均贮存量表
1月
贮存函数
q(t)
贮存量
Qi
平均贮存量Qi/T
2月
贮存函数
q(t)
贮存量
Qi
平均贮存量Qi/T
3月
贮存函数
q(t)
贮存量
Qi
平均贮存量Qi/T
4月
贮存函数
q(t)
贮存量
Qi
平均贮存量Qi/T
5月
贮存函数
q(t)
贮存量
Qi
平均贮存量Qi/T
6月
贮存函数
q(t)
贮存量
Qi
平均贮存量Qi/T
附录2:第一问的程序
model:
max=11328*(1—k2)-6*k1-0.55*x1^2—0.55*x2^2—0。6*x3^2-0.6*x4^2—0。65*x5^2—0。65*x6^2
! 一月份的贮存费;
—0。1*28
! 二月份的贮存费;
—0.1*@if(x1#gt#25,x1—9,(7+x1)^2/64)
!三月份的贮存费;
—0。1*@if(x1#gt#25#and#x1+x2#gt#66,(x1+x2—45。5),
@if(x1#gt#25,(x1+x2—25)^2/82,
@if(x1#le#25#and#2*x1+x2#gt#91,2*x1+x2-70.5,(2*x1+x2-50)^2/82)))
!四月份的贮存费;
—0。1*@if(x1#le#25#and#2*x1+x2#gt#91#and# x1+x2+x3#gt#133, x1+x2+x3—99.5,
@if(x1#le#25#and#2*x1+x2#gt#91, (x1+x2+x3—66)^2/134,
@if(x1#le#25#and#3*x1+2*x2+x3#gt#224, (3*x1+x2+x3-190.5),
@if(x1#le#25 ,(3*x1+x2+x3-157)^2/134,
@if(x1#gt#25#and# x1+x2#gt#66#and# 2*x1+2*x2+x3#gt#133, x1+x2+x3—99。5,
@if(x1#gt#25#and# x1+x2#gt#66, (x1+x2+x3-66)^2/134,
@if(x1#gt#25#and#2*x1+2*x2+x3#gt#199,2*x1+2*x2+x3-165.5,(2*x1+2*x2+x3-132)^2/134)))))))
!五月份的贮存费;
—0。1*@if(x1#le#25#and#2*x1+x2#gt#91#and#x1+x2+x3#gt#133#and#x1+x2+x3+x4#gt#158,x1+x2+x3+x4—145.5,
@if(x1#le#25#and#2*x1+x2#gt#91#and#x1+x2+x3#gt#133, (x1+x2+x3+x4-133)^2/50,
@if(x1#le#25#and#2*x1+x2#gt#91#and#2*x1+2*x2+2*x3+x4#gt#291,2*x1+2*x2+2*x3+x4-291。5,
@if(x1#le#25#and#2*x1+x2#gt#91, (2*x1+2*x2+2*x3+x4-266)^2/50,
@if(x1#le#25#and#3*x1+2*x2+x3#gt#224#and#x1+x2+x3+x4#gt#158, x1+x2+x3+x4—145.5,
@if(x1#le#25#and#3*x1+2*x2+x3#gt#224, (x1+x2+x3+x4-133)^2/50,
@if(x1#le#25#and#4*x1+3*x2+2*x3+x4#gt#382, 4*x1+3*x2+2*x3+x4—369.5,
@if(x1#le#25, (4*x1+3*x2+2*x3+x4-357)^2/50,
@if(x1#gt#25#and#x1+x2#gt#66#and#2*x1+2*x2+x3#gt#133#and#x1+x2+x3+x4#gt#158,x1+x2+x3+x4-145。5,
@if(x1#gt#25#and#x1+x2#gt#66#and#2*x1+2*x2+x3#gt#133, (x1+x2+x3+x4-133)^2/50,
@if(x1#gt#25#and#x1+x2#gt#66#and#2*x1+2*x2+2*x3+x4#gt#291,2*x1+2*x2+2*x3+x4—291.5,
@if(x1#gt#25#and#x1+x2#gt#66,(2*x1+2*x2+2*x3+x4—266)^2/50,
@if(x1#gt#25#and#2*x1+2*x2+x3#gt#199#and#x1+x2+x3+x4#gt#158,x1+x2+x3+x4—145.5,
@if(x1#gt#25#and#2*x1+2*x2+x3#gt#199, (x1+x2+x3+x4-133)^2/50,
@if(x1#gt#25#and#3*x1+3*x2+2*x3+x4#gt#357,3*x1+3*x2+2*x3+x4-344.5,(3*x1+3*x2+2*x3+x4-332)^2/T)))))))))))))))
!六月份的贮存费;
-0。1*@if(x1#le#25#and#2*x1+x2#gt#91#and#x1+x2+x3#gt#133#and#x1+x2+x3+x4#gt#158#and#x1+x2+x3+x4+x5#gt#187, x1+x2+x3+x4+x5—172.5,
@if(x1#le#25#and#2*x1+x2#gt#91#and#x1+x2+x3#gt#133#and#x1+x2+x3+x4#gt#158,(x1+x2+x3+x4+x5—158)^2,
@if(x1#le#25#and#2*x1+x2#gt#91#and#x1+x2+x3#gt#133#and#2*x1+2*x2+2*x3+2*x4+x4#gt#345, 2*x1+2*x2+2*x3+2*x4+x4—330。5,
@if(x1#le#25#and#2*x1+x2#gt#91#and#x1+x2+x3#gt#133,(2*x1+2*x2+2*x3+2*x4+x4-316)^2/58,
@if(x1#le#25#and#2*x1+x2#gt#91#and#2*x1+2*x2+2*x3+x4#gt#291#and#x1+x2+x3+x4+x5#gt#187, x1+x2+x3+x4+x5-172.5,
@if(x1#le#25#and#2*x1+x2#gt#91#and#2*x1+2*x2+2*x3+x4#gt#291,(x1+x2+x3+x4+x5-158)^2,
@if(x1#le#25#and#2*x1+x2#gt#91#and#3*x1+3*x2+3*x3+2*x4+x5#gt#478,3*x1+3*x2+3*x3+2*x4+x5-463。5,
@if(x1#le#25#and#2*x1+x2#gt#91, (3*x1+3*x2+3*x3+2*x4+x5-449)^2/58,
@if(x1#le#25#and#3*x1+2*x2+x3#gt#224#and#x1+x2+x3+x4#gt#158#and#x1+x2+x3+x4+x5#gt#187, x1+x2+x3+x4+x5-172.5,
@if(x1#le#25#and#3*x1+2*x2+x3#gt#224#and#x1+x2+x3+x4#gt#158,(x1+x2+x3+x4+x5-158)^2,
@if(x1#le#25#and#3*x1+2*x2+x3#gt#224#and#2*x1+2*x2+2*x3+2*x4+x4#gt#345,2*x1+2*x2+2*x3+2*x4+x4—330。5,
@if(x1#le#25#and#3*x1+2*x2+x3#gt#224, (2*x1+2*x2+2*x3+2*x4+x4-316)^2/58,
@if(x1#le#25#and#4*x1+3*x2+2*x3+x4#gt#382#and#x1+x2+x3+x4+x5#gt#187,x1+x2+x3+x4+x5—172。5,
@if(x1#le#25#and#4*x1+3*x2+2*x3+x4#gt#382, (x1+x2+x3+x4+x5—158)^2,
@if(x1#le#25#and#5*x1+4*x2+3*x3+2*x4+x5#gt#569, 5*x1+4*x2+3*x3+2*x4+x5—554.5,
@if(x1#le#25, (5*x1+4*x2+3*x3+2*x4+x5—540)^2/58,
@if(x1#gt#25#and#x1+x2#gt#66#and#2*x1+2*x2+x3#gt#133#and#x1+x2+x3+x4#gt#158#and#x1+x2+x3+x4+x5#gt#187, x1+x2+x3+x4+x5—172。5,
@if(x1#gt#25#and#x1+x2#gt#66#and#2*x1+2*x2+x3#gt#133#and#x1+x2+x3+x4#gt#158,(x1+x2+x3+x4+x5—158)^2,
@if(x1#gt#25#and#x1+x2#gt#66#and#2*x1+2*x2+x3#gt#133#and#2*x1+2*x2+2*x3+2*x4+x4#gt#345,2*x1+2*x2+2*x3+2*x4+x4-330.5,
@if(x1#gt#25#and#x1+x2#gt#66#and#2*x1+2*x2+x3#gt#133,(2*x1+2*x2+2*x3+2*x4+x4—316)^2/58,
@if(x1#gt#25#and#x1+x2#gt#66#and#2*x1+2*x2+2*x3+x4#gt#291#and#x1+x2+x3+x4+x5#gt#187,x1+x2+x3+x4+x5—172.5,
@if(x1#gt#25#and#x1+x2#gt#66#and#2*x1+2*x2+2*x3+x4#gt#291,(x1+x2+x3+x4+x5-158)^2,
@if(x1#gt#25#and#x1+x2#gt#66#and#3*x1+3*x2+3*x3+2*x4+x5#gt#478,3*x1+3*x2+3*x3+2*x4+x5-463。5,
@if(x1#gt#25#and#x1+x2#gt#66, (3*x1+3*x2+3*x3+2*x4+x5—449)^2/58,
@if(x1#gt#25#and#x1+x2#gt#66#and#2*x1+2*x2+x3#gt#199#and#x1+x2+x3+x4#gt#158#and#x1+x2+x3+x4+x5#gt#187, x1+x2+x3+x4+x5-172.5,
@if(x1#gt#25#and#x1+x2#gt#66#and#2*x1+2*x2+x3#gt#199#and#x1+x2+x3+x4#gt#158,(x1+x2+x3+x4+x5—158)^2,
@if(x1#gt#25#and#x1+x2#gt#66#and#2*x1+2*x2+x3#gt#199#and#2*x1+2*x2+2*x3+2*x4+x4#gt#345,2*x1+2*x2+2*x3+2*x4+x4—330。5,
@if(x1#gt#25#and#x1+x2#gt#66#and#2*x1+2*x2+x3#gt#199,(2*x1+2*x2+2*x3+2*x4+x4—316)^2/58,
@if(x1#gt#25#and#x1+x2#gt#66#and#3*x1+3*x2+2*x3+x4#gt#357#and#x1+x2+x3+x4+x5#gt#187,x1+x2+x3+x4+x5-172。5,
@if(x1#gt#25#and#x1+x2#gt#66#and#3*x1+3*x2+2*x3+x4#gt#357,(x1+x2+x3+x4+x5-158)^2,
@if(x1#gt#25#and#x1+x2#gt#66#and#4*x1+4*x2+3*x3+2*x4+x5#gt#544,4*x1+4*x2+3*x3+2*x4+x5-529。5, (4*x1+4*x2+3*x3+2*x4+x5-515)^2/58)))))))))))))))))))))))))))))));
x1+x2+x3+x4+x5+x6=187;
x1>0;
x2>0;
x3>0;
x4〉0;
x5〉0;
x6>0;
@gin(x1);
@gin(x2);
@gin(x3);
@gin(x4);
@gin(x5);
@gin(x6);
k2=0.1;
end
第二问在第一问的基础上,新增约束条件:
x1〈=33;
x2〈=33;
x3<=33;
x4〈=33;
x5〈=33;
x6<=33;
附录3:第一问中不同k值时的运行结果
K=0。1 时:
Linearization components added:
Constraints: 355
Variables: 228
Integers: 166
Local optimal solution found。
Objective value: 6706.750
Objective bound: 6706.750
Infeasibilities: 0。7607780E-16
Extended solver steps: 4186
Total solver iterations: 204301
Variable Value
K2 0。1000000
K1 0。000000
X1 25.00000
X2 41。00000
X3 32.00000
X4 31.00000
X5 29.00000
X6 29.00000
Row Slack or Surplus
1 6706.750
2 0。000000
3 33.00000
4 34。00000
5 31。00000
6 31.00000
7 29。00000
8 29。00000
9 0。000000
K=0.3时:
Linearization components added:
Constraints: 355
Variables: 228
Integers: 166
Local optimal solution found.
Objective value: 4441。150
Objective bound: 4441。150
Infeasibilities: 0.1421085E-13
Extended solver steps: 2860
Total solver iterations: 154676
Variable Value
K2 0.3000000
K1 0.000000
X1 25.00000
X2 41。00000
X3 32.00000
X4 31.00000
X5 29.00000
X6 29.00000
Row Slack or Surplus
1 4441。150
2 0。000000
3 33。00000
4
展开阅读全文