Tải bản đầy đủ (.pdf) (16 trang)

Bài giảng Tối ưu hóa - ThS. Nguyễn Công Trí - Làm nghề gì cũng đòi hỏi phải có tình yêu, lương tâm và đạo đức Chuong 2 (Ver13)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (315.63 KB, 16 trang )

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  
x0

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
x0
  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 +20 + 52 = 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 mn, bm 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 – 2y3–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



×