You are on page 1of 5

Bài 1:

Dạng bài toán QHTT


* Dạng tổng quát
n
(1) f (x) = ∑ c j x j → min(max)
j=1

 n
 ∑ a ij x j = bi , i ∈ I1
 j=1
 n
(2) ∑ a ij x j ≤ bi , i ∈ I 2
 j=1
 n
 ∑ a ij x j ≥ bi , i ∈ I3
 j=1
(3) x j ≥ 0 j ∈ J1 , x j ≤ 0 j ∈ J 2 , x j tu`y y ' j ∈ J 3
Trong đó
- f(x) là hàm mục tiêu
- I1 , I2 , I3 là rời nhau và I1 U I2 U I3 ={1,2, …,m}
- J1 , J2 , J3 là rời nhau và J1 U J2 U J3 = {1,2,…,n}
- A= (aij)mxn : Ma trận hệ số ràng buộc
- B= (b1 , b2, …, bm): Vectơ các hệ số tự do
- C= (c1 , c2, …,cm): Vectơ các hệ số ẩn trong hàm mục tiêu
- X=(x1, x2, …,xn): Vectơ các ẩn số
* Dạng chính tắc
n
(1) f (x) = ∑ c j x j → min(max)
j=1
n
(2) ∑a x
j=1
ij j = bi , i = 1..m

(3) x j ≥ 0 j = 1..n
* Dạng chuẩn
n
(1) f (x) = ∑ c j x j → min(max)
j=1
n
(2) ∑a x
j=1
ij j = bi , i = 1..m

(3) x j ≥ 0 j = 1..n
Trong đó :
- Các hệ số tự do b1, b2, …, bm đều không âm.
- Trong ma trận hệ số ràng buộc A = (aij)mxn có đầy đủ m vectơ cột đơn vị e1, e2, …,em:
1 0 0
     
0 1 0
e1 =   ;e 2 =   ;...; em =  
 ...   ...   ... 
     
0 0 1

Dạng tổng quát Dạng chính tắc Dạng chuẩn

Ths Đức 0972 670 808 1 onthicaohoc_toankinhte@yahoo.com


Bài 2: Phương pháp đơn hình
Bước 1: Lập bảng đơn hình xuất phát
* Xác định pacb ban đầu xuất phát: x = (x1 , x 2 ,..., x n ) . Là phương án có các ẩn không cơ bản đều là số
0, ẩn cơ bản có giá trị bằng các hệ số tự do
* Xác định J(x) = { j/ x j > 0}
* Xác định hệ ẩn cơ bản {x j j ∈ J(x)}
* Lập bảng đơn hình xuất phát sau:
c1 c2 … cn
Ẩn cơ bản Hệ số Phương án λj
x1 x2 … xn

xj cj bj zj1 zj2 … zjn λ jn

f ∆1 ∆2 … ∆n

Trong đó: f = ∑ cx
j∈J(x )
j j = f (x) : giá trị hàm mục tiêu tương ứng với x (f = cột Hệ số* cột Phương án)

∆k = ∑ cz
j∈J(x )
j jk − c k : hệ số ước lượng của biến xk, k=1..n ( ∆ k = cột Hệ số*cột zjk –ck)

Lưu ý: ∆ k = 0, k ∈ J(x) (ứng với các ẩn cơ bản).


f (x) = x1 − 2x 2 + 2x 3 − x 4 + x 5 − 2x 6 → min
 2x1 − x 2 − 5x 3 + x 4 = 5

 x1 − 2x 2 + 2x 3 + x 5 = 4
−4x + x + x + x = 2
 1 2 3 6

x j ≥ 0, j = 1..6
Giải:
Ta có: c= (1,-2,2,-1,1,-2)
Các biến cơ bản là x4, x5, x6
Các biến không cơ bản: x1, x2, x3
x=(0,0,0,5,4,2), J(x)= {4,5,6}
 2 −1 −5 1 0 0 
A =  1 −2 2 0 1 0 
 −4 1 1 0 0 1 
 
 2  −1  −5  1 0 0
A1 =  1  , A 2 =  2  , A 3 =  2  . Tương tự cho các biến cơ bản A 4 =  0  , A 5 =  1  , A 6 =  0 
         
 −4  1 1 0    
        0 1

Ths Đức 0972 670 808 2 onthicaohoc_toankinhte@yahoo.com


Ẩn cơ Hệ số PA 1 -2 2 -1 1 -2
bả n cj x1 x2 x3 x4 x5 x6
x4 -1 5 2 -1 -5 1 0 0
x5 1 4 1 -2 2 0 1 0
x6 -2 2 -4 1 1 0 0 1
-5 (6) -1 3 0 0 0
Bước 2: Xét dấu hiệu tối ưu
* Xem dòng ghi ∆1 , ∆ 2 ,..., ∆ n
- Nếu có ∆ k ≤ 0, ∀k : phương án đang xét là PATU. Thuật toán kết thúc
- Nếu không: bước 3
Bước 3: Xét dấu hiệu không tối ưu
* Xét xem có cột ∆ k sao cho ∆ k > 0 và mọi phần tử thuộc cột này ( ở bước lặp đang xét ) đều ≤ 0
không?.
- Nếu có : BT không có PATU. Thuật toán kết thúc
- Nếu không bước 4
Bước 4: Cải tiến PA ( Tìm pacb tốt hơn)
Tìm pacb x ' = (x '1 , x '2 ,..., x 'n ) tốt hơn pacb x: f(x’) <= f(x)
Lập bảng đơn hình mới từ bảng đơn hình cũ như sau
a) Chọn ẩn đưa vào hệ ẩn cơ bản
Chọn s sao cho ∆ v = max {∆ k ∆ k > 0} . Chọn cột có ∆ k dương lớn nhất . Khi đó xv là ẩn mà ta sẽ đưa
vào hệ ẩn cơ bản.
b) Chọn ẩn đưa ra khỏi hệ ẩn cơ bản
b  b j  
Chọn λ r = r = min   j ∈ J(x) và z jv > 0  . Khi đó ẩn xr là ẩn đưa ra khỏi hệ cơ bản.
z rv  
 z jv  
Bước 5: Tìm phần tử chốt
Phần tử chốt là phần tử giao giữa ẩn đưa vào và ẩn đưa ra: zrv
Bước 6: Biến đổi bảng
• Trong cột Ẩn cơ bản ta thay xr bằng xv. Trong cột hệ số ta thay cr bằng cv.
h
• Dùng phép biến đổi h r = r : nghĩa là hàng r mới = hàng r cũ /phần tử chốt.
z rv
• Với các hàng i ≠ r ta dùng phép biến đổi:
z jv * z rk
z 'jk = z jk −
z rv
 z rk   z rv Phần tử chốt
  chia  
   
  nhân  
   
 z jk ?   z jv 

zrv zrv

zrv
Bước 7: Quay về bước 2 zrv

Ths Đức 0972 670 808 3 onthicaohoc_toankinhte@yahoo.com


*Lưu ý: Quy tắc chỉ số bé nhất của R.G.Bland
*Trong các cột có ∆ dương thì ta chọn cột có chỉ số nhỏ nhất
* Nếu có nhiều λ r để chọn thì chọn dòng có chỉ số nhỏ nhất.

Bài 5: Bài toán Đối ngẫu


1. Quy tắc thành lập bài toán Đối ngẫu
* Hàm mục tiêu của Bài toán (BT) gốc → min(max) ⇔ Hàm mục tiêu của BT Đối ngẫu → min(max)
* Hệ số của hàm mục tiêu của BT gốc là hệ số vế phải của ràng buộc chung của BT Đối ngẫu.
Hệ số vế phải của ràng buộc chung của BT gốc là hệ số của hàm mục tiêu của BT Đối ngẫu
* Ma trận hệ số của BT gốc lấy chuyển vị thành ma trận hệ số của BT Đối ngẫu.
* Số ràng buộc chung của BT gốc là số biến của BT Đối ngẫu
*Quy tắc về dấu như sau:
Dấu một ràng buộc chung của bài toán gốc quy định dấu của một ràng buộc biến tương ứng cùa BT Đối
ngẫu
Dấu một ràng buộc biến của BT gốc quy định dấu của một ràng buộc chung tương ứng của BT Đối
ngẫu.

Cách nhớ:
Bài toán gốc min: ràng buộc chung cùng dấu, ràng buộc biến trái dấu.
Bài toán gốc max: ràng buộc chung trái dấu, ràng buộc biến cùng dấu.
Ví dụ:
f (x) = x1 − 2x 2 + 3x 4 → min BT DN g(y) = 7y1 + y 2 − 2y3 → max
 x1 + 3x 2 + 4x 3 + x 4 ≥ 7  y1 + 0y 2 + 5y3 ≤ 1
 − x + 2x + 6x ≤ 1 3y − y + 5y ≥ −2
 2 3 4  1 2 3
  , y1 ≥ 0, y 2 ≤ 0, y3 tùy ý
 15x + 5x 2 + x 3 + 8x 4 = −2  14y + 2y 2 + y 3 =0
 x1 ≥ 0, x 2 ≤ 0, x 3 , x 4 tùy ý  y1 + 6y 2 + 8y3 = 3
 1 0 5
1 3 4 1  
  3 −1 5 
A =  0 −1 2 6  AT = 
5 5 1 8  4 2 1
   
 1 6 8

Ths Đức 0972 670 808 4 onthicaohoc_toankinhte@yahoo.com


2. Cách tìm PATU của BT Đối ngẫu
* Từ PATU của Bài Toán gốc (BT Đối ngẫu) x ' = (x '1 , x '2 ,..., x 'n ) ( hoac y ' = (y '1 , y '2 ,..., y 'n ) ) ta thế
vào các ràng buộc chung của BT gốc ( BT Đối ngẫu).
* Kiểm tra xem trong các ràng buộc chung BT gốc nếu ràng buộc nào không xảy ra dấu ‘=’ thì ẩn
tương ứng trong BT Đối ngẫu sẽ ‘=0’
* Ngược lại nếu trong PA x ' = (x '1 , x '2 ,..., x 'n ) của BT gốc, giá trị x i' > 0 thì phương trình thứ i trong
BT Đối ngẫu sẽ xảy ra dấu ‘=’.

Ths Đức 0972 670 808 5 onthicaohoc_toankinhte@yahoo.com

You might also like