层次分析已知某工厂要生产7种产品以IIIIIIIVVVIVII.docx

上传人:b****5 文档编号:12214155 上传时间:2023-04-17 格式:DOCX 页数:24 大小:171KB
下载 相关 举报
层次分析已知某工厂要生产7种产品以IIIIIIIVVVIVII.docx_第1页
第1页 / 共24页
层次分析已知某工厂要生产7种产品以IIIIIIIVVVIVII.docx_第2页
第2页 / 共24页
层次分析已知某工厂要生产7种产品以IIIIIIIVVVIVII.docx_第3页
第3页 / 共24页
层次分析已知某工厂要生产7种产品以IIIIIIIVVVIVII.docx_第4页
第4页 / 共24页
层次分析已知某工厂要生产7种产品以IIIIIIIVVVIVII.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

层次分析已知某工厂要生产7种产品以IIIIIIIVVVIVII.docx

《层次分析已知某工厂要生产7种产品以IIIIIIIVVVIVII.docx》由会员分享,可在线阅读,更多相关《层次分析已知某工厂要生产7种产品以IIIIIIIVVVIVII.docx(24页珍藏版)》请在冰豆网上搜索。

层次分析已知某工厂要生产7种产品以IIIIIIIVVVIVII.docx

层次分析已知某工厂要生产7种产品以IIIIIIIVVVIVII

第一部分问题重述与分析

1.1问题重述

已知某工厂要生产7种产品,以I,II,III,IV,V,VI,VII来表示,但每种产品的单件利润随市场信息有明显波动,现只能给出大约利润,依次为:

100,60,80,40,110,90,30,同时该厂有4台磨床、2台立钻、3台水平钻、1台镗床和1台刨床可以用来生产上述产品。

已知生产单位各种产品所需的有关设备台时如表1。

单位所需

台时

设备

I

II

III

IV

V

VI

VII

磨床

0.5

0.7

0.3

0.2

0.5

立钻

0.1

0.2

0.3

0.6

水平钻

0.2

0.8

0.6

镗床

0.05

0.03

0.07

0.1

0.08

刨床

0.01

0.05

0.05

从1月到6月,维修计划如下:

1月—1台磨床,2月—2台水平钻,3月—1台镗床,4月—1台立钻,5月—1台磨床和1台立钻,6月—1台刨床和1台水平钻,被维修的设备当月不能安排生产。

又知从1—6月市场对上述7中产品最大需求量如表2所示。

I

II

III

IV

V

VI

VII

1月

500

1000

300

300

800

200

100

2月

600

500

200

0

400

300

150

3月

300

600

0

0

500

400

100

4月

200

300

400

500

200

0

100

5月

0

100

500

100

1000

300

0

6月

500

500

100

300

1100

500

60

每种产品当月销售不了的每件每月存储费为5元,但规定任何时候每种产品的存储量均不能超过100件。

1月初无库存,要求6月末各种产品各储存50件。

若该工厂每月工作24天,每天两班,每班8小时,要求

(1)该厂如何安排生产,使总利润最大;

(2)若对设备维修只规定每台设备在1—6月份内均需安排1个月用于维修(其中4台磨床只需安排2台在上半年维修),时间可灵活安排。

重新为该厂确定一个最优的设备维修计划。

1.2问题分析

A.对于问题

(1),我们所要解决的是在生产设备有限并得知产品最大需求量的情况下,牟求最大的利润。

通过分析问题

(1),我们从以下两条思路着手,即每件产品需多少台不同设备台时,然后建立线性规划模型,其目标函数是根据总利润=各产品的销售数量×各产品的单件利润—库存费用,最后,通过仔细分析题中所含条件,再一一列举出约束条件,据此我们制定出了最优生产方案。

此问题得到解决的关键如下:

1.目标函数的确立:

由总利润=各产品的销售数量×各产品的单件利润—库存费用,得到目标函数;

2.找出约束条件:

此线性规划模型,是在考虑到每种产品都需要多种设备加工的基础上,另外由于生产设备有限,所以各生产产品的生产量受设备的可用台时的限制,同时还已知了各产品的最大需求量,据此可得出台时约束方程与需求约束方程;另外,题中还规定了任何时候每种产品的存储量不超过100件,一月初无库存,6月末各产品各存储50件,由此可得出3个约束方程;最后,根据各月各产品生产数量—各月各产品库存量=各月各产品最大需求量,可得另一约束方程;在模型

(2)中,是在考虑每种产品都需要各种设备加工的基础上建立起来的,约束条件为库存量的限制,生产量、销售量及库存量之间的关系,工作时间的限制,同样也是线性规划模型。

3.模型求解:

编写程序,尽量简洁有效,用Lingo软件进行求解;

4.结果分析:

讨论分析模型的优缺点,找出模型可改进的方向。

B.对于问题

(2),要求重新为该厂确定一个最优的设备维修计划,规定每台设备在1—6月份内均需安排1个月用于维修(其中4台磨床只需安排2台在上半年维修),这是一个最优排序问题,现在我们考虑的问题化为如何维修9台设备,确定出最优维修次序,使得在六个月里得到的总利润最大,这一问题的解决只需在问题

(1)的解决方案上稍加分析,创新,便可得到。

第二部分模型假设及符号说明

2.1模型假设

1.假设题目所给的数据真实可靠;

2.为了研究方便,忽略设备维修成本所造成的损失;

3.假设当月运行的设备不发生故障,不存在人为破坏因素使之不能正常运行;

4.假设每台设备维修的时间不超过一个月,一个月之后,立即投入生产运行;

2.2定义与符号说明

题中给出的五种设备,分别为磨床、立钻、水平钻、镗床和刨床,对应符号为i,根据排列顺序,分别取i=1,2,3,4,5;月份对应符号为t,分别取t=1,2,3,4,5,6;同时,该工厂生产的产品种类符号为j,依次取j=1,2,3,4,5,6,7。

具体符号定义如下:

:

总利润

第t个月对第j种产品的最大需求量;

第j种产品的单件利润;

第i种设备生产单件第j种产品消耗的时间;

第t月份第i种工作设备台数(下文中称为工作矩阵);

第t个月生产第j种产品的数量;

第t个月第j种产品的库存量;

第t个月售出第j种产品的数量;

第j种产品的单件库存费用;

第t个月机器的维修;

第三部分模型的建立与求解

3.1针对问题

(1):

3.1.1模型的建立

1)目标函数

此目标函数的确立采用了先确定影响变量,再确定影响变量和总利润之间的关系的思路,让问题的模型具有条理性和简洁性。

根据总利润=生产各产品的数量×各产品的单件利润—库存费用就可写出该函数方程。

2)约束条件

i.由于该工厂每月只工作24天,每天两班,每班8小时,同时,每月工作设备工作的台时不同,则该工厂第t个月第i种设备生产各产品所需时间等于

小时,约束条件如下:

………………

(1)

ii.由于已知该工厂生产的各种产品的最大需求量,因此,各产品的销售量需不超过各产品的最大需求量:

……………………

(2)

iii.由于题中规定,任何时候每种产品的存储量均不能超过100件,1月无库存,6月末各种产品各存储50件,所得公式如下:

(j=1,2,3,4,5)………………………(3)

………………………(4)

iv.另外,根据生产量,销售量及货存量之间的关系,可得数学表达式如下:

当t=1时

(j=1,2,3,…,7)………………………(5)

…………………………(6)

 

3.1.2模型的求解

由题中从1月到6月的维修计划可知工作矩阵:

由表一数据可知第i种设备生产单件第j种产品消耗的台时矩阵:

由表二可知,第t个月对第j种产品的最大需求量矩阵

由七种产品的单件利润可得到:

 

根据已得出的目标函数,以及各约束条件,用lingo软件求解该线性规划模型,具体公式如下:

用lingo软件编程,程序见附表一,求得最大利润为937115元,其各产品的生产计划表,库存量表,销售量表如下:

表3:

六个月的各产品生产计划

1

500

888

383

300

800

200

0

2

700

600

117

0

500

300

250

3

0

0

0

0

0

400

0

4

200

300

400

500

200

0

100

5

0

100

600

100

1100

300

100

6

550

550

0

350

0

550

0

(例如表中第一个数500表示:

安排第一个月生产第一种产品500件)

表4:

六个月的各产品库存量

1

0

0

83

0

0

0

0

2

100

100

0

0

100

0

100

3

0

0

0

0

0

0

0

4

0

0

0

0

0

0

0

5

0

0

100

0

100

0

100

6

50

50

50

50

50

50

50

表5:

六个月的各产品销售量

1

500

1000

300

300

800

200

100

2

600

500

200

0

400

300

150

3

100

100

0

0

100

400

100

4

200

300

400

500

200

0

100

5

0

100

500

100

1000

300

0

6

500

500

50

300

50

500

50

 

3.2针对问题

(2):

1)方法一:

由分析可知,问题

(2)只是将问题

(1)中的维修矩阵由已知变成未知,不过有一点没变的是维修台数不变,要求我们安排最优的维修计划,这里我们先不考虑维修,将设备看成都能在每个月进行生产,得到未维修矩阵记作

,则

=

由于维修各种设备的台数不变,我们不妨将问题

(1)中的维修矩阵拿下来进行比较观察,

我们不难发现维修矩阵的每一列之和等于未维修矩阵每一列之和减去此列所代表的设备需要维修的设备台数。

下面根据这个条件对在问题

(1)中建立的模型进行适当的改进即可得到最优维修矩阵。

目标函数不变:

利用lingo编程,程序在附表二,由运行结果可得到最大利润为1088550元,得到的最优维修矩阵

 

每个月每种产品在最优维修矩阵下的生产量

1月

2月

3月

4月

5月

6月

500

600

400

0

0

550

1000

500

700

0

100

550

300

200

100

0

500

150

300

0

100

0

100

350

800

400

600

0

1000

1150

200

300

400

0

300

550

100

150

200

0

0

110

这种解法虽然没有确定要维修两台的设备两次维修的是不是同一台,但是我们可以从最优维修矩阵中得出要维修的设备在哪个月维修,在实际中注意便可避免维修同一台,所以这种解法可行。

2)方法二:

题目分析

f(i)表示不同机器,y(tm)表示表示在t月份要修理的机器n

i=(1,2,3,4,5)t=(1,2,3,4,5,6)n=(1,2,3,4,5,6,7,8,9)其中y机器来自f,其中f1有(y1、y2);f2有(y3、y4);f3有(y5、y6、y7);f4有y8;f5有y9;见下表

磨床

立钻

水平钻

镗床

刨床

ft1

ft2

ft3

ft4

ft5

M

1

2

3

4

5

6

7

8

9

一月

y11

y12

y13

y14

y15

y16

y17

y18

y19

二月

y21

y22

y23

y24

y25

y26

y27

y28

y29

三月

y31

y32

y33

y34

y35

y36

y37

y38

y39

四月

y41

y42

y43

y44

y45

y46

y47

y48

y49

五月

y51

y52

y53

y54

y55

y56

y57

y58

y59

六月

y61

y62

y63

y64

y65

y66

y67

y68

y69

设y(tm)是0、1变量0表示不要修理,1表示需要修理.

因为每台设配在1——6月份均需安排一个月维修所以;

y(tn)

f(t1)=y(t1)+y(t2);

f(t2)=y(t3)+y(t4);

f(t3)=y(t5)+y(t6)+y(t7);

f(t4)=y(t8);

f(t5)=y(t9);

设一个矩阵;

=

所以d(ti)=d全-f(ti)

目标函数不变:

由lingo编程,得出最大利润仍为1088550元,得出每月安排生产各种产品的数量如下表:

1月

2月

3月

4月

5月

6月

500

600

400

0

0

550

1000

500

700

0

100

550

300

200

100

0

500

150

300

0

100

0

100

350

800

400

600

0

1000

1150

200

300

400

0

300

550

100

150

200

0

0

110

得出最优维修矩阵为:

比较方法一和方法二,由两种方法的求得的每月生产某种产品的数量并没有变,不过最优维修矩阵改变了,而且总利润不变,说明最优维修矩阵不唯一,观察到上述两种维修安排,在某些月份并没有设备维修,若是要求使每月都有设备维修,进行模型扩展。

3)模型扩展

1,只需对方法二加一个约束

表示能够保证每个月都至少有一台需修理

在附表三编程基础上增加语句如下:

@for(month(t):

@sum(xiuji(n):

y(n,t))>=1);

由lingo编程,得出最大利润仍为1088550元,,每月安排生产某种产品的数量不变,得到最优维修矩阵:

第四部分模型的误差分析

文中基本假设合理,所建模型数学推导严谨,理论可靠,逻辑严密,而且易于理解,但由于市场的不稳定性,产品的利润及需求量存在着不确定性,故可能产生一些误差,误差大小与市场经济的稳定性有关,另外,软件和计算机的精度也会导致产生误差。

第五部分模型的评价及改进方向

5.1模型的优点

我们的模型有以下优点:

1.易于推广。

当今社会的各个领域,都存在着不同类型的优化问题,而在企业生产中,在一定条件下,最大利润生产方案和最优设备维修方案显得尤为重要,根据现实条件调整该模型对企业生产、设备维修将有很大的帮助;

2.基本模型对问题的描述精确,合理,推导严谨,理论性强;

3.通过合理的数据处理,将题中表格的数据及所需数据转换为矩阵形式,便于理解、分析和求解。

4.解决问题

(2)的方法一简洁,通过认真观察未维修矩阵与维修矩阵之间的联系,颇具匠心,方法二从常规出发引入0-1变量。

5.适当在原有模型基础进行扩展,使工厂安排更加合理。

5.2模型的缺点及改进方向

当然,模型也存在着一些缺点:

主要是没有很好地联系经济来讨论,模型中涉及的单件产品利润只是个大概,存在着一定的误差,另外,本题没有考虑维修各台设备的成本,及设备是否在规定的时间里能完全修好等等。

要建立较好的能适应于社会生产和设备维修的模型,应考虑诸多因素,以及一些其它的细节,能做到这些,所建立的模型将更适应现实社会。

 

第六部分附录

◆附表一:

model:

sets:

product/1..7/:

b,m;

month/1..6/;

machine/1..5/;

link1(product,month):

a,h,x,s;

link2(machine,month):

d;

link3(product,machine):

c;

endsets

data:

b=1006080401109030;

m=5;

a=5006003002000500

1000500600300100500

3002000400500100

30000500100300

80040050020010001100

2003004000300500

100150100100060;

d=115215361536153611521536

768768768384384768

1152384115211521152768

3843840384384384

3843843843843840;

c=0.50.10.20.050

0.70.200.030

000.800.01

00.300.070

0.3000.10.05

0.20.6000

0.500.60.080.05;

enddata

max=@sum(product(j):

b(j)*@sum(month(t):

s(j,t)))-@sum(link1(j,t):

h(j,t)*m(j));

@for(product(j):

h(j,1)=x(j,1)-s(j,1));

@for(link1(j,t)|t#gt#1:

h(j,t)=h(j,t-1)+x(j,t)-s(j,t));

@for(link1(j,t):

h(j,t)<=100);

@for(link1(j,t)|t#eq#6:

h(j,t)=50);

@for(link2(i,t):

@sum(product(j):

x(j,t)*c(j,i))<=d);

@for(link1(j,t):

s(j,t)<=a(j,t));

@for(link1:

@gin(x));

end

◆附表二:

model:

sets:

product/1..7/:

b,m;

month/1..6/;

machine/1..5/;

link1(product,month):

a,h,x,s;

link2(machine,month):

d;

link3(product,machine):

c;

endsets

data:

b=1006080401109030;

m=5;

a=5006003002000500

1000500600300100500

3002000400500100

30000500100300

80040050020010001100

2003004000300500

100150100100060;

c=0.50.10.20.050

0.70.200.030

000.800.01

00.300.070

0.3000.10.05

0.20.6000

0.500.60.080.05;

enddata

max=@sum(product(j):

b(j)*@sum(month(t):

s(j,t)))-@sum(link1(j,t):

h(j,t)*m(j));

@for(product(j):

h(j,1)=x(j,1)-s(j,1));

@for(link1(j,t)|t#gt#1:

h(j,t)=h(j,t-1)+x(j,t)-s(j,t));

@for(link1(j,t):

h(j,t)<=100);

@for(link1(j,t)|t#eq#6:

h(j,t)=50);

@for(link2(i,t):

@sum(product(j):

x(j,t)*c(j,i))<=384*d(i,t));

@sum(month(t):

d(1,t))=22;

@sum(month(t):

d(2,t))=10;

@sum(month(t):

d(3,t))=15;

@sum(month(t):

d(4,t))=5;

@sum(month(t):

d(5,t))=5;

@for(link1(j,t):

s(j,t)<=a(j,t));

@for(month(t):

@bnd(2,d(1,t),4));

@for(month(t):

@bnd(0,d(2,t),2));

@for(month(t):

@bnd(0,d(3,t),3));

@for(month(t):

@bnd(0,d(4,t),1));

@for(month(t):

@bnd(0,d(5,t),1));

@for(link2:

@gin(d));

end

◆附表三

model:

sets:

xiuji/1..9/:

;

product/1..7/:

b,m;

month/1..6/;

machine/1..5/;

link1(product,month):

a,h,x,s;

link2(machine,month):

e,d,f;

link3(product,machine):

c;

link4(xiuji,month):

y;

endsets

data:

e=444444

222222

333333

111111

111111;

b=1006080401109030;

m=5555555;

a=5006003002000500

1000500600300100500

3002000400500100

30000500100300

80040050020010001100

2003004000300500

100150100100060;

c=0.50.10.20.050

0.70.200.030

000.800.01

00.300.070

0.3000.10.05

0.20.6000

0.500.60.080.05;

enddata

@for(link4(n,t):

y(n,t)<=1);

@for(month(t):

f(1,t)=y(1,t)+y(2,t));

@for(month(t):

f(2,t)=y(3,t)+y(4,t));

@for(month(t):

f(3,t)=y(5,t)+y(6,t)+y(7,t));

@for(month(t):

f(4,t)=y(8,t));

@for(month(t):

f(5,t)=y(9,t));

@for(link2(i,t):

e(i,t)=d(i,t)+f(i,t));

@for(xiuji(n):

@sum(month(t):

y(n,t))=1);

!

@for(month(t):

@sum(xiuji(n):

y(n,t))>=1);(扩展增加语句)

max=@sum(product(j):

b(j)*@sum(month(t):

s(j,t)))-@sum(link1(j,t):

h(j,t)*m(j));

@for(product(j):

h(j,1)=x(j,1)-s(j,1));

@for(link1(j,t)|t#gt#1:

h(j,t)=h(j,t-1)+x(j,t)-s(j,t));

@for(l

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 判决书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1