五、一般线性规划法
一般线性规划法是将总量计划问题化为一般线性规划问题,用一般线性规划的解法(单纯形法)进行求解,从而得到最优计划方案的方法。它几乎可以把总量计划涉及到的所有可控因素、各种约束限制都考虑在内,因而具有相当广泛的使用范围,又因有固定的算法和相应的计算机软件,其应用的效果就更为显著。对于同一总量计划问题,由于所取决策变量的含义不同、使用的单位不同等,可以构造出不同的线性规划模型,但建模的机理和求解的过程是类似的,结果也是统一的。以下是一种模型的构造和应用介绍。模型中所用的符号及含义如下:
- 决策变量
NTt,—第 t 期的正常生产时间(小时); Tt—第 t 期的加班生产时间(小时); HTt —第 t 期的录用人力数量(小时); FTt—第 t 期的辞退人力数量(小时); SQt—第:期的外包生产量(单位); IQt—第:期末的库存量(单位); BQt—第,期末的缺货量(单位)。
- 结构系数
CPt—第 t 期单位产品的生产费用(不包含人力费用); CNt—第 t 期加班正常生产时间内单位小时的人力费用;
COt 一第 t 期加班生产时间内单位小时的人力费用; Cht:—第 t 期录用单位小时的人力的费用; Cft—第 t 期辞退单位小时的人力的费用;
Cst—第 t 期单位产品的外包生产费用; Cit—第 t 期单位产品库存一期的保管费用; Cbt:—第:期单位产品缺货一期的损失费用; mt—第:期生产单位产品所需的时间;
a—最长加班生产时间与最长正常生产时间的比率(0≤a≤1)。
- 限制数据
MPQt—第 t 期的最大生产能力(单位); MSQt—第 t 期的最大外包能力(单位)。
-
初 始 数 据 IQO—计划期初的库存量(单位);
BQO—计划期初的缺货量(单位); NTO—计划期初的人力数量(小时)。
-
需求数据
Dt—第 t 期的需求预测值(单位)。模型描述如下:
M in Z = ∑{CP ·
t =1 t t
( NTt + OTt ) + Cnt **·**NTt + COt **·**OTt + Cht **·**HTt +
Cft **·**FTt + Cst **·**SQt + Cit **·**IQt + Cbt **·**BQt }
NTt
= NTt −1 + HTt − FTt
1
(1)
IQt − BQt = IQt −1 − BQt −1 +
t
NT ≤ m **·**MNQ
- ( NTt + OTt ) + SQt − Dt
(2)
(3)
t t t
OT ≤ a**·***m* **·***MNQ*
(4)
t t t
SQt ≤ MSQt
NTt ,OTt , HTt , FTt , SQt , IQt , BQt ≥ 0 (t = 1,2, ,T )
(5)
约束条件(1)表明前后期人力数量的转接,约束条件(2)表明前后期净库存量的转接,约束条件(3)、(4)、(5)分别表明各期正常生产、加班生产、外包生产不能超过相应最大能力的限制。
对上述模型还可作适当修改或完善,以适应特定的或更一般的计划问题的要求,如在目标函数中引入生产率改变费用,在约束
表 13-11 需求量、最大生产能力和最大外包生产能力
月份( t ) |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
---|---|---|---|---|---|---|---|---|
Dt (单位) |
700 |
900 |
800 |
1500 |
1700 |
1900 |
1500 |
1300 |
MPQt (单位〕 |
660 |
570 |
630 |
630 |
660 |
600 |
450 |
660 |
MSQt (单位) |
300 |
300 |
300 |
300 |
300 |
300 |
300 |
300 |
表 13-12 结构数据和初始数据(互一 1 , 2 , 12 )
项目 |
生产费用CP(元 /单位) |
正常工资Cnt(元/ 小时) |
加班工资Cot(元/ 小时) |
录用费用Cht(元/ 小时) |
辞退费用Cft(元/ 小时) |
外包费用CSt(元/ 单位) |
库存费用Cit(元/ 单位·月) |
缺货费用Cbt(元单位·月) |
劳 mt |
---|---|---|---|---|---|---|---|---|---|
数据 |
50 |
3 | 4 | 3 | 2 |
130 |
4 |
250 |
1 |
条件中引入最小人力数量、最小库存量(安全库存量)、最大库存量、计划期末的人力或库存的要求量,等等。
表 13-11 和表 13-12 给出了一个计划期为 12 个月的总量计划问题,可直接应用上述模型借助于 LP 软件进行求解。最优方案整理成表:13-13 和表: 13-14,最优方案下的总费用为:4057007 元。
表 13-13 正常生产、加班生产、录用和辞退人力时间数量表(小时)
月份(t) |
正常生产时间(NTt) |
加班生产时间(OTt) |
录用人力时间(HTt) |
辞退人力时间(FTt) |
---|---|---|---|---|
期初 0 |
8800 |
|||
1 |
10506 |
2121 |
1706 |
0 |
2 |
9120 |
1824 |
0 |
1368 |
3 |
10080 |
2016 |
960 |
0 |
4 |
10080 |
2016 |
0 |
0 |
5 |
10506 |
2121 |
426 |
0 |
6 |
9600 |
1920 |
0 |
906 |
7 |
7200 |
1441 |
0 |
2400 |
8 |
10506 |
2121 |
3306 |
0 |
9 |
9600 |
1920 |
0 |
906 |
10 |
10506 |
2121 |
906 |
0 |
11 |
9600 |
1920 |
0 |
906 |
12 |
10506 |
2121 |
906 |
0 |
合计 |
117810 |
23662 |
8210 |
7854 |
表 13-14 生产量、外包量、库存量、缺货量表(单位)
月份(t) |
需求量(Dt) |
生产量 (推算值) |
外包量(SQt) |
库存量(IQt) |
缺货量(BQt) |
---|---|---|---|---|---|
期初 0 |
600 |
0 | |||
1 |
700 |
789 |
300 |
589 |
0 |
2 |
900 |
684 |
300 |
673 |
0 |
3 |
800 |
756 |
300 |
929 |
0 |
续表
月 份(t) |
需求量(Dt) |
生产量 (推算值) |
外包量(SQt) |
库存量(IQt) |
缺货量(BQt) |
---|---|---|---|---|---|
4 |
1500 |
756 |
300 |
485 |
0 |
5 |
1700 |
789 |
300 |
0 |
126 |
6 |
1900 |
720 |
300 |
0 |
1006 |
7 |
1500 |
540 |
300 |
0 |
1266 |
8 |
1300 |
789 |
300 |
0 |
1476 |
9 |
1200 |
720 |
300 |
0 |
1656 |
10 |
1200 |
789 |
300 |
0 |
1767 |
11 |
1000 |
720 |
300 |
0 |
1747 |
12 |
900 |
789 |
300 |
0 |
1558 |
合计 |
14600 |
8841 |
3600 |
2676 |
10602 |