ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC KHOA HỌC
------------------
TRỊNH THỊ THANH HẢO
BÀI TOÁN VẬN TẢI
CÓ VẬN CHUYỂN NGƯỢC
LUẬN VĂN THẠC SỸ TOÁN HỌC
Chuyên ngành : TOÁN ỨNG DỤNG
Mã số : 60.46.36
Người hướng dẫn khoa học:
GS.TS. TRẦN VŨ THIỆU
THÁI NGUYÊN - NĂM 2012
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
Mục lục
Lời cảm ơn
3
Lời nói đầu
4
1 Bài
1.1
1.2
1.3
1.4
2
toán qui hoạch tuyến
Phát biểu bài toán . . .
Sự tồn tại nghiệm . . .
Phương án cực biên . .
Bài toán đối ngẫu . . .
tính
. . .
. . .
. . .
. . .
dạng chính tắc
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
Bài toán vận tải với biến không âm
2.1 Bài toán vận tải và tính chất . . . .
2.2 Tìm phương án cực biên ban đầu . .
2.3 Tiêu chuẩn tối ưu . . . . . . . . . .
2.4 Thuật toán thế vị . . . . . . . . . .
2.5 Ví dụ minh họa . . . . . . . . . . .
3 Bài
3.1
3.2
3.3
3.4
3.5
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
toán vận tải có vận chuyển ngược
Vận chuyển ngược có lợi ích gì? . . . . . . . .
Mô hình bài toán vận tải có vận chuyển ngược
Điều kiện tối ưu . . . . . . . . . . . . . . . . .
Thuật toán giải bài toán (P) . . . . . . . . . .
Ví dụ minh họa . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7
7
8
8
9
.
.
.
.
.
13
13
18
21
26
28
.
.
.
.
.
32
32
33
36
38
40
Kết luận
45
Tài liệu tham khảo
46
2
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
Lời cảm ơn
Luận văn này được hoàn thành tại Trường Đại học Khoa học, Đại
học Thái Nguyên dưới sự hướng dẫn của GS.TS. Trần Vũ Thiệu. Tác giả
xin bày tỏ lòng kính trọng và biết ơn sâu sắc tới thầy về sự tận tình hướng
dẫn trong suốt thời gian tác giả làm luận văn.
Trong quá trình học tập và làm luận văn, thông qua các bài giảng
và xêmina, tác giả thường xuyên nhận được sự quan tâm giúp đỡ và đóng
góp những ý kiến quý báu của các GS,TS trong Viện Toán học đã không
quản ngại đường sá xa xôi lên Thái Nguyên giảng dạy cho chúng em. Tác
giả cũng xin gửi tới TS. Nguyễn Thị Thu Thủy và các thầy các cô trong
trường Đại học Khoa học - Đại học Thái Nguyên. Từ đáy lòng mình, tác
giả xin bày tỏ lòng biết ơn sâu sắc đến các thầy các cô.
Tác giả xin bày tỏ lòng biết ơn tới các thầy, các cô, Ban giám hiệu
nhà trường, Ban chấp hành Đoàn, các đồng nghiệp cùng công tác trong cơ
quan đã luôn tạo điều kiện thuận lợi nhất giúp đỡ tác giả trong thời gian
học tập và làm luận văn cao học.
Xin chân thành cảm ơn anh chị em học viên cao học Toán K4A và
bạn bè đồng nghiệp gần xa đã trao đổi, động viên và khích lệ tác giả trong
quá trình học tập, nghiên cứu và làm luận văn.
Luận văn sẽ không hoàn thành được nếu không có sự thông cảm,
giúp đỡ của những người thân trong gia đình tác giả. Đây là món quà tinh
thần, tác giả xin kính tặng gia đình thân yêu của mình với tấm lòng biết
ơn chân thành và sâu sắc.
3
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
Lời nói đầu
Bài toán vận tải (Transportation problem) của qui hoạch tuyến tính
đã khá quen thuộc trong toán học ứng dụng. Trong bài toán vận tải dạng
bảng chỉ cho phép vận chuyển hàng từ các trạm phát tới các trạm thu,
không vận chuyển theo chiều ngược lại (từ các trạm thu tới các trạm phát).
Lời giải thu được đôi khi không cho chi phí vận chuyển nhỏ nhất. Đó là
vì lời giải này chỉ đúng khi đã xác định được chi phí nhỏ nhất cần để vận
chuyển một đơn vị hàng từ mỗi trạm phát tới mỗi trạm thu. Muốn vậy,
cần giải các bài toán phụ trợ: tìm đường đi ngắn nhất giữa mỗi cặp trạm
thu - phát.
Có thể mở rộng bài toán vận tải bằng cách cho phép vận chuyển hàng
theo cả chiều ngược lại từ các trạm thu tới các trạm phát. Từ đó dẫn đến
mô hình bài toán vận tải có vận chuyển ngược (Transportation problem
with reshipments). Mô hình mới chỉ khác cũ ở chỗ: các biến biểu thị lượng
hàng vận chuyển bây giờ có thể lấy giá trị âm và trong hàm mục tiêu sử
dụng dấu giá trị tuyệt đối. Trong nhiều trường hợp, vận chuyển ngược có
thể làm giảm chi phí vận chuyển.
Luận văn này nghiên cứu đề xuất thuật toán giải cho bài toán vận tải
có vận chuyển ngược, dựa trên cơ sở trả lời một số câu hỏi như: những
tính chất nào đúng cho bài toán vận tải thông thường vẫn còn đúng cho
bài toán vận tải có vận chuyển ngược, tiêu chuẩn tối ưu bây giờ thay đổi
như thế nào và có thể mở rộng thuật toán thế vị cho bài toán mới được
không.
Nội dung luận văn được chia thành ba chương.
4
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
Chương 1 với tiêu đề "Bài toán qui hoạch tuyến tính dạng chính tắc"
nhắc lại những kiến thức cơ bản về bài toán qui hoạch tuyến tính chính
tắc: điều kiện tồn tại nghiệm của bài toán, tính chất của phương án cực
biên, bài toán đối ngẫu và các quan hệ đối ngẫu trong qui hoạch tuyến
tính. Do bài toán vận tải cũng có dạng một bài toán qui hoạch tuyến tính
chính tắc nên có thể áp dụng các kiến thức này cho bài toán vận tải.
Chương 2 với tiêu đề "Bài toán vận tải với biến không âm" trình bày
nội dung và các tính chất cơ bản của bài toán vận tải với các biến lấy
giá trị không âm. Tiếp đó, luận văn trình bày cơ sở lý luận và nội dung
thuật toán thế vị (một biến thể của thuật toán đơn hình) giải hiệu quả
bài toán vận tải. Để áp dụng thuật toán, đòi hỏi biết một phương án cực
biên ban đầu của bài toán. Vì thế cách tìm phương án cực biên ban đầu
(theo min cước hoặc phương pháp góc Tây - Bắc) cũng được nêu đầy đủ.
Cuối chương xây dựng ví dụ số để minh họa cho thuật toán giải.
Các kiến thức về bài toán vận tải nói chung và thuật toán thế vị nói
riêng sẽ cần đến ở chương sau, khi xét bài toán vận tải có vận chuyển
ngược.
Chương 3 với tiêu đề "Bài toán vận tải có vận chuyển ngược" đề cập
tới một mở rộng bài toán vận tải với biến không âm, cho phép vận chuyển
hàng theo cả chiều ngược lại từ trạm thu tới trạm phát. Mô hình bài toán
vận tải có vận chuyển ngược có dạng một bài toán qui hoạch lồi ràng buộc
tuyến tính với các biến lấy giá trị tùy ý (dương, âm hay bằng 0) và trong
hàm mục tiêu sử dụng dấu giá trị tuyệt đối. Dựa vào cấu trúc đặc biệt của
mô hình, chương này nêu cách đưa bài toán vận tải có vận chuyển ngược
về một bài toán qui hoạch tuyến tính chính tắc với cấu trúc gần giống như
bài toán vận tải thông thường. Từ đó nêu ra điều kiện tối ưu và đề xuất
thuật toán thế vị mở rộng giải bài toán. Cuối chương xây dựng ví dụ số
minh họa cho thuật toán giải.
Nội dung của chương này được hình thành dựa trên ý tướng nêu ra ở
tài liệu [5] và đã được tác giả luận văn trình bày chi tiết trong bài báo
5
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
đăng ở Tạp chí Khoa học và Công nghệ của Đại học Thấi Nguyên, Tập
90, số 02, 2012, trang 107 - 112.
Do thời gian và kiến thức còn hạn nên luận văn mới chỉ dừng lại ở vịêc
tìm hiểu, tập hợp tài liệu, sắp xếp và trình bày các kết quả nghiên cứu
đã có theo chủ đề đặt ra. Trong quá trình viết luận văn cũng như trong
quá trình xử lý văn bản chắc chắn không thể tránh khỏi sai sót, rất mong
nhận được những ý kiến đóng góp của Thầy cô và bạn đọc.
Tác giả
Trịnh Thị Thanh Hảo
6
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
Chương 1
Bài toán qui hoạch tuyến tính dạng
chính tắc
Chương này nhắc lại một số khái niệm và các tính chất cơ bản của bài
toán qui hoạch tuyến tính dạng chính tắc. Cụ thể xét sự tồn tại nghiệm
của bài toán, tính chất của phương án cực biên và vấn đề đối ngẫu trong
qui hoạch tuyến tính. Các kiến thức này cần đến cho các chương sau. Nội
dung chương này tham khảo chủ yếu từ các tài liệu [1], [2] và [6].
1.1
Phát biểu bài toán
Bài toán chính tắc có dạng:
n
P
f (x) ≡
cj xj → min,
j=1
n
P
aij xj = bi , i = 1, 2, ..., m,
j=1
xj ≥ 0, j = 1, 2, ..., n.
Trong bài toán trên aij , bi , cj là các hằng số thực cho trước, f (x) gọi
n
P
là hàm mục tiêu. Mỗi đẳng thức
aij xj = bi gọi là một ràng buộc chính,
j=1
mỗi bất đẳng thức xj ≥ 0 gọi là một ràng buộc về dấu. (Đặc điểm của bài
toán chính tắc là mọi ràng buộc chính chỉ là các đẳng thức và mọi biến
đều không âm).
Điểm thỏa mãn mọi ràng buộc gọi là một điểm chấp nhận được, hay
một phương án. Tập hợp tất cả các phương án, ký hiệu là D, gọi là miền
7
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
ràng buộc hay miền chấp nhận được. Một phương án đạt cực tiểu của hàm
mục tiêu gọi là một phương án tối ưu hay một lời giải của bài toán đã cho.
1.2
Sự tồn tại nghiệm
Đinh lý sau cho một điều kiện cần và đủ để bài toán qui hoạch tuyến
tính có lời giải.
Định lý 1.1. (Về sự tồn tại lời giải của bài toán qui hoạch tuyến tính).
Nếu một qui hoạch tuyến tính có ít nhất một phương án và hàm mục tiêu
bị chặn dưới trong miền ràng buộc (đối với bài toán min) thì bài toán chắc
chắn có phương án tối ưu.
Nhận xét 1.1. Kết luận của định lý nói chung không còn đúng với các bài
toán không phải là một qui hoạch tuyến tính (hàm mục tiêu không phải là
tuyến tính hoặc miền ràng buộc không phải là một tập lồi đa diện). Để rõ
hơn ta xét ví dụ cụ thể sau:
Ví dụ 1.1. f = x2 → min , với điều kiện x1 x2 ≥ 1, x1 ≥ 0.
Miền chấp nhận được D = x ∈ R2 : x1 x2 ≥ 1, x1 ≥ 0 là một tập lồi
khác rỗng và hàm mục tiêu bị chặn dưới trong miền này: x2 ≥ 0 với mọi
x = (x1 , x2 ) ∈ D. Điểm (1/ε, ε) ∈ D với mọi ε > 0, nhưng không có
(x1 , 0) ∈ D.Vì thế cận dưới của x2 không đạt tại bất cứ điểm nào thuộc D.
Cũng có thể lấy ví dụ với hàm mục tiêu phi tuyến và miền ràng buộc
là một tập lồi đa diện cho thấy định lý trên không đúng.
Ví dụ 1.2. Cho hàm f (x) =
1
1+x2 ,
x ∈ R.
Ta thấy f (x) ≥ 0, ∀x ∈ R và inf f (x) = 0. Hàm này không đạt cực
x∈R
tiểu trên R.
1.3
Phương án cực biên
Một phương án x ∈ D mà đồng thời là một đỉnh của D gọi là một
phương án cực biên, nghĩa là x không thể biểu diễn được dưới dạng một
tổ hợp lồi của bất cứ hai phương án bất kỳ nào khác của D. Nói một cách
khác, hễ x = λx1 + (1 − λ)x2 với 0 < λ < 1 và x1 , x2 ∈ D thì phải có
x0 = x1 = x2 .
8
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
Định lý sau nêu một tính chất đặc trưng của phương án cực biên của
bài toán qui hoạch tuyến tính chính tắc.
Định lý 1.2. Để một phương án x0 = x01 , x02 , ..., x0n của bài toán qui
hoạch dạng chính tắc là phương án cực biên, thì cần và đủ là các véctơ cột
Aj của ma trận A ứng với các thành phần x0j > 0 là độc lập tuyến tính.
Hệ quả 1.1. Số phương án cực biên của bài toán qui hoạch tuyến tính
dạng chính tắc là hữu hạn.
Hệ quả 1.2. Số thành phần dương trong mỗi phương án cực biên của bài
toán qui hoạch tuyến tính dạng chính tắc tối đa bằng m (m là số hàng của
ma trận A).
Người ta phân ra hai loại phương án cực biên: nếu phương án cực biên
có số thành phần dương đúng bằng m, nó được gọi là phương án cực biên
không suy biến. Trái lại, nó gọi là phương án cực biên suy biến.
Định lý 1.3. Nếu bài toán qui hoạch tuyến tính dạng chính tắc có ít nhất
một phương án thì nó cũng có phương án cực biên (miền ràng buộc D có
đỉnh).
Định lý 1.4. Nếu bài toán qui hoạch tuyến tính dạng chính tắc có phương
án tối ưu thì cũng có phương án cực biên tối ưu.
1.4
Bài toán đối ngẫu
Đối ngẫu là một phương pháp mà ứng với mỗi bài toán qui hoạch tuyến
tính đã cho (gọi là bài toán gốc), ta có thể thiết lập một bài toán qui hoạch
tuyến tính khác (gọi là bài toán đối ngẫu) sao cho từ lời giải của bài toán
này ta sẽ thu được thông tin về lời giải của bài toán kia.
Vì thế, đôi khi để có được những hiểu biết cần thiết về một bài toán
thì việc nghiên cứu bài toán đối ngẫu của nó lại tỏ ra thuận tiện hơn. Hơn
nữa, khi phân tích đồng thời cả hai bài toán gốc và đối ngẫu ta có thể rút
ra kết luận sâu sắc cả về mặt toán học lẫn về ý nghĩa thực tiễn.
Ta định nghĩa đối ngẫu của bài toán qui hoạch tuyến tính chính tắc,
ký hiệu bài toán (P):
f (x) = c1 x1 + c2 x2 + ... + cn xn → min,
9
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
ai1 x1 + ai2 x2 + ... + ain xn = bi , i = 1, 2, ..., m,
xj ≥ 0, j = 1, 2, ..., n,
là bài toán, ký hiệu bài toán (Q):
g(y) = b1 y1 + b2 y2 + ... + bm ym → max,
a1j y1 + a2j y2 + ... + amj ym ≤ cj , j = 1, 2, ..., n.
Ở đây, do các ràng buộc chính có dấu "=" nên các biến đối ngẫu tương
ứng không có ràng buộc về dấu (các biến yi có dấu tùy ý). Dưới dạng véctơ
-ma trận, ta có thể viết.
Bài toán gốc:
f (x) =< c, x >→ min
Ax = b, x ≥ 0.
Bài toán đối ngẫu:
g(y) =< b, y >→ max
AT y ≤ c.
Định lý 1.5. (Đối ngẫu yếu) Nếu x là một phương án bất kỳ của bài toán
gốc (P ) và y là một phương án bất kỳ của bài toán đối ngẫu (Q) thì
f (x) = c1 x1 + ... + cn xn ≥ g(y) = b1 y1 + ... + bm ym .
Thật vậy, do x là phương án của bài toán (P ) và y là phương án của
bài toán (Q) nên Ax = b, AT y ≤ c, x ≥ 0. Từ đó ta có
f (x) = hc, xi ≥ AT y, x = hy, Axi = hy, bi = g(y).
10
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
Định lý 1.6. (Đối ngẫu mạnh) Nếu một qui hoạch có phương án tối ưu
thì qui hoạch đối ngẫu của nó cũng có phương án tối ưu và giá trị tối ưu
của chúng là bằng nhau.
Định lý 1.7. (Định lý yếu về độ lệch bù) Một cặp phương án x, y của hai
qui hoạch đối ngẫu (P) và (Q) là những phương án tối ưu khi và chỉ khi
chúng nghiệm đúng các hệ thức:
n
X
yi
aij xj − bi = 0 với mọi i = 1, 2, ..., m,
(1.1)
j=1
xj
cj −
m
X
!
aij yi
= 0 với mọi j = 1, 2, ..., n.
(1.2)
i=1
Ta thấy
n
P
aij xj − bi là độ lệch (mức chênh lệch giữa vế trái và vế phải)
j=1
ở ràng buộc i trong bài toán gốc (P ), yi là biến đối ngẫu tương ứng với
m
P
ràng buộc này. Tương tự, cj −
aij yi là độ lệch ở ràng buộc j trong bài
i=1
toán đối ngẫu (Q) và xj là biến gốc tương ứng với ràng buộc này. Các hệ
thức (1.1), (1.2) nói rằng với mỗi ràng buộc gốc hay đối ngẫu thì tích của
độ lệch ở ràng buộc này và biến đối ngẫu (hay biến gốc) tương ứng với
ràng buộc đó phải bằng không. Nói cách khác, nếu một ràng buộc có độ
lệch dương thì biến (gốc hay đối ngẫu) tương ứng với ràng buộc đó phải
bằng không; ngược lại, nếu một biến gốc hay đối ngẫu có giá trị dương thì
phương án của bài toán đối ngẫu phải thỏa mãn ràng buộc tương ứng với
dấu "=" (thỏa mãn như một đẳng thức). Như vậy, hệ thức (1.1) có nghĩa
là
n
n
P
P
aij xj > bi ⇒ yi = 0 và yi > 0 ⇒
aij xj = bi , i = 1, 2, ..., m.
j=1
j=1
Hệ thức (1.2) cũng có nghĩa tương tự
m
m
P
P
aij yi < cj ⇒ xj = 0 và xj > 0 ⇒
aij yi = cj , j = 1, 2, ..., n.
i=1
i=1
11
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
Các đẳng thức (1.1), (1.2) không loại trừ khả năng là với một i nào đó
n
P
aij xj = bi . Tuy nhiên định lý sau cho thấy khả
ta có đồng thời yi = 0 và
j=1
năng này không thể xảy ra đối với tất cả các cặp phương án tối ưu đối ngẫu.
Định lý 1.8. (Định lý mạnh về độ lệch bù) Nếu cặp bài toán đối ngẫu (P)
và (Q) có phương án thì tồn tại một cặp phương án tối ưu x∗ , y ∗ nghiệm
đúng
y ∗ + (Ax∗ − b) > 0 và x∗ + (c − AT y ∗ ) > 0.
Tóm lại, chương này đã điểm lại những tính chất cơ bản của bài toán qui
hoạch tuyến tính chính tắc, nêu điều kiện để bài toán có lời giải (phương
án tối ưu) và điều kiện để một phương án của bài toán là phương án tối
ưu. Bài toán vận tải xét ở các chương sau là một bài toán qui hoạch tuyến
tính chính tắc và vì thế các kiến thức nêu ở chương này sẽ được áp dụng
cho bài toán vận tải nói riêng.
12
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
Chương 2
Bài toán vận tải với biến không âm
Chương này đề cập tới bài toán vận tải dạng bảng, nó có dạng bài
toán qui hoạch tuyến tính chính tắc. Do bài toán vận tải có cấu trúc đặc
biệt nên nó có các tính chất riêng. Có thể khai thác các tính chất đó để
xây dựng thuật toán giải hiệu quả.
Chương gồm 5 mục. Trong mục 2.1, chúng tôi giới thiệu về bài toán
vận tải và tính chất. Mục 2.2, trình bày cách tìm phương án cực biên ban
đầu. Mục 2.3, nêu tiêu chuẩn tối ưu và mục 2.4, giới thiệu thuật toán thế
vị. Trong mục 2.5, chúng tôi đưa ra ví dụ số để minh họa.
Các khái niệm và kết quả trình bày trong chương này được tham khảo
từ các tài liệu [1], [2] và [4].
2.1
Bài toán vận tải và tính chất
Giả sử có m kho hàng A1 , ..., Am (điểm phát) cùng chứa một loại hàng.
Cần vận chuyển số hàng trên đến n cửa hàng B1 , ..., Bn (điểm thu). Cước
phí vận chuyển một đơn vị hàng từ điểm phát Ai đến điểm thu Bj là Cij .
Vấn đề đặt ra là cần xác định nên vận chuyển từ mỗi điểm phát tới mỗi
điểm thu bao nhiêu đơn vị hàng sao cho thỏa mãn nhu cầu của mọi điểm
thu và tổng chi phí vận chuyển toàn bộ số hàng là nhỏ nhất?
Mô hình bài toán vận tải có dạng:
m X
n
X
cij xij → min (cực tiểu tổng chi phí vận chuyển),
i=1 j=1
với điều kiện
13
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
(2.1)
n
X
xij = ai ,
i = 1, 2, ..., m (mọi điểm phát giao hết hàng),
(2.2)
j = 1, 2, ..., n (mọi điểm thu nhận đủ hàng),
(2.3)
j=1
m
X
xij = bj ,
i=1
xij ≥ 0,
i = 1, ..., m; j = 1, ..., n (lượng hàng vận chuyển không âm).
(2.4)
Ở đây, m là số kho chứa hàng (điểm phát).
n là số nơi tiêu thụ hàng (điểm thu).
ai là lượng hàng có (cung) ở điểm phát thứ i (i = 1, 2, ..., m).
bj là lượng hàng cần (cầu) ở điểm thu thứ j (j = 1, 2, ..., n).
cij là chi phí vận chuyển một đơn vị hàng từ điểm phát i đến điểm thu j.
xij biểu thị lượng hàng vận chuyển cần tìm từ điểm phát i tới điểm thu j.
Điều kiện cần và đủ để bài toán (2.1) - (2.4) giải được là phải có điều
kiện cân bằng thu phát, nghĩa là tổng cung bằng tổng cầu:
a1 + a2 + ... + am = b1 + b2 + ... + bn .
(2.5)
Bài toán vận tải (2.1) - (2.4) là một dạng đặc biệt của bài toán qui
hoạch tuyến tính. Để thấy rõ điều này ta sắp xếp các biến theo thứ tự
x11 , ..., x1n , x21 , ..., x2n , ..., xm1 , ..., xmn . Và viết lại hệ ràng buộc (2.2) - (2.3)
dưới dạng hệ m + n phương trình của m x n biến số xij như sau:
Ký hiệu A là ma trận hệ số của hệ phương trình trên (m + n hàng và
m × n cột),
x = (x11 , ..., x1n , x21 , ..., x2n , ..., xm1 , ..., xmn )T - véctơ cột m×n thành phần,
14
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
c = (c11 , ..., c1n , c21 , ..., c2n , ..., cm1 , ..., cmn )T - véctơ cột m × n thành phần,
b = (a1 , ..., am , b1 , ...bn )T - véctơ cột vế phải (m + n thành phần).
Bài toán vận tải (2.1) - (2.4) được viết lại thành bài toán qui hoạch
tuyến tính dạng chính tắc:
f =< c, x >→ min,
(2.6)
Ax = b, x ≥ 0.
(2.7)
Ta gọi Aij là véctơ cột của ma trận A ứng với biến xij . Dễ thấy rằng
véctơ này có hai thành phần bằng 1 tại dòng thứ i và dòng thứ m + j, còn
các thành phần khác bằng 0.
Véctơ x thỏa mãn (2.2) - (2.4) gọi là một phương án của bài toán vận
tải. Một phương án đạt cực tiểu của (2.1) gọi là một phương án tối ưu hay
lời giải của bài toán. Phương án x là phương án cực biên khi và chỉ khi
các véctơ cột Aij của ma trận A ứng với các véctơ xij > 0 là độc lập tuyến
tính (xem Định lý 1.2). Sau đây ta sẽ giả thiết có điều kiện cân bằng thu
phát (2.5).
Do bài toán vận tải có m + n ràng buộc chính, nên ta nghĩ rằng mỗi
phương án cực biên cũng có m + n thành phần dương, nhưng thực tế chỉ
có nhiều nhất m + n − 1 thành phần dương, vì trong số các ràng buộc
chính của bài toán có một ràng buộc là thừa (có thể bỏ đi mà không làm
ảnh hưởng tới lời giải của bài toán). Một phương án cực biên của bài toán
gọi là không suy biến nếu số phần tử của tập hợp G = {(i, j) : xij > 0}
bằng m + n − 1, gọi là suy biến nếu |G| < m + n − 1.
Với điều kiện (2.5) bài toán vận tải (2.1) - (2.4) có các tính chất sau:
1. Bài toán luôn có phương án và tập hợp các phương án của bài toán
là giới nội (bị chặn).
2. Một trong các ràng buộc (2.4) - (2.5) là thừa và hạng của hệ ràng
buộc này bằng m + n − 1.
3. Nếu các lượng cung và cầu ai , bj là các số nguyên thì bài toán sẽ có
lời giải nguyên.
15
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
Có thể dùng các phương pháp của qui hoạch tuyến tính để giải bài toán
vận tải. Tuy nhiên do bài toán này có dạng đặc biệt nên người ta đã đề ra
nhiều thuật toán giải hiệu quả. Trong số đó có thuật toán thế vị mà ta sẽ
đề cập tới ở trong muc 2.4 dưới đây.
Ta ghi lại dữ liệu của bài toán dưới dạng một bảng chữ nhật, gọi là
bảng vận tải. Bảng bao gồm: m hàng (i = 1, 2, ..., m) và n cột (j = 1, 2,
..., n). Chỗ giao nhau ở hàng i, cột j kí hiệu là ô (i, j). Mỗi hàng tương ứng
với một trạm phát, mỗi cột tương ứng với một trạm thu. Số ghi ở đầu mỗi
hàng là lượng cung, số ghi ở đầu mỗi cột là lượng cầu. Chi phí vận chuyển
cij ghi ở góc trên bên trái của ô (i, j), lượng hàng vận chuyển xij sẽ ghi ở
góc dưới bên phải của ô. Ô (i, j) biểu thị tuyến đường vận chuyển từ trạm
phát i đến trạm thu j. (Đặt cij = ∞ nếu không thể vận chuyển hàng từ i
đến j).
Hình 2.1: Bảng vận tải
Định nghĩa 2.1. Ta gọi dây chuyền là tập hợp các ô có dạng:
(i1 , j1 ), (i1 , j2 ), (i2 , j2 ), (i2 , j3 ), ..., (is , js ), (is , js+1 )
hoặc
(i1 , j1 ), (i2 , j1 ), (i2 , j2 ), (i3 , j2 ), ..., (is , js ), (is+1 , js ).
Một dây chuyền khép kín (js+1 = j1 ) hoặc (is+1 = i1 ) gọi là một chu
trình. Như vậy, mỗi cặp ô liền nhau trong dây chuyền ở trên cùng một
16
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
hàng hay cùng một cột và số ô trên mỗi dây chuyền có thể là chẵn hoặc
lẻ. Một chu trình bao giờ cũng gồm một số chẵn các ô.
Ví dụ 2.1. Dãy ô đánh dấu "•" trong Hình 2.2 a) và b) lập thành các
dây chuyền, còn các ô với dấu • trong hình 2.2 c) - e) lập thành các chu
trình.
Hình 2.2: Dây chuyền: a) - b). Chu trình: c) - e)
Cho G là một tập hợp ô bất kỳ trong bảng vận tải. Một ô thuộc G gọi
là ô treo nếu nó là ô duy nhất của G trên hàng hay trên cột của ô đó. Với
tập hợp ô cho ở trong Hình 2.2 a) thì ô (1, 1) và ô (4, 3) là các ô treo. Nếu
loại khỏi G ô treo (1, 1) thì ô (1, 2) sẽ trở thành ô treo của tập hợp ô còn
lại.
Ta có mối liên hệ quan trọng sau đây.
Định lý 2.1. Hệ véctơ Aij của bài toán vận tải là độc lập tuyến tính khi
và chỉ khi các ô tương ứng với các véctơ này không tạo thành chu trình.
Hệ quả 2.1. Véctơ x là một phương án cực biên của bài toán khi và chỉ
khi tập hợp các ô (i, j) mà xij > 0 không lập thành chu trình.
Định lý 2.2. Giả sử T là một tập hợp gồm m + n − 1 ô của bảng vận tải,
không tạo thành chu trình. Khi đó, mỗi ô (r, s) ∈
/ T sẽ tạo với các ô thuộc
T một chu trình duy nhất.
Chu trình nói tới trong định lý trên có thể tìm bằng cách loại dần các
ô treo của tập hợp ô G = T ∪ {(r, s)}. Ví dụ, tập hợp ô T cho ở Hình 2.2
b) gồm m + n − 1 = 7 ô không tạo thành chu trình. Bổ sung vào ô T ô
(4, 2) ∈
/ T (ô đánh dấu ∆) ta được G = T ∪ {(4, 2)}. Khi đó, bằng cách
loại khỏi G ô treo (3, 3) (ô duy nhất của G trên cột 3), ta nhận được chu
trình (gồm 6 ô):
ε = {(4, 2) , (4, 1) , (2, 1) , (2, 4) , (1, 4) , (1, 2)} .
17
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
2.2
Tìm phương án cực biên ban đầu
Để giải bài toán vận tải (2.1) - (2.4) với điều kiện (2.5) theo phương
pháp thế vị, trước hết ta cần biết một phương án cực biên không suy biến
của bài toán. Có nhiều cách để tìm một phương án như thế. Sau đây là
hai phương pháp thông dụng và có hiệu quả nhất.
a) Phương pháp min cước
Trong bảng vận tải, ta chọn ô (p, q) sao cho: cpq = min {cij : ∀(i, j)}.
Nếu cực tiểu đạt tại nhiều ô thì ta chọn một ô bất kỳ trong số các ô đó.
Sau đó phân phối hàng nhiều nhất có thể theo tuyến p → q nghĩa là đặt:
xpq = min{ap , bq }
Trừ lượng hàng vừa phát vào khả năng phát, thu của hàng p và cột q . Tiếp
đó, ta xóa hàng p nếu điểm phát p đã phát hết hàng, hoặc cột q nếu điểm
thu q đã nhận đủ hàng. Khi cả hàng và cột đều hết và đủ hàng thì chỉ xóa
hàng hoặc cột, không xóa đồng thời cả hai. Trong bảng còn lại, ta lại tìm
ô có cước phí nhỏ nhất và phân phối tối đa lượng hàng còn lại vào ô này
(lượng này có thể bằng 0). Phương án x thu được có đúng m + n − 1 ô
đã phân hàng, nó là một phương án cực biên vì các ô đã chọn không tạo
thành chu trình.
Ví dụ 2.2. Cần vận chuyển xi măng từ 3 kho K1 , K2 , K3 tới 4 công trường
xây dựng T1 , T2 , T3 , T4 . Cho biết lượng xi măng có ở mỗi kho, lượng xi
măng cần ở mỗi công trường và giá cước vận chuyển (ngàn đồng) một tấn
xi măng từ mỗi kho tới mỗi công trường như sau:
Hình 2.3: Lượng xi măng cần vận chuyển
Tìm một phương án cực biên của bài toán vận tải trên.
18
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
Giải. Cước phí nhỏ nhất trong bảng là 15 đạt tại hai ô (2, 1) và (2, 4). Ta
chọn ô thứ nhất và phân vào ô này lượng hàng x21 = min{200, 130} = 130.
Cột 1 đã nhận đủ hàng nên bị loại (không phân hàng vào đây nữa). Hàng
2 chỉ còn lại lượng phát a,2 = 200 − 130 = 70.
Trong bảng còn lại (ba cột cuối), ta chọn ô (2, 4) có cước phí nhỏ nhất
(bằng 15) và phân vào ô này lượng hàng x24 = min{70, 140} = 70. Lúc
này hàng 2 đã phát hết hàng nên bị loại. Cột 4 chỉ còn thiếu lượng hàng
b,4 = 140 − 70 = 70.
Trong bảng còn lại (ba cột cuối hàng 1 và 3), ta chọn ô (1, 2) có cước phí
nhỏ nhất (bằng 18) và phân vào ô này lượng hàng x12 = min{170, 160} =
160. Cột 2 đã nhận đủ hàng nên bị loại. Hàng 1 chỉ còn lại lượng phát
a,1 = 170 − 160 = 10.
Tiếp đó, ta phân vào ô (1, 3) lượng hàng x13 = min{10, 120} = 10.
Đến đây hàng 1 cũng hết hàng, chỉ có hàng 3 là còn hàng. Cuối cùng, ta
phân vào hai ô cuối của hàng này lượng hàng x33 = 120 − 10 = 110 và
x34 = 180 − 110 = 140 − 70 = 70. Đến đây mọi hàng (cột) đã phát hết
(nhận đủ) hàng, ta đặt xij = 0 đối với mọi ô (i, j) còn lại.
Kết quả nhận được phương án cực biên cho ở bảng 2.4. Giá trị hàm mục
tiêu tương ứng bằng 12950. Sau này ta sẽ thấy giá trị cực tiểu fmin = 12140.
Hình 2.4: Phương án cực biên xây dựng theo phương pháp min cước.
b) Phương pháp góc tây bắc
Phương pháp này đơn giản và tiện dùng để lập trình trên máy tính.
Trước hết, ta lập bảng vận tải T với các số liệu ai , bj , cij , i = 1, 2, ..., m,
19
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
j = 1, 2, ..., n. Bắt đầu từ ô ở vị trí góc tây bắc của bảng T (ô (1, 1)),
ta điền lượng hàng x11 lớn nhất có thể vào đó, tức là cho chuyển một
lượng hàng lớn nhất có thể từ điểm phát 1 đến điểm thu 1. Dễ thấy:
x11 = min(a1 , b1 ).
Một trong hai khả năng sau có thể xảy ra:
• Nếu x11 = a1 < b1 . (Điểm phát 1 hết hàng, điểm thu 1 còn cần
,
b1 − a1 đơn vị hàng). Xóa hàng thứ nhất của bảng T ta thu được bảng T
gồm (m − 1) hàng và n cột với lượng phát, thu tương ứng:
a,i = ai , i = 2, 3, ..., m, b,1 = b1 − x11 = b1 − a1 , b,j = bj , j = 2, 3, ..., n;
• Nếu x11 = b1 ≤ a1 . (Điểm phát 1 còn a1 − b1 đơn vị hàng, điểm
thu 1 đã thỏa mãn nhu cầu). Xóa cột thứ nhất của bảng T ta thu đươc
,
bảng T gồm m hàng và n − 1 cột với lượng phát, thu tương ứng:
a,1 = a1 − x11 = a1 − b1 ; a,i = ai , i = 2, 3, ..., m, b,j = bj , j = 2, 3, ..., n.
,
Đối với bảng T , ta lại thực hiện thủ tục chuyển hàng như đã áp dụng
,
với bảng T : Bắt đầu từ ô ở góc tây bắc của bảng T , xác định lượng vận
chuyển lớn nhất có thể (lượng hàng này có thể bằng 0) từ điểm phát đến
điểm thu tương ứng, tức điền lượng hàng vận chuyển lớn nhất có thể vào
ô này... Cứ tiếp tục đến khi loại hết được tất cả các hàng và các cột của
bảng vận tải. Những ô (i, j) không được phân bố hàng có xij = 0.
Nhận xét 2.1. Theo phương pháp góc tây bắc, sau mỗi lần phân phối
hàng ta xóa đi được một hàng (hoặc một cột). Do đó, đúng sau m + n − 1
lần phân phối thủ tục trên phải kết thúc (do lần cuối ta xóa được cả hàng
lẫn cột) và phương án xây dựng theo phương pháp góc tây bắc sẽ không quá
(m + n − 1) thành phần dương.
Mệnh đề 2.1. Phương án tìm được theo phương pháp góc tây bắc hoặc
phương pháp min cước là phương án cực biên của bài toán vận tải.
Chứng minh. Ta sẽ chứng minh mệnh đề này bằng qui nạp theo k = m + n
(tổng số hàng và số cột của bảng vận tải). Hiển nhiên là mệnh đề đúng
nếu m = n = 1, tức đúng với k = m + n = 2.
20
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
http://www.lrc-tnu.edu.vn
- Xem thêm -