CHƢƠNG 3: BÀI TOÁN ĐỐI NGẪU
Giới thiệu
Ở chƣơng 2, ta đã xét bài tốn quy hoạch tuyến tính min-max nhƣ là hai bài
toán tách biệt. Nhƣng thật sự đối với mỗi bài tốn min ln ln tồn tại bài toán
max tƣơng ứng và ngƣợc lại. Bài toán quy hoạch ban đầu đƣợc gọi là bài tốn
gốc cịn bài tốn tƣơng ứng của nó đƣợc gọi là bài tốn đối ngẫu.
Trong nhiều trƣờng hợp, nhờ Lý thuyết đối ngẫu mà các vấn đề phức tạp
trong khi giải bài toán gốc sẽ trở nên đơn giản và dễ dàng hơn thông qua giải bài
tốn đối ngẫu của nó. Ta sẽ ln tìm đƣợc phƣơng án tối ƣu của bài tốn đối
ngẫu từ phƣơng án của bài toán gốc và ngƣợc lại.
Mục tiêu
- Về kiến thức:
+ Hiểu rõ về bài toán đối ngẫu là gì.
+ Ý nghĩa kinh tế của bài toán đối ngẫu, sự cần thiết phải đƣa về bài
toán đối ngẫu.
+ Hiểu đƣợc mối quan hệ giữa bài toán gốc và bài tốn đối ngẫu từ đó
có những phƣơng pháp tìm ra phƣơng án tối ƣu nhanh hơn.
- Về kỹ năng:
+ Lập đƣợc bài toán đối ngẫu từ bài toán gốc.
+ Từ phƣơng án tối ƣu của bài toán gốc suy ra đƣợc phƣơng án tối
ƣu của bài toán đối ngẫu và ngƣợc lại.
- Về năng lực tự chủ và trách nhiệm: Có thái độ nghiêm túc, tự giác học
tập và chịu trách nhiệm với kết quả thực hiện.
54
1. Khái niệm
1.1. Bài toán đối ngẫu của bài toán dạng chính tắc
Định nghĩa:
Cho bài tốn gốc (P):
f (x) cj xj min (max)
(3.1.1)
a x b i 1,m
(3.1.2)
xj 0, j 1,n
(3.1.3)
n
j1
n
j1
ij j
i
Bài toán (D) sau đây đƣợc gọi là bài tốn đối ngẫu của nó:
g(y) by
i i max (min)
(3.1.4)
a y () c
(3.1.5)
m
i1
m
i1
ij i
j
( j 1, n)
yi tùy ý dấu ( i 1,m)
(3.1.6)
Nhận xét
- Hàm mục tiêu của (P) f (x) min thì hàm mục tiêu của (D) g(y) max
và ngƣợc lại.
- Các ràng buộc ở bài toán (D) đều là bất đẳng thức "" nếu f (x) max
(hoặc "" nếu f (x) min )
- Số ẩn của bài toán này là số ràng buộc của bài toán kia và ngƣợc lại.
- Các hệ số cj và các số hạng tự do bi ở hai bài toán đối ngược nhau.
- Ma trận hệ số các ràng buộc ở hai bài toán là chuyển vị của nhau. Hàng
i trong ma trận A(aij)mxn xác định ràng buộc thứ i của bài tốn gốc
a x b ,
n
j1
ij j
i
cịn cột j trong ma trận A xác định ràng buộc thứ j của bài toán đối ngẫu:
a y () c .
m
i1
ij i
j
Ví dụ 1: Bài tốn gốc: f (x) 2x1 4x2 3x3 min
x1 2x2 x3 2
x 3x 5
3
2
xj 0, j 1,3
Bài toán đối ngẫu của bài toán này là:
g(y) 2y1 5y2 max
55
y1 2
2y y 4
1 2
y1 3y2 3
y1, y2 tùy ý.
1.2. Bài toán đối ngẫu của bài toán dạng tổng quát
Quy tắc lập bài toán đối ngẫu đƣợc cho bởi bảng sau:
Bài toán gốc P (D)
Hàm mục tiêu f (x)
Bài toán đối ngẫu D (P)
cj xj max
n
Hàm mục tiêu g(y)
j1
by min
m
i1
i i
Ràng buộc thứ i: aijxj bi , i 1, m Ẩn thứ i: yi 0, i 1, m
j1
tùy ý
n
Ẩn thứ j: xj 0, j 1, n
tùy ý
Ràng buộc thứ j: aij yi cj , j 1, n
i1
m
Nhận xét: Bài toán đối ngẫu của bài tốn đối ngẫu chính là bài tốn gốc. Vì
vậy ngƣời ta nói cặp bài tốn gốc – đối ngẫu là cặp bài toán đối ngẫu nhau.
Cách nhớ
max min
Ẩn Ràng buộc(cùng dấu)
Ràng buộc Ân (ngƣợc dấu)
min max
Ẩn Ràng buộc (ngƣợc
dấu)
Ràng buộc Ân (cùng dấu)
Ví dụ 2: Tìm bài tốn đối ngẫu của bài toán
f (x) 2x1 3x2 x3 x4 max
(1)
2x1 x2 x3 x4 5
x x 2x x 7
(2)
1 2
3
4
5x1 x2 3x3 x4 20 (3)
x1, x2 0, x3 0 x4 tùy ý.
Bài toán đối ngẫu của bài toán này là:
g(y) 5y1 7y2 20y3 min (do f (x) max )
56
2y1 y2 5y3 2
y y y 3
1 2 3
y 2y 3y 1
2
3
1
y1 y2 y3 1
(do x1 0)
(do x2 0)
(do x3 0)
(do x4 tùy ý 0)
y1 0 (do ràng buộc (1) ), y2 tùy ý (do ràng buộc (2) = ), y3 0
(do ràng buộc (3) ),
Ví dụ 3: Tìm bài tốn đối ngẫu của bài tốn
f (x) 2x1 x2 x3 min
x1 x2 2x3 1
x x 3x 2
1 2
3
x1 x2 2x3 3
x1 0, x2 0, x3 tùy ý.
Bài toán đối ngẫu là:
g(y) y1 2y2 3y3 max
y1 y2 y3 2
y y y 1
1 2 3
2y1 3y2 2y3 1
y2 0, y3 0
?
Lập bài toán đối ngẫu của bài toán sau:
f (x) 2x1 x2 8x3 max
7x1 4x2 2x3 28
3x x 3x 10
1 2
3
2x1 3x2 x3 15
x1 0, x2 0
2. Quan hệ giữa bài toán gốc và bài toán đối ngẫu
2.1. Các định lý đối ngẫu
Định lý 1: Với cặp bài toán P và D, chỉ xảy ra một trong ba trƣờng hợp sau:
1. Cả hai đều không có phƣơng án.
2. Cả hai đều có phƣơng án, lúc đó cả hai cùng có phƣơng án tối ƣu và
giá trị hàm mục tiêu đối với phƣơng án tối ƣu bằng nhau.
3. Một trong hai bài tốn khơng có phƣơng án, cịn bài tốn kia có
phƣơng án. Khi đó bài tốn có phƣơng án sẽ khơng có phƣơng án tối
ƣu và hàm mục tiêu của nó khơng bị chặn.
57
Hệ quả 1: Nếu một trong hai bài tốn có phƣơng án tối ƣu thì bài tốn kia cũng
có phƣơng án tối ƣu.
Hệ quả 2: Điều kiện cần và đủ để hai phƣơng án x* của (P) và y* của (D) tối
ƣu là:
f (x*) g(y*)
Định lý 2: (Độ lệch bù yếu). Điều kiện cần và đủ để phƣơng án x* của (P) và
y* của (D) tối ƣu là:
m
xj aij yi cj 0 (j 1,n)
i1
n
yi aijxj bi 0 (i 1,m)
j1
(3.1.7)
(3.1.8)
Chú ý: Nếu trong các tích trên nếu thừa số này khác 0 thì thừa số kia bằng 0.
2.2. Tìm P.A.T.Ƣ của bài tốn đối ngẫu qua P.A.T.Ƣ của bài tốn gốc.
Giả sử bài tốn gốc có phƣơng án tối ƣu x (x1, x2,...xn) và giải đƣợc bài
toán đối ngẫu. Theo định lý 2, ta có
Nếu x*j 0 thì
a y c .
m
i1
*
ij i
j
Nếu thay x* vào ràng buộc của bài toán gốc mà xẩy ra
aijx*j bi
n
(,)
j1
(đẳng thức thật sự) thì yi* 0.
Từ đây ta đƣợc hệ phƣơng trình, giải hệ này ta tìm đƣợc nghiệm tối ƣu
của bài tốn đối ngẫu.
Nhận xét:
Tìm P.A.T.Ƣ của bài toán gốc qua P.A.T.Ƣ của bài toán đối ngẫu ta tiến
hành tƣơng tự.
Ví dụ 4: Bài tốn gốc
f (x) 2x1 x2 x3 4x4 max
5x1 x2 x3 6x4 50
3x x 2x 16
1 3
4
4x1 3x3 x4 23
xj 0, j 1,4
Có phƣơng án tối ƣu là x (0,14,6,5), f (x) 40. Viết bài tốn đối ngẫu và
tìm phƣơng án tối ƣu của bài toán đối ngẫu.
Giải
58
Bài toán đối ngẫu: g(y) 50y1 16y2 23y3 min
5y1 3y2 4y3 2
y 1
1
y y 3y 1
3
1 2
6y1 2y2 y3 4
(1)
(2)
(3)
(4)
y1 tuỳ ý, y2 0, y3 0
Tìm phƣơng án tối ƣu của bài toán đối ngẫu:
x2 140y1 1 (theo (2))
x3 60y1 y2 3y3 1 (theo (3))
x4 506y1 2y2 y3 4 (theo (4))
6
2
Giải hệ trên ta tìm đƣợc: y1 1, y2 , y3
5
5
62
Vậy phƣơng án tối ƣu là y 1, ,
5 5
6
2
với g(y*) 50.116. 23. 40 f (x)
5
5
Ví dụ 5: Bài tốn gốc
f (x) 2x1 5x2 4x3 x4 5x5 min
x1 6x2 2x4 9x5 32
2x x 1 x 3 x 30
2 3 2 4 2 5
3x2 x5 36
xj 0, j 1,5
Có phƣơng án tối ƣu là x (32,0,30,0,0), f (x) 184. Viết bài tốn đối ngẫu
và tìm phƣơng án tối ƣu của bài toán đối ngẫu.
Giải
Bài toán đối ngẫu của nó là:
g(y) 32y1 30y2 36y3 max
59
y1 2
6y1 2y2 3y3 5
y 4
2
2y1 1 y2 1
2
9y1 3 y2 y3 5
2
y1, y2 tuỳ ý, y3 0
Tìm phƣơng án tối ƣu của bài toán đối ngẫu:
x1 320y1 2
x3 300y2 4
Thứ hai: Thay x (32,0,30,0,0) vào ràng buộc thứ 3 ta có
3x2 x5 36 360. Nên y3 0
Thứ nhất:
Vậy phƣơng án tối ƣu là y 2,4,0
với g(y*) 32.230.436.0 184 f (x)
? Tìm phƣơng án tối ƣu của bài tốn đối ngẫu, biết rằng bài tốn gốc có
phƣơng án tối ƣu là x (1/5,0,9/10), f (x) 12.
f (x) 15x1 8x2 10x3 max
3x1 2x2 4x3 3
2x x 2x 4
1 2
3
4x1 5x2 2x3 1
xj 0, j 1,3
Ví dụ 6: Bài toán gốc
f (x) 52x1 60x2 36x3 min
x1 32
2x 4x 3x 6
1
2
3
4x 2x 4
1
2
x2 2
x3 3
xj tùy ý ( j 1,3)
a) Viết bài toán đối ngẫu của bài toán trên.
60
b) Tìm phƣơng án tối ƣu của bài tốn gốc biết P.A.T.Ƣ của bài toán đối
ngẫu là y 0,
34, 22,0,2 và g(y*) 310 .
3
3 3
Giải
Bài toán đối ngẫu của nó là:
g(y) 32y1 6y2 4y3 2y4 3y5 max
y1 2y2 4y3 52
4y 2y y 60
2
3
4
3y2 y5 36
yi 0 i 1,5
Tìm phƣơng án tối ƣu của bài toán gốc
Thứ nhất:
y2 34 02x1 4x2 3x3 6
3
y3 22 04x1 2x2 4
3
y5 20x3 3
Thứ hai: Mọi ràng buộc trong bài toán đối ngẫu đều là phƣơng trình nên
khơng cho ta điều gì về xj
x 11
1
2x1 4x2 3x3 6 6
x2 5
Giải hệ phƣơng trình
4x1 2x2 4
3
x3 3
x3 3
11 5
Vậy phƣơng án tối ƣu của bài toán gốc là x , ,3
6 3
11
5
310 g(y)
với f (x*) 52. 60. 36.3
6
3
3
3. Ý nghĩa bài toán đối ngẫu
Một bài toán quy hoạch tuyến tính gốc đƣợc lập nên từ những vấn đề của sản
xuất và kinh doanh, khi đó mọi tham số (aij ,b,c
i j ), ẩn số, hàm mục tiêu, các
ràng buộc đều chứa đựng những nội dung rõ rệt về kinh tế. Khi chuyển sang bài
tốn đối ngẫu đơi lúc ta sẽ khó có thể giải thích ý nghĩa kinh tế của các yếu tố
trong bài toán đối ngẫu. Tuy nhiên khơng phải vì vậy mà bài tốn đối ngẫu
khơng có tầm quan trọng to lớn.
61
Theo các khái niệm trên ta thấy: giải đƣợc một trong hai bài toán coi nhƣ
đã giải đƣợc bài toán kia. Vì vậy nếu gặp bài tốn khó giải thì rất có thể bài tốn
đối ngẫu sẽ dễ giải hơn.
Ví dụ 7: Bài toán sau.
f(x) cjxj min
aijxj bi (i 1,m)
xj 0 ( j 1,n)
Giả thiết cj 0
( j 1,n)
Nếu giải trực tiếp, ta cần đƣa vào m ẩn phụ với hệ số -1, rồi lại thêm m ẩn giả
với hệ số 1 mới đƣa về dạng chuẩn để giải bằng thuật tốn đơn hình. Cịn nếu
đƣa về bài tốn đối ngẫu:
g( y) bi yi max
aij yi cj ( j 1,n)
yi 0 (i 1,m)
thì chỉ cần đƣa m ẩn phụ vời hệ số 1 là có ngay bài tốn dạng chuẩn để giải.
Ngồi ra ngƣời ta cịn chứng minh đƣợc: khi đã có phƣơng án tối ƣu của bài
tốn đối ngẫu, tức là ở bảng j 0 j . Lúc đó x*( m1,m2,...,mn ) chính
là phƣơng án tối ƣu của bài tốn gốc. (Trong đó m j là ƣớc lƣợng của ẩn phụ
ym j ).
Bẳng lý thuyết của bài toán đối ngẫu ngƣời ta đã đƣa ra các thuật toán giải một
số bài toán quan trọng trong kinh tế nhƣ “phƣơng pháp thế vị” giải bài toán vận
tải và phƣơng pháp “ Điều chỉnh nhân tữ” giải bài toán sản xuất đồng bộ.
62
BÀI TẬP CHƢƠNG 3
1. Lập bài toán đối ngẫu của các bài toán sau:
f (x) 2x1 x2 x3 min
x x 2x 1
1
2
3
a) x1 x2 3x3 2
x1 x2 2x3 3
x1 0, x2 0
f (x) x1 x2 x3 max
x 3x x 4
1
2
3
b)
2x x 2x 1
3
1 2
xj 0, j 1,3
2. Lập bài toán đối ngẫu của các bài toán sau:
f (x) 2x1 3x2 2x3 4x5 min
x x 3x 7
2
4
5
a) 4x1 2x3 x5 3
x1 3x3 x4 x5 10
x1 0, x2, x3 0, x4, x5 R
f (x) 25x1 20x2 30x3 max
3x x x 12
1 2 3
x1 x2 x3 8
b)
x 2x 2x 12
2
3
1
2x1 3x2 x3 9
xj 0, j 1,3
3. Cho bài toán gốc:
f (x) 27x1 50x2 18x3 max
x 2x x 2
1
2
3
2x x x 4
1 2 3
x1 2x2 x3 2
x1, x2 R, x3 0
a) Lập bài toán đối ngẫu
b) Giải bài toán đối ngẫu và suy ra kết quả của bài tốn gốc.
4. Tìm phƣơng án tối ƣu của bài tốn đối ngẫu. Biết bài tốn gốc có phƣơng án
tối ƣu là x (0,7/2,1) và có dạng:
f (x) 12x1 8x2 x3 min
x1 2x2 x3 8
2x1 2x2 3x3 10
2x1 3x2 3 x3 12
2
63
xj 0, j 1,3
5. Cho bài toán gốc
f (x) 2x1 x2 x4 min
x1 x2 x3 15
x x x x 27
1 2 3 4
2x1 x2 x3 18
xj 0, j 1,4
Có phƣơng án tối ƣu là X (15,0,12,0) , f (X) 30
Viết bài tốn đối ngẫu và tìm phƣơng án tối ƣu của bài toán đối ngẫu.
6. Cho bài toán (P)
f (x) 3x1 x2 2x3 3x4 2x5 4x6 min
2x1 x3 x4 2x6 5
3x x 2x x 11
1 2
4
6
x1 2x4 x5 x6 5
xj 0, j 1,6
Kiểm tra tính tối ƣu của phƣơng án x(5/2,7/2,0,0,5/2,0) của bài toán (P).
7. Cho bài toán gốc
f (x) x1 2x2 3x3 3x4 max
2x1 x2 x3 2x4 20
x 2x 3x 4x 18
1
2
3
4
2x1 x2 2x3 x4 16
xj 0, j 1,4
a) Giải bài toán trên bằng phƣơng pháp đơn hình.
b) Viết bài tốn đối ngẫu và tìm phƣơng án tối ƣu của bài tốn đối ngẫu.
64
CHƢƠNG 4: BÀI TOÁN VẬN TẢI - BÀI TOÁN THẾ VỊ
Giới thiệu
Bài toán vận tải là bài toán quan trọng nhất trong các bài tốn quy hoạch
tuyến tính. Thuật ngữ bài toán vận tải thƣờng đƣợc hiểu là bài tốn vận chuyển
sao cho cƣớc phí nhỏ nhất.
Trong chƣơng này, sinh viên sẽ làm quen các nội dung sau: bài toán vận tải
cân bằng thu phát và các dạng đặt biệt khác (nhƣ khơng cân bằng thu phát, bài
tốn vận tải ơ cấm, bài tốn vận tải có hàm mục tiêu max) để từ đó đó ra
phƣơng pháp giải phù hợp, cách đặt bài toán dƣới dạng bảng, một số phƣơng
pháp giải bài toán vận tải.
Mục tiêu
- Về kiến thức:
+ Nhận biết dạng bài toán vận tải cân bằng thu phát và các dạng đặt
biệt khác (nhƣ không cân bằng thu phát, bài tốn vận tải ơ cấm, bài tốn vận tải
có hàm mục tiêu max) để từ đó đó ra phƣơng pháp giải phù hợp.
+ Hiểu đƣợc cách đặt bài toán dạng bảng.
+ Hiểu đƣợc các phƣơng pháp giải bài toán vận tải.
- Về kỹ năng:
+ Biết cách đặt bài toán dƣới dạng bảng.
+ Thành thạo phƣơng pháp chi phí bé nhất đề tìm phƣơng án cơ bản
ban đầu cho bài tốn vận tải.
+ Phân tích vững thuật tốn “Quy 0 cƣớc phí các ơ chọn” và phƣơng
pháp thế vị để tìm phƣơng án tối ƣu cho bài toán vận tải.
- Về năng lực tự chủ và trách nhiệm: Có thái độ nghiêm túc, tự giác học
tập và chịu trách nhiệm với kết quả thực hiện.
65
1. Bài toán vận tải cân bằng thu phát (bài tốn cổ điển)
1.1. Thiết lập bài tốn
Giả sử có
m địa điểm A1, A2,..., Am cung cấp một loại hàng hóa (xi măng,
sắt, thép,…) với khối lƣợng lần lƣợt là a1, a2,, am. Cùng lúc đó có n địa điểm
tiêu thụ hàng hóa đó là B1, B2,..., Bn với khối lƣợng yêu cầu lần lƣợt là
b1,b2,,bn (đơn vị khối lƣợng tính bằng tấn).
Gọi
Ai là trạm phát hàng thứ i ( i 1,m)
Bj là trạm thu hàng thứ j ( i 1, n)
Giả sử chi phí chuyên chở một tấn hàng từ Ai đến
C cij mxn gọi là ma trận cƣớc phí.
Bj là cij đồng. Ma trận
Hãy lập kế hoạch vận chuyển hàng hóa sao cho tổng chi phí vận tải thấp
nhất và thỏa mãn yêu cầu thu-phát.
(Để đơn giản, ta giả thiết tổng lượng hàng cần phát đi ở các trạm phát
n
m
a
i bj . Điều kiện này gọi là
j1
i1
bằng tổng lượng hàng thu về ở các trạm thu
cân bằng thu phát)
Mơ hình bài tốn vận tải
Đặt xij là số tấn hàng chuyển từ trạm phát Ai đến trạm thu
Tổng chi phí vận tải: f (x)
c x min
m n
i1 j1
(1) Trạm phát, phát hết hàng:
(2) Trạm thu, thu đủ hàng:
Bj
ij ij
x a , i 1,m
(4.1.1)
n
j1
ij
i
x b , ( j 1,n)
(4.1.2)
m
i1
ij
j
(4.1.3)
(3) Yêu cầu trạm phát và trạm thu đƣợc thỏa
ai bj (cân bằng thu phát)
m
n
i1
j1
(4) Hiển nhiên xij 0 (i 1, m; j 1, n) .
(4.1.4)
(4.1.5)
Từ các phân tích trên, ta có mơ hình bài tốn vận tải (BTVT) nhƣ sau:
f (x) cijxij min
(4.1.6)
x a (i 1,m)
(4.1.7)
m n
i1 j1
n
j1
ij
i
66
x b
m
i1
ij
j
( j 1, n)
(4.1.8)
xij 0; cij 0; ai 0; bj 0; ai bj
Một ma trận X xij
mxn
m
n
i1
j1
(4.1.9)
thỏa (4.1.7), (4.1.8) và (4.1.9) gọi là một phƣơng
án, thỏa thêm (4.1.6) gọi là phƣơng án tối ƣu.
1.2. Đặt bài toán dƣới dạng bảng
Bài toán vận tải là bài toán QHTT nên có thể dùng thuật tốn đơn hình để
giải. Nhƣng do tính chất đặc biệt của bài tốn vận tải, nên ta có thể có một
phƣơng pháp giải đơn giản và hiệu quả hơn.
Trƣớc hết ta trình bày bài tốn dƣới dạng bảng:
Thu Bj
b1
b2
…
bn
Phát Ai
A1
A2
c11
c12
x11
c21
c1n
x12
c22
x21
x1n
c2n
x22
x2n
…
am
cm1
cm2
xm1
cmn
xm2
xmn
Mô tả bảng vận tải
- Mỗi hàng đặc trƣng cho một trạm phát và mỗi cột đặc trƣng cho một
trạm thu.
- Mỗi ô nằm trên hàng
i và cột j đặc trƣng cho tuyến đƣờng từ Ai đến
Bj gọi là ơ (i, j)
+ Chi phí vận chuyển: cij đƣợc ghi ở góc bên trái của ơ (i, j) .
+ Lƣợng hàng hóa cần vận chuyển: xij đƣợc ghi ở góc bên phải của ơ
(i, j).
- Một ơ đƣợc gọi là ơ treo nếu nó là ơ duy nhất trên dịng hay cột.
- Những ơ ứng với xij 0 trong Bảng vận tải đƣợc gọi là ô chọn. Những ơ
cịn lại đƣợc gọi là ơ loại. Ơ chọn đặc trƣng cho tuyến đƣờng có vận tải.
67
- Một dãy các ơ chọn, trong đó 3 ơ liên tiếp khơng nằm trong cùng 1 dịng
hay một cột đƣợc gọi là một dây chuyền.
(i1, j1)(i1, j2)(i2, j2)...(ik1, jk )(ik , jk )
(Số ô trong một dây chuyền là một số chẵn, không nhỏ hơn 4)
- Một dây chuyền khép kín đƣợc gọi là một vịng (lƣu ý: tổng số ơ trên
vịng ln là số chẵn và ít nhất là 4 ô)
(i1, j1)(i1, j2)(i2, j2)...(ik1, jk )(ik , jk )(ik , j1)
Ví dụ 1
- Các ơ chọn có dấu “x”, tạo thành dây chuyền; hình 2 tạo thành một
vịng.
- Hình 1, ơ (3,1) là ơ treo; hình 2, khơng có ơ treo.
x
x
X x
x
x
x
x
x
x
x
(hình 1)
x
(hình 2)
Định nghĩa
- Một phƣơng án mà các ơ chọn khơng tạo thành vịng gọi là P.A cơ bản.
- Một phƣơng án cơ bản có đủ mn1 ô chọn gọi là P.A cơ bản không suy
biến, nếu ít hơn mn1 ơ chọn gọi là P.A cơ bản suy biến.
1.3. Các tính chất
1.3.1. Tính chất 1
Bài tốn vận tải cân bằng thu phát ln có phương án tối ưu.
Thật vậy:
ab
xij i j ; xij 0 và
ai
Đặt
i
j bj
ab
i j
j xij j ai ai ai ai
ai
ab
i j
i
xij
bj
b
i
i ai
ai j
i
i
i
i
Vậy bài tốn có phƣơng án.
Ngồi ra f (x)
c x 0
i
j
ij ij
Bài tốn vận tải có phƣơng án và hàm mục tiêu luôn bị chặn dƣới nên nó
có phƣơng án tối ƣu.
68
1.3.2. Tính chất 2
Trong một phƣơng án cơ bản bất kỳ, số ô chọn không bao giờ vượt quá
tổng số các trạm phát và các trạm thu trừ đi một.
Ký hiệu: số ơ chọn thì
mn1.
1.3.3. Tính chất 3
Với một phƣơng án cơ bản có đủ mn1 ơ chọn thì một ô loại bất kỳ
đƣợc đƣa vào P.A sẽ tạo nên một vịng duy nhất với một số ơ chọn.
Chú ý: Trƣờng hợp P.A cơ bản suy biến, ta có thể bổ sung một số ơ loại sao
cho P.A cơ bản có mn1 ơ chọn. Các ơ loại đƣợc bổ sung này gọi là các “ơ
chọn 0”.
Ví dụ 2: Trong bảng dƣới đây có tập
chứa vịng có đánh dấu “x”.
F gồm mn14317 ơ chọn khơng
Ơ (4, 4) của bảng không thuộc F.
Khi bổ sung ô (4, 4) vào F ta sẽ có vịng duy nhất: (1,3) (1,4) (4,4) (4,3)
X
x
x
x
x
X
x
(4,4)
2. Thuật toán thế vị giải bài toán vận tải cân bằng thu phát
2.1. Lập phƣơng án cơ bản ban đầu
Áp dụng phương pháp chi phí bé nhất cho trƣờng hợp cân bằng thu phát
Bƣớc 1: Kiểm tra
a b
m
i1
n
i
j1
j
(cân bằng thu phát)
(4.2.1)
Bƣớc 2: Chọn ơ đầu tiên có cƣớc phí vận chuyển bé nhất (i, j).
ai
Bƣớc 3: Chọn xij nhƣ sau: xij min(ai ,bj ) bj
a b
i j
(4.2.2)
- Nếu xij ai thì trạm phát i đã phát hết hàng, xóa hàng i của bảng
và số lượng thu còn lại tại trạm thu j chỉ còn là bj ai ;
69
- Nếu xij bj thì trạm thu j đã nhận đủ hàng, xóa cột j của bảng và
số lượng phát còn lại tại điểm phát i là ai bj .
- Nếu xij ai bj thì trạm phát i và trạm thu j đều phát và nhận đủ
hàng, xóa hàng i và cột j của bảng.
Bƣớc 4: Trong bảng còn lại với số hàng và số cột ít hơn, ta lại tiếp tục
phân phối nhƣ trên cho đến khi hết hàng.
Bƣớc 5: Kiểm tra lại các ô chọn
- Nếu mn1 “số ô chọn” là P.A C.B của bài tốn.
- Nếu mn1 “số ơ chọn” thì ta bổ sung thêm một số “ô chọn 0”
cho đủ mn1 ơ khơng tạo thành vịng.
Ví dụ 3: Tìm phƣơng án cơ bản ban đầu của bài toán vận tải với các số liệu sau
đây:
5 4 1
(cij) 3 2 6 ;
7 9 11
Giải: Ta thấy:
(ai ) 50 40 70; (bj ) 80 20 60.
a b 160 (cân bằng thu phát)
m
i1
n
i
j1
j
Ta đặt bài toán dƣới dạng bảng:
bj
80
20
60
ai
50
40
70
5
4
1
3
2
6
7
9
11
Thứ tự phân phối nhƣ sau:
Ô (1,3) đƣợc phân vào 50. Hàng 1 bị xóa, cột 3 cịn cần 10.
Ơ (2,2) đƣợc phân vào 20. cột 2 bị xóa, hàng 2 cịn 20.
Ơ (2,1) đƣợc phân vào 20. Hàng 2 bị xóa, cột 1 cịn cần 60.
Ơ (3,1) đƣợc phân vào 60. cột 1 bị xóa, hàng 3 cịn 10.
Ơ (3,3) đƣợc phân vào 10. Hết hàng.
70
bj
80
20
60
ai
50
40
70
5
4
1
50
3
2
20
7
6
20
9
11
60
10
Ta thấy có 5 ơ chọn và mn1331 “số ơ chọn” nên chúng tạo thành
một phƣơng án cơ bản không suy biến.
Phƣơng án cơ bản ban đầu là:
0 0 50
X 20 20 0
60
0
10
2.2. Thuật toán “Quy 0 cƣớc phí các ơ chọn”
Định lý: Nếu ta cộng vào hàng i và cột j của ma trận cƣớc phí C cij
mxn
một số
tuỳ ý ri (i 1, m) và sj ( j 1, n) , ta sẽ có bài tốn vận tải mới với ma trận cƣớc phí
C' cij' mxn cij' cij ri sj tƣơng đƣơng với bài toán ban đầu.
Thuật toán: gồm 3 bƣớc:
Bƣớc 1: Quy 0 cƣớc phí các ơ chọn
- Xác định đƣợc một phƣơng án cơ bản ban đầu. (xem mục 4.3.1)
- Với mn1 ô chọn, ta cộng vào hàng i và cột j của ma trận cƣớc
phí C cij mxn một số tuỳ ý ri (i 1, m) và sj ( j 1, n) sao cho ma trận cƣớc
phí mới C’ thỏa cij' 0 (tức ri sj cij 0 ).
Bƣớc 2: Kiểm tra tính tối ƣu
1. Sau khi quy 0 cƣớc phí các ơ chọn, nếu các ơ loại đều có cƣớc phí
0 thì phương án đang xét là tối ưu.
2. Sau khi quy 0 cƣớc phí các ơ chọn, nếu có ít nhất một ơ loại có
cƣớc phí < 0 thì phƣơng án đang xét không phải tối ưu. Ta chuyển sang
bƣớc 3.
Bƣớc 3: Xây dựng phƣơng án mới tốt hơn
1. Chọn ô đưa vào: Ơ đƣa vào là ơ (i*,j*) có cước phí âm nhỏ nhất.
71
2. Tìm vịng điều chỉnh: Bổ sung (i*,j*) vào mn1 ô chọn ban
đầu sẽ xuất hiện vòng duy nhất, gọi là vịng điều chỉnh V.
3. Phân ơ chẵn lẻ của vòng điều chỉnh V: Ta đánh số thứ tự các ơ
của vịng V bắt đầu từ ơ (i*,j*). Khi đó, V phân thành hai lớp:
VC: các ơ có số thứ tự chẵn
VL: các ơ có số thứ tự lẻ
4. Chọn ô đưa ra và lƣợng điều chỉnh:
- Tính giá trị nhỏ nhất trong 2 ơ chẵn : min(c21,c33)
- Ơ nào có phân ít hàng nhất làm ơ đưa ra, cịn lƣợng hàng
ở ô này là lƣợng điều chỉnh.
5. Lập phương án mới: Phƣơng án mới đƣợc tính nhƣ sau:
- Ơ có thứ tự chẵn đƣợc bớt đi lƣợng điều chỉnh
- Ô có thứ tự lẻ đƣợc cộng thêm lƣợng điều chỉnh
- Ơ ngồi vịng điều chỉnh khơng thay đổi.
Ví dụ 4: Giải bài tốn vận tải đƣợc cho trong ví dụ trên.
Bƣớc 1: Quy 0 cƣớc phí các ơ chọn
- Phƣơng án cơ bản ban đầu của bài toán (xem ví dụ 3)
- Ta thấy:
bj
80
20
60
ai
50
40
70
5
4
1
50
3
2
6
20
7
11
60
s1 3
r2 0
20
9
10
s2 2
r1 6
r3 4
s3 7
Các giá trị ri và sj cộng vào phải thoả hệ phƣơng trình:
1r1 s3 0
3r s 0
2 1
2r2 s2 0
7r3 s1 0
11r3 s3 0
(I)
72
Cho r2 0, giải hệ (I) ta đƣợc kết quả trong bảng trên.
Áp dụng công thức cij' cij ri sj ta có ma trận cƣớc phí mới sẽ là:
8
8
0
50
0
0
20
0
-1
20
3
0
60
10
Bƣớc 2: Kiểm tra tính tối ƣu
Phƣơng án chƣa tối ƣu vì cịn ơ loại (2, 3) có cƣớc phí 10. Ta chuyển
sang bƣớc 3.
Bƣớc 3: Xây dựng phƣơng án mới tốt hơn
1. Chọn ơ đưa vào: Ơ loại (2, 3) là ơ đƣợc đƣa vào
(do (2, 3) có cước phí 10 nhỏ nhất)
2. Tìm vịng điều chỉnh: Vịng điều chỉnh là: V: (2,3)(3,3)(3,1)(2,1)(2,3)
3. Phân ơ chẵn lẻ của vịng điều chỉnh V.
VC (2,1)(3,3)
VL (2,3)(3,1)
4. Chọn ô đưa ra và lƣợng điều chỉnh:
Ta có : min(c21,c33) min(20,10) 10c33 Ô đƣa ra là (3,3), lƣợng
điều chỉnh là 10.
5. Lập phƣơng án mới.
Những ơ trong vịng điều chỉnh có sự thay đổi nhƣ sau:
Ô (2,3) đƣợc thêm 10 trở thành 10
Ô (3,3) đƣợc bớt 10 trở thành 0
Ô (3,1) đƣợc thêm 10 trở thành 70
Ô (2,1) đƣợc bớt 10 trở thành 10
Khi đó, phƣơng án mới là:
8
8
0
50
0
0
10
-1
20
73
10
0
3
0
70
Phƣơng án chƣa tối ƣu vì cịn ơ loại (2, 3) có cƣớc phí 10. Ta quay về bƣớc
1.
Bƣớc 1: Quy 0 cƣớc phí các ơ chọn
8
8
0
50
0
0
10
0
-1
20
10
3
0
s2 0
s3 1
r2 0
r3 0
70
s1 0
r1 1
Ma trận cƣớc phí mới là:
7
7
0
50
0
0
10
0
0
20
3
10
1
70
Ta thấy các ơ loại đều có cƣớc phí dƣơng nên bài tốn có phƣơng án tối
ƣu là
0 0 50
X 10 20 10
70 0 0
Với phƣơng án tối ƣu này cƣớc phí ít nhất phải trả là:
f (X*) 1.503.102.206.107.70 670.
2.3. Phƣơng pháp thế vị
Cho bài toán vận tải:
f (x) cijxij min
m n
i1 j1
74
(4.2.3)
x a (i 1,m)
(4.2.4)
x b
(4.2.5)
n
j1
ij
i
m
i1
ij
j
( j 1, n)
xij 0 (i 1, m; j 1, n)
(4.2.6)
Bài toán đối ngẫu của bài toán này là:
g(u,v) au
i i bv
j j max
(4.2.7)
ui vj cij (i 1, m; j 1, n)
(4.2.8)
m
n
i1
j1
ui ,vj tuỳ ý
(4.2.9)
Theo định lý đối ngẫu thứ 2 ta có dấu hiệu tối ƣu:
Điều kiện cần và đủ để X {xij} tối ƣu là tồn tại một hệ thống {ui , vj}
(i 1, m; j 1, n) thỏa mãn các điều kiện sau:
a) ui vj cij nếu xij 0
(4.2.10)
b) ui vj cij với mọi i, j
(4.2.11)
(Các ui ,vj gọi là thế vị của dịng i và cột j).
Thuật tốn
Bƣớc 1: Xây dựng phƣơng bán cơ bản cho bài toán vận tải
- Lập bảng vận tải.
- Kiểm tra điều kiện cân bằng thu-phát.
- Xác định P.A.C.B (bằng phương pháp chi phí bé nhất).
- Kiểm tra lại có đúng mn1 ơ chọn, rồi chuyển qua bƣớc 2.
Bƣớc 2: Xây dựng hệ thống thế vị ui , vj
- Lấy một hàng i nào đó (chọn hàng có nhiều ơ chọn) và gán cho nó một
giá trị ui tuỳ ý (thƣờng cho ui 0).
- Tính các ui ,vj cịn lại theo công thức:
vj ui cij
ui vj cij
với (i, j) ứng với các ơ chọn.
(Bằng cách đó ta có đủ các ui ,vj của tất cả các hàng và các cột).
Bƣớc 3: Kiểm tra tính tối ƣu
Tính ij vj ui cij cho các ơ loại (dƣơng thì ghi rõ số, âm thì ghi dấu (-)),
các ơ chọn thì ij 0.
75
+ Nếu ij 0 (i, j) thì phƣơng án tối ƣu.
+ Nếu tồn tại ij 0 thì chƣa tối ƣu chuyển sang bƣớc 4.
Bƣớc 4: Điều chỉnh phƣơng án để tìm phƣơng án mới tốt hơn
1.Chọn ơ đƣa vào: Ơ loại có cƣớc phí dƣơng ( ij 0) lớn nhất.
2. Xác định vòng điều chỉnh.
3. Phân ô chẵn lẻ.
4. Tìm ô đƣa ra và lƣợng điều chỉnh
5. Lập phƣơng án mới tốt hơn.
Các việc 2, 3, 4, 5 làm tƣơng tự nhƣ ở thuật toán “Quy 0 cước phí ơ
chọn”.
Sau khi có phƣơng án mới, quay về bƣớc 1 và cứ tiếp tục cho đến khi tìm
đƣợc phƣơng án tối ƣu.
Nhận xét: Thuật tốn này dựa trên khái niệm bài toán đối ngẫu và định lý độ
lệch bù yếu khá trừu tƣợng đối với các bạn khơng nắm chắc cơ sở tốn. Về tiến
trình tính tốn thì khơng gọn nhẹ bằng thuật tốn “Quy 0 cước phí các ơ chọn”
vì các ij tính ở bƣớc này khơng đƣợc dùng ở bƣớc sau. Cịn ở thuật toán trƣớc
cij ở các bƣớc sau thƣờng rất nhỏ, hầu hết là bằng 0. Về mức độ hiệu quả thì hai
phƣơng pháp là nhƣ nhau.
Ví dụ 5: Giải bài tốn vận tải với các số liệu sau đây:
14 21 12 23
(cij) 24 19 22 32
22 11 34 16
(ai ) 125 175 210;
34
15
27
(bj ) 120 140 75 85 90
Giải
76
vj
ui
24
bj
27
120
140
22
32
15
75
85
90
ai
10
14
125
0
50
24
175
16
21
(+8)
11
(-)
vj
ui
22
bj
24
19
120
140
(-)
32
(0)
15
15
34
140
34
(-)
75
19
22
23
(-)
70
210
12
16
(-)
90
27
70
22
24
75
85
(-)
15
90
ai
10
125
0
175
816
210
14
21
(-)
50
24
12
19
70
22
75
22
15
11
(-)
23
(-)
32
(-)
15
(0)
34
125
34
(-)
90
16
27
85
(-)
Kết thúc bảng 2, có ij 0 (ij) nên phƣơng án tối ƣu là
50 0 75 0 0
X 70 15 0 0 90
0 125 0 85 0
Với phƣơng án tối ƣu này cƣớc phí ít nhất phải trả là:
f (X*) 14.5012.7524.7019.115.9011.12516.857650.
?
Giải bài toán vận tải với các số liệu sau đây:
77
1
3
(cij)
4
2
(ai ) 31
4 2 2
4 2 4
3 2 3
4 4 4
50 75 128; (bj ) 104 22 40 118
3. Bài tốn vận tải có ơ cấm
Trong thực tế có một số tuyến đƣờng khơng thể vận chuyển hàng hóa qua
đƣợc: cầu, phà, đƣờng sá bị hƣ hỏng, hoặc không có phƣơng tiện vận tải thích
hợp, kế hoạch vận tải phải đảm bảo cho một trạm phát nào đó phát hết hàng
hoặc trạm thu nào đó phải thu đủ hàng khi không cân bằng thu phát,…Các ô ứng
với các tuyến đƣờng này gọi là các “ô cấm”.
Cách giải
Ta lập bài toán mở rộng (VTM) bằng cách thay cij ở các ô cấm bằng
M 0 rất lớn, dùng phƣơng pháp thế vị để giải bài tốn này. Có hai trƣờng hợp:
* Nếu trong P.A.T.Ƣ của (VTM) có tất cả cá thành phần ứng với ô cấm
đều bằng 0. Khi đó, bài tốn xuất phát có P.A.T.Ƣ .
* Nếu trong P.A.T.Ƣ của (VTM) có tất cả cá thành phần ứng với ơ cấm
khác 0. Khi đó, bài tốn xuất phát khơng có P.A và do đó cũng khơng có
P.A.T.Ƣ.
Ví dụ 6: Giải bài toán vận tải với các số liệu sau đây:
8
(cij) 10
10
(ai ) 50
15 16 10
5 9 15
14 11 13
100 50; (bj ) 50 100 25 25
Trong đó ơ (2, 2) và (2, 4) là ô cấm.
Giải
78