Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

Bài 3

BÀI TOÁN QUY HOẠCH TUYẾN TÍNH ĐỐI NGẪU


3.3 Thuật toán đơn hình đối ngẫu
Nội dung của thuật toán đơn hình đối ngẫu là ta áp dụng thuật toán đơn hình để giải bài
toán đối ngẫu nhưng ta lại diễn ra quá trình trong ngôn ngữ của bài toán gốc, và bằng cách
đó ta tìm được nghiệm của bài toán gốc.
Cho (P) và (P’) là cặp bài toán đối ngẫu

<c, x> = z (min) <b, y> = w (max)

 Ax  b
( P)  ( P' ) A' y  c
x  

Giả sử có phương án cực biên y0 không thoái hóa của bài toán (P’) với các ràng buộc độc
lập tuyến tính:

<Aj, y0> = cj; j  J (3.14)


và mặt khác
(3.15)
<Ak, y0> < ck; kJ

trong đó J= {1,2,.., m} và hệ thống Aj với jJ được gọi là cơ sở đối ngẫu


Ta xét hệ phương trình


 x j Aj  b

 jJ (3.16)
x   ; k  J
 k

Vì rằng hệ thống {Aj | j J} là độc lập tuyến tính nên hệ phương trình (3.16) được xác định.
Ta gọi nghiệm của nó là giả phương án của (P) tương ứng với cơ sở đối ngẫu J, các biến xj
jJ cũng được gọi là các biến cơ sở của giả phương án

Tiêu chuẩn tối ưu


Nếu tất cả các biến cơ sở của giả phương án x đều không âm thì x là phương án tối ưu của
bài toán (P)

1
Thuật toán đơn hình đối ngẫu
Giai đoạn 1: Tìm giả phương án
Giai đoạn 2: Kiểm tra điều kiện tối ưu
Bước 1: Lập bảng đơn hình đối ngẫu ban đầu
Bước 2: Kiểm tra điều kiện tối ưu
Nếu mọi phần tử trong cột phương án đều không âm thì dừng quá trình giải và ta
nhận được phương án tối ưu
Ngược lại chuyển sang bước 3
Bước 3: Chọn dòng xoay
Đó là dòng đầu tiên từ trên xuống mà nó chứa phần tử âm nhỏ nhất trong cột giả
phương án
Bước 4: Chọn cột xoay
Chia các phần tử trên dòng ước lượng cho các phần tử tương ứng trên dòng xoay
nhưng chỉ chia cho các phần tử âm trên dòng xoay. Cột xoay là cột đầu tiên từ trái
sang phải ứng với số nhỏ nhất trong các dòng tỷ số đó
Bước 5: Biến đổi bảng đơn hình
- Tìm dòng chính
- Các dòng khác được tính như sau
Dòng mới = Dòng cũ tương ứng – dòng chính * phần tử xoay
- Tính delta
Quay trở lại bước 2.
3.4 Các dạng bài toán đơn hình đối ngẫu
Ví dụ 1:
Xét QHTT dạng chính tắc

2
Bài toán gốc Bài toán đối ngẫu
x1 – x2 – 2x4 + 2x5 – 3x6 min 2y1 + 12 y2 + 9 y3 max
 x   x   x  x  x  x    y  
 x  x   x  x   x  x    y  
        
 x   x  x   x   x  x   
 y  
       
 x j  ,j  ,  y  y    y  
  y   y  


 y  y    y  

Giai đoạn 1: Tìm giả phương án


- Tìm các ràng buộc độc lập tuyến tính của bài toán đối ngẫu
Ma trận A các hệ số của bài toán gốc

      
A        
      

Ta thấy định thức của ma trận các hệ số của hệ vectơ cột A1, A2, A4 là

  
D=    
  

Vậy hệ độc lập tuyến tính


Khi đó các ràng buộc độc lập tuyến tính tương ứng là
y1 ≤ 1;
y2 ≤ -1
y1 + y2 +2y3 ≤ -2
- Tìm phương án cực biên đối ngẫu
Giả sử phương án cực biên của bài toán đối ngẫu cần tìm là y0 = (y1, y2, y3)
Theo định lý về độ lệch bù thì ta phải có

3
 A , y     A , y   
 


 A , y    A , y   
(3.17) và (3.18)
 

 A , y    A , y   

Giải hệ 3.17

  
 
    ( y , y , y )  
 
 
  
 
    ( y , y , y )  
  
 
  
 
    ( y , y , y )  
  
 

Ta được nghiệm y0 = (1,-1,-1)


Ta thấy y0 = (1,-1,-1) thỏa mãn các ràng buộc trong hệ 3.18 vì:
  
 
    (,, )    
 
 
  
 
    (, , )    
  
 
  
 
    (, ,)    
  
 

Vậy y0 = (1,-1,-1) là phương án cực biên đối ngẫu với các ràng buộc độc lập tuyến tính
- Tìm giả phương án

- Để tìm giả phương án x ta giải hệ phương trình x A


jJ
j j b


 
 x A  x A  x A   

 

4
           x  x  
        
 x     x     x         x  x  
           x  
         

Giải hệ ta được x1 = -5/2; x2 = 15/2; x4 = 9/2.


Giai đoạn 2: Kiểm tra điều kiện tối ưu

- Ta phải tính các zjk từ hệ thống Ak =  z jk A j


jJ

      
       
A3 =    =
 
j J
z j  A j = z A  z A  z A = z     z     z   
   
       

 1
z  
 z13  z 43  0 
13
2
 
 z 23  z 43  0  
 z 23  
1
2 z  1  2
 43
 1
 z 43 
 2

Hoàn toàn tương tự ta có


      
       
A5 =   
 
= z
j J
j Aj = z15A1 + z25A2 + z45A4 = z     z     z   
   
       

 
 z   
 z   
  
 z    và  z   
z  
    
 z  
 

- Xây dựng bảng đơn hình

Cj Cơ sở Phương 1 -1 0 -2 2 -3
án
A1 A2 A3 A4 A5 A6

1 A1 -5/2 1 0 -1/2 1 -1 (-5/2)

5
-1 A2 15/2 0 1 -1/2 1 -2 -1/2
-2 A4 9/2 0 0 1/2 2 2 3/2

 -19 0 0 -1 -2 -5 -2

-3 A6 1 -0,4 1 1/5 -2/5 1 1


-1 A2 8 -0,2 0 -2/5 4/5 -9/5 0
2 A4 3 -0,8 1 1/5 13/5 7/5 0

 -17 -0,8 0 -3/5 -14/5 -31/5 0

ta có xj  0 với jJ
Vậy ta có phương án tối ưu x = (0,8,0,3,0,1) fmin = -17
Chú ý:
- Bài toán dạng chính tắc có một cơ sở dạng {±e} đễ dàng lập bảng đơn hình tương
ứng với cơ sở này, nếu k ≤ 0 với kJ thì đó là cơ sở đối ngẫu và áp dụng được
thuật toán
- Biết phương án cực biên y của bài toán đối ngẫu của bài toán dạng chính tắc, khi
đó xác định cơ sở của y, tìm ma trận hệ số phân tích theo cơ sở này ta lập bảng
đơn hình tương ứng nhưng cần nhớ rằng k ≤ 0 với kJ.

Ví dụ 2:
Giải bài toán sau bằng phương pháp đơn hình đối ngẫu
f  x1  3x2  2 x3  3x4  5 x5  min
 x1  2 x2  x3  x4  x5  3

 x2  x3  2 x4  4 x5  18

 x2  3x3  2 x5  10
 x  0, j  1,5
 j

Chuyển về chính tắc (thêm 2 biến phụ x6, x7)

6
f  x1  3x2  2 x3  3x4  5 x5  min
 x1  2 x2  x3  x4  x5  3

 x2  x3  2 x4  4 x5  x6  18
 (*)
 x2  3x3  2 x5  x7  10
 x  0, j  1,7
 j

Cơ sở (A1 , A6 , A7) dạng (+/- e)  đổi dấu ràng buộc số 2  Giả phương án

f  x1  3 x2  2 x3  3 x4  5 x5  min
 x1  2 x2  x3  x4  x5  3

 x2  x3  2 x4  4 x5  x6  18
 (**)
  x 2  3 x3  2 x5  x7  10
 x  0, j  1,7
 j

Cơ sở (A1, A6 , A7 )
Giả phương án x1 = -3; x6 = -18; x7 =10, ứng với biến cơ sở x1, x6 , x7
Bảng 1

Hệ
Phương án 1 3 2 3 5 0 0
số Cơ
Bước x
sở J
C
j
j x1 x2 x3 x4 x5 x6 x7

1 x1 -3 1 2 -1 1 -1 0 0

0 x6 -18 0 1 1 -2 -4 1 0
1
0 x7 10 0 -1 -3 0 2 0 1

F(x)=-3 0 -1 3 -2 -6 0 0

7
Bảng 2, 3

Phương 1 3 2 3 5 0 0
Hệ số Cơ
Bước án
Cj sở J
xj x1 x2 x3 x4 x5 x6 x7

1 x1 -12 1 5/2 -1/2 0 -3 1/2 0

3 x4 9 0 -1/2 -1/2 1 2 -1/2 0


2
0 x7 10 0 -1 -3 0 2 0 1

F(x)=15 0 -2 -4 0 -2 -1 0

5 x5 4 -1/3 -5/6 1/6 0 1 -1/6 0

3 x4 1 2/3 7/6 -5/6 1 0 -1/6 0


3
0 x7 2 2/3 2/3 -10/3 0 0 1/3 1

F=23 -2/3 -11/3 -11/3 0 0 -4/3 0

Ta có xj > 0  PATU x4 =1, x5 = 4, x7 =2


Tức là X* = ( 0,0,0,1,4,0,2), f(x* ) = 23
Tìm y
Phương án của bài toán đối ngẫu g(y) = 23, xác định bởi hệ < Aj ,y> = cj với j thuộc J là cơ
sở của bảng cuối (j= 5,4,7), hệ số Aj lấy từ phương trình dạng chính tắc (*)
Giải hệ:

 y1  4 y2  2 y3  5  y1  1 / 3
 
 y1  2 y2  3  y2  4 / 3
y  0 y  0
 3  3

Y = (1/3,4/3,0)
Chú ý: Nếu lấy Aj từ phương trình (**) thì y = (1/3,-4/3,0), g(y) = 23
Chú ý:
8
Biết phương án cực biên y của bài toán đối ngẫu của bài toán dạng chính tắc khi đó xác
định cơ sở của y.
Tìm ma trận hệ số phân tích theo cơ sở này ta lập bảng đơn hình tương ứng (nhớ rằng trong
bảng phải có delta k <= 0 với mọi k không thuộc J)
Ví dụ 3:
Viết bài toán đối ngẫu, chứng tỏ y0 = (3,-1,1) là phương án cực biên của bài toán đối ngẫu.
Xuất phát từ y0 giải bài toán bằng phương pháp đối ngẫu.

f  2 x1  3x2  4 x3  3x4  x5  min


 x1  x2  2 x3  x5  6

 x1  3x2  x3  2 x4  2 x5  21

2 x1  x2  3x3  x4  6
 x  0, j  1,5
 j
Chuyển về dạng chính tắc. Thêm biến x6, x7
f  2 x1  3x2  4 x3  3x4  x5  min
 x1  x2  2 x3  x5  x6  6

 x1  3x2  x3  2 x4  2 x5  x7  21

2 x1  x2  3x3  x4  6
 x  0, j  1,7
 j

9
Bài toán đối ngẫu
 6 y1  21 y2  6 y3  max
 y1  y2  2 y3  2
y  3y  y  3
 1 2 3

 2 y1  y2  3 y3  4

  2 y 2  y3  3
 y  2 y  1
 1 2

 y1  0

 y2  0

Thử y0 =(3,-1,1) vào ràng buộc  y1  y2  2 y3  2(1)


 thỏa mãn 1 y  3 y  y  3(2)
 Y0 là phương án cực biên  1 2 3

 2 y1  y2  3 y3  4(3)
Thay y0 vào các ràng buộc 1,3,4 thỏa mãn dấu = 
y0 là nghiệm của hệ  2 y2  y3  3(4)
 y  2 y  1(5)
 y1  y2  2 y3  2(1)  1 2

  y1  0(6)
 2 y1  y2  3 y3  4(3) 
 2 y  y  3(4)  y2  0(7)
 2 3

Hệ là độc lập tuyến tinh nên y0 là phương án cực biên không suy biến
Vậy cơ sở với phương án cực biên y0 là (A1, A3, A4) .
Tìm ma trận hệ số phân tích theo cơ sở này
Biến đổi sơ cấp trên các dòng của ma trận mở rộng sao cho ma trận thu được có các cột
lập thành ma trận đơn vị.
Sử dụng thuật toán đơn hình đối ngẫu để giải sau khi có vecto cơ sở là ma trận đơn vị

10

You might also like