1、0.300.20立钻0.102.000.6水平钻0.800.60镗床0.050.030.070.08刨床0.01从一月份至六月份,每个月中需要检修的设备是(在检修的月份,被检修的设备全月不能用于生产):表2 设备检修计划月份计划检修设备及台数一 月一台磨床四月一台立式钻床二 月二台立式钻床五月一台磨床和一台立式钻床三 月一台镗床六月一台刨床和一台水平钻床每个月的各种产品的市场销售量的上限是:表3 产品的市场销售量上限(件/月)一月5001000300800200100二月600400150三月110060每种产品的最大库存量为100件,库存费用为每件每月0.5元,在一月初,所有产品都没有库存;
2、而要求在六月底,每种产品都有50件库存。工厂每天开两班,每班8小时,为简单起见,假定每月都工作24天。其中,生产过程中,各种工序没有先后次序的要求。问题1: 制定六个月的生产、库存、销售计划, 使六个月的总利润最大。问题2: 在不改变以上计划的前提下, 哪几个月中哪些产品的销售上限可以提高以达到增加利润的目的。销售量上限提高的幅度是多大?问题3: 哪些设备的能力应该增加? 请列出购置新设备的优先顺序。问题4: 是否可以通过调整现有的设备检修计划来提高利润? 提出一个新的设备检修计划, 使原来计划检修的设备在这半年中都得到检修而使利润尽可能增加。问题5: 对上述生产计划问题。构造一个最优设备检修
3、计划模型,使在这半年中各设备的检修台数满足题中的要求而使利润为最大。二、问题的分析与假设问题分析:设第i种产品第j月的生产量为 ;第i种产品第j月的库存为 。 其中i=1,27;j=1,26设为第j种产品单位产品的利润,则=(10.00,6.00,3.00,4.00,1.00,9.00,3.00);将该厂的设备按磨床,立式钻床,水平钻床,镗床,刨床这种顺序依次排列,则第k种设备加工第i种产品需要的工作时间(小时/件)为,为一个57的矩阵:=。由于从一月份到六月份中每个月都有需要检修的设备,而且在检修的月份,被检修的设备全月不能用于生产,根据设备的检修计划表,再结合该机械加工厂中各种设备的台数,
4、得出第k种设备在第j个月中可以使用台数的矩阵,其中为一个56的矩阵:由于在每个月中每种产品都有市场销售量上限,根据产品市场销量上限可得出第i种产品第j月份的市场销售上限矩阵,其中为一个71. 每种产品的最大库存量为100件,并且在6月底每种产品都有50件库存,所以可以得到库存的约束条件:100 (1)=50 (2) 2. 每个月每种产品都有市场销售上限,根据产品生产数量与产品库存量之间的关系,可以得出:a一月份:因为所有产品在月初都没有库存,所以在一月份每种产品的销售量等于该产品的生产量减去该产品的库存量;而且销售量不大于该月的销售上限,即,(i=1,27) (3)b二月份到六月份:由于产品在
5、上个月有库存量的关系,所以,这五个月中每个月产品的销售量等于该月每种产品的生产量加上上个月的该产品的库存量再减去当月该产品库存量,并且产品的销售量不大于其当月的销售上限,即,(i=2,37;j=1,26)。 (4)3.该机械加工厂每天开两班,每班8小时,据题假定每月工作24天,则每个月功设备加工产品的工作时间为2428=384小时,得到第k种设备在第j个月中最大加工产品时间为384,所以是时间的限制为Tkj; (5)问题假设:1、成本不会因为设备修检而发生改变;2、产品的生产不会受修检方案的影响;3、产品的生产、库存、销售均为整数;4、生产过程中,各种工序没有先后次序的要求;三、符号表示1、:
6、第i种产品的单位产品利润;2、:第i种产品在第j个月的生产量;3、:第i种产品在第j个月的库存;4、:第i种产品在第j个月的市场销售上限;5、:第k台机器在第j个月内能使用的台数;6、:第k台机器生产第i种产品所用的时间。四、模型的建立与求解问题制定六个月的生产、库存、销售计划,使六个月的总利润最大。通过上面的问题分析,建立线性规划模型:目标函数为六个月的总利润Y:Y=约束条件为:100 ;=50; 其中i=1,27;;其中 , 均为整数;利用lingo软件求解,程序如下:model:!机械产品生产计划SETS:months/mon1.mon6/;products/pro1.pro7/:P;m
7、achines/ma1.ma5/;links(products,months):X,R,SC;number(machines,months):N;links1(machines,products):T;ENDSETS目标函数; max=sum(products(i):(sum(months(j):X(i,j)-50)*P(i)-sum(links(i,j):R(i,j)*0.5);销量;for(links(i,j)|j#EQ#1:X(i,1)-R(i,1)=SC(i,1);for(links(i,j)|j#GT#1:X(i,j)+R(i,j-1)-R(i,j)=SC(i,j);库存;for(l
8、inks(i,j):R(i,j)=100);for(links(i,j)|j#EQ#6:R(i,6)=50);时间;for(number(k,j):sum(products(i):T(k,i)*X(i,j)=(N(k,j)*384); DATA:P=10 6 3 4 1 9 3;SC=500 600 300 200 0 500 1000 500 600 300 100 500 300 200 0 400 500 100 300 0 0 500 100 300 800 400 500 200 1000 1100 200 300 400 0 300 500 100 150 100 100 0 60
9、;T= 0.50, 0.70, 0.00, 0.00, 0.30, 0.20, 0.50 0.10, 2.00, 0.00, 0.30, 0.00, 0.60, 0.00 0.20, 6.00, 0.80, 0.00, 0.00, 0.00, 0.60 0.05, 0.03, 0.00, 0.07, 0.10, 0.00, 0.08 0.00, 0.00, 0.01, 0.00, 0.05, 0.00, 0.05; N=3 4 4 4 3 4 2 0 2 1 1 2 3 3 3 3 3 2 1 1 0 1 1 1 1 1 1 1 1 0;ENDDATA整数约束;gin(X(i,j);gin(R
10、(i,j); for(number(i,j):gin(N(i,j);End 程序运行结果见附录,对运行结果的分析得到结果为:目标函数值(即六个月的最大利润值单位:元)为41464.00;根据结果制订了如下表所示的生产,库存,销售计划:表4一月份二月份三月份四月份五月份六月份产品生产量600.00200.00550.00库存量100.0050.00销售量500.00产品2122.00107.00102.00109.0061.00产品3300.00400.00产品4350.0050.000产品5800.001100.001000.00产品6450.00250.00产品7150.00 问题2 在不改
11、变以上计划的前提下,哪几个月中哪些产品的销售量上限可以提高以达到增加利润的目的。销售量上限提高的幅度是多大? 因为以上规划都是在整数条件下,而我们无法在lingo中做灵敏度分析,所以我们在模型一的基础上删去整数约束条件进而用灵敏度分析来解决此问题。此时得到的最大利润为41468.0,与原来的最大利润相差为4,远远小于其最大利润,可以近似认为相等。因此,下面我们将在lingo中进行灵敏度分析,只要选择LINGO|Range就能得出关于系数变化范围的数据如附录2我们可以从灵敏性分析的数据中得出,在何种范围内变化可以保证最优解不变,从而达到利润的最大。 下面截取对销售量上限的变化范围的灵敏性分析数据
12、如下Righthand Side Ranges Row Current Allowable Allowable RHS Increase Decrease 2 500.0000 873.9860 600.0000 3 1000.000 INFINITY 878.0000 4 300.0000 915.0000 300.0000 5 300.0000 646.6667 300.0000 6 800.0000 1388.667 800.0000 7 200.0000 323.3333 300.0000 8 100.0000 968.8372 100.0000 9 600.0000 INFINITY
13、 500.0000 10 300.0000 INFINITY 300.0000 11 200.0000 2140.000 200.0000 12 0.0 60.00000 0.0 13 550.0000 1760.000 550.0000 14 500.0000 INFINITY 500.0000 15 600.0000 INFINITY 600.0000 16 300.0000 INFINITY 193.0000 17 100.0000 2.000000 98.00000 18 550.0000 INFINITY 438.3333 19 200.0000 1052.500 200.0000
14、20 0.0 1440.000 0.0 21 400.0000 112.5000 400.0000 22 500.0000 15.00000 112.5000 23 150.0000 INFINITY 50.00000 24 0.0 100.0000 0.0 25 0.0 100.0000 0.0 26 500.0000 713.3333 100.0000 27 100.0000 100.0000 100.0000 28 350.0000 195.5556 350.0000 29 400.0000 3140.000 500.0000 30 500.0000 INFINITY 400.0000
15、31 200.0000 3077.900 200.0000 32 1000.000 2168.667 1100.000 33 1150.000 INFINITY 1050.000 34 300.0000 INFINITY 200.0000 35 400.0000 830.0000 450.0000 36 0.0 50.00000 50.00000 37 300.0000 50.00000 50.00000 38 550.0000 97.77778 550.0000 39 150.0000 1403.333 250.0000 40 100.0000 INFINITY 0.0 41 100.000
16、0 150.0000 100.0000 42 0.0 20.00000 100.0000 43 110.0000 INFINITY 10.00000由以上数据可知:在不改变六个月的生产、库存的计划的前提下,产品的市场销售量上限可以提高的幅度从Allowable Increase 一列中得出,如: 第四个月的第三种产品的销售上限可由原来的400再提高112,销售上限变为512。在增幅中出现的数值向零取整,如:第六个月第六种产品销售上限增幅为97.77778向零取整后变为97。我们可以从这些数据总结出每种产品每个月价格可以提高的最大的幅度表(单位为:元)如下:生产87391564613883239
17、681052314014031440830214011271330775015216820176019597表5问题3、哪些设备的能力应该增加?请列出购置新设备的优先顺序。设备能力问题可以转化为每种设备在相同时间所得到的总利润大小问题,即把问题转化为设备工作时间松弛量分析问题。通过分析得出,各个设备在增加一个小时的工时内所得到的总利润为六个月内产生的利润之和。(所有数值均近似取整) 截取的程序运行结果如下:Row Slack or Surplus Dual Price93 416.6000 0.00000094 1261.000 0.00000095 1446.000 0.00000096 1251.100 0.00000097 650.6000 0.00000098 1