Professional Documents
Culture Documents
Final20 05
Final20 05
Nhóm 3
1 Cơ sở lý thuyết
Nhóm 3 Phương pháp thế vị giải bài toán vận tải 21/04/2021 2 / 25
1.Cơ sở lý thuyết
xij ≥ 0, i = 1, m, j = 1, n
Nhóm 3 Phương pháp thế vị giải bài toán vận tải 21/04/2021 3 / 25
1.Cơ sở lý thuyết
xij ≥ 0, i = 1, m, j = 1, n
Nhóm 3 Phương pháp thế vị giải bài toán vận tải 21/04/2021 3 / 25
Cơ sở lý thuyết
Tương tự thuật toán đơn hình giải bài toán quy hoạch tuyến tính, thuật toán thế vị giải
bài toán vận tải cũng phải xuất phát từ một phương án cực biên x 0 . Do bài toán vận tải
luôn có nghiệm nên từ x 0 chỉ có một trong hai trường hợp sau xảy ra:
Nếu x 0 thỏa mãn tiêu chuẩn tối ưu (Định lý về điều kiện cần và đủ để x là phương
án tối ưu) thì dừng thuật toán
Ngược lại, ta chuyển đến một phương án cực biên x 1 thỏa mãn f (x 1 ) ≤ f (x 0 ) và
lặp lại quá trình tính toán mới
Nhóm 3 Phương pháp thế vị giải bài toán vận tải 21/04/2021 4 / 25
Cơ sở lý thuyết
Nhóm 3 Phương pháp thế vị giải bài toán vận tải 21/04/2021 5 / 25
Cơ sở lý thuyết
Chứng minh
(⇒) Giả sử phương án x 0 = (xij0 ) là phương án tối ưu của bài toán vận tải (P).
Theo Định lý đối ngẫu mạnh, bài toán đối ngẫu (D) có phương án tối ưu
y 0 = (u1 , . . . , um , v1 , . . . , vn )T . Do y 0 phải là phương án chấp nhận được của bài toán
đối ngẫu nên nó thỏa mãn mọi ràng buộc của bài toán, tức :
ui + vj ≤ cij , i = 1, m, j = 1, n
Nhóm 3 Phương pháp thế vị giải bài toán vận tải 21/04/2021 5 / 25
Chứng minh Định lý 1 (tiếp)
Giả sử x = (xij ) là một phương án bất kỳ của bài toán vận tải. Ta có:
X n
m X X n
m X m
X n
X n
X m
X
f (x) = cij xij ≥ (ui + vj )xij = ui xij + vj xij
i=1 j=1 i=1 j=1 i=1 j=1 j=1 i=1
m
X n
X m
X n
X n
X m
X m X
X n
= ui ai + vj bj = ui xij0 + vj xij0 = (ui + vj )xij0 = f (x 0 )
i=1 j=1 i=1 j=1 j=1 i=1 i=1 j=1
Vậy x 0 là một phương án tối ưu của bài toán vận tải đang xét.
Nhóm 3 Phương pháp thế vị giải bài toán vận tải 21/04/2021 6 / 25
Cơ sở lý thuyết
Định lý 2
Giả sử x 0 là phương án cực biên không suy biến của bài toán vận tải và
ui , vj , i = 1, ..., m, j = 1, ..., n là các bộ thế vị tương ưng của nó. Nếu
/ G (x 0 ) sao cho ∆ik jk > 0 thì x 0 không phải phương án tối ưu và từ x 0 ta
∃ô(ik , jk ) ∈
chuyển đến được một phương án cực biên x 1 tốt hơn , tức
f (x 1 ) < f (x 0 )
Nhóm 3 Phương pháp thế vị giải bài toán vận tải 21/04/2021 7 / 25
Chứng minh định lý 2
| G (x 0 )| = m + n − 1
⇒
G (x 0 )không chứa chu trình
Theo hệ quả ở phần chu trình, tập G (x 0 ) ∪(ik , jk ) chứa 1 chu trình K duy nhất đi qua
(ik , jk )
Đánh dấu +,- xen kẽ vào các ô trong K, xuất phát từ (ik , jk ) với +
Nhóm 3 Phương pháp thế vị giải bài toán vận tải 21/04/2021 8 / 25
(ik , jk )
+ −
− +
+ −
Nhóm 3 Phương pháp thế vị giải bài toán vận tải 21/04/2021 9 / 25
Xây dựng phương án x 1 = (xij1 ) theo công thức
0 +
xij + θ nếu(i, j) ∈ K
1 0 −
xij = x − θ nếu(i, j) ∈ K
ij 0
xij nếu(i, j) ∈
/K
Với
Nhóm 3 Phương pháp thế vị giải bài toán vận tải 21/04/2021 10 / 25
Do đó x 1 là 1 phương án chấp nhận được của bài toán, dễ thấy:
G (x 1 ) = (G (x 0 ) \ ((ir , jr )) ∪ (ik , jk )
xij0 = 0 ∀(i, j) ∈
/ G (x 0 )
nên giá trị của hàm mục tiêu tại x 0 là :
m X
X n m X
X n
f (x 0 ) = cij xij0 = (ui + vj )xij0
i=1 j=1 i=1 j=1
m
X n
X n
X m
X
= ui xij0 + vj xij0
i=1 j=1 j=1 i=1
m X
X n
f (x 1 ) = cij xij1
i=1 j=1
1 0
Qua biến đổi ta được f (x ) = f (x ) − θ∆ik jk Mà
θ > 0, ∆ik jk > 0 ⇒ ∆ik jk > 0 ⇒ f (x 1 ) < f (x 0 ) ⇒ Định lý được chứng minh .
Nhóm 3 Phương pháp thế vị giải bài toán vận tải 21/04/2021 11 / 25
2.Thuật toán thế vị
Thuật toán thế vị giải bài toán vận tải xuất phát từ một phương án cực biên. Trong
phần này ta sẽ giới thiệu thuật toán thế vị giải bài toán vận tải không suy biến, tức là
các phương án cực biên đều có đúng (m + n - 1) thành phần dương, với giả thiết đã
biết trước một phương án cực biên.
INPUT: Phương án cực biên không suy biến x 0 = (xij0 ) thỏa mãn tập ô chọn tương ứng
với x 0 gồm (m + n - 1) phần tử và không chứa chu trình.
OUTPUT: Phương án tối ưu của bài toán và bảng vận tải ứng với phương án đó
Bước khởi tạo: Giả sử đã biết phương án cực biên không suy biếnx 0 = (xij0 ). Tập ô chọn
tương ứng với x 0 là G (x 0 ) = {(i, j)|xij0 > 0} gồm (m + n − 1) phần tử và không chứa
chu trình.
Bước 1:
Xác định các thế vị ui ,i = 1,...,m và vj ,j = 1,...,n tương ứng với phương án cực biên x 0
bằng việc giải hệ phương trình ui + vj = cij (i, j) ∈ G (x 0 )
Bước 2:Tính các ước lượng
∆ij = ui + vj − cij / G (x 0 )
∀(i, j) ∈
Nhóm 3 Phương pháp thế vị giải bài toán vận tải 21/04/2021 12 / 25
Thuật toán thế vị
Bước 3:(Kiểm tra điều kiện tối ưu)
/ G (x0 )
If ∆ij ≤ 0, ∀(i, j) ∈
Then STOP (x 0 là phương án tối ưu)
Else chuyển sang Bước 4.
Bước 4:(Điều chỉnh phương án)
/ G (x0 )
1. Xác định ô điều chỉnh (is ,js ) với = max ∆ij > 0|(i,j) ∈
2. Tìm chu trình điều khiển duy nhất K trong tập G(x 0 ) ∪(is , js )
3. Đánh dấu lần lượt các ô trong chu trình bởi dấu (+) và (-) với (is , js ) ∈K+
4. Xây dựng phương án mới x 1 = (xij1 ) với
0
xij + θ
(i, j) ∈ K +
1
x = xij0 − θ (i, j) ∈ K −
0
xij (i, j) ∈
/K
và G(x 1 ) không chứa chu trình (tức là x 1 là phương án cực biên mới).
5. Gán x 0 := x 1 ; G (x 0 ) := G (x 1 ) và quay lại Bước 1.
Nhóm 3 Phương pháp thế vị giải bài toán vận tải 21/04/2021 13 / 25
Thuật toán thế vị
Định lí 3.3 Nếu bài toán vận tải không suy biến thì thuật toán thế vị là hữu hạn, tức
sau hữu hạn phép tính ta sẽ nhận được nghiệm tối ưu.
Mệnh đề 3.1 Nếu các lượng phát ai , i = 1,..., m và các lượng thu bj , j = 1,..., n đều
là các số nguyên thì bài toán vận tải (PT) sẽ có nghiệm tối ưu với các thành phần đều
nguyên.
Nhóm 3 Phương pháp thế vị giải bài toán vận tải 21/04/2021 14 / 25
Thuật toán thế vị
Chú ý 3.3 (Dấu hiệu nhận biết phương án cực biên suy biến và cách khắc phục) Tương
tự như khi giải bài toán quy hoạch tuyến tính, trong trường hợp bài toán vận tải suy
biến, có hai dấu hiệu để nhận biết:
i ) θ =0. Khi đó, ta vẫn thực hiện thuật toán một cách bình thường, nghĩa là ô điều
chỉnh (is , js ) sẽ trở thành ô chọn của phương án cực biên mới x1 .
với x 1 = θ , còn ô (is , js ) ứng với xij0 = θ ở trên chu trình điều chỉnh sẽ trở thành ô loại
đối với phương án x 1 .Tuy nhiên, kết quả điều chỉnh không làm thay đổi phương án cực
biên mà chỉ thay đổi tập vecto cơ sở ứng với phương án đó.
ii ) θ đạt tại nhiều ô khác nhau. Khi đó, ta sẽ loại một trong những ô này theo quy tắc
ngẫu nhiên.
Nhóm 3 Phương pháp thế vị giải bài toán vận tải 21/04/2021 15 / 25
Thuật toán thế vị
Chú ý 3.4 (Dấu hiệu bài toán có phương án tối ưu duy nhất và không duy nhất )
i ) Nếu phương án cực biên không suy biến x 0 thỏa mãn tiêu chuẩn :
0
∆ij = ui + vj − cij < 0 , (i,j) ∈G(x
/ )
thì đó là phương án tối ưu duy nhất của bài toán vận tải.
ii )) Ngược lại, nếu phương án cực biên không suy biến x 0 là phương án tối ưu và tồn tại
0
ô (ip , jp ) ∈G(x
/ ) có ∆ip jp = 0 thì x 0 không phải phương án tối ưu duy nhất của bài toán
vận tải. Tương tự thuật toán đơn hình giải quy hoạch tuyến tính, muốn tìm một phương
án cực biên tối ưu khác x 0 , ta chọn (ip , jp ) làm ô điều chỉnh và thực hiện tiếp một sô
bước lặp theo thuật toán thế vị.
Nhóm 3 Phương pháp thế vị giải bài toán vận tải 21/04/2021 16 / 25
Ví dụ
Ví dụ 4.3:
Giải bài toán vận tải bằng thuật toán thế vị với vecto lượng phát a,vecto lượng thu b,
ma trận chi phí C = (cij ) và phương án cực biên xuất phát x 0 như sau:
Nhóm 3 Phương pháp thế vị giải bài toán vận tải 21/04/2021 17 / 25
Giải:
Bài toán này có m = 3 điểm phát và n = 4 điểm thu thỏa mãn điều kiện cân bằng thu
phát. Phương án cực biên x 0 có tập ô chọn tương ứng là:
G (x 0 ) = {(1, 1), (2, 1), (2, 2), (2, 3), (3, 3), (3, 4)}
Nhóm 3 Phương pháp thế vị giải bài toán vận tải 21/04/2021 18 / 25
Giải(tiếp)
Bước 2. Tính các ước lượng tương ứng giữa các ô (i, j) ∈ / G (x 0 ).
ô(1, 2) : ∆12 = u1 + v2 − c12 = 0 + 5 − 4 = 1
ô(1, 3) : ∆13 = u1 + v3 − c13 = 0 + 3 − 5 = −2
ô(1, 4) : ∆14 = u1 + v4 − c14 = 0 + 1 − 1 = 0
ô(2, 4) : ∆24 = u2 + v4 − c24 = 1 + 1 − 8 = −6
ô(3, 1) : ∆31 = u3 + v1 − c31 = 2 + 2 − 1 = 3
ô(3, 2) : ∆32 = u3 + v2 − c32 = 2 + 5 − 2 = 5
Bước 3. Vì các ước lượng có ∆12 = 1 > 0, ∆31 = 3 > 0 và ∆32 = 5 > 0 và các ô
(1, 2), (3, 1), (3, 2) không thuộc G (x 0 ) nên phương án cực biên x 0 chưa phải là phương
án tối ưu.
vj 2 5 3 1
ui bj 60 30 40 70
ai
2 4 5 1
0 50
50 1 -2 0
3 6 4 8
1 70 − +
10 30 30 -6
1 2 5 3
2 80 + −
3 5 10 70
Nhóm 3 Phương pháp thế vị giải bài toán vận tải 21/04/2021 19 / 25
Giải(tiếp)
Bước 4.(Điều chỉnh phương án) Chọn ô (is , js ) = (3, 2) làm ô điều chỉnh vì:
Ghép ô (3,2) vào tập G (x 0 ) ta thu được chu trình K = {(3, 2), (3, 3), (2, 3), (2, 2)} với
K + ={(3, 2), (2, 3)} và K − = {(3,
3), (2,2)}. Khi đó
θ = min xij0 |(i, j) ∈ K − = min x33 0 0
, x22 = min{10, 30} = 10 = x033
Do đó (ir , jr ) = (3, 3). Chuyển sang phương án cực biên mới
50 0 0 0
1
x = 10 20 40 0
0 10 0 70
Nhóm 3 Phương pháp thế vị giải bài toán vận tải 21/04/2021 20 / 25
Giải(tiếp)
Vòng lặp thứ hai. Các bước tính tương ứng với vòng lặp thứ nhất với các số liệu tính
toán tương ứng trong bảng sau:
vj 2 5 3 6
ui bj 60 30 40 70
ai
2 4 5 1
0 50 − +
50 1 -2 5
3 6 4 8
1 70 + −
10 20 40 -1
1 2 5 3
−3 80 + −
-2 10 -5 70
Vì còn ∆12 = 1 > 0, ∆14 = 5 > 0 và các ô (1,2), (1,4) không thuộc G (x 1 ) nên x 1 chưa
phải là phương án tối ưu. Chọn ô (is , js ) = (1, 4) làm ô điều chỉnh:
K = {(1, 4), (1, 1), (2, 1), (2, 2), (3, 2), (3, 4)}
−
với K + = {(1, 4), (2, 1), (3, 2)} và
K ={(1, 1), (2, 2), (3, 4)}
θ = min xij1 |(i, j) ∈ K − = min x11 1 1 1
= min{50, 20, 70} = 20 = x122
, x22 , x34
Nhóm 3 Phương pháp thế vị giải bài toán vận tải 21/04/2021 21 / 25
Giải(tiếp)
Do đó (ir , jr ) = (2,2). Điều chỉnh đến phương án cực biên x 2 mới
30 0 0 20
2
x = 30 0 40 0
0 30 0 50
với giá trị hàm mục tiêu bằng:
f (x 2 ) = f (x 1 ) − θ∆14 = 640 − 20 × 5 = 540
Chuyển sang vòng lặp thứ ba.
Vòng lặp thứ ba.
vj 2 0 3 1
ui bj 60 30 40 70
ai
2 4 5 1
0 50 − +
30 -4 -2 20
3 6 4 8
1 70
30 -5 40 -6
1 2 5 3
2 80 + −
3 30 0 50
Nhóm 3 Phương pháp thế vị giải bài toán vận tải 21/04/2021 22 / 25
Giải(tiếp)
2
Do còn có ∆31 = 3 > 0 và (3,1)∈G(x / ) nên phương án x 2 này chưa phải là phương án
tối ưu. Chọn ô điều chỉnh (is , is ) = (3,1), chu trình điều chỉnh
K = {(3, 1), (3, 4), (1, 4), (1, 1)}
−
với K + = {(3, 4)} 2và K = {(1, 1), (3, 4)}
2 1), 2(1,
và θ = min x34 , x11 = x11 = 30
Tiếp tục hiệu chỉnh ta chuyển sang phương án cực biên x 3 tốt hơn:
0 0 0 50
3
x = 30 0 40 0
30 30 0 20
Nhóm 3 Phương pháp thế vị giải bài toán vận tải 21/04/2021 23 / 25
Giải(tiếp)
Vòng lặp thứ tư.
vj -1 0 0 1
ui bj 60 30 40 70
ai
2 4 5 1
0 50
-3 -4 -5 50
3 6 4 8
4 70
30 -2 40 -3
1 2 5 3
2 80
30 30 -3 20
Nhóm 3 Phương pháp thế vị giải bài toán vận tải 21/04/2021 25 / 25
Nhóm 3 Phương pháp thế vị giải bài toán vận tải 21/04/2021 25 / 25