机械产品生产计划问题探讨

机械产品生产计划问题探讨
机械产品生产计划问题探讨

机械产品生产计划问题

摘要:该问题属于线性单目标整数规划问题,本文从问题的提出到问题假设与分析,然后得到模型,最后用lingo求解,得出最优的生产、库存、销售方案,然后又进行了灵敏度分析,找到在不改变原计划的情况下,如何提高利润的办法。本文还从设备的角度分析了提高了利润的办法,并对设备检修计划建立了模型,并用lingo求解,解出了最优的设备检修计划,在该方案下得到的最大利润。

关键字:单目标整数规划最优生产方案设备检修计划

一、问题的提出

机械加工厂生产7种产品。该厂有以下设备: 四台磨床、两台立式钻床、三台水平钻床、一台镗床和一台刨床。每种产品的利润( 单位:元/件, 在这里, 利润定义为销售价格与原料成本之差)以及生产单位产品需要的各种设备的工时(小时/件)如表1所示,其中短划线表示这种产品不需要相应的设备加工。

表1 产品的利润和需要的设备工时

从一月份至月份, 每个月中需要检修设备见表2所示(在检修月份,被检修设备全月不能用于生产)。每个月各种产品的市场销售量上限如表3所示。每种产品的最大库存量为100件,库存费用为每件每月0.5元,在一月初,所有产品都没有库存;而要求在六月底,每种产品都至少要有50件库存。工厂每天开两班, 每班8小时,为简单计, 假定每月都工作24天。

表2 设备检修计划

表3 产品的市场销售量上限(件/月)

生产过程中,各种工序没有先后次序的要求。

(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

我们先把上述表4和表1等数据化为数学符号:

X11 X12 X13 X14 X15 X16

0.50 0.70 0.00 0.00 0.30 0.20 0.50 X21 X22 X23 X24 X25 X26

0.10 2.00 0.00 0.30 0.00 0.60 0.00 X31 X32 X33 X34 X35 X36

0.20 6.00 0.80 0.00 0.00 0.00 0.60 ×X41 X42 X43 X44 X45 X46

0.05 0.03 0.00 0.07 0.10 0.00 0.08 X51 X52 X53 X54 X55 X56

0.00 0.00 0.01 0.00 0.05 0.00 0.05 X61 X62 X63 X64 X65 X66

X71

X72 X73 X74 X75 X76

=(aij)5×6假设该矩阵为A,aij为第i种设备在第i个月被使用的时间。

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×1384×1 384×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 600 300 200 0 500

1000 500 600 300 100 500

300 200 0 400

500 100 =(Cij)7×6,假设设该矩阵为C,Cij为

300 0 0 500 100 300

800 400 500 200 1000 1100

200 300 400 0 300 500

100 150 100 100 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、制定六个月的生产、库存、销售计划,使六个月的总利润最大

通过问题的分析,我们可能得到模型如下:

Max z=(∑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.50 X11+0.70 X21+0.00 X31+0.00 X41+0.30 X51+0.20 X61+0.50 X71<= 384×3

0.10 X11+2.00 X21+0.00 X31+0.30 X41+0.00 X51+0.60 X61+0.00 X71<= 384×2

0.20 X11+6.00X21+0.80X31+ 0.00X41+ 0.00X51+ 0.00X61+ 0.60 X71<=384×3

0.05 X11+ 0.03 X21+ 0.00 X31+ 0.07 X41+ 0.10 X51+ 0.00 X61+ 0.08

X71<=384×1

0.00 X11+ 0.00 X21+ 0.01 X31+ 0.00 X41+ 0.05 X51+0.00 X61+ 0.05

X71<=384×1

0.50 X12+0.70 X22+0.00 X32+0.00 X42+0.30 X52+0.20 X62+0.50 X72<= 384×4

0.10 X12+2.00 X22+0.00 X32+0.30 X42+0.00 X52+0.60 X62+0.00 X72<= 384×0

0.20 X12+6.00X22+0.80X32+ 0.00X42+ 0.00X52+ 0.00X62+ 0.60 X72<=384×3

0.05 X12+ 0.03 X22+ 0.00 X32+ 0.07 X42+ 0.10 X52+ 0.00 X62+ 0.08

X72<=384×1

0.00 X12+ 0.00 X22+ 0.01 X32+ 0.00 X42+ 0.05 X52+0.00 X62+ 0.05

X72<=384×1

0.50 X13+0.70 X23+0.00 X33+0.00 X43+0.30 X53+0.30 X63+0.50 X73<= 384×4

0.10 X13+3.00 X23+0.00 X33+0.30 X43+0.00 X53+0.60 X63+0.00 X73<= 384×2

0.30 X13+6.00X23+0.80X33+ 0.00X43+ 0.00X53+ 0.00X63+ 0.60 X73<=384×3

0.05 X13+ 0.03 X23+ 0.00 X33+ 0.07 X43+ 0.10 X53+ 0.00 X63+ 0.08

X73<=384×0

0.00 X13+ 0.00 X23+ 0.01 X33+ 0.00 X43+ 0.05 X53+0.00 X63+ 0.05

X73<=384×1

0.50 X14+0.70 X24+0.00 X34+0.00 X44+0.40 X54+0.40 X64+0.50 X74<= 384×4

0.10 X14+4.00 X24+0.00 X34+0.40 X44+0.00 X54+0.60 X64+0.00 X74<= 384×1

0.40 X14+6.00X24+0.80X34+ 0.00X44+ 0.00X54+ 0.00X64+ 0.60 X74<=384×3

0.05 X14+ 0.04 X24+ 0.00 X34+ 0.07 X44+ 0.10 X54+ 0.00 X64+ 0.08

X74<=384×1

0.00 X14+ 0.00 X24+ 0.01 X34+ 0.00 X44+ 0.05 X54+0.00 X64+ 0.05

X74<=384×1

0.50 X15+0.70 X25+0.00 X35+0.00 X45+0.50 X55+0.50 X65+0.50 X75<= 384×3

0.10 X15+5.00 X25+0.00 X35+0.50 X45+0.00 X55+0.60 X65+0.00 X75<= 384×1

0.50 X15+6.00X25+0.80X35+ 0.00X45+ 0.00X55+ 0.00X65+ 0.60 X75<=384×3

0.05 X15+ 0.05 X25+ 0.00 X35+ 0.07 X45+ 0.10 X55+ 0.00 X65+ 0.08

X75<=384×1

0.00 X15+ 0.00 X25+ 0.01 X35+ 0.00 X45+ 0.05 X55+0.00 X65+ 0.05

X75<=384×1

0.60 X16+0.70 X26+0.00 X36+0.00 X46+0.60 X56+0.60 X66+0.60 X76<= 384×4

0.10 X16+6.00 X26+0.00 X36+0.60 X46+0.00 X56+0.60 X66+0.00 X76<= 384×2

0.60 X16+6.00X26+0.80X36+ 0.00X46+ 0.00X56+ 0.00X66+ 0.60 X76<=384×2

0.06 X16+ 0.06 X26+ 0.00 X36+ 0.07 X46+ 0.10 X56+ 0.00 X66+ 0.08

X76<=384×1

0.00 X16+ 0.00 X26+ 0.01 X36+ 0.00 X46+ 0.06 X56+0.00 X66+ 0.06

X76<=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

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

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)));

相关主题
相关文档
最新文档