TRƢỜNG ĐẠI HỌC CÔNG NGHIỆP
THÀNH PHỐ HỒ CHÍ MINH
Thạc sĩ Bùi Thị Thu Phƣơng
BÀI GIẢNG
QUY HOẠCH TUYẾN TÍNH
Trình độ: Đại học
Thời lƣợng giảng dạy: 30 tiết
Ngành: Khối kinh tế và khối kỹ thuật
TP. HỒ CHÍ MINH – 2016
LƯU HÀNH NỘI BỘ
Th.s Bùi Thị Thu Phương ĐHCN TP. HCM
2
Mục lục
Chƣơng 1. Bài toán quy hoạch tuyến tính ................................ 3
Bài 1. Một số bài toán dẫn đến bài toán quy hoạch tuyến tính ...... 3
Bài 2 Bài toán quy hoạch tuyến tính và ý nghĩa hình học .............. 6 Bài 3 Tính chất của tập phương án và tập phương án tối ưu của bài
toán quy hoạch tuyến tính ................................................... 11
Bài 4 Phương pháp đơn hình....................................................... 15 Bài 5 Công thức đổi cơ sở và phương pháp đơn hình trên bảng .. 22
Chƣơng 2. Lý thuyết đối ngẫu.................................................. 36
Bài 1 Bài toán đối ngẫu ............................................................. 36
Bài 2 Tương quan giữa cặp bài toán gốc và đối ngẫu.................. 40
Chƣơng 3. Bài toán vận tải ....................................................... 48
Bài 1 Giới thiệu bài toán vận tải và một số tính chất ................... 48 Bài 2 Dạng bảng của bài toán vận tải .......................................... 52
Bài 3 Thuật toán thế vị ............................................................... 55
Bài 4 Phương pháp thành lập phương án cực biên ban đầu .......... 65
Bài 5 Một số trường hợp đặc biệt của bài toán vận tải ................. 68 Bài 6 Trường hợp suy biến ......................................................... 74
Th.s Bùi Thị Thu Phương ĐHCN TP.HCM
3
Chƣơng 1 BÀI TOÁN QUY HOẠCH TUYẾN TÍNH
Bài 1 MỘT SỐ BÀI TOÁN DẪN ĐẾN BÀI TOÁN
QUY HOẠCH TUYẾN TÍNH
Quy hoạch tuyến tính là môn học được sinh ra từ nhu
cầu giải các bài toán về kế hoạch sản xuất, phân phối… sao
cho có lợi nhất về mặt kinh tế. Chúng ta lần lượt xét một số
bài toán này thông qua các ví dụ.
Ví dụ 1. Bài toán lập kế hoạch sản xuất để doanh thu (hay
lợi nhuận) lớn nhất.
Một xí nghiệp dự định sản xuất hai loại bánh A và B,
bánh A dành cho người ăn chay; bánh B dành cho người ăn
mặn. Các loại bánh này được sản xuất từ ba loại nguyên
liệu là bột, đường và mỡ động vật. Số đơn vị nguyên liệu
bột, đường và mỡ động vật mà xí nghiệp có là 88, 15, 10.
Khi sản xuất một đơn vị bánh A cần 6 đơn vị bột, 2
đơn vị đường, không dùng mỡ động vật. Khi sản xuất một
đơn vị bánh B cần 8 đơn vị bột, 3 đơn vị đường, 2 đơn vị
mỡ động vật.
Cần lập một kế hoạch sản xuất (tức là tính xem nên
sản xuất bao nhiêu đơn vị bánh từng loại) để lãi thu được là
nhiều nhất. Biết 1 đơn vị bánh loại A bán lãi 4 triệu đồng, 1
đơn vị bánh loại B bán lãi 5 triệu đồng. Với giả thiết các
loại bánh sản xuất ra bán hết trong thời gian sử dụng.
GIẢI:
Gọi 1 2,x x theo thứ tự là số đơn vị bánh A, B mà xí
nghiệp cần sản xuất. Bài toán yêu cầu tìm 1 2,x x sao cho lãi
thu được xác định bởi biểu thức 1 2
4 5f x x lớn nhất.
Th.s Bùi Thị Thu Phương ĐHCN TP. HCM
4
Số đơn vị bột phải dùng là 1 2
6 8x x .
Số đơn vị đường phải dùng là 1 2
2 3x x .
Số đơn vị mỡ động vật phải dùng là 2
2x .
Do số lượng bột, đường và mỡ động vật mà xí nghiệp
có là có hạn nên
1 26 8 88x x ( điều kiện hạn chế về lượng bột),
1 22 3 15x x (điều kiện hạn chế về lượng đường),
22 10x (điều kiện hạn chế về lượng mỡ động vật).
Ngoài ra do 1 2,x x là mức sản lượng nên
1 20, 0x x .
Bằng ngôn ngữ toán học, bài toán trên có thể phát biểu lại
như sau: tìm 1 2,x x sao cho biểu thức
1 24 5f x x lớn nhất
với các ràng buộc:
1 2
1 2
2
1 2
6 8 88
2 3 15
2 10
, 0
x x
x x
x
x x
Chương 1 này sẽ giúp chúng ta giải các bài toán có
dạng như trên.
Ví dụ 2. (theo [4], tr 16) Một công ty sản xuất hai loại sơn,
sơn nội thất và sơn ngoài trời. Nguyên liệu để sản xuất gồm
hai loại A, B với trữ lượng là 6 tấn và 8 tấn tương ứng.
Để sản xuất một tấn sơn nội thất cần 2 tấn nguyên
liệu A và 1 tấn nguyên liệu B.
Để sản xuất một tấn sơn ngoài trời cần 1 tấn nguyên
liệu A và 2 tấn nguyên liệu B.
Qua điều tra thị trường công ty biết rằng nhu cầu sử
dụng sơn nội thất không hơn sơn ngoài trời quá 1 tấn, nhu
cầu sử dụng cực đại của sơn nội thất là 2 tấn. Giá bán một
tấn sơn nội thất là 2000 USD, giá bán một tấn sơn ngoài
trời là 3000 USD.
Th.s Bùi Thị Thu Phương ĐHCN TP.HCM
5
Hỏi cần sản xuất mỗi loại sơn bao nhiêu tấn để
doanh thu lớn nhất?
Ví dụ 3. Bài toán cắt vật liệu.
Một xí nghiệp sản xuất ba loại quạt: quạt trần, quạt
treo tường, quạt để bàn. Họ cần cắt những tấm tôn giống
nhau và có cùng diện tích 24m thành những cánh quạt của
các loại quạt nói trên. Cánh quạt trần có diện tích 21.8m ,
cánh quạt treo tường có diện tích 21.4m và cánh quạt để
bàn có diện tích 21.2m . Có năm cách cắt các tấm tôn. Số
lượng cánh quạt thu được từ mỗi cách cắt cũng như số 2m
tôn thừa khi cắt một tấm tôn được cho ở bảng sau đây:
Cách
cắt
Quạt
1 2 3 4 5
Trần 2 0 1 0 1
Treo tường 0 2 0 1 1
Để bàn 0 1 1 2 0
Tôn thừa 0.4 0 1 0.2 0.8
Theo yêu cầu lao động thì cuối kỳ phải cắt được 550
cánh quạt trần, 500 cánh quạt treo tường và 450 cánh quạt
để bàn. Hỏi cần phải cắt theo mỗi cách bao nhiêu tấm tôn
để thỏa yêu cầu lao động và tổng số 2m tôn thừa là ít nhất?
Ví dụ 4. Bài toán xây dựng khẩu phần thức ăn.
Một xí nghiệp chăn nuôi cần mua ba loại thức ăn
1 2 3, ,T T T để chế biến thành một khẩu phần ăn cho gia súc.
Biết tỷ lệ chất dinh dưỡng có trong các loại thức ăn như
sau:
Th.s Bùi Thị Thu Phương ĐHCN TP. HCM
6
Th.s Bùi Thị Thu Phương ĐHCN TP.HCM
7
1
11
21
31
1
2
3
( ) , max (min)
(1)
(2)
(3)
0 (4)
0 (5)
(6)
n
j jj
n
ij j ijn
ij j ijn
ij j ij
j
j
j
f x c x c x
a x b i I
a x b i I
a x b i I
x j J
x j J
x j J
Ở đây chúng ta dùng ký hiệu 1
,n
j jj
c x c x là tích
vô hướng của hai véc tơ ,c x trong đó 1 2
( , ,..., )n
c c c c ,
1 2( , ,..., )
nx x x x .
Ví dụ 1. Xét bài toán 1 2 3 4
( ) 4 minf x x x x x
1 2
1 3 4
1 2 3
1 2 3 4
2 1
4 2
0
4 5 5 17
x x
x x x
x x x
x x x x
1 3 2 4; 0, , 0.x x x x
Đây là bài toán quy hoạch tuyến tính với:
11,2 ,I
23 ,I
34 ,I
11, 3 ,J
24 ,J
32J .
Định nghĩa 2. Cho bài toán quy hoạch tuyến tính như
trong định nghĩa 1.1, ta có các định nghĩa sau:
i) Hàm 1
( ) ,n
j jj
f x c x c x được gọi là hàm mục
tiêu. Bài toán tìm giá trị lớn nhất của ( )f x ta gọi tắt
Th.s Bùi Thị Thu Phương ĐHCN TP. HCM
8
là bài toán max, bài toán tìm giá trị nhỏ nhất của
( )f x ta gọi tắt là bài toán min.
ii) Các phương trình hoặc bất phương trình từ (1) đến
(6) gọi là các ràng buộc, trong đó (1), (2), (3) ta gọi
là ràng buộc điều kiện, (4), (5), (6) ta gọi là ràng
buộc ẩn.
iii) Véctơ 1 2
( , ,..., )n
x x x x thỏa tất cả các ràng buộc (1),
(2), (3), (4), (5), (6) gọi là một phương án.
iv) Tập hợp tất cả các phương án gọi là tập phương án.
v) Phương án x làm cho hàm mục tiêu đạt giá trị lớn
nhất (nếu là bài toán max) hoặc giá trị nhỏ nhất (nếu
là bài toán min) được gọi là phương án tối ưu.
vi) Tập hợp tất cả các phương án tối ưu gọi là tập
phương án tối ưu.
Ví dụ 2. Xét bài toán
1 2
1 2
1 2
1 2
( ) 4 3 min
2 10
5 3
, 0
f x x x
x x
x x
x x
Với bài toán trên thì hàm mục tiêu là
1 2( ) 4 3f x x x .
(1,2)x hay (3,1)x là hai trong số các phương án
của bài toán.
Tập phương án là tập tất cả các véc tơ 1 2
( , )x x x
thỏa hệ bất phương trình ở trên. Hiển nhiên ta chưa thể có
một phương án tối ưu được.
Định nghĩa 3. (Dạng chính tắc của bài toán quy hoạch
tuyến tính)
Bài toán quy hoạch tuyến tính có dạng sau đây gọi
là dạng chính tắc
Th.s Bùi Thị Thu Phương ĐHCN TP.HCM
9
1
( ) , max (min)n
j jj
f x c x c x
1
1,
0 1, .
n
ij j ij
j
a x b i m
x j n
Hay có thể viết lại như sau: ( ) , max (min)
0
f x c x
Ax b
x
trong đó 1,1,
i mijj n
A a là ma trận cấp m n ,
1 2
( , ,..., )Tn
x x x x , 1 2
( , ,..., )Tm
b b b b .
Viết 0x , nghĩa là 0jx , 1, .j n
Ký hiệu 1 2, ,...,
Tj
j j mjA a a a là véc tơ cột thứ j của
ma trận A. Khi đó phương trình Ax b được viết lại dưới
dạng: 1 2
1 2n
nx A x A x A b .
CHÚ Ý Ta có thể dùng phép biến đổi sơ cấp để bỏ đi
những phương trình hệ quả của hệ, nên không mất tính
tổng quát có thể giả thiết ma trận A có hạng là m, và
m n . Trong suốt tài liệu khi nói đến ma trận A ta đều giả
thiết A có m dòng, n cột và ( )rank A m , trừ phi đó là
những trường hợp đặc biệt.
Mệnh đề. Mọi bài toán quy hoạch tuyến tính (P) đều có
thể đưa về dạng chính tắc (Q). Hơn nữa, bài toán dạng
chính tắc (Q) có phương án tối ưu khi và chỉ khi bài toán
(P) có phương án tối ưu.
Bài toán (Q) có phương án tối ưu khi và chỉ khi bài
toán (P) có phương án tối ưu. Đây là mệnh đề quan trọng
Th.s Bùi Thị Thu Phương ĐHCN TP. HCM
10
sử dụng suốt trong quá trình giải các bài toán quy hoạch
tuyến tính. Khi gặp bài toán dạng không chính tắc như bài
toán (P) trong chứng minh mệnh đề 1.1 chẳng hạn, ta phải
đưa về bài toán dạng chính tắc (Q). Ta giải bài toán (Q).
Nếu (Q) không có phương án tối ưu thì (P) cũng không có
phương án tối ưu. Nếu (Q) có phương án tối ưu 0
10 20 20 30 0 ( 1)0 ( 2)0, , , ,..., , ,
n n ny y y y y y y y thì ta suy ra phương
án tối ưu của bài toán (P) là 010 20 20 30 0, , ,...,
nx y y y y y .
Ví dụ 3. Xét bài toán quy hoạch tuyến tính
1 2
1 2
1 2
1 2
( ) 4 max
5
2 3 12
, 0.
f x x x
x x
x x
x x
a) Biểu diễn tập phương án trên mặt phẳng 1 2
Ox x .
b) Lần lượt vẽ các đường thẳng (d1): 1 2
4 4x x ,
(d2): 1 2
4 0x x , (d3): 1
4x2
4x , (d):
1 24 ( )x x f x với ( )f x tuỳ ý.
c) Từ b) suy ra phương án tối ưu của bài toán.
Một bài toán quy hoạch tuyến tính có hai biến (thậm
chí có ba biến) ta có thể giải bằng phương pháp hình học
qua các bước:
Bước 1: Biểu diễn tập phương án của bài toán trên
mặt phẳng 1 2
Ox x , ta được miền D. Nếu D bằng rỗng thì kết
luận bài toán không có phương án. Nếu miền D khác rỗng
ta qua bước 2.
Bước 2: Vẽ đường thẳng ( )d f có phương trình
1 1 2 2( )f x c x c x ( ( )d f vuông góc với
1 2( , )n c c ).
Th.s Bùi Thị Thu Phương ĐHCN TP.HCM
11
Bước 3: Tịnh tiến đường thẳng ( )d f theo chiều của
n nếu là bài toán max, theo chiều ngược lại nếu là bài toán
min.
Bước 4: Xác định những điểm tiếp giáp sau cùng
giữa ( )d f và miền D. Tọa độ của những điểm này là
phương án tối ưu của bài toán, giá trị ( )f x là giá trị tối ưu
của bài toán. Trong trường hợp không tìm được điểm tiếp
giáp sau cùng giữa ( )d f và miền D thì bài toán không có
phương án tối ưu.
Bài 3 TÍNH CHẤT TẬP PHƢƠNG ÁN VÀ TẬP P/A
TỐI ƢU CỦA BT QHTT
Định nghĩa 1. (Định nghĩa tập lồi)
Tập nL được gọi là tập lồi, nếu x ,y L
(1 )x y L , , 0 1 . Nói cách khác, tập L
là tập lồi, nếu đoạn thẳng nối hai điểm ở trong L nằm trong
L.
Tập lồi Tập không lồi
Ví dụ 1. Trong tập số thực . Chứng minh đoạn [1,4] là
một tập hợp lồi.
Ví dụ 2. Tập tất cả các điểm nằm trong tam giác OAB với
O(0,0), A(1,0), B(0,1) là một tập hợp lồi.
Định nghĩa 2. (Điểm cực biên của tập lồi)
Điểm 0x được gọi là điểm cực biên của tập lồi L,
nếu
Th.s Bùi Thị Thu Phương ĐHCN TP. HCM
12
0 1 2(1 )x x x , 0 1 , 1 2,x x L thì
0 1 2x x x .
Ví dụ 3. 0 1x là điểm cực biên của tập lồi [1,4].
Ví dụ 4. Trong ví dụ 1.12, các đỉnh O(0,0), A(1,0), B(0,1)
là các điểm cực biên.
Định lý 1. Tập hợp các phương án của bài toán quy hoạch
tuyến tính là một tập lồi.
Định lý 2. Tập hợp các phương án tối ưu của bài toán quy
hoạch tuyến tính cũng là một tập lồi.
Định nghĩa 3. Giả sử 010 20 0
( , ,..., )n
x x x x là một phương án
của bài toán quy hoạch tuyến tính dạng chính tắc. Hệ véc
tơ 0
/ 0jj
A x được gọi là hệ véc tơ liên kết của phương
án 0x .
Ví dụ 5. Xét bài toán quy hoạch tuyến tính:
1 2 3
1 2 3
1 2 3
( ) 2 8 min
2 5
4 2
0, 1, 3j
f x x x x
x x x
x x x
x j
và hai phương án 0 7 1, , 0
3 3x , 1 22 7
0, ,3 3
x . Hãy chỉ ra
hệ véc tơ liên kết của hai phương án đã cho.
CHÚ Ý Vì tập phương án của bài toán quy hoạch tuyến
tính là một tập lồi, nên điểm cực biên của tập phương án
gọi là phương án cực biên.
Th.s Bùi Thị Thu Phương ĐHCN TP.HCM
13
Định lý 3. Giả sử 010 20 0
( , ,..., )n
x x x x là một phương án
khác không của bài toán quy hoạch tuyến tính dạng chính
tắc. Khi đó 0x là phương án cực biên điều kiện cần và đủ
là hệ véc tơ liên kết với nó độc lập tuyến tính.\
Hệ quả 1. Số phương án cực biên của bài toán quy hoạch
tuyến tính dạng chính tắc là hữu hạn.
Hệ quả 2. Số thành phần dương của một phương án cực
biên của bài toán quy hoạch tuyến tính dạng chính tắc tối
đa là bằng m.
Ví dụ 6. Xét bài toán quy hoạch tuyến tính dạng chính tắc
1 2 3
1 2 3
1 2 3
2 max
2 3 12
3 3 11 18
0 1, ,, 3j
f x x x
x x x
x x x
x j
và ba phương án cho trước như
sau 1 2 3 25 5(6, 0, 0), (0,5, 3), 1, ,
6 2x x x . Xét xem phương
án nào là phương án cực biên.
Định nghĩa 4. Một phương án cực biên của bài toán quy
hoạch tuyến tính dạng chính tắc được gọi là không suy biến
nếu số thành phần dương của nó bằng m. Nếu số thành
phần dương ít hơn m thì phương án cực biên này gọi là suy
biến.
Xét lại ví dụ 1.17 ở trên 2x là phương án cực biên
không suy biến, 1x là phương án cực biên suy biến.
Định lý 4. Nếu bài toán quy hoạch tuyến tính dạng chính
tắc có tập phương án khác rỗng thì nó có ít nhất một
phương án cực biên.
Th.s Bùi Thị Thu Phương ĐHCN TP. HCM
14
NHẬN XÉT Các định lý trên đây đã chỉ ra cho chúng ta
cách tìm tất cả các phương án cực biên của bài toán quy
hoạch tuyến tính dạng chính tắc gồm các bước sau:
Bước 1: Xác định các hệ con gồm m véc tơ cột độc
lập tuyến tính của ma trận A.
Bước 2: Biểu diễn véc tơ b theo các hệ con ở trên,
và thành lập véc tơ x có n thành phần là các hệ số biểu
diễn. Nếu véc tơ jA nào không có trong hệ biểu diễn thì ta
thêm số 0 vào vị trí đó.
Bước 3: Loại đi những véc tơ x có thành phần âm,
các véc tơ còn lại là các phương án cực biên.
Chúng ta chỉ cần xác định các hệ con gồm m véc tơ
cột độc lập tuyến tính của ma trận A, bởi vì những hệ nhiều
hơn m véc tơ thì phụ thuộc tuyến tính, những hệ ít hơn m
véc tơ là trường hợp riêng của hệ m véc tơ.
Ví dụ 7. Tìm tất cả các phương án cực biên của bài toán
1 3 4
1 3 4
2 3 4
2 5 min
5
2 1
0, 1, 4 .j
f x x x
x x x
x x x
x j
CHÚ Ý Chúng ta có thể trình bày gọn hơn như sau: ở bước
2, để biểu diễn véc tơ b theo từng hệ con ta cho biến có chỉ
số không trùng với véc tơ trong hệ bằng 0, sau đó giải hệ
phương trình các ràng buộc. Chẳng hạn đối với hệ 2 3,A A ,
ta cho 1 4
0x x , lúc đó ta có
3
2 3
5
1
x
x x
Giải hệ và ta tìm được phương án cực biên là 4 (0,6,5, 0)x .
Th.s Bùi Thị Thu Phương ĐHCN TP.HCM
15
Định lý 5. Nếu bài toán quy hoạch tuyến tính dạng chính
tắc có phương án tối ưu thì nó sẽ có ít nhất một phương án
cực biên là phương án tối ưu.
Định lý 6. Điều kiện cần và đủ để bài toán quy hoạch
tuyến tính dạng chính tắc có phương án tối ưu là tập
phương án không rỗng và hàm mục tiêu bị chặn dưới với
bài toán min hoặc bị chặn trên với bài toán max.
NHẬN XÉT Nhờ định lý 1.5, định lý 1.6, chúng ta có thể
rút ra phương pháp giải bài toán quy hoạch tuyến tính dạng
chính tắc như sau:
Bước 1: Chứng minh bài toán có phương án tối ưu
(định lý 1.6), tức là chứng minh bài toán có tập phương án
không rỗng và hàm mục tiêu bị chặn trên với bài toán max,
bị chặn dưới với bài toán min.
Bước 2: Ta có thể tìm được phương án tối ưu nhưng
là phương án tối ưu cực biên (do định lý 1.5). Vì vậy, ở
bước 2 này ta tìm tất cả các phương án cực biên của bài
toán, vì số phương án cực biên là hữu hạn.
Bước 3: Tính giá trị hàm mục tiêu tại các phương án
cực biên, từ đó sẽ chỉ ra được phương án tối ưu.
Bài 4 PHƢƠNG PHÁP ĐƠN HÌNH
Xét bài toán quy hoạch tuyến tính dạng chính tắc
như trong định nghĩa 1.3, trong phần này chúng ta chỉ xét
bài toán có hàm mục tiêu min, trường hợp bài toán có hàm
mục tiêu max sẽ được giải quyết sau. Giả sử 0x là một
phương án cực biên không suy biến của bài toán mà ta đã
biết nhờ một phương pháp nào đó. Không mất tính tổng
quát giả sử phương án 0x có dạng 0
10 20 0( , ,..., , 0, 0,..., 0)
mx x x x , nghĩa là 0x có hệ véc tơ liên kết
là m véc tơ cột độc lập tuyến tính đầu tiên của ma trận A
(hệ này là một cơ sở của không gian véc tơ m ). Mục tiêu
Th.s Bùi Thị Thu Phương ĐHCN TP. HCM
16
của bài toán quy hoạch tuyến tính là người giải phải chỉ ra
được phương án tối ưu. Cho nên nếu 0x đã là phương án tối
ưu thì mục tiêu của chúng ta đã có, nếu 0x không phải là
phương án tối ưu thì ta sẽ tìm một phương án cực biên 01x
khác với mong muốn phương án vừa tìm được sẽ là
phương án tối ưu. Vào năm 1947, George Bernard Dantzig
đã đưa ra thuật toán tìm phương án cực biên khác này mà
về sau gọi là phương pháp đơn hình. Phương án mà ông
đưa ra có thể chưa tối ưu ngay nhưng là phương án sẽ tốt
hơn phương án 0x ban đầu, tức là 01 0( ) ( )f x f x . Cách xây
dựng 01x xuất phát từ việc nhận thấy mỗi phương án cực
biên có một hệ véc tơ liên kết, nên từ phương án 0x với hệ
véc tơ liên kết 1 2, ,..., mA A A , chưa làm cho hàm mục tiêu
f(x) đạt giá trị nhỏ nhất ta sẽ xây dựng lại hệ véc tơ liên kết
này. Cách đơn giản nhất có lẽ là thay thế một véc tơ trong
hệ liên kết cũ bằng một véc tơ nằm ngoài hệ liên kết.
Ý tưởng giản dị “thay thế một véc tơ trong hệ liên
kết cũ bằng một véc tơ nằm ngoài hệ liên kết nếu phương
án đang xét chưa tối ưu” là cơ sở cho một thuật toán gọi là
thuật toán đơn hình.
Vấn đề đặt ra là véc tơ nào ở ngoài hệ liên kết được
đưa vào thay thế và véc tơ nào trong hệ liên kết bị thay ra?
Trả lời được câu hỏi này là ta đã xây dựng được thuật toán
đơn hình.
Định nghĩa 1. Ta gọi ước lượng thứ j của phương án cực
biên 0x là biểu thức , jj jc x c 1,j n .
CHÚ Ý Véc tơ cột jx có thể được tính theo công thức 1j jx B A , B là ma trận có các cột là các véc tơ liên kết
của phương án 0x .
Th.s Bùi Thị Thu Phương ĐHCN TP.HCM
17
Nếu 1,j m hay jA là một véc tơ trong hệ véc tơ
liên kết thì 1j jx B A là véc tơ đơn vị thứ j , và khi đó
0j
.
Ví dụ 1. Xét lại một bài toán quy hoạch tuyến tính đã biết
ở ví dụ 1.20
1 2 3 4
1 2 3
1 2 4
( ) 3 3 0 0 min
2 8
2
0, 1, 4j
f x x x x x
x x x
x x x
x j
và phương án cực biên 0 (2, 0, 4, 0)x . Hãy thiết lập các ước
lượng jcủa phương án đã cho.
Định lý 1. Phương án cực biên 010 20 0
( , ,..., , 0, 0,..., 0)m
x x x x
của bài toán quy hoạch tuyến tính dạng chính tắc là
phương án tối ưu khi và chỉ khi
0, 1,j
j n .
Định lý 2. Nếu tồn tại véctơ jA ngoài cơ sở liên kết của
phương án cực biên 010 20 0
( , , ..., , 0, 0,..., 0)m
x x x x sao cho
0j
và 0jx (nghĩa là 0,ijx 1,i m ) thì bài toán
quy hoạch tuyến tính dạng chính tắc không có phương án
tối ưu.
Ví dụ 2. Xét lại bài toán quy hoạch tuyến tính và phương
án đã nêu trong ví dụ 1.21, ta nhận thấy phương án đã cho
có tất cả j đều nhỏ hơn hay bằng 0. Vậy, phương án đã
cho là phương án tối ưu.
Ví dụ 3. Cho bài toán quy hoạch tuyến tính
Th.s Bùi Thị Thu Phương ĐHCN TP. HCM
18
1 2 3
1 3
2 3
( ) 6 9 min
2 6
8
0, 1, 3j
f x x x x
x x
x x
x j
và phương án cực biên 6, 8, 0x .
Xét xem x có phải là phương án tối ưu hay không?
CHÚ Ý Qua ví dụ 1.23 ta nhận thấy nếu phương án x có hệ
véc tơ liên kết là hệ véc tơ đơn vị, thì khi đó các véc tơ jx
và các véc tơ cột jA của ma trận A là bằng nhau. Việc tính
toán các ước lượng jcó thể sắp xếp lên bảng như sau,
bảng này gọi là bảng đơn hình.
Cơ
sở Hệ số
jc Phương
án
cực biên
1x 1
2x 6
3x 9
A1
A2
1
6
6
8
1
0
0
1
2
1
0 0 -1
Đây chẳng qua là đúc kết các phép tính đã biết để về
sau việc tính toán được thuận lợi. Trong bảng 1.3, cột 1 ghi
cơ sở là hệ véc tơ liên kết của phương án cực biên; lưu ý
rằng ta ghi 1A và sau đó là 2A vì 11
0A còn 2
0
1A .
Cột 2 ghi các jc tương ứng với những thành phần dương
của phương án; ở đó 1c tương ứng với 1A và
2c tương ứng
với 2A . Cột 3 ghi phương án; chỉ ghi những thành phần
dương của phương án. Cột 4; 5; 6 lần lượt ghi hệ số jc và
cột j của ma trận A. Các ước lượng j ghi ở dòng cuối
được tính theo cách nhân cột j với cột hệ số, sau đó trừ cho
phần tử trên cùng. Bảng đơn hình chúng ta sẽ gặp lại sau.
Th.s Bùi Thị Thu Phương ĐHCN TP.HCM
19
Ví dụ 4. Xét bài toán
1 2 3 4
1 2 4
2 3 4
( ) 7 26 9 2 min
2 6 5
2 7
0, 1, 4.j
f x x x x x
x x x
x x x
x j
a) Chứng minh 0 5,0,7,0x là phương án cực biên.
b) Hãy chứng tỏ bài toán không có phương án tối ưu.
Ví dụ 5. Cho bài toán
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
( ) 4 3 7 8 min
3 3 4 5 21
7 6 8
2 5 2 15
0, 1, 4.j
f x x x x x
x x x x
x x x x
x x x x
x j
Chứng minh 1,2, 3, 0x là phương án cực biên và
là phương án tối ưu của bài toán đã cho.
Định lý 3. Nếu tồn tại j mà 0j
và ứng với mỗi j mà
0j
luôn tìm được ít nhất một i để 0ijx , thì khi đó ta
có thể tìm được một phương án cực biên mới 01x tốt hơn 0x , nghĩa là phương án này làm cho giá trị hàm mục tiêu
nhỏ hơn giá trị hàm mục tiêu tại phương án 0x .
Ví dụ 6. Xét bài toán quy hoạch tuyến tính
1 2 3 4
1 2 3 4
2 3 4
( ) 2 2 min
2 3 17
2 2 8
f x x x x x
x x x x
x x x
0, 1, 4.jx j
Th.s Bùi Thị Thu Phương ĐHCN TP. HCM
20
a) Chứng minh phương án 0 (1, 0, 8, 0)x là phương án
cực biên nhưng không phải là phương án tối ưu.
b) Xuất phát từ phương án ở trên hãy xây dựng một
phương án cực biên mới 01x tốt hơn.
Ví dụ 7. Xét bài toán quy hoạch tuyến tính
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
( ) 3 2 3 4 15 min
2 2 3 20
6 3 29
3 2 4 4 24
0, 1, 5.j
f x x x x x x
x x x x x
x x x x x
x x x x x
x j
a) Chứng minh phương án 0 (0,2, 3, 4, 0)x là phương án
cực biên nhưng không phải là phương án tối ưu.
b) Xuất phát từ phương án ở trên hãy xây dựng một
phương án cực biên mới 01x tốt hơn.
NHẬN XÉT Không phải lúc nào phương án mới được
thành lập từ việc đưa véc tơ cột ứng với ước lượng lớn nhất
vào thay thế cũng tốt nhất, vì trong công thức 01 0( ) ( ) .
kf x f x còn phụ thuộc giá trị 0 , nhưng
thông thường thì vẫn chọn véc tơ cột ứng với ước lượng
lớn nhất, các ví dụ trên đã minh họa điều đó.
Tuy nhiên như đã phân tích ở trên chúng ta vẫn
muốn chọn kA sao cho giá trị 01( )f x càng gần với giá trị tối
ưu càng tốt. Muốn vậy có thể cùng lúc ta vừa chọn k vừa
chọn 0 tương ứng sao cho .k đạt giá trị lớn nhất, khi
đó phương án (cực biên) mới sẽ gần với phương án tối ưu
hơn. Ta xét ví dụ sau đây.
Ví dụ 8. Cho bài toán quy hoạch tuyến tính
Th.s Bùi Thị Thu Phương ĐHCN TP.HCM
21
1 2 3 4
1 2 4
2 3 4
( ) 2 2 0 min
4 6
2 5 8
0, 1, 4.j
f x x x x x
x x x
x x x
x j
a) Chứng minh phương án 0 (6, 0, 8, 0)x là phương án
cực biên nhưng không phải là phương án tối ưu.
b) Xuất phát từ phương án ở trên hãy xây dựng một
phương án cực biên mới 01x tốt hơn.
NHẬN XÉT Đến đây chúng ta cũng đã hiểu được tư
tưởng của thuật toán đơn hình. Bắt đầu xuất phát từ
phương án cực biên ban đầu 0x nào đó, ta xem thử 0x đã
tối ưu hay chưa. Nếu 0x tối ưu thì xong, nếu 0x chưa tối ưu
và có thể xây dựng được phương án 01x tốt hơn 0x , ta xây
dựng 01x và sau đó kiểm tra tính tối ưu của 01x . Nếu 01x tối
ưu thì kết thúc thuật toán, nếu không thì ta cho 01x đóng vai
trò của 0x và xây dựng phương án mới 02x tốt hơn 01x ,
v.v… quá trình này phải dừng, vì số phương án cực biên là
hữu hạn. Khi đó hoặc ta rút ra được phương án tối ưu hoặc
rút ra được bài toán không có phương án tối ưu.
Trong khi kiểm tra một phương án có tối ưu hay
không thì việc xác định các véc tơ jx là tốn nhiều phép tính
nhất. Vì lúc đó ta phải giải nhiều hệ phương trình tuyến
tính mỗi hệ gồm m phương trình, m ẩn số, hoặc tính nhiều
ma trận đảo cấp m. Để khắc phục điều này người ta đã thiết
lập mối liên hệ giữa các thành phần của véc tơ jx , tại
phương án đang xét với những thành phần của véc tơ jx của phương án trước. Nhờ việc tính toán có tính kế thừa
này đã làm giảm đi một lượng phép tính đáng kể. Chúng ta
sẽ thấy điều này ở phần sau đây.
Th.s Bùi Thị Thu Phương ĐHCN TP. HCM
22
Bài 5 PHƢƠNG PHÁP ĐƠN HÌNH TRÊN BẢNG
Ví dụ 1. Cho bài toán quy hoạch tuyến tính
1 2 3 4 5
1 4 5
2 4 5
3 4 5
( ) 2 3 4 5 6 min
2 4 8
3 5 9
4 6 10
0, 1, 5.j
f x x x x x x
x x x
x x x
x x x
x j
Chứng minh phương án 0 (8,9,10, 0, 0)x là phương
án cực biên không tối ưu, hãy xây dựng phương án cực
biên mới 01x tốt hơn và sau đó biểu diễn các véc tơ cột jA qua cơ sở liên kết của phương án 01x này.
Cơ
sở
Hệ
số jc
Ph.án
cb
1x 2
2x 3
3x 4
4x 5
5x 6
A1 2 8 1 0 0 2 4
A2 3 9 0 1 0 3 5
A3 4 10 0 0 1 4 6
0 0 0 24 41
A1 2 4/3 1 0 -2/3 -2/3 0
A2 3 2/3 0 1 -5/6 -1/3 0
A5 6 5/3 0 0 1/6 2/3 1
0 0 -41/6 -10/3 0
1. Phƣơng pháp đơn hình trên bảng cho bài toán quy
hoạch tuyến tính dạng chính tắc có sẵn ma trận đơn vị
Ví dụ trên đây cũng đã giúp các em làm quen với
phương pháp đơn hình trên bảng để giải một bài toán quy
hoạch tuyến tính dạng chính tắc. Trước tiên chúng ta trình
bày lời giải cho bài toán có sẵn ma trận đơn vị (bài toán có
dạng như vậy gọi là dạng chuẩn tắc). Lúc này ta có ngay
Th.s Bùi Thị Thu Phương ĐHCN TP.HCM
23
một phương án cực biên ban đầu 0x chính là véc tơ b. Giả
sử phương án 0x có hệ véc tơ liên kết là m véc tơ đơn vị
đầu tiên 1 1 2 2, ,..., m mA E A E A E
với (0,0,...,1, 0,..., 0)iE (số 1 ở vị trí thứ i). Khi đó ta sắp
xếp các dữ liệu của bài toán trên bảng như bảng 1.6.
Cơ
sở
H.số
jc
Ph.
án
cb
1x
1c
2x
2c
… mx
mc
1mx
1mc
… kx
kc
… nx
nc
1A 1c
1b 1 0 … 0
1 1mx …
1kx …
1nx
2A 2c
2b 0 1 … 0
2 1mx …
2kx …
2nx
sA
sc
sb 0 0 … 0
1smx …
skx …
snx
mA
mc
mb 0 0 … 1
1mmx …
mkx …
mnx
0 0 … 0 1m …
k …
n
Các phần tử ở dòng j tính theo công thức:
1
m
j i ij ji
c x c , 1,j n . Dễ dàng tính được 0j
,
1,j m tức là các j ứng với các véc tơ cơ sở bằng
không. Có thể lấy cột j nhân với cột c và sau đó trừ đi jc .
Sau khi đã tính toán xong các số liệu ở trên ta thực hiện các
bước tiếp theo sau:
Bước 1: Nếu 0 , 1,j
j n thì theo định lý 1.7
phương án đang xét là tối ưu. Thuật toán kết thúc.
Th.s Bùi Thị Thu Phương ĐHCN TP. HCM
24
Nếu có 0j
mà ứng với j này, 0, 1,ijx i m thì
theo định lý 1.8 bài toán không có phương án tối ưu (cụ thể
là hàm mục tiêu không bị chặn dưới). Thuật toán kết thúc.
Nếu không rơi vào hai trường hợp trên, tức là có
0j
mà ứng với mỗi j này, : 0ij
i x thì theo định lý
1.9, ta sẽ tìm được một phương án cực biên 01x tốt hơn
phương án đang xét. Ta qua bước 2.
Bước 2: (Xây dựng cơ sở của phương án mới)
Chúng ta có thể xây dựng cơ sở của phương án mới
theo một trong hai cách sau:
Cách 1:
i) Chọn véc tơ đưa vào thay thế là kA tương ứng với
ước lượng max / 0, 1,k j j
j n .
ii) Chọn véc tơ thay ra là sA xác định từ
0 0min / 0i sk ik
ik sk
x xx
x x.
Cách 2:
i) Xác định tất cả các ước lượng 0j
và tại mỗi j
mà 0j
ta xác định j
0min / 0iij
ij
xx
x, các
phần tử j ghi ở dòng tương ứng với cột 0
j.
Nếu chỉ có một 0j
thì làm như cách 1.
ii) Lập tất cả các tích j j
và xác định tích lớn nhất,
giả sử k k
là lớn nhất. Khi đó véc tơ đưa vào thay
thế là kA , véc tơ thay ra là sA xác định từ k
0 0min / 0i sik
ik sk
x xx
x x.
Th.s Bùi Thị Thu Phương ĐHCN TP.HCM
25
Ta gọi cột k là cột xoay, dòng s là dòng xoay, phần
tử skx (giao của cột chứa véc tơ vào thay thế và dòng chứa
véc tơ thay ra) là phần tử trục.
Bước 3: (Xây dựng phương án mới)
Tiếp theo ta lập bảng đơn hình mới với các dữ liệu
được tính theo công thức đổi cơ sở (1.2), (1.3). Trực quan
hơn là:
- Chia dòng s (hay dòng xoay) cho skx tức chia
cho phần tử trục (số 1 sẽ xuất hiện ở vị trí
trục) ta được dòng s bảng mới.
- Nhân dòng s vừa hình thành với ikx rồi cộng
vào dòng i , 1, ,i m i s , ta được dòng i bảng
mới. Khi đó các phần tử ở cột k dòng i s đều
bằng 0. Ta cũng thực hiện phép biến đổi tương
tự trên dòng chứa các ước lượng j, tức là nhân
dòng s vừa hình thành với k và cộng vào
dòng chứa các ước lượng jđược dòng bảng
mới.
Hay có thể nói:
- Dòng s mới = Dòng s cũ Phần tử trục;
- Dòng i mới = Dòng i cũ dòng s mới phần tử
tương ứng ở cột xoay (tức là cột k), và thực hiện
cho cả dòng chứa các j.
Hay dưới dạng thuật toán:
:
: , ( ).
ss
sk
i i s ik
dd
xd d d x i s
Lúc này ta có bảng đơn hình mới ở đó cột phương
án chính là phương án mới, cột j từ cột thứ tư trên bảng
(nhưng từ đây về sau ta sẽ gọi đây là cột 1) sang phải là hệ
Th.s Bùi Thị Thu Phương ĐHCN TP. HCM
26
số 1ijx khi biểu diễn các véc tơ jA theo cơ sở liên kết mới.
Phần tử nằm ở dòng cuối trên cột j là ước lượng 1j của
phương án mới 01x này.
Bước 4: Cho phương án 01x đóng vai trò của 0x và
quay về bước 1.
Ví dụ 2. Giải bài toán
1 2 3 4 5
1 4 5
2 4 5
3 4 5
( ) 5 4 0 0 2 min
2 10
3 12
3 15
0, 1, 5.j
f x x x x x x
x x x
x x x
x x x
x j
GIẢI:
Bài toán có sẵn một ma trận đơn vị gồm các véc tơ 1 2 3, ,A A A . Sắp xếp các các phần tử lên bảng đơn hình và
tính toán theo như đã hướng dẫn ta có bảng 1.7 sau:
Cơ
sở
H.số
jc
Ph. án
cb
1x -5
2x -4
3x 0
4x 0
5x 2
A1
A2
A3
-5
-4
0
10
12
15
1
0
0
0
1
0
0
0
1
2
1
3
1
3
1
0 0 0 -14 -19
Bài toán đã có dấu hiệu tối ưu, phương án tối ưu là
(10,12,15,0,0)x , giá trị tối ưu -98.
Ví dụ 3. Giải bài toán
Th.s Bùi Thị Thu Phương ĐHCN TP.HCM
27
1 2 3 4 5 6
1 2 5
1 2 3 6
2 3 4
( ) 2 4 0 0 min
3 4
2 5
4 3
0, 1, 6.j
f x x x x x x x
x x x
x x x x
x x x
x j
Ví dụ 4. Giải bài toán
1 2 3( ) 2 3 minf x x x x
1 2 3
1 2 3
1 3
5 15
3 2 2 20
4 10
0, 1, 3.j
x x x
x x x
x x
x j
2. Phƣơng pháp đơn hình trên bảng cho bài toán quy
hoạch tuyến tính dạng chính tắc không có sẵn ma trận
đơn vị
Trước tiên ta dùng phương pháp sau đây gọi là
phương pháp đánh thuế để giải cho trường hợp này.
Giả sử bài toán dạng chính tắc như trong định nghĩa
1.3 còn thiếu m véc tơ đơn vị. Ta thêm các ẩn 1,
nx
2,
nx ...,
n mx mà ta sẽ gọi là ẩn giả vào m phương trình ràng
buộc và lập bài toán có dạng như sau:
1 2( ) ( ) min
0
n n n mg X f x Mx Mx Mx
BX b
X
(M)
Trong đó B là ma trận cấp ( )m n m với n cột đầu
là ma trận A, m cột sau là m véctơ đơn vị, X lúc này là
véctơ có n+m thành phần như sau
1 2 1 2( , ,..., , , ,..., ) ( , )
n n n n mX x x x x x x x u , M là một số
dương rất lớn; lớn hơn bất kỳ số nào cần so sánh. Ta sẽ gọi
Th.s Bùi Thị Thu Phương ĐHCN TP. HCM
28
bài toán vừa thành lập như trên là bài toán M. Đây cũng là
bài toán quy hoạch tuyến tính dạng chính tắc cho nên hiển
nhiên giải được bằng phương pháp đơn hình như đã trình
bày. Ta gọi bài toán trong định nghĩa 1.3 là bài toán ban
đầu.
CHÚ Ý Cũng cần lưu ý rằng ở trên ta thêm các ẩn giả để
tạo nên một ma trận đơn vị lúc đó mới giải được bài toán
một cách dễ dàng, tuy nhiên ta có thể thêm các ẩn giả một
cách tuỳ ý. Trong chứng minh mệnh đề 1.2 và định lý 1.10
dưới đây nói lên điều đó. Chú ý này rất cần thiết cho những
phần sau.
Mệnh đề. Phương án 1 2
( , ,..., )n
x x x x của bài toán ban đầu
là phương án cực biên khi và chỉ khi
1 2( , 0) ( , ,..., , 0, 0,..., 0)
nX x x x x là phương án cực biên của
bài toán M.
Định lý 1. Giữa bài toán M và bài toán ban đầu có một số
mối liên hệ sau:
i) Nếu bài toán M có phương án tối ưu là 0 0 0( , )X x u
với 0 0u thì bài toán ban đầu có tập phương án
bằng rỗng.
ii) Nếu bài toán M có phương án tối ưu là 0 0( , 0)X x
thì bài toán ban đầu có phương án tối ưu 0x .
iii) Nếu bài toán M không có phương án tối ưu thì bài
toán ban đầu cũng không có phương án tối ưu.
Ví dụ 1. Giải bài toán quy hoạch tuyến tính
1 2 3
1 2 3
1 2 3
( ) 2 3 min
3 4 5
2 5 12
0, 1, 3.j
f x x x x
x x x
x x x
x j
Th.s Bùi Thị Thu Phương ĐHCN TP.HCM
29
Đây là bài toán dạng chính tắc nhưng không có sẵn
ma trận đơn vị ta đưa về bài toán M như sau:
1 2 3 4 5
1 2 3 4
1 2 3 5
( ) 2 3 min
3 4 5
2 5 12
0, 1, 5.j
g X x x x Mx Mx
x x x x
x x x x
x j
Giải bài toán M như trong bảng 1.14:
Cơ
sở
H.số
jc
Ph.
án
cb
1x 1
2x 2
3x 3
4x M
5x M
A4
A5
M
M
5
12
3
2
1
5
4
1
1
0
0
1
5M-1 6M-2 5M-3 0 0 5/3 12/5 5/4 25M/3-
5/3 72M/5-
24/5
25M/4-
15/4
A4
A2
M
2
13/5
12/5
13/5
2/5
0
1
19/5
1/5
1
0
-1/5
1/5
13M/5-
1/5
0 19M/5-
13/5
0 -
6M/5+2/5 1 13/19 13M/5-
1/5
13M/5-
169/95
A1
A2
1
2
1
2
1
0
0
1
19/13
-5/13
5/13
-2/13
-1/13
3/13
0 0 -30/13 -
M+1/13
-M+5/13
Phương án tối ưu của bài toán M là X = (1, 2,0,0,0),
trong đó hai ẩn giả đều bằng 0. Suy ra phương án tối ưu
của bài toán ban đầu là x=(1,2,0). Giá trị tối ưu là f = 5.
Ví dụ 2 . Giải bài toán quy hoạch tuyến tính
Th.s Bùi Thị Thu Phương ĐHCN TP. HCM
30
1 2( ) 7 8 minf x x x
1 2
1 2
1 2
4 7
3 2 15
4 3 24
0; 1,2.j
x x
x x
x x
x j
Ví dụ 3. Giải bài toán quy hoạch tuyến tính
1 2 3
1 2 3
1 2 3
( ) 3 2 min
3 4 5 2
5 4 3 4
0, 1, 3.j
f x x x x
x x x
x x x
x j
NHẬN XÉT Nếu jx là biến giả thì 0
j. Do đó nếu jA
đã đưa ra khỏi cơ sở thì không được đưa vào cơ sở lần thứ
hai. Vì vậy cột ứng với biến giả không cần tính toán.
Chẳng hạn trong bảng 1.16 4 5,x x là hai biến giả nên cột
4 5,x x không cần tính toán.
Chúng ta cũng có thể dùng phương pháp sau gọi là
phương pháp hai pha để giải bài toán ban đầu khi mà nó
chưa có sẵn ma trận đơn vị. Xét bài toán sau đây mà ta gọi
là bài toán L.
1 2( ) min
0
n n n mg X x x x
BX b
X
(L)
Trong đó 1 2, ,...,
n n n mx x x là ẩn giả và ma trận B, X
như trong bài toán M. Như vậy giữa hai bài toán M và L
chỉ khác nhau một hàm mục tiêu. Bài toán L luôn có
phương án tối ưu vì hàm mục tiêu bị chặn dưới và
Th.s Bùi Thị Thu Phương ĐHCN TP.HCM
31
1 2(0, ) 0, 0,..., 0, , ,...,
mb b b b hiển nhiên là một phương án.
Giữa bài toán L và bài toán ban đầu có những mối liên hệ
sau.
Định lý 2. Giả sử 0 0 0( , )X x u là phương án cực biên tối
ưu của bài toán L. Khi đó:
i) Nếu 0 0u thì bài toán ban đầu có tập phương án
bằng rỗng.
ii) Nếu 0 0u thì 0x là phương án cực biên của bài
toán ban đầu.
Để giải bài toán ban đầu bằng phương pháp hai pha
ta thực hiện các bước sau:
Pha 1. Giải bài toán L, bài toán L luôn luôn có
phương án tối ưu 0 0 0( , )X x u .
Nếu 0 0u thì bài toán ban đầu có tập phương án
bằng rỗng. Ta dừng thuật toán.
Nếu 0 0u thì 0x là phương án cực biên của bài
toán ban đầu. Khi xác định được phương án cực biên 0x
của bài toán ban đầu ta qua pha 2.
Pha 2. Bắt đầu từ phương án cực biên 0x ta thiết lập
lại bảng đơn hình cho bài toán ban đầu và giải tiếp. Phương
án 0x có hệ véc tơ liên kết thu được từ pha 1, và các hệ số
khi biểu diễn các véc tơ cột của ma trận A qua hệ liên kết
này cũng thu được từ pha 1 (tất nhiên các ước lượng j
phải tính lại). Từ phương án cực biên này ta sẽ đi đến
phương án tối ưu của bài toán ban đầu hoặc bài toán ban
đầu có hàm mục tiêu không bị chặn.
Ví dụ 4. Giải lại bài toán quy hoạch tuyến tính ở ví dụ 1.33
bằng phương pháp đơn hình hai pha.
Th.s Bùi Thị Thu Phương ĐHCN TP. HCM
32
1 2 3
1 2 3
1 2 3
( ) 2 3 min
3 4 5
2 5 12
0, 1, 3.j
f x x x x
x x x
x x x
x j
GIẢI:
Đây là bài toán dạng chính tắc nhưng không có sẵn
ma trận đơn vị ta đưa về bài toán L như sau:
4 5
1 2 3 4
1 2 3 5
( ) min
3 4 5
2 5 12
0, 1, 5.j
g X x x
x x x x
x x x x
x j
Pha 1. Giải bài toán L bằng phương pháp đơn hình bảng ta
có bảng 1.17.
Cơ
sở
H.số
jc
Ph. án
cb
1x 0
2x 0
3x 0
4x 1
5x 1
A4
A5
1
1
5
12
3
2
1
5
4
1
1
0
0
1
5 6 5 0 0 5/3 12/5 5/4 25/3 72/5 25/4
A4
A2
1
0
13/5
12/5
13/5
2/5
0
1
19/5
1/5
1
0
-1/5
1/5
13/5 0 19/5 0 -6/5 1 13/19 13/5 13/5
A1
A2
0
0
1
2
1
0
0
1
19/13
-5/13
5/13
-2/13
-1/13
3/13
0 0 0 -1 -1
Tất cả các j của bài toán L đều không dương nên
bài toán L có phương án cực biên tối ưu là
Th.s Bùi Thị Thu Phương ĐHCN TP.HCM
33
(1,2,0, 0, 0)x trong đó các ẩn giả đều bằng 0, từ đó bài toán
ban đầu có phương án cực biên là 0 (1,2, 0)x . Tiếp tục qua
pha 2 với phương án ban đầu 0 (1,2, 0)x , ta có bảng đơn
hình sau:
Cơ
sở
H.số
jc
Ph. án
cb
1x 1
2x 2
3x 3
A1
A2
1
2
1
2
1
0
0
1
19/13
-5/13
0 0 -
30/13
Vậy phương án 0 (1,2, 0)x là phương án tối ưu.
Nếu phương án này chưa tối ưu thì ta biến đổi tiếp bảng
đơn hình để thu được phương án tối ưu hoặc chỉ ra bài toán
có hàm mục tiêu không bị chặn.
Khi chúng ta phát biểu các định lý 1.7, 1.8 , 1.9,
1.10, 1.11 chúng ta chỉ phát biểu cho bài toán ( ) minf x ,
nếu gặp trường hợp ( ) maxf x ta có thể đổi thành bài toán
( ) minf x và ta giải bài toán ( ) minf x này. Những kết
luận rút ra được cho ta kết luận về bài toán ban đầu. Tuy
nhiên ta vẫn có thể giải trực tiếp bài toán ( ) maxf x nhờ
vào các định lý sau mà việc chứng minh các định lý này
tương tự việc chứng minh các định lý tương ứng ở bài toán
min.
3. Phƣơng pháp đơn hình cho bài toán có hàm mục
tiêu ( ) maxf x
Với các giả thiết như trong định nghĩa 1.3, chỉ khác
hàm mục tiêu ( ) maxf x , việc thiết lập các ước lượng
jcũng không có gì thay đổi ta có các kết quả sau mà việc
Th.s Bùi Thị Thu Phương ĐHCN TP. HCM
34
chứng minh các kết quả này về cơ bản tương tự như các
cách chứng minh kết quả tương ứng của bài toán min.
Định lý 1. Phương án cực biên 0
10 20 0( , , ..., , 0, 0, ..., 0)
mx x x x của bài toán quy hoạch
tuyến tính dạng chính tắc có hàm mục tiêu ( ) maxf x là
phương án tối ưu khi và chỉ khi 0, 1,j
j n .
Định lý 1.13. Nếu tồn tại véctơ jA ngoài cơ sở liên kết của
phương án cực biên 010 20 0
( , , ..., , 0, 0, ..., 0)m
x x x x sao cho
0j
và 0jx (nghĩa là 0,ijx 1,i m ) thì bài toán
quy hoạch tuyến tính dạng chính tắc có hàm mục tiêu
( ) maxf x không có phương án tối ưu.
Định lý 2. Đối với bài toán ( ) maxf x , nếu tồn tại j mà
0j
và ứng với mỗi j mà 0j
luôn tìm được ít nhất
một i để 0ijx , thì khi đó ta có thể tìm được một phương
án cực biên mới 01x tốt hơn phương án 0x , nghĩa là
phương án này làm cho giá trị hàm mục tiêu lớn hơn giá trị
hàm mục tiêu tại phương án 0x .
CHÚ Ý. Khi xây dựng cơ sở mới cho phương án 01x ta
thực hiện một trong hai cách như sau:
Cách 1:
i) Chọn véc tơ đưa vào thay thế là kA tương ứng với
min / 0, 1,k j j
j n .
ii) Chọn véc tơ thay ra là sA xác định từ
0 0min / 0i sk ik
ik sk
x xx
x x.
Cách 2:
Th.s Bùi Thị Thu Phương ĐHCN TP.HCM
35
i) Xác định tất cả 0j
và tại mỗi j mà 0j
ta
xác định 0min / 0ij ij
ij
xx
x, các phần tử
j ghi
ở dòng tương ứng với cột 0j
. Nếu chỉ có một
0j
thì ta chọn như cách 1.
ii) Lập tất cả các tích j j
và xác định tích nhỏ nhất,
lúc này tích j j
là số âm vì 0j
và 0j
, giả
sử k k
là nhỏ nhất. Khi đó véc tơ đưa vào thay thế
là kA , véc tơ thay ra là sA xác định từ
0 0min / 0i sk ik
ik sk
x xx
x x.
Công thức xây dựng phương án mới cũng như công
thức đổi tọa độ của các véc tơ giữa cơ sở cũ và cơ sở mới
giống như bài toán ( ) minf x .
Tóm lại, khi giải bài toán dạng chính tắc có hàm
mục tiêu ( ) maxf x , về cơ bản là giống như bài toán
( ) minf x , nhưng dấu hiệu của phương án tối ưu là định
lý 1.12, và dấu hiệu bài toán không có phương án tối ưu là
định lý 1.13, khi xây dựng phương án mới tốt hơn phương
án hiện tại ta xây dựng như bài toán ( ) minf x .
Ví dụ 1. Cho bài toán Quy hoạch tuyến tính
1 2 3 4( ) 5 19 16 maxf x x x x x
1 2 3 4
1 2 3 4
1 2 3 4
2 3 5
2 5 2
3 4 7 8 9
0, 1, 4.j
x x x x
x x x x
x x x x
x j
Chứng minh 25 64 8
, , 0,13 13 13
x là phương án tối ưu của bài
toán đã cho.
Th.s Bùi Thị Thu Phương ĐHCN TP. HCM
36
Ví dụ 2. Giải bài toán
1 2 3
1 2 3
1 2
1 2
( ) 2 3 max
5 6
2 2 7
2 5
0, 1, 3.j
f x x x x
x x x
x x
x x
x j
Nếu gặp trường hợp bài toán không có sẵn ma trận
đơn vị chúng ta cũng có thể chuyển về bài toán M cho
phương pháp đánh thuế hay bài toán L cho phương pháp
hai pha. Đối với bài toán M thì hàm mục tiêu phải có dạng
1 2( ) ( ) max
n n n mg X f x Mx Mx Mx với M là số
dương rất lớn, còn đối với bài toán L thì hàm mục tiêu có
dạng
1 2( ) max
n n n mg X x x x .
Ví dụ 3. Giải bài toán
1 2 3 4( ) 4 2 3 7 maxf x x x x x
1 2 3 4
1 2 4
1 2 4
3 14
2 5 4 22
3 2 23
0, 1, 4 .j
x x x x
x x x
x x x
x j
Chƣơng 2 LÝ THUYẾT ĐỐI NGẪU
Bài 1 BÀI TOÁN ĐỐI NGẪU
Định nghĩa 1. Cho bài toán quy hoạch tuyến tính như
trong định nghĩa 1.1, ta sẽ gọi đây là bài toán (P)
Th.s Bùi Thị Thu Phương ĐHCN TP.HCM
37
1
11
21
31
1
2
3
( ) , min
(1)
(2)
(3)
0 (4)
0 (5)
(6).
n
j jj
n
ij j ijn
ij j ijn
ij j ij
j
j
j
f x c x c x
a x b i I
a x b i I
a x b i I
x j J
x j J
x j J
Trong đó 1,I
2I
3, I rời nhau và
1I
2I
3I
1,2,...,m I ,
1,J
2J
3, J rời nhau và
1J
2J
3J 1,2,...,n J .
Bài toán (Q) sau đây gọi là bài toán đối ngẫu của
bài toán (P)
1
1
2
3
11
21
31
( ) , max
0 (1 )
0 (2 )
(3 )
(4 )
(5 )
(6 )
m
i ii
i
i
im
ij i jim
ij i jim
ij i ji
g y b y b y
y i I
y i I
y i I
a y c j J
a y c j J
a y c j J
Với mỗi i I hoặc j J ta đều có một ràng buộc
của (P) và một ràng buộc của (Q), chúng được gọi là cặp
ràng buộc đối ngẫu.
Th.s Bùi Thị Thu Phương ĐHCN TP. HCM
38
Để tiện theo dõi chúng ta đưa hai bài toán lên bảng
2.1, ở đó các cặp ràng buộc đối ngẫu ở cùng hàng với
nhau.
Bài toán gốc
Chỉ số
Bài toán đối ngẫu
( ) , minf x c x ( ) , maxg y b y
1
n
ij j ij
a x b
1i I
0iy
1
n
ij j ij
a x b
2i I
0iy
1
n
ij j ij
a x b
3i I
iy
0jx
1j J 1
m
ij i ji
a y c
0jx
2j J 1
m
ij i ji
a y c
jx
3j J 1
m
ij i ji
a y c
CHÚ Ý. Bài toán gốc đang xét ở đây là bài toán min hàm
mục tiêu thì bài toán đối ngẫu sẽ là max hàm mục tiêu,
ràng buộc điều kiện thứ i ở bài toán gốc sẽ cho một ràng
buộc ẩn thứ i ở bài toán đối ngẫu, ràng buộc ẩn thứ j của
bài toán gốc sẽ cho một ràng buộc điều kiện thứ j của bài
toán đối ngẫu. Bạn đọc cần chú ý để không nhầm lẫn dấu
của các bất đẳng thức.
Trong trường hợp (P) là bài toán max hàm mục tiêu
thì bài toán đối ngẫu tương ứng của nó được cho trong
bảng 2.2.
Bài toán gốc Bài toán đối ngẫu
Th.s Bùi Thị Thu Phương ĐHCN TP.HCM
39
( ) , maxf x c x Chỉ số ( ) , ming y b y
1
n
ij j ij
a x b
1i I
0iy
1
n
ij j ij
a x b
2i I
0iy
1
n
ij j ij
a x b
3i I
iy
0jx
1j J 1
m
ij i ji
a y c
0jx
2j J 1
m
ij i ji
a y c
jx
3j J 1
m
ij i ji
a y c
Ví dụ 1. Viết bài toán đối ngẫu của bài toán (P) sau đây
1 2 3 4 5
1 2 5
1 3 4 5
1 2 3 4
1 2 3 4
1
2
3
4
5
( ) 4 3 7 min
12 5 3 5 (1)
4 5 2 (2)
2 2 1 (3)
3 4 5 17 (4)
0 (5)
(6)
0 (7)
0 (8)
0 (9).
f x x x x x x
x x x
x x x x
x x x x
x x x x
x
x
x
x
x
Bài toán đối ngẫu (Q) viết lại như sau:
Th.s Bùi Thị Thu Phương ĐHCN TP. HCM
40
1 2 3 4
1 2 3 4
1 2 3 4
2 3 4
2 3 4
1 2
1
2
3
4
( ) 5 2 17 max
12 2 3 4
5 0 4 3
5 7
4 2 1
3 5 1
0
0
0
g y y y y y
y y y y
y y y y
y y y
y y y
y y
y
y
y
y
Ví dụ 2. Viết bài toán đối ngẫu của bài toán đối ngẫu của
(P)
Chính là bài toán gốc (P) trong ví dụ 2.1. Vậy ta có:
Mệnh đề. Nếu (Q) là bài toán đối ngẫu của bài toán (P),
thì bài toán đối ngẫu của bài toán (Q) là bài toán (P).
Bài 2. TƢƠNG QUAN GIỮA CẶP BÀI TOÁN GỐC
VÀ ĐỐI NGẪU
Vì mọi bài toán quy hoạch tuyến tính đều có thể đưa
về dạng chính tắc, nên trong chứng minh của các định lý ở
phần sau ta giả sử bài toán gốc có dạng chính tắc như trong
định nghĩa 1.3
( ) , min
0
f x c x
Ax b
x
(P)
Khi đó bài toán đối ngẫu của (P) là
( ) , maxT
g y b y
A y c
y
(Q)
Th.s Bùi Thị Thu Phương ĐHCN TP.HCM
41
Định lý 1. Gọi x, y theo thứ tự là phương án của bài toán
gốc và bài toán đối ngẫu. Khi đó ta có ( ) ( )f x g y hay
tương đương , ,c x b y .
Định lý 2. Nếu ,x y theo thứ tự là phương án của bài toán
gốc và bài toán đối ngẫu sao cho , ,c x b y thì x là
phương án tối ưu của các bài toán gốc và y là phương án
tối ưu của bài toán đối ngẫu.
Định lý 3. Nếu một trong hai bài toán gốc hoặc đối ngẫu
có phương án tối ưu thì bài toán còn lại cũng có phương
án tối ưu và giá trị tối ưu của hai hàm mục tiêu là bằng
nhau.
Từ trong chứng minh định lý 2.3, ta rút ra được
công thức tính phương án tối ưu của bài toán đối ngẫu, nếu
bài toán gốc có dạng chính tắc và biết được một phương án
cực biên tối ưu không suy biến. Cụ thể là định lý 2.4 sau
đây.
Định lý 4. Giả sử (P) là bài toán gốc dạng chính tắc có
phương án cực biên tối ưu không suy biến x , với hệ véc tơ
liên kết 1 2, ,..., mj j jA A A . Khi đó phương án tối ưu của bài
toán đối ngẫu là: 1y cB ,
trong đó, B là ma trận có các cột là các véc tơ 1 2, ,..., mj j jA A A và
1 2, ,...,
mj j jc c c c , (
1 2, ,...,
mj j jc c c là hệ số ở
hàm mục tiêu).
Cũng cần lưu ý thêm rằng, nếu x là phương án cực
biên tối ưu suy biến thì ta bổ sung thêm các véc tơ cột của
A để được một hệ có m véc tơ độc lập tuyến tính với điều
Th.s Bùi Thị Thu Phương ĐHCN TP. HCM
42
kiện 0, 1,j
j n . Lúc này B là ma trận cột các véc tơ
trong hệ liên kết mở rộng.
Trước khi đi tìm hiểu tiếp các tính chất của bài toán
đối ngẫu chúng ta xét một vài ví dụ để minh họa định lý
2.4, 2.3 và đây cũng chính là một trong những ứng dụng
của lý thuyết đối ngẫu.
Ví dụ 3. Cho bài toán quy hoạch tuyến tính dạng chính tắc
1 2 3 4
1 2 4
2 3 4
( ) 2 2 0 min
4 6
2 5 8
0, 1, 4j
f x x x x x
x x x
x x x
x j
(P)
và phương án tối ưu là (2,4, 0, 0)x , giá trị tối ưu là 6 .
Tìm phương án tối ưu của bài toán đối ngẫu.
Ví dụ 4. Cho bài toán quy hoạch tuyến tính dạng chính tắc
(P)
1 2 3 4 5 6
1 2 4 5 6
1 2 3 4 5 6
1 2 3 4 5 6
( ) 3 2 8 4 9 min
4 2 23
2 4 3 16
3 2 2 5 33
0, 1, 6,j
f x x x x x x x
x x x x x
x x x x x x
x x x x x x
x j
và phương án (0,1, 0, 3, 0,5)x .
a) Chứng minh (0,1,0, 3, 0,5)x là phương án cực biên
và là phương án tối ưu của bài toán (P).
b) Tìm phương án tối ưu của bài toán đối ngẫu của bài
toán (P).
Ví dụ 5. Xét bài toán quy hoạch tuyến tính dạng chính tắc
(P)
Th.s Bùi Thị Thu Phương ĐHCN TP.HCM
43
1 2 3 4
1 3 4
2 3 4
( ) 2 4 5 min
2 5
3 3 0
0, 1, 4,j
f x x x x x
x x x
x x x
x j
với phương án cực biên tối ưu (5,0,0, 0)x .
Hãy tìm phương án tối ưu của bài toán đối ngẫu.
GIẢI:
Mặc dù đã biết (5,0,0, 0)x là phương án cực biên
tối ưu nhưng x lại là phương án cực biên suy biến (có một
véc tơ liên kết là 1A ), nên ta phải bổ sung thêm một véc tơ
cột jA của A nữa sao cho có một hệ 2 véc tơ độc lập tuyến
tính với điều kiện 0j
.
Nếu ta chọn hệ liên kết mở rộng 1 2,A A thì 3
0
(xem lại ví dụ 1.43) nên không thể bổ sung 2A được. Nếu
chọn hệ liên kết 1 3,A A thì tất cả các ước lượng 0j
.
Từ đó phương án tối ưu của bài toán đối ngẫu là 1
1 31 3
1
( , ) ,
1 2(2, 4) (2, 0)
0 3
y c c A A
.
Định lý 5. Nếu bài toán gốc có hàm mục tiêu không bị
chặn dưới trên tập phương án (hoặc bài toán đối ngẫu có
hàm mục tiêu không bị chặn trên trên tập phương án) thì
bài toán đối ngẫu có tập phương án bằng rỗng (bài toán
gốc có tập phương án bằng rỗng)
Định lý 6. Nếu cả hai bài toán gốc và đối ngẫu đều có tập
phương án không rỗng thì cả hai bài toán đều có phương
án tối ưu và giá trị tối ưu của các hàm mục tiêu là bằng
nhau.
Th.s Bùi Thị Thu Phương ĐHCN TP. HCM
44
Vì cả hai bài toán đều có phương án, nên xét hai
phương án cố định 0 0,x y ta có 0 0( ) ( )f x g y . Với mọi
phương án x của bài toán gốc ta đều có 0( ) ( )f x g y . Điều
này chứng tỏ hàm mục tiêu của bài toán gốc bị chặn dưới,
theo định lý 1.6 bài toán gốc có phương án tối ưu và do đó
theo định lý 2.3 bài toán đối ngẫu cũng có phương án tối
ưu và giá trị tối ưu bằng nhau.
Định lý 7. (Định lý độ lệch bù) Cho 1 2, ,...,
nx x x x là
phương án của bài toán gốc và 1 2, ,...,
my y y y là phương
án của bài toán đối ngẫu. Khi đó cả hai đều là phương án
tối ưu điều kiện cần và đủ là:
1
1
0, 1,
0, 1, .
n
ij j i ij
m
ij i j ji
a x b y i m
a y c x j n
Ví dụ 6. Tìm phương án tối ưu của bài toán đối ngẫu (Q)
của bài toán cho trong ví dụ 2.3.
Mặc dù hệ phương trình viết có vẻ dài dòng, tuy
nhiên trong khi áp dụng chúng ta có thể lược bỏ những
phương trình không cần thiết. Trong hệ phương trình ban
đầu chúng ta viết, có thể lược ngay các phương trình (1),
(2), (5), và (6) chỉ viết ngay hai phương trình (3), (4), chắc
các bạn đã hiểu tại sao.
Ví dụ 7. Cho bài toán quy hoạch tuyến tính (P)
1 2( ) 7 8 minf x x x
1 2
1 2
1 2
4 7
3 2 15
4 3 24
x x
x x
x x
Th.s Bùi Thị Thu Phương ĐHCN TP.HCM
45
0; 1,2jx j
và phương án tối ưu 5, 0x (bài toán ở ví dụ 1.34). Viết
và tìm phương án tối ưu của bài toán đối ngẫu (Q) của bài
toán (P).
NHẬN XÉT . Phương án tối ưu của bài toán (Q) vẫn có
thể tìm từ định lý 2.4, nếu chúng ta chú ý rằng bài toán (P)
được đưa về dạng chính tắc (P ) là
1 2 3 4
1 2 3
1 2
1 2 4
( ) 7 8 0 0 min
4 7
3 2 15
4 3 24
0; 1, 4 .j
f x x x x x
x x x
x x
x x x
x j
Bài toán (P ) có phương án tối ưu x = (5, 0,13,4).
Ta viết bài toán đối ngẫu (Q ) của (P ):
1 2 3
1 2 3
1 2 3
1
3
1 2 3
( ) 7 15 24 max
4 3 4 7
2 3 8
0
0
, , .
g y y y y
y y y
y y y
y
y
y y y
Đây rõ ràng đây là bài toán (Q). Lúc này (P ) là
dạng chính tắc có phương án tối ưu cực biên x = (5,
0,13,4), nên phương án tối ưu của (Q ) (cũng là phương án
tối ưu của (Q)) có thể tính theo công thức ở định lý 2.4. 1
1 3 41 2 3 1 3 4, , , , , ,y y y y c c c A A A
1
4 1 07
7, 0, 0 3 0 0 0, , 03
4 0 1
Th.s Bùi Thị Thu Phương ĐHCN TP. HCM
46
Vì phương án tối ưu của bài toán này là duy nhất,
nên giải bằng cách nào cũng tìm được phương án tối ưu
như nhau. Trường hợp bài toán có phương án tối ưu không
duy nhất có thể tìm ra những phương án tối ưu khác nhau
cho những lời giải khác nhau.
Ví dụ 8. Cho bài toán quy hoạch tuyến tính (đổi hàm mục
tiêu ví dụ 1.15)
1 2
1 2
1 2
( ) 3 3 max
2 8
2
0, 1,2j
f x x x
x x
x x
x j
và các phương án tối ưu 1 (2, 0)x , 2 (0,2)x , 3 1 3,
2 2x .
Tìm phương án tối ưu của bài toán đối ngẫu cho từng
trường hợp.
Như vậy, trong một cặp bài toán đối ngẫu nếu ta đã
biết phương án tối ưu của một bài toán thì sẽ biết phương
án tối ưu của bài toán còn lại, bằng cách dùng định lý độ
lệch bù, hoặc định lý 4.
Nếu một bài toán giải bằng phương pháp đơn hình
bảng thì phương án tối ưu của bài toán còn lại sẽ được tìm
dễ dàng hơn nhờ định lý sau đây.
Định lý 8. Giả sử (P) là bài toán gốc dạng chính tắc có
sẵn ma trận đơn vị gồm m véc tơ, 1 21 2, ,..., mj j jmE A E A E A . Khi đó phương án tối ưu
của bài toán đối ngẫu được tính theo công thức:
1 1 2 2, , ...,
m mj j j j j jy c c c
Th.s Bùi Thị Thu Phương ĐHCN TP.HCM
47
Trong đó 1 2, ,...,
mj j jlà các ước lượng thứ
1 2, ,...,
mj j j của phương án cực biên tối ưu và
1 2, , ...,
mj j jc c c là
các hệ số ở hàm mục tiêu.
Hoặc cũng có thể trực quan hơn 1 2, , ...,
mj j jlà
các ước lượng tương ứng với các cột 1 2, ,..., mj j jA A A xuất
hiện ở bảng đơn hình cuối cùng khi đã có dấu hiệu tối ưu.
Ví dụ 9. Xét bài toán quy hoạch tuyến tính dạng chính tắc
1 2 3 4
1 2 4
2 3 4
( ) 2 2 0 min
4 6
2 5 8
0, 1, 4.j
f x x x x x
x x x
x x x
x j
(P)
Bài toán đã giải bằng phương pháp đơn hình trong
bảng sau
Cơ
sở
H.số
jc
Ph.
án cb
1x 1
2x -2
3x 2
4x 0
A1
A3
1
2
6
8
1
0
1
2
0
1
4
5
0 7 0 14 4 3/2 28 21
A1
A2
1
-2
2
4
1
0
0
1
-1/2
1/2
3/2
5/2
0 0 -7/2 -7/2
(P) là bài toán gốc dạng chính tắc có sẵn ma trận
đơn vị gồm 2 véc tơ, 1 21 1 2 3,j jE A A E A A .
Th.s Bùi Thị Thu Phương ĐHCN TP. HCM
48
Vậy, 1 2
1, 3j j . Phương án cực biên tối ưu của
(P) là x=(2,4,0,0), các ước lượng thứ 1 2
1, 3j j của x là
1 10,
j
2 3
7
2j. Từ đó phương án tối ưu của
bài toán đối ngẫu là
1 1 2 2 1 1 3 3
3, , 1,
2j j j jy c c c c .
Một đặc trưng của lý thuyết đối ngẫu là giải các bài
toán dạng như khẩu phần ăn, đầu tư vốn, ta xét ví dụ 2.10
sau đây để rõ hơn.
Ví dụ 10. Một xí nghiệp xử lý giấy, có ba phân xưởng I, II,
III cùng xử lý ba loại giấy A, B, C. Do ba phân xưởng có
điều kiện làm việc khác nhau, nên nếu cùng đầu tư 10 triệu
đồng vào mỗi phân xưởng thì cuối kỳ:
Phân xưởng I xử lý được 6 tạ giấy loại A, 2 tạ giấy
loại B, 3 tạ giấy loại C, trong khi đó phân xưởng II xử lý
được 2 tạ giấy loại A, 6 tạ giấy loại B, 2 tạ giấy loại C và
phân xưởng III xử lý được 1 tạ giấy loại A, 3 tạ giấy loại
B, 4 tạ giấy loại C.
Theo yêu cầu lao động thì cuối kỳ xí nghiệp phải xử
lý ít nhất 2 tấn giấy loại A, 2.5 tấn giấy loại B, 3 tấn giấy
loại C.
Hỏi cần đầu tư vào mỗi phân xưởng bao nhiêu tiền
để xí nghiệp hoàn thành công việc và tổng số tiền đầu tư là
nhỏ nhất?
Chƣơng 3: BÀI TOÁN VẬN TẢI
Bài 1 GIỚI THIỆU BÀI TOÁN VẬN TẢI
VÀ MỘT SỐ TÍNH CHẤT
1. Bài toán vận tải tổng quát
Th.s Bùi Thị Thu Phương ĐHCN TP.HCM
49
Một công ty cần vận chuyểnmột loại hàng hóa từ m
kho (trạm phát) 1 2, ,...,
mP P P tới n nơi tiêu thụ (trạm thu)
1 2, ,...,
nT T T . Lượng hàng có ở m kho và lượng hàng cần ở
n nơi tiêu thụ cũng như số tiền vận chuyển một đơn vị
hàng từ mỗi kho đến các nơi tiêu thụ được cho ở bảng 3.1
sau:
Thu
Phát
1 1( )T b
2 2( )T b
…
( )j jT b
…
( )n nT b
1 1( )P a
11c
12c …
1jc …
1nc
2 2( )P a
21c
22c …
2 jc …
2nc
( )i iP a
1ic
2ic …
ijc …
inc
( )m mP a
1mc
2mc …
mjc …
mnc
Nghĩa là kho iP (ta gọi là kho thứ i) chứa
ia đơn vị
hàng hoá 1,i m , nơi nhận jT (ta gọi là nơi nhận thứ j)
cần jb đơn vị hàng hoá 1,j n (để cho đơn giản ta dùng
đơn vị là tấn). Giá tiền hay cước phí vận chuyển một đơn
vị hàng hóa từ kho thứ i đến nơi nhận thứ j là ijc đơn vị
tiền tệ. Trong phần này ta giả thiết tổng lượng hàng ở các
kho và tổng lượng hàng ở nơi nhận là bằng nhau, nghĩa là:
1 1
m n
i ji j
a b .
Vấn đề đặt ra là lập một kế hoạch vận chuyển sao
cho:
- Nơi nhận, nhận đủ hàng.
Th.s Bùi Thị Thu Phương ĐHCN TP. HCM
50
- Nơi phát, phát hết hàng.
- Tổng cước phí chi trả là nhỏ nhất.
CHÚ Ý. Trong chương 3 này, khi nói đến bài toán vận tải
ta đều giả sử bài toán có m kho và n nơi nhận như trên trừ
phi đó là những trường hợp đặc biệt.
Gọi ijx là số đơn vị hàng hoá vận chuyển từ kho thứ
i đến nơi nhận thứ j , ta có bài toán quy hoạch tuyến tính
sau đây:
1 1
1
1
( ) min (1)
1, (2)
1, (3)
0 ( , ) (4)
m n
ij iji j
n
ij ijm
ij ji
ij
f x c x
x a i m
x b j n
x i j
Đây là bài toán quy hoạch tuyến tính dạng chính tắc
có m n ràng buộc điều kiện và .mn ẩn nên có thể giải
bằng phương pháp đơn hình, tuy nhiên ta thấy rằng số
lượng các ẩn là rất lớn do đó số lượng các phép tính là
không nhỏ. Các nhà Toán học lợi dụng cấu trúc đặc biệt
của ma trận các hệ số của ẩn ở bài toán này đã đưa ra một
số thuật toán đơn giản hơn để giải, như thuật toán thế vị
hoặc thuật toán quy không cước phí các ô chọn. Trước khi
tìm hiểu các thuật toán này ta viết lại bài toán ở trên và nêu
một số tính chất cần thiết.
2. Một số tính chất của bài toán vận tải
Bài toán ở trên có thể viết lại dưới dạng chính tắc
sau đây:
Th.s Bùi Thị Thu Phương ĐHCN TP.HCM
51
( ) , min
0.
f x c x
Ax b
x
Trong đó
11 12 1 21 22 2 1 2, ,..., , , ,..., ,..., , ,...,
T
n n m m mnx x x x x x x x x x là véc tơ
cột có .mn thành phần, 1 2 1 2, ,..., , , ,...,
T
m nb a a a b b b là véc tơ
cột có m n thành phần, ma trận A là ma trận có m n
dòng, m n cột.
Ma trận A và cột thứ ij (ma trận cột các hệ ẩn ijx )
của nó như sau:
1 1 ... 1 0 0 ... 0 ... 0 0 ... 0
0 0 ... 0 1 1 ... 1 ... 0 0 ... 0
... ... ... ...
0 0 ... 0 0 0 ... 0 ... 1 1 ... 1
1 0 ... 0 1 0 ... 0 ... 1 0 ... 0
0 1 ... 0 0 1 ... 0 ... 0 1 ... 0
...
0 0 ... 1 0 0 ... 1 ... 0 0 ... 1
A
0
0
1
0
0
1
0
0
ijA .
Mệnh đề. Ma trận A nói trong bài toán vận tải ở trên có
hạng bằng 1m n .
Định lý. Điều kiện 1 1
m n
i ji j
a b gọi là điều kiện cân bằng
thu phát là điều kiện đủ để bài toán vận tải có phương án tối
ưu.
Th.s Bùi Thị Thu Phương ĐHCN TP. HCM
52
Bài 2. DẠNG BẢNG CỦA BÀI TOÁN VẬN TẢI
Ngoài cách phát biểu thành bài toán quy hoạch tuyến
tính như trong phần 3.1, bài toán vận tải còn thể hiện ở bảng
3.1 và do đó bảng 3.1 gọi là dạng bảng của bài toán vận tải.
Ví dụ 1. Một công ty cần vận chuyển một loại hàng hóa từ
hai kho (trạm phát) P1 và P2 tới ba nơi tiêu thụ (trạm thu)
T1, T2, T3. Lượng hàng có ở hai kho và lượng hàng cần ở
ba nơi tiêu thụ cũng như số tiền vận chuyển một đơn vị
hàng từ mỗi kho đến các nơi tiêu thụ được cho ở bảng
(Nghĩa là để vận chuyển một tấn hàng từ P1 đến T1
mất 5 đơn vị tiền tệ, đến T2 mất 2 đơn vị tiền tệ, đến T3 mất
3 đơn vị tiền tệ. Tương tự cho P2.)
Bài toán đặt ra là, hãy tìm một phương án vận chuyển
thỏa yêu cầu về thu phát sao cho chi phí vận chuyển bé nhất.
Ta xét một phương án sau
Thu
Phát
T1
35 tấn hàng
T2
25 tấn hàng
T3
45 tấn hàng
P1
30 tấn
hàng
5 2 3
P2
75 tấn hàng
2 1 1
Thu
Phát
T1
35 tấn hàng
T2
25 tấn hàng
T3
45 tấn hàng
P1
30 tấn
hàng
5
30
2 3
P2
75 tấn hàng
2
5
1
25
1
45
Th.s Bùi Thị Thu Phương ĐHCN TP.HCM
53
Theo phương án này, từ kho 1 chuyển 30 tấn hàng
đến nơi nhận 1. Từ kho 2 chuyển 5 tấn hàng đến nơi nhận
1, chuyển 25 tấn hàng đến nơi nhận 2, chuyển 45 tấn hàng
đến nơi nhận 3. Cũng có thể viết phương án dưới dạng véc
tơ 11 12 13 21 22 23
( , , , , , ) (30,0,0,5,25,45)x x x x x x x hoặc dưới
dạng ma trận
30 0 0
5 25 45x .
Phần chính của bảng vận tải hay bảng vận tải của
bài toán trên là
Định nghĩa 1. Ta gọi đường đi là tập hợp một số ô của
bảng (vận tải) sao cho cứ hai ô liên tiếp thì nằm trên cùng
một dòng hay một cột, và mỗi dòng hay mỗi cột không
chứa nhiều hơn hai ô.
Một đường đi khép kín được gọi là một chu trình.
Ví dụ 2. Tập hợp các ô được đánh dấu x sau đây tạo thành
một đường đi của bảng vận tải của một bài toán vận tải nào
đó có 4 kho phát hàng và 5 nơi nhận.
5 2 3
2 1 1
x
x
x x
x x
Th.s Bùi Thị Thu Phương ĐHCN TP. HCM
54
Ví dụ 3. Tập hợp các ô được đánh dấu X sau đây tạo thành
một chu trình của bảng vận tải của một bài toán vận tải nào
đó có 4 kho phát hàng và 5 nơi nhận.
x
x
x
X
x
X
Bảng 3.7
Mệnh đề. Số ô trong một chu trình V nào đó luôn luôn là
số chẵn.
Định nghĩa 2. Cho E là tập hợp một số ô của bảng vận
tải. Tập hợp E được gọi là chứa chu trình nếu từ trong các
ô của E ta có thể chọn ra một số ô mà những ô này tạo nên
một chu trình. Ngược lại, ta nói E không chứa chu trình.
.
Định nghĩa 3. Véc tơ cột ijA của ma trận A gọi là véc tơ
liên kết của ô ( , )i j .
Cho E là tập hợp một số ô của bảng vận tải. Ta gọi
hệ véc tơ / ( , )ijA i j E là hệ véc tơ liên kết của E.
Mệnh đề. Tập E không chứa chu trình khi và chỉ khi hệ
những véc tơ liên kết với các ô trong E độc lập tuyến tính.
Th.s Bùi Thị Thu Phương ĐHCN TP.HCM
55
Hệ quả. Một tập E các ô bảng vận tải không chứa chu
trình có tối đa là 1m n ô.
Mệnh đề. Cho E là tập gồm 1m n ô của bảng vận tải
không chứa chu trình, ô 0 0
( , )i j E . Khi đó tập hợp
0 0( , )F E i j có chứa duy nhất một chu trình V đi qua ô
0 0( , )i j , và, nếu ta loại bất kỳ một ô nào đó của V ra khỏi
tập F thì tập còn lại gồm 1m n ô sẽ không chứa chu
trình.
Bài 3 THUẬT TOÁN THẾ VỊ
1. Quan hệ giữa dạng chính tắc và dạng bảng
Xét bài toán vận tải như đã trình bày trong hai phần
3.1, 3.2 và một phương án ,ij
x x 1, ;i m 1,j n . Như
chúng ta đã biết, bài toán vận tải là một bài toán quy hoạch
tuyến tính dạng chính tắc có ma trận hệ số A có cấu trúc
đặc biệt, cho nên trong cách giải, về ý tưởng giống như
chương 1, chỉ khác hình thức trình bày mà thôi. Vì có cấu
trúc đặc biệt, nên nếu điều kiện cân bằng thu phát xảy ra
thì bài toán luôn có phương án tối ưu. Như vậy, nếu xuất
phát từ một phương án cực biên nào đó theo ý tưởng như
chương 1, ta sẽ đi đến phương án cực biên tối ưu. Vấn đề
đặt ra là dấu hiệu nào của bảng vận tải cho ta phương án
cực biên ban đầu , phương án cực biên tối ưu. Và khi chưa
có phương án cực biên tối ưu thì ta sẽ thiết lập phương án
cực biên mới tốt hơn nhờ vào bảng vận tải như thế nào.
Những câu hỏi đó sẽ được giải đáp trong phần tiếp theo
sau.
Định nghĩa 1. Cho phương án ,ij
x x 1, ;i m 1,j n .
Nếu 0ijx thì ô ( , )i j gọi là ô chọn. Nếu 0
ijx thì ô ( , )i j
gọi là ô loại.
Th.s Bùi Thị Thu Phương ĐHCN TP. HCM
56
Ví dụ 1. Xét bài toán vận tải và phương án trong bảng
3.11, các ô (1,4), (2,1), (2,2), (2,4), (3,3), (3,4) là các ô
chọn, các ô còn lại là các ô loại.
Định lý 1. Phương án ,ij
x x 1, ;i m 1,j n là phương
án cực biên khi và chỉ khi tập hợp các ô chọn không chứa
chu trình.
Ví dụ 2. Xét lại ví dụ 3.7. Phương án cho trong ví dụ 3.7 là
phương án cực biên. Vì tập các ô chọn là (1,4), (2,1), (2,2),
(2,4), (3,3), (3,4) không chứa chu trình.
NHẬN XÉT. Vì hạng của ma trận A bằng 1m n , nên
phương án cực biên x là không suy biến nếu số ô chọn của
x là 1m n .
2. Thuật toán thế vị
NHẬN XÉT. Xét bài toán vận tải như đã giới thiệu trong
phần 3.1, ta đặt bài toán này là T và bài toán đối ngẫu của
nó là T .
T
P
35 25 45 45
30 5
2 3 6
30
70 2
35
1
25
7
3
10
50 4 6 3
45
8
5
Th.s Bùi Thị Thu Phương ĐHCN TP.HCM
57
1 1
1
1
( ) min
1, ( )
1,
0.
m n
ij iji j
n
ij ijm
ij ji
ij
f x c x
x a i m T
x b j n
x
Bài toán đối ngẫu của nó là
1 1
1 2 1 2
( ) max
1, ; 1, ( )
( , ,..., , , ,..., ) .
m n
i i j ji j
i j ij
m nm n
g y a u b v
u v c i m j n T
y u u u v v v
Vì mọi bài toán vận tải cân bằng thu phát đều có
phương án tối ưu nên bài toán ( )T cũng có phương án tối
ưu và do đó hiển nhiên là có phương án. Từ đó ta luôn tìm
được các số thực ,i ju v sao cho , 1,
i j iju v c i m ;
1,j n . Hơn nữa nếu 0 0ij
x x là phương án cực biên tối
ưu với tập hợp các ô chọn 0 0( ) ( , ) / 0ij
G x i j x thì theo
định lý 2.7 (độ lệch bù) tồn tại các số 0 0,i ju v sao cho
0 0 0 0i j ij iju v c x , 1,i m , 1,j n . Nếu xét những
0 0( , ) ( ) ( , ) / 0ij
i j G x i j x thì ta rút ra được 0 0i j iju v c
với những ( , )i j thuộc tập các ô chọn của 0 0ij
x x . Vấn đề
đặt ra là nếu 0 0ij
x x chỉ là phương án cực biên không
phải là phương án tối ưu thì có tồn tại các số 0 0,i ju v thoả
0 0i j iju v c hay không?
Th.s Bùi Thị Thu Phương ĐHCN TP. HCM
58
Đây chính là những ý tưởng hình thành nên thuật
toán mà được gọi là thuật toán thế vị.
Mệnh đề. Xét 0 0ij
x x là phương án cực biên không suy
biến với tập hợp các ô chọn 0 0( ) ( , ) / 0ij
G x i j x . Khi đó
tồn tại các số ,i ju v sao cho 0, ( , ) ( )
i j iju v c i j G x .
Định nghĩa 2. Cho 0 0ij
x x là phương án cực biên
không suy biến với tập hợp các ô chọn 0 0( ) ( , ) / 0
ijG x i j x , ta gọi:
i) Bộ số thực ,i ju v thoả
i j iju v c , 0( , ) ( )i j G x là
bộ thế vị của phương án 0x .
ii) Với bộ số ,i ju v xác định ở mục i) đại lượng
ij i j iju v c gọi là ước lượng ij của phương
án cực biên 0x .
NHẬN XÉT.
i) Bộ thế vị của phương án cực biên 0x xác định
không duy nhất.
ii) Ô ( , )i j là ô chọn thì 0ij
.
Ví dụ 3. Xét lại ví dụ 3.7.
Th.s Bùi Thị Thu Phương ĐHCN TP. HCM
60
80 1
20
5 7 2
60
45 5
10
7 4
35
9
55 12
2
40
3
15
6
Định lý sau đây và phương pháp chứng minh của nó
cùng với định lý 3.3 sẽ hình thành nên một thuật toán mà ta
gọi là thuật toán thế vị.
Định lý 4. Xét phương án cực biên không suy biến 0 0
ijx x và một bộ thế vị ,
i ju v của nó. Nếu tồn tại ( , )
k ki j
sao cho 0k ki j
thì có thể xây dựng một phương án cực
biên mới 1 1ij
x x tốt hơn phương án 0x .
NHẬN XÉT.
1) Bỏ qua tất cả những biến đổi dài dòng phức tạp
trong chứng minh của định lý, những ý chính
được rút ra giúp ta thiết lập phương án cực biên 1x
tốt hơn 0x đó là:
i) Chọn ô ( , )k ki j có ước lượng 0
k ki j và bổ
sung ô ( , )k ki j vào tập 0( )G x . Ta gọi ô ( , )
k ki j là
ô điều chỉnh.
ii) Xác định chu trình V đi qua ô ( , )k ki j trong tập
0( ) ( , )k k
G x i j .
iii) Đánh dấu , các ô trong V sao cho hai ô kề
nhau không được đánh cùng dấu. Bắt đầu từ ô
( , )k ki j đánh dấu , sau đó theo đường đi trong
Th.s Bùi Thị Thu Phương ĐHCN TP.HCM
61
V đánh dấu , rồi lại đánh dấu , v.v… cho
đến khi quay trở về ô ( , )k ki j .
iv) Chọn lượng hàng điều chỉnh 0 0min /( , )
s sij i jx i j V x .
v) Phương án mới 1x được xác định theo công
thức 0
1 0
0
, ( , )
, ( , )
, ( , )
ij
ij ij
ij
x i j V
x x i j V
x i j V
Có thể nói đơn giản, phương án mới 1x được hình
thành từ phương án cũ 0x bằng cách điều chỉnh các ô trong
chu trình V . Những ô có dấu , cộng với lượng hàng điều
chỉnh , những ô có dấu , trừ đi lượng hàng điều chỉnh
, những ô không nằm trong chu trình V thì giữ nguyên.
2) Tổng cước phí chi trả cho phương án 1x là 1 0( ) ( )
k ki jf x f x . Ta mong muốn 1( )f x càng nhỏ càng
tốt. Muốn 1( )f x càng nhỏ thì k ki j
phải càng lớn. Do đó
trong quá trình xây dựng 1x thông thường ta chọn ô ( , )k ki j
mà k ki j
lớn nhất. Tuy nhiên như chúng ta thấy 1( )f x phụ
thuộc vào cả k ki j
và .
3) Lượng hàng điều chỉnh nói trên xác định sau khi
chọn k ki j
nên có thể đặt là k ki j
, và trong quá trình xây
dựng 1x ta thực hiện như sau để được phương án tốt nhất
có thể.
i) Chọn tất cả các 0ij
, và ứng với mỗi 0ij
xây dựng ij
như trên, sau đó lập tất cả các tích
ij ij.
Th.s Bùi Thị Thu Phương ĐHCN TP. HCM
62
ii) Xác định tích lớn nhất và chọn tích này. Giả sử
k k k ki j i j là lớn nhất, ta được ô ( , )
k ki j . Từ đây thực
hiện tiếp các bước như đã trình bày ở mục 1, phần
nhận xét 3.4 này ta xây dựng được phương án 1x
gần với phương án tối ưu nhất.
Từ đây khi xây dựng phương án 1x , nếu ta chọn ô
( , )k ki j sao cho
k ki j lớn nhất ta gọi là cách 1, còn nếu ta
chọn ô ( , )k ki j sao cho
ij ij lớn nhất ta gọi là cách 2.
Ví dụ 5. Cho bài toán vận tải và một phương án 0x trong
bảng sau
T
P
40
45 60 65
90 4
10 7
25
9
65
65 8
40
13 6
25
9
55 1
9
45
11
10
6
a) Tính tổng cước phí của phương án 0x đã cho.
b) Chứng tỏ phương án này là phương án cực biên,
không suy biến và không phải là phương án tối ưu.
c) Xuất phát từ phương án 0x ở trên hãy xây dựng một
phương án cực biên mới tốt hơn.
Như vậy, đến đây chúng ta thấy rằng có thể giải
được bài toán vận tải nếu như biết được một phương án
cực biên ban đầu. Việc xác định phương án cực biên ban
đầu có nhiều cách, thậm chí ta có thể phân phối một cách
Th.s Bùi Thị Thu Phương ĐHCN TP.HCM
63
tùy ý lượng hàng đến các nơi nhận miễn sao nơi nhận nhận
đủ hàng và quan trọng nhất phương án mà ta vừa thiết lập
không chứa chu trình. Tuy nhiên việc làm không theo một
quy luật nào thật khó đạt được những kết quả tốt. Xây
dựng phương án ban đầu cho bài toán vận tải thường dùng
các phương pháp sau đây. Phương pháp góc tây bắc,
phương pháp này ít tính toán, các giải thuật cho máy tính
hay thực hiện. Tuy nhiên phương pháp góc tây bắc thường
không đem lại những kết quả tốt. Phương pháp cực tiểu
theo bảng cước phí, một phương pháp thường hay được sử
dụng vì tính tiện lợi mà không kém phần hiệu quả của nó.
Phương pháp Vogel (cũng có sách viết là Fogel hay
Voghen) tính toán phức tạp nhưng thường cho những kết
quả tốt rất gần với phương án tối ưu.
Trước tiên ta giới thiệu phương pháp cực tiểu theo
bảng cước phí (gọi tắt là min – cước), các phương pháp
khác sẽ được giới thiệu ở phần sau. Phương pháp min –
cước có thể tóm gọn trong một câu sau “phân phối lượng
hàng nhiều nhất có thể nhận cho ô có cước phí nhỏ nhất
trong bảng cước phí”. Tuy nhiên khi thực hành ta lần lược
thực hiện theo các bước sau:
Bước 1: Chọn ô có cước phí nhỏ nhất, sau đó qua
bước 2.
Bước 2: Phân phối lượng hàng nhiều nhất có thể
nhận vào ô vừa chọn. Nếu kho vừa phát mà phát hết hàng
ta xoá đi dòng chứa kho đó, nếu nơi vừa nhận mà nhận đủ
hàng thì ta xoá cột chứa nơi nhận đó.
Bước 3: Quay lại bước 1 cho bảng với những ô còn
lại.
Thực hiện như vậy cho đến khi nơi nhận nhận đủ
hàng, khi đó hiển nhiên nơi phát cũng phát hết hàng và sau
không quá 1m n lần thực hiện ta thu được phương án
cực biên.
Th.s Bùi Thị Thu Phương ĐHCN TP. HCM
64
Định lý 1. Phương án mà ta thu được theo phương pháp
cực tiểu theo bảng cước phí là phương án cực biên.
Ví dụ 1. Hãy xây dựng một phương án ban đầu bằng
phương pháp min – cước (cực tiểu theo bảng cước phí) cho
bài toán vận tải sau:
T
P
30
40 50 60
80 1
5 7 2
45 5
7 4
9
55 12
2
3
6
Đến đây ta sẽ trình bày các bước giải bài toán vận
tải bằng thuật toán thế vị.
Bước 1: Thiết lập một phương án cực biên ban đầu 0x , bằng phương pháp nào đó, min – cước chẳng hạn. Giả
thiết 0x là phương án cực biên không suy biến.
Bước 2: Kiểm tra tính tối ưu của phương án cực
biên 0x .
- Xác định bộ thế vị ,i ju v của phương án 0x .
- Tính các ước lượng ij i j iju v c của 0x , ta
ghi các ước lượng này vào góc tây nam của ô
( , )i j .
- Kiểm tra tính tối ưu của 0x . Nếu 0ij
thì 0x
là phương án tối ưu. Kết thúc thuật toán. Nếu có
0ij
thì qua bước 3.
Th.s Bùi Thị Thu Phương ĐHCN TP.HCM
65
Bước 3: Xây dựng phương án cực biên 1x tốt hơn 0x như đã trình bày ở nhận xét 3.4.
Bước 4: Cho 1x đóng vai trò của 0x và quay về
bước 2.
Ví dụ 2. Giải bài toán vận tải cho trong bảng sau:
T
P
35
55 45 85
110 2
4 7 5
110 2
4 8
9
Bài 4 PHƢƠNG PHÁP THÀNH LẬP PHƢƠNG ÁN
CỰC BIÊN BAN ĐẦU
Như trên đã nói có nhiều cách thành lập phương án
ban đầu và ta vẫn mong muốn phương án được thành lập
phải gần với phương án tối ưu, cố nhiên đây là phương án
cực biên (có thể có ô chọn mà lượng hàng chở đến bằng 0).
Ở trên đã giới thiệu phương pháp cực tiểu theo bảng cước
phí (min – cước), ở đây ta sẽ giới thiệu thêm hai phương
pháp đó là phương pháp góc tây bắc và phương pháp
Vogel (cũng có sách viết là Fogel hay Voghen).
1 Phƣơng pháp góc tây- bắc
Ta ưu tiên phân phối lượng hàng nhiều nhất vào ô ở
góc tây bắc (góc trên bên trái) trên bảng vận tải. Khi đó
nếu nơi nào đã phát hết hàng thì chúng ta xóa dòng chứa
nơi phát đó. Nếu nơi nào nhận đủ hàng thì chúng ta xóa cột
Th.s Bùi Thị Thu Phương ĐHCN TP. HCM
66
chứa nơi nhận đó. Sau đó lặp lại quá trình trên cho bảng
mới với những ô còn lại.
Ví dụ 1. Thành lập phương án ban đầu bằng phương pháp
góc tây bắc cho bài toán sau:
T
P
30
40 50 60
80
1
5
7
2
45
5 7 4
9
55
12 2 3 6
Với phương pháp này cước phí vận chuyển là f =
835. Trong khi đó nếu dùng phương pháp cực tiểu theo
bảng cước phí, ta có cước phí vận chuyển chỉ là 485.
Phương pháp góc tây-bắc ít tính toán thường được dùng
trong lập trình tính toán. Phương pháp này không hẳn đã
không tốt bằng phương pháp min – cước. Ta vẫn có thể
cho một ví dụ để thấy phương pháp này tốt hơn, tuy số
lượng như vậy là không nhiều.
2 Phƣơng pháp Vogel
Phương pháp Vogel theo kinh nghiệm tính toán, rất
nhiều bài toán phương án thiết lập theo phương pháp này
rất gần với phương án tối ưu và có những trường hợp nó là
phương án tối ưu. Phương pháp được thực hiện qua một số
bước sau:
Th.s Bùi Thị Thu Phương ĐHCN TP.HCM
67
Bước 1: Trên mỗi dòng và mỗi cột của ma trận
cước phí ta tính hiệu số giữa hai giá trị cước phí nhỏ nhất,
nhỏ nhì.
Bước 2: Chọn dòng hay cột có hiệu số lớn nhất ở
bước 1 (nếu có nhiều dòng hay cột thỏa điều kiện này thì ta
chọn một dòng hay cột nào tuỳ ý)
Bước 3: Phân phối tối đa lượng hàng có thể nhận
vào ô có cước phí nhỏ nhất trên dòng hay cột vừa chọn
được. (Khi đó nếu nơi nào đã phát hết hàng thì chúng ta
xóa dòng chứa nơi phát đó. Nếu nơi nào nhận đủ hàng thì
chúng ta xóa cột chứa nơi nhận đó. Lúc đó cột (dòng) này,
hiệu số sẽ không tính cho bước sau.
Bước 4: Lặp lại ba bước nói trên cho bảng mới với
những ô còn lại cho đến khi phân hết hết hàng. Lúc đó ta
thu được phương án cực biên (chứng minh trong phần bài
tập).
Ví dụ 1. Xét lại bài toán ở ví dụ 3.16, phương án cực biên
sau là thu được từ phương pháp Vogel.
T
P
30
40 50 60 Hiệu số
80
1
30
5
7
2
50
1 3 K
K
45
5 7 4
45
9
1 3 3
(5)
55
12 2
40
3
5
6
10
1 1 1
3
Hiệu
số
(4)
K
K
3
3
(5)
1
1
1
4
(4)
3
Th.s Bùi Thị Thu Phương ĐHCN TP. HCM
68
K K 1 3
Với phương pháp Vogel cước phí vận chuyển là f =
465. Trong khi đó nếu dùng phương pháp cực tiểu theo
bảng cước phí, ta có cước phí vận chuyển chỉ là 485.
Phương pháp này trong nhiều trường hợp tốt hơn phương
pháp cực tiểu theo bảng cước phí.
Bài 5 MỘT SỐ TRƢỜNG HỢP ĐẶC BIỆT CỦA BÀI
TOÁN VẬN TẢI
1 Bài toán vận tải có ô cấm
Trong thực tế, vì một lý do nào đó, chẳng hạn
đường đang sửa chữa hoặc khoảng cách giữa trạm phát và
trạm thu quá xa ảnh hưởng đến chất lượng hàng hoá vận
chuyển… mà trạm phát i không thể chở hàng đến nơi nhận
j được, lúc đó ô ( , )i j gọi là ô cấm (có thể có nhiều ô cấm).
Để giải quyết vấn đề này chúng ta cho cước phí ở ô đó là
M, với M là số dương rất lớn, lớn hơn bất kỳ số nào cần so
sánh. Sau đó chúng ta giải như những bài toán đã trình bày
ở trên. Về mặt trực quan ta thấy rằng một phương án mà ô
cấm ( , )i j nhận một lượng hàng nào đó thì tổng cước phí
chi trả cho phương án này sẽ vô cùng lớn và do đó trong
phương án tối ưu, ô cấm không thể nhận lượng hàng hoá
nào. Tuy nhiên về tính chặt chẽ của lý thuyết ta thấy rằng
việc làm ở trên chính là chuyển bài toán đã cho về bài toán
M như chương 1, lượng hàng ijx chuyển đến ô ( , )i j là một
ẩn giả.
Cũng cần chú ý thêm rằng việc thêm các ẩn giả vào
các phương trình của bài toán quy hoạch tuyến tính dạng
chính tắc ở chương 1 nhằm mục đích có một cơ sở đơn vị
để giải bài toán ban đầu bằng phương pháp đánh thuế.
Th.s Bùi Thị Thu Phương ĐHCN TP.HCM
69
Nhưng, các ẩn giả có thể thêm tuỳ ý vào các phương trình,
việc chứng minh định lý đã nói lên điều đó.
Trở lại bài toán vận tải có ô cấm ở trên sau khi ta
cho cước phí ô cấm là M, ta giải bài toán M này, bài toán
M luôn có phương án tối ưu (vì là bài toán vận tải cân bằng
thu phát), và theo định lý ta có:
i) Bài toán M có phương án tối ưu và ô cấm ( , )i j có
0ijx thì phương án này cũng là phương án tối ưu
của bài toán ban đầu.
ii) Bài toán M có phương án tối ưu và ô cấm ( , )i j có
0ijx thì bài toán ban đầu không có phương án (tập
phương án bằng rỗng).
Ví dụ 1. Giải bài toán với hai ô cấm sau.
T
P
100
65 95 40
80
6
5
11
10
70
10 5
7
150
9 8 7
2 Bài toán vận tải không cân bằng thu phát
Trong thực tế chúng ta hay gặp các bài toán vận tải
mà lượng hàng ở các kho (trạm phát) nhiều hơn lượng
hàng ở nơi nhận (trạm thu). Tức là
1 1
m n
i ji j
a b .
Th.s Bùi Thị Thu Phương ĐHCN TP. HCM
70
Để giải quyết vấn đề này ta thêm một nơi nhận giả
thứ n+1 nhận lượng hàng thừa 1
1 1
m n
n i ji j
b a b . Cước
phí vận chuyển đến các nơi ( , 1)i n này bằng không. Lúc
này bài toán là trường hợp cân bằng thu phát đã biết cách
giải. Việc làm này hợp lý bởi vì bài toán vận tải mới của
chúng ta có dạng: 1
1 11
1
1
( ) min
1,
1, 1
0.
m n
ij iji j
n
ij ijm
ij ji
ij
f x c x
x a i m
x b j n
x
Trong đó 1
0, 1,i nc i m . Ta giải bài toán vừa
nêu này, hiển nhiên bài toán có phương án tối ưu
; 1, ; 1, 1ij
x x i m j n . Nếu 1
0i nx thì kho thứ i
không chuyển hết hàng.
Ví dụ 1. Giải bài toán vận tải không cân bằng thu phát cho
bởi bảng vận tải:
T
P
100
65 95
80
7
5
2
70
6 3 5
150
4 2 7
Th.s Bùi Thị Thu Phương ĐHCN TP.HCM
71
Ví dụ 2. Giải bài toán vận tải không cân bằng thu phát cho
bởi bảng vận tải sau. Trong đó ưu tiên nơi nhận thứ hai
nhận đủ hàng
T
P
100
75 55
70
1
4
3
50
7 3 2
80
3 6 8
GIẢI:
Bước 1. Tìm phương án cực biên ban đầu.
Lượng hàng ở ba kho cộng lại là 200 tấn hàng,
lượng hàng ở ba nơi nhận cộng lại là 230 tấn hàng. Vì nơi
nhận thứ hai được ưu tiên nhận đủ hàng nên ta thêm vào
một kho giả chứa 30 tấn hàng và cước phí từ kho giả thứ 4
đến nơi nhận thứ 2 là M rất lớn, còn cước phí từ kho thứ 4
đến các nơi nhận khác bằng 0.
3. Bài toán vận tải tìm giá trị lớn nhất của hàm mục
tiêu
Trong thực tế có những bài toán dẫn đến bài toán
vận tải mà ta phải tìm giá trị lớn nhất của hàm mục tiêu.
Chẳng hạn bài toán:
Ví dụ 1. (Theo [4], tr 39) Một nhà máy chế biến thịt, sản
xuất ba loại thịt: bò, lợn, cừu, với tổng lượng mỗi ngày là
480 tấn bò; 400 tấn lợn; 230 tấn cừu. Mỗi loại đều có thể
bán được ở dạng tươi hoặc nấu chín. Tổng lượng các loại
thịt nấu chín để bán trong giờ làm việc là 420 tấn. Ngoài ra
nấu thêm ngoài giờ 250 tấn (với giá cao hơn). Lợi nhuận
Th.s Bùi Thị Thu Phương ĐHCN TP. HCM
72
thu được trên một tấn được cho bởi bảng sau: (với đơn vị
là triệu đồng)
Tươi
Nấu
chín
Nấu chín
ngoài giờ
Bò 8 11 14
Lợn 4 7 12
Cừu
4 9 13
Mục đích của nhà máy là tìm phương án chế biến để
làm cực đại lợi nhuận. Hãy tìm phương án chế biến đó.
Khi giải bài toán này ta phải có một giả thiết đó là
một kg thịt trước và sau khi chế biến được bảo toàn về khối
lượng.
Với giả thiết như vậy bài toán trên đưa về bài toán vận
tải mà ta phải tìm giá trị lớn nhất của hàm mục tiêu. Để
giải bài toán dạng này ta nhờ vào hai định lý sau đây mà
cách chứng minh của chúng tương tự như trường hợp cho
bài toán vận tải phải tìm giá trị nhỏ nhất của hàm mục tiêu.
Định lý 1. Giả sử 0 0ij
x x là một phương án cực biên của
bài toán vận tải (max) với tập các ô chọn là E, và tìm được
các số ir ,
js sao cho 0, ( , )
ij ij i jc c r s i j E . Khi đó
nếu 0, ( , )ijc i j thì phương án đã cho là phương án tối
ưu.
Định lý 2. Ngược lại với định lý 3.9 ở trên, nếu tồn tại
( , ) : 0ij
i j E c thì ta có thể tìm được một phương án cực
biên mới là 1 1ij
x x tốt hơn phương án 0 0ij
x x .
Th.s Bùi Thị Thu Phương ĐHCN TP.HCM
73
Trong đó phương án cực biên 1 1ij
x x được xây
dựng như sau:
- Chọn ô ( , )k ki j sao cho max / 0 0
k ki j ij ijc c c .
Xác định chu trình V của tập 0( ) ,k k
G x i j .
- Đánh dấu , vào các ô trong V , sao cho hai ô
kề nhau không được đánh cùng dấu và ô ( , )k ki j
phải đánh dấu . Ký hiệu
V = {( , ) /i j V ( , )i j đánh dấu }
V = {( , ) /i j V ( , )i j đánh dấu }.
- Đặt 0 0min /( , )s sij i j
x i j V x , đây là lượng
hàng nhỏ nhất trong ô đánh dấu .
- Phương án 1 1ij
x x tốt hơn được xác định theo
công thức sau: 0
1 0
0
, ( , )
, ( , )
, ( , )
ij
ij ij
ij
x i j V
x x i j V
x i j V
NHẬN XÉT. Hai định lý trên đây hình thành nên thuật
toán quy không cước phí các ô chọn cho bài toán max.
Chúng ta cũng có thể phát biểu hai định lý để hình thành
nên thuật toán thế vị cho bài toán max.
Đối với bài toán max, ijc thường là lợi nhuận như ví
dụ 1. Tuy nhiên khi giải ta có thể gọi là “cước phí”.
Ví dụ 2. Giải bài toán vận tải cực đại cước phí sau:
T
P
70
55 85 60
Th.s Bùi Thị Thu Phương ĐHCN TP. HCM
74
90
6
5
11
10
80
10 6 5
7
100
9
8
7
4
Bài 6 TRƢỜNG HỢP SUY BIẾN
Cũng như trường hợp bài toán quy hoạch tuyến tính
trong chương 1, suy biến là hiện tượng mà phương án cực
biên 0ij
x x có số ô chọn ít hơn 1m n . Gặp trường
hợp này ta bổ sung thêm ô chọn mà lượng hàng phân phối
đến nơi này bằng 0 (gọi là ô chọn 0), ô mà ta bổ sung vào
cùng với những ô chọn trước đó phải không chứa chu trình
(trong chương 1 thì hệ véc tơ liên kết độc lập tuyến tính).
Sau đó ta giải tiếp bài toán bằng những thuật toán đã biết.
Nếu phương án có ô chọn 0 này tối ưu thì kết thúc bài toán.
Nếu phương án này chưa tối ưu thì khi xây dựng phương
án mới nếu xảy ra trường hợp phương án mới này có số ô
chọn là 1m n thì ta trở lại những gì đã biết (ví dụ
3.23). Trong trường hợp phương án mới quay trở lại
phương án cũ và hệ thống ô chọn giống nhau, hiện tượng
này gọi là xoay vòng. Số lượng các bài toán xoay vòng như
đã biết trong chương 1 cũng rất ít, thậm chí nếu giải như
cách mà chúng tôi đã trình bày (trong chương 1) thì hiện
tượng xoay vòng được khắc phục. Đối với bài toán vận tải
thì theo một vài tác giả hiện tượng này càng hiếm gặp hơn.
Ví dụ. Giải bài toán vận tải (min hàm mục tiêu cước phí)
cho trong bảng sau
Th.s Bùi Thị Thu Phương ĐHCN TP.HCM
75
40
20 35 25
30
4
7
8
9
40
1 6 7
2
50
3
4
5
6