ThS. Nguyễn Cơng Trí - Tối ưu hóa * Chương 2
BÀI TOÁN QUY HOẠCH
TUYẾN TÍNH ĐỐI NGẪU
CHƯƠNG 2
Mục đích và ý nghóa
1. CÁCH THÀNH LẬP BÀI TOÁN QUY HOẠCH
(Xem)
TUYẾN TÍNH ĐỐI NGẪU
Ths. Nguyễn Công Trí
2. CÁC ĐỊNH LÝ ĐỐI NGẪU
(Xem)
Copyright 2001
3. THUẬT GIẢI ĐƠN HÌNH ĐỐI NGẪU
(Xem)
4. MỘT SỐ ỨNG DỤNG CỦA LÝ THUYẾT ĐỐI
NGẪU TRONG BÀI TOÁN QHTT
(Xem)
Ths. Nguyễn Công Trí
5. BÀI TẬP
(Xem)
Copyright 2001
THÀNH LẬP BÀI TOÁN ĐỐI NGẪU
Xét bài toán QHTT (P) dưới dạng chính tắc
f P ( x) c t x min
P
Ax b
x 0.
Với bài toán QHTT, bài toán gốc, ký hiệu là P
(Primal), chúng ta có thể thiết lập bài toán QHTT
khác, bài toán đối ngẫu, ký hiệu là D (Dual),
sao cho từ lời giải của bài toán này ta có thể thu
thập được thông tin về lời giải của bài toán kia.
Để có thông tin cần thiết về bài toán gốc, có
thể nghiên cứu trên bài toán đối ngẫu của nó.
Hơn nữa, khi phân tích đồng thời cả hai bài
toán gốc và đối ngẫu, chúng ta có thể rút ra
các kết luận có giá trò về mặt toán học lẫn về
mặt ý nghóa kinh tế.
THÀNH LẬP BÀI TOÁN ĐỐI NGẪU
Gọi g(y) là hàm mục tiêu của bài toán (II), ta có
g(y) = min{ctx + yt(b – Ax)}, với x ≥ 0.
I
≤ ctx + yt(b – Ax), với x ≥ 0.
Với x = (x1, x2,...…, xn)n, b = (b1, b2,...…, bm)m
Giả sử bài toán (P) có P.A.T.U là xopt và gọi x0 là
một P.A của bài toán (P), ta có ctxopt ≤ ctx0.
Gọi x = (x1, x2,...…, xn)n, với x ≥ 0 sao cho
Ax – b 0
Bài toán tương đương:
L ( x, y ) c t x y t b Ax min
P
x0
y
Rm.
THÀNH LẬP BÀI TOÁN ĐỐI NGẪU
II
Nếu x là P.A của bài toán (I) thì b – Ax = 0 và
g(y) ≤ ctx. Vậy g(y) là một cận dưới bất kỳ của
hàm mục tiêu.
Ta tìm cận dưới lớn nhất Max{g(y)}, thật vậy
g(y) = min{ctx + yt(b – Ax)}, với x ≥ 0.
= min{ctx + ytb – ytAx}, với x ≥ 0.
= min{ytb + (ct – ytA)x}, với x ≥ 0.
= ytb + min{ (ct – ytA)x}, với x ≥ 0.
1
ThS. Nguyễn Cơng Trí - Tối ưu hóa * Chương 2
THÀNH LẬP BÀI TOÁN ĐỐI NGẪU
t
t
0 khi c y A 0
min c t y t A x
t
t
x0
khi c y A 0
Vậy ta được
g(y) = ytb
Suy ra bài toán đối ngẫu có dạng
Xét
g ( y ) y t b max
g ( y ) y t b max
D
ct y t A 0
y t A ct
y Rm .
y Rm .
THÀNH LẬP BÀI TOÁN ĐỐI NGẪU
Ví dụ 2.1.
Bài toán đối ngẫu của bài toán QHTT sau đây
f ( x)
x j 0
Hàm mụnc tiêu
f P ( x) c j x j min
j 1
Bài toán đối ngẫu (D)
Hàm mục mtiêu
f D ( y ) bi yi max
i 1
Ràng buộc thứ i
Ràng buộc thứ j
m
n
aij yi c j , j 1, n
aij x j bi i 1, m
i 1
j 1
Ẩn thứ j
Ẩn thứ I
0, i 1, m
xj
0, j 1, n yi
không ràng buộc
không ràng buộc
VD2.2 VD2.3 VD2.4 VD2.5 VD2.6
VD2.7
2 x1
6 x5
x3
2 x2
x2
2 x3
min
x5
4
x5
4
13
3 x4
j 1,5
g ( y ) y t b max
D
At y c
y Rm .
Bài toán gốc (P)
8 x4
là bài toán f D ( y ) 4 y1 4 y2 13 y3 max
Hay bài toán tương đương
THÀNH LẬP BÀI TOÁN ĐỐI NGẪU
2 x1
2 y1
2 y2
y1
y1
2
y3
2 y3
0
0
3 y3
8
6
y2
THÀNH LẬP BÀI TOÁN ĐỐI NGẪU
Ví dụ 2.2. Viết bài toán đối ngẫu và chỉ ra các
cặp ràng buộc đối ngẫu của bài toán QHTT
Bài toán đối ngẫu
f ( x) x1 2 x2 x3 2 x4 min f D ( y ) y1 3 y2 4 y3 max
x
x2
2 x3 2 x4 1 y1 3 y2 2 y3
1
1
3x
x
x
3
y
y
3
y
2
2
3
1
1
2
3
2 x1 3 x2
x3
x4 4 2 y1
y2
y3 1
2 y1
y3 2
x j 0 j 1, 2
y
0,
y
1
2 0
Các cặp đối ngẫu
x1 0,
y1 3 y2 2 y3 1
1
x2 0,
x1
3x1
y1
x2
x2
y2
2 x3
x3
3 y3
2 x4
2
1,
3,
y1 0
y2 0
2
3
4
2
ThS. Nguyễn Cơng Trí - Tối ưu hóa * Chương 2
THÀNH LẬP BÀI TOÁN ĐỐI NGẪU
THÀNH LẬP BÀI TOÁN ĐỐI NGẪU
Ví dụ 2.3. Viết bài toán đối ngẫu và chỉ ra các
cặp ràng buộc đối ngẫu của bài toán QHTT
Bài toán đối ngẫu
f ( x) 2 x x 8 x max
Ví dụ 2.4. Viết bài toán đối ngẫu và chỉ ra các
cặp ràng buộc đối ngẫu của bài toán QHTT
7 x
1
3x
1
2 x1
1
2
f ( x ) 4 x1 3 x 2 8 x 3 m in
3
4 x2
2 x3
28
x2
3 x2
3 x3
x3
10
15
xj 0
j 1, 2
f D ( y ) 28 y1 10 y2 15 y3 min
7 y
3 y2 2 y3 2
1
4
y
y2 3 y3
1
1
2 y
3 y2
y3 8
1
y
0,
y
1
3 0
Các cặp đối ngẫu
x1 0,
7 y1 3 y2
x2 0,
4 y1 y2
7 x1 4 x2 2 x3
2 x1 3x2
x3
2 y3
2
3 y3
28,
15,
1
y1 0
y3 0
1
2
3
4
1
0
0
1
xj 0
x1
1 2
x2
2 5
x3
j 1, 3
Bài toán đối ngẫu
f D ( y ) 2 y1 5 y 2 max
1 0
4
0 1 y1 3
1 2 y2 8
y j 0; j 1, 2
x1 0,
x2 0,
x3 0,
x1
Các ràng buộc đối ngẫu
y1
y1
x2
y2
2 y2
x3
2 x3
4
3
8
2, y1 0
5, y2 0
1
2
3
4
5
THÀNH LẬP BÀI TOÁN ĐỐI NGẪU
CÁC ĐỊNH LÝ ĐỐI NGẪU
Ví dụ 2.5. Viết bài toán đối ngẫu và chỉ ra các
cặp ràng buộc đối ngẫu của bài toán QHTT
f ( x ) 2 x1 5 x2 max
Bài toán đối ngẫu
ĐỊNH LÝ 1.
Nếu một trong hai bài toán đối ngẫu nhau có
P.A.T.Ư thì bài toán kia cũng có P.A.T.Ư và giá trò
hàm mục tiêu của chúng bằng nhau.
HỆ QUẢ 1.
Điều kiện cần và đủ để cho các bài toán đối
ngẫu nhau có phương án tối ưu là mỗi bài toán
có ít nhất một phương án.
HỆ QUẢ 2.
Điều kiện cần và đủ để cho các bài toán đối
ngẫu nhau không có P.A.T.Ư là một bài toán có
P.A còn bài toán kia không có P.A.
1 0
4
0 1 x1 3
1 2 x2 8
x j 0; j 1, 2
f D ( y ) 4 y1 3 y 2 8 y 3 m in
1
0
0
1
1
2
Ràng buộc đối ngẫu y j 0
x1 0,
y1
y1
2
y2 5
y
3
j 1, 3
y3
2
x2 0,
y2
2 y3
x1
x2
4,
3,
y1 0
y2 0
2 x2
8,
y3 0
x1
5
1
2
3
4
5
3
ThS. Nguyễn Cơng Trí - Tối ưu hóa * Chương 2
CÁC ĐỊNH LÝ ĐỐI NGẪU
CÁC ĐỊNH LÝ ĐỐI NGẪU
ĐỊNH LÝ 2.(ĐỊNH LÝ ĐỘ LỆCH BÙ YẾU)
ĐỊNH LÝ 3.(ĐỊNH LÝ ĐỘ LỆCH BÙ MẠNH)
Điều kiện cần và đủ để cặp bài toán đối ngẫu
nhau có P.A.T.Ư. là trong cặp ràng buộc đối
ngẫu, nếu ràng buộc này xảy ra với dấu bất
đẳng thức ngặt (“>” hoặc “<“) thì ràng buộc kia
xảy ra với dấu đẳng thức.
Nếu cặp bài toán đối ngẫu nhau có P.A.T.Ư. thì
tồn tại một cặp phương án sao cho trong các
cặp đối ngẫu, nếu ràng buộc này xảy ra với dấu
đẳng thức thì ràng buộc kia xảy ra với dấu bất
đẳng thức ngặt.
Nghóa là, với Xopt = (x1opt, x2opt, ..., xnopt), Yopt =
(y1opt, y2opt, ..., ymopt) lần lượt là P.A.T.Ư. của bài
toán gốc và bài toán đối ngẫu, ta có
m
Nếu xjopt = 0 thì tồn tại aij yiopt c j
i 1
n
opt 0 (> hoặc <).
Nếu aij x opt
thì
tồ
n
tạ
i
y
b
i
j
i
Nghóa là, với Xopt = (x1opt, x2opt, ..., xnopt), Yopt =
(y1opt, y2opt, ..., ymopt) lần lượt là P.A.T.Ư. của bài
toán gốc và bài toán đối ngẫu, ta có
m
Nếu xjopt > 0 thì
,
n
Nếu
aij xoptj
j 1
a
ij
yiopt c j
i 1
bi thì yiopt = 0
ÁP DỤNG ĐỊNH LÝ ĐỐI NGẪU
Ví dụ 2.6. Cho bài toán QHTT
f ( x) 4 x1 3x2 8 x3 min
x1
1 0 1 2
0 1 2 x2 5
x
3
x j 0, j 1,3
có P.A.T.Ư của bài toán đối ngẫu là yopt = (2, 3)
và f(yopt) = 19. Hãy tìm P.A.T.Ư của bài toán trên.
Bài toán đối ngẫu fD ( y ) 2 y1 5y2 max
1 0
4
0 1 y1 3
1 2 y2 8
j 1
ÁP DỤNG ĐỊNH LÝ ĐỐI NGẪU
Các cặp ràng buộc đối ngẫu
x1 ≥ 0 và y1
≤ 4
(1)
x2 ≥ 0 và
y2 ≤ 3
(2)
x3 ≥ 0 và y1 + 2y2 ≤ 8
(3)
Thay yopt = (2, 3) vào các ràng buộc
Từ (1): y1 = 2 < 4 x1 = 0 (đònh lý 2).
Thay x1 = 0 vào hpt của bài toán gốc
0
x3 2
1 0 1 2
0 1 2 x2 5 x 2 x 5 x2 1; x3 2
3
2
x
3
Vậy, P.A.T.Ư của bài toán gốc là xopt= (0,1,2) và
f(xopt) = fD(yopt) = 19.
4
ThS. Nguyễn Cơng Trí - Tối ưu hóa * Chương 2
ÁP DỤNG ĐỊNH LÝ ĐỐI NGẪU
Ví dụ 2.7. Cho bài toán QHTT
ÁP DỤNG ĐỊNH LÝ ĐỐI NGẪU
Có P.A.T.Ư là xopt = (0,14, 6, 5) và f(xopt) = 54. Hãy
tìm P.A.T.Ư của bài toán đối ngẫu.
Bài toán đối ngẫu
Các cặp ràng buộc đối ngẫu
x1 ≥ 0 và 5y1 – 3y2 + 4y3 ≥ 2
(1)
x2 ≥ 0 và y1
≥ 2
(2)
x3 ≥ 0 và y1 + y2 + 3y3 ≥ 1
(3)
x4 ≥ 0 và 6y1 + 2y2 + y3 ≥ 4
(4)
-3x1
+ x3 + 2x4 ≥ 16 và y2 ≤ 0
(5)
4x1
+ 3x3 + x4 ≤ 23 và y3 ≥ 0
(6)
Thay xopt = (0, 14, 6, 5) vào các ràng buộc
Từ (2): x2 = 14 > 0 y1 = 2.
Từ (3): x3= 6 > 0 y1 + y2 + 3y3 = 1
Từ (4): x4= 5 > 0 6y1 + 2y2 + y3 = 4
Giải hệ phương trình trên, ta có y1 = 2; y2 = -23/5;
y3 = 6/5. Vậy, P.A.T.Ư của bài toán đối ngẫu là
yopt= (2, -23/5, 6/5) và fD(yopt) = 54.
ÁP DỤNG ĐỊNH LÝ ĐỐI NGẪU
ÁP DỤNG ĐỊNH LÝ ĐỐI NGẪU
f ( x ) 2 x1 2 x2 x3 4 x 4 max
5 x1
x2
3 x1
4 x1
xj 0
x3
6 x4
x3
3 x3
2 x4
x4
16
23
50
j 1, 4
f D ( y ) 5 0 y1 1 6 y2 2 3 y 3
3 y 2
4 y 3
2
5 y1
y1
2
y1
y 2
3 y 3
1
6 y1
2 y 2
y 3
4
y2 0;
y 3 0
m in
Ví dụ 2.8. Cho bài toán QHTT
f ( x) x1 2 x2 x3 Max
x1
3 x2
x4 5
x1
x2
3
3x1
x3 x4 2
x j 0 j 1, 4
Xét các vectơ sau X = (3, 0, 11, 0), Y = (2, 1, 8, 0),
Z = (-4, 2, 0, 10) và T = (1, 2, 1, 2). Vectơ nào là
P.A.T.Ư. của bài toán?
Cách giải.
1. Kiểm tra các vectơ có phải là P.A hay không?
2. Viết bài toán đối ngẫu,
3. Kiểm tra các P.A có phải là P.A.T.Ư.?
1. Kiểm tra trực tiếp, ta thấy X, Y, và T là P.A của
bài toán. Vì Z không thỏa mãn các ràng buộc
nên Z không là P.A của bài toán.
2. Bài toán đối ngẫu
f D ( y ) 5 y1 3 y2 2 y3 min
y1
3 y1
y1
y1 0;
y2
y2
y2 0;
3 y3
y3
y3
y3 0
1
2
1
0
Ta có 7 cặp ràng buộc đối ngẫu
5
ThS. Nguyễn Cơng Trí - Tối ưu hóa * Chương 2
ÁP DỤNG ĐỊNH LÝ ĐỐI NGẪU
x1 ≥ 0 và y1 + y2 – 3y3 ≥ -1
(1)
x2 ≥ 0 và 3y1 + y2
≥ 2
(2)
x3 ≥ 0 và
y3 ≥ 1
(3)
x4 ≥ 0 và – y1
+ y3 ≥ 0
(4)
x1 + 3x2
– x4 ≤ 5 và y1 ≥ 0
(5)
x1 + x2
≤ 3 và y2 ≥ 0
(6)
-3x1
+ x3 + x4 ≤ 2 và y3 ≥ 0
(7)
3. Kiểm tra X, Y, T là P.A.T.Ư
Giả sử X = (3, 0, 11, 0) là P.A.T.Ư của bài toán.
Từ (1): x1 = 3 > 0 y1 + y2 – 3y3 = -1
Từ (3): x3=11 > 0
y3 = 1
Từ (5): 3 + 0 + 0 + 0 = 3 < 5 y1 = 0
Giải hệ phương trình, ta được X*= (0, 2, 1).
ÁP DỤNG ĐỊNH LÝ ĐỐI NGẪU
Ví dụ 2.9. Giải bài toán QHTT
f ( x ) 10 x1 8 x2 19 x3 min
2 1 1 x1 6
3 0 2 x 2
2
1 2 5 x 5
3
xj 0
Bài toán đối ngẫu
j 1,3
f D ( y ) 6 y1 2 y2 5 y3 max
2 3 1 y1 10
1 0 2 y 8
2
1 2 5 y 19
3
Ví dụ 2.10
yj 0
j 1,3
ÁP DỤNG ĐỊNH LÝ ĐỐI NGẪU
Dễ dàng kiểm tra vectơ X*= (0, 2, 1) thỏa các
ràng buộc của bài toán đối ngẫu.
Hơn nữa, fD(X*)= f(X)= 8 nên X là P.A.T.Ư. của
bài toán gốc.
Do Y = (2, 1, 8, 0) là P.A của bài toán gốc và
f(X) = f(Y)= 8 nên Y cũng là P.A.T.Ư.
Với T = (1, 2, 1, 2), ta có f(T)= 4 fmax = 8
Vậy T không phải là P.A.T.Ư. mà T chỉ là phương
án của bài toán.
ÁP DỤNG ĐỊNH LÝ ĐỐI NGẪU
Đưa bài toán về dạng chính tắc bằng cách
thêm 3 ẩn phụ y4 ≥ 0, y5 ≥ 0, y6 ≥ 0
f D ( y ) 6 y1 2 y2 5 y3 max
2 3 1 y1 y4 10
1 0 2 y y 8
2 5
1 2 5 y y 19
3 6
yj 0
j 1,6
Ta thấy bài toán cũng có dạng chuẩn.
Sử dụng thuật giải đơn hình
6
ThS. Nguyễn Cơng Trí - Tối ưu hóa * Chương 2
ÁP DỤNG ĐỊNH LÝ ĐỐI NGẪU
HỆ
ẨN
SỐ
C.B
0
0
0
6
0
0
y4
y5
y6
f x
y1
y5
y6
f x
P.A
10
8
19
0
5
3
14
30
6
2
y1 y2
2 3
1 0
1
2
6 2
1 32
0 3 2
0 12
0
7
5 0
y3 y4
1 1
2 0
5 0
5 0
1
3
9
2
2
2
2
1
2
1
2
1
2
3
0
y5
0
1
0
0
0
1
0
0
0
y6
0
0
1
0
0
0
1
0
ÁP DỤNG ĐỊNH LÝ ĐỐI NGẪU
HỆ ẨN
P.A 6
2 5 0 0 0
y1 y2 y3 y4 y5 y6
SỐ C.B
1
3
y1
0
4 1
2 0
6
2
2
2
1
y3
5
0
2 0 1 1
3
3
y6
0
5 0
5 0
1 3 1
7
4
f x 34 0 5 0
0
3
3
GHI CHÚ
Bài toán có P.A.T.Ư yopt=(4, 0, 2) và f(yopt)= 34.
P.A.T.Ư của bài toán gốc là
xopt
x1 4 b4
x2 5 b5
x b
6
6
3
xopt
x1 7 3 0 7 3
x2 4 3 0 4 3
x 0 0 0
3
ÁP DỤNG ĐỊNH LÝ ĐỐI NGẪU
ÁP DỤNG ĐỊNH LÝ ĐỐI NGẪU
Cách 2: dùng đònh lý đối ngẫu
x1 ≥ 0 và 2y1 + 3y2 + y3 ≤ 10
(1)
x2 ≥ 0 và y1
+ 2y3 ≤ 8
(2)
x3 ≥ 0 và y1 + 2y2 + 5y3 ≤ 19
(3)
2x1 + x2 + x3 ≥ 6 và y1 ≥ 0
(4)
3x1
+ 2x3 ≥ 2 và y2 ≥ 0
(5)
x1 + 2x2+ 5x3 ≥ 5 và y3 ≥ 0
(6)
Ta có P.A.T.Ư của bài toán đối ngẫu yopt= (4,0,2)
Từ (3): 4 +20 + 52 = 14 < 19 x3 = 0.
Từ (4): y1 = 4 > 0 2x1 + x2 + x3 = 6
Từ (6): y3= 2 > 0 x1 + 2x2 + 5x3 = 5
Giải hệ phương trình, ta có PA.T.Ư của bài toán
gốc là xopt = (7/3, 4/3, 0) và f(xopt) = 34.
GHI CHÚ. Chúng ta cũng có thể sử dụng quy tắc
sau đây để tìm P.A.T.Ư của bài toán đối ngẫu:
yopt
y1 1 c1
y c
2
2
2
ym m cm
Với các ẩn cơ bản xj (j = 1, 2, ...…, m) trong P.A.C.B
đầu tiên lập thành ma trận đơn vò cấp m tương
ứng với các j trong bảng cuối cùng.
Trong Ví dụ 2.9, ẩn cơ bản đầu tiên của bài toán
đối ngẫu là y4, y5 và y6 thì P.A.T.Ư của bài toán
gốc (đối ngẫu của bài toán đối ngẫu) là
Xopt = (7/3, 4/3, 0) và f(Xopt) = 34.
7
ThS. Nguyễn Cơng Trí - Tối ưu hóa * Chương 2
THUẬT GIẢI ĐƠN HÌNH ĐỐI NGẪU
Do Lemke G.E đề xuất năm 1954. Đây là thuật
giải đơn hình được áp dụng vào bài toán đối
ngẫu nhưng để tìm P.A.T.Ư cho bài toán gốc.
Thuật giải đơn hình đối ngẫu xuất phát từ một
“phương án giả” thỏa các ràng buộc chính của
bài toán (nghiệm đúng Ax = b) nhưng không
thoả điều kiện ràng buộc về dấu (x 0), nghóa là
bảng đơn hình đầu tiên không có phần tử dương
trong dòng mục tiêu (dòng cuối) nhưng lại có
phần tử âm trong cột phương án.
Thuật giải này thường được áp dụng khi chưa
biết P.A.C.B nào của bài toán gốc nhưng lại có
sẵn một P.A.C.B của bài toán đối ngẫu.
THUẬT GIẢI ĐƠN HÌNH ĐỐI NGẪU
Ví dụ 2.10. Giải bài toán QHTT trong Ví dụ 2.9
bằng thuật giải đơn hình đối ngẫu.
Đưa bài toán về dạng chính tắc, rồi sau đó
nhân (–1) cho các ràng buộc đẳng thức, ta có
bài toán dạng chính tắc như sau
f ( x ) 10 x1 8 x2 19 x3 min
2 x1
x2
x3 x4
6
3x1
2 x3
x5
2
x1
2 x2 5 x3
x6 5
x j 0, j 1, 6
Xuất phát từ phương án giả X = (0,0,0,–6,–2,–5).
Ta có bảng đơn hình đối ngẫu như sau
THUẬT GIẢI ĐƠN HÌNH ĐỐI NGẪU
LẬP BẢNG ĐƠN HÌNH ĐỐI NGẪU
bi ≥ 0,i?
Sai
aij
0,j?
Đúng
j ≤ 0,j?
Sai
Đúng THUẬT GIẢI
Sai
XÁC ĐỊNH PHƯƠNG ÁN MỚI
n ra : Min bi xi
ĐƠN HÌNH
aij 0
j
aij
P.A.T.Ư
KẾT THÚC
THUẬT GIẢI
BÀI TOÁN
KHÔNG CÓ P.A.T.Ư
bi 0
n vào : Min
Đúng
xj
SỐ BƯỚC LẶP
LÀ HỮU HẠN
BIẾN ĐỔI BẢNG ĐƠN HÌNH
THUẬT GIẢI ĐƠN HÌNH ĐỐI NGẪU
Hệ Ẩn
số C.B
P.A
10
8
19
0
0
0
x1
x2
x3
x4
x5
x6
0
x4
–6
–2
–1
–1
1
0
0
0
x5
–2
–3
0
–2
0
1
0
0
x6
–5
–1
–2
–5
0
0
1
f(x)
0
–10
–8
–19
0
0
0
10
x1
3
1
½
½
–½
0
0
0
x5
7
0
3/2 –½ –3/2
1
0
0
x6
–2
0
–3/2 9/2
–½
0
1
f(x)
30
0
–5
0
0
–3
–14
8
ThS. Nguyễn Cơng Trí - Tối ưu hóa * Chương 2
THUẬT GIẢI ĐƠN HÌNH ĐỐI NGẪU
Hệ Ẩn
số C.B
P.A
10
8
19
0
0
0
x1
x2
x3
x4
x5
x6
10
x1
7/3
1
0
2
–2/3
0
1/3
0
x5
5
0
0
4
–2
1
1
8
x3
4/3
0
1
–3
1/3
0
–2/3
f(x)
34
0
0
–23
–4
0
–2
Vậy, P.A.T.Ư của bài toán là xopt = (7/3, 4/3, 0)
và f(xopt) = 34.
THUẬT GIẢI ĐƠN HÌNH ĐỐI NGẪU
GHI CHÚ. Đối với thuật giải đơn hình đối ngẫu,
để tìm P.A.T.Ư của bài toán đối ngẫu Yopt, ta có
y1 1 c1
biểu thức sau
y c
2
2
yopt 2
ym m cm
Trong Ví dụ 2.10, ẩn cơ bản đầu tiên của bài
toán đối ngẫu là x4, x5 và x6 thì
y1 4 c4
yopt y2 5 c5
y c
3
6
6
y1 (4) 0 4
y2 0 0 0
y ( 2) 0 2
3
P.A.T.Ư của bài toán đối ngẫu là Yopt = (4, 0, 2) và
f*(Yopt) = 34.
THUẬT GIẢI ĐƠN HÌNH ĐỐI NGẪU
Ví dụ 2.11.
Dùng thuật giải đơn hình đối ngẫu để giải bài
toán quy hoạch tuyến tính sau đây
f ( x) 2 x1 4 x2 x3 x4 2 x5 Min
x1
2 x2
2 x5
4 x2 x3 x4
x5
2 x3
x5
x2 x3
4 x5
x j 0, j 1, 7
x6
x7
2
4
2
6
Xuất phát từ phương án giả X = (–2,0,0,–4,0,2,6).
Ta có bảng đơn hình đối ngẫu
THUẬT GIẢI ĐƠN HÌNH ĐỐI NGẪU
Hệ
số
Ẩn P.A 2 –4 1 –1 2 0 0
C.B
x1 x2 x3 x4 x5 x6 x7
2
–1
0
0
x1
x4
x6
x7
f(x)
x1
x5
x6
x7
f(x)
2
–1
0
0
–2
–4
2
6
0
6
4
6
–10
20
1 –2 0 0 –2 0
0 4 1 1 –1 0
0
0 2 0 –1 1
0 1 1 0 4 0
0 –4 –2 0 –5 0
1 –10 –2 –2 0 0
0 –4 –1 –1 1 0
0 –4 1 –1 0 1
0 17 5 4 0 0
0 –24 –7 –5 0 0
0
0
0
1
0
0
0
0
1
0
Do a4j 0,
j = 1,..., 7
nên
bài
toán trên
không có
P.A.T.Ư.
9
ThS. Nguyễn Cơng Trí - Tối ưu hóa * Chương 2
MỘT SỐ ỨNG DỤNG CỦA LÝ THUYẾT
ĐỐI NGẪU TRONG BÀI TOÁN QHTT
1. TÌM PHƯƠNG ÁN TỐI ƯU MỚI KHI CÓ
THÊM RÀNG BUỘC VÀO BÀI TOÁN (XEM)
2. TÌM
NGHIỆM
KHÔNG
ÂM
CỦA
HỆ
PHƯƠNG TRÌNH TUYẾN TÍNH BẰNG THUẬT
GIẢI ĐƠN HÌNH MỞ RỘNG
(XEM)
3. Ý NGHĨA KINH TẾ CỦA BÀI TOÁN QUY
(XEM)
HOẠCH TUYẾN TÍNH ĐỐI NGẪU
MỘT SỐ ỨNG DỤNG CỦA LÝ THUYẾT
ĐỐI NGẪU TRONG BÀI TOÁN QHTT
Đưa bài toán về dạng chính tắc, rồi sau đó
nhân (–1) cho các ràng buộc đẳng thức, ta có
bài toán dạng chính tắc như sau
f ( x) 15 x1 12 x2 10 x3 Min
3 x1
4 x2 2 x3 x4
x1
2 x2 3 x3
x j 0, j 1,5
160
x5
140
a) Xuất phát từ phương án giả X = (0, 0, 0, –160,
–140. Ta có bảng đơn hình đối ngẫu
MỘT SỐ ỨNG DỤNG CỦA LÝ THUYẾT
ĐỐI NGẪU TRONG BÀI TOÁN QHTT
Ví dụ 2.12.
a) Dùng thuật giải đơn hình đối ngẫu để giải bài
toán quy hoạch tuyến tính sau đây
f ( x) 15 x1 12 x2 10 x3 Min
3 x1
4 x2 2 x3 160
x1
2 x2 3 x3 140
x j 0, j 1, 3
b) Nếu thêm một ràng buộc nữa x1 + x2 + x3 60
vào bài toán trên, tìm phương án tối ưu của
bài toán mới.
MỘT SỐ ỨNG DỤNG LÝ THUYẾT ĐỐI NGẪU
Hệ Ẩn P.A
Số C.B
15 12 10
0
0
x1 x2 x3 x4 x5
0 x4 –160 –3 –4 –2
1
0
0 x5 –140 –1 –2 –3
0
1
f(x) 0 –15 –12 –10 0
0
12 x2 40 ¾ 1 ½ –¼ 0
0 x5 –60 ½ 0 –2 –½ 1
f(x) 480 –6 0 –4 –3
0
12 x2 25 7/8 1
0 –3/8 ¼
10 x3 30 –¼ 0
1
¼ –½
f(x) 600 –7 0
0
–2 –2
P.A.T.Ư là xopt = (0, 25, 30) và f(xopt) = 600.
10
ThS. Nguyễn Cơng Trí - Tối ưu hóa * Chương 2
MỘT SỐ ỨNG DỤNG CỦA LÝ THUYẾT
ĐỐI NGẪU TRONG BÀI TOÁN QHTT
b) Do xopt = (0, 25, 30) không thỏa ràng buộc x1
+ x2 + x3 60 nên xopt không phải là phương án
của bài toán mới. Để xử lý ràng buộc mới này,
ta đưa ràng buộc bất đẳng thức về ràng buộc
đẳng thức bằng cách thêm ẩn phụ x6 0, ta
được –x1 – x2 – x3 + x6 = –60.
Sử dụng bảng cuối cùng trong câu a) và đưa
ràng buộc mới –x1 – x2 – x3 + x6 = –60 vào bảng
trên. Lưu ý ẩn x6 là ẩn cơ bản trong bài toán
mới, còn x4 và x5 là ẩn cơ bản trong bài toán cũ
nên trong ma trận hệ số của bài toán mới ta
cộng dòng 1 và dòng 2 vào dòng 3 để vectơ
cột ứng với x4 và x5 là các vectơ đơn vò.
MỘT SỐ ỨNG DỤNG LÝ THUYẾT ĐỐI NGẪU
Hệ Ẩn
số C.B
P.A
15
12
10
0
0
0
x1
x2
x3
x4
x5
x6
12
x2
20
½
1
0
–½
0
1
10
x3
40
½
0
1
½
0
–2
0
x5
20
3/2
0
0
½
1
–4
f(x)
640
–4
0
0
–1
0
–8
P.A.T.Ư là x/opt = (0, 20, 40) và f(x/opt) = 640.
MỘT SỐ ỨNG DỤNG LÝ THUYẾT ĐỐI NGẪU
Hệ Ẩn
P.A
số C.B
15
12
10
0
0
0
x1
x2
x3
x4
x5
x6
12
x2
25
7/8
1
0
–3/8
¼
0
10
x3
30
–¼
0
1
¼
–½
0
0
x6
–60
–1
–1
–1
0
0
1
f(x)
600
–7
0
0
–2
–2
0
12
x2
25
7/8
1
0
–3/8
¼
0
10
x3
30
–¼
0
1
¼
–½
0
0
x6
–5
–3/8
0
0
–1/8 –¼
1
f(x)
600
–7
0
0
–2
–2
0
TÌM NGHIỆM KHÔNG ÂM CỦA
HỆ PHƯƠNG TRÌNH TUYẾN TÍNH
Tìm nghiệm không âm của hệ phương trình
tuyến tính AX = b, X 0 (1), trong đó A là ma
trận mn, bm có thể quy
về giải bài toán quy
m
hoạch tuyến tính f x M x gj min
j 1
AX X g b
2
g
X 0, X 0, M 0
Bài toán (2) luôn luôn có P.A.T.Ư vì (0,b) là
một P.A và hàm mục tiêu bò chặn [f(x) 0].
Giả sử P.A.T.Ư của bài toán trên là (xopt, xgopt),
nếu xgopt = 0, j thì xopt là nghiệm của bài toán
(1). Ngược lại nếu tồn tại xgj 0 thì bài toán (1)
vô nghiệm.
11
ThS. Nguyễn Cơng Trí - Tối ưu hóa * Chương 2
TÌM NGHIỆM KHÔNG ÂM CỦA HỆ PHƯƠNG TRÌNH TUYẾN TÍNH
Ví dụ 2.1.Tìm nghiệm không âm của hệ phương
trình tuyến tính 2 x1 3 x2
x3 7
x1 2 x2 4 x3 9
3x
1 x2 2 x3 4
Ta có thể quy bài toán trên về bài toán QHTT
Ý NGHĨA KINH TẾ CỦA BÀI TOÁN ĐỐI NGẪU
Xét bài toán gốc là bài toán khẩu phần thức ăn
Thức ăn
... j ...
Mức
dinh dưỡng
tối thiểu
b1
b2
...
bi
...
bm
Chất dinh
dưỡng (%)
1
2
Giải bài toán trên, ta được P.A.T.Ư là (xopt, xgopt)
= (3, 1, 2, 0, 0, 0). Vậy nghiệm không âm của hệ
phương trình tuyến tính trên là x = (3, 1, 2).
1
2
...
i
...
m
Giá một đơn
vò thức ăn
a11
a21
...
ai1
...
am1
c1
a12
a22
...
ai2
...
am2
c2
Ý NGHĨA KINH TẾ CỦA BÀI TOÁN ĐỐI NGẪU
Ý NGHĨA KINH TẾ CỦA BÀI TOÁN ĐỐI NGẪU
Gọi xj (j = 1, 2, ..., n) là số đơn vò thức ăn trong
mỗi bửa, ta có mô hình bài toán QHTT như sau
f x c1 x1
c2 x2
cn xn min
ai1 x1
ai 2 x2 ain xn bi ,
i 1, m
x j 0, j 1, n
Bài toán đối ngẫu
Gọi yi là giá bán một viên thuốc bổ có chứa
chất dinh dưỡng i (i = 1, 2, ..., m).
Người chăn nuôi sẽ phải lựa chọn:
Mua thuốc bổ, nếu a1jy1 + a2jy2 +... + anjyn < cj.
Vì giá thuốc bổ rẻ hơn và lúc này xj = 0 (đònh lý
độ lệch bù yếu).
Mua thức ăn, theo đònh lý độ lệch bù yếu,
nếu yi > 0 thì ai1x1 + ai2x2 + … + ainxn = bi,
Nghóa là, nếu giá một viên thuốc bổ khá cao thì
người chăn nuôi sẽ mua các loại thức ăn sao
cho thoả nhu cầu tối thiểu của chất dinh dưỡng.
Vậy, khi phân tích cặp bài toán đối ngẫu nhau
chính là phân tích tính T.Ư của từng bài toán.
f ( x) M x4 x5 x6 Min
2 x1
3x2
x3 x4
x
2
x
4 x3
1
2
3x1
x2 2 x3
x j 0, j 1, 6
7
x5
b2 y2 bm ym
f D y b1 y1
a1 j y1
a2 j y2 amj ym
yi 0, i 1, m
x6
9
4
max
cj ,
j 1, n
Chất dinh dưỡng thay thế: nhà sản xuất thuốc
bổ tương ứng với các chất dinh dưỡng trên.
...
...
...
...
...
...
...
a1j
a2j
...
aij
...
amj
cj
...
...
...
...
...
...
...
n
a1n
a2n
...
ain
...
amn
cn
12
ThS. Nguyễn Cơng Trí - Tối ưu hóa * Chương 2
BÀI TẬP CHƯƠNG 2
BÀI TẬP CHƯƠNG 2
1.a) Viết bài toán đối ngẫu của bài toán QHTT
LẬP BÀI TOÁN ĐỐI NGẪU
[1a]
[1b]
[2]
Th.s Nguyễn Công Trí
SỬ DỤNG ĐỊNH LÝ ĐỐI NGẪU
[3]
[4]
[5]
[6]
Copyright
2001
PHƯƠNG PHÁP ĐƠN HÌNH ĐỐI NGẪU
[7a]
[7b]
BÀI TẬP CHƯƠNG 2
1.b) Viết bài toán đối ngẫu của bài toán QHTT
3x2
4 x3
5 x4 max
f ( x) 2 x1
x1
x2
2 x3
2 x4
10
x1
2 x2
x3
x4
8
x1
x2
2 x3
x4
9
x2 0, x3 0, x4 0
Bài toán đối ngẫu
10 y1 8 y2
9 y3 min
fD ( y)
y1
y2
y3
2
y1 2 y2
y3
3
2 y1 y2
2 y3 4
2 y1
y2
y3
5
y1 0,
y3 0
f ( x)
4 x1
4 x2
3x3
2 x4
x1
2 x1
x1
2 x2
x3
x4
1
x2
5 x2
3x3
x3
x4
3 x4
8
4
x1 0,
min
x3 0, x4 0
Bài toán đối ngẫu
f D ( y ) y1
y1
2 y1
y1
y1
8 y2
4 y3
max
2 y2
y3
4
y2
5 y3
4
3 y2
y2
y3
3 y3
3
2
y2 0,
y3 0
BÀI TẬP CHƯƠNG 2
2. Chứng minh bài toán QHTT sau đây trùng với
bài toán đối ngẫu của nó (Bài toán tự đối ngẫu).
x1
x2
f ( x)
x2
x1
x1
x2
x1 0, x2 0 x3
x3
x3
x3
min
1
1
1
0,
13
ThS. Nguyễn Cơng Trí - Tối ưu hóa * Chương 2
BÀI TẬP CHƯƠNG 2
BÀI TẬP CHƯƠNG 2
3. Cho bài toán QHTT sau đây:
f ( x ) 2 x1 4 x2 x3 x4 max
x1
3 x 2
x4
1
5 x 2
2 x4
3
x4
3
x2
xj 0
4 x3
j 1, 4
a) Viết bài toán đối ngẫu của bài toán trên.
b) Giải bài toán gốc, suy ra lời giải của bài
toán đối ngẫu.
a) Bài toán đối ngẫu f D ( y) y1 3y2 3y3 min
b) Giải bài toán gốc,
y1
ta được P.A.T.Ư là xopt =
3y1
5y2 y3
(1, 0, 3/4, 0), fmax= 11/4
4 y3
Các cặp đối ngẫu
y1
2 y2 y3
x1 0 và y1 2 (1)
y2 0
x2 0 và 3y1 – 5y2 + y3 4 (2)
x3 0 và
+ 4y3 1 (3)
x4 0 và y1 – 2y2 + y3 1 (4)
-5x2 – 2x4 ≤ 3 và y2 0
(5)
Giải hpt (1), (3) và (5), ta được
yopt = (2, 0, 1/4) và fD(yopt)= 11/4
5. Cho bài toán QHTT
f ( x) 5x1 9 x2 15x3 7x4 6 x5 min
4. Cho bài toán QHTT sau đây:
f ( x ) 12 x1 27 x2 6 x3 min
3 x 2
2 x3
x1
3 x 2
x3
6 x1
9 x 2
2 x3
xj 0
j 1,3
x1
12
6
24
a) Viết bài toán đối ngẫu của bài toán trên.
b) Giải bài toán đối ngẫu, suy ra lời giải của
bài toán gốc.
4
1
1
BÀI TẬP CHƯƠNG 2
BÀI TẬP CHƯƠNG 2
2 x1
2
4 x1
x1
3x2
x2
x3
x4
x3 2 x4
x3
x5
1
x5 4
2 x5 1
x j 0 j 2,5
a) Viết bài toán đối ngẫu của bài toán trên.
b) Phân tích các tính chất (P.A.C.B suy biến hay
không suy biến) của vectơ X = (0, 1, 0, 2, 0).
c) Cho biết X là P.A.T.Ư của bài toán gốc và
f(X) = 5. Tìm P.A.T.Ư. của bài toán đối ngẫu.
14
ThS. Nguyễn Cơng Trí - Tối ưu hóa * Chương 2
BÀI TẬP CHƯƠNG 2
a) Bài toán đối ngẫu
BÀI TẬP CHƯƠNG 2
fD ( y) y1 4y2 y3 max
b) Kiểm tra trực tiếp, ta
y1 4y2
y3
thấy X = (0, 1, 0, 2, 0) là P.A 3y1
và X thỏa 5 ràng buộc chặt, y1 y2
y1 2y2
dễ dàng kiểm tra hpt ràng
y1 y2
buộc có hạng khác 5,
y1 0,
nên X không là P.A.C.B.
y3
y3
9
15
2 y3
5
7
6
y3 0
c) Chỉ ra 6 cặp đối ngẫu, từ đó áp dụng đònh lý
đối ngẫu, ta có P.A.T.Ư của bài toán đối ngẫu là
Yopt = [(y3 – 9)/3, (y3 + 12)/6, y3], với y3 ≥ 0, y1 ≤ 0.
6. Cho bài toán QHTT
f ( x) 3 x1 7 x2 x3 2 x4 max
2 x1 3 x2 x3 2 x4
2 x1 2 x2 3 x3
2 x1 2 x2 3 x3 4 x4
xj 0
30
60
32
j 1, 4
Cho các vectơ:
X = (-1, 2, 3, 4); Y = (0, 2, 1, 3); Z = (0, 0, 0, 8), T =
(14, 0, 0, 1); S = (18, 2, 0, 0)
Trong các vectơ trên, vectơ nào là phương án tối
ưu của bài toán? Hãy giải thích.
BÀI TẬP CHƯƠNG 2
BÀI TẬP CHƯƠNG 2
1. Kiểm tra trực tiếp X, Y không phải là phương
án. Các vectơ Z, T, S là các phương án vì chúng
thỏa các ràng buộc của bài toán.
3. Kiểm tra tính tối ưu của các phương án
Xét phương án Z = (0, 0, 0, 8), giả sử Z là
P.A.T.Ư. của bài toán gốc, ta có f(Z) = –16.
Từ (4): z4 = 8 2 y1
+ 4y3 = –2
Từ (5): 2x1 – 3x2 – x3 + 2x4 = 16 < 30 y1 = 0
Từ (6): 2x1 – 2x2 + 3x3
= 0 < 60 y2 = 0
P.A.T.Ư. của bài toán đối ngẫu sẽ là Z*= (0, 0,–½),
nhưng Z* không thỏa ràng buộc của bài toán đối
ngẫu nên Z* không thể là P.A.T.Ư. Vậy, Z không
thể là P.A.T.Ư. của bài toán gốc.
Tương tự, giả sử T = (14, 0, 0, 1) là P.A.T.Ư. của
bài toán gốc ta có f(T) = 40.
2. Bài toán đối ngẫu
( yn) g
buộ
30cy1đối 60
y2 u 32 y3
Các cặpf Drà
ngẫ
2
y
2
y
x1 ≥ 0 và
2y1 + 2y2 +1 2y3 ≥ 23 2 y3
–3y – 2y3–y1 2y ≥2 y–7
2 y3
2
x2 ≥ 0 và
1
2
3
y1
3 y2
3 y3
– y1 + 3y
x3 ≥ 0 và
2 – 3y3 ≥ 1
2 y1
4 y3
x4 ≥ 0 và
+ 4y3 ≥ –2
2 y1
y1 0, y2 0
2x1 – 3x2 – x3 + 2x4 ≤ 30 và y1 ≥ 0
2x1 – 2x2 + 3x3
≤ 60 và y2 ≥ 0
min
(1)
(2)
(3)
(4)
(5)
(6)
3
7
1
2
15
ThS. Nguyễn Cơng Trí - Tối ưu hóa * Chương 2
BÀI TẬP CHƯƠNG 2
BÀI TẬP CHƯƠNG 2
7. a) Dùng PPĐHĐN giải bài toán QHTT sau đây,
từ đó suy ra lời giải của bài toán đối ngẫu
Từ (1): t1 = 14 2y1 + 2y2 + 2y3 = 3
Từ (4): t4 = 1 2 y1
+ 4y3 = –2
Từ (6): 2x1 – 2x2 + 3x3
= 28 < 60 y2 = 0
Giải hệ phương trình trên, ta có P.A.T.Ư. của bài
toán đối ngẫu sẽ là T*= (4, 0,–5/2).
Dễ dàng kiểm tra T* thỏa các ràng buộc của bài
toán đối ngẫu nên T* là P.A.T.Ư. của bài toán đối
ngẫu. Hơn nữa, fD(T*) = f(T) = 40 Vậy, T là P.A.T.Ư.
của bài toán gốc.
x1
3 x2
x3 2 x4 min
f ( x)
x1
x2
2 x3 2 x4
10
x1
2 x2
x3
x4
8
x1
x2
x3
x4
9
x1 0, x2 0, x3 0, x4 0
Xét phương án S = (18, 2, 0, 0), ta có f(S) = 40 =
f(T). Vậy, S là P.A.T.Ư. của bài toán gốc.
BÀI TẬP CHƯƠNG 2
7.
b) Dùng PPĐHĐN giải bài toán QHTT sau đây, từ đó
suy ra lời giải của bài toán đối ngẫu
2 x1
f ( x)
x1
x1 0, x2
x2
6 x3
3x4
x2
x2
x2
x3
x4
max
1
4
2
0, x3 0, x4 0
16