BÀI TOÁN VẬN TẢI
Department of Applied Mathematics - School of Applied Mathematics and Informatics Hanoi University of Science and Technology
hoai.phamthi@hust.edu.vn
0 / 21
hoai.phamthi@hust.edu.vn
Lecturer: Phạm Thị Hoài
Content
1 Bài toán vận tải và các khái niệm, tính chất liên quan
2 Thuật toán thế vị giải bài toán vận tải
Mô hình bài toán vận tải Điều kiện tồn tại nghiệm Chu trình và phương án cực biên của bài toán vận tải
3 Bài toán vận tải mở rộng
hoai.phamthi@hust.edu.vn
1 / 21
Cơ sở lí thuyết Thuật toán thế vị
Bài toán vận tải và các khái niệm, tính chất liên quan Mô hình bài toán vận tải
Bài toán vận tải
Kế hoạch: Cần phát hàng từ m kho {K1, ..., Km} đến n cửa hàng {H1, ..., Hn}. Dữ kiện:
Lượng hàng cần phát từ kho Ki là ai; cửa hàng Hj cần nhập lượng hàng là bj. Chi phí vận chuyển 1 đơn vị hàng từ kho Ki đến cửa hàng Hj là cij.
Yêu cầu: ? cần chuyển bao nhiêu hàng từ kho Ki đến cửa hàng Hj để tổng chi phí vận chuyển ít nhất?
m X
n X
Mô hình toán học
i=1
j=1
n X
(PT) min f (x) = cijxij
j=1 m X
vđk. xij = ai, i = 1, ..., m
i=1 xij ≥ 0, i = 1, ..., m; j = 1, ..., n
hoai.phamthi@hust.edu.vn
2 / 21
xij = bj, j = 1, ..., n
Bài toán vận tải và các khái niệm, tính chất liên quan Mô hình bài toán vận tải
hoai.phamthi@hust.edu.vn
3 / 21
Bài toán vận tải và các khái niệm, tính chất liên quan Mô hình bài toán vận tải
hoai.phamthi@hust.edu.vn
4 / 21
Bài toán vận tải và các khái niệm, tính chất liên quan Mô hình bài toán vận tải
ij > 0}.
Mệnh đề 1: rank A = m + n − 1.
hoai.phamthi@hust.edu.vn
5 / 21
Kí hiệu: T = {(i, j) : i ∈ {1, ..., m}, j ∈ {1, ..., n}}; G(x0) = {(i, j) ∈ T : x0 x0 là pacb không suy biến ⇔ |G(x0)| = m + n − 1. Bảng vận tải của bài toán (PT)
Bài toán vận tải và các khái niệm, tính chất liên quan Điều kiện tồn tại nghiệm
m P i=1
n P j=1
Định lí 1: argmin (VT) 6= ∅ ⇔ ai = bj.
Chứng minh: in class
Ví dụ: Cho bài toán vận tải có
a = (80, 110, 90, 440); b = (85, 75, 280, 280); c = 8 7 1 0 2 5 3 2 5 6 7 3 4 8 5 1
hoai.phamthi@hust.edu.vn
6 / 21
Hỏi bài toán có nghiệm hay không? Điểm X 0 = có phải là một phương án 0 0 85 0 75 0 0 0 5 110 5 160 0 0 0 280 chấp nhận được của bài toán hay không?
Bài toán vận tải và các khái niệm, tính chất liên quan Chu trình và phương án cực biên của bài toán vận tải
Chu trình: Một tập sắp thứ tự của bảng vận tải được gọi là chu trình nếu nó thỏa mãn:
hoai.phamthi@hust.edu.vn
7 / 21
Hai ô cạnh nhau nằm trong cùng một hàng hay một cột; Không có ba ô nằm trong cùng một hàng hay một cột; Ô đầu tiên nằm trong cùng một hàng hay một cột với ô cuối cùng.
Chú ý: Nếu K ⊂ T thỏa mãn tính chất: trên mỗi hàng, mỗi cột của bảng vận tải không chứa ô nào của K hoặc chứa ít nhất hai ô của K thì K chứa chu trình.
Bài toán vận tải và các khái niệm, tính chất liên quan Chu trình và phương án cực biên của bài toán vận tải
Định lí 2: Cho tập các ô K ⊂ T. Khi đó {Aij : (i, j) ∈ K} độc lập tuyến tính khi và chỉ khi K không chứa chu trình.
Hệ quả 1: x0 là pacb ⇔ G(x0) không chứa chu trình. Hệ quả 2: Nếu K ⊂ T, |K| ≥ m + n, m ≥ 2, n ≥ 2 thì K chứa chu trình. Hệ quả 3: Nếu K ⊂ T, |K| = m + n − 1 và (i0, j0) /∈ K. K ko chứa chu trình. Khi đó K ∪ {(i0, j0)} sẽ chứa một chu trình duy nhất.
Ví dụ: Cho bài toán vận tải có
a = (50, 70, 41); b = (30, 60, 46, 25); c = 4 5 8 7 9 2 12 6 9 7 1 1
hoai.phamthi@hust.edu.vn
8 / 21
Hỏi bài toán có nghiệm hay không? Điểm X 0 = có phải là một pacb của bài 30 19 0 0 41 0 1 45 0 0 25 0 toán hay không?
Bài toán vận tải và các khái niệm, tính chất liên quan Chu trình và phương án cực biên của bài toán vận tải
Cách tìm 1 pacb của bài toán vận tải
Phương pháp góc tây bắc Phương pháp cực tiểu chi phí
Ví dụ:
Phương pháp góc tây bắc
Hình 1: Phương pháp góc tây bắc- Bảng 1, 2
hoai.phamthi@hust.edu.vn
9 / 21
Bài toán vận tải và các khái niệm, tính chất liên quan Chu trình và phương án cực biên của bài toán vận tải
Phương pháp góc tây bắc
Hình 2: Phương pháp góc tây bắc- Bảng 3, 4, 5, 6
hoai.phamthi@hust.edu.vn
10 / 21
Bài toán vận tải và các khái niệm, tính chất liên quan Chu trình và phương án cực biên của bài toán vận tải
Phương pháp góc tây bắc
Hình 3: Phương pháp góc tây bắc- Bảng 7, 8, 9, 10
hoai.phamthi@hust.edu.vn
11 / 21
Bài toán vận tải và các khái niệm, tính chất liên quan Chu trình và phương án cực biên của bài toán vận tải
Phương pháp góc tây bắc
Hình 4: Phương pháp góc tây bắc- Bảng 11, 12
Phương pháp cực tiểu chi phí
Hình 5: Phương pháp cực tiểu chi phí- Bảng 1, 2
hoai.phamthi@hust.edu.vn
12 / 21
Bài toán vận tải và các khái niệm, tính chất liên quan Chu trình và phương án cực biên của bài toán vận tải
Phương pháp cực tiểu chi phí
Hình 6: Minh họa phương pháp cực tiểu chi phí- Bảng 3, 4, 5, 6
hoai.phamthi@hust.edu.vn
13 / 21
Bài toán vận tải và các khái niệm, tính chất liên quan Chu trình và phương án cực biên của bài toán vận tải
Phương pháp cực tiểu chi phí
Hình 7: Minh họa phương pháp cực tiểu chi phí- Bảng 7
hoai.phamthi@hust.edu.vn
14 / 21
Thuật toán thế vị giải bài toán vận tải Cơ sở lí thuyết
Định lí 3: Cho x0 là một phương án chấp nhận được của bài toán (PT). Khi đó x0 là nghiệm tối ưu của (PT) khi và chỉ khi
∃ u1, ..., um; v1, ..., vn ∈ R thỏa ui + vj ≤ cij∀(i, j) ∈ T và ui + vj = cij∀(i, j) ∈ G(x0).
Chú ý: Giả sử x0 là pacb ksb. Khi đó
{Aij : (i, j) ∈ G(x0)} độc lập tuyến tính; G(x0) ko chứa chu trình; |G(x0)| = m + n − 1.
Khi đó hệ ui + vj = cij ∀(i, j) ∈ G(x0) có m + n − 1 phương trình và m + n ẩn và do đó có vô số nghiệm. Quy ước: Gán u1 = 0, từ đó tính được u2, ..., um; v1, ..., vn và bộ số này xác định duy nhất.
hoai.phamthi@hust.edu.vn
15 / 21
Bộ số u1, u2, ..., um; v1, ..., vn được gọi là các thế vị tương ứng với pacb x0. Kí hiệu ∆ij = ui + vj − cij ∀(i, j) ∈ T. Khi đó ( x0 ∈ argmin (P T ) ⇔ ∆ij ≤ 0 ∀(i, j) ∈ T ∆ij = 0 ∀(i, j) ∈ G(x0)
Thuật toán thế vị giải bài toán vận tải Cơ sở lí thuyết
Ví dụ: Xác định pacb của các bài toán dưới đây; kiểm tra tính tối ưu của các pacb tìm được? 25 30 60 46 bj
(i)
ai 50 70 41 4 5 8 7 9 2 12 6 9 7 1 2
60 30 40 70 bj
(ii)
ai 50 70 80 2 3 1 4 6 2 5 4 5 1 8 3
60 60 20 10 bj
(iii)
hoai.phamthi@hust.edu.vn
16 / 21
ai 10 20 30 40 50 10 13 4 14 3 20 9 15 7 12 17 12 6 1 5 16 8 9 0 19
Thuật toán thế vị giải bài toán vận tải Cơ sở lí thuyết
Định lí 4: Giả sử biết x0 là 1 pacb ksb của bài toán (PT) có bộ thế vị tương ứng u1, ...., um; v1, ..., vn. Nếu tồn tại (ik, jk) /∈ G(x0) sao cho ∆ikjk > 0 thì ta tìm được pacb x1 tốt hơn x0, tức là f (x1) < f (x0).
Chứng minh: in class
Tập ô G(x0) ∪ (ik, jk) chứa duy nhất một chu trình K. Xuất phát từ ô (ik, jk)+ ∈ K, đánh dấu ô tiếp theo dấu (−), ...
K + = {(i, j) ∈ K : đánh dấu +}, K − = {(i, j) ∈ K : đánh dấu −} ⊂ G(x0).
ij : (i, j) ∈ K −} = x0
irjr
Kí hiệu θ = min{x0 > 0. Xây dựng x1 như sau:
x1 ij = nếu (i, j) ∈ K + nếu (i, j) ∈ K − nếu (i, j) /∈ K x0 ij + θ, x0 ij − θ, x0 ij,
hoai.phamthi@hust.edu.vn
17 / 21
f (x1) = f (x0) − θ∆ikjk
Thuật toán thế vị giải bài toán vận tải Thuật toán thế vị
Sơ đồ khối thuật toán thế vị
Tìm pacb xuất phát x0 ∆ij = ui + vj − cij ∀ (i, j) ∈ G (cid:0)x0(cid:1) Tính bộ thế vị tương ứng u1, ..., um; v1, ..., vn
chuyển bảng mới
Sai (is, js) := argmax (cid:8)∆ij > 0 : (i, j) ∈ G (cid:0)x0(cid:1)(cid:9) ∆ij ≥ 0 ∀ (i, j) ∈ G (cid:0)x0(cid:1)
Đúng XĐ chu trình điều chỉnh K xuất phát từ (is, js)+
1 j =
j + θ; (i, j) ∈ K + 0 j − θ; (i, j) ∈ K − 0 0 j ; (i, j) /∈ K
hoai.phamthi@hust.edu.vn
18 / 21
STOP Kết luận x0 là nghiệm tối ưu xi x0 := x1 xi xi xi
Thuật toán thế vị giải bài toán vận tải Thuật toán thế vị
Nhận xét: Nếu bài toán vận tải ksb thì thuật toán thế vị dừng sau hữu hạn bước lặp.
Nếu lượng phát và lượng thu đều là số nguyên thì nghiệm tối ưu thu được cũng gồm toàn số nguyên. Nếu tại nghiệm tối ưu x0 : ∆ij < 0 ∀(i, j) /∈ G(x0) thì nghiệm tối ưu này là duy nhất. Ngược lại, bài toán có nghiệm tối ưu khác ngoài x0. Tương tự như thuật toán đơn hình, pacb suy biến xuất hiện nếu
θ = 0 : Vẫn thực hiện thuật toán như bình thường, kết quả điều chỉnh không thay đổi pacb nhưng thay đổi hệ vecto cơ sở ứng với pacb. θ đạt được tại nhiều ô khác nhau. Khi đó ta sẽ loại ngẫu nhiên một ô trong đó.
hoai.phamthi@hust.edu.vn
19 / 21
Thuật toán thế vị giải bài toán vận tải Thuật toán thế vị
Giải các ví dụ trước bằng thuật toán thế vị. v2 = 7 v3 = 12 v1 = 4 v4 = 7
bj 46 60 25 30 ai
12 7 7 4 u1 = 0 50 +
30 19 0 1 6 9 5 1 + u2 = −6 70
-8 -7 45 25
30 30 30 30
+ u3 = −5 41
hoai.phamthi@hust.edu.vn
20 / 21
41 1 -9 -2
Bài toán vận tải mở rộng
Bài toán vận tải mở rộng: Bài toán không cân bằng thu phát Bài toán vận tải với ràng buộc bất đẳng thức Bài toán lập kho nhận hàng Bài toán vận tải có ô cấm
hoai.phamthi@hust.edu.vn
21 / 21
Bài toán vận tải dạng max Bài toán phân việc Tự đọc!