!"#$%&
' ()
Bài toán : Một xí nghiệp vận tải nhận hợp đồng vận tải một loại hàng (ví
dụ : Xi măng) từ trạm phát hàng, ký hiệu là
, i = 1, 2, …, m, đến
trạm nhận hàng, ký hiệu
*
, j = 1, 2, …, n. Biết rằng ở trạm giao G
i
có +
đơn vị hàng (tấn, tạ, m3 v.v…) cần phải được chuyển đi và trạm nhận N
j
cần
phải nhận được đủ
*
đơn vị hàng, (để đơn giản cách trình bày, ta giả thiết 1
đơn vị = 1 tấn) ; chi phí vận tải trọn gói tính cho một tấn hàng từ trạm G
i
đến
trạm N
j
là c
ij
, i = 1, 2, …, m ; j = 1, 2, …, n. Xi nghiệp cần tìm phương án
vận tải, tức là phải xác định sẽ vận chuyển từ G
i
đến N
j
bao nhiêu tấn hàng,
sao cho :
1) Hàng cần chuyển đi ở mỗi trạm phát G
i
sẽ dược chuyển đi hết, i = 1, 2,
…, m ;
2) Khối lượng hàng được yêu cầu ở trạm nhận N
j
sẽ được chuyển đến đủ, j
= 1, 2, …, n;
3) Tổng chi phí vận tải là ít nhất.
', #-".
Để cho bài toán vận tải có thể giải được bằng các phương pháp của Lý
thuyết qui hoạch tuyến tính cần có các giả thiết sau đây
23
:
: Tổng khối lượng hàng phải chuyển đi ở các trạm phát hàng phải bằng
với tổng khối lượng hàng chuyển đến các trạm nhận hàng ; tức là
m n
i j
i 1 j 1
a b
= =
=
∑ ∑
24
(1.1)
, : Hàng được nêu ở đây phải là đồng nhất, tức là cùng loại và chất
lượng như nhau.
25
/ : Có thể vận tải hàng từ bất kỳ một trạm phát G
i
đến bất kỳ một trạm
nhận N
j
.
23
Bài toán vận tải với các giả thiết này được gọi là bài toán vận tải cổ điển.
24
Điều kiện (1.1) được gọi là điều kiện cân bằng và do vậy mô hình bài toán vận tải sau đây
gọi là bài toán vận tải đóng.
25
Điều kiện này ngăn ngừa các nhu cần vận tải đặc biệt
!"#$%&' 128
0 : Khối lượng hàng vận tải từ một trạm phát G
i
đến một trạm nhận N
j
là
không hạn chế.
: Tổng chi phí vận tải tỉ lệ (phụ thuộc tuyến tính) với khối lượng vận
tải.
Trên thực tế người ta có nhiều cách khắc phục khi các giả thiết từ 1 đến
4 không thỏa mãn. Tuy nhiên, nếu giả thiết GT5 không thỏa mãn thì không
thể ứng dụng các phương pháp sẽ trình bày trong chương này để giải bài
toán vận tải.
'/1##2+ !"#$%&
Với các giả thiết trên đây, mô hình toán học của bài toán vận tải cổ điển
có thể được trình bày như sau : Gọi x
ij
là số tấn hàng mà xí nghiệp sẽ chuyển
từ trạm phát G
i
đến trạm nhận N
j
, i = 1, 2, …, m ; j = 1, 2, …, n ; Z là tổng
chi phí vận tải.
x
ij
i j
Ta có mô hình toán học như sau :
Tìm 3× số thực x
ij
, i = 1, 2, …, m ; j = 1, 2, …, n thỏa mãn các điều kiện :
____
n
ij i
j 1
____
m
ij j
i 1
____ ____
ij
m n
ij ij
i 1 j 1
x a ,i 1,m
x b , j 1,n
x 0,i 1,m;1,n
Z c x min
=
=
= =
= =
∑
= =
∑
≥ =
= →
∑ ∑
(1.2)
Dễ thấy rằng khi a
i
, b
j
, c
ij
, i = 1, 2, …, m ; j = 1, 2, …, n, cho trước thì bài
toán (1.2) là bài toán QHTT cho ở dạng chuẩn gồm ( ràng buộc và
×
biến số. Một ma trận X gồm các số thực x
ij
không âm thỏa mãn m+n ràng
buộc được gọi là #)*+,. Một phương án vận tải cho tổng chi phí
vận tải thấp nhất được gọi là phương án vận tải tối ưu (hay nói gọn là
#)).
Ký hiệu
!"#$%&' 129
1
____ ___
m
ij
1
n
0
0
a
1 i
0
a
P ; P ;i 1,m, j 1,n
b
0
1 m j
b
0
0
÷
÷
÷
÷
¬
÷
÷
÷
÷
÷
÷
= = = =
÷
÷
÷
÷
÷
÷
÷
¬ +
÷
÷
÷
÷
÷
÷
(1.3)
Khi đó bài toán vận tải (5.2) có thể viết dưới dạng :
m n
ij ij
i 1 j 1
____ ___
ij
m n
ij ij
i 1 j 1
P x P
x 0,i 1,m, j 1,n
Z c x min
= =
= =
=
∑ ∑
≥ = =
= →
∑ ∑
(1.4)
Dễ thấy rằng ma trận hệ số của bài toán (5.4) có dạng :
A = [P
11
, P
12
, …, P
1n
, P
21
, P
22
, …, P
2n
, …, P
m1
, P
m2
, …, P
mn
] =
1 1 1 1 0 0 0 0 0 0
2 0 0 0 1 1 1 0 0 0
m 0 0 0 0 0 0 1 1 1
m 1 1 0 0 1 0 0 1 0 0
m 2 0 1 0 0 1 0 0 1 0
.
m n
=
+
+
+
0 0 1 0 0 1 0 0 1
÷
÷
÷
÷
÷
÷
÷
÷
÷
÷
÷
(1.5)
Bài toán (1.2) hay (1.4) là bài toán QHTT cho ở dạng chuẩn, nên có thể
giải nó bằng một trong những phương pháp đã trình bày ở chương IV. Tuy
!"#$%&' 130
nhiên, do các phần tử của A chỉ gồm các số 1 và 0 và hệ ràng buộc có dạng
đơn giản, nên có thể phát triển các phương pháp khác để giải bài toán. Một
trong các phương pháp ấy gọi là phương pháp thế vị.
,4#5#6"#2+ !"
,'4-"%78#
(94,' : !-./*0121340*+,51367$89,1:;0
<1-.=4>67$79.
:-3 : Điều kiện cần là hiển nhiên. Ta chứng minh điều kiện đủ. Giả
sử có điều kiện cân bằng (1.1). Ký hiệu T =
m n
i j
i 1 j 1
a b
= =
=
∑ ∑
. Khi ấy dễ thấy rằng
X = ((x
ij
))
mxn
với
i j
ij
a .b
x
T
=
; i = 1,2,…,m và j = 1, 2,…, n (2.1)
là một phương án vận tải chấp nhận được. Như vậy, tập chấp nhận được của
bài toán vận tải (là bài toán QHTT) khác trống. Để chứng minh tính giải
được của bài toán vận tải chỉ cần chứng tỏ rằng hàm mục tiêu Z trong (1.2)
bị chặn dưới. Thật vậy, vì ∀ij, 0 ≤ x
ij
≤ min{a
i
, b
j
}, nên dễ thấy rằng
{ }
{ }
ij ij ij ij
m n
ij ij ij ij ij ij ij ij i j ij
i, j
i 1 j 1 c 0 c 0 c 0 c 0
Z c x c x c x c x min min a ,b c
= = ≥ < < <
= = + ≥ ≥ ×
∑ ∑ ∑ ∑ ∑ ∑
Vế phải ở biểu thức trên là hằng số nên Z bị chặn dưới. Theo tính chất 2 của
bài toán QHTT, bài toán (1.2) là giải được.ª
,',4#5#2+3;9<-"#6=>
(94,', : '?; ,)@A240*+,*B1-.=4>67$79
sẽ có nhiều nhất(C70#/D)E;0r[A] = m+n –1.
:-3 : 1) Dễ thấy rằng, nếu m+n-1 ràng buộc bất kỳ trong (1.2) thỏa
mãn thì ràng buộc cuối cùng (thứ m+n) cũng thỏa mãn, tức là r[A] ≤ m+n –
1. 2) Mặt khác, ma trận hệ số A có một định thức con cấp m+n-1 khác 0 bao
gồm các vectơ cột P
1n
, P
2n
,…,P
m,n
, …, P
11
, P
12
,…,P
1,n-1
như sau :
!"#$%&' 131
1 0 0 1 1 1
0 1 0 0 0 0
0 0 1 0 0 0
1 0
0 0 0 1 0 0
0 0 0 0 1 0
0 0 0 0 0 1
∆ = = ≠
Như vậy bài toán vận tải cổ điễn sẽ có ý nghĩa, nếu m.n – (m+n-1) > 0 ; tức
là m > 1 và n > 1. Trên thực tế, nếu m =1 hoặc m = 1 thì bài toán vận tải cổ
điễ chỉ có duy nhất một phương án vận tải. Do đó việc lựa chọn phương án
án vận tải tối ưu sẽ không còn có ý nghĩa nữa.
,'/?@@-3;A76- !"
Từ định lý 2.2 suy ra rằng, bất cứ phương án vận tải nào của bài toán
(1.2) có nhiều hơn m+n-1 thành phần dương đều không phải là phương án cơ
sở, do đó phương án ấy sẽ không được xét đến trong quá trình giải bài toán
vận tải. Tuy nhiên, do mỗi phương án vận tải được cho dưới dạng ma trận
không âm X, gồm hàng và cột, và, nếu lớn thì số phần tử của X
cũng rất lớn (= F), nên rất khó kiểm tra xem đó có phải là phương án cơ
sở hay không. Từ tính chất của phương án cơ sở của bài toán QHTT (Đlí 1.1,
chương IV), suy ra rằng, nếu X là phương án cơ sở của bài toán QHTT (1.2)
và F
G
HI, với 1≤ i ≤ m ; 1 ≤ j ≤ n, thì các vectơ điều kiện P
ij
sẽ 1J;+#
.
Thông thường, với lớn thì thứ nguyên của P
ij
(có ( thành phần)
cũng lớn. Vì vậy có khó khăn trong việc kiểm tra tính độc lập tuyến tính của
một hệ các vectơ đó. Để khắc phục nhược điểm này, lý thuyết về mô hình
bài toán vận tải đã đề xuất một phương pháp kiểm tra tính độc lập tuyến tính
của một hệ vectơ P
ij
thông qua việc tìm K (hay còn gọi là D=-)
trong hệ vectơ ấy. Vậy một chu trình ở đây được định nghĩa như thế nào?
Trước hết, phương pháp thế vị (sẽ trình bày sau đây) giải bài toán vận
tải dưới dạng bảng :
!"#$%&' 132
Bảng 5.1
Trạm
giao
Trạm nhận
N
1
b
1
N
2
b
2
… N
j
b
j
… N
n
b
n
G
1
a
1
c
11
B
c
11
B
… c
1j
B
*
… c
11
B
G
2
a
2
c
21
B
,
c
22
B
,,
… c
21
B
,
… c
2n
B
,
… … … … … … …
G
i
a
i
c
i1
B
c
i2
B
,
… c
ij
B
*
… c
in
B
… … … … … … …
G
m
a
m
c
m1
B
3
c
m2
B
3,
… c
mj
B
3*
… c
mn
B
3
(,' : &
7
8
L
@
;0M@2@*0G
7
G
8
LG
@
;0M@2@
+$1<DN1
1 1 2 1 2 2 s 1 s 1 s s 1 s s
i j i j i j i j i j i j
G N ,G N ,G N , ,G N ,G N ,G N
− − −
−−−−−→ −−−−−→ −−−−−→ −−−−−→ −−−−−→ −−−−−→
(2.2)
;0;JK*+,
@
*B+G
@
@O
8P
7
→
G
7
→
8
→
G
8
→
$$$
→
@C7
→
G
@C7
→
@
→
G
@
Nếu thêm vào (2.2) đoạn vận tải G
i1
N
js
, thì (2.2) trở thành một chu trình
vận tải, hoặc gọi tắt là một chu trình:
(i
1
, j
1
) (i
2
, j
1
) (i
2
, j
2
) . . . (i
s-1
, j
s-1
) (i
s
, j
s-1
) (i
s
, j
s
) (i
1
, j
s
) (2.3)
Q+FR :
- Mỗi tổ hợp (i
k
, j
l
) trong chu trình (2.3) ứng với một ô trong bảng vận tải ; số
lượng ô như vậy là số chẵn (= 2s).
- Mỗi hàng hoặc mỗi cột hiện trong chu trình (2.3) đều có đúng hai ô.
DS : Khi s = 3, ta có chu trình gồm 6 ô và cứ mỗi hàng i
1
, i
2
, i
3
và mỗi cột
j
1
, j
2
, j
3
thì có đúng hai ô đại diện :
(i
1
, j
1
) (i
2
, j
1
) (i
2
, j
2
)(i
3
, j
2
)(i
3
, j
3
)(i
1
, j
3
)
26
Trong (2.2) một số đoạn vận tải phải được hiểu ngược lại. Tức là đoạn N
jk
→G
ik+1
, phải được
hiểu là G
ik+1
→ N
jk
, k=1,2,…,s
!"#$%&' 133
Bảng 5.2
. . . . . . N
j1
. . . N
i2
. . . N
i3
. . .
. . . . . . . . . . . . . . . . . . . . . . . .
G
i1
(i
1
, j
1
) . . . . . . . . . (i
1
, j
3
) . . .
. . . . . . . . . . . . . . . . . . . . . . . .
G
i2
. . . (i
2
, j
1
) . . . (i
2
, j
2
) . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
G
i3
. . . . . . . . . (i
3
, j
2
) . . . (i
3
, j
3
) . . .
. . . . . . . . . . . . . . . . . . . . . . . .
Mỗi ô (i,j) trong chu trình ứng với biến x
ij
và do đó ứng với vectơ điều kiện
P
ij
. Giữa dây chuyền (2.3) và các vectơ điều kiện tương ứng có mối quan hệ
sau đây :
(94,'/ : &T;0+#:#U6G901<4,*+,VE;0TW
X6G9Y$&*Z)
G
6G9
∈
T;01J;+#*0M
@U6G9)EU3;+#KD
68$[9$
:-3 : Ở đây chỉ chứng minh điều kiện cần.
27
Giả sử các P
ij
là độc
lập tuyến tính và trong số các ô thuộc S có chu trình dạng (2.3). Dễ dàng
kiểm tra tính đúng đắng của đẵng thức sau đây :
1 1 2 1 2 2 3 2 s s 1 s
i j i j i j i j i j i j
P P P P P P 0− + − + + − =
Tức là các vectơ P
ij
tương ứng là phụ thuộc tuyến tính. Điều này trái với giả
thiết.ª
Từ định lý 1.1, chương IV, ta thấy rằng ma trận X là lời giải cơ sở của
bài toán vận tải khi và chỉ khi trong tập hợp các ô (i,j) ứng với x
ij
> 0 không
tồn tại chu trình dạng (2.3). Do hạng của ma trận các ràng buộc bằng ((C
79, nên bất cứ một phương án vận tải X nào đó mà có nhiều hơn 6(C79
thành phần dương đều không phải là phương án cơ sở. Tuy nhiên, để kiểm
tra xem một phương án vận tải có phải là phương án cơ sở hay không, còn
phải xét xem liệu trong tập hợp các ô dương (có khối lượng vận tải thật sự)
đó có tồn tại chu trình hay không. Vấn đề còn lại là xây dựng một phương
pháp để kiểm tra xem liệu trong tập hợp các ô chọn sẵn nào đó có tồn tại chu
trình dạng (2.3) hay không ?
)##KKJ+#:#T\UB :
27
Điều kiện đủ được chứng minh trong NOZZICKA F., HOLLATZ H., BANK B.,
GUDDAT J., Theorie der linearen Optimierung, Akademie Verlag, Berlin, 1974
!"#$%&' 134
Trước hết ta nhận thấy rằng trong tập hợp các ô nằm trong dây chuyền
dạng (2.3) mỗi hàng hoặc mỗi cột có mặt trong chu trình đều có hai đại diện.
Vì vậy, những hàng và cột nào chỉ có 1 ô nằm trong tập S thì các ô đó không
thể nằm trong bất kỳ chu trình nào tạo nên từ các ô thuộc S. Suy ra có thể
loại bỏ dần các ô thuộc S bằng cách gạch bỏ các hàng hoặc cột nào chỉ chứa
một ô thuộc tập S. Sau khi tiến hành việc gạch bỏ lần một, sẽ có một số
hàng, cột trước đây có nhiều hơn hai ô nằm trong S, nay chỉ còn một ô (do
một số ô trước đó dã bị gạch), thì ô còn lại cũng không thể nằm trong bất kỳ
chu trình nào. Do đó cũng sẽ bị gạch đi, bằng cách gạch bỏ hàng, cột tương
ứng v.v…. Quá trình gạch bỏ như vậy sẽ được lập đi lặp lại liên tục cho đến
khi có một trong hai trường hợp sau đây xãy ra :
1) Tất cả các ô trong S dều bị gạch. Trong trường hợp này, trong tập S
không tồn tại chu trình dạng (2.3).
2) Trong mỗi hàng hoậc cột còn lại có ít nhất hai ô chưa bị gạch. Trong
trường hợp này trong tập S tồn tại ít nhất một chu trình (2.3). Một chu
trình này được tìm ra như sau : Chọn i
1
là một hàng bất kỳ trong số các
hàng còn lại. Trên hàng i
1
chọn một ô chưa bị gạch bất kỳ, giải sử đó là ô
(i
1
, j
1
). Suy ra cột j
1
cũng chưa bị gạch. Chọn trên cột này một ô chưa bị
gạch bất kỳ, giả sử đó là ô (i
2
, j
1
). Khi ấy hàng i
2
cũng chưa bị gạch. Do
đó tiềp tục chọn ô chưa bị gạch trên hàng i
2
, giả sử đó là ô (i
2
, j
2
) v.v….
Cứ tiếp tục như vậy, vì tập hợp các ô chưa bị gạch là hữu hạn, nên sau
một số hữu hạn bước sẽ tìm thấy một ô (i
s
, j
s
) sao cho i
s
= i
λ
, với 1≤ λ ≤ s
và ta có chu trình dạng
1 1 1 s 1 s s
(i , j )(i , j )(i , j ) (i , j )(i , j )
λ λ λ+ λ λ+ λ+ − λ
Có nhiều dây chuyền Không có dây chuyền
&] : Nếu trong tập hợp S chỉ có duy nhất một chu trình thì sau quá trình gạch bỏ
hàng cốt như trên, mỗi hàng cột còn lại sẽ chứa đúng 2 ô chưa bị gạch. Các ô này
đều xuất hiện trong chu trình.
Tóm lại, người ta có thể kiểm tra xem liệu một phương án vận tải cho
trước có phải là phương án cơ sở hay không bằng cách thực hiện hai bước :
!"#$%&' 135
*.*.
****
*.
**
.*.*
* * . .
. * * .
. . * .
. . * *
. . . *
÷
÷
÷
÷
÷
÷
1) Nếu số thành phần dương lớn hơn 6(C79 thì phương án đã cho không
phải là phương án cơ sở.
2) Nếu số thành phần dương nhỏ hơn 6(C79 nhưng trong số các ô ứng
với các thành phần dương tồn tại dây chuyền loại (2.3) thì phương án đã
cho cũng không phải là phương án cơ sở.
Mặt khác, giả sử X = ((x
ij
)), i = 1, 2, …, m ; j = 1, 2, …, n, là phương án
vận tải nào đó và qua quá trình kiểm tra như trên, ta nhận biết được rằng đó
là phương án cơ sở của bài toán vận tải (2.2) ; tức là số phần tử dương không
quá 6(C79 và các ô tương ứng với các phần tử dương không tạo nên dây
chuyền. Không giảm tổng quát, giả sử số phần tử dương trong X đúng bằng
6(C79
8^
và S là tập hợp các vectơ P
ij
ứng với các ô tương ứng. Nếu bổ
sung thêm một ô, giả sử là (k, l), thì hệ vectơ P
ij
, (i,j)∈ S’ = S∪{(k, l)} là phụ
thuộc tuyến tính. The định lý 2.3 trong S’sẽ tồn tại chu trình và chu trình này
sẽ phải qua ô (k, l). Ta có hệ quả sau đây :
CD2+,' : QT;0+#:#UE*B4)@AF
G
6"_;0U
)@A9*06;9;0U4`a01<0)@AK@U6G9
∈
T*0U
6;9\D`JD=-1U6;9$
,'0%E-F?#2+ !"#$%& :
Xét bài toán vận tải dạng ma trận (1.4)
m n
ij ij
i 1 j 1
____ ___
ij
m n
ij ij
i 1 j 1
P x P
x 0,i 1,m, j 1,n
Z c x min
= =
= =
=
∑ ∑
≥ = =
= →
∑ ∑
(2.4)
Đây là bài toán QHTT cho ở dạng chuẩn, có m+n ràng buộc và mxn biến số.
Ưng dụng phương pháp thành lập bài toán đối ngẫu ứng với bài toán QHTT
bất kỳ, ta có 401b ứng với bài toán vận tải (2.4) như sau :
Tìm w*∈R
m+n
, thỏa mãn :
28
Nếu số phần tử dương của X nhỏ hơn m+n-1 thì tương tự như phần Lý thuyết qui hoạch
tuyến tính, ta nói X là phương án cơ sở thoái hoá. Trong trường hợp này bao giờ cũng có thể
bổ sung thêm các phần tử bằng 0, để cho tập hợp các ô tương ứng trở thành tập hợp biến cơ sở
và tập hợp các vectơ P
ij
tương ứng biểu diễn một cơ sở của R
m+n-1
!"#$%&' 136
____ ____
ij ij
W P,w max
P ,w c ; i 1,m; j 1,n
= →
≤ = =
Đặt w = (u
1
,u
2
, …,u
m
,v
1
,v
2
, …,v
n
), bài toán trên có thể viết lại thành :
K số thực
*
i
u
và số thực
*
j
v
, i = 1,2,…,m và j = 1, 2, …,n thoả
mãn :
m n
i i j j
i 1 j 1
____ ____
i j ij
W a u b v max
u v c ;i 1,m; j 1,n
= =
= + →
∑ ∑
+ ≤ = =
(2.5)
Theo định lý 2.1 thì bài toán vận tải cổ điển luôn luôn giải được. Vậy theo lý
thuyết đối ngẫu, bài toán (2.5) cũng luôn luôn giải được. Suy ra bao giờ cũng
tìm thấy ma trận X
0
là phương án vận tải và w
0
= (u
0
, v
0
) là phương án của
(2.5) để cho
m n m n
0 0 0
min ij ij i i j j max
i 1 j 1 i 1 j 1
0 0 0
i j ij ij
Z c x a u b v W
u v c , (i, j): x 0
= = = =
= = + =
∑ ∑ ∑ ∑
+ = ∀ >
(2.6)
Từ (2.6) có thể suy ra điều kiện cho phép nhận biết một phương án vận tải X
0
cho trước có phài là phương án vận tải tối ưu hay không ? Điều kiện này thể
hiện trong định lý sau đây :
(94,'0 : )*+,c
I
;0#)K`(@
d
0
i
u
*0
0
j
v
W78LVGW78L@
0
i
u
+
0
j
v
≤ c
ij
, i = 1,2,…,m ; j = 1,2,…,n (2.5)
0
i
u
+
0
j
v
= c
ij
khi
0
ij
x
> 0 (2.6)
:-3
29
: Điều kiện (2.8) chứng tỏ rằng w
0
= (u
0
, v
0
) là phương án
chấp nhận được của bài toán (2.5). Mặt khác :
Z(X
0
) =
0
ij
m n
0 0
ij ij ij ij
i 1 j 1
x 0
c x c x
= =
>
= =
∑ ∑ ∑
m n
0 0
i i j j
i 1 j 1
a u b v
= =
+
∑ ∑
= W(w
0
)
Từ đây suy ra X
0
là phương án tối ưu của bài toán vận tải (1.2) và w
0
là
phương án tối ưu của bài toán đối ngẫu (2.5).ª
29
Bạn đọc có thể chứng minh định lý này mà không dựa vào lý thuyết đối ngẫu bằng cách
dựa vào định lý : Hai bài toán QHTT là tương đương nếu hàm mục tiêu chỉ phân biệt nhau bởi
một hằng số. Hãy đặt c
ij
’ = c
ij
– (u
i
0
+ v
j
0
), ∀ij. Khi đó c
ij
’≥ 0 và ứng với bài toán cải biên (với
c
ij
’) thì Z’(X
0
) = 0 do c
ij
’ = 0 khi x
ij
0
> 0. Vì Z’(X) ≥ 0 nên X
0
là phương án tối ưu.
!"#$%&' 137
Định lý 2.4 cho phép phát triển một phương pháp khác với phương pháp
đơn hình để giải bài toán vận tải. Phương pháp này gọi là phương pháp thế vị
sẽ được trình bày ở phần §3 sau đây.
GH : Điều kiện tối ưu trong định lý 2.4 làm nổi bật ý nghĩa kinh tế của bài toán đối ngẫu.
Vì các
0
i
u
,
0
j
v
không bị hạn chế về dấu, nên có thể giả thiết rằng (-
0
i
u
) là đơn giá mỗi đơn
vị hàng ở trạm phát G
i
, i = 1, 2, …, m và sau khi được chuyển đến trạm nhận N
j
, giá của mỗi
đơn vị hàng trở thành
0
j
v
, j = 1, 2, …, n. Như vậy, trên thực tế khi một đơn vị hàng được vận
chuyển từ G
i
đến N
j
, đơn giá của nó được tăng lên một khoản bằng
0
j
v
-(-
0
i
u
) =
0
j
v
+
0
i
u
. Sự
gia tăng giá trị này chỉ có thể lý giải được bởi chi phí vận tải. Từ (2.8) suy ra, nếu phương án
vận tải X
0
chưa phải là tối ưu thì sẽ có ít nhất một cặp (i’,j’) với
0
i' j'
x 0>
nhưng
0
j
v
+
0
i
u
≠
c
i’j’
. Đặc biệt có thể
0
j
v
+
0
i
u
< c
i’j’
hay
0
j
v
< [c
i’j’
+ (-
0
i
u
)] ; tức là đơn giá hàng ở nơi nhận N
j’
lại nhỏ hơn tổng đơn giá hàng ở trạm giao G
i‘
và chi phí vận tải. Điều này rõ ràng là không
hợp lý (không có ý nghĩa kinhtế).
/I76-AA. J-" !"
Như các phần trên đã chỉ rõ, bài toán vận tải (1.2) là bài toán qui hoạch
tuyến tính thông thường. Vì vậy, có thể áp dụng một trong các phương pháp
đã trình bày trong chương 4 để tìm phưong án vận tải tối ưu. Tuy nhiên, khi
và là những số tương đối lớn thì việc dùng phương pháp đơn hình để
giải bài toán vận tải có thể sẽ không có hiệu quả kinh tế. Cấu trúc đơn giản
của ma trận hệ số các ràng buộc (các phần tử của ma trận chỉ bao gồm hai số
1 hoặc 0) đã tạo điều kiện phát triễn một phương pháp khác, gọi là phương
pháp thế vị, giải bài toán vận tải. Phương pháp này bao gồm các bước chủ
yếu sau đây :
1) Tìm phương án vận tải xuất phát (phương án cơ sở)
2) Kiểm tra tiêu chuẩn tối ưu (định lý 2.4)
3) Điều chỉnh phương án
/'I76-AA3A76-#6=>B?5A
[$7$7)##5
Các phương pháp tìm phương án cơ sở xuất phát sẽ trình bày dưới đây
đều thực hiện ở dạn bảng 2 chiều, chỉ phân biệt nhau bởi cách chọn ô phân
phối ban đầu. Vì vậy trước hết chúng ta trình bày phương pháp tổng quát.
!"#$%&' 138
Toàn bộ phương pháp bao gồm một bước tổng quát : Chọn ô để phân phối.
Giả sử ngay từ ban đầu, giả thiết rằng mọi a
i
, b
j
đều dương
30
.
eB5: Chọn ô (k,l) bất kỳ trong số các ô chưa được phân phối (gọi
là ô chưa có hàng). Ô (k,l) được gọi là ô chọn. Đặt
{ }
kl k l
x min a ,b=
(3.1)
Có 3 trường hợp xãy ra :
a) a
k
< b
l
: Khi đó x
kl
= a
k
và toàn bộ số hàng hiện có ở G
k
sẽ được chuyển
về N
l
. Do vậy trạm G
k
không còn hàng để chuyển đến các trạm thu khác.
Suy ra x
kj
= 0, j ≠ l ; ô (k,j) tương ứng được coi là có hàng với số lượng
bằng 0 (được gọi là ô loại). Trạm G
k
, do vậy bị gạch đi (loại khỏi việc
xét tìm phương án xuất phát). Nhu cầu của trạm nhận N
l
còn lại là
'
l
b
= b
l
– a
k
> 0.
b) b
l
< a
k
: Khi đó x
kl
= b
l
và toàn bộ số hàng cần ở N
l
sẽ được chuyển về đủ
từ G
k
. Do vậy trạm N
l
không còn có thể nhận hàng từ các trạm phát hàng
khác. Suy ra x
il
= 0, i ≠ k ; ô (i,l) tương ứng được coi là có hàng với số
lượng bằng 0 (được gọi là ô loại). Trạm N
l
, do vậy bị gạch đi (loại khỏi
việc xét tìm phương án xuất phát). Số hàng còn lại ở trạm G
k
là
'
k
a
= a
k
–
b
l
> 0.
c) a
k
= b
l
: Khi đó x
kl
= a
k
= b
l
và trạm phát G
k
đã chuyển hết hàng về trạm
nhận N
l
và ngước lại trạm này cũng đã nhận đủ hàng từ G
k
. Do đó G
k
không còn hàng để chuyển đến các trạm thu khác và N
l
không còn có thể
nhận hàng từ các trạm phát. Đến đây có thể loại bỏ đồng thời trạm G
k
và
trạm N
k
. Tuy nhiên, nếu ô (k,l) chưa phài là ô chọn cuối cùng (ô thứ
(C7), thì việc loại bỏ đồng thời như vậy sẽ làm cho phương án cơ sở
thiếu ô chọn
31
. Trong trường hợp này, người ta có hai cách tiến hành.
E`, nếu trong bảng vận tải còn ít nhất hai trạm phát chưa bị gạch,
thì gạch bỏ trạm phát G
k
và đặt x
kj
= 0, j ≠ l các ô (k,j) tương ứng được
coi là có hàng với số lượng bằng 0 (được gọi là ô loại) ; nhu cầu hàng ở
trạm N
l
sẽ là
'
l
b
= b
l
– a
k
= 0 (trạm N
l
vẫn thuộc diện xét ở bước sau).
E, nếu trong bảng vận tải còn ít nhất hai trạm thu chưa bị gạch, thì
gạch bỏ trạm thu N
l
và đặt x
il
= 0, i ≠ k ; các ô (i,l) tương ứng được coi
là có hàng với số lượng bằng 0 (được gọi là ô loại) ; số hàng còn lại ở
trạm G
k
sẽ là
'
k
a
= a
k
– b
l
= 0 (trạm G
k
vẫn thuộc diện xét ở bước sau).
Thuật toán này sẽ dừng lại, nếu có đủ (7 ô chọn. Trong trường hợp
ngược lại, thuật toán sẽ tiếp tục bằng cách lặp lại bước này và chỉ xét những
30
Giả thiết này không phải là hạn chế. Vì nếu có trạm phát nào đó không có hàng chuyển đi
hoặc có trạm thu nào đó không cần nhận hàng, thì trạm phát hoặc trạm thu ấy sẽ không có ý
nghĩa đối với bài toán vận tải.
31
Trường hợp này xuất hiện khi phương án cơ sở là thoái hóa (suy biến)
!"#$%&' 139
ô chưa phân phối. Các bảng vận tải, sau khi đã gạch bỏ một hàng hoặc một
cột, được gọi là bảng vận tải rút gọn.
(94/' : +@f]*BJ#)*+,)@A.
:-3 : Trước hết ta chứng minh rằng ma trận X nhận được qua thuật
toán trên là một phương án vận tải. Chứng minh được tiến hành theo phương
pháp qui nạp theo p = m+n. Trước hết với p = 2, tức là m = n = 1. Do điều
kiện cân bằng nên có trường hợp c) : a
k
= b
l
. Đây là phương án duy nhất. Giả
sử định lý đúng với p = k-1 ; tức là đối với mọi bài toán vận tải có m+n = k-
1, thuật toán trên kết thúc bằng một phương án vận tải. Ta chứng minh cho
trường hợp p = k. Giả sử ô chọn đầu tiên của bài toán là ô (i
1
,j
1
), 1≤ i
1
≤ m, 1≤
j
1
≤ n. Không giảm tổng quát, giả sử a
i1
≤ b
j1
. Ap dụng trường hợp a) hoặc c)
ta có
1 1 1 1
i j i i j 1
x a ;x 0, j j= = ∀ ≠
và
1 1
'
j j i
b b a 0.= − ≥
Sau đó hàng i
1
bị gạch đi
và bài toán vận tải rút gọn còn m-1 hàng và n cột ; tức là m-1 + n = p –1 = k-
1. Theo giả thiết qui nạp, nếu áp dụng thuật toán trên cho bài toán vận tải ]
" ta sẽ có phương án vận tải X’ là ma trận có m-1 hàng và n cột thỏa mãn
1 1
1
____ ____
n m m
' ' '
ij i 1 ij j 1 ij1 j i
j 1 i 1 i 1;i i
x a ,i i , j 1,n; x b , j j , j 1,n; x b a
= = = ≠
= ≠ = = ≠ = = −
∑ ∑ ∑
Đặt
____
'
ij ij 1
x x ,i i , j 1,n= ≠ =
. Dễ thấy rằng ma trận X bổ sung thêm hàng i
1
là
phương án vận tải của bài toán với #W. Tiếp theo ta ssẽ chứng minh X là
phương án cực biên. Trước hết, chỉ các phần tử trong các ô chọn (k,l) mới có
thể nhận các giá trị dương. Qua mỗi bước sẽ có đúng một ô được chọn làm U
" và liền sau đó có đúng một trạm giao hoặc một trạm nhận bị gạch đi
(trừ bước cuối cùng). Vì vậy số ô chọn chỉ có thể là m+n-1. Suy ra số ô nhận
giá trị dương nhiều nhất bằng m+n-1. Mặt khác, nếu gọi S là tập hợp các ô
chọn, thì bằng cách thực hiện phương pháp tìm chu trình như phần 2.3 sẽ
thấy rằng trong S không có chu trình (thực hiện ngược lại quá trình tìm ô
chọn). Do đó theo định lý 2.3, tập hợp các vectơ P
ij
ứng với các ô chọn là độc
lập tuyến tính. Suy ra X là phương án cơ sở của bài toán vận tải.ª
&]:
1) Ban đầu bao giờ cũng giả thiết a
i
> 0, b
j
> 0, ∀ij, vì, nếu a
i
= 0 hoặc b
j
= 0, thì
trạm giao G
i
hoặc trạm nhận N
j
không còn có ý nghĩa đối với bài toán. Do đó có
thể bị loại đi. Tuy nhiên, trong quá trình thực hiện thuật toán, ở các bảng vận tải
rút gọn có thể có những a
i
= 0 hoặc b
j
= 0. Khi ấy các trạm giao G
i
hoặc trạm
nhận N
j
vẫn phải được giữ lại để xét tiếp. Khi ấy ta có lời giải thoái hóa (số
phần tử dương nhỏ hơn là (C7).
2) Qui tắc ở phần c) được thực hiện nhằm đảm bảo trong trường hợp thoái hóa vẫn
có đủ m+n-1 ô chọn (trong đó có ô chọn bằng 0).
DS : Tìm phương án ban đầu của bài toán vận tải sau đây :
!"#$%&' 140
*
+
K K L
M 7
8 5
3
,
2 4
5
0
9
L
N
6 3
N
1 2
&"@ :
° Chọn ô xuất phát là (1,1), i
1
= j
1
= 1. Ở đây
1
i
a
= a
1
= 10,
1
j
b
= b
1
= 5. Vì a
1
> b
1
, nên chọn x
11
= 5 = b
1
; x
21
= x
31
= 0 ( ô loại) ; gạch bỏ cột 1, với a’
1
= a
1
– b
1
= 10 – 5 = 5. Bài toán vận tải rút gọn với tổng số hàng cần giao còn lại
là a’
1
+ a
2
+ a
3
= 5 + 12 + 8 = 25 và tổng số hàng nhận là b
2
+ b
3
+ b
4
= 9 + 9
+ 7 = 25. Như vậy điều kiện cân bằng vẫn đảm bảo.
° Chọn ô xuất phát tiếp theo là ô (1,3). Ở đây có i
1
=1, j
1
= 3, x
13
= min{5, 9}
= 5 = a’
1
. Vậy x
13
= 5, x
12
= x
14
= 0 (ô loại). Ta gạch bỏ hàng 1 vì trạm giao
G
1
đã hết hàng ; b’
3
= b
3
– a’
1
= 9 – 5 = 4. Bài toán vận tải rút gọn giờ đây
chỉ còn 2 trạm giao và 3 trạm nhận. Diều kiện cân bằng thỏa mãn với tổng số
hàng giao nhận là 20.
° Ô chọn tiếp thep là ô (3, 2) với x
32
= 8 = a
3
; x
33
= x
34
= 0. Tương tự, ta gạch
bỏ hàng 3 và đặt b’
2
= b
2
– a
3
= 9 – 8 = 1. Bài toán vận tải rút gọn còn lại 1
trạm phát và 3 trạm nhận với tổng số hàng giao nhận là 12.
° Đến đây bài toán vận tải rút gọn chỉ còn duy nhất một trạm phát, nên chỉ có
duy nhất một phương án vận tải. Đó là x
22
= 1, x
23
= 4, x
24
= 7.
° Phương án xuất phát của bài toán vận tải ban đầu có dạng :
5 0 5 0
X 0 1 4 7
0 8 0 0
÷
=
÷
÷
với L(X) = 171
Dể dàng kiểm tra thấy rằng đây là phương án cực biên của bài toán vận tải :
6 ( = m+n-1) ô chọn tương ứng là (1,1), (1,3), (2,2), (2, 3), (2,4) và (3,2). Các
biến cơ sở (ứng với ô chọn) là x
11
, x
13
, x
22
, x
23
, x
24
và x
32
. Rõ ràng các ô này
không thể tạo nên chu trình (2.3). Tuy nhiên, nếu chọn bất kỳ một ô nào
khác (ô loại), giả sử là ô (3,1) (dấu O) và bổ sung ô này vào vào tập các ô
chọn vừa tìm được, ta sẽ có một chu trình dạng (2.3) như sau :
Bảng 5.4
!"#$%&' 141
7
8 5
3
2 4
5
0
9
L
6 O 3
N
1 2
Chu trình đó là (3,1)(3,2)(2,2)(2,3)(1,3) ; với k = 3, l = 1. Dễ thấy rằng, khi
đó, đẵng thức sau đây nghiệm đúng :
P
31
= P
32
– P
22
+ P
23
– P
13
+ P
11
Như vậy, các vectơ P
32
, P
22
, P
23
, P
13
, P
11
và P
24
tạo nên một cơ sở và tọa độ
của P
31
theo cơ sở này là (1, -1, 1, -1, 1, 0).
[$7$8)##<=Ce_
Đặc trưng của phương pháp góc Tây- Bắc là : U"13#=#
41/;0U>#g*0A*-#4 (ô chưa được phân
phối, nằm ở hướng Tây-Bắc) ở mỗi bảng vận tải rút gọn
32
. Ví dụ: Tìm
phương án vận tải xuất phát cho bài toán vận tải trang 141. Các ô chọn lần
lượt là (1,1), (1,2), (2,2), (2,3), (3,3) và (3,4). Phương án vận tải cụ thể như
sau :
2 2
5 5 0 0
X 0 4 8 0 , L(X ) 146
0 0 1 7
÷
= =
÷
÷
[$7$[)###04R`
Đặc trưng của phương pháp này là ô chọn để phân phối lần lượt là ô
nằm trên hàng đầu tiên của mỗi bảng vận tải rút gọn có « chí phí » c
ij
bé
nhất. Ví dụ đối với bài toán vận tải trang 141. Các ô chọn lần lượt là (1,4),
(1,3), (2,1), (2,2), (3,3) và (3,2). Phương án vận tải cụ thể như sau :
3 3
0 0 3 7
X 5 7 0 0 ,L(X ) 86
0 2 6 0
÷
= =
÷
÷
32
Nên phương pháp này lấy tên là Phương pháp góc Tây-Bắc
!"#$%&' 142
[$7$h)###J4R`
Phương pháp này khác phương pháp chi phí hàng bé nhất là ở chỗ ô
chọn để phân phối lần lượt là ô nằm trên cột đầu tiên của mỗi bảng vận tải
rút gọn có « chí phí » c
ij
bé nhất. Ví dụ đối với bài toán vận tải trang 141.
Các ô chọn lần lượt là (2,1), (3,2), (2,2), (1,3), (1,4) và (2,4). Phương án vận
tải cụ thể như sau :
4 4
0 0 9 1
X 5 1 0 6 , L(X ) 140
0 8 0 0
÷
= =
÷
÷
[$7$i)###*+,4R`
Tương tự như hai phương pháp trên, việc chọn ô để phân phối ở
phương pháp này cũng căn cứ vào hệ số chi phí c
ij
nhỏ nhất. Tuy nhiên, điểm
khác biệt ở đây là tìm hệ ô có hệ số c
ij
nhỏ nhất trong toàn bộ các ô chưa
được phân phối ở mỗi bảng vận tải rút gọn. Ví dụ đối với bài toán vận tải
trang 141. Ô chọn đầu tiên sẽ là ô (3,3) vì c
33
= 1 = min c
ij
. Tương tự ta có
các ô chọn lần lượt là (3,3), (2,1), (1,4), (2,2), (1,3) và (1,2). Phương án vận
tải cụ thể như sau :
5 5
0 2 1 7
X 5 7 0 0 vôùi L(X ) 88
0 0 8 0
÷
= =
÷
÷
[$7$P)##/1]Z;
Phương thức chọn ô để phân phối theo phương pháp này được thực hiện
theo thuật toán sau đây.
+ :
a) Ở mỗi bảng vận tải rút gọn tìm ∆
i
, là hiệu giữa hai phần tử nhỏ nhất ứng
với các ô chưa được phân phối trên hàng i, và ∆
j
là hiệu giữa hai phần tử
nhỏ nhất ứng với các ô chưa được phân phối trên cột j. Bước này được
tiến hành ứng với toàn bộ các hàng, cột chưa bị gạch.
b) Chọn
{ }
i
j
i j
max max ,max∆ = ∆ ∆
!"#$%&' 143
- Nếu ∆ = ∆
k
, thì hàng k được chọn làm hàng xuất phát để phân phối ;
ô chọn để phân phối là ô có chi phí nhỏ hơn trong hai ô để tính ∆
k
.
- Nếu ∆ = ∆
l
, thì cột l được chọn làm hàng xuất phát để phân phối ; ô
chọn để phân phối là ô có chi phí nhỏ hơn trong hai ô để tính ∆
l
.
DS 7: Trước hết ta xét ví dụ trang 141 :
Bảng 5.5
*
+
K K L
∆
M 7 8
,
5
3
L
2 ; 2 ; 3 ;8
,
2
4
L
5 9 2 ;1 ;1 ; 4
N
6 3 1
N
2 1 ; 1
∆
*
4 1 ; 4 4 ; 0 1 ; 6
Trước hết tính
{ }
i
j
i j
max max ,max∆ = ∆ ∆
= 4 =∆
1
= ∆
3
. Chọn l =1. Ô có chi
phí nhỏ nhất trong cột 1 là ô (2, 1). Phân phối vào ô (2, 1) với x
21
= 5. Khi ấy
a
2
’ = 12 – 5 = 7 và x
11
= x
31
= 0 (là những ô loại), gạch bỏ cột 1. Do đó phải
tính lại các ∆
i
(các tương ứng ghi ở vị trí thứ hai). Xác định ∆ = 4 = ∆
3
. Ô
chọn mới ở cột thứ 3, đó là ô có chi phí nhỏ nhất, là ô (3, 3) với x
33
= 8. Ta
loại bỏ hàng thứ 3 với x
32
= x
34
= 0. Tính lại ∆
j
(ghi ở vị trí thứ 2). Tiếp theo,
∆ = 6 = ∆
4
. Ô chọn mới là (1, 4) với x
14
= 7 ; x
24
= 0 ; a
1
’ = 3. Tính lại các ∆
i
,
i = 1, 2, (ghi ở vị trí thứ 3). Tính ∆ = 3 = ∆
1
; ô chọn mới là ô (1, 3) với x
13
=
1 ; x
23
= 0. Vì cột 3 bị loại nên phải tính lại ∆
i
, i = 1, 2. Tuy nhiên, do ở đây
bảng vận tải rút gọn chỉ còn có một cột, nên phương án phân phối là duy
nhất ; đó là x
12
= 2, x
22
= 7. Ta thu được phương án X
6
= X
5
. Đây rõ ràng
không phải là phương án vận tải cho chí phí vận tải bé nhất, vì X
3
có chi phí
vận tải nhỏ hơn (86 so với 88)
33
.
&] : Qua các phương pháp tìm lời giải ban đầu nêu trên ta thấy rằng giá
trị ở các ô chọn (i, j) là tổ hợp tuyến tính của các số a
i
, b
j
với các hệ số 0, 1
hoặc –1. Vì vậy, nếu các số này là số nguyên thì giá trị các ô chọn cũng là số
33
Trong rất nhiều trường hợp phương pháp Vogel cho lời giải rất tốt, có khi trùng với lời giải
tối ưu. Tuy nhiên, ví dụ trên cho thấy rằng, đây chỉ là một trong các phương pháp giải gần
đúng.
!"#$%&' 144
nguyên. Do đó các phương án cơ sở tính theo một trong các phương pháp
nêu trên cũng là phương án nguyên
34
.
0I76-AA. J-" !"
0' @PA76-AA. J
Phương pháp thế vị giải bài toán vận tải cổ điển được trình bày đầu tiên
bởi nhà toán học Xô-viết L. W. Kantorowitz. Tư tưởng chủ yếu của phương
pháp thế vị dựa trên lý thuyết cặp bài toán QHTT đối ngẫu. Xuất phát từ một
phương án ban đầu Q của bài toán vận tải cổ điển (1.2) (gọi là bài toán gốc
VT
P
), bằng phương pháp kiến thiết, người ta tìm ra một giả phương án R =
(?, ) của bài toán đối ngẫu (2.5), hay ký hiệu gọn là bài toán VT
D
, sao cho
giá trị hàm mục tiêu của hai phương án này bằng nhau. Điều kiện này được
đảm bảo trong suốt thuật toán. Nếu giả phương án (u, v) đồng thời là phương
án của bài toán đối ngẫu, thì, theo định lý đối ngẫu của bài toán QHTT, đây
là hai phương án tối ưu tương ứng. Nếu giả phương án R = (?, ) không phải
là phương án, tức là không thoải mãn một số ràng buộc nào đó của bài toán
(2.5), thì phương án Q ban đầu sẽ được cải tiến để có phương án vận tải mới
cho chi phí vận tải không nhỏ hơn (hoặc trong trường hợp không suy biến
người ta sẽ có phương án vận tải mới có chi phí nhỏ hơn).
Phương pháp thế vị bao gồm 4 bước như sau :
7S# : K#)*+,F`#X
I
Bằng một trong 5 phương pháp đã trình bày trong phần §3 ở trên
người ta tìm ra một phương án vận tải xuất phát ban đầu. Giả sử X
0
là
phương án như vậy. Đây là một phương án cơ sở. Trong trường hợp không
suy biến phương án này có đúng m+n –1 ô chọn và trong số đó sẽ có ít nhất
hai ô treo trên hàng hoặc cột (tức là các ô chọn duy nhất trên một hàng hoặc
một cột).
7S#, : K,#)6
I
*
I
92401b68$i9O&
*j0
0
i
u
*0*jJ
0
j
v
W78LVGW78L
34
Trong trường hợp tổng quát có thể chứng minh rằng, nếu các số liệu ban đầu a
i
, b
j
của bài
toán vận tải là nguyên, thì mọi phương án cơ sở của bài toán vận tải cũng là phương án có các
thành phần là số nguyên. Do đó nếu hàng hóa vận tải là những đơn vị nguyên thì chỉ cần giải
bài toán vận tải bình thường mà không cần xét đến đều kiện nguyên của lời giải tối ưu. Đây là
ưu điểm của bài toán vận tải so với bài toán QHTT thông thường.
!"#$%&' 145
Theo(2.6), để đảm bảo giá trị hàm mục tiêu ở Q
0
và R
0
= (?
0
,
0
)
bằng nhau, các
0
i
u
và
0
j
v
phải thoả mãn điều kiện :
0
i
u
+
0
j
v
= c
ij
ứng mọi (i,j) là ô chọn. Vậy để tìm giả phương án xuất phát, người ta phải
giải hệ phương trình
u
i
+ v
j
= c
ij
(4.1)
với (i,j) là ô chọn. Nhưng ở phương án vận tải xuất phát Q
0
chỉ có m + n –1 ô
chọn, nên hệ phương trình (4.1) chỉ có m+n biến số trong m+n-1 phương
trình độc lập tuyến tính. Suy ra, để giải hệ (4.1) cần phải chọn một biến số tự
do.
Để đơn giản tông thường người ta chọn
0
i
u
= 0.
0
1
u
được gọi là thế vị của
hàng 1. m+n-1 thế vị còn lại sẽ được tính theo phương pháp truy hồi. Vì trên
hàng 1 phải có ít nhất một ô chọn, nên giả sử rằng, đó là ô (1,j
1
). Ta có thể
tính được thế vị
1
0
j
v
cho cột j
1
theo công thức
1
0
j
v
=
1
1j
c
-
0
i
u
=
1
1j
c
Nếu trên hàng 1 còn có các ô chọn khác, ví dụ (1,l) thì thế vị
0
l
v
cũng được
tính theo công thức này.
Trong số các cột đã có thế vị
0
l
v
sẽ có ít nhất một cột, trên đó có
ô chọn nằm trên hàng chưa có thế vị, ví dụ đó là hàng k. Khi đó,
thế vị
0
k
u
được tính theo công thức
0
k
u
W c
kl
C
0
l
v
Phương pháp truy hồi tìm hệ thống thế vị bao gồm việc thực hiện liên tục hai
bước nhỏ sau đây.
9 Q01N<*j
0
k
u
*01<<U"6;9
J;<*j
0
l
v
K*j
0
l
v
1:ZUE
0
l
v
= c
kl
-
0
k
u
(4.2)
eB901:d.;S10U
"01N<*j1->J1N<
*j$
49 QJ1N<*j
0
q
v
*01<<U"6#9
0#<*j
0
p
u
K*j
0
p
u
1:ZUE
0
p
u
= c
qp
-
0
q
v
(4.3)
!"#$%&' 146
eB4901:d.;S10U
"J1N<*j1->01N<
*j$
Dựa vào phương án cơ sở X
0
khả năng tính được toàn bộ hệ thống
thế vị xuất phát từ một thế vị bất kỳ cho trước được đảm bảo bởi định lý sau
đây (không chứng minh).
(940' : klk
*0k
#
ml+Q
;
*0Q
n
lJk
*0J+Q
;
g4 n
\J;JK*+,D68$89]*B$1<
7
W
@
W#m
7
WG
@
W;mG
;
W;G
@
W*$*L
Theo định lý 4.1, chỉ cần chọn bất kỳ một trong m+n thế vị u
i
, v
j
và
gán cho nó một giá trị tùy ý, ví dụ
0
i
u
W0. Sau đó áp dụng liên tục các qui tắc
a) và b) ta sẽ tính được thế vị của một hàng bất kỳ hoặc một cột bất kỳ nhờ
lộ trình vận tải như ở định lý 3.2.
DS4B8 :
Ta xét phương án cơ bản xuất phát X
0
= X
3
của bài toán vận tải trang 141.
Phương án này được trình bày ở dạng bảng :
Bảng 5.6
*
+
K K L ?
M 7
8
5 3 I
,
2 4
0
5
N
9 Ch
N
6 3 1
2
L
C^
o ^ p 7I
Trước hết cho u
1
= 0. Trên hàng 1 có hai ô chọn là (1,1) và (1,2) nằm trên
các cột 1 và 2. Ap dụng qui tắc a) cho hai ô này, ta có thế vị cho cột 1 và 2
như sau : v
1
= c
11
– u
1
= 7 – 0 = 7 ; v
2
= c
12
– u
1
= 8 – 0 = 8. Bây giờ các cột 1
và 2 đã có thế vị. Ap dụng qui tắc b) để tính thế vị cho các hàng. Trên cột 1
không còn có ô chọn nào nữa ngoài ô (1,1) và hàng 1 đã có thế vị. Trái lại,
trên cột 2 còn có một ô chọn mới, đó là ô (2,2). Thế vị u
2
dước tính theo
(4.3) : u
2
= c
12
- v
2
= 4 - 8 = -4. Trên hàng 2 có một ô chọn mới là ô (2,3) ; cột
3 chưa có thế vị. Thế vị v
3
được tính theo công thức (4.2). Tức là : v
3
= c
23
!"#$%&' 147
-u
2
= 5 – (- 4) = 9. Trên cột 3 lại có thêm ô chọn mới là (3,3). Tương tự, ta
tính được u
3
= c
33
- v
3
= 1- 9 = -8. Trên hàng 3 lại có thêm ô chọn mới là
(3,4). Vậy thế vị cho cột 4 là v
4
= c
34
- u
3
= 2 –(-8) = 10. Đến đây hệ thống
thế vị đã hoàn tất (7 thế vị). Giả phương án của bài toán đối ngẫu là w
0
= (0,
-4, -8 ; 7, 8, 9, 10). Các thế vị này được ghi ở cột bên phải (nêu là thế vị
hàng) và ghi ở hàng cuối cùng (nêu là thế vị cột). Giá trị hàm mục tiêu của
bài toán đối ngẫu W(w
0
) =
3 4
0 0
i i j j
i 1 j 1
a u b v
= =
+
∑ ∑
= 10.0 + 12.(-4) + 8.(-8) + 5.7 +
9.8 + 9.9 + 7.(10) = 146 = Z(X
0
).
7S#/ : 3q
Tiêu chuẩn tối ưu được thiết lập theo Đlí 2.4; tức là kiểm tra xem giả phương
án vừa tìm thấy có phải là phương án của bài toán đối ngẫu hay không. Để
làm việc này trước hết ta tính các hệ số đặc trưng ∆
ij
theo qui tắc :
∆
ij
= c
ij
– (
0
i
u
+
0
j
v
), i = 1,2,…,m ; j = 1,2,…,n (4.4)
Trong bảng vận tải các hệ số đặc trưng được ghi vào góc phải phía trên của
mỗi ô.
DS : Xuất phát từ phương án ban đầu ở bước 2 và hệ thống thế vị trong
bảng 5.6 ta có các hệ số đặc trưng cho trong bảng 5.7 :
Bảng 5.7
*
+
K K L ?
M 7 I
8 I
T
5 Ch 3
Co
U
I +
,
2 C7 4 I
U0
5 I
TN
9 [ Ch
N
6 o 3 [ 1 I
U
2 I
TL
C^
o ^ p 7I
C
Phương án X
0
là phương án tối ưu nếu
∆
ij
≥ 0, ∀ij (4.5)
!"#$%&' 148
Thật vậy, nếu (4.6) thoả mãn thì c
ij
≥ (
0
i
u
+
0
j
v
), ∀ij và do đó w
0
= (u
0
, v
0
) là
phương án của bài toán đối ngẫu. Vì theo cách xây dựng hệ thống thế vị, Z
0
= W
0
, nên theo định lý đối ngẫu (TC 3) X
0
và, do đó w
0
là phương án tối ưu
của bài toán gốc và đối ngẫu.
Dể kiểm tra điều kiện (4.6), ta tính
kl ij
ij
min∆ = ∆
35
(4.6)
a) Nếu ∆
kl
≥ 0, suy ra ∆
ij
≥ 0. Tức là điều kiện (4.6) thoả mãn. X là phương
án vận tải tối ưu.
b) Khi ∆
kl
< 0, điều kiện tối ưu không thỏa mãn ứng với ô (k,l). Ta chuyển
sang bước 4 : Sửa phương án.
7S#0VW+A76-
Vì ∆
kl
< 0, nên điều kiện (k, l) của bài toán đối ngẫu không thỏa mãn,
w
0
chưa phải là phương án của bài toán đối ngẫu. Do đó phương án X
0
có thể
chưa là phương án tối ưu. Từ X
0
ta sẽ tạo ra phương án vận tải khác, có giá
trị hàm mục tiêu không lớn hơn giá trị hàm mục tiêu ở X
0
.
Tương tự như phương pháp đơn hình, phương án cơ sở mới mới được
thiết lập bằng cách thực hiện phép biến đổi cơ sở. Ở đó một biến cơ sở được
thay bằng một biến phi cơ sở. Do hệ ràng buộc của bài toán vận tải có cấu
trúc đơn giản, nên việc thực hiện phép biến đổi cơ sở được tiến hành dưới
dạng bảng và chỉ bằng các phép tính cộng và trừ. Như phần trên đã chỉ rõ, hệ
ràng buộc của bài toán vận tải có hạng bằng (m+n-1). Do đó mỗi phương án
cơ sở có nhiều nhất m+n-1 thành phần dương (nếu bài toán không suy biến,
thì mỗi phương án cơ sở sẽ có dúng m+n-1 thành phần dương). Vì vậy mỗi
phương án vận tải cơ sở sẽ có đúng m+n-1 ô chọn. Mỗi ô chọn (i,j) ứng với
biến cơ sở x
ij
. Những ô loại ứng với các biến phi cơ sở. Vì hệ số đặc trưng ở
ô loại (k,l), ∆
kl
< 0 và theo (4.7) thì ∆
kl
có giá trị tuyệt đối lớn nhất, nên ô loại
(k,l) sẽ được chọn để đưa vào cơ sở thay thế cho một ô chọn nào đó (sẽ được
xác định bởi thuật toán). Qui trình xây dựng phương án vận tải cơ sở mới
bao gồm 3 bước nhỏ như sau :
a) c1jK4AU6;9*BU"4>#)##
1NK40A#/8$[$ Giả sử đó là chu trình :
6;9(k,j
1
) (i
2
,j
1
) (i
2
,j
2
) …… (i
s-1
,j
s-1
) (i
s
,j
s-1
) (i
s
,l) (4.8)
35
Nếu ô (k,l) là không duy nhất thì chỉ chọn một trong các ô đó làm ô chọn. Các ô khác vẫn là
ô loại.
!"#$%&' 149
b) c1j;:1-M : Giả sử ô (k,l) được điều chỉnh bằng một
lượng là θ ≥ 0 ; tức là ở phương án mới, ô (k,l) trở thành ô chọn, x
kl
trở thành biến cơ sở với giá trị bằng θ. Khi ấy khối lượng vận tải
hàng từ trạm giao G
k
đến trạm nhận N
l
tăng thêm một lượng bằng θ.
Để thực hiện được điều này cần phải giảm khôi lượng hàng vận tải
từ G
k
đến
1
j
N
. Khi ấy trạm nhận
1
j
N
sẽ thiếu hàng. Để đảm bảo đủ
hàng cho
1
j
N
cần phải tăng khôi lượng vận tải tương ứng từ
2
i
G
đến
1
j
N
thêm θ; Vì trạm
2
i
G
không đủ hàng phát nên phải giảm khối
lượng hàng chuyển từ
2
i
G
đến
2
j
N
v.v… Quá trình thay đổi khối
lượng vận tải này sẽ được tiếp tục thực hiện dọc theo chu trình (4.8).
Cho đến khi trạm
s 1
j
N
−
không nhận đủ hàng. Số hàng còn thiếu (=θ)
sẽ được bổ sung từ trạm giao
s
i
G
. Trạm này lại sẽ không đủ hàng để
phát, nên sẽ bớt hàng ở trạm nhận N
l
. Thay vào số hàng bị bớt đi
này, trạm N
l
sẽ nhận thêm hàng ở trạm G
k
. Để tiện xác định giá trị
tham số θ, thông thường người ta đánh số thứ tự các ô trong chu
trình với ô (k,l) là ô số 1. Ô kế tiếp nằm trên cùng cột (i
s
, l) là ô số 2
v.v… và ô cuối cùng (k,j
1
) là ô thứ 2s. Như vậy các ô mang số thứ tự
lẻ sẽ (ô lẻ) có dạng (i
λ
,j
λ
); các ô mang số thứ tự chẵn (ô chẵn) có
dạng (i
λ
+1
,j
λ
), với λ = 1,2,…,s và i
1
= k, j
s
= l. Để cho phương án mới
vẫn là phương án của bài toán vận tải xuất phát cần chọn θ là giá trị
các ô chẵn nhỏ nhất trong dây chuyền. Để đơn giản cách trình bày ta
ký hiệu ô chẵn là x
c
, ô lẻ là x
l
và Tính :
0 0
c pq
min x xθ = =
36
(4.8)
c) !-M#): Ký hiệu phương án mới là X
(1)
. Khi ấy
phương án cũ được điều chỉnh như sau :
• Giữ nguyên giá trị các ô không ở trong chu trình (kể cả ô loại và
ô chọn) ; tức là
(1)
ij
x
=
0
ij
x
, nếu ô (i,j) không ở trong chu trình.
•
(1)
kl
x
= θ ;
•
(1) 0
c c
x x= −θ
;
•
(1) 0
l l
x x= + θ
.
(940', : )*+,1:@r156c
679
9;0#))@A
240*+,F`#$kj0S)E@f
;0O
36
Nếu ô (p, q) là không duy nhất thì chỉ chọn một trong các ô đó làm ô loại. Những ô khác
vẫn là ô chọn ở phương án sau mặc dù sẽ nhận giá trị bẳng 0.
!"#$%&' 150
L(X
(1)
) = L(X
0
) + ∆
kl
.θ (4.9)
:-3 : (Bài tập)
Do ∆
kl
< 0, nên phương án mới cho chi phí vận tải khôn lớn hơn chi phí
vận tải ở phương án X
0
. Trong trường hợp không suy biến (θ > 0) phương án
mới cho chi phí vận tải nhỏ hơn phương án cũ. Đến đây thuật toán quay trở
về bước 2 với việc tính lại các thế vị và các hệ số đặc trưng tương ứng với
phương án X
(1)
(tức là tìm giả phương án w
(1)
của bài toán đối ngẫu ứng với
X
(1)
). Người ta có thể lặp lại hoàn toàn bước 2 như đã miêu tả ở trên. Tuy
nhiên, cấu trúc đơn giản của hệ phương trình (4.1)
37
cho phép xuất phát từ hệ
thống thế vị cũ (u
0
,v
0
) để tính hệ thống thế vị mới. Phương pháp được miêu
tả như sau đây. Ký hiệu hệ thống thế vị mới là
1
i
u
và
1
j
v
, i=1,2,…,m ; j = 1,2,
…,n. Đầu tiên, do ô (k,l) trở thành ô chọn nên
1 1
kl k l
c u v= +
. Để thỏa mãn
điều kiện này ta phân biệt hai trường hợp :
:#7 : Ưng với phương án cơ sở X
(1)
ô chọn (k,l) là ô treo (là ô chọn
duy nhất) trên hàng k hoặc cột l. Trong trường hợp này chỉ cần thay đổi duy
nhất một thế vị và giữ nguyên các thế vị khác :
a) Nếu (k,l) là ô chọn duy nhất trên cột l, thì đặt
1 0
k k
u u=
và chọn
1 0
l kl k
v c u= −
b) Nếu (k,l) là ô chọn duy nhất trên hàng k, thì đặt
1 0
l l
v v=
và chọn
1 0
k kl l
u c v= −
:#8 : Trên cả hàng k và cột l còn có các ô chọn khác. Trong trường
hợp này, quá trình thay đổi thế vị sẽ phước tạp hơn. Trước hết ta đánh dấu
(+) vào hàng k. Nếu trên đó có các ô chọn, ví dụ (k,j), nằm trên cột j chưa
đánh dấu, thì đánh dấu (-) vào các cột đó. Nếu trên cột j (trừ cột l) có dấu (-)
và lại có các ô chọn nằm trên các hàng i chưa có dấu (+) thì dánh dấu (+) vào
các hàng đó. Quá trình đánh đâu này sẽ được thực hiện liên tục cho đến khi
nào tất cả các ô chọn nằm trên hàng đã đánh dấu (+) thì cũng đều nằm trên
cột có đánh dấu (-). Sau đó giữ nguyên các thế vị nằm trên hàng và cột
không có đánh dấu. Đối với hàng i có dấu (+) thì đặt
1 0
i i kl
u u= + ∆
; ứng với
cột j có dấu (-) thì đặt
1 0
j j kl
v v= − ∆
. Dễ thấy rằng, khi ấy điều kiện (4.1) thỏa
mãn với tất cả các ô chọn mới.
DS :Ta tính tiếp tục ví dụ ở trang 150. Ta có ∆
kl
= ∆
14
= -7 < 0. Điều
kiện tối ưu chưa thoả mãn. Ta chuyển sang bước 4 : Sửa phương án. Dây
37
Hệ này có vô số lời giải
!"#$%&' 151
chuyền tạo bởi ô (k,l) = (1,4) với các ô chọn khác có dạng (ss. Bảng 4.8) :
(1,4)(1,2)(2,2)(2,3)(3,3) và (3,4). Số thứ tự trong các ô tương ứng là 1, 2, 3,
4, 5, 6. Lượng điều chỉnh θ = min {
0 0 0
12 23 34
x ,x ,x
} = min {5, 8, 7} = 5 =
0
12
x
.
Vậy (p,q) = (1,2) là ô loại mới. Sau khi điều chỉnh theo thuật toán miêu tả ở
trên, phương án mới cho trong bảng 5.8 :
"-'N
*
+
K K L ?
M 7 I
8 o 5 [ 3 I
Co
,
2 C^ 4 I
K
5 I
/
9 [ Ch +
N
6 I 3 [ 1 I
X
2 I
,
C^ +
7h ^ p 7I
- -
Giá trị hàm mục tiêu của phương án mới là L(X
(1)
) = 146 – 7x5 = 111.
Hệ thống thế vị ứng với phương án mới cho trong bảng 5.8. Hệ thống thế vị
mới có thể được tính từ hệ tống thế vị cũ theo phương pháp đã trình bày ở
trang 153
38
: Trước hết do (k,l) = (1,4), nên ta đánh dấu (+) vào hàng k = 1.
Do trên hàng 1 còn có ô chọn là (1,1) nên ta dánh dấu (-) vào cột 1. Ở cột 1
không còn ô chọn nào khác nên quá trình đánh dấu kết thúc. Kết quả : Thế vị
ở hàng 1 được cộng thêm số hạng ∆
kl
= -7 ; thế vị cột 1 được trừ đi cùng đại
lượng ấy, các thế vị ở các hàng và cột khác giữ nguyên như cũ.
Coi X
(1)
là phương án xuất phát, sau khi có hệ thống thế mới ta kiểm tra
tiêu chuẩn tối ưu bằng cách tính các hệ số đặc trưng ∆
ij
và ∆
kl
mới. Do ∆
kl
=
min ∆
ij
= ∆
21
= -8 < 0, nên điều kiện tối ưu chưa đảm bảo. Vì vậy ti61n hành
bước 4 : Sửa phương án. Ô chọn mới bây giờ là ô (2, 1) với k = 2, l = 1. Chu
trình tương ứng có dạng (2, 1)(2, 3)(3, 3)(3, 4)(1, 4) và (1, 1). Lượng điều
chỉnh θ = min {x
23
, x
34
, x
11
} = min {3, 2, 5} = 2 = x
34
. Tức là p = 3, q = 4.
Lời giải mới X
(2)
cho trong bảng 5.9 với giá trị hàm mục tiêu L(X
(2)
) =
L(X
(1)
) + ∆
kl
.θ = 111 (-8).2 = 95.
38
Người ta có thể áp dụng phương pháp tìm thế vị đã trình bày ở bước 2 ; tức là giải hệ
phương trình (4.1) với hệ thống ô chọn mới. Tuy nhiên, do hệ này thiếu một phương trình,
nên sẽ có vô số lời giải. Các thế vị ở bảng 5.8 là lời giải của hệ khi cho u
1
= -7.
!"#$%&' 152