机械产品生产计划.docx
- 文档编号:26513926
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:29
- 大小:25.27KB
机械产品生产计划.docx
《机械产品生产计划.docx》由会员分享,可在线阅读,更多相关《机械产品生产计划.docx(29页珍藏版)》请在冰豆网上搜索。
机械产品生产计划
机械产品生产方案问题
摘要:
该问题属于线性单目标整数规划问题,本文从问题的提出到问题假设与分析,然后得到模型,最后用lingo求解,得出最优的生产、库存、销售方案,然后又进行了灵敏度分析,找到在不改变原方案的情况下,如何提高利润的方法。
本文还从设备的角度分析了提高了利润的方法,并对设备检修方案建立了模型,并用lingo求解,解出了最优的设备检修方案,在该方案下得到的最大利润。
关键字:
单目标整数规划 最优生产方案设备检修方案
一、 问题的提出
机械加工厂生产7种产品。
该厂有以下设备:
四台磨床、两台立式钻床、三台水平钻床、一台镗床和一台刨床。
每种产品的利润(单位:
元/件,在这里,利润定义为销售价格与原料本钱之差)以及生产单位产品需要的各种设备的工时(小时/件)如表1所示,其中短划线表示这种产品不需要相应的设备加工。
表1 产品的利润和需要的设备工时
产品
1
2
3
4
5
6
7
单位产品利润
磨床
--
--
立钻
--
--
--
水平钻
--
--
--
镗床
--
--
刨床
--
--
--
--
从一月份至月份,每个月中需要检修设备见表2所示(在检修月份,被检修设备全月不能用于生产)。
每个月各种产品的市场销售量上限如表3所示。
每种产品的最大库存量为100件,库存费用为每件每月0.5元,在一月初,所有产品都没有库存;而要求在六月底,每种产品都至少要有50件库存。
工厂每天开两班,每班8小时,为简单计,假定每月都工作24天。
表2 设备检修方案
月份
方案检修设备及台数
月份
方案检修设备及台数
一月
一台磨床
四月
一台立式钻床
二月
二台立式钻床
五月
一台磨床和一台立式钻床
三月
一台镗床
六月
一台刨床和一台水平钻床
表3 产品的市场销售量上限(件/月)
产品
1
2
3
4
5
6
7
一月
500
1000
300
300
800
200
100
二月
600
500
200
0
400
300
150
三月
300
600
0
0
500
400
100
四月
200
300
400
500
200
0
100
五月
0
100
500
100
1000
300
0
六月
500
500
100
300
1100
500
60
生产过程中,各种工序没有先后次序的要求。
(1)制定六个月的生产、库存、销售方案,使六个月的总利润最大。
(2)在不改变以上方案的前提下,哪几个月中哪些产品的售价可以提高以
到达增加利润的目的。
价格提高的幅度是多大?
(3)哪些设备的能力应该增加?
请列出购置新设备的优先顺序。
(4)是否可以通过调整现有的设备检修方案来提高利润?
提出一个新的设
备检修方案,使原来方案检修的设备在这半年中都得到检修而使利润尽可能的增加。
(5)构造一个最优设备检修方案模型,使在这半年中各设备的检修台数满足案例中的要求且使利润为最大。
二、问题的假设和符号的说明
1、问题的假设
〔1〕本钱不会随着检修方案的改变而改变。
〔2〕产品的生产不会随检修方案的改变而受影响。
(3)产品的生产和库存还有销售必须是整数
2、符号的说明
〔1〕假设Xij为第i种产品在第j个月的产量,i=1,2…7,j=1,2…6。
〔2〕假设Yij为第i种产品在第j个月的库存量,i=1,2…7,j=1,2…6。
〔3〕假设Sij为第i种产品在第j个月的库销售量,i=1,2…7,j=1,2…6。
三、问题的分析
工厂每天开两班,每班8小时,为简单计,假定每月都工作24天。
那么一个月的总工作时间为24×8×2=384小时。
由设备检修方案表,我们可得设备每个月可以供工作的时间〔单位:
小时〕为:
表4
月份
1
2
3
4
5
6
磨床
384×3
384×4
384×4
384×4
384×3
384×4
立钻
384×2
384×0
384×2
384×1
384×1
384×2
水平钻
384×3
384×3
384×3
384×3
384×3
384×2
镗床
384×1
384×1
384×0
384×1
384×1
384×1
刨床
384×1
384×1
384×1
384×1
384×1
384×0
我们先把上述表4和表1等数据化为数学符号:
X11X12X13X14X15X16
0.500.700.000.000.300.200.50 X21X22X23X24X25X26
0.102.000.000.300.000.600.00 X31X32X33X34X35X36
0.206.000.800.000.000.000.60 × X41X42X43X44X45X46
0.050.030.000.070.100.000.08 X51X52X53X54X55X56
0.000.000.010.000.050.000.05 X61X62X63X64X65X66
X71X72X73X74X75X76
=(aij)5×6假设该矩阵为A,aij为第i种设备在第i个月被使用的时间。
384×3384×4384×4384×4384×3384×4
384×2384×0384×2384×1384×1384×2
384×3384×3384×3384×3384×3384×2
384×1384×1384×0384×1384×1384×1
384×1384×1384×1384×1384×1384×0
=(bij)5×6假设该矩阵为B,bij为第i种设备在第i个月可以供使用的时间。
那么得到30个约束条件为:
aij<=bij(i=1,2…5,j=1,2…6)。
⑴
每种产品的最大库存量为100件,那么得42个约束条件为:
Yij<=100〔i=1,2…7,j=1,2…6〕。
⑵
由生产量和库存量,可以得到每种产品每个月的销售量〔单位:
件〕为:
Si1=Xi1-Yi1;
Sij=Xij+Yi,j-1-Yij;
i=1,2…7,j=2,3…6
将上述表3的相关销售量上限数据化为数学符号得:
500 6003002000 500
1000 500600300100 500
300 2000 400500 100 =(Cij)7×6,假设设该矩阵为C,Cij为
300 0 0 500100 300
800 40050020010001100
200 300400 0 300 500
100 150100100 0 60
第i种产品在第j个月的销售上限,其中i=1,2…7,j=1,2…6。
那么得到42个约束条件:
Sij<=Cij〔i=1,2…7,j=1,2…6〕。
⑶
要求在六月底,每种产品都至少要有50件库存,那么得7个约束条件为:
Yi7>=50(i=1,2…7)。
⑷
我们把单位产品的利润化为数学符号得I=〔10,6,3,4,1,9,3〕。
X=〔∑x1j,∑x2j,∑x3j,∑x4j,∑x5j,∑x6j,∑x7j〕〔i=1,2…6〕;
那么Xij=∑xij是指第i种产品六个月的总生产量。
S=〔∑s1j,∑s2j,∑s3j,∑s4j,∑s5j,∑s6j,∑s7j〕
=(∑X1j-Y16,∑X2j-Y26,∑X3j-Y36,∑X4j-Y46,∑X5j-Y56,∑X6j-Y66,
∑X7j-Y76)〔j=1,2…6〕;
那么Si=∑sij是指第i种产品六个月的总销售量。
其中Si=∑Xij-Yi6是因为产品的总销售量等于总的生产量减去最后的库存量。
T=〔∑Yi1,∑Yi2,∑Yi3,∑Yi4,∑Yi5,∑Yi6〕(i=1,2…7);
那么Tj=∑Yij是指第j个月这七种产品的总库存量。
通过以上的分析,我们最终可得出利润为:
Z=S·I-0.5×∑∑Yij。
四、模型的建立和问题的求解
1、制定六个月的生产、库存、销售方案,使六个月的总利润最大
通过问题的分析,我们可能得到模型如下:
Maxz=(∑X1j-Y16)×10+〔∑X2j-Y26〕×6+〔∑X3j-Y36〕×3+〔∑X4j-Y46〕×4+〔∑X5j-Y56〕×1+〔∑X6j-Y66〕×9+〔∑X7j-Y76)×3-0.5×∑∑Yij;〔i=1,2…7,j=1,2…6〕
S.t.
0.50X11+0.70X21+0.00X31+0.00X41+0.30X51+0.20X61+0.50X71<=384×3
0.10X11+2.00X21+0.00X31+0.30X41+0.00X51+0.60 X61+0.00X71<=384×2
41+0.00X51+0.00X61+0.60X71<=384×3
0.05X11+0.03X21+0.00X31+0.07X41+0.10X51+0.00X61+0.08X71<=384×1
0.00X11+ 0.00X21+0.01X31+0.00X41+0.05X51+0.00X61+0.05X71<=384×1
0.50X12+0.70X22+0.00X32+0.00X42+0.30X52+0.20X62+0.50X72<=384×4
0.10X12+2.00X22+0.00X32+0.30X42+0.00X52+0.60 X62+0.00X72<=384×0
0.20X12+6.00X22+0.80X32+0.00X42+0.00X52+0.00X62+0.60X72<=384×3
0.05X12+0.03X22+0.00X32+0.07X42+0.10X52+0.00X62+0.08X72<=384×1
0.00X12+ 0.00X22+0.01X32+0.00X42+0.05X52+0.00X62+0.05X72<=384×1
0.50X13+0.70X23+0.00X33+0.00X43+0.30X53+0.30X63+0.50X73<=384×4
0.10X13+3.00X23+0.00X33+0.30X43+0.00X53+0.60 X63+0.00X73<=384×2
0.30X13+6.00X23+0.80X33+0.00X43+0.00X53+0.00X63+0.60X73<=384×3
0.05X13+0.03X23+0.00X33+0.07X43+0.10X53+0.00X63+0.08X73<=384×0
0.00X13+ 0.00X23+0.01X33+0.00X43+0.05X53+0.00X63+0.05X73<=384×1
0.50X14+0.70X24+0.00X34+0.00X44+0.40X54+0.40X64+0.50X74<=384×4
0.10X14+4.00X24+0.00X34+0.40X44+0.00X54+0.60 X64+0.00X74<=384×1
0.40X14+6.00X24+0.80X34+0.00X44+0.00X54+0.00X64+0.60X74<=384×3
0.05X14+0.04X24+0.00X34+0.07X44+0.10X54+0.00X64+0.08X74<=384×1
0.00X14+ 0.00X24+0.01X34+0.00X44+0.05X54+0.00X64+0.05X74<=384×1
0.50X15+0.70X25+0.00X35+0.00X45+0.50X55+0.50X65+0.50X75<=384×3
0.10X15+5.00X25+0.00X35+0.50X45+0.00X55+0.60 X65+0.00X75<=384×1
0.50X15+6.00X25+0.80X35+0.00X45+0.00X55+0.00X65+0.60X75<=384×3
0.05X15+0.05X25+0.00X35+0.07X45+0.10X55+0.00X65+0.08X75<=384×1
0.00X15+ 0.00X25+0.01X35+0.00X45+0.05X55+0.00X65+0.05X75<=384×1
0.60X16+0.70X26+0.00X36+0.00X46+0.60X56+0.60X66+0.60X76<=384×4
0.10X16+6.00X26+0.00X36+0.60X46+0.00X56+0.60 X66+0.00X76<=384×2
0.60X16+6.00X26+0.80X36+0.00X46+0.00X56+0.00X66+0.60X76<=384×2
0.06X16+0.06X26+0.00X36+0.07X46+0.10X56+0.00X66+0.08X76<=384×1
0.00X16+ 0.00X26+0.01X36+0.00X46+0.06X56+0.00X66+0.06X76<=384×0
Yij<=100,i=1,2…7,j=1,2…6
X11-Y11<=500
X21-Y21<=1000
X31-Y31<=300
X41-Y41<=300
X51-Y51<=800
X51-Y61<=200
X71-Y71<=100
X12+Y11-Y12<=600
X22+Y21-Y22<=500
X32+Y31-Y32<=200
X42+Y41-Y42<=0
X52+Y51-Y52<=400
X62+Y61-Y62<=300
X72+Y71-Y72<=150
X13+Y12-Y13<=300
X23+Y22-Y23<=600
X33+Y32-Y33<=0
X43+Y42-Y43<=0
X53+Y52-Y53<=500
X63+Y62-Y63<=400
X73+Y72-Y73<=100
X14+Y13-Y14<=200
X24+Y23-Y24<=300
X34+Y33-Y34<=400
X44+Y43-Y44<=500
X54+Y53-Y54<=200
X64+Y63-Y64<=0
X74+Y73-Y74<=100
X15+Y14-Y15<=0
X25+Y24-Y25<=100
X35+Y34-Y35<=500
X45+Y44-Y45<=100
X55+Y54-Y55<=1000
X65+Y64-Y65<=300
X75+Y74-Y75<=0
X16+Y15-Y16<=0
X26+Y25-Y26<=100
X36+Y35-Y36<=500
X46+Y45-Y46<=100
X56+Y55-Y56<=1000
X66+Y65-Y66<=300
X76+Y75-Y76<=0
Yi6>=50,i=1,2…7
Xij,Yij>=0且都为整数,i=1,2…7,j=1,2…6
根据模型,下面用lingo求解,程序如下:
model:
!
机械产品生产方案问题;
sets:
machine/ma1..ma5/:
need;
goods/g1..g7/:
interest;
month/1..6/;
links1(machine,goods):
A;
links2(goods,month):
X,C,Y;
alltimes(machine,month):
B;
endsets
!
目标函数;
max=@sum(goods(I):
(@sum(month(J):
X(I,J))-Y(I,6))*interest(I))-0.5*@sum(links2(I,J):
Y(I,J));
!
整数约束;
@for(links2(I,J):
@gin(X(I,J)));
@for(links2(I,J):
@gin(Y(I,J)));
!
设备使用时间约束;
@for(alltimes(I,K):
@sum(goods(J):
A(I,J)*X(J,K))<=B(I,K));
!
库存量约束;
@for(links2(I,J):
Y(I,J)<=100);
@for(goods(I):
Y(I,6)>=50);
!
销售量约束;
@for(goods(I):
X(I,1)-Y(I,1)<=C(I,1));
@for(links2(I,J)|J#NE#1:
X(I,J)+Y(I,J-1)-Y(I,J)<=C(I,J));
!
这里是数据;
data:
interest=10634193;
B=115215361536153611521536
768 0 768 384 384 768
1152 1152 1152 1152 1152 768
384 384 0 384 384 384
384 384 384 384 384 0;
C=5006003002000 500
1000500600300100500
300 2000 400500100
300 0 0 500100300
800 40050020010001100
200 300400 0 300 500
100 150100100 0 60;
0.050.030.000.070.10
0.000.000.010.000.050.000.05;
enddata
end
求解得到结果:
目标函数值〔即六个月最大利润:
单位为:
元〕为41464.00,并可以制定六个月的生产、库存、销售方案〔单位为:
件〕为:
产品
月份
1月
2月
3月
4月
5月
6月
1
生产量
600
0
0
200
0
550
库存量
100
0
0
0
0
50
销售量
500
100
0
200
0
500
2
生产量
122
0
0
107
102
109
库存量
0
0
0
0
2
50
销售量
122
0
0
107
100
61
3
生产量
300
200
0
400
600
0
库存量
0
0
0
0
100
50
销售量
300
200
0
400
500
50
4
生产量
300
0
0
500
100
350
库存量
0
0
0
0
0
50
销售量
300
0
0
500
100
300
5
生产量
800
500
0
200
1100
0
库存量
0
100
0
0
100
50
销售量
800
400
100
200
1000
50
6
生产量
300
0
450
0
250
550
库存量
100
0
50
50
0
50
销售量
200
100
400
0
300
500
7
生产量
100
250
0
100
100
0
库存量
0
100
0
0
100
50
销售量
100
150
100
100
0
50
其中这张表中的生产量直接由lingo算出的X可得,库存量直接由lingo算出的Y可得,而由问题分析中给出的销售量公式:
Si1=Xi1-Yi1;
Sij=Xij+Yi,j-1-Yij; 可以算出。
i=1,2…7,j=2,3…6
2、在不改变以上方案的前提下,哪几个月中哪些产品的售价可以提高以
到达增加利润的目的。
价格提高的幅度是多大?
因为以上的方案是整数规划下制定的,而在lingo中我们无法用lingo做
灵敏度分析,所以我从另一个角度,即转换到另一个模型来分析这个问题。
如果这
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机械 产品 生产 计划