You are on page 1of 28

Phương pháp thế vị giải bài toán vận tải

Nhóm 3

Giảng viên hướng dẫn: TS. Phạm Thị Hoài


Nhóm sinh viên thực hiện: Nguyễn Tiến Dũng 20185340
Nguyễn Quang Hiếu 20185351
Nguyễn Thị Diệu Linh 20180815
Nguyễn Thanh Long 20185380
Nguyễn Quang Minh 20185385
Nguyễn Ngọc Thìn 20185408
Nguyễn Ngọc Quang 20185395
Nguyễn Thị Xuân Hồng 20185364
Nguyễn Thị Bích Ngọc 20185388
Nguyễn Thị Quý 20185396
Nguyễn Thị Lương 20173550
Nguyễn Thành Nam 20185386
Luyện Đức Mạnh 20142854
Nguyễn Văn Long 20142691
Nguyễn Tiến Vĩ 20185426
Nhóm 3 Phương pháp thế vị giải bài toán vận tải 21/04/2021 1 / 25
Nội dung

1 Cơ sở lý thuyết

2 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 2 / 25
1.Cơ sở lý thuyết

Bài toán vận tải


m X
X n
min f (x) = cij xij (P)
i=1 j=1

Với điều kiện:


n
X m
X
xij = ai , xij = bj
j=1 i=1

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

Bài toán vận tải


m X
X n
min f (x) = cij xij (P)
i=1 j=1

Với điều kiện:


n
X m
X
xij = ai , xij = bj
j=1 i=1

xij ≥ 0, i = 1, m, j = 1, n

Bài toán đối ngẫu


m
X n
X
max g (y ) = ai ui + bj vj (D)
i=1 j=1

Với điều kiện: 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 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 lý 1 (Điều kiện cần và đủ để x là phương án tối ưu)


Phương án x 0 = (xij0 ) của bài toán vận tải (P) là phương án tối ưu khi và chỉ khi tồn tại
các số ui , i = 1, m) và vj , j = 1, n thỏa mãn

ui + vj ≤ cij ∀(i, j) ∈ T (1)


0
ui + vj = cij ∀(i, j) ∈ G (x ) (2)

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

Định lý 1 (Điều kiện cần và đủ để x là phương án tối ưu)


Phương án x 0 = (xij0 ) của bài toán vận tải (P) là phương án tối ưu khi và chỉ khi tồn tại
các số ui , i = 1, m) và vj , j = 1, n thỏa mãn

ui + vj ≤ cij ∀(i, j) ∈ T (1)


0
ui + vj = cij ∀(i, j) ∈ G (x ) (2)

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

Và đây chính là điều kiện (1).


Hơn nữa, vì x 0 là phương án tối ưu của bài toán gốc (P) và y 0 là phương án tối ưu của
bài toán đối ngẫu (D) nên theo Định lý về độ lệch bù, ta có:

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)

<c − AT y 0 , x 0 > = 0 ⇒ nếu xij0 > 0 thì ui + vj = cij


hay điều kiện (2) được thỏa mãn.
(⇐) Cho phương án x 0 = (xij0 ). Giả sử tồn tại các số ui , i = 1, m và vj , j = 1, n thỏa
mãn (1) và (2). Ta chứng minh x 0 là phương án tối ưu.
Thật vậy, do có (1) và do xij0 = 0 với (i, j) ∈
/ G (x 0 ) nên giá trị 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

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

x 0 là phương án cực biên không suy biến

| 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 )
+ −

− +

+ −

K + = các ô có dấu cộng


K − = các ô có dấu trừ

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

θ = min {xij0 | (i, j) ∈ K − } = xi0r jr

Do x 0 là phương án cực biên không suy biến ⇒ θ > 0


Theo cách xây dựng chu trình K và phương án x 1 , ta có xi1k jk = θ > 0
Rõ ràng xij1 ≥ 0∀(i, j)
Vì các ô trong K từng đôi thuộc K + và K − xen kẽ nhau nên:
n
X n
X
xij1 = xij0 = ai , i = 1, m
j=1 j=1
m
X m
X
xij1 = xij0 = bj , i = 1, n
i=1 j=1

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 )

Vì K là chu trình duy nhất chứa trong G (x 0 ) ∪ (ik , jk )


(ir , jr ) ∈ K ⇒ (ik , jk ) không thể tạo thành chu trình với các ô thuộc
G (x 0 ) \ (ir , jr ) ⇒ G (x 1 ) không chứa chu trình ⇒ (x 1 ) là phương án cực biên
Do:
ui + vj = cij ∀(i, j) ∈ G (x 0 )


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

Do G (x ) \ (ir , jr ) = G (x ) \ (ik , jk ) nên ui + vj = cij ∀(i, j) ∈ Gb = G (x 1 ) \ (ik , jk ) , ta có


0 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) ∈

(Luôn có ∆ij = 0, ∀(i, j) ∈ G (x 0 ))


0
Điền các ước lượng ∆ij với (i,j) ∈G(x
/ ) vào góc bên phải của ô (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

trong đó θ =x0ir jr = min { xij0 |(i, j) ∈ K − }. Ta có:

G (x1 ) := (G(x 0 )\(ir , jr )) ∪ (is , js )

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:

a = (50, 70, 80)T b = (60, 30, 40, 70)T


   
2 4 5 1 50 0 0 0
C= 3 6 4 8  x0 =  10 30 30 0 
1 2 5 3 0 0 10 70

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)}

và giá trị hàm mục tiêu f (x 0 ) = 690.


Vòng lặp thứ nhất: Xuất phát từ x 0 :
Bước 1. Xác định các thế vị: Giải hệ phương trình (2) với các ô (i, j) ∈ G (x 0 ) sau khi đã
gán u1 = 0 như sau:

ô(1, 1) : u1 + v1 = C11 = 2 => v1 = 2 − 0 = 2


ô(2, 1) : u2 + v1 = c21 = 3 => u2 = 3 − 2 = 1
ô(2, 2) : u2 + v2 = c22 = 6 => v2 = 6 − 1 = 5
ô(2, 3) : u2 + v3 = c23 = 4 => v3 = 4 − 1 = 3
ô(3, 3) : u3 + v3 = c33 = 5 => u3 = 5 − 3 = 2
ô(3, 4) : u3 + v4 = c34 = 3 => v4 = 3 − 2 = 1

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ì:

∆32 = max{∆12 , ∆31 , ∆32 } = max{1, 3, 5} = 5

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

với giá trị hàm mục tiêu bằng:

f (x 1 ) = f (x 0 ) − θ∆32 = 690 − 10 × 5 = 640

Chuyển sang vòng lặp thứ 2:

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

với giá trị hàm mục tiêu bằng:

f (x 3 ) = f (x 2 ) − θ∆31 = 540 − 30 × 3 = 450

Chuyển sang vòng lặp mới

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

/ G (x 3 ) nên kết thúc thuật toán và


Nhận xét thấy các ước lượng ∆ij < 0 với mọi (i, j) ∈
ta nhận được phương án tối ưu duy nhất
 
0 0 0 50
x∗ = x3 =  30 0 40 0 
30 30 0 20
và giá trị tối ưu là f (x ∗ ) = 450.
Nhóm 3 Phương pháp thế vị giải bài toán vận tải 21/04/2021 24 / 25
Cảm ơn cô và các bạn đã lắng nghe!

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

You might also like