You are on page 1of 92

CHƯƠNG I: BÀI TOÁN QUY HOẠCH TUYẾN TÍNH

§1 MỘT SỐ VÍ DỤ DẪN ĐẾN BÀI TOÁN QUY HOẠCH
TUYẾN TÍNH
I. Bài toán lập kế hoạch sản xuất trong điều kiện tài nguyên hạn chế:
Ví dụ:
Nhân dịp tết trung thu, 1 xí nghiệp muốn sản xuất 3 loại bánh: Đậu xanh,
thập cẩm, bánh dẻo nhân đậu xanh. Để sản xuất 3 loại bánh này, xí nghiệp
phải có đường, đậu, bột, trứng, mứt, lạp xưởng…Gỉa sử số đường có thể
chuẩn bị được là 500kg, đậu là 300kg, các nguyên liệu khác muốn có bao
nhiêu cũng được. Lượng đường, đậu và số tiền lãi khi bán 1 chiếc bánh mỗi
loại cho trong bảng:
Bánh Bánh đậu xanh Bánh thập cẩm Bánh dẻo

Nguyên liệu
Đường: 500kg 0.06kg 0.04kg 0.07kg
Đậu: 300kg 0.08kg 0 0.04kg
Lãi: 2 ngàn 1.7 ngàn 1.8 ngàn
Cần lập kế hoạch sản xuất mỗi loại bánh bao nhiêu cái để không bị động về
đường, đậu và tổng số lãi thu được là lớn nhất( nếu sản suất ra bao nhiêu
cũng bán hết)
GIẢI:
Phân tích:
Gọi x1; x2 ; x3 lần lượt là số lượng bánh đậu xanh, thập cẩm, bánh dẻo cần
sản xuất
1. Điều kiện của ẩn: xi ≥ 0, i = 1,3 .
2. Tổng số đường: 0.06 x1 + 0.04 x2 + 0.07 x3
Tổng số đậu: 0.08 x1 + 0.x2 + 0.04 x3
Tổng tiền lãi: 2 x1 + 1.7 x2 + 1.8 x3
Ta có mô hình toán học của bài toán:
(1) f ( x ) = 2 x1 + 1.7 x2 + 1.8 x3 → max
0.06 x1 + 0.04 x2 + 0.07 x3 ≤ 500
( 2) 
 0.08 x1 + 0.x2 + 0.04 x3 ≤ 300
( 3) x j ≥ 0, j = 1.3
Mô hình toán học dưới dạng ma trận:
Ma trận ràng buộc:

-1-
0.06 0.04 0.07
A=
0.08 0 0.04
500
B=  véc tơ số hạng tự do.
300
x = ( x1; x2 ; x3 ) là véc tơ ẩn số.
Một véc tơ x = ( x1; x2 ; x3 ) thỏa (2) và(3) gọi là 1 phương án của bài toán.
Một phương án x = ( x1; x2 ; x3 ) thỏa (1) gọi là 1 phương án tối ưu của bài
toán.
II. Bài toán đầu tư vốn nhỏ nhất:
Ví dụ:
Có 3 xí nghiệp may cùng có thể sản xuất áo vét và quần. Do trình độ công
nhân, tài tổ chức, mức trang bị kỹ thuật…khác nhau, nên hiệu quả của đồng
vốn ở các xí nghiệp cũng khác nhau. Gỉa sử đầu tư 1000$ vào mỗi xí nghiệp
thì cuối kỳ ta có kết quả
Xí nghiệp 1: 35 áo 45 quần.
Xí nghiệp 2: 40 áo 42 quần.
Xí nghiệp 3: 43 áo 30 quần.
Lượng vải và số giờ công cần thiết để sản xuất 1 áo hoặc 1 quần ( gọi là suất
tiêu hao nguyên liệu và lao động) được cho ở bảng sau:
XN 1 2 3

Sản phẩm
Áo vét 3.5m 20h 4m 16h 3.8m 18h
Quần 2.8m 10h 2.6m 12h 2.5m 15h
Tổng số vải và giờ công lao động có thể huy động được cho cả 3 xí nghiệp
là 10.000m và 52.000 giờ công.
Theo hợp đồng kinh doanh thì cuối kỳ phải có tối thiểu 1500 bộ quần áo. Do
đặc điểm hàng hóa, nếu lẻ bộ chỉ có quần là dễ bán.
Hãy lập kế hoạch đầu tư vào mỗi xí nghiệp bao nhiêu vốn để :
- Hoàn thành kế hoạch sản phẩm.
- Không khó khăn về tiêu thụ.
- Không bị động về vải và tiêu thụ.
- Tổng số vốn đầu tư nhỏ nhất là điều nổi bật cần quan tâm.
Phân tích:
1)Gọi x1; x2 ; x3 lần lượt là số đơn vị vốn đầu tư ( 1000$) vào mỗi xí nghiệp.
Ta có: x j ≥0, j =1,3
2)Tổng số áo của 3 XN: 35 x1 + 40 x2 + 43x3 ,

-2-
3)Tổng số quần của 3 XN: 45 x1 + 42 x2 + 30 x3 ,
Để không khó khăn về tiêu thụ thì:
45 x1 + 42 x2 + 30 x3 ≥ 35 x1 + 40 x2 + 43 x3 ⇔ 10 x1 + 2 x2 − 13x3 ≥ 0
4)Tổng số bộ quần áo= Tổng số áo của 3 XN: 35 x1 + 40 x2 + 43x3 ,

5) Tổng số mét vải của 3 xí nghiệp ( dùng để may áo và quần ):
3.5 × 35 x1 + 4 × 40 x2 + 3.8 × 43 x3
+
2.8 × 45 x1 + 2.6 × 42 x2 + 2.5 × 30 x3
248.5 x1 + 269.2 x2 + 238.4 x3
6) Tổng số giờ công của 3 xí nghiệp:
20 × 35 x1 + 16 × 40 x2 + 18 × 43 x3
+
10 × 45 x1 + 12 × 42 x2 + 15 × 30 x3
1150 x1 + 1144 x2 + 1224 x3
7) Tổng số vốn đẩu tư( đơn vị: 1000$): x1 + x2 + x3
Mô hình toán học
(1) f ( x ) = x1 + x2 + x3 → min
 10 x1 + 2 x2 − 13x3 ≥ 0
 35 x1 + 40 x2 + 43x3 ≥ 1500
( 2) 
248.5 x1 + 269.2 x2 + 238.4 x3 ≤ 10000
 1150 x1 + 1144 x2 + 1224 x3 ≤ 52000
( 3) x j ≥ 0, j = 1,3
Mô hình toán học dưới dạng ma trận:
 10 2 − 13   0 
 35 40 43   1500 
A=   , B= 
248.5 269.2 238.4 10000 
   
 1150 1144 1224  52000
III. Bài toán vận tải
Ví dụ:
Ta cần vận tải vật liệu từ 2 kho: K1 và K2 , đến 3 công trường xây dựng: C1,
C2, C3 . Tổng số vật liệu có ở mỗi kho, tổng số vật liệu yêu cầu của mỗi công
trường, khoảng cách từ mỗi kho đến mỗi công trường được cho ở bảng sau:
-3-
Hãy lập kế hoạch vận chuyển thế nào để:
- Các kho giải phóng hết vật liệu.
- Các công trường nhận đủ vật liệu cần thiết.
- Tổng số T × km phải thực hiện là ít nhất.
GỈAI
Phân tích:
1. Gọi xij ( i = 1,2; j = 1,2,3) lần lượt là số tấn vật liệu vận chuyển từ kho
Ki → C j ∀xij ≥ 0
2. Số tấn vật liệu từ kho K1 đến 3 công trường:
x11 + x12 + x13
3. Số tấn vật liệu từ kho K2 đến 3 công trường:
x21 + x22 + x23
4. Số tấn vật liệu công trường C1 nhận được từ 3 kho:
x11 + x21
5. Số tấn vật liệu công trường C2 nhận được từ 3 kho:
x12 + x22
6. Số tấn vật liệu công trường C3 nhận được từ 3 kho:
x13 + x23
7. Tổng số T × km :
5 x11 + 7 x12 + 2 x13 + 4 x21 + 3x22 + 6 x23
Mô hình toán học:

-4-
(1) f ( x ) = 5 x11 + 7 x12 + 2 x13 + 4 x21 + 3x22 + 6 x23 → min
 x11 + x12 + x13 = 20
 x + x + x = 40
 21 22 23
( 2)  x11 + x21 = 15
 x + x = 20
 12 22
 x13 + x23 = 25
( 3) xij ≥ 0 ( i = 1,2; j = 1,2,3)

-5-
§2 CÁC DẠNG BÀI TOÁN QUY HOẠCH TUYẾN TÍNH
I. Dạng tổng quát:
n
(1) f ( x ) = ∑ c j x j → min( max )
j =1
 n
 ∑ aij x j = bi
 j =1
 n
( 2)  ∑ aij x j ≤ bi
 j =1
 n
 ∑ aij x j ≥ bi
 j =1
( 3) x j ≥ 0 ( j ∈ J1 ); x j ≤ 0 ( j ∈ J 2 ); x j tu  y
y ′ ( j ∈ J 3 ) ; J1 ∪ J 2 ∪ J 3 = {1;2; ; n}
- Vector x = ( x1; x2 ; ; xn ) thỏa (2);(3) gọi là 1 phương án của bài toán.
- Nếu phương án thỏa (1) tức là hàm mục tiêu đạt cực đại( hay cực tiểu)
thì gọi là phương án tối ưu.
- Giải 1 bài toán QHTT là đi tìm phương án tối ưu hoặc chỉ ra bài toán
không có phương án tối ưu.
Ví dụ:
Bài toán sau đây có dạng tổng quát:
(1) f ( x ) = 3x1 − x2 + 2 x3 + x4 + 5 x5 → max
2 x1 − x2 + x3 + 2 x4 + x5 ≤ 17
 4 x1 − 2 x2 + x3 = 20
( 2) 
 x1 − x2 + 2 x3 + x5 ≥ −18
 x1 + x2 + 2 x3 + x4 ≤ 100
( 3) x1; x4 ≥ 0; x2 ; x5 ≤ 0; x3 tu  y y′
II. Dạng chính tắc:
n
(1) f ( x ) = ∑ c j x j → min( max )
j =1
n
( 2) ∑ aij x j = bi (i = 1, m)
j =1
( 3) x j ≥ 0 ( j = 1, n )

-6-
Ví dụ:
Bài toán sau đây có dạng chính tắc:
(1) f ( x ) = 3x1 − x2 + x3 − 3x4 + x5 → min
 2 x1 + x2 − x3 + 3x4 = 0
( 2)  x2 − x3 − x4 + x5 = −18
 x + 2 x − x = 17
 3 4 5
( 3) x j ≥ 0; j = 1,5
III. Dạng chuẩn:
n
(1) f ( x ) = ∑ c j x j → min( max )
j =1
 x1 + a1( m +1) xm +1 +  a1n xn = b1
 x2 + a2( m +1) xm +1 +  a2n xn = b2
( 2) 
  ........................................
 xm + am( m +1) xm +1 +  amn xn = bm
( 3) x j ≥ 0 ( j = 1, n ); bi ≥ 0(i = 1, m )
x1 x2 xm xm +1 xn
 1 0 ...... 0 a1( m +1) ... a1n 
 
0 1 ...... 0 a ( ) ... a
A =  
2 m +1 2 n
       
 
 0 0 ...... 1 a m( m +1) ... a mn 
Nhận xét:
Ta thấy bài toán dạng chuẩn là bài toán dạng chính tắc thêm 2 điều kiện:
 Các số hạng tự do không âm: bi ≥ 0 i = 1, m . ( )
 Ma trận các hệ số ràng buộc A chứa 1 ma trận đơn vị cấp m.
Định nghĩa:
1) ẩn cơ bản: Các ẩn ứng với véc tơ cột đơn vị trong ma trận A gọi là ẩn cơ
bản, trên ma trận A ta có x1; x2 ; ; xm là các ẩn cơ bản.
- ẩn cơ bản ứng với véc tơ cột đơn vị thứ i gọi là ẩn cơ bản thứ i. Các ẩn còn
lại là không cơ bản.
2) Phương án cơ bản: 1 phương án mà các ẩn không cơ bản đều bằng 0 gọi
là phương án cơ bản.
Nhận xét:
Với bài toán dạng chuẩn ta luôn có phương án cơ bản ban đầu :
-7-
( x1; x2 ;; xm ; xm +1;; xn ) = ( b1; b2 ;; bm ;0; ;0) bi ≥ 0, ∀i = 1, m
Ví dụ: Bài toán sau có dạng chuẩn
(1) f ( x ) = 3x1 − x2 + x3 − 3x4 + x5 → min
 2 x1 + 2 x4 + x5 = 20
( 2) − 3x1 + 4 x2 − 4 x4 + x6 = 0
 x + 2 x + x + 3 x = 28
 1 2 3 4
( 3) x j ≥ 0; j = 1,6
x1 x2 x3 x4 x5 x6
 2 0 0 2 1 0
 
A = − 3 4 0 − 4 0 1
 1 2 1 3 0 0
 
Ta có x5 là ẩn cơ bản thứ nhất, x6 là ẩn cơ bản thứ hai, x3 là ẩn cơ bản thứ ba
Phương án cơ bản ban đầu: ( x1, x2 , x3, x4 , x5 , x6, ) = ( 0,0,28,0,20,0)

-8-
§3 BIẾN ĐỔI DẠNG CỦA BÀI TOÁN QUY HOẠCH TUYẾN
TÍNH
I. Đưa dạng tổng quát về dạng chính tắc:
n
1) Nếu gặp ràng buộc dạng: ∑ aij x j ≤ bi ta cộng thêm vào vế trái 1 ẩn phụ
j =1
( Slack variable) không âm xi +1 ≥ 0 để biến về dạng phương trình:
n
∑ aij x j + xn +1 = bi
j =1
n
2) Nếu gặp ràng buộc dạng: ∑ aij x j ≥ bi ta cộng thêm vào vế trái 1 ẩn phụ
j =1
( Slack variable) không âm xi +1 ≥ 0 , với hệ số -1 để biến về dạng phương
trình:
n
∑ aij x j − xn +1 = bi
j =1
Chú ý: Các ẩn phụ chỉ là những số giúp ta biến bất phương trình thành
phương trình, chứ không đóng vai trò gì về kinh tế, nên nó không ảnh hưởng
đến hàm mục tiêu. Vì vậy hệ số của nó trong hàm mục bằng 0.
3) Nếu gặp ẩn x j ≤ 0 ta thay x j = −t j , t j ≥ 0
4) Nếu gặp ẩn x j tu  y y ′ ta thay x j = x′j − x′′j , x′j , x′′j ≥ 0
Ví dụ:
Đưa bài toán sau về dạng chính tắc:
(1) f ( x ) = 2 x1 − x2 + 2 x3 + x4 − 2 x5 → min
 x1 − 2 x2 + x3 + 2 x4 + x5 ≤ 7  x1 − 2 x2 + x3 + 2 x4 + x5 ≤ 7( a )
 x2 + 2 x3 + x4 ≥ −1  − x2 − 2 x3 − x4 ≤ 1( b )
 
( 2)  ⇔
 2 x3 + x4 + 3x5 ≥ 10  2 x3 + x4 + 3x5 ≥ 10( c )
 x1 + x2 − 2 x3 + x4 = 20  x1 + x2 − 2 x3 + x4 = 20( d )
( 3) x1; x5 ≥ 0; x4 ≤ 0; x2 ; x3 tu  y y′
GIẢI
 Cộng vào (a) ẩn phụ x6 ≥ 0 .
 Cộng vào (b) ẩn phụ x7 ≥ 0 .
 Cộng vào (c) ẩn phụ x8 ≥ 0 .với hệ số -1
 Thay x4 = −t 4 ; t4 ≥ 0
 Thay x2 = x2′ − x2′′ ; x2′ ≥ 0 x2′′ ≥ 0
-9-
 Thay x3 = x3′ − x3′′ ; x3′ ≥ 0 x3′′ ≥ 0
Bài toán đưa về dạng chính tắc như sau:
(1) f ( x ) = 2 x1 − ( x2′ − x′2′ ) + 2( x3′ − x3′′ ) − t4 − 2 x5 + 0.x6 + 0 x7 + 0 x8 → min
 x1 − 2( x2′ − x′2′ ) + ( x3′ − x3′′ ) − 2t 4 + x5 + x6 = 7( a )
 − ( x2′ − x2′′ ) − 2( x3′ − x3′′ ) + t 4 + x7 = 1( b )
( 2) 
 2( x3′ − x3′′ ) − t 4 + 3x5 − x8 = 10( c )
 x1 + ( x2′ − x2′′ ) − 2( x3′ − x3′′ ) − t 4 = 20( d )
( 3) x1; x5 ≥ 0; t4 ≥ 0; x2′ ; x2′′ ; x3′ ; x3′′ ; x6 ; x7 ; x8 ≥ 0
chú ý:
( )
Nếu x10 , x2′0 , x2′′0 , x3′0 , x3′′0 , t 40 , x50 , x60 , x70 , x80 là phương án tối ưu của bài
toán mới thì
( )
x10 , x20 , x30 , x40 , x50 with
x20 = x2′0 − x2′′0 , x30 = x3′0 − x3′′0 , x40 = −t 40 là
phương án tối ưu của bài toán gốc.
II. Đưa dạng chính tắc về dạng chuẩn:
1) Mô tả phương pháp:
Giả sử bài toán đã có dạng chính tắc: (Gỉa sử bi ≥ 0, i = 1, m )
n
(1) f ( x ) = ∑ c j x j → min( max )
j =1
a11 x1 +  + a1n x n = b1
a x +  + a x = b
( 2)  11 1 11 1 2
  
a11 x1 +  + a11 x1 = bm
( 3) x j ≥ 0 ( j = 1, n )
 Ta thêm vào mỗi phương trình một ẩn giả khộng âm xn +i ≥ 0 với
hệ số 1
 Trong hàm mục tiêu f ( x ) → min , ẩn giả có hệ số M( M>0, M lớn
hơn số nào ần so sánh)
 Trong hàm mục tiêu f ( x ) → max , ẩn giả có hệ số –M
Ta có bài toán mới gọi là bài toán mở rộng của bài toán xuất phát.

- 10 -
n m
(1) f ( x ) = ∑ c j x j ± M ∑ xn + i → min( max )
j =1 i =1
 a11x1 +  + a1n x n + xn +1 = b1
a x +  + a x + xn + 2 = b2
( 2)  21 1 2n n
  + 
am1x1 +  + amn xn + xn + m = bm
( 3) x j ≥ 0 ( j = 1, n + m )
 a11 x1  a1n xn 1 0  0 
a x  a2 n xn 0 1  0 
A =  21 1 
       
 
am1x1  amn xn 0 0  1 
( )
Ta thấy bài toán đã có dạng chuẩn với ẩn cơ bản thứ i là xn + i i = 1, m là các
ẩn giả.
Ví dụ:
(1) f ( x ) = 2 x1 + x2 + x3 − x4 → max
 x1 + 5 x2 + 5 x4 = 25
( 2) − 4 x2 − x3 + 6 x4 = 18
 3 x + 8 x = 28
 2 4
( 3) x j ≥ 0; j = 1,4
1 5 0 5
A = 0 − 4 − 1 6 
 
0 3 0 8
Ta thấy còn thiếu vector cột đơn vị thứ 2 và thứ 3 nên phải thêm ẩn giả vào
phương trình thứ 2 và thứ 3. Bài toán đưa về dạng chuẩn.

- 11 -
(1) f ( x ) = 2 x1 + x2 + x3 − x4 − Mx5 − Mx6 → max
 x1 + 5 x2 + 5 x4 = 25
( 2) − 4 x2 − x3 + 6 x4 + x5 = 18
 3 x + 8 x + x = 28
 2 4 6
( 3) x j ≥ 0; j = 1,6
1 5 0 5 0 0
A = 0 − 4 − 1 6 1 0 
 
0 3 0 8 0 1
2) Quan hệ giữa bài toán xuất phát và bài toán mở rộng
NHẬN XÉT
a) Nếu x = ( x1, x2 , , xn ) là phương án của bài toán xuất phát thì
x = ( x1 , x2 ,..., xn ,0,...,0 ) là phương án của bài toán mở rộng.
0
(
0 0
)
0
b) Nếu x = x1 , x2 , , xn là phương án tối ưu của bài toán xuất phát thì

( )
x 0 = x10 , x20 , , xn0 ,0...,0 là phương án tối ưu của bài toán mở rộng.
Từ đó nếu bài mở rộng không có phương án tối ưu thì bài toán xuất phát
cũng không có phương án tối ưu.
( )
c) Nếu x 0 = x 0 , x 0 , , xn0 ,0...,0 là phương án tối ưu của bài toán mở
1 2
( )
rộng thì x = x10 , x20 , , xn0 là phương án tối ưu của bài toán xuất
0

phát.
d) Nếu bài toán mở rộng có phương án tối ưu trong đó có 1 ẩn giả nhận
giá trị dương thì bài toán xuất phát không có phương án.

BÀI TẬP CHƯƠNG I


Lập mô hình toán học
1) Công ty bao bì dược cần sản xuất 3 loại hộp giấy đựng thuốc B1, Cao sao
vàng và đựng “Quy sâm đại bổ hoàn”.
Để sản xuất ra các hộp này công ty dùng các tấm bìa có kích thước
giống nhau. Mỗi tấm bìa có 5 cách cắt khác nhau
Cách Hộp B1 Hộp cao sao Hộp quy sâm
vàng
1 2 0 2
2 0 7 4
3 8 0 3
4 1 6 2

- 12 -
5 9 2 0
Theo kế hoạch số hộp B1 phải có là 1500, số hộp quy sâm là 2000, số hộp
cao sao vàng tối thiểu là 1000. Cần phương án cắt sao cho tổng số tấm
bìa phải dùng là ít nhất. Hãy lập mô hình bài toán.
2)
Xí nghiệp cơ khí An Phú cần cắt 1000 đoạn thép dài 0.55m; 800 đoạn dài
0.8m và 1120 đoạn dài 0.45m làm chuồng gà. Để có các đoạn thép này, xí
nghiệp phải dùng 3 loại thanh thép: loại 1 dài 1.2m; loại 2 dài 1.5m và loại 3
dài 1.8m. Các cách cắt được cho trong bảng dưới
Loại thép Cách cắt 0.55m 0.8m 0.45m Thừa
I: 1.2m 1 1 0 1 0.2
2 2 0 0 0.1
3 0 0 2 0.3
II: 1.5m 1 1 1 0 0.15
2 1 0 2 0.05
3 0 1 1 0.25
4 0 0 3 0.15
III: 1.8m 1 1 1 1 0
2 0 1 2 0.1
3 0 2 0 0.2
4 0 0 4 0
Cần tìm phương án cắt sao cho tổng số mẫu thép thừa là ít nhất. Lập mô
hình bài toán.
Nhận dạng và đổi dạng
Trong các bài toán từ 1 đến 5 dưới đây:
1)
(1) f ( x ) → min
 2 x1 + x2 + 3x3 + 4 x5 = 17
( 2) 
4 x1 + 2 x3 + x4 + 5 x5 = 20
( 3) x j ≥ 0( j = 1,5)
2)
(1) f ( x ) → max
 x1 + x2 − 2 x3 + x4 + x5 = 32
( 2)  x2 + x3 − 2 x4 = 16
 x + x − 2 x + x = 32
 1 2 3 4
( 3) x1, x3 ≤ 0; x2 ≥ 0; x4 , x5 tu  y y′

- 13 -
3)
(1) f ( x ) → min
 2 x1 + x2 + 3x3 + 4 x5 = 17
( 2) 4 x1 + 2 x3 + x4 + 5 x5 = 20
 − 2x + 4x + x = 6
 1 5 6
( 3) x j ≥ 0 ( j = 1,6)
4)
(1) f ( x ) → max
 x1 − x2 − 2 x3 ≤ 5
( 2)  x1 + 2 x2 + x3 + x4 = 15
 2 x + x + 3x ≥ 8
 1 2 3
( 3) x j ≥ 0 ( j = 1,4)
5)
(1) f ( x ) → min
 x1 − 2 x2 − 2 x3 = −7
( 2)  x2 + 2 x3 + x4 ≤ 15
 2 x + 3x + x ≥ 8
 1 3 4
( 3) x j ≥ 0 ( j = 1,4)
a) Những bài toán nào đã có dạng chính tắc.
b) Những bài toán nào đã có dạng chuẩn? Ẩn cơ bản là những ẩn nào?
Thứ tự của nó thế nào?Hãy tìm phương án cơ bản ban đầu của nó.
c) Những bài toán nào chưa có dạng chuẩn hãy đưa về dạng chuẩn sau
đó cho biết ẩn nào là ẩn cơ bản, ẩn cơ bản ấy là ẩn gì?( ẩn chính , ẩn
phụ, ẩn giả) thứ tự của nó thế nào? Phương án cơ bản ban đầu của bài
toán dạng chuẩn này thế nào.

- 14 -
CHƯƠNG II: PHƯƠNG PHÁP ĐƠN HÌNH

§1 THUẬT TOÁN ĐƠN HÌNH


I. Trường hợp f ( x ) → min ( gồm 5 bước)
Bước 1: Lập bảng ban đầu
Ẩn Phương c1 c2 cr cm cm +1  cv  cn
Hệ cơ án
x1 x2 xr xm xm +1  xv  xn

c1 x1 b1 1 0  0  0 a1( m +1)  a1v  a1n λ1


c2 x2 b2 0 1  0  0 a2( m +1)  a 2v  a2 n λ2

cr xr br 0 0  1  0 a3( m +1)  arv  arn λr

cm xm bm 0 0  0  1 am( m +1)  amv  amn


f ( x) f0 ∆1 ∆2 ∆r ∆ m ∆ m +1  ∆ v  ∆ n
m m
Trong đó f 0 = ∑ ci bi & ∆ j = ∑ ci aij − c j
i =1 i =1
Bước 2: Kiểm tra tính tối ưu
a) Nếu ∆ j ≤ 0 ∀j thì phương án đang xét là tối ưu và giá trị hàm mục
tiêu tương ứng là f ( x ) = f 0
b) Nếu ∃∆ j > 0 ( )
ma  aij ≤ 0 i = 1, m thì bài toán không có phương
án tối ưu
Nếu cả 2 trường hợp trên không xảy ra thì chuyển sang bước 3
Bước 3: Tìm ẩn đưa vào:
Nếu ∆ v = max ∆ j thi xv được chọn đưa vào.
j
Bước 4: Tìm ẩn đưa ra:
b
λi = i with aiv > 0
aiv
If λr = min λi then xr out
i

- 15 -
Bước 5:Biến đổi bảng(dùng phương pháp khử Gauss-Jordan)
1. Thay xr bằng xv . Các ẩn cơ bản khác và các hệ số tương ứng giữ
nguyên.
2. hàng chuẩn=hàng đưa ra( xr )/ arv .
3. hàng i(mới)= − aiv × hàng chuẩn+ hàng i(cũ).
4. hàng cuối (mới)= − ∆ v × hàng chuẩn+ hàng cuối(cũ).
II. Trường hợp f ( x ) → max
Đặt g ( x ) = − f ( x ) → min . Vậy ta đã chuyển về bài toán Hàm mục tiêu cực
tiểu và do đó ta hoàn toàn có thể áp dụng kết quả của bài toán min.
Ví dụ:
Giải bài toán QHTT:
(1) f ( x ) = 2 x1 + 5 x2 + 4 x3 + x4 − x5 → min
 x1 − 6 x2 − 2 x4 − 9 x5 = 32

( 2) 2 x2 + x3 + 1 x4 + 3 x5 = 30
 2 2
 3 x 2 + x5 ≤ 36
( 3) x j ≥ 0; j = 1,5
→ s tan dard form
(1) f ( x ) = 2 x1 + 5 x2 + 4 x3 + x4 − x5 + 0.x6 → min
 x1 − 6 x2 − 2 x4 − 9 x5 = 32

( 2) 2 x2 + x3 + 1 x4 + 3 x5 = 30
 2 2
 3 x 2 + x5 + x 6 = 36
( 3) x j ≥ 0; j = 1,6
1 − 6 0 − 2 − 9 0
 1 3 
A = 0 2 1 0
2 2
0 3 0 0 1 1

- 16 -
Bảng đơn hình:
Hệ số Ẩn cơ Phương 2 5 4 1 -5 0
bản án
x1 x2 x3 x4 x5 x6

2 x1 32 1 -6 0 -2 -9 0
4 x3 30 0 2 1 ½ 3/2 0
0 x6 36 0 3 0 0 1 1
f ( x) 184 0 -9 0 -3 -7 0
∆ j ≤ 0, ∀j ⇒ phương án tối ưu là ( x1 , x2 , x3 , x4 , x5 ) = ( 32,0,30,0,0 )
Ví dụ:
(1) f ( x ) = 6 x1 + x2 + x3 + 3x4 + x5 − 7 x6 + 7 → min
 − x1 + x2 − x4 + x6 = 15
( 2)  2 x1 − x3 + 2 x6 = −9
4 x + 2 x + x − 3 x = 2
 1 4 5 6
( 3) x j ≥ 0; j = 1,6
→ s tan dard form
(1) f ( x ) = 6 x1 + x2 + x3 + 3x4 + x5 − 7 x6 + 7 → min
 − x1 + x2 − x4 + x6 = 15
( 2)  − 2 x1 + x3 − 2 x6 = 9
4 x + 2 x + x − 3 x = 2
 1 4 5 6
( 3) x j ≥ 0; j = 1,6
−1 1 0 −1 0 1 
A = − 2 0 1 0 0 − 2 
 
 4 0 0 2 1 − 3

- 17 -
Bảng đơn hình:
Hệ số Ẩn cơ Phương 6 1 1 3 1 -7
bản án
x1 x2 x3 x4 x5 x6

1 x2 15 -1 1 0 -1 0 (1)
1 x3 9 -2 0 1 0 0 -2
1 x5 2 4 0 0 2 1 -3
f ( x) 26+7 ∆1 ∆2 ∆3 ∆4 ∆5 ∆6
-5 0 0 -2 0 (3)
-7 x6 15 -1 1 0 -1 0 1
1 x3 39 -4 2 1 -2 0 0
1 x5 47 1 3 0 -1 1 0
f ( x) -19+7 -2 -3 0 (1) 0 0
Ở phương án cơ bản ban đầu:
max ∆ j = ∆ 6 = 3 ⇒ x6 ( in )
arv = 1 ⇒ x2 ( out )
Ở phương án thứ 2
max ∆ j = ∆ 4 = 1but ai 4 < 0, { − 1,−2,−1} ⇒ bài toán không có phương án tối
ưu.

- 18 -
Ví dụ:
(1) f ( x ) = −2 x1 + 6 x2 + 4 x3 − 2 x4 + 3x5 → max
 x1 + 2 x2 + x3 = 52
( 2) 4 x2 + 2 x3 + x4 = 60
 3x + x = 36
 2 5
( 3) x j ≥ 0; j = 1,5
→ s tan dard form
(1) g ( x) = − f ( x ) = 2 x1 − 6 x2 − 4 x3 + 2 x4 − 3x5 → min
 x1 + 2 x2 + 4 x3 = 52
( 2) 4 x2 + 2 x3 + x4 = 60
 3x + x = 36
 2 5
( 3) x j ≥ 0; j = 1,5
1 2 4 0 0 
A = 0 4 2 1 0 
 
0 3 0 0 1
Bảng đơn hình:
Hệ số Ẩn cơ Phương 2 -6 -4 2 -3
bản án
x1 x2 x3 x4 x5

2 x1 52 1 2 (4) 0 0
2 x4 60 0 4 2 1 0
-3 x5 36 0 3 0 0 1
g ( x) 116 ∆1 ∆2 ∆3 ∆4 ∆5
0 9 (16) 0 0
x3 13 1/4 1/2 1 0 0
x4 34 -1/2 (3) 0 1 0
x5 36 0 3 0 0 1
g ( x) -92 -4 (1) 0 0 0
x3 22/3 1/3 0 1 -1/6 0
x2 34/3 -1/6 1 0 1/3 0
x5 2 1/2 0 0 -1 1
g ( x) -310/3 -23/6 0 0 -1/3 0
- 19 -
Ở phương án cơ bản ban đầu:
max ∆ j = ∆3 =16 ⇒ x3 ( in )
52
min λi = λ1 = =13
4
arv = 4 ⇒ x1 ( out )
Ở phương án thứ 2
max ∆ j = ∆ 2 = 1 ⇒ x2 ( in )
34
min λi = λ2 =
3
arv = 3 ⇒ x4 ( out )
Phương án cuối cùng: ∆ j ≤ 0, ∀j ⇒ ta có phương án tối ưu là:

( x1, x2 , x3 , x4 , x5 ) =  0, 34 , 22 ,0,2 
 3 3 
310
Giá trị của phương án: f 0 = − g 0 =
3

- 20 -
§2 THUẬT TOÁN ĐƠN HÌNH MỞ RỘNG
I. Chú ý trong thuật toán đơn hình mở rộng
Nếu gặp bài toán dạng chính tắc chưa phải dạng chuẩn ta dùng ẩn giả để đưa
bài toán về dạng chuẩn.
1. Nếu bài toán mở rộng không có phương án tối ưu thì bài toán xuất
phát cũng không có phương án tối ưu.
2. Nếu bài toán mở rộng có phương án tối ưu mà các ẩn giả đều bằng 0,
thì bỏ phần ẩn giả đi ta còn phương án tối ưu của bài toán xuất phát.
3. Nếu bài toán mở rộng có phương án tối ưu mà trong đó còn ít nhất 1
ẩn giả > 0, thì bài toán xuất phát không có phương án tối ưu.
Ví dụ:
(1) f ( x ) = x1 + 2 x2 + x4 _ 5 x5 → min
 0 0 − 3 − 9 0 
 − 3x3 − 9 x4 = 0  

( 2)  x2 − 7 x3 − 5 x4 − 2 x5 = 5 , A = 0 1 − 7 − 5 − 2
 1 2 4 1 2  1 2 4 1 
− + + + =  1 −
5 
x x x
 1 3 2 3 3 3 4 5 5 3 x x
 3 3 3
( 3) x j ≥ 0; j = 1,5
→ s tan dard form
(1) f ( x ) = x1 + 2 x2 + x4 _ 5 x5 + Mx6 + Mx7 → min

 − 3x3 − 9 x4 + x6 = 0

( 2)  x2 − 7 x3 − 5 x4 − 2 x5 + x7 = 5
 1 2 4 1 2
 x1 − 3 x2 + 3 x3 + 3 x4 + 3 x5 = 3
( 3) x j ≥ 0; j = 1,7
 
0 0 − 3 − 9 0 1 0
A = 0 1 − 7 − 5 − 2 0 1
 1 2 4 1 
1 − 3 3 3 5
0 0

- 21 -
Bảng đơn hình:
Hệ số Ẩn cơ Phương 1 2 0 1 -5
bản án
x1 x2 x3 x4 x5

M x6 0 0 0 -3 -9 0
M x7 5 0 (1) -7 -5 -2
1 x1 2/3 1 -1/3 2/3 4/3 1/3
∆1 ∆2 ∆3 ∆4 ∆5
f ( x ) 5M+2/3 0 (-7/3+M) 2/3-10M 1/3-14M 16/3-2M
x6 0 0 0 -3 -9 0
x2 5 0 1 -7 -5 -2
x1 7/3 1 0 -5/3 -1/3 -1/3
f ( x) 37/3 0 0 -47/3-3M -34/3-9M 2/3
Ở phương án cơ bản ban đầu:
7
max ∆ j = ∆ 2 = − + M ⇒ x2 ( in )
3
5
min λi = λ2 =
1
arv = 1 ⇒ x7 ( out )
Ở phương án thứ 2
2  1
max ∆ j = ∆ 5 = > 0 but ai5 = 0,−2,− ( ≤ 0 ) ⇒ bài toán không có
3  3
phương án tối ưu

- 22 -
Ví dụ:
(1) f ( x ) = −16 x1 + 7 x2 + 9 x3 → min
 2 1 1  2 1 
− x1 − x2 + x3 = − − 1
( 2)  3 3 3⇒ 3 3 
 − 5 x1 + 5 x2 = 7 − 5 5 0

( 3) x j ≥ 0; j = 1,3
→ s tan dard form
(1) f ( x ) = −16 x1 + 7 x2 + 9 x3 + Mx4 → min
 2 1 1
− x1 − x2 + x3 =
( 2)  3 3 3
 − 5 x1 + 5 x2 + x4 = 7
( 3) x j ≥ 0; j = 1,4
 2 1 0
 − − 1 
A= 3 3
− 5 5 0 1
 
Bảng đơn hình:
Hệ số Ẩn cơ Phương -16 7 9
bản án
x1 x2 x3

9 x3 1/3 -2/3 -1/3 1


M x4 7 -5 (5) 0

∆1 ∆2 ∆3
f ( x) 7M+3 10-5M (-10+5M) 0
x3 12/15 -1 0 1
x2 7/5 -1 1 0

f ( x) 17 0 0 0
Ở phương án cơ bản ban đầu:
max ∆ j = ∆ 2 = −10 + 5M ⇒ x2 ( in )
7
min λi = λ2 =
5
arv = 5 ⇒ x4 ( out )

- 23 -
Phương án cuối cùng: ∆ j ≤ 0, ∀j ⇒ ta có phương án tối ưu là:

( x1, x2 , x3 ) =  0, 7 , 12 
 5 15 
Giá trị của phương án: f 0 = 17
Ví dụ:
(1) f ( x ) = 2 x1 + 4 x2 − 2 x3 → min
 x1 − 2 x2 + x3 = 27
( 2) 2 x1 + x2 + 2 x3 = 50
 x − x − x ≤ 18
 1 2 3
( 3) x j ≥ 0; j = 1,3
→ s tan dard form
(1) f ( x ) = 2 x1 + 4 x2 − 2 x3 + 0.x4 → min
 x1 − 2 x2 + x3 = 27
( 2)  2 x1 + x2 + 2 x3 = 50
 x − x − x + x = 18
 1 2 3 4
( 3) x j ≥ 0; j = 1,4
1 − 2 1 0 
A = 2 1 2 0
 
1 − 1 − 1 1
→ s tan dard form
(1) f ( x ) = 2 x1 + 4 x2 − 2 x3 + 0.x4 + Mx5 + Mx6 → min
 x1 − 2 x2 + x3 + x5 = 27
( 2) 2 x1 + x2 + 2 x3 + x6 = 50
 x − x − x + x = 18
 1 2 3 4
( 3) x j ≥ 0; j = 1,6
1 − 2 1 0 1 0
A = 2 1 2 0 0 1
 
1 − 1 − 1 1 0 0

- 24 -
Bảng đơn hình:
Hệ số Ẩn cơ Phương 1 2 0 1
bản án
x1 x2 x3 x4

M x5 27 1 -2 1 0
M x6 50 2 1 (2) 0
0 x4 18 1 -1 -1 1
∆1 ∆2 ∆3 ∆4
f ( x) 77M -2+3M -4-M (2+3M) 0
x5 2 0 -5/2 0 0
x3 25 1 1/2 1 0
x4 43 2 -1/2 0 1
f ( x ) -50+2M -4 -5-5M/2 0 0
Ở phương án cơ bản ban đầu:
max ∆ j = ∆ 3 = 2 + 3M ⇒ x3 ( in )
min λi = λ2 = 25
arv = 2 ⇒ x6 ( out )
Ở phương án thứ 2
∀∆ j ≤ 0 but x5 = 2 > 0 ⇒ bài toán xuất phát không có phương án tối ưu.

- 25 -
BÀI TẬP
Bài 1
(1) f ( x ) = 2 x1 − x2 + 2 x3 → min
 x1 + 4 x3 = 7 1 0 4 
( 2)  ⇒ A= 
 x2 + x3 = 10 0 1 1 
( 3) x j ≥ 0; j = 1,3
→ s tan dard form
Bảng đơn hình:
Hệ số Ẩn cơ Phương 2 -1 2
bản án
x1 x2 x3

2 x1 7 1 0 (4)
-1 x2 10 0 1 1

∆1 ∆2 ∆3
f ( x) 4 0 0 (5)
x3 7/4 1/4 0 1
x2 33/4 -1/4 1 0

f ( x) -19/4 -5/4 0 0
Phương án cuối cùng: ∆ j ≤ 0, ∀j ⇒ ta có phương án tối ưu là:

( x1, x2 , x3 ) =  0, 33 , 7 
 4 4
19
Giá trị của phương án: f 0 = −
4

- 26 -
Bài 2
(1) f ( x ) = 4 x1 + x2 − 2 x3 → max
 x2 + x3 = 8 0 1 1 
( 2)  ⇒ A= 
 x1 − x2 = 5 1 − 1 0
( 3) x j ≥ 0; j = 1,3
→ s tan dard form
(1) g ( x ) = − f ( x ) = −4 x1 − x2 + 2 x3 → min
Bảng đơn hình:
Hệ số Ẩn cơ Phương -4 -1 2
bản án
x1 x2 x3

2 x3 8 0 (1) 1
-4 x1 5 1 -1 0

∆1 ∆2 ∆3
g ( x) -4 0 (7) 0
x2 8 0 1 1
x1 13 1 0 1

g ( x) -60 0 0 -7
Phương án cuối cùng: ∆ j ≤ 0, ∀j ⇒ ta có phương án tối ưu là:
( x1, x2 , x3 ) = (13,8,0)
Giá trị của phương án: f 0 = − g 0 = 60

- 27 -
Bài 3
(1) f ( x ) = x1 − 2 x2 + x3 → min
 x + 2 x2 + x3 ≤ 12
( 2)  1
2 x1 + x2 − x3 ≤ 10
( 3) x j ≥ 0; j = 1,3
→ s tan dard form
(1) f ( x ) = x1 − 2 x2 + x3 + 0 x4 + 0 x5 → min
 x1 + 2 x2 + x3 + x4 = 12
( 2) 
 2 x1 + x2 − x3 + x5 = 10
( 3) x j ≥ 0; j = 1,5
1 2 1 1 0 
A= 
2 1 − 1 0 1 
Bảng đơn hình:
Hệ số Ẩn cơ Phương 1 -2 1 0 0
bản án
x1 x2 x3 x4 x5

0 x4 12 1 2 1 1 0
0 x5 10 2 1 -1 0 1

∆1 ∆2 ∆3 ∆4 ∆5
f ( x) 0 -1 2 -1 0 0
x2 6 1/2 1 1/2 1/2 0
x5 4 3/2 0 -3/2 -1/2 1

f ( x) -12 -2 0 -2 -1 0
Phương án cuối cùng: ∆ j ≤ 0, ∀j ⇒ ta có phương án tối ưu là:
( x1, x2 , x3 ) = ( 0,6,0)
Giá trị của phương án: f 0 = −12

- 28 -
Bài 4
(1) f ( x ) = x1 + 2 x2 − x3 → max
− x + 2 x2 + 3x3 ≤ 10
( 2)  1
 x1 + 3 x2 + x3 ≥ 5
( 3) x j ≥ 0; j = 1,3
→ s tan dard form
(1) g ( x ) = − f ( x ) = − x1 − 2 x2 + x3 + 0 x4 + 0 x5 → min
− x + 2 x2 + 3x3 + x4 = 10
( 2)  1
 x1 + 3x2 + x3 − x5 = 5
− 1 2 3 1 0 
( 3) x j ≥ 0; j = 1,5, A= 
 1 3 1 0 − 1
→ s tan dard form
(1) g ( x ) = − f ( x ) = − x1 − 2 x2 + x3 + 0 x4 + 0 x5 + Mx6 → min
 − x + 2 x2 + 3x3 + x4 = 10
( 2)  1
 x1 + 3x2 + x3 − x5 + x6 = 5
− 1 2 3 1 0 0
( 3) x j ≥ 0; j = 1,6 A=
 1 3 1 0 −1 1

- 29 -
Bảng đơn hình:
Hệ số Ẩn cơ Phương -1 -2 1 0 0
bản án
x1 x2 x3 x4 x5

0 x4 10 -1 2 3 1 0
M x6 5 1 (3) 1 0 -1

∆1 ∆2 ∆3 ∆4 ∆5
g ( x) 5M M+1 (3M+2) M-1 0 -M
x4 20/3 -5/3 0 7/3 1 (2/3)
x2 5/3 1/3 1 1/3 0 -1/3

g ( x) -10/3 1/3 0 -5/3 0 (2/3)


x5 10 -5/2 0 7/2 3/2 1
x2 5 -1/2 1 3/2 1/2 0

g ( x) -10 2 0 -4 -1 0
 5 1
Phương án cuối cùng: ∃∆1 = 2 > 0, but ai1 = − ;−  ( ≤ 0) ⇒ Bài toán
 2 2
xuất phát không có phương án tối ưu.
Bài 5

- 30 -
(1) f ( x ) = 3x1 + x2 − 3x3 → max
 x1 + 2 x2 − x3 = 2 1 2 − 1

( 2)  − 10 x2 + 5 x3 = 5 ⇒ A = 0 − 10 5 

 − 3x + 2 x = 4 0 − 3 2 
 2 3
( 3) x j ≥ 0; j = 1,3
→ s tan dard form
(1) g ( x ) = − f ( x ) = −3x1 − x2 + 3x3 + Mx4 + Mx5 → min
 x1 + 2 x2 − x3 = 2
( 2) − 10 x2 + 5 x3 + x4 = 5
 − 3x + 2 x + x = 4
 2 3 5
1 2 − 1 0 0
( 3) x j ≥ 0; j = 1,5 ⇒ A = 0 − 10 5 1 0

0 − 3 2 0 1
Bảng đơn hình:
Hệ số Ẩn cơ Phương -3 -1 3
bản án
x1 x2 x3

-3 x1 2 1 2 -1
M x4 5 0 -10 (5)
M x5 4 0 -3 2

∆1 ∆2 ∆3
g ( x) 9M-6 0 -13M-5 (7M)
x1 3 1 0 0
x3 1 0 -2 1
x5 2 0 (1) 0
g ( x) 2M-6 0 (M-5) 0
x1 3 1 0 0
x3 5 0 0 1
x2 2 0 1 0
g ( x) 4 0 0 0
Phương án cuối cùng: ∆ j ≤ 0, ∀j ⇒ ta có phương án tối ưu là:
( x1, x2 , x3 ) = ( 3,2,5) , Giá trị của phương án: f 0 = − g ( x ) = −4
- 31 -
Bài 6

- 32 -
(1) f ( x ) = 2 x1 + x2 − x3 → min
 − 4 − 1 2
− 4 x1 − x2 + 2 x3 − x4 = 12  − 1 0

( 2) − 2 x1 + 2 x2 − x3 + x5 = 10 ⇒ A = − 2 2 − 1 0 1
 1  1 
x − 2 x − x = 23  1 − 2 − 0 0
 1 2
2
3  2 
( 3) x j ≥ 0; j = 1,5
→ s tan dard form
(1) f ( x ) = 2 x1 + x2 − x3 + Mx6 + Mx7 → min

− 4 x1 − x2 + 2 x3 − x4 + x6 = 12
( 2)  − 2 x1 + 2 x2 − x3 + x5 = 10
 1
 x1 − 2 x2 − 2 x3 + x7 = 23
− 4 − 1 2 − 1 0 1 0

( 3) x j ≥ 0; j = 1,7 ⇒ A = − 2 2 − 1 0 1 0 0
 1 
 1 − 2 − 2 0 0 0 1

Bảng đơn hình:
Hệ Ẩn cơ Phương 2 1 -1 0 0
số bản án
x1 x2 x3 x4 x5

M x6 12 -4 -1 (2) -1 1
0 x5 10 -2 2 -1 0 0
M x7 23 1 -2 -1/2 0 0
∆1 ∆2 ∆3 ∆4 ∆5
f ( x) 35M -3M-2 -3M-1 (3M/2 -M 0
+1)
x3 6 -2 -1/2 1 -1/2 0
x5 16 -4 3/2 0 -1/2 1
x7 26 0 -9/4 0 -1/4 0
f ( x) 26M-6 0 (-9M/4-1/2) 0 -M/4+1/2 0
Phương án cuối cùng: ∆ j ≤ 0, ∀j but x7 = 26 > 0 ⇒ Bài toán gốc không có
phương án tối ưu.

- 33 -
Bài toán 7
(1) f ( x ) = x4 + x5 + 20 → max
 x2 + 2 x4 + 3x5 = 7 0 1 0 2 3

( 2)  x3 − x4 − 3x5 = 2 ⇒ A = 0 0 1 − 1 − 3

 x +x +x =2 1 0 0 1 1 
 1 4 5
( 3) x j ≥ 0; j = 1,5
→ s tan dard form
(1) g ( x ) = − f ( x ) = − x4 − x5 − 20 → min
 x2 + 2 x4 + 3x5 = 7
( 2)  x3 − x4 − 3x5 = 2
 x +x +x =2
 1 4 5
( 3) x j ≥ 0; j = 1,5
Bảng đơn hình:
Hệ Ẩn cơ Phương 0 0 0 -1 -1
số bản án
x1 x2 x3 x4 x5

0 x2 7 0 1 0 2 3
0 x3 2 0 0 1 -1 -3
0 x1 2 1 0 0 (1) 1
∆1 ∆2 ∆3 ∆4 ∆5
g ( x) -20 0 0 0 (1) 1
x2 3 -2 1 0 0 1
x3 4 1 0 1 0 -2
x4 2 1 0 0 1 1
g ( x) -22 -1 0 0 0 0
Phương án cuối cùng: ∆ j ≤ 0, ∀j ⇒ ta có phương án tối ưu là:
( x1, x2 , x3 , x4 , x5 ) = ( 0,3,4,2,0) , Giá trị của phương án: f 0 = − g 0 = 22

- 34 -
Bài 8
(1) f ( x ) = x1 + 2 x2 − x3 → max
4 x1 + 4 x2 + 2 x3 ≥ −6 − 4 x1 − 4 x2 − 2 x3 ≤ 6
( 2)  x1 + x2 + 2 x3 ≥ 6 ⇒  x1 + x2 + 2 x3 ≥ 6
 2x − x + 2x = 4  2x − x + 2x = 4
 1 2 3  1 2 3
( 3) x j ≥ 0; j = 1,3
→ s tan dard form
(1) g ( x ) = − f ( x ) = − x1 − 2 x2 + x3 + 0 x4 + 0 x5 → min
− 4 x1 − 4 x2 − 2 x3 + x4 = 6 − 4 − 4 − 2 1 0 
( 2)  x1 + x2 + 2 x3 − x5 = 6 ⇒ A =  1 1 2 0 − 1
 2 x1 − x2 + 2 x3 = 4  2 − 1 2 0 0 

→ s tan dard form
(1) g ( x ) = − f ( x ) = − x1 − 2 x2 + x3 + 0 x4 + 0 x5 + Mx6 + Mx7 → min
 − 4 x1 − 4 x2 − 2 x3 + x4 = 6 − 4 − 4 − 2 1 0 0 0
( 2)  x1 + x2 + 2 x3 − x5 + x6 = 6 ⇒ A =  1 1 2 0 − 1 1 0

 2x − x + 2x + x = 4  2 − 1 2 0 0 0 1
 1 2 3 7
( 3) x j ≥ 0; j = 1,7
Hệ Ẩn cơ Phương -1 -2 1 0 0
số bản án
x1 x2 x3 x4 x5

0 x4 6 -4 -4 -2 1 0
M x6 6 1 1 2 0 -1
M x7 4 2 -1 (2) 0 0
∆1 ∆2 ∆3 ∆4 ∆5
g ( x) 10M 3M+1 -2 (4M-1) 0 -M
x4 10 -2 -5 0 1 0
x6 2 -1 (2) 0 0 -1
x3 2 1 -1/2 1 0 0
g ( x) 2M+2 -M+2 (2M+3/2) 0 0 -M
x4 15 -9/2 0 0 1 -5/2
x2 1 -1/2 1 0 0 -1/2
5/2 3/4 0 1 0 -1/4
- 35 -
x3
g ( x) 1/2 11/4 0 0 0 3/4
3
Phương án cuối cùng: ∆ 5 = > 0, but ai5 ≤ 0 ⇒ Bài toán xuất phát
4
khôngcó phương án tối ưu.
Bài 9
(1) f ( x ) = x1 + 2 x2 + 3x3 + x4 → max
 − x1 + 2 x2 − 3x3 = −15  x1 − 2 x2 + 3x3 = 15 1 − 2 3 0 
( 2)  2 x1 + x2 + 5 x3 = 20 ⇒  2 x1 + x2 + 5 x3 = 20 ⇒ 2 1 5 0
 x + 2 x + x + x = 10  x + 2 x + x + x = 10 1 2 1 1
 1 2 3 4  1 2 3 4  
( 3) x j ≥ 0; j = 1,4
→ s tan dard form
(1) g ( x ) = − f ( x ) = − x1 − 2 x2 − 3x3 − x4 + Mx5 + Mx6 → min
 x1 − 2 x2 + 3x3 + x5 = 15 1 − 2 3 0 1 0

( 2) 2 x1 + x2 + 5 x3 + x6 = 20 ⇒ A = 2 1 5 0 0 1

 x + 2 x + x + x = 10 1 2 1 1 0 0
 1 2 3 4
Bảng đơn hình:
Hệ Ẩn cơ Phương -1 -2 -3 -1
số bản án
x1 x2 x3 x4

M x5 15 1 -2 3 0
M x6 20 2 1 (5) 0
-1 x4 10 1 2 1 1
∆1 ∆2 ∆3 ∆4
g ( x) 35M-10 3M -M (8M+2) 0
x5 3 -1/5 -13/5 0 0
x3 4 2/5 1/5 1 0
x4 6 3/5 9/5 0 1
g ( x) 3M-18 -M/5-4/5 -13M/5-2/5 0 0
Phương án cuối cùng: ∆ j ≤ 0, ∀j but x5 = 3 > 0 ⇒ Bài toán gốc không có
phương án tối ưu.

- 36 -
Bài 10
(1) f ( x ) = −2 x1 + x2 + x4 → min
 x1 + x2 − x3 ≤ 15
( 2)  x1 + x2 + x3 + x4 = 27
 2 x − x − x ≤ 18
 1 2 3
( 3) x j ≥ 0; j = 1,4
→ s tan dard form
(1) f ( x ) = −2 x1 + x2 + x4 + 0 x5 + 0 x6 → min
 x1 + x2 − x3 + x5 = 15 1 1 − 1 0 1 0 

( 2)  x1 + x2 + x3 + x4 = 27 ⇒ 1 1 1 1 0 0
2 x − x − x + x = 18 2 − 1 − 1 0 0 1
 1 2 3 6  
( 3) x j ≥ 0; j = 1,6
Bảng đơn hình:
Hệ Ẩn cơ Phương -2 1 0 1 0 0
số bản án
x1 x2 x3 x4 x5 x6

0 x5 15 1 1 -1 0 1 0
1 x4 27 1 1 1 1 0 0
0 x6 18 (2) -1 -1 0 0 1
∆1 ∆2 ∆3 ∆4 ∆5 ∆6
f ( x) 27 (3) 0 1 0 0 0
x5 6 0 3/2 -1/2 0 1 -1/2
x4 18 0 3/2 (3/2) 1 0 -1/2
x1 9 1 -1/2 -1/2 0 0 1/2
f ( x) 0 0 3/2 (5/2) 0 0 -3/2
x5 12 0 2 0 1/3 1 -2/3
x3 12 0 1 1 2/3 0 -1/3
x1 15 1 0 0 1/3 0 1/3
f ( x) -30 0 -1 0 -5/3 0 -2/3
Phương án cuối cùng: ∆ j ≤ 0, ∀j ⇒ ta có phương án tối ưu là:
( x1, x2 , x3 , x4 ) = (15,0,12,0) , Giá trị của phương án: f 0 = −30

- 37 -
Bài 11
(1) f ( x ) = 2 x1 + 4 x2 + x3 + x4 → max
 x1 + 3 x2 + x4 ≤ 1
( 2)  − 5 x2 − 2 x4 ≤ 3
2 x + 8 x + 2 x ≤ 6
 2 3 4
( 3) x j ≥ 0; j = 1,4
→ s tan dard form
(1) g ( x ) = − f ( x ) = −2 x1 − 4 x2 − x3 − x4 + 0 x5 + 0 x6 + 0 x7 → min
 x1 + 3x2 + x4 + x5 = 1 1 3 0 1 1 0 0
( 2)  − 5 x2 − 2 x4 + x6 = 3 ⇒ 0 − 5 0 − 2 0 1 0

 2 x + 8 x + 2 x + x = 6 0 2 8 2 0 0 1
 2 3 4 7 
( 3) x j ≥ 0; j = 1,7
Bảng đơn hình:
Hệ Ẩn cơ Phương -2 -4 -1 -1 0 0 0
số bản án
x1 x2 x3 x4 x5 x6 x7

-2 x1 1 1 3 0 1 1 0 0
0 x6 3 0 -5 0 -2 0 1 0
0 x7 6 0 2 (8) 2 0 0 1
∆1 ∆2 ∆3 ∆4 ∆5 ∆6 ∆7
g ( x) -2 0 -2 (1) -1 -2 0 0
x1 1 1 3 0 1 1 0 0
x6 3 0 -5 0 -2 0 1 0
x3 3/4 0 1/4 1 1/4 0 0 1/8
g ( x) -11/4 0 -9/4 0 -5/4 -2 0 -1/8
Phương án cuối cùng: ∆ j ≤ 0, ∀j ⇒ ta có phương án tối ưu là:

( x1, x2 , x3 , x4 ) = 1,0, 3 ,0  , Giá trị của phương án: f 0 = − g 0 = 11


 4  4

- 38 -
Bài 12
(1) f ( x ) = −10 x1 − 3x2 + 2 x3 + 2 x4 − 2 x5 − 4 x6 + 5 → min
 x1 + x2 − x3 + x5 + 2 x6 = 2
( 2)  2 x1 + x3 − x4 + 2 x5 + x6 = 3
4 x + 6 x − 6 x + 3x + 4 x = 18
 1 3 4 5 6
( 3) x j ≥ 0; j = 1,6
→ s tan dard form
1 1 − 1 0 1 2 
⇒ 2 0 1 − 1 2 1
 
4 0 6 − 6 3 4
(1) f ( x ) = −10 x1 − 3x2 + 2 x3 + 2 x4 − 2 x5 − 4 x6 + Mx7 + Mx8 + 5 → min
 x1 + x2 − x3 + x5 + 2 x6 = 2 1 1 − 1 0 1 2 0 0

( 2)  2 x1 + x3 − x4 + 2 x5 + x6 + x7 = 3 ⇒ 2 0 1 − 1 2 1 1 0

4 x + 6 x − 6 x + 3x + 4 x + x = 18 4 0 6 − 6 3 4 0 1
 1 3 4 5 6 8 
( 3) x j ≥ 0; j = 1,8
Bảng đơn hình:
Hệ Ẩn cơ Phương -10 -3 2 2 -2 -4
số bản án
x1 x2 x3 x4 x5 x6

-3 x2 2 1 1 -1 0 1 2
M x7 3 2 0 (1) -1 2 1
M x8 18 4 0 6 -6 3 4
∆1 ∆2 ∆3 ∆4 ∆5 ∆6
g ( x) 21M-1 6M+7 0 (7M+1) -7M-2 5M-1 5M-2
x2 5 3 1 0 -1 3 3
x3 3 2 0 1 -1 2 1
x8 0 -8 0 0 0 -9 -2
g ( x) -4 -8M+5 0 0 -1 -9M-3 -2M-3
Phương án cuối cùng: ∆ j ≤ 0, ∀j ⇒ ta có phương án tối ưu là:
( x1, x2 , x3 , x4 , x5 , x6 ) = ( 0,5,3,0,0,0) , Giá trị của phương án: f 0 = −4

- 39 -
Bài 13
Giải bài toán QHTT:
(1) f ( x ) = 10 x1 + 3x2 − 2 x3 − x4 + 2 x5 + 4 x6 + 2 → max
 x1 + x2 − x3 + x5 + 2 x6 = 2
( 2)  2 x1 + x3 − x4 + 2 x5 + x6 = 3
4 x + 6 x − 6 x + 3x + 4 x = 18
 1 3 4 5 6
( 3) x j ≥ 0; j = 1,6
Bài 14
Giải bài toán QHTT:
(1) f ( x ) = 2 x1 + x2 − x3 + x4 → min
 x1 + x2 − x3 − 2 x4 = 2
( 2)  − x2 + 3x3 + 7 x4 ≤ 2
 2 x3 + 3 x4 ≤ 5

( 3) x j ≥ 0; j = 1,4
ĐS : x = ( x1, x2 , x3 , x4 ) = ( 0,2,0,0 )
Bài 15
Giải bài toán QHTT:
(1) f ( x ) = 2 x1 − 3x2 − 4 x3 − x4 → min
3x1 + x2 + 2 x3 + 4 x4 = 2
( 2)  2 x1 − x3 + 3x4 ≥ 1
 x − 4x + 2x ≤ 4
 1 3 4
( 3) x j ≥ 0; j = 1,4
 2 1
ĐS : x = ( x1, x2 , x3 , x4 ) =  0, ,0, 
 3 3
Bài 16
Giải bài toán QHTT:
(1) f ( x ) = 3x1 + 2 x2 + x3 → min
 − x1 + x2 + 2 x3 = 6
( 2)  x1 + 2 x2 − x3 ≤ 5
3x − x + 2 x = 14
 1 2 3
( 3) x j ≥ 0; j = 1,3
ĐS : x = ( x1, x2 , x3 ) = ( 2,0,4)
- 40 -
Bài 17
Giải bài toán QHTT:
(1) f ( x ) = 4 x1 − 3x2 − 2 x3 − x4 → min
6 x1 − 2 x2 + 3x3 + x4 = 57
( 2)  x1 + 3x2 + 2 x3 ≤ 16
 2 x + x − 4 x = 12
 1 2 3
( 3) x j ≥ 0; j = 1,4
Bài 18
Giải bài toán QHTT:
(1) f ( x ) = 2 x1 − 2 x2 − x3 + x4 → min
3x1 + 2 x2 + 4 x3 + x4 = 8
( 2)  2 x1 − 3x2 + x3 ≥ −5
 x1 + x2 − x3 ≤ 12

( 3) x j ≥ 0; j = 1,4
ĐS : x = ( x1, x2 , x3 , x4 ) = ( 0,2,1,0)
Bài 19
Giải bài toán QHTT:
(1) f ( x ) = 2 x1 − 10 x2 + 4 x3 − 6 x4 → max
 3 x1 − x2 + 2 x4 ≤ 16
( 2)  x1 + 2 x2 + x3 − 2 x4 ≥ −4
 x2 + 3 x3 − x4 ≥ 0

( 3) x j ≥ 0; j = 1,4
ĐS : no PATU
Bài 20
Giải bài toán QHTT:
(1) f ( x ) = − x1 − 2 x2 + x3 → min
− x1 + 4 x2 − 2 x3 ≤ 6
( 2)  x1 + x2 + 2 x3 ≥ 6
 2x − x + 2x = 4
 1 2 3
( 3) x j ≥ 0; j = 1,3
 14 12 2 
ĐS : x = ( x1, x2 , x3 ) =  , , 
 5 5 5
- 41 -
CHƯƠNG III: BÀI TOÁN ĐỐI NGẪU

§1 KHÁI NIỆM
I. Bài toán đối ngẫu( D) của bài toán gốc ( P)dạng chính tắc:
(1) f ( x ) = c1x1 + c2 x2 + c3 x3 → min A =  a11 a12 a13 
 a11x1 + a12 x2 + a13 x3 = b1 a21 a22 a23 
(P) ( 2 ) a x + a x + a x = b ⇒  a11 a21 
 21 1 22 2 23 3 2
⇒ AT = a12 a22 
(
( 3) x j ≥ 0 j = 1,3 )  
 a13 a23 

(1) g ( y ) = b1 y1 + b2 y2 → max
 a11 y1 + a21 y 2 ≤ c1

(D) ( 2 ) a12 y1 + a22 y 2 ≤ c2
 a y + a3 y ≤ c
 13 1 2 3
( 3) y j ( j = 1,2) tu  y y′
Nhận xét:
1. hàm mục tiêu Pf ( x ) → min thì hàm mục tiêu của Dg ( y ) → max và
ngược lại.
2. 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.
3. các hệ số ci & bi ở 2 bài toán đổi ngược cho nhau.
4. ma trận các hệ số ràng buộc ở 2 bài toán là chuyển vị của nhau.
II. Quy tắc lập bài toán đối ngẫu( Dual problem)
Bài toán P(D) Bài toán D(P)
n m
f ( x) = ∑ c j x j → min g( y) = ∑ bi y i → max
j =1 i =1

n ≤ bi   ≤0 
   
Ràng buộc thứ i: ∑ aij x j ≥ bi  Ẩn thứ i: yi  ≥ 0 
j =1 = bi  tu  y y ′
Cùng chiều Cùng chiều
 ≥0  ≤ c j 
  m  
Ẩn thứ j: x j  ≤ 0  Ràng buộc thứ j: ∑ aij yi ≥ c j 
tu  y y ′ i =1 = c j 
 
Ngược chiều Ngược chiều
- 42 -
Ví dụ: Tìm bài toán đối ngẫu của bài toán
(1) f ( x ) = 2 x1 + 3x2 − x3 + x4 → max
 2 x1 − x2 − x3 + x4 ≤ 5 (1)
( 2)  x1 + x2 + 2 x3 + x4 = 7 ( 2)
5 x + x + 3 x + x ≥ 20 ( 3)
 1 2 3 4
( 3) x1, x2 ≥ 0, x3 ≤ 0, x4 tu  y y′
2 1 5
2 − 1 − 1 1 
  T − 1 1 1
A= 1 1 2 1 ⇒A = 
  − 1 2 3
5 1 3 1  
1 1 1
( D)
(1) g ( y ) = 5 y1 + 7 y2 + 20 y3 → min
 2 y1 + 1y 2 + 5 y3 ≥ 2
 − y + y + y ≥3
( 2)  1 2 3
− y1 + 2 y2 + 3 y3 ≤ −1
 y1 + y 2 + y3 = 1
( 3) y1 ≥ 0, y2 tu  y y ′, y3 ≤ 0

- 43 -
Ví dụ: Tìm bài toán đối ngẫu của bài toán
(1) f ( x ) = 5 x1 − x2 + 2 x3 + 3x4 − 6 x 5 → min
3x1 − x2 + 2 x3 + 3x4 + 4 x 5 = 80
 x + x + x + x + x ≥ −10
( 2)  1 2 3 4 5
 3x1 − 2 x2 − 2 x3 − x4 + x 5 ≤ 30
 x1 + x3 ≤ 6
( 3) x1 ≤ 0, x2 , x3 ≥ 0, x4 , x5 tu  y y′
3 1 3 1
3 − 1 2 3 4 − 1
1 1  1 − 2 0
1 1 1  
A=  ⇒ AT =  2 1 − 2 1
3 − 2 − 2 − 1 1  
  3 1 − 1 0
1 0 1 0 0
 4 1 1 0
( D)
(1) g ( y ) = 80 y1 − 10 y2 + 30 y3 + 6 y4 → max
3 y1 + y2 + 3 y3 + y4 ≥ 5
 − y + y − 2 y ≤ −1
 1 2 3
( 2) 2 y1 + y2 − 2 y3 + y4 ≤ 3
 3 y1 + y 2 − y3 = 3

 4 y1 + y 2 + y3 = −6
( 3) y1 tu  y y ′, y 2 ≥ 0 y3 , y 4 ≤ 0

- 44 -
§2 QUAN HỆ GIỮA BÀI TOÁN GỐC VÀ BÀI TOÁN ĐỐI
NGẪU
I. Định lý đối ngẫu:
1) Định lý 1: Đối với cặp bài toán đối ngẫu P&D chỉ xảy ra 1 trong các
trường hợp sau:
1. cả 2 đều không có phương án.
2. cả 2 đều có phương án, lúc đó cả 2 có cùng phương án tối ưu và giá trị
2 hàm mục tiêu đối với phương án tối ưu bằng nhau.
3. điều kiện cần và đủ để 2 phương án x 0 ( of P ) & y 0 ( of D ) Tối
( ) ( )
ưu là: f x 0 = g y 0
2) Định lý 2: ( độ lệch bù yếu):
Điều kiện cần và đủ để 2 phương án x 0 ( of P ) & y 0 ( of D ) Tối ưu là:
 0 m 
x 
 j  ∑ ij ia y 0
− c j  = 0 (
j = 1, n)
  i =1 
  n 
 y 0  a x 0 − b  = 0 i = 1, m
 i  ∑ ij j j ( )
  j =1 
II. Tìm nghiệm của bài toán gốc qua nghiệm của bài toán đối ngẫu
Giả sử bài toán đối ngẫu có phương án tối ưu:
(
y 0 = y10 , y 20 , , ym0
)
0
Thứ 1: nếu có yi > 0 ⇒ ∑ aij x j = bi
j

( )
m
Thứ 2: Thay y = y10 , y 20 , , ym
0 0
vào các biểu thức ∑ aij yi0 − c j ( j = 1, n)
i =1
nếu với chỉ số j nào đó biểu thức này khác 0 thì x j = 0
ví dụ:
cho bài toán gốc:
(1) f ( x ) = 2 x1 + 5 x2 + 4 x3 + x 4 − 5 x5 → min
 x1 − 6 x2 − 2 x 4 − 9 x5 = 32

( 2) 2 x2 + x3 + 1 x 4 + 3 x5 = 30
 2 2
 3 x 2 + x5 ≤ 36

(
( 3) x j ≥ 0 j = 1,5 )
- 45 -
Bài toán đối ngẫu là:
(1) g ( y ) = 32 y1 + 30 y2 + 36 y3 → max
 y1 ≤ 2
 − 6 y + 2 y + 3y ≤ 5
 1 2 3
 y2 ≤ 4
( 2)  1
 − 2 y1 + y2 ≤ 1
 2
3
 − 9 y + y + y ≤ −5
 1
2
2 3

( 3) y1, y2 tu  y y ′, y3 ≤ 0
Ta đã biết kết quả bài toán gốc:
phương án tối ưu: x 0 = ( 32,0,30,0,0 ) with ( )
f x 0 = 184 Bây giờ ta tìm
phương án tối ưu của bài toán đối ngẫu:
thứ 1:
x10 = 32 >⇒ y1 = 2

x30 = 30 >⇒ y 2 = 4
Thứ 2: thay x 0 = ( 32,0,30,0,0 ) vào biểu thức 3 x2 + x5 − 36 < 0 ⇒ y3 = 0
( )
Vậy phương án tối ưu là y 0 = ( 2,4,0) & g y 0 = 184
Ví dụ:
Cho bài toán gốc:
(1) f ( x ) = 52 x1 + 60 x2 + 36 x3 → min
 x1 ≥ −2
2 x + 4 x + 3 x ≥ 6
 1 2 3
( 2)  4 x1 + 2 x2 ≥ 4
 x2 ≥ −2

 x3 ≥ 3
( 3) x j tu  y (
y ′ j = 1,3 )
1 0 0
2 3

4
 1 2 4 0 0 
⇒ A = 4 2 0 ⇒ AT = 0 4 2 1 0
 
0 1 0 0 3 0 0 1
0 0 1
- 46 -
Bài toán đối ngẫu là:
(1) g ( y ) = −2 y1 + 6 y2 + 4 y3 − 2 y4 + 3 y5 → max
 y1 + 2 y 2 + 4 y3 = 52
( 2) 4 y2 + 2 y3 + y4 = 60
 3 y + y = 36
 2 5
( 3) yi ≥ 0(i = 1,5)
Kết quả của bài toán đối ngẫu:
 34 22 
y 0 =  0, , ,0,2 , g y 0 =
 3 3 
( ) 310
3
Bây giờ ta tìm kết quả của bài toán gốc:
Thứ 1:
34
y 20 = > 0 ⇒ 2 x1 + 4 x2 + 3x3 = 6
3
 11
x =
2 x1 + 4 x2 + 3x3 = 6 
1
6
22   5
y30 = > 0 ⇒ 4 x1 + 2 x2 = 4 ⇒  4 x1 + 2 x2 = 4 ⇔  x2 = −
3   3
 x3 = 3 x = 3
 3

y50 = 2 > 0 ⇒ x3 = 3
 11 5 
Vậy phương án tối ưu của bài toán gốc: x = ( x1 , x2 , x3 ) =  ,− ,3 
0
6 3 
BÀI TẬP:
1)
(1) f ( x ) = 2 x1 + 4 x2 + x3 + x 4 − 5 x5 → max
 x1 + 3x2 + x 4 ≤ 1
( 2)  − 5 x2 − 2 x 4 ≤ 3
x + 4x + x ≤ 3
 2 3 4
( 3) x j ≥ 0( j = 1,4)
a) Tìm BTĐN của bài toán trên.
b) Giải BT gốc và suy ra kết quả cho BTĐN.

- 47 -
2)
(1) f ( x ) = 27 x1 + 50 x2 + 18 x3 → max
 x1 + 2 x2 + x 3 ≤ 2
( 2) − 2 x1 + x2 − x3 ≤ 4
 x + 2 x − x ≤ −2
 1 2 3
( 3) x1, x2 tu  y
y ′ , x3 ≤ 0
c) Tìm BTĐN của bài toán trên.
d) Giải BTĐN và suy ra kết quả cho BT gốc.
3)
(1) f ( x ) = −2 x1 + x2 + x 4 → min
 x1 + x2 − x 3 ≤ 15
( 2)  x1 + x2 + x 3 + x 4 = 27
 2 x − x − x ≤ 18
 1 2 3
( 3) x j ≥ 0( j = 1,4)
e) Tìm BTĐN của bài toán trên.
f) Giải BT gốc và suy ra kết quả cho BTĐN.
4)
(1) f ( x ) = 2 x1 + 3x2 + 3x3 → max
 x1 + x2 + x 3 ≤ 12
( 2)  x1 + x2 + 2 x 3 ≤ 15
 x + 2 x + 2 x ≤ 20
 1 2 3
( 3) x j ≥ 0( j = 1,3)
g) Tìm BTĐN của bài toán trên.
h) Giải BT gốc và suy ra kết quả cho BTĐN.

BÀI TẬP CÓ LỜI GIẢI

- 48 -
1)
(1) f ( x ) = 2 x1 + 4 x2 + x3 + x 4 → max
 x1 + 3x2 + x 4 ≤ 1 (1)
( 2)  − 5 x2 − 2 x 4 ≤ 3 ( 2)
 2 x + 8 x + 2 x ≤ 6( 3)
 2 3 4
( 3) x j ≥ 0( j = 1,4)
i) Tìm BTĐN của bài toán trên.
j) Giải BT gốc và suy ra kết quả cho BTĐN.
GIẢI:
Bài toán đối ngẫu là:
1 0 0 
1 3 0 1   
  T 3 − 5 2
A= 0 −5 0 −2 ⇒ A =
  0 0 8 
0 2 8 2   
1 − 2 2 
(1) g ( y ) = y1 + 3 y2 + 6 y3 → min
 y1 ≥ 2
3 y − 5 y + 2 y ≥ 4
 1 2 3
( 2)  8y 3 ≥1


 y1 − 2 y 2 + 2 y3 ≥ 1
( 3) y j ≥ 0, ( j = 1,3)
Ta đã biết kết quả bài toán gốc:
0 

3 
phương án tối ưu: x = ( x1 , x2 , x3 , x4 ) = 1,0, ,0  with
4 
( )
f x0 =
11
4
Bây giờ
ta tìm phương án tối ưu của bài toán đối ngẫu:
thứ 1:
x10 = 1 >⇒ y1 = 2
3 1
x30 = >⇒ y3 =
4 8
0  3 
Thứ 2: thay x = 1,0, ,0  vào biểu thức(2)
 4 
− 5 x2 − 2 x4 − 3 = −3 ≠ 0 ⇒ y2 = 0

- 49 -
0  1 0 11
Vậy phương án tối ưu là y =  2,0,  & g y =
 3 4
( )
2)
(1) f ( x ) = −10 x1 − 3x2 + 2 x3 + 2 x4 − 2 x5 − 4 x6 + 5 → min
 x1 + x2 − x3 + x5 + 2 x6 = 2
( 2)  2 x1 + x3 − x4 + 2 x5 + x6 = 3
4 x + 6 x − 6 x + 3x + 4 x = 18
 1 3 4 5 6
( 3) x j ≥ 0; j = 1,6
k) Tìm BTĐN của bài toán trên.
l) Giải BT gốc và suy ra kết quả cho BTĐN.
GIẢI:
Bài toán đối ngẫu là:
1 2 4
1 0 0
1 1 − 1 0 1 2   
− 1 1 6
A = 2 0 1 − 1 2 1 ⇒ AT =  
 
4 0 6 − 6 3 4  0 −1 − 6
1 2 3
 
2 1 4
(1) g ( y ) = 2 y1 + 3 y2 + 18 y3 → max
 y1 + 2 y 2 + 4 y3 ≤ −10
 y1 ≤ −3

 − y + y + 6 y3 ≤ 2
( 2)  1 2
 − y 2 − 6 y3 ≤ 2
 y1 + 2 y 2 + 3 y3 ≤ −2

 2 y1 + y 2 + 4 y3 ≤ −4
( 3) y j tu  y (
y ′ j = 1,3)
Ta đã biết kết quả bài toán gốc:
phương án tối ưu: x 0 = ( x1 , x2 , x3 , x4 , x5 , x6 ) = ( 0,5,3,0,0,0 ) with ( )
f x0 =
11
4
Bây giờ ta tìm phương án tối ưu của bài toán đối ngẫu:
thứ 1:

- 50 -
x20 = 5 > 0 ⇒ y1 = −3

x30 = 3 > 0 ⇒ y 2 + 6 y3 = −1
 y1 = −3

⇒  y3 = a
 y = −6 a − 1
 2
Vậy phương án tối ưu là
( )
y 0 = ( y1, y 2 , y3 ) = ( − 3, a,−6a − 1) , ∀a ∈ R & g y 0 = −4
3)
(1) f ( x ) = x1 + 3x2 + 3x3 → min

 x1 + 2 x2 ≥ 2 (1)
( 2) 3x1 + x2 + x 3 ≥ 4 ( 2)
 1
 x3 ≥ ( 3)
 4
(
( 3) x j ≥ 0 j = 1,3 )
m) Tìm BTĐN của bài toán trên.
n) Giải BTĐN và suy ra kết quả cho gốc.
GIẢI:
Bài toán đối ngẫu là:
1 2 0 
3 1 1  1 3 0 1 
A=  ⇒ AT = 2 1 0 0
0 0 1   
  
0 1 1 1
 1 0 1 
(1) g ( y ) = 2 y1 + 4 y2 + 1 y3 + y4 → max
4
 y1 + 3 y 2 ≤ 1
( 2) 2 y1 + y2 ≤ 3
 y + y ≤3
 2 3
( 3) y j ≥ 0, ( j = 1,3)
Ta biết kết quả bài toán ĐN:
phương án tối ưu: y 0 = ( y1, y 2 , y3 , y4 ) = (1,0,3,0 ) with ( )
g y0 =
11
4
Bây giờ
ta tìm phương án tối ưu của bài toán gốc:
- 51 -
thứ 1:
y10 = 1 > 0 ⇒ x1 + 2 x2 = 2
1
y30 = 3 > 0 ⇒ x3 =
4
Thứ 2: thay y 0 = (1,0,3,0) vào biểu thức(2) 2 y1 + y2 − 3 = −1 ≠ 0 ⇒ x2 = 0
0  1
Vậy phương án tối ưu là x =  2,0,  & f x =
 4
( )
0 11
4

4)
(1) f ( x ) = 3x1 − 7 x2 + x3 − 2 x 4 → max
2 x1 − 3 x2 − x3 + 2 x 4 ≤ 15 (1)

( 2)  2 x1 − 2 x2 + 3x3 ≤ 30 ( 2)
 2 x − 2 x − 3 x + 4 x = 16( 3)
 1 2 3 4
( 3) x j ≥ 0( j = 1,4)
o) Tìm BTĐN của bài toán trên.
p) Giải BT gốc và suy ra kết quả cho BTĐN.
GIẢI:
Bài toán đối ngẫu là:
1 1 1 
1 − 3 − 1 2 − 3 − 2 − 2
A = 1 − 2 3 0 ⇒ AT =  
   − 1 3 − 3
1 − 2 − 3 4  
2 0 4 
(1) g ( y ) =15 y1 + 30 y2 + 16 y3 → min
 2 y1 + 2 y 2 + 2 y3 ≥ 3
− 3 y − 2 y − 2 y ≥ −7
 1 2 3

( 2)  − y1 + 3 y 2 − 3 y3 ≥1



 2 y1 + 4 y3 ≥ −2
( 3) y1, y2 ≥ 0, y3 tu  y y ′
Ta đã biết kết quả bài toán gốc:

- 52 -
0 

1
phương án tối ưu: x = ( x1 , x2 , x3 , x4 ) =  7,0,0,  with
2
( )
f x 0 = 20 Bây giờ

ta tìm phương án tối ưu của bài toán đối ngẫu:


thứ 1:
x10 = 7 > 0 ⇒ 2 y1 + 2 y 2 + 2 y3 = 3
1
x40 = > 0 ⇒ 2 y1 + 4 y3 = −2
2
0  1
Thứ 2: thay x =  7,0,0,  vào biểu thức(2)
 2
2 x1 − 2 x2 + 3x3 − 30 = −16 ≠ 0 ⇒ y 2 = 0
0 

5
2
0
( )
Vậy phương án tối ưu là y =  4,0,−  & g y = 20
5)
(1) f ( x ) = 12 x1 + 9 x2 + 7 x3 + 8 x 4 → min
 3x1 + 2 x2 + x3 + x 4 ≤ 15 (1)
( 2)  x1 + 2 x2 + 2 x3 + 3x4 = 10 ( 2)
 2 x + x + 2 x + x ≥ 12( 3)
 1 2 3 4
( 3) x j ≥ 0( j = 1,4)
q) Tìm BTĐN của bài toán trên.
r) Giải BT gốc và suy ra kết quả cho BTĐN.
GIẢI:
Bài toán đối ngẫu là:
3 1 1
3 2 1 1  
  T 2 2 1
A= 1 2 2 3 ⇒ A =
  1 2 2 
1 1 2 1  
1 3 1 
(1) g ( y ) = 15 y1 + 10 y2 + 12 y3 → max
3 y1 + y 2 + 2 y3 ≤ 12
 2y + 2y + y ≤ 9
 1 2 3
( 2)  y1 + 2 y2 + 2 y3 ≤ 7


 y1 + 3 y 2 + y3 ≤ 8
( 3) y1 ≤ 0, y2 tu  y y ′ , y3 ≥ 0
- 53 -
Ta đã biết kết quả bài toán gốc:
phương án tối ưu: x 0 = ( x1 , x2 , x3 , x4 ) = ( 2,0,4,0) with ( )
f x 0 = 52 Bây giờ
ta tìm phương án tối ưu của bài toán đối ngẫu:
thứ 1:
x10 = 2 > 0 ⇒ 3 y1 + y 2 + 2 y3 = 12

x30 = 4 > 0 ⇒ y1 + 2 y 2 + 2 y3 = 7
Thứ 2: thay x 0 = ( 2,0,4,0 ) vào biểu thức(1)
3 x1 + 2 x2 + x3 + x4 − 15 = −5 ≠ 0 ⇒ y1 = 0
0 

17 
2
0
Vậy phương án tối ưu là y =  0,−5,  & g y = 52 ( )

- 54 -
6)
(1) f ( x ) = 4 x1 + 3x2 + 3x3 → max
 x1 + 2 x2 + x3 ≤ 40 (1)
( 2)  x1 + x2 + 2 x3 ≤ 60 ( 2)
 x1 ≤ 20( 3)

( 3) x j ≥ 0( j = 1,3)
s) Tìm BTĐN của bài toán trên.
t) Giải BT gốc và suy ra kết quả cho BTĐN.
GIẢI:
Bài toán đối ngẫu là:
1 2 1  1 1 1 
A = 1 1 2 ⇒ AT = 2 1 0
   
1 0 0 1 2 0
(1) g ( y ) = 40 y1 + 60 y2 + 20 y3 → min
 y1 + y2 + y3 ≥ 4
( 2)  2 y1 + y2 ≥ 3
 y + 2y ≥ 3
 1 2
( 3) y j ≥ 0, j = 1,3
Ta đã biết kết quả bài toán gốc:
phương án tối ưu: x 0 = ( x1 , x2 , x3 ) = ( 20,0,20 ) with ( )
f x 0 = 140 Bây giờ ta
tìm phương án tối ưu của bài toán đối ngẫu:
thứ 1:
x10 = 20 > 0 ⇒ y1 + y2 + y3 = 4

x30 = 20 > 0 ⇒ y1 + 2 y 2 = 3
Thứ 2: thay x 0 = ( 20,0,20 ) vào các biểu thức(1)(2)(3) đều nhận kết quả =0
 y1 = 5 − 2a

Vì y j ≥ 0, j = 1,3 ⇒  y 2 = −1 + a, a > 0, a ∈ R
 y =a
 3
( )
Vậy phương án tối ưu là y 0 = ( 5 − 2a,−1 + a, a ) & g y 0 = 140

- 55 -
7)
(1) f ( x ) = 6 x1 + 8 x2 + x3 → min
3x1 + 5 x2 + 3x3 ≥ 20 (1)

( 2)  x1 + 3x2 + 2 x 3 ≥ 9 ( 2)
 6 x + 2 x + 5 x ≥ 30( 3)
 1 2 3

( 3) x j ≥ 0( j = 1,3)
u) Tìm BTĐN của bài toán trên.
v) Giải BTĐN và suy ra kết quả cho gốc.
GIẢI:
Bài toán đối ngẫu là:
3 5 3 3 1 6
A = 1 3 2 ⇒ A = 5 3 2
  T 
   
6 2 5 3 2 5
(1) g ( y ) = 20 y1 + 9 y2 + 30 y3 → max
 3 y1 + y 2 + 6 y3 ≤ 6
( 2) 5 y1 + 3 y2 + 2 y3 ≤ 8
3 y + 2 y + 5 y ≤ 1
 1 2 3
( 3) y j (
≥ 0, j = 1,3 )
Ta biết kết quả bài toán ĐN:
0 1
3


( )
phương án tối ưu: y = ( y1, y 2 , y3 ) =  ,0,0  with g y =
0 20
3
Bây giờ ta
tìm phương án tối ưu của bài toán gốc:
thứ 1:
1
y10 = > 0 ⇒ 3x1 + 5 x2 + 3x3 = 20
3
0 1 
Thứ 2: thay y =  ,0,0  vào biểu thức(1)&(2)
3 
− 19
5 y1 + 3 y2 + 2 y3 − 8 = ≠ 0 ⇒ x2 = 0
3
3 y1 + y2 + 6 y3 − 6 = −5 ≠ 0 ⇒ x1 = 0
0  20 
Vậy phương án tối ưu là x =  0,0,  & f x =
 3 
( ) 0 20
3

- 56 -
8)
(1) f ( x ) = x1 + 2 x2 + x3 → min
 x1 − 3x2 + 4 x3 ≥ 12 (1)

( 2) 3x1 + x2 + 2 x 3 ≥ 10 ( 2)
 x − x − x ≥ −8( 3)
 1 2 3

( 3) x j ≥ 0( j = 1,3)
w) Tìm BTĐN của bài toán trên.
x) Giải BTĐN và suy ra kết quả cho gốc.
GIẢI:
Bài toán đối ngẫu là:
1 − 3 4  1 3 1
A= 3 1  2 ⇒ A = − 3 1 − 1
 T 
   
1 − 1 − 1  4 2 − 1
(1) g ( y ) = 12 y1 + 10 y2 − 8 y3 → max
 y1 + 3 y2 + y3 ≤ 1
( 2) − 3 y1 + y2 − y3 ≤ 2
 4y + 2y − y ≤1
 1 2 3
( 3) y j ≥ 0, ( j = 1,3)
Ta biết kết quả bài toán ĐN:
0 1 3 
 10 10 
( )
phương án tối ưu: y = ( y1, y 2 , y3 ) =  , ,0  with g y =
0 21
5
Bây giờ ta
tìm phương án tối ưu của bài toán gốc:
thứ 1:
1
y10 = > 0 ⇒ x1 − 3x2 + 4 x3 = 12
10
3
y 20 = > 0 ⇒ 3x1 + x2 + 2 x3 = 10
10
0  1 3 
Thứ 2: thay y =  , ,0  vào biểu thức(2)
 10 10 
 x + 4 x3 = 12
− 3 y1 + y 2 − y3 − 2 = −2 ≠ 0 ⇒ x2 = 0 ⇒  1
3 x1 + 2 x3 = 10

- 57 -
0  8 13 
5 5 
( )0
Vậy phương án tối ưu là x =  ,0,  & f x =
21
5

- 58 -
9)
(1) f ( x ) = x1 + 2 x2 + 4 x3 → min
 x1 − x2 + 3x3 ≥ 4 (1)

( 2) 2 x1 + 2 x2 − 3x 3 ≥ 6 ( 2)
 − x + 2 x + 3 x ≥ 2( 3)
 1 2 3

( 3) x j ≥ 0( j = 1,3)
y) Tìm BTĐN của bài toán trên.
z) Giải BTĐN và suy ra kết quả cho gốc.
GIẢI:
Bài toán đối ngẫu là:
 1 −1 3  1 2 − 1
A= 2   T 
2 − 3 ⇒ A = −1 2 2
   
− 1 2 3   3 − 3 3 
(1) g ( y ) = 4 y1 + 6 y2 + 2 y3 → max
 y1 + 2 y 2 − y3 ≤ 1
( 2) − y1 + 2 y2 + 2 y3 ≤ 2
 3y − 3y + 3y ≤ 4
 1 2 3
( 3) y j ≥ 0, ( j = 1,3)
Ta biết kết quả bài toán ĐN:
0  10 31 17 
phương án tối ưu: y = ( y1, y 2 , y3 ) =  , ,  with
 11 33 33 
( )
g y0 =
349
33
Bây
giờ ta tìm phương án tối ưu của bài toán gốc:
thứ 1:

- 59 -
10
y10 = > 0 ⇒ x1 − x2 + 3x3 = 4
11
31
y 20 = > 0 ⇒ 2 x1 + 2 x2 − 3x3 = 6
33
17
y 20 = > 0 ⇒ − x1 + 2 x2 + 3x3 = 2
33
 32
 x1 = 11
 14  32 14 26 
⇒  x2 = PATU x 0 =  , , 
 11  11 11 33 
 x3 = 26
 33

10)
(1) f ( x ) = 16 x1 + 8 x2 + 4 x3 → min
3x1 + 2 x2 + 2 x3 ≥ 16 (1)

( 2)  4 x1 + 3x2 + x 3 ≥ 14 ( 2)
 5 x + 3x + x ≥ 12( 3)
 1 2 3

( 3) x j ≥ 0( j = 1,3)
aa)Tìm BTĐN của bài toán trên.
bb)Giải BTĐN và suy ra kết quả cho gốc.
GIẢI:
Bài toán đối ngẫu là:
 3 2 2 3 4 5
A = 4 3 1 ⇒ AT = 2 3 3
   
5 3 1 2 1 1
(1) g ( y ) = 16 y1 + 14 y212 y3 → max
3 y1 + 4 y 2 + 5 y3 ≤ 16
( 2)  2 y1 + 3 y2 + 3 y3 ≤ 8
 2y + y + y ≤ 4
 1 2 3
( 3) y j ≥ 0, ( j = 1,3)
Ta biết kết quả bài toán ĐN:

- 60 -
phương án tối ưu: y 0 = ( y1, y 2 , y3 ) = (1,2,0) with ( )
g y 0 = 44 Bây giờ ta tìm
phương án tối ưu của bài toán gốc:
thứ 1:
y10 = 1 > 0 ⇒ 3 x1 + 2 x2 + 2 x3 = 16

y 20 = 2 > 0 ⇒ 4 x1 + 3 x2 + x3 = 14
Thứ 2: thay y 0 = (1,2,0) vào biểu thức(1)
2 x + 2 x3 = 16
3 y1 + 4 y 2 5 y3 − 16 = −5 ≠ 0 ⇒ x1 = 0 ⇒  2
3x2 + 2 x3 = 14
( )
Vậy phương án tối ưu là x 0 = ( 0,3,5) & f x 0 = 44

- 61 -
CHƯƠNG IV: BÀI TOÁN VẬN TẢI

§1 BÀI TOÁN VẬN TẢI DẠNG TỔNG QUÁT


I. Thiết lập bài toán
Giả sử có m nơi A1, A2 ,..., Am cung cấp 1 mặt hàng nào đó có khối lượng
tương ứng là a1, a2 ,..., am . Cùng lúc đó có n nơi B1 , B2 ,..., Bn tiêu thụ loại
hàng đó với khối lượng yêu cầu tương ứng là b1, b2 ,..., bn .
( ) ( )
Gọi Ai i = 1, m là điểm phát hàng thứ i., B j j = 1, n là điểm thu hàng thứ j.

Điều kiện cân bằng thu phát ∑


ai = ∑ b j
i j
Ma trận cước phí C = cij [ ] m× n
trong đó cij là chi phí vận chuyển 1 tấn hàng
từ Ai đến B j
Hãy lập kế hoạch vận chuyển từ mỗi điểm phát đến mỗi điểm thu bao nhiêu
tấn hàng để:
 các điểm phát đều phát hết hàng.
 Các điểm thu nhận đủ số hàng yêu cầu.
 Tổng cước phí phải trả là ít nhất
II. Mô hình toán học:
Gọi xij là số tấn hàng vận chuyển từ Ai đến B j
Ta có mô hình toán học:
(1) f ( x ) = ∑∑ cij xij → min
i j
 n
(
 ∑ xij = ai i = 1, m )
( 2)  jm=1
(
 x = b j = 1, n
 ∑ ij j )
i =1
( 3) xij ≥ 0(i = 1, m; j = 1, n )
III Bài toán dưới dạng bảng

- 62 -
B1 B2 … Bj … Bn
Thu b1 b2 bn
bj
Cước
Phát
c11 c12 … c1 j … c1n
A1 : a1 x11 x12 x1n
x1 j

c21 c22 … c2 j … c2 n
A2 : a2 x21 x22 x2n
x2 j

… … … … … … …
ci1 ci 2 cij cin
Ai : ai xi1 xi 2 xin
xij

… … … … … … …
cm1 cm 2 cmj cmn
Am : am xm1 xm 2 xmn
xmj

1) Dây chuyền:
a. 1 dãy các ô của bảng mà 2 ô liên tiếp ở cùng hàng hay cột gọi là dây
chuyền.
b. 1 dây chuyền khép kín gọi là 1 vòng.
c. Những ô ứng với xij > 0 trong 1 phương án nào đó gọi là ô chọn.
Những ô còn lại là ô loại.
d. 1 phương án có đủ m+n-1 ô chọn gọi là phương án không suy biến.

- 63 -
§2 TÍNH CHẤT CỦA BÀI TOÁN VẬN TẢI
I.Tính chất 1:
Bài toán vận tải cân bằng thu phát luôn có phương án tối ưu.
II. Tính chất 2:

Gỉa sử ta có bảng m hàng, n cột và E là tập hợp gồm m+n-1 ô của bảng
không chứa vòng. Gỉa sử ( i, j ) là ô của bảng không thuộc E. Nếu ta bổ sung
( i, j ) vào E để được E1 thì E1 sẽ chứa 1 vòng duy nhất V. Cuối cùng ta loại
khỏi E1 1 ô tùy ý của vòng V để được E2, thì E2 lại gồm m +n-1 ô của bảng
không chứa vòng.
Ở hình trên: m=4,n=4, tập E gồm m+n-1=7 ô đánh dấu X không chứa vòng.
Khi bổ sung thêm ô(4,4) tạo thành vòng V duy nhất. Khi mất đi 1 ô của V thì
mất vòng.
III. Lập phương án cơ bản ban đầu
Dùng phương pháp phân phối tối đa vào ô có cước phí nhỏ nhất
Ví dụ
Thu B1 B2 B3
Cước phí 20 40 30
Phát
1 3 5
A1 : 30 × ×
20 10
5 4 2
A2 : 25 ×
25
8 5 4
A3 : 35 × ×
30 5
Phương án cơ bản ban đầu có 5 ô chọn đúng bằng m+n-1=5, nên Phương án
ban đầu không suy biến.
- 64 -
Ví dụ
Thu B1 B2 B3
Cước phí 25 25 10
Phát
5 3 1
A1 : 10 ×
10
7 6 8
A2 : 30 × × ×
25 5
3 2 2
A3 : 20 ×
20
Phương án cơ bản ban đầu có 4 ô chọn < m+n-1=5, nên Phương án ban đầu
suy biến do đó ta phải bổ sung ô chọn không ô (2,3) mà không tạo thành
vòng.
IV. Thuật toán “Quy 0 ô chọn”
( )
1.Định lý: Nếu ta cộng vào hàng i của ma trận cước C = cij m× n số
(
ri tu  y y ′ i = 1, m ) ( )
và cộng vào cột j số s j tu  y y ′ j = 1, n ta sẽ có
bài toán vận tải mới với ma trận cước phí
( ) m× n
C ′ = cij′ with cij′ = cij + ri + s j tương đương với bài toán ban đầu
( nghĩa là phương án tối ưu của bài toán này cũng là phương án tối ưu của
bài toán kia và ngược lại)
2. Thuật toán:
Bước 1: quy 0 cước phí các ô chọn:
Giả sử ta có 1 phương án cơ bản ban đầu với m+n-1 ô chọn . Ta cộng vào
( )
hàng i của ma trận cước phí số ri i = 1, m và cộng vào cột j số
sj (
j = 1, n ). Ta chọn ri , s j thế nào để cước phí mới
cij′ = cij + ri + s j = 0
Bước 2: Kiểm tra tính tối ưu:
1) Nếu sau khi quy 0 cước phí các ô chọn, mà các ô loại đều có cước phí
≥ 0 thì phương án đang xét là tối ưu.
2) Nếu sau khi quy 0 cước phí các ô chọn, mà có ít nhất 1 ô 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
- 65 -
( )
1) Tìm ô đưa vào: i ∗ , j ∗ có cước phí âm nhỏ nhất là ô đưa vào.

(i , j )
2) Tìm vòng điều chỉnh: bổ sung ∗ ∗ vào m+n-1 ô chọn ban đầu để
được vòng điều chỉnh
3) Phân ô chẵn lẻ của vòng 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 2 lớp:
V C : Các ô có thứ tự chẵn
V L : Các ô có thứ tự lẻ.
4) Tìm ô đưa ra và lượng điều chỉnh:
min xij =x 0 0
Ô đưa ra là (i , j )∈ VC
i j

( )
5)Lập phương án mới: X ′ = xij′ m× n
 x − x 0 0 if ( i, j ) ∈V C
 ij i j

xij′ =  xij + x 0 0 if ( i, j ) ∈V L
i j
 x
 ij if ( i, j ) ∉V

Nghĩa là:
• Các ô lẻ ta cộng thêm vào 1 lượng điều chỉnh xi 0 j 0 .

• Các ô chẵn ta trừ 1 lượng điều chỉnh x 0 0 .


i j
• Giữ nguyên các ô không nằm trong vòng điều chỉnh.
Ví dụ: Gỉai bài toán vận tải sau:
B1 B2 B3
Thu 80 20 60
Cước phí
Phát
5 4 1 r1 =6
A1 : 50 ×
50
3 2 6 r2 =0
A2 : 40 × ×
20 20
7 9 11 r3 =-4
A3 : 70 × ×
60 10

- 66 -
s1 =-3 s2 =-2 s3 =-7
Bước 1: lập phương án cơ bản ban đầu: có 5 ô chọn đúng bằng
m+n-1=5, do đó PABĐ là 0 suy biến.
Bước 2: quy 0 ô chọn
 s1 = − 3  r3 = − 4
Chọn r2 = 0 ⇒  ⇒ ⇒ s2 = − 2
 s3 = − 7  r1 = 6
Cước phí mới các ô 0 chọn: cij′ = cij + ri + s j
Ô (1,1):10-7+5=8.
Ô (1,2): 6-2+4=8.
Ô (2,2): 6-7+1=0
Ô (3,2): -4+9-2=2.
Ô (2,3): 0+6-7=-1
8 8 0 r= −1
×
50
0 0 −1 r= 0
× ×
20 20
0 2 0 r= 0
× ×
60 10
S=0 S=0 S=1
Bước 3: Kiểm tra tính tối ưu: Phương án chưa tối ưu vì ô loại (2,3) có
cước phí âm
Bước 4: lập phương án mới tốt hơn:
Chọn vòng điều chỉnh V = { ( 2,3) , ( 2,1) , ( 3,1) , ( 3,3) ,}
Lượng điều chỉnh: min{ 20,10} = 10
2 ô chẵn-10
2 ô lẻ +10

- 67 -
Ta có phương án mới và cước phí mới theo bảng sau:
7 7 0
×
50
0 0 0
× ×
10 20 10
0 3 1
×
70 0
Ta có cước phí mới các ô không chọn ≥ 0 , nên phương án cuối cùng là tối
ưu.
Kết quả của bài toán:
PATU:
 0 0 50
X = 10 20 10 
 
70 0 0 
Chi phí vận chuyển:
f ( x ) = 1 × 50 + 3 × 20 + 2 × 20 + 7 × 60 + 11 × 10 = 680

- 68 -
§3 BÀI TOÁN VẬN TẢI KHÔNG CÂN BẰNG THU PHÁT
I. Trường hợp tổng lương hàng phát > tổng lượng hàng thu
∑ ai > ∑ b j
Mô hình toán học có dạng:
(1) f ( x ) = ∑∑ cij xij → min
i j
 n
(
 ∑ xij ≤ ai i = 1, m )
( 2)  jm=1
(
 x = b j = 1, n
 ∑ ij j )
i =1
( 3) xij ≥ 0(i = 1, m; j = 1, n )
II. I. Trường hợp tổng lương hàng phát < tổng lượng hàng thu
∑ai < ∑b j
Mô hình toán học có dạng:
(1) f ( x ) = ∑∑ cij xij → min
i j
 n
(
 ∑ xij = ai i = 1, m )
( 2)  jm=1
(
 x ≤ b j = 1, n
 ∑ ij j )
i =1
( 3) xij ≥ 0(i = 1, m; j = 1, n )
Phương pháp:
Trường hợp 1: lập thêm trạm thu giả Bn +1 với nhu cầu
bn +1 = ∑ ai − ∑ b j > 0 các ô trên cột này có cước phí =0
Trường hợp 2: lập thêm trạm phát giả Am +1 với nhu cầu
am +1 = ∑ b j − ∑ ai > 0 các ô trên hàng này có cước phí =0
Chú ý: khi tìm phương án cơ bản ban đầu, ta phân phối vào các ô chính
trước, các ô trên hàng hay cột ứng với các tạm phát hay thu giả khi nào còn
thừa mới phân vào.
Ví dụ:
Giải bài toán vận tải dưới đây:

- 69 -
Thu
Cước phí
phát
80 3 4 1

30 4 2 3

50 1 5 6

Tổng số phát=160>tổng số thu=120


Ta lập thêm trạm thu giả( cột thứ tư) ta được bảng sau:
20 40 60 (40)
Thu Trạm
Thu
Cước phí giả
phát
80 3 4 4 0 1 0 0 0 R=0

10 60 10
30 4 7 2 0 3 4 0 2 R=2

30
50 1 0 5 1 6 5 0 0 R=0

20 30
S=1 S=-4 S=-1 S=0
Ta có các ô 0 chọn có cước phí ≥ 0 . Ta có PATU:
 0 10 60 10 
X =  0 30 0 0 
 
20 0 0 30
Tổng chi phí vận chuyển: f ( x ) = 180

- 70 -
BÀI TẬP:
1) Gỉai bài toán vận tải sau:
80 20 60
50 5 4 1

40 3 2 6

70 7 9 11

GIẢI:
80 20 60

50 5 8 4 8 1 0 R=6

50
40 3 0 2 0 6 -1 R=0

20(-10) 20 (+10)
70 7 0 9 11 0 R=-4

60(+10) 10(-10)
S=-3 S=-2 S=-7

Chọn vòng điều chỉnh


V = { ( 2,3) , ( 2,1) , ( 3,1) , ( 3,3) ,}
Lượng điều chỉnh: min{ 20,10} = 10

- 71 -
Phương án và cước phí mới được cho ở bảng sau:
5 7 4 7 1 0 R=-1

50
3 0 2 0 6 0 R=0

10 20 10
7 0 9 3 11 1 R=0

70 0
S=0 S=0 S=1

Ta có các ô 0 chọn có cước phí ≥ 0 . Ta có PATU:


 0 0 50
X = 10 20 10 
 
70 0 0 
Tổng chi phí vận chuyển: f ( x ) = 670
2) Gỉai bài toán vận tải sau:
60 70 40 30
100 2 1 4 3

80 5 3 2 6

20 6 2 1 5

GIẢI:
60 70 40 30
100 2 0 1 0 4 5 3 0 R=3

30(+30) 70(-30)
80 5 0 3 -1 2 0 6 0 R=0

30(-30) (+30) 20 30
20 6 2 2 -1 1 0 5 0 R=1

- 72 -
20
S=-5 S=-4 S=-2 S=-6

Chọn vòng điều chỉnh


V = { ( 2,2 ) , (1,2) , (1,1) , ( 2,1) ,}
Lượng điều chỉnh: min{ 30,70} = 30
Phương án và cước phí mới được cho ở bảng sau:
2 0 1 0 4 4 3 -1 R=-1

60 40(-30) (+30)
5 1 3 0 2 0 6 0 R=0

0 30(+30) 20 30 (-30)
6 3 2 0 1 0 5 0 R=0

20
S=1 S=1 S=0 S=0
Chọn vòng điều chỉnh
V = { (1,4) , (1,2 ) , ( 2,2) , ( 2,4) ,}
Lượng điều chỉnh: min{ 30,40} = 30
Phương án và cước phí mới được cho ở bảng sau:
2 0 1 0 4 4 3 0 R=0

60 10 30
5 1 3 0 2 0 6 1 R=0

0 60 20 0
6 3 2 0 1 0 5 1 R=0

20
S=0 S=0 S=0 S=1
Ta có các ô 0 chọn có cước phí ≥ 0 . Ta có PATU:
60 10 0 30
X =  0 60 20 0 
 
 0 0 20 0 
Tổng chi phí vận chuyển: f ( x ) = 460

- 73 -
3) Gỉai bài toán vận tải sau:
20 100 145 30 150
120 6 3 1 4 5

150 1 2 5 4 3

150 2 4 3 1 6

25 3 1 4 2 7

GIẢI:
20 100 145 30 150
120 6 4 3 0 1 0 4 5 5 1 R=2

120
150 1 0 2 0 5 5 4 6 3 0 R=3

20(-20) 75 55(+20)
150 2 -2 4 -1 3 0 1 0 6 0 R=0

(+20) 25 30 95(-20)
25 3 3 1 0 4 5 2 5 7 5 R=4

25
S=-4 S=-5 S=-3 S=-1 S=-6 S=-4
Chọn vòng điều chỉnh
V = { ( 3,1) , ( 3,5) , ( 2,5) , ( 2,1) ,}
Lượng điều chỉnh: min{ 20,95} = 20

- 74 -
Phương án và cước phí mới được cho ở bảng sau:
6 6 3 0 1 0 4 5 5 1 R=0

120
1 2 2 0 5 5 4 6 3 0 R=0

0 75(-75) 75(+75)
2 0 4 -1 3 0 1 0 6 0 R=0

20 (+75) 25 30 75(-75)
3 5 1 0 4 5 2 5 7 5 R=0

25
S=2 S=0 S=0 S=0 S=0

Chọn vòng điều chỉnh


V = { ( 3,2 ) , ( 3,5) , ( 2,5) , ( 2,2) ,}
Lượng điều chỉnh: min{ 75,75} = 75 , lúc này phương án mới có 7 ô chọn<8
ô. Nên PA suy biến ta bổ sung thêm ô chọn 0: ô(3,5) mà 0 tạo thành vòng
với các ô đã chọn của PA mới.
Phương án và cước phí mới được cho ở bảng sau:
6 6 3 1 1 0 4 5 5 1 R=0

120
1 2 2 1 5 5 4 6 3 0 R=0

0 0 150
2 0 4 0 3 0 1 0 6 0 R=0

20 75 25 30 0
3 4 1 0 4 4 2 4 7 4 R=-1

25
S=0 S=1 S=0 S=0 S=0

Ta có các ô 0 chọn có cước phí ≥ 0 . Ta có PATU:

- 75 -
 0 0 120 0 0 
0 0 0 0 150
X=  
20 75 25 30 0 
 
 0 25 0 0 0 
Tổng chi phí vận chuyển: f ( x ) = 1040
4) Gỉai bài toán vận tải sau:
10 10 10 20 20
5 5 1 4 6 7

15 3 4 2 7 8

20 4 3 1 7 9

30 6 5 4 9 11

GIẢI:
10 10 10 20 20
5 5 4 1 0 4 5 6 1 7 0 R=4

5
15 3 0 4 1 2 1 7 0 8 -1 R=2

10 5(-5) (+5)
20 4 1 3 0 1 0 7 0 9 0 R=2

10 10
30 6 1 5 0 4 1 9 0 11 0 R=0

5 5(+5) 20(-5)
S=-5 S=-5 S=-3 S=-9 S=-11

Chọn vòng điều chỉnh


V = { ( 2,5) , ( 2,4 ) , ( 4,4) , ( 4,5) ,}
Lượng điều chỉnh: min{ 20,5} = 5

- 76 -
Phương án và cước phí mới được cho ở bảng sau:
5 3 1 0 4 5 6 1 7 0 R=0

5
3 0 4 2 2 2 7 0 8 0 R=1

10 0 5
4 0 3 0 1 0 7 0 9 0 R=0

10 10
6 0 5 0 4 1 9 0 11 0 R=0

5 10 15
S=-1 S=0 S=0 S=0 S=0

Ta có các ô 0 chọn có cước phí ≥ 0 . Ta có PATU:


0 5 0 0 0
10 0 0 0 5 
X = 
 0 0 10 10 0 
 
 0 5 0 10 15
Tổng chi phí vận chuyển: f ( x ) = 435
5 Gỉai bài toán vận tải sau:
30 15 2 15
25 3 4 2 6

15 5 1 6 2

40 2 1 5 3

GIẢI:

- 77 -
30 15 2 15
25 3 0 4 2 2 0 6 2 R=-1

5 20
15 5 3 1 0 6 5 2 -1 R=0
Đưa vào
15(-15) (+15)
40 2 0 1 0 5 4 3 0 R=0
Bổ sung
25 0(+15) 15(-15)
S=-2 S=-1 S=-1 S=-3

Ở bảng trên: PACB ban đầu có 5 ô<m+n-1=6. PA suy biến, do đó ta bổ sung
ô(3,2) 0 tạo vòng với các ô đã chọn.
Chọn vòng điều chỉnh
V = { ( 2,4 ) , ( 2,2) , ( 3,2) , ( 3,4) ,}
Lượng điều chỉnh: min{15,15} = 15
Phương án và cước phí mới được cho ở bảng sau:
3 0 4 2 2 0 6 3 R=0

5 20
5 3 1 0 6 5 2 0 R=0
Bổ sung
0 15
2 0 1 0 5 4 3 0 R=0

25 15 0
S=0 S=0 S=0 S=1
Ở PA này số ô chọn: 5<6, nên PA suy biến ta bổ sung ô(2,2) 0 tạo vòng với
các ô đã chọn.
Ta có các ô 0 chọn có cước phí ≥ 0 . Ta có PATU:
 5 0 20 0 
X =  0 0 0 15
 
25 15 0 0 
Tổng chi phí vận chuyển: f ( x ) = 150

- 78 -
6)Gỉai bài toán vận tải sau:
180 200 230 280
280 8 6 14 7

320 2 4 6 7

290 5 3 4 9

GIẢI:
180 200 230 280
280 8 5 6 0 14 7 7 0 R=-3
Bổ sung
0 280
320 2 0 4 -1 6 0 7 1 R=-2
Đưa vào
180 140
290 5 5 3 0 4 0 9 5 R=0

200 90
S=0 S=-3 S=-4 S=-4
Ở bảng trên: PACB ban đầu có 5 ô<m+n-1=6. PA suy biến, do đó ta bổ sung
ô(1,) 0 tạo vòng với các ô đã chọn.
Chọn vòng điều chỉnh
V = { ( 2,2 ) , ( 3,2) , ( 3,3) , ( 2,3) ,}
Lượng điều chỉnh: min{ 200,140} = 140
Phương án và cước phí mới được cho ở bảng sau:
8 4 6 0 14 7 7 0 R=0
Bổ sung
0 280
2 0 4 0 6 1 7 2 R=1
Đưa vào
180 140 0
5 4 3 0 4 0 9 5 R=0

60 230
S=-1 S=0 S=0 S=0

- 79 -
Ở PA này số ô chọn: 5<6, nên PA suy biến ta bổ sung ô(1,) 0 tạo vòng với
các ô đã chọn.
Ta có các ô 0 chọn có cước phí ≥ 0 . Ta có PATU:
 0 0 0 280
X = 180 140 0 0 
 
 0 60 230 0 
Tổng chi phí vận chuyển: f ( x ) = 3980
Bài toán không cân bằng thu phát
7 Gỉai bài toán vận tải sau:
8 7 12 15
10 8 9 12 5

19 4 8 5 9

11 5 9 7 1

9 1 2 6 3

GIẢI:
8 7 12 15 Trạm
thu giả
10 8 1 9 1 12 7 5 0 0 0 R=0

4 6
19 4 -3 8 0 5 0 9 4 0 0 R=0
Đưa vào
(+6) 6(-6) 12 1
11 5 2 9 5 7 6 1 0 0 4 R=4

11
9 1 0 2 0 6 7 3 4 0 6 R=6

8(-6) 1(+6)
S=-7 S=-8 S=-5 S=-5 S=0
Chọn vòng điều chỉnh
- 80 -
V = { ( 2,1) , ( 4,1) , ( 4,2) , ( 2,2) ,}
Lượng điều chỉnh: min{ 6,8} = 6
Phương án và cước phí mới được cho ở bảng sau:

- 81 -
8 4 9 4 12 7 5 0 0 0 R=0

4 6
4 0 8 3 5 0 9 4 0 0 R=0
Đưa vào
6 0 12 1
5 5 9 8 7 6 1 0 0 4 R=0

11
1 0 2 0 6 4 3 1 0 3 R==-3

2 7
S=3 S=3 S=0 S=0 S=0

Ta có các ô 0 chọn có cước phí ≥ 0 . Ta có PATU:


0 0 0 4 6
6 0 12 0 1
X = 
0 0 0 11 0
 
2 7 8 0 0
Tổng chi phí vận chuyển: f ( x ) = 131
8) Gỉai bài toán vận tải sau:
20 50 60 30
50 4 5 1 0

40 2 3 6 0

70 9 7 11 0

GIẢI:

- 82 -
20 50 60 30
Trạm
thu giả
50 4 8 5 8 1 0 0 10 R=10

50
40 2 0 3 0 6 -1 0 4 R=4

20 20(-10) (+10)
70 9 3 7 0 11 0 0 0 R=0

30(+10) 10(-10) 30
S=-6 S=-7 S=-11 S=0
Chọn vòng điều chỉnh
V = { ( 2,3) , ( 2,2) , ( 3,2) , ( 3,3) ,}
Lượng điều chỉnh: min{10,20} = 10
Phương án và cước phí mới được cho ở bảng sau:
4 7 5 7 1 0 0 9 R=-1

50
2 0 3 0 6 0 0 4 R=0
Đưa vào
20 10 10
9 3 7 0 11 1 0 0 R=0

40 0 30
S=0 S=0 S=1 S=0
Ta có các ô 0 chọn có cước phí ≥ 0 . Ta có PATU:
 0 0 50 0 
X = 20 10 10 0 
 
 0 40 0 30
Tổng chi phí vận chuyển: f ( x ) = 460

- 83 -
9) Gỉai bài toán vận tải sau:
30 40 60 70
100 4 5 3 2

80 7 3 6 4

20 6 2 7 3

GIẢI:
30 40 60 70
100 4 0 5 5 3 0 2 0 R=3

30(+30) 70(-30)
80 7 0 3 0 6 0 4 -1 R=0
Đưa vào
30 20 30(-30) (+30)
20 6 0 2 0 7 2 3 -1 R=1

20
S=-7 S=-3 S=-6 S=-5
Chọn vòng điều chỉnh
V = { ( 2,4 ) , (1,4) , (1,3) , ( 2,3) ,}
Lượng điều chỉnh: min{ 70,30} = 30
Phương án và cước phí mới được cho ở bảng sau:
4 -1 5 4 3 0 2 0 R=-1

(+30) 60 40(-30)
7 0 3 0 6 1 4 0 R=0

30(-30) 20 0 30(+30)
6 0 2 0 7 3 3 0 R=0

20
S=0 S=0 S=1 S=1
Chọn vòng điều chỉnh
V = { (1,1) , ( 2,1) , ( 2,4) , (1,4 ) ,}
Lượng điều chỉnh: min{ 40,30} = 30
- 84 -
Phương án và cước phí mới được cho ở bảng sau:
4 0 5 4 3 0 2 0 R=0

30 60 10
7 1 3 0 6 1 4 0 R=0

0 20 0 60
6 1 2 0 7 3 3 0 R=0

20
S=1 S=0 S=0 S=0
Ta có các ô 0 chọn có cước phí ≥ 0 . Ta có PATU:
30 0 60 10 
X =  0 20 0 60
 
 0 20 0 0 
Tổng chi phí vận chuyển: f ( x ) = 660
10) Gỉai bài toán vận tải sau:
150 120 80 50
100 3 5 7 11

130 1 4 6 3

170 5 8 12 7

GIẢI:
150 120 80 50
100 3 0 5 0 7 -2 11 7 R=3

20(-20) 80(+20)
130 1 0 4 1 6 -1 3 1 R=5

130
170 5 -1 8 0 12 0 7 0 R=0
Đưa vào
(+20) 40(-20) 80 50
S=-6 S=-8 S=-12 S=-7
- 85 -
Chọn vòng điều chỉnh
V = { ( 3,1) , ( 3,2) , (1,2) , (1,1) ,}
Lượng điều chỉnh: min{ 40,20} = 20
Phương án và cước phí mới được cho ở bảng sau:
3 1 5 0 7 -2 11 7 R=0

0 100(-80) (+80)
1 0 4 0 6 -2 3 0 R=-1

130
5 0 8 0 12 0 7 0 R=0

20 20(+80) 80(-80) 50
S=1 S=0 S=0 S=0
Chọn vòng điều chỉnh
V = { (1,3) , (1,2) , ( 3,2) , ( 3,3) ,}
Lượng điều chỉnh: min{100,80} = 80
Phương án và cước phí mới được cho ở bảng sau:
3 1 5 0 7 0 11 7 R=0

0 20 80
1 0 4 0 6 0 3 0 R=0

130
5 0 8 0 12 2 7 0 R=0

20 100 0 50
S=0 S=0 S=2 S=0
Ta có các ô 0 chọn có cước phí ≥ 0 . Ta có PATU:
 0 20 80 0 
X = 130 0 0 0
 
 20 100 0 50
Tổng chi phí vận chuyển: f ( x ) = 2040

- 86 -
BÀI TẬP TỰ GIẢI
Giải các bài toán vận tải cho bởi bảng sau:
1)
25 40 20 10
40 4 3 7 8

20 6 2 3 4

35 5 3 8 6

ĐÁP SỐ
25 15 0 0 
X =  0 0 20 0 
 
 0 25 0 10
Tổng chi phí vận chuyển: f ( x ) = 340
2)
220 310 200 250
300 8 5 4 6

500 12 11 9 13

180 10 15 18 14

ĐÁP SỐ
 0 50 0 250
X = 40 260 200 0 

 
180 0 0 0 
Tổng chi phí vận chuyển: f ( x ) = 8690

- 87 -
3)
76 62 88 45 40
79 10 19 9 6 8

102 13 11 8 7 4

70 12 17 10 5 3

60 12 18 18 7 9

ĐÁP SỐ
 31 0 48 0 0 
 0 62 40 0 0 
X = 
 0 0 0 30 40
 
45 0 0 15 0 
Tổng chi phí vận chuyển: f ( x ) = 2659
4)
85 75 60 50
105 4 16 10 14

65 10 18 12 20

55 6 4 14 18

45 8 6 8 12

- 88 -
85 0 0 20
 0 0 60 5 
ĐÁP SỐ X =   Tổng chi phí vận chuyển: f ( x ) = 2080
 0 55 0 0 
 
 0 20 0 25

- 89 -
5)
120 280 130 270
100 6 8 3 7

300 9 10 11 4

150 5 7 9 10

250 12 13 8 9

ĐÁP SỐ
 0 0 100 0 
 0 30 0 270
X=  
120 30 0 0 
 
 0 220 30 0 
Tổng chi phí vận chuyển: f ( x ) = 5590

- 90 -
TÀI LIỆU THAM KHẢO

[1] GS. Đặng Hấn. Quy hoạch tuyến tính. Trường Đại học Kinh Tế TP. Hồ
Chí Minh.
[2] Ngô Thành Phong. Đại số tuyến tính và Quy hoạch tuyến tính. Nhà xuất
bản Đại học quốc gia TP. Hồ Chí Minh-2003.
[3] Nguyễn Cảnh. Quy hoạch tuyến tính. Nhà xuất bản Đại học quốc gia TP.
Hồ Chí Minh-2004.
[4] Bùi Minh Trí. Toán Kinh Tế. Nhà xuất bản Đại học Bách khoa Hà Nội-
2007.

- 91 -
MỤC LỤC
Trang
Chương 1: Bài toán quy hoạch tuyến tính 1
§1 : 1 số ví dụ dẫn đến bài toán quy hoạch tuyến tính 1

§2 : Các dạng bài toán quy hoạch tuyến tính 6

§3 : Biến đổi dạng của bài toán quy hoạch tuyến tính 9

Chương 2: Phương pháp đơn hình 15


§1 : Thuật toán đơn hình 15

§2 : Thuật toán đơn hình mở rộng 20


Bài tập có lời giải 26
Chương 3: Bài toán đối ngẫu 41
§1 : Khái niệm 41

§2 : Quan hệ giữa bài toán gốc và bài toán đốio ngẫu 44
Bài tập có lời giải 47
Chương 4: Bài toán vận tải 59
§1 : Bài toán vận tải dạng tổng quát 59
§2 : Tính chất của bài toán vận tải 61
§3 : Bài toán vận tải không cân bằng thu phát 66

Bài tập có lời giải 68


Tài liệu tham khảo 86
Mục lục 87

- 92 -

You might also like