CHƯƠNG 9: Hoạch định bàng chương trình động
Trong chương này chúng ta quan tâm đến trường hợp đặc biệt: toàn bộ số sản phẩm tập hợp
trong chỉ một họ. Trong trường hợp này, có thể ước tính trực tiếp giá thành sảnxuất hoặc tồn kho
cua 1 sô x, san phâm dua vào trung bình sảnxuất cần thiết. Cac ràng buộc truoc dây như số giờ bổ
sung, sự thầu lại vv duoc ngâm tinh chung trong gia.
9.1 Thuật toán cho trường hợp tông quat
9.1.1 Ví dụ:
Xí nghiệp AKL là một công ty con của một nhà xây dựng hàng không lớn. Nó lap
rap và kiểm tra những modun điện tử sử dụng trong thiêt bi diêu khiên máy bay. Vì
những lý do gắn với giá thành, sảnxuất có thể từ 10 đến 16 thiết bị. Cũng vậy, vi phai co
1 luong hàng tồn kho an toàn và do kích cỡ cua kho, sô luong này nằm trong khoảng tù 3
dên 6. Không được phép thiếu hụt.
Yêu cầu trong 6 tháng tới là: 9 17 14 18 11 17 thiết bị. Nêu tính số giờ bổ sung và có
thể goi thêm 1 công ty gia công, thi chi phí sảnxuất CF(x) của x thiết bị (ngoài trù gia
nguyên vât liêu và linh kiên) là:
x 10 11 12 13 14 15 16
CF(x) 20 22 25 30 33 37 40
Chi phí tồn kho hàng tháng là
x 3 4 5 6
CS(x) 2 3 5 7
Số hàng tồn kho ban đầu là 3 đơn vị và người ta dinh se dat số hàng tồn kho cuối
kỳ thứ 6 là 4.
Chung ta phai xac dinh sô luong Xi thiết bị cân sảnxuất trong tháng thứ i và voi muc
tiêu là tối thiểu hoa tổng số chi phí sảnxuất và chi phí tồn kho. Ở đây, nhận thấy sự quan
trọng của việc sản xuất, không thể xấp xỉ kết quả bằng một số thực mà chúng ta phái làm
việc bằng những số nguyên. Như trong chươ
ng trước, chúng ta thêm các biến Si là mức tồn
kho vào cuối tháng i. Ta thấy dễ dàng:
Min
6
1
[CF(Xi) + CS(Si)]
i=
∑
Với những ràng buộc:
10 ≤ Xi ≤ 16
3 ≤ Si ≤ 6
S
0
= 3
S
6
= 4
X
1
+ S
0
= S
1
+ 9
X
2
+ S
1
= S
2
+ 17
X
3
+ S
2
= S
3
+ 14
X
4
+ S
3
= S
4
+ 18
X
5
+ S
4
= S
5
+ 11
X
6
+ S
5
= S
6
+ 17
9.1.2 Mô hình hoá
CF(x) và CS(x) là chi phí sảnxuất và tồn kho cua x sản phẩm. Chi phí tồn kho được
tính toán dựa trên số hàng tồn kho vào cuối kỳ, như trong các chương trước (cac mô hinh
se rất ít khác nhau nêu ta giả thiết rằng chi phí được tính dựa trên số tồn kho đầu tháng).
Số luong sản phẩm sảnxuất có thể chấp nhận là ở giữa XMin và XMax và thêm cac ràng
buôc vê sô luong hàng tồn kho an toàn hay vê diên tich mặt bằng kho nên mức hàng tồn
kho nằm giữa SMin và SMax. Người ta biết được số hàng yêu cầu củ
a p thoi kỳ tiếp theo
và. d
i
là yêu cầu của thoi kỳ thứ i. Mức hàng tồn kho đầu tiên là SInit và người ta du định
đat số hàng tồn kho SFin ở cuối kỳ thứ p. Không được phép thiếu hụt.
Muc đích là xác định được số hàng sảnxuất Xi ở kỳ thứ i để cực tiểu tổng chi phí
của sảnxuất và tồn kho. Chúng ta đưa vào các biến Si như trước, là số thành phẩm tồn kho
ở cuối tháng. Người ta thu được mô hình sau:
Min ∑
i =1→p
[CF(Xi) + CS(Si)]
Và những ràng buộc:
XMin ≤ Xi ≤ XMax
SMin ≤ Si ≤ SMax
S
0
= SInit
Sp = SFin
Xi + Si-
1
= Si +d
i
Công thức trên hầu như là công thức đạt được trong chương trước. Nhưng ở đây,
nếu những rằng buộc là tuyến tính, hàm mục tiêu không còn nữa. Bài toán này không thể
giai bàng quy hoạch tuyến tính.
9.1.3 Mô hình hoá dưới dạng đồ thị
Để giải quyết bài toán này, trước tiên người ta sẽ mô hình hoá no dưới dạng đồ thị,
mà chúng ta sẽ định nghĩa những đỉnh và cung.
1. Đỉnh
Một đỉnh V
i,l
biểu thị số luong tồn kho ở mức l o cuối kỳ thứ i.
2.
Cung
Người ta tạo ra một cung từ V
i-1,k
đến V
i,l
nêu co thê di tù tinh trang « số tồn kho ở
cuối kỳ thứ i-1 o mức k » dên tinh trang « số tồn kho ở cuối kỳ thứ i o mức l ». Yêu câu ở
kỳ thứ i đã biết là d
i
, ta suy ra số sản phẩm cần sảnxuất trong kỳ thứ i là X
i
= l + d
i
– k.
Với giá trị số tồn kho l da duoc biet ở cuối kỳ thứ i, cac giới hạn cua Xi sẽ dan dên
nhung giới hạn vê số tồn kho k ở kỳ thứ i -1.
1.
Voi số luong tôn kho nhỏ nhất là Xmin.thi giá trị lớn nhất của k đạt được trong
thoi ky i-1 là l + d
i
– XMin.
2.
Voi số luong sảnxuât lớn nhất là Xmax.thi giá trị nhỏ nhất của k đạt được là l +
d
i
– XMax.
Mặt khác, số tồn kho nằm trong khoảng từ SMin đến SMax, suy ra k nằm trong
khoảng kmin và kmax với
kmin = Max (l + d
i
– XMax , SMin)
kmax = Min (l + d
i
– XMax, SMax)
Đồ thị là một đường
không khep kin. Chúng ta sẽ tìm một con đường ngắn nhất từ
V
0,Sinit
đến V
p,SFin
. Đồ thị co cac dinh cua tùng thoi ky và voi thoi ky i duoc dinh boi
luong tôn kho tang. Thuật toán chung:
Voi i thay doi từ 1 đến p
Voi l thay doi từ SMin đến SMax
Chiphí(V
i,l
) = ∞
Kỳ thứ nhất
Voi l thay doi từ SMin đến SMax
kmin = Max (l + d
i
– XMax , SInit)
kmax = Min (l + d
i
– XMin, SInit)
Nếu kmin = kmax thì
Chiphí(V
1,l
) = CS(l) + CF(l+d
i
- SInit)
kết thúc.
Kỳ thứ 2 đến kỳ thứ p
Voi i thay doi từ 2 đến p
Voi l thay doi từ SMin đến SMax
kmin = Max (l + d
i
– XMax , SMin)
kmax = Min (l + d
i
– XMin, SMax)
Voi k thay doi từ kmin đến kmax
C= CS(l) + Chiphí(V
i-1,k
) + CF(l + d
i
– k)
Nếu Chiphí(Vi
,l
) > C thì Chiphí(Vi
,l
) =C
Kết thúc
Kết thúc
Dây là trường hợp đặc biệt của chuong trinh
động.
9.1.4 Dap an
V
i,l
KMin KMax Xi Chiphí V
i-1,k
( 1, 3 )
( 1, 4 )
( 1, 5 )
( 1, 6 )
3
3
3
3
2
3
3
3
10
11
12
∞
22
24
27
( 0, 3 )
( 0, 3 )
( 0, 3 )
( 2, 3 )
( 2, 4 )
( 2, 5 )
( 2, 6 )
4
5
6
7
6
6
6
6
16
16
16
65
69
74
∞
( 1, 4 )
( 1, 5 )
( 1, 6 )
( 3, 3 )
( 3, 4 )
( 3, 5 )
( 3, 6 )
3
3
3
4
6
6
6
6
14
15
16
16
100
104
107
112
( 2, 3 )
( 2, 3 )
( 2, 3 )
( 2, 4 )
( 4, 3 )
( 4, 4 )
( 4, 5 )
( 4, 6 )
5
6
7
8
6
6
6
6
16
16
152
159
∞
∞
( 3, 5 )
( 3, 6 )
( 5, 3 )
( 5, 4 )
( 5, 5 )
( 5, 6 )
3
3
3
3
4
5
6
6
11
12
13
14
176
179
184
187
( 4, 3 )
( 4, 3 )
( 4, 3 )
( 4, 3 )
( 6, 3 )
( 6, 4 )
( 6, 5 )
( 6, 6 )
4
5
6
7
6
6
6
6
16
16
16
222
229
234
∞
( 5, 4 )
( 5, 5 )
( 5, 6 )
Bảng 9.1 - Bảng kết quả
Bảng 9.1 đưa ra kết quả của thuật toán áp dụng cho ví dụ trên . Dê có 4 sản phẩm
tồn kho ở cuối kỳ 6, chi phí tối ưu là 229. Do trên bang 9.1 ta duoc lô trinh tôi uu cho boi
các dinh:
( 6, 4 ), ( 5, 5 ), ( 4, 3 ), ( 3, 5 ), ( 2, 3 ), ( 1, 4 )
Kế hoạch sảnxuất trên 6 kỳ se là : ( 10, 16, 16, 16, 13, 16 )
9.2 Thuật toán trong trường hợp lõm
9.2.1 Định nghĩa
Thuật toán tông quat có thể được đơn giản hoá khi cac chi phí CF và CS đều là lõm.
Voi F(x) là một hàm không liên tục (rời rạc) và đặt f(x) = F(x) – F(x-1). Hàm
f(x) biểu diễn
lượng tăng của F, khi người ta đi từ x-1 đến x Khi F(x) biểu thị một hàm chi phí, f(x)
được hiểu như là chi phí giới hạn dê sảnxuấtsản phẩm thứ x. Nếu f(x) ≤ f(x-1), hàm
F(x) được gọi là lõm. Ở đây chi phí giới hạn giảm dần. Người ta goi là kinh tê do quy mô.
Đó là trường hợp cac nên sảnxuất có chi phi cô dinh rât cao hoac dôc lâp voi sô luong
sản xuất.
Nếu f(x) ≥ f(x+1), hàm F(x) được gọi là lôi. Chi phí giới hạn tă
ng lên.
Trường hợp này xảy ra khi người ta phai, vượt qua 1 ngưỡng sảnxuất nào do, cần
đến những phuong tiên bổ sung, như những giờ bổ sung hoặc qua gia công.
9.2.2 Mô hình hoá
Nhu trong truong hop trước, và thêm vào một số gia thiêt bổ sung sau:
1.
Các hàm chi phí CF và CS là lõm.
2.
Không có giới hạn về khả năng sảnxuất cũng như khả năng tồn kho.
Dựa trên những điều kiện đó, chúng ta có định lý của Wagner và Within dưới đây:
Trong những giải pháp tối ưu, luôn tồn tại một 1 giai phap mà viêc sảnxuất Xi (số
lượng sản phẩm sảnxuất ra trong kỳ thứ i) thoả:
● hoặc bằng 0,
● hoặc bằng tổng số s
ản phẩm được yêu cầu trong kỳ thứ i và k kỳ tiếp theo:
Xi = d
i
+ + d
i+k
, voi k ≥ 0.
Chứng minh:
Xét một giải pháp tối ưu S ở kỳ thứ i mà số sản phẩm sảnxuất là Xi bằng tổng các
giá trị d
i
, d
i+1
, , d
i+k-1
, và một phần của d
i+k
. C(S) là chi phí của giải pháp đó. Xét hai
giải pháp co thê thực hiện sau dây:
1.
+
S : Người ta sảnxuất nhiều hơn một sản phẩm trong kỳ i và ít hơn một sản phẩm
trong kỳ thứ k. Chi phí sảnxuất trong kỳ thứ i tăng lên là
+
a
= f(X
i
+ 1), chi phí tồn kho
tăng lên là
+
b
, và chi phí sảnxuất trong kỳ i + k giảm đi một lượng
+
c= f(X
i +k
)
2. S⎯ : Người ta sảnxuất ít hơn một sản phẩm trong kỳ thứ i và nhiều hơn một sản
phẩm trong kỳ thứ k. Chi phí sảnxuất trong kỳ thứ i giảm đi là a⎯ = f(X
i
), chi phí tồn kho
giảm đi là b⎯ , và chi phí sảnxuất trong kỳ i + k tăng lên một lượng c⎯ = f(X
i +k
+ 1).
Giả định
+
S không phải là tối ưu; do S là tối ưu ta có:
C(S) < C(
+
S
) = C(S) +
+
a
+
+
b
–
+
c
C(S) ≤ C(S⎯ ) = C(S) – a⎯ – b⎯ + c⎯
Hay
0 <
+
a+
+
b
–
+
c
a⎯ + b⎯ – c⎯ ≤ 0
Suy ra :
+
a+
+
b
–
+
c > a⎯ + b⎯ – c⎯
Do các hàm là lõm, nên
+
a ≤ a⎯
+
b
≤ b⎯
–
+
c ≤ – c⎯
Và như vậy
+
a+
+
b
–
+
c ≤ a⎯ + b⎯ – c⎯ Phản chứng lại phương trình trước
9.2.3 Mô hình hoá dưới dạng đồ thị
Vây chi cân han chê việc tìm kiếm giải pháp cho giả thiết nói trên. Giả thiết này có
thể được mô hình hoá dưới dạng sơ đồ mà trong đó các đỉnh và các cung định nghĩa như
sau:
1.
Đỉnh: Một đỉnh V
i
biểu thị việc bố trí sảnxuất trong kỳ thứ i. Dỉnh V
p+1
duoc
thêm vào dê giới hạn phạm vi lâp kê hoạch.
2 3
852
562
208 272
148
344
576
1
4
5
466
216
322
Hình 9.1 – Sơ đồ
2.
Cung: một cung từ i đến k ( k > i ) biểu thị tinh trang: Người ta bố trí sảnxuất ở
kỳ thứ i và sảnxuất tiếp theo duoc bố trí vào kỳ thứ k. Nói cách khác, sự sản
xuất ở kỳ thứ i cho phép thoả mãn tất cảc kỳ từ i, i +1, , k – 1 .
Co nghia là người ta bố trí ở kỳ i sảnxuất số luong sản phẩm Xi = d
i
+ d
i+1
+
+ d
k-1
và chi phí tồn kho là CS(X
i
). Ở cuối kỳ thứ i , người ta có số tồn kho là :
S
i
= X
i
– d
i
= d
i+1
+ + d
k-1
. Trong kỳ thứ i + 1, số tồn kho giảm đi d
i +1
và ta
có : S
i +1
= S
i
– d
i +1
= d
i+2
+ + d
k-1
, cứ tiếp tục như vậy. Giá trị của cung (i, k)
là tổng :
V(i, k) = CS(
k-1
i
j=i
d
∑
) + CF(
k-1
j
j=i+1
d
∑
) + + CF(
k-1
j
j=k-2
d
∑
) + CF(d
k-1
)
Đồ thị gồm một đường không khep kin, trong do người ta tìm đường ngắn nhất. Có
hai thuật toán có thể được sử dụng, hoặc làm những phép tính từ trái sang phải, từ kỳ thứ
nhất đến kỳ thứ p +1, hoặc tính toán ngược từ kỳ thứ p+1 về kỳ thứ 1.
Trong trường hợp đặc biệt chi phí tồn kho là một số không đổi C
p
trên mỗi sản
phẩm và ở mỗi kỳ , ta có: CF(S) = C
p
.S và
V(i, k) = CS(
k-1
i
j=i
d
∑
) + C
p
(d
i +1
+ 2d
i + 2
+ 3d
i + 3
+ )
9.2.4 Ví dụ
Don hàng đối với một bộ phận trong 4 tuần kế tiếp là 54, 86, 24, 58. Chi phí tồn kho
của một bộ phận trên mỗi tuần là 1. Chi phí sản xuất, tính đến cả chi phí phát hành cao,
cho x bộ phận là: CF(x) = 100 + 2x. Số tồn kho hiên tai bằng 0 và người ta du dinh số tồn
kho bằng 0 ở cuối tuần thứ 4. Dô thị của bài toán được đưa ra trong hình 9.1.
Bảng tiếp theo cho ta ở mỗi cung mức sảnxuất X
i
và các chi phí phat sinh:
i k X
i
CF(X
i
) CS(S
i
) V(i, k)
1 2
1 3
1 4
1 5
2 3
2 4
2 5
3 4
3 5
4 5
54
54 + 86
54 + 86 + 24
54 + 86 + 24 + 58
86
86 + 24
86 + 24 + 58
24
24 + 58
58
208
380
428
544
272
320
436
148
264
216
0
86
86 + 2*24
86 + 2*24 + 3 *58
0
24
24 + 2*58
0
58
0
208
466
562
852
272
344
576
148
322
216
Cho f
i
là chi phí cực tiểu di từ 1 đến i . Người ta đưa ra kết quả duoi dây voi cach
tính toán từ trái sang phải:
f
1
= 0
f
2
= V(1 ,2) = 208
f
3
= Min
1
2
f + V(1, 3) = 466
f + V(2, 3) = 208 + 272
⎧
⎨
⎩
= Min
466
480
⎧
⎨
⎩
= 466
f
4
= Min
1
2
3
f + V(1, 4) = 562
f + V(2, 4) = 208 + 344
f + V(3, 4) = 466 + 148
⎧
⎪
⎨
⎪
⎩
= Min
562
552
614
⎧
⎪
⎨
⎪
⎩
= 552
f
5
= Min
1
2
3
4
f + V(1, 5) = 852
f + V(2, 5) = 208 + 576
f + V(3, 5) = 466 + 322
f + V(4, 5) = 552 + 216
⎧
⎪
⎪
⎨
⎪
⎪
⎩
= Min
852
784
788
768
⎧
⎪
⎪
⎨
⎪
⎪
⎩
= 768
Giải pháp tối ưu của chi phí là 768, ta thu được khi đi ngược bảng từ dưới lên, số bộ
phận sảnxuất được ở các kỳ lần lượt là X = ( 54, 110, 0, 58).
. sau dây:
1.
+
S : Người ta sản xuất nhiều hơn một sản phẩm trong kỳ i và ít hơn một sản phẩm
trong kỳ thứ k. Chi phí sản xuất trong kỳ thứ i tăng lên. chi phí sản xuất trong kỳ i + k giảm đi một lượng
+
c= f(X
i +k
)
2. S⎯ : Người ta sản xuất ít hơn một sản phẩm trong kỳ thứ i và nhiều hơn một sản
phẩm