You are on page 1of 104

Phần Qui hoạch tuyến tính

§1 Khái niệm cơ bản về bài toán qui hoạch


tuyến tính
§2 Thuật toán đơn hình

§3 Bài toán đối ngẫu


§1 Bài toán qui hoạch tuyến tính

1. Bài toán thực tế dẫn tới bài toán qui hoạch


tuyến tính
2. Các dạng của bài toán qui hoạch tuyến tính.

3. Các tính chất


Vấn đề thực tế dẫn tới bài toán QHTT
VD 1: Một người có 70 triệu đồng, muốn đầu tư vào
các loại hình sau: Tiết kiệm không kì hạn 6,5%; tiết
kiệm có kì hạn 8,5%, mua trái phiếu 10%; cho tư
nhân vay 13% (lãi suất trên năm). Để hạn chế rủi ro,
chuyên gia tư vấn khuyên: Không cho tư nhân vay
quá 20% số vốn; Số tiền đầu tư vào trái phiếu không
được vượt quá tổng số tiền đầu tư vào 3 lĩnh vực kia
và Ít nhất 30% số tiền đầu tư phải là gửi tiết kiệm có
kì hạn hoặc trái phiếu. Nếu người này muốn đầu tư
toàn bộ số tiền trên trong vòng 1 năm, tìm cách đầu
tư để thu được lợi nhuận tối đa? Hãy thiết lập mô
hình bài toán này!
Vấn đề thực tế dẫn tới bài toán QHTT
Gọi x1, x2, x3, x4 lần lượt là số tiền đầu tư vào
các lĩnh vực tiết kiệm không kì hạn, tiết kiệm có kì
hạn, mua trái phiếu, cho tư nhân vay. Theo bài ra ta
có các điều kiện:
x4  14.000.000
x3  x 1 + x 2 + x 4
x2 + x3 ≥ 21.000.000
x1 + x2 + x3 + x4 = 70.000.000
j  1, 4
xj ≥ 0
Để lợi nhuận đầu tư đạt tối đa thì:
F(x) = 0,065x1 + 0,085x2 + 0,1x3 + 0,13x4  Max
Vấn đề thực tế dẫn tới bài toán QHTT
VD 2: Có 3 xí nghiệp A, B, C có khả năng sản xuất
3 sản phẩm S1, S2, S3. Biết cứ mỗi đơn vị tiền tệ đầu
tư vào A sẽ sản xuất được 1200, 800, 1050 sản phẩm
S1, S2, S3. Đầu tư vào B được 1000, 740, 900. Đầu tư
vào C được 1100, 600, 1000. Mức tiêu hao nguyên
liệu và lao động cho bởi bảng sau:
S1 S2 S3

nghiệp NL GC NL GC NL GC
(1Kg/sp) (giờ/1sp) (1Kg/sp) (giờ/1sp) (1Kg/sp) (giờ/1sp)
A 4 2 10 4 8 4,5
B 4,2 3 9 4,5 7,8 5
C 4,5 2,5 10,5 5 8,4 4
Vấn đề thực tế dẫn tới bài toán QHTT
Tổng số lao động và nguyên liệu có thể cung
cấp lần lượt là: 2.000 giờ công, 39.000 kg. Theo kế
hoạch sản xuất không được ít hơn 2.300 sp S 1;
1.800 sp S2; 2.100 sp S3

S1 S2 S3

nghiệp NL GC NL GC NL GC
(1Kg/sp) (giờ/1sp) (1Kg/sp) (giờ/1sp) (1Kg/sp) (giờ/1sp)
A 4 2 10 4 8 4,5
B 4,2 3 9 4,5 7,8 5
C 4,5 2,5 10,5 5 8,4 4
Các dạng của bài toán QHTT – Dạng TQ
Tìm x = (x1, x2, . . . , xn) sao cho:
n
f (x)   c j .x j  Min (Max)
j 1

n  
  
(*)  a ij . x j   bi (i  1, m)
 j 1   

- f(x) được gọi là hàm mục tiêu
- Hệ (*) được gọi là hệ ràng buộc
- Bộ số x = (x1,. . ., xn) thõa mãn hệ ràng buộc
được gọi là một phương án của bài toán. Tập hợp tất
cả các PA của bài toán được gọi là miền xác định
của bài toán, kí hiệu: D.
Các dạng của bài toán QHTT – Dạng TQ
Các dạng của bài toán QHTT – Dạng TQ
VD: Cho bài toán QHTT:
f(x) = 2x1 – 3x2 + 4x3 + 5x4  Min
 2x1  x 2  x 3  x 4  3

 x1  x 2  x 3  2x 4   1
 x  0; x  0; x  0; x  0
 1 2 3 4

Trong các phương án sau đâu là: PACB;


PACB suy biến; PACB không suy biến:
X1 = (0;1;2;0) X2 = (0;3;0;0) X3 = (0; 1;1; 0)
Các dạng của bài toán QHTT – Dạng TQ
- Một phương án thõa mãn: f(x0)  f(x)
 x  D thì x0 được gọi là phương án tối ưu
(PATƯ) khi hàm f(x) nhận giá trị min.
- Bài toán QHTT gọi là giải được nếu nó có ít
nhất một PATƯ.
Các dạng của bài toán QHTT – Dạng CT
f (x)  c1x1  ....  c n x n  Min (Max)
 a11x1  a12 x 2  ...  a1n x n  b1

 a 21x1  a 22 x 2  ...  a 2n x n  b 2

................................................
a x  a x  ...  a x  b
 m1 1 m2 2 mn n m

x j  0  j  1, n

Với bài toán chính tắc thì: Ràng buộc chính có
dấu bằng và điều kiện các ẩn lớn hơn hoặc bằng 0
Các dạng của bài toán QHTT – Dạng CT
Phương pháp chuyển BT dạng TQ về bài toán CT
n

- Nếu ràng buộc có dạng:  a .x


j 1
ij j  bi

thì ta cộng thêm vào ẩn phụ xn + 1 để có:


n

 a .x
j 1
ij j  x n 1  bi (x n 1  0)
n

- Nếu ràng buộc có dạng:  a .x


j 1
ij j  bi

thì ta trừ đi ẩn phụ xn + 1 để có:


n

 a .x
j 1
ij j  x n 1  bi (x n 1  0)
Cách chuyển bài toán dạng TQ về bài toán CT
- Nếu có ẩn xj  0 thì ta thay xj bằng xj’ bằng
cách đặt: xj = - xj’ với xj’  0.
- Nếu có ẩn xj chưa xác định dấu thì ta đặt:
xj = xj’ - xj’’ với xj’  0; xj’’  0.
Cách chuyển bài toán dạng TQ về bài toán CT
Ví dụ: Hãy đưa bài toán sau về dạng chính tắc.
f(x) = 2x1 + x2 – x3  Min
2x1  x 2  x 3  5
4x  2x  x  8
 1 2 3

3x1  x 2  3x 3  6
 x1  0; x 2  0
Lưu ý:
- Nếu bài toán dạng chính tắc không có PATU
thì bài toán tổng quát cũng ko có PATU
- Nếu bài toán chính tắc có PATU thì bài toán
tổng quát có PATU là PATU của bài toán chính tắc
bỏ đi ẩn phụ
Các dạng của bài toán QHTT – Dạng chuẩn
Ẩn xj được gọi là ẩn cơ sở của ràng buộc
chính thứ i nếu hệ số ở ràng buộc i bằng 1 còn các
ràng buộc chính còn lại bằng 0
Bài toán QHTT dạng chuẩn là bài toán
QHTT dạng chính tắc có bi  0 i và mỗi ràng
buộc chính có ít nhất một ẩn cơ sở
Các dạng của bài toán QHTT – Dạng chuẩn
Bài toán QHTT dạng chuẩn:
f (x)  c1x1  ....  c n x n  Min (Max)
 x1  a1(m 1) x m 1  ...  a1n x n  b1

 x2  a 2(m 1) x m 1  ...  a 2n x n  b 2

....................................................................
 x m  a m(m 1) x m 1  ...  a mn x n  b m

x  0 j  1, n
 j
PA CB xuất phát: x0 = (b1, b2, …. , bm, 0, …. , 0)
Các dạng của bài toán QHTT – Dạng chuẩn
Ví dụ: Cho bài toán QHTT:
f(x) = x1 - 2x2 + x3 - 3x4 + x5  Min
 x1  x 2  x5  1
 3x  x  2x  4
 2 3 5
  2x  x 4  x5  1
 2

 x j  0 j  1, 5

Bài toán trên có phải là bài toán dạng chuẩn
không? Vì sao? Tìm phương án cơ bản xuất phát?
Các tính chất của bài toán QHTT
Định lí 1:
Nếu bài toán QHTT có tập phương án D  
và hàm mục tiêu F(x) bị chặn trên D (bị chặn dưới
đối với bài toán Min, bị chặn trên đối với bài toán
Max) thì có phương án tối ưu.
Lưu ý: Nếu bài toán QHTT dạng chính tắc thõa mãn
điều kiện trên thì bài toán có PACB tối ưu
Định lí 2:
Nếu bài toán QHTT có nhiều hơn một phương
án tối ưu thì bài toán đó sẽ có vô số PATU
Các tính chất của bài toán QHTT
VD: Cho bài toán QHTT:
f(x) = 2x1 + 3x2 + 4x3  Min

 x1  x 2  2x 3 p

 2x 2  x4  6
x  0
 2
Trong đó p là tham số. Chứng minh bài toán
có PATƯ với mọi p .
§2 PHƯƠNG PHÁP ĐƠN HÌNH

1. Phương pháp chuyển đổi ẩn cơ sở của hệ


phương trình tuyến tính
2. Cơ sở của phương pháp đơn hình
3. Thuật toán đơn hình
4. Tìm phương án tối ưu khác
5. Phương pháp giải bài toán Max

6. Phương pháp đơn hình mở rộng


Phương pháp đổi ẩn cơ sở của hệ ràng buộc
Cho hệ ràng buộc của bài toán QHTT dạng chuẩn:
 x1  a1(m 1) x (m 1)  .....  a1n x n  b1

 x2  a 2(m 1) x (m 1)  .....  a 2n x n  b 2

................................................................................
 x  a x  .....  a x  b
 m m(m  1) (m 1) mn n m

x1, ……, xm là ẩn cơ sở của hệ phương trình


trên và ta có một phương án cơ bản tương ứng sẽ
là:
x0 = (b1, b2, …. , bm, 0, …. , 0)
Phương pháp đổi ẩn cơ sở của hệ ràng buộc
Ta biến đổi tương đương trên hệ phương trình
sao cho ẩn cơ sở của ràng buộc chính k là x k với
k = 1,…, m được thay thế bởi ẩn x h với h= m+1,…, n.
Khi đó ta biến đổi tương đương trên hệ pt sao cho:
- Hệ số xh tại ràng buộc chính thứ k là 1 và tại
các ràng buộc chính còn lại bằng 0.
Phương pháp đổi ẩn cơ sở của hệ ràng buộc
Ví dụ: Cho bài toán QHTT:
f(x) = x1 - 2x2 + x3  Min
 x1  x 2  x5  3
 3x  x  2x 5  4
 2 3
  2x  x 4  x5  1
 2

 x  0 j  1, 5
 j
Hãy thay thế ẩn cơ sở x3 bằng ẩn cơ sở x2 và
chỉ ra PACB mới.
Cơ sở của phương pháp đơn hình
Phương pháp đơn hình đưa ra phương pháp
giải bài toán QHTT dạng chuẩn.
Cơ sở của phương pháp đơn hình
Xét bài toán QHTT:
n
f (x)   c j .x j  Min
j 1

 n m

 x i   a i,m  k . x m  k  bi (i  1, m)
 k 1
 x  0 j  1, n; b  0 i  1, m
 j i

Ta có phương án cơ bản của bài toán:


x0 = (b1, b2, …. , bm, 0, …. , 0)
Giá trị hàm mục tiêu tại x0:
f(x0) = b1c1 + …. + bmcm
Cơ sở của phương pháp đơn hình
Gọi x = (x1, … , xn) là một phương án bất kì
của bài toán trên, xét: n
f (x)   ci .x i
i 1
Vì x là phương án nên thõa mãn ràng buộc
sau đó thay vào hàm mục ntiêu và biến đổi ta có:
f (x)  f (x )    j .x j
0
(*)
j 1
m
Với:  j   ci .a ij  c j j  1, n
i 1

Lưu ý: j  0 j  1, m
Với xj là ẩn cơ sở
Cơ sở của phương pháp đơn hình
n
f (x)  f (x 0 )    j .x j (*)
j 1

Do x là phương án nên: xj  0, khi đó nếu


j  0 với mọi j thì f(x)  f(x0). Hay x0 là phương
án tối ưu.
Định lí:
 Nếu một PACB mà j  0 với mọi j thì đó
là PATU.
 Nếu một PACB mà tồn tại j > 0 và aij  0
với mọi i, thì bài toán không có PATU
 Nếu một PACB nào đó mà mỗi j > 0 đều
tồn tại ít nhất một aij > 0 thì ta có thể tìm được một
phương án mới tốt hơn
Cơ sở của phương pháp đơn hình
Chứng minh:
ii) Giả sử ta có PACB: x0 = (b1,…,bm,0, …. , 0)
thõa mãn điều kiện của định lí.
Tức là tồn tại m + h > 0 mà ai,m + h  0 với mọi i
Xét dãy số xp = {xjp} j = 1, 2,…, n xây dựng
như sau:  x p  p p0
m h

 p
xi  x m  k  0
p
k  1, n  m, k  h
 p
 x i  bi  a i, m  h .p j  1, m
Rõ ràng xp được xây dựng như trên là một
phương án của bài toán dạng chuẩn với mọi p > 0. Vì
xp là một phương án nên ta có:
Cơ sở của phương pháp đơn hình
n
f (x p )  f (x 0 )    j .x pj
j 1
 f (x 0 )   m  h . x pm  h

 f (x )  p.  m  h
0

Với p > 0 tùy ý nên ta chọn p  + ,  > 0 khi


đó f(xp)  -  nên hàm mục tiêu giảm vô hạn
Nghĩa là bài toán không có phương án tối ưu.
Cơ sở của phương pháp đơn hình
Chứng minh:
iii) Giả sử ta có PACB: x0 = (b1,…,bm,0, …. , 0)
thõa mãn điều kiện của định lí.
Tức là với mọi m + k > 0 đều tồn tại ai,m + k > 0
với mọi k . Chọn m + h = Max {m + k: m + k > 0}
Xét dãy số x’ = {x’i} i=1,… ,n xác định như sau:
 x ,m  h   0

 ,
xi  x m  k  0
,
k  1, n  m, k  h
 ,
 x i  bi  a i, m  h . i  1, m
Rõ ràng x’ thõa mãn các ràng buộc chính của
bài toán QHTT.
Cơ sở của phương pháp đơn hình
Nên để x’ là một phương án thì:
x ,j  b j  a j, m  h .  0 j
Với những aj.m + h  0 thì hiển nhiên thõa mãn
Với những aj, m + h > 0 thì:
bj
0 j
a j, m  h
 b j  br
 0    min     0
a j, m h  0 a
 j, m  h  a r, m  h
Ta chọn  = 0 . Với  = 0 thì x’ là phương
án cơ bản với ẩn cơ sở đưa ra là xr và ẩn cơ sở đưa
vào là xm +h.
Cơ sở của phương pháp đơn hình
n
f (x , )  f (x 0 )    j .x ,j
j 1

 f (x 0 )   m  h .0
Vì m + h > 0, 0 > 0 nên f(x’) < f(x0) hay x’ là
phương án tốt hơn.
Cơ sở của phương pháp đơn hình
Ví dụ: Giải bài toán QHTT
f(x) = x1 – x2 - 2x4 + 2x5 - 3x6  Min
 x1  x 4  x5  x6  2
 x2  x4  x 6  12

 x 3  2x 4  4x 5  3x 6  9

 x  0  j  1, 6
 j
Cơ sở của phương pháp đơn hình
1 -1 0 -2 2 3
ci xi bi
x1 x2 x3 x4 x5 x6
1 x1 2 1 0 0 [1] 1 -1
-1 x2 12 0 1 0 1 0 1
0 x3 9 0 0 1 2 4 3
f(x) -10 0 0 0 2 -1 1
Xây dựng PA mới tốt hơn. 4 = 2 > 0 lớn nhất
nên x4 là ẩn đưa vào, lấy bi chia cho ai4 > 0 giá trị
nhỏ nhất đạt tại hàng i = 1 nên x 1 là ẩn đưa ra.
a14 = 1 là phần tử chủ yếu.
Cơ sở của phương pháp đơn hình
1 -1 0 -2 2 3
ci xi bi
x1 x2 x3 x4 x5 x6
-2 x4 2 1 0 0 1 1 -1
-1 x2 10 -1 1 0 0 -1 2
0 x3 5 -2 0 1 0 2 [5]
f(x) -14 -2 0 0 0 -3 3
Xây dựng PA mới tốt hơn. 6 = 3 > 0 lớn nhất
nên x6 là ẩn đưa vào, lấy bi chia cho ai6 > 0 giá trị
nhỏ nhất đạt tại hàng i = 3 nên x 3 là ẩn đưa ra.
a36 = 5 là phần tử chủ yếu.
Cơ sở của phương pháp đơn hình
1 -1 0 -2 2 3
ci xi bi
x1 x2 x3 x4 x5 x6
-2 x4 3 3/5 0 1/5 1 7/5 0
-1 x2 8 -1/5 1 -2/5 0 -9/5 0
-3 x6 1 -2/5 0 1/5 0 2/5 1
f(x) -17 -4/5 0 -3/5 0 -21/5 0
Phương án tối ưu của bài toán là :
(0,8,0,3,0,1)
Giá trị hàm mục tiêu đạt được là : f(x) = -17
Cơ sở của phương pháp đơn hình
Ví dụ: Giải bài toán QHTT:
f(x) = -7x1 + x2 + 3x3 + x4 + x5 + 6x6  Min
 x1  x 3  x 5  x 6  15
2x  x 4  2x 6  9
 1
3x  x  2x  4x 6  2
 1 2 3

 xj  0 j  1, 6

Giải:
Cơ sở của phương pháp đơn hình
-7 1 3 1 1 6
ci xi bi
x1 x2 x3 x4 x5 x6
1 x5 15 [1] 0 -1 0 1 -1
1 x4 9 -2 0 0 1 0 -2
1 x2 2 -3 1 2 0 0 4
f(x) 26 3 0 -2 0 0 -5
Xây dựng PA mới tốt hơn. 1 = 3 > 0 lớn nhất
nên x1 là ẩn đưa vào, lấy bi chia cho ai1 > 0 giá trị
nhỏ nhất đạt tại hàng i = 1 nên x 5 là ẩn đưa ra.
a11 = 1 là phần tử chủ yếu.
Cơ sở của phương pháp đơn hình

-7 1 3 1 1 6
ci xi bi
x1 x2 x3 x4 x5 x6
-7 x1 15 1 0 -1 0 1 -1
1 x4 39 0 0 -2 1 2 -4
1 x2 47 0 1 -1 0 3 1
f(x) -19 0 0 1 0 -3 -2
Bài toán không có phương án tối ưu
Vì tồn tại 3 = 1 và ai3 < 0 với mọi i = 1,2,3.
Thuật toán đơn hình
Từ phương án cơ bản x0 = (b1,…., bm,0,...., 0),
tức là các cơ sở là xi (i = 1, 2,.., m). Ta thành lập
bảng đơn hình và tính:
m
 j   ci .a ij  c j j  1, n
i 1

f(x0) = b1c1 + …. + bmcm


Chú ý: Nếu xj là ẩn cơ sở thì j = 0
Thuật toán đơn hình:
c1 c2 . . . . cm. ………. cn
Hệ Hệ ẩn Phương
x x . . …x …...……x
số CS án CB 1 2 m n

c1 x1 b1 1 0 . .. . . 0……………a1n
c2 x2 b2 0 1 .. . 0…...…... . . a2n
. . . . . . .
. . . . . . .
. . . . . . .
cm xm bm 0 0 ... 1. .. ...…… ..amn

f(x) f(x0) 0 0 . . . 0 m+ 1 . … n


Thuật toán đơn hình
Bước 1: Tính các j và kiểm tra các điều kiện:
- Nếu j  0 với mọi j thì đó là PATU
- Nếu j > 0 và aij  0 với mọi i, thì bài toán
không có PATU
Nếu không thõa mãn thì chuyển qua bước 2.
Bước 2: (Xác định ẩn cở sở mới)
- Trong số j > 0 chọn: Max{j: j > 0} = h ẩn
xh sẽ là ẩn đưa vào.
- Ẩn xr là ẩn được loại khỏi hệ ẩn cơ sở được
xác định:
bi br
Min   0
a ij  0 a a r, m  h
i, m  h
Thuật toán đơn hình:
Bước 3: (Chuyển bảng đơn hình)
- Phần tử arh nằm trên dòng r và cột h được gọi
là phần tử chủ yếu.
- Lập bảng đơn hình mới:
+ Dòng thứ r trong bảng mới ta lấy dòng
thứ r ở bảng cũ chia cho phần tử chủ yếu.
+ Trong cột h ở bảng mới chỉ có ở vị trí
arh = 1 còn các vị trí khác trong cột h bằng 0
+ Còn các vị trí khác còn lại trong bảng
đơn hình mới ta tính theo công thức hình chữ nhật:
a rh .a ij  a ih .a rj
a'ij 
a rh
Tiếp tục đánh giá phương án mới (quay về bước 1)
Thuật toán đơn hình
Ví dụ 2: Giải bài toán QHTT:
f(x) = 2x1 + 3x2 – x3 – x4  Min
 x1  x 2  x 3  1/ 2x 4  10

 x 2  4x 3  8x 4  8
  2x  2x  3x 4  20
 2 3

 xj  0 j  1, 4

Giải: Bài toán ở dạng chuẩn:
f(x) = 2x1 + 3x2 – x3 – x4  Min
 x1  x 2  x 3  1/ 2x 4  10

 x 2  4x 3  8x 4  x 5 8
  2x  2x  3x 4  x 6  20
 2 3

 xj  0 j  1, 6

Thuật toán đơn hình
ci xi bi 2 3 -1 -1 0 0
x1 x2 x3 x4 x5 x6
2 x1 10 1 -1 1 1/2 0 0
0 x5 8 0 1 -4 8 1 0
0 x6 20 0 -2 2 3 0 1
f(x) 20 0 -5 3 2 0 0
Xây dựng PA mới tốt hơn. 3 = 3 > 0 lớn nhất
nên x3 là ẩn đưa vào, lấy bi chia cho ai3 > 0 giá trị
nhỏ nhất đạt tại hàng i = 1 nên x 1 là ẩn đưa ra.
a13 = 1 là phần tử chủ yếu.
Thuật toán đơn hình

ci xi bi 2 3 -1 -1 0 0
x1 x2 x3 x4 x5 x6
-1 x3 10 1 -1 1 1/2 0 0
0 x5 48 4 -3 0 10 1 0
0 x6 0 -2 0 0 2 0 1
f(x) -10 -3 -2 0 1/2 0 0
Xây dựng PA mới tốt hơn. 4 = 1/2 > 0 lớn
nhất nên x4 là ẩn đưa vào, lấy bi chia cho ai4 > 0 giá
trị nhỏ nhất đạt tại hàng i = 3 nên x 6 là ẩn đưa ra.
a34 = 1 là phần tử chủ yếu.
Thuật toán đơn hình
ci xi bi 2 3 -1 -1 0 0
x1 x2 x3 x4 x5 x6
-1 x3 10 3/2 -1 1 0 0 -1/4
0 x5 48 14 -3 0 0 1 -5
-1 x4 0 -1 0 0 1 0 1/2
f(x) -10 -5/2 -2 0 0 0 -1/4
PATU của bài toán là : (0,0,10,0,48,0).
Giá trị hàm mục tiêu đạt được là :
f(x) = -10
Phương án tối ưu
Tại bảng đơn hình cuối cùng tương ứng với PATU x 0:
i) Nếu các j ứng với các ẩn không là ẩn cơ sở
đều là các số âm thì PATƯ tìm được là PATƯ duy
nhất của bài toán.
ii) Nếu tồn tại j ứng với các ẩn không là ẩn
cơ sở bằng không thì bài toán có thể có vô số
PATƯ.
Cách tìm một PATƯ khác:
Lập thêm bảng đơn hình mới với ẩn đưa vào
là ẩn không phải ẩn cơ sở mà có j = 0
Phương án tối ưu
Cách tìm tập hợp tất cả các PATƯ
Giả sử có hệ số ước lượng của một ẩn không
là ẩn cơ sở là k = 0 thì bài toán có bộ số:
zk = (zk1, zk2,……., zkn )
Với zkk = -1 và zkj = aik nếu xj là ẩn cơ sở thứ i, các
thành phần còn lại bằng 0.
Khi đó tập PATƯ của bài toán có dạng
x = x0 - .zk
với 0    0 = min{bi /aik} với aik > 0
Phương án tối ưu
Ví dụ: Cho bài toán QHTT:
f(x) = 5x1+ 4x2 + 5x3 + 2x4 + x5 + 3x6  Min
2x1  4x 2  3x 3  x 4  152
4x  2x  3x  x5  60
 1 2 3
3x  x3  x 6  36
 1

 xj  0 j  1, 6

a) Giải bài toán trên
b) Bài toán có PATƯ khác hay không? Nếu
có hãy tìm một PATƯ khác?
c) Hãy tìm PATƯ x* của bài toán có x*4 = 36
Phương án tối ưu
a) Giải bài toán:
5 4 5 2 1 3
ci xi bi x1 x2 x3 x4 x5 x6
2 x4 152 2 4 3 1 0 0
1 x5 60 4 2 3 0 1 0
3 x6 36 [3] 0 1 0 0 1
f(x) 472 12 6 7 0 0 0
Xây dựng PA mới tốt hơn. 1 = 12 > 0 lớn
nhất nên x1 là ẩn đưa vào, lấy bi chia cho ai1 > 0 giá
trị nhỏ nhất đạt tại hàng i = 3 nên x 6 là ẩn đưa ra.
a31 = 1 là phần tử chủ yếu.
Phương án tối ưu
5 4 5 2 1 3
ci xi bi
x1 x2 x3 x4 x5 x6
2 x4 128 0 4 7/3 1 0 -2/3
1 x5 12 0 2 5/3 0 1 -4/3
5 x1 12 1 0 1/3 0 0 1/3
f(x) 328 0 6 3 0 0 -4
Xây dựng PA mới tốt hơn. 2 = 6 > 0 lớn nhất
nên x2 là ẩn đưa vào, lấy bi chia cho ai2 > 0 giá trị
nhỏ nhất đạt tại hàng i = 2 nên x 5 là ẩn đưa ra.
a22 = 1 là phần tử chủ yếu.
Phương án tối ưu
5 4 5 2 1 3
ci xi bi
x1 x2 x3 x4 x5 x6
2 x4 104 0 0 -1 1 -2 2
4 x2 6 0 1 5/6 0 1/2 -2/3
5 x1 12 1 0 1/3 0 0 1/3
f(x) 292 0 0 -2 0 -3 0
Phương án tối ưu của bài toán là :
(12,6,0,104,0,0)
Giá trị hàm mục tiêu đạt được là : f(x) = 292
Phương án tối ưu
b) Lập bảng đơn hình mới với x6 là ẩn đưa vào và
x1 là ẩn đưa ra:
5 4 5 2 1 3
ci xi bi
x1 x2 x3 x4 x5 x6
2 x4 32 -6 0 -3 1 -2 0
4 x2 30 2 1 9/6 0 1/2 0
3 x6 36 3 0 1 0 0 1
f(x) 292 0 0 -2 0 -3 0
PATU khác của bài toán là: (0, 30,0, 32,0,36)
Giá trị hàm mục tiêu đạt được là : f(x) = 292
Phương án tối ưu
c) Từ cuối bảng đơn hình trong câu a) ta có: PATƯ
x0 = (12, 6, 0,104, 0, 0) và x6 không là ẩn cơ sở
nhưng 6= 0 nên ta có bộ số:
z6 = (1/3, -2/3, 0, 2, 0, -1)
Khi đó tập PATƯ của bài toán có dạng:
x = x0 - .z6 = (12 - /3; 6 + 2 /3, 0, 104 - 2 , 0, )

Với 0    36
Để PATƯ x* có x*4 = 32 thì:  = 36. Ta có
PATƯ cần tìm là:
x* = (0, 30, 0, 32, 0, 36)
Phương pháp giải bài toán Max
Cách 1: Nếu bài toán Max có hàm mục tiêu:
f(x)  Max
Khi đó ta chuyển về bài toán Min có hàm mục tiêu:
g(x) = - f(x)  Min
Nếu bài toán Min không có PATƯ thì bài
toán Max cũng không có PATƯ
Nếu bài toán Min có PATƯ là x0 thì đó cũng là
PATƯ của bài toán Max và: fmax = - g(x0)
Phương pháp giải bài toán Max
Cách 2: Thuật toán đơn hình đối với bài toán Max,
ta lập bảng đơn hình đối với PACB x0 :
i)  j  0 với j thì PATƯ
ii)  k < 0 và aik  0 với i thì bài toán
không có PATƯ
iii)  k < 0 đều  aik > 0. Ta xây dựng PA mới
tốt hơn. Ẩn được đưa vào ứng với k < 0 bé nhất
bi br
Min   0
a i,k  0 a a r, k
i, k
Khi đó ẩn xr là ẩn đưa ra khỏi cơ sở
Phương pháp giải bài toán Max
Ví dụ: Giải bài toán QHTT sau:
f(x) = 7x1 – x2 - 3x3 – x4 – x5 - 6x6  Max
 x1  x3  x 5  x 6  15

2x1  x4  2x 6  9
3x  x  2x  4x 6  2
 1 2 3

 xj  0 j  1, 6

Phương pháp giải bài toán Max
Giải:
7 -1 -3 -1 -1 -6
ci xi bi
x1 x2 x3 x4 x5 x6
-1 x5 15 1 0 -1 0 1 -1
-1 x4 9 -2 0 0 1 0 -2
-1 x2 2 -3 1 2 0 0 4
f(x) -26 -3 0 2 0 0 5
Xây dựng PA mới tốt hơn. 1 = -3 > 0 lớn
nhất nên x2 là ẩn đưa vào, lấy bi chia cho ai1 > 0 giá
trị nhỏ nhất đạt tại hàng i = 1 nên x 5 là ẩn đưa ra.
a11 = 1 là phần tử chủ yếu.
Phương pháp giải bài toán Max
7 -1 -3 -1 -1 -6
ci xi bi
x1 x2 x3 x4 x5 x6
7 x1 15 1 0 -1 0 1 -1
-1 x4 39 0 0 -2 1 2 -4
-1 x2 47 0 1 -1 0 3 1
f(x) 19 0 0 -1 0 3 2
Bài toán có 3 = -1< 0 và ai3 < 0 với mọi i nên
bài toán không có phương án tối ưu
Phương pháp đơn hình mở rộng
Phương pháp đơn hình mở rộng đưa ra phương
pháp giải bài toán QHTT dạng chính tắc.
Cách chuyển bài toán dạng chính tắc về bài
toán mở rộng (bài toán M) có dạng chuẩn:
- Nếu tồn tại bi < 0 ta nhân cả hai vế của ràng
buộc đó với (-1).
- Thêm vào mỗi ràng buộc thứ i một ẩn giả
xn + i  0 với i = 1, 2,..., m
- Hệ số ẩn giả trên hàm mục tiêu của bài toán
min là: M và bài toán Max là – M (Với M là số
dương lớn tùy ý)
Phương pháp đơn hình mở rộng
Bài toán QHTT dạng chính tắc:
n
n
f (x)   c j .x j  Min
 a ij . x j  bi (i  1, m)
 j 1
j 1
x  0 j  1, n
 j
Bài toán M (bài toán mở rộng):
n m
g(x)   c j.x j  M  x n  i  Min
j 1 i 1
n
 a ij . x j  x n i  bi (i  1, m)
 j 1
 x  0; x  0 j  1, n; i  1, m
 j n i

Với M là số dương lớn tùy ý


Phương pháp đơn hình mở rộng
Như vậy bài toán M có n + m ẩn và ta kí hiệu
phương án của bài toán M là:
(x, xn + i) = (x1, x2, …. , xn, xn + 1, …., xn + m)
Nếu x là một phương án của bài toán xuất
phát thì: (x, 0) = (x1, x2, …. , xn, 0, …., 0)
là một phương án của bài toán mở rộng
Nếu (x, 0) là một phương án của bài toán mở
rộng thì x = (x1, x2, …. , xn) là phương án của bài
toán xuất phát
Với bài toán mở rộng ta có phương án cơ bản
xuất phát:
(0, 0, ……,0, b1, b2, …. , bm)
Phương pháp đơn hình mở rộng
Tính chất 1: Nếu bài toán M không có PATƯ thì
bài toán xuất phát cũng không có PATƯ.
Chứng minh: Giả sử ngược lại, bài toán xuất phát có
PATƯ là x0, ta sẽ chứng minh (x0, 0) là PATƯ của
bài toán M. Thật vậy, giả sử (x, xn + i) là một phương
án của bài toán M
- Nếu xn + i = 0 với mọi i = 1, 2,…. , m thì:
g(x, xn + i) = g(x, 0) = f(x)  f(x0) = g(x0, 0)
- Nếu tồn tại x n  i0  0 thì :
g(x, xn + i)  f(x) + M. x n  i  f(x0) = g(x0, 0)
0
Vậy (x0, 0) là PATU của bài toán M (Mâu thuẫn
với giả thiết bài toán M không có PATƯ)
Phương pháp đơn hình mở rộng
Tính chất 2: Nếu bài toán M có PATƯ là (x, x n + i),
khi đó:
- Nếu (x, xn + i) = (x, 0) khi đó x sẽ là PATƯ của
bài toán xuất phát.
- Nếu xn + i > 0 thì bài toán xuất phát không có
phương án nên không có PATƯ
Phương pháp đơn hình mở rộng
Chứng minh kết luận thứ 3:
Bài toán M có PATƯ (x, xn + i) tồn tại x n  i0    0
Khi đó giả sử x0 là một phương án của bài toán
xuất phát thì (x0, 0) là phương án của bài toán mở
rộng. Ta có:
g(x, xn + i)  f(x) + .M > g(x0, 0)
Điều này mâu thuẫn với (x, xn + i) là PATƯ
Phương pháp đơn hình mở rộng
Khi xây dựng bài toán đơn hình mở rộng ta chỉ
thêm ẩn giả vào những ràng buộc chưa có ẩn cơ sở
Bài toán đơn hình mở rộng thì f(x), j phụ
thuộc vào M nên ta chia dòng tính f(x), j thành 2
hàng, 1 hàng ghi giá trị không phụ thuộc M, một
hàng ghi hệ số M. Nếu tới bước nào đó mà các ẩn
giả bị loại khỏi hệ ẩn cơ sở thì ta không chia hàng
tính giá trị f(x), j thành 2 hàng nữa.
Trong bảng đơn hình không cần ghi các cột
ứng với ẩn giả
Nếu f(x)  max thì hệ số của ẩn giả nằm trong
hàm mục tiêu của bài toán mở rộng là – M (Với M số
dương lớn tùy ý)
Bài toán đơn hình mở rộng
Ví dụ: Giải bài toán QHTT
f(x) = x1 + 2x2 – x3  Max

4x1  4x 2  2x 3   6
 x  x  2x  6
 1 2 3

2x1  x 2  2x 3  4
 x j  0 j  1, 2, 3

Bài toán đơn hình mở rộng
Bài toán mở rộng:
g(x) = x1 + 2x2 – x3 – Mx6 – Mx7  Max
4x1  4x 2  2x 3  x 4 6
 x  x  2x  x5  x6 6
 1 2 3
 2x  x  2x  x7  4
 1 2 3

 x  0  j  1, 7
 j
Bài toán đơn hình mở rộng
1 2 -1 0 0
ci xi bi
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
f(x) 0 -1 -2 1 0 0
-10 -3 0 -4 0 1
Xây dựng PA mới tốt hơn. 3 = 1 - 4M < 0 bé
nhất nên x3 là ẩn đưa vào, lấy bi chia cho ai3 > 0 giá
trị nhỏ nhất đạt tại hàng i = 3 nên x 7 là ẩn đưa ra.
a = 2 là phần tử chủ yếu.
Bài toán đơn hình mở rộng
1 2 -1 0 0
ci xi bi
x1 x2 x3 x4 x5
0 x4 10 -2 -5 0 1 0
-M x6 2 -1 2 0 0 -1
-1 x3 2 1 -1/2 1 0 0
f(x) -2 -2 -3/2 0 0 0
-2 1 -2 0 0 1
Xây dựng PA mới tốt hơn. 2 = -3/2 - 2M < 0
bé nhất nên x2 là ẩn đưa vào, lấy bi chia cho ai2 > 0
giá trị nhỏ nhất đạt tại hàng i = 2 nên x 6 là ẩn đưa
ra. a = 2 là phần tử chủ yếu.
Bài toán đơn hình mở rộng
1 2 -1 0 0
ci xi bi
x1 x2 x3 x4 x5
0 x4 15 -9/2 0 0 1 -5/2
2 x2 1 -1/2 1 0 0 -1/2
-1 x3 5/2 3/4 0 1 0 -1/4
f(x) -1/2 -11/4 0 0 0 -3/4
Bài toán Max và có 5 = -3/4 < 0 và ai5 < 0
với mọi i nên bài toán không có PATƯ
§3 BÀI TOÁN ĐỐI NGẪU

1. Định nghĩa bài toán đối ngẫu


2. Mối quan hệ giữa cặp bài toán đối ngẫu
3. Ứng dụng của bài toán đối ngẫu:
3. 1. Tìm PATƯ của bài toán đối ngẫu
3. 2. Chứng tỏ tính TU của một PA
3. 3. Giải bài toán có dạng đặc biệt.
Định nghĩa bài toán đối ngẫu
Qui tắc viết bài toán đối ngẫu cho bài toán Max:
f (x)  c1x1  ...  c n x n  Max g(y)  b1y1  ...  b m y m  Min

    
x j     
a1j y1  ....  a mj y m    c j
 tùy ý    

    
a i1x1  .............  a in x n    b i yi   
    tùy ý 
Định nghĩa bài toán đối ngẫu
Qui tắc viết bài toán đối ngẫu cho bài toán Min:
f (x)  c1x1  ...  c n x n  Min g(y)  b1y1  ...  b m y m  Max

 0   
x j   0   
a1j y1  ....  a mj y m    c j
 tùy ý    

    
a i1x1  .............  a in x n    b i yi   
    tùy ý 
Định nghĩa bài toán đối ngẫu
Ví dụ: Viết bài toán đối ngẫu của bài toán QHTT
(I): f (x)  2x1  x 2  3x 3  x 4  max
5x1  4x 2  x4  2
 x  2x  x  2x  1
 1 2 3 4
(I) 
- x1  x 2  3x 3  x 4  5
 x1  0; x 2  0; x 4  0
Định nghĩa bài toán đối ngẫu
Bài toán QHTT (I’) đối ngẫu của bài toán (I)
g(y) = 2y1 – y2 + 5y3  Min
 5y1  y 2  y3  2

  4y 1  2y 2  y 3   1
 y 2  3y3  3
 y  2y  y  1
 1 2 3

 y1  0; y 2  0;
Định nghĩa bài toán đối ngẫu
VD: Viết bài toán đối ngẫu của bài toán sau:
g(y) = 2y1 – y2 + 5y3  Min
 5y1  y 2  y3  2

  4y 1  2y 2  y 3   1
 y 2  3y3  3
 y  2y  y  1
 1 2 3

 y1  0; y 2  0;
Định nghĩa bài toán đối ngẫu
Định nghĩa: (Cặp ràng buộc đối ngẫu)
Trong cặp bài toán đối ngẫu thì ràng buộc bất
đẳng thức thứ i sẽ cùng với ẩn thứ i trong bài toán
đối ngẫu lập thành cặp ràng buộc đối ngẫu.
Ví dụ: Tìm cặp ràng buộc đối ngẫu của cặp bài toán
đối ngẫu (I) và (I’):
x1  0 và 5y1 + y2 - y3  2
x2  0 và - 4y 1 + 2y2 + y3  - 1
x4  0 và -y1 - 2y2 + y3  1
5x1 - 4x2 – x4  2 và y1  0
x1 + 2x2 + x3 - 2x4  -1 và y2  0
Định nghĩa bài toán đối ngẫu
Ví dụ: Hãy 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 sau:
f (x)  x1  2x 2  3x 3  4x 4  max
 5x1  6x 2  7x 3  8x 4  9
 10x  11x  12x  13x  14
 1 2 3 4

-15x1  16x 2  17x 3  18x 4  19
 x1  0; x 2  0; x 3  0
Định nghĩa bài toán đối ngẫu
Ví dụ: Hãy 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 sau:
f (x)  x1  x 2  2x 3  4x 4  Min
 x1  2x 2  x 3  2x 4  9
 2x  4x  3x  x  14
 1 2 3 4

-5x1  6x 2  x 3  8x 4  9
 x1  0; x 2  0; x 3  0
Mối quan hệ giữa cặp bài toán đối ngẫu
Mối quan hệ giữa hai bài toán được thể hiện
trong các định lý sau:
Định lý 1: Đối với cặp bài toán đối ngẫu bao giờ
cũng chỉ xẩy ra một trong 3 trường hợp sau:
- Cả hai bài toán đều không có phương án.
- Cả hai bài toán đều có phương án, lúc đó cả
hai bài toán đều có PATƯ và giá trị hàm mục tiêu
của chúng bằng nhau
- Một trong 2 bài toán không có phương án,
bài toán kia có phương án, khi ấy bài toán có
phương án sẽ không có PATƯ.
Mối quan hệ giữa cặp bài toán đối ngẫu
Định lý 2: (Định lí độ lệch bù yếu)
Hai phương án của cặp bài toán đối ngẫu là
PATƯ khi và chỉ khi với mỗi cặp ràng buộc đối
ngẫu nếu một ràng buộc thõa mãn với dấu bất đẳng
thức thực sự thì ràng buộc kia thõa mãn với dấu
bằng.
Ứng dụng của bài toán đối ngẫu
2.1 Tìm PATƯ của bài toán đối ngẫu
PP 1: Nhờ tiêu chuẩn tối ưu nên khi ta biết
được PATƯ của một trong cặp bài toán đối ngẫu thì
ta dễ dàng tìm được PATƯ của bài toán còn lại.
Ví dụ 1: Cho bài toán QHTT sau:
f (x)  3x1  4x 2  x 3  min
3x1  2x 2  4x 3  15
 2x  x  5x  8
 1 2 3

 4x1  2x 2  2x 3  10
 x1  0; x 2  0; x 3  0
Cho biết bài toán trên có PATƯ là x 0 = (7, 0, -9).
Hãy lập và giải bài toán đối ngẫu của bài toán trên.
Tìm PATƯ của bài toán đối ngẫu
Giải: Bài toán đối ngẫu là:
g(y) = 15y1 + 8y2 + 10y3  Max
3y1  2y 2  4y3  3

 2y1  y 2  2y3  4
4y  5y  2y  1
 1 2 3

 y  0 j  1, 3
 j
Do bài toán xuất phát có PATƯ là x0 = (7, 0,
-9) nên theo định lí độ lệch bù yếu ta có:
-3y1 + 2y2 + 4y3 = 3 (1)
-4y1 -5y2 + 2y3 = 1 (2)
Tìm PATƯ của bài toán đối ngẫu
Mặt khác khi thay phương án x0 vào các ràng
buộc của bài toán gốc ta thấy ràng buộc chính thứ
ba xẩy ra dấu bất đẳng thức thực sự nên:
y2 = 0 (3)
Từ hệ phương trình (1), (2), (3) ta dễ dàng
suy ra nghiệm là y0 = (1/5, 0, 9/10) ta thấy y0 là
phương án của bài toán đối ngẫu nên nó là PATƯ
của bài toán đối ngẫu.
Vậy bài toán đối ngẫu có phương án tối ưu là:
y0 = (1/5, 0, 9/10) và g(y0) = 12.
Tìm PATƯ của bài toán đối ngẫu
Ví dụ: Cho bài toán QHTT :
f(x) = x1 + 2x2 + 3x3 + 3x4  Max
2x1  x 2  x 3  2x 4  20
 x  2x  3x 3  4x 4  18
 1 2
2x  x  2x 3  x 4  16
 1 2

x  0 j  1, 4
 j
a. Hãy giải bài toán.
b. Hãy viết bài toán đối ngẫu và chỉ ra PATƯ
của bài toán đối ngẫu.
Tìm PATƯ của bài toán đối ngẫu
Bài toán ở dạng chuẩn:
f(x) = x1 + 2x2 + 3x3 + 3x4 – Mx7 – Mx8  Max

2x1  x 2  x 3  2x 4  x 5  20
 x  2x  3x 3  4x 4  x7  18
 1 2
2x  x  2x 3  x 4  x6  x 8  16
 1 2

x  0 j  1,8
 j
Tìm PATƯ của bài toán đối ngẫu
1 2 3 3 0 0
ci xi bi
x1 x2 x3 x4 x5 x6
0 x5 20 2 1 1 2 1 0
-M x7 18 1 2 3 4 0 0
-M x8 16 2 1 2 1 0 -1
F(x) 0 -1 -2 -3 -3 0 0
-34 -3 -3 -5 -5 0 1
Xây dựng PA mới tốt hơn. 3 = -3 - 5M < 0
bé nhất nên x3 là ẩn đưa vào, lấy bi chia cho ai3 > 0
giá trị nhỏ nhất đạt tại hàng i = 2 nên x 7 là ẩn đưa
ra. a = 3 là phần tử chủ yếu.
Tìm PATƯ của bài toán đối ngẫu
1 2 3 3 0 0
ci xi bi
x1 x2 x3 x4 x5 x6
0 x5 14 5/3 1/3 0 2/3 1 0
3 x3 6 1/3 2/3 1 4/3 0 0
-M x8 4 4/3 -1/3 0 -5/3 0 -1
F(x) 18 0 0 0 1 0 0
-4 -4/3 1/3 0 5/3 0 1
Xây dựng PA mới tốt hơn. 1 = - 4/3M < 0
bé nhất nên x1 là ẩn đưa vào, lấy bi chia cho ai1 > 0
giá trị nhỏ nhất đạt tại hàng i = 3 nên x 8 là ẩn đưa
ra. a = 4/3 là phần tử chủ yếu.
Tìm PATƯ của bài toán đối ngẫu
1 2 3 3 0 0
ci xi bi
x1 x2 x3 x4 x5 x6
0 x5 9 0 3/4 0 11/4 1 5/4
3 x3 5 0 3/4 1 7/4 0 1/4
1 x1 3 1 -1/4 0 -5/4 0 -3/4
F(x) 18 0 0 0 1 0 0
Các j > 0 với mọi j nên bài toán có PATƯ
của bài toán mở rộng là : (3,0,5,0,9,0,0,0)
Giá trị hàm mục tiêu đạt được là : f(x) = 18
PATƯ của bài toán xuất phát: (3,0,5,0)
fmax = 18
Tìm PATƯ của bài toán đối ngẫu
b. Bài toán đối ngẫu là:
g(y) = 20y1 + 18y2 + 16y3  Max
2y1  y 2  2y3  1
 y  2y  y  2
 1 2 3

 y1  3y 2  2y3  3
2y  4y  y  3
 1 2 3

 y1  0; y3  0
Do bài toán xuất phát có PATƯ là x0 =(3,0,
5,0) nên theo định lí độ lệch bù yếu ta có:
2y1 + y2 + 2y3 = 1 (1)
y1 + 3y2 + 2y3 = 3 (2)
Tìm PATƯ của bài toán đối ngẫu
Mặt khác khi thay phương án x0 vào các ràng
buộc của bài toán gốc ta thấy ràng buộc chính thứ
nhất xẩy ra dấu bất đẳng thức thực sự nên:
y1 = 0 (3)
Từ hệ phương trình (1), (2), (3) ta dễ dàng
suy ra nghiệm là y0 = (0, 1, 0) ta thấy y0 là phương
án của bài toán đối ngẫu nên nó là PATƯ của bài
toán đối ngẫu.
Vậy bài toán đối ngẫu có phương án tối ưu là:
y0 = (0, 1, 0) và g(y0) = 18.
Chứng tỏ tính tối ưu của một phương án
Vấn đề: Không giải bài toán QHTT xem xét
phương án x0 có là PATƯ hay không?
Phương pháp: Lập bài toán đối ngẫu, giả sử x0 là
PATƯ sau đó dùng định lí độ lệch bù yếu để tìm
phương án tương ứng với x0 thõa mãn định lí, nếu
tồn tại phương án tương ứng thì x 0 là PATƯ còn
không tồn tại phương án chứng tỏ x 0 không là
PATƯ.
Chứng tỏ tính tối ưu của một phương án
Ví dụ: Cho bài toán QHTT
f(x) = - 8x1 + 6x2 + 4x3 + 5x4  Min
 x1  2x 3  x 4  7

2x1  x 2  x 3  3x 4  4

 3x1  x 2  2x 3  6x 4  5
 x1  0; x 2  0; x 4  0
a. Viết bài toán đối ngẫu của bài toán trên
b. Chứng tỏ x* = (3, 0, -2, 0) là phương án. x *
có là PATƯ hay không? Tìm tập PATƯ của bài
toán đối ngẫu?
Chứng tỏ tính tối ưu của một phương án
a. Bài toán đối ngẫu:
g(y) = 7y1 – 4y2 + 5y3  Min
 y1  2y 2  3y3   7
 y  y  6
 2 3

 2y1  y 2  2y 3  4
 y  3y  6y  5
 1 2 3

 y1  0; y3  0
Dễ thấy x* = (3, 0, -2, 0) là phương án phương
án của bài toán xuất phát. Giả sử x * PATƯ và
phương án tương ứng y = (y1; y2; y3) của bài toán
đối ngẫu thõa mãn định lí về độ lệch bù yếu.
Tìm PATƯ của bài toán đối ngẫu
Theo định lí độ lệch bù yếu ta có:
y1 - 2y2 + 3y3 = -8 (1)
Ngoài ra y còn là phương án nên ta có:
-2y1 - y2 + 2y3 = 3 (2)
Từ (1) và (2) giải hệ ra ta có phương án y có
dạng: y = (-16/5 + a/5; 12/5 + 8/5a; a)
Thay vào hệ ràng buộc của bài toán đối ngẫu ta
có: 0a6
Rõ ràng tồn tại phương án của bài toán đối
ngẫu y cùng với x* thõa mãn định lí độ lệch bù yếu
nên x* là PATƯ của bài toán xuất phát.
Giải bài toán có dạng đặc biệt
Ví dụ: Giải bài toán QHTT
f(x) = 12x1 + 27x2 + 6x3  Min
 2x1  3x 2  2x 3  12
 x  3x  x  6
 1 2 3
6x  9x  2x  24
 1 2 3

 x  0 j  1, 3
 j
Giải bài toán có dạng đặc biệt
Giải: Bài toán đối ngẫu
f(y) = 12y1 + 6y2 + 24y3  Max
2y1  y 2  6y3  12

3y1  3y 2  9y3  27
2y  y  2y  6
 1 2 3

 y j  0 j  1, 3

Giải bài toán có dạng đặc biệt
Bài toán mở rộng:
f(y) = 12y1 + 6y2 + 24y3 – M(y4 + y5 + y6)  Max

2y1  y 2  6y3  y 4  12
3y  3y  9y  y5  27
 1 2 3
2y  y  2y  y6  6
 1 2 3

 y j  0 j  1, 3

Giải bài toán có dạng đặc biệt

12 6 24 0 0 0
ci yi bi
y1 y2 y3 y4 y5 y6
0 y4 12 2 1 6 1 0 0
0 y5 27 3 3 9 0 1 0
0 y6 6 2 1 2 0 0 1
g(y) 0 -12 -6 -24 0 0 0
Xây dựng PA mới tốt hơn. 3 = -24 < 0 bé
nhất nên x3 là ẩn đưa vào, lấy bi chia cho ai3 > 0 giá
trị nhỏ nhất đạt tại hàng i = 1 nên y 3 là ẩn đưa ra.
a13 = 6 là phần tử chủ yếu.
Giải bài toán có dạng đặc biệt
12 6 24 0 0 0
ci yi bi
y1 y2 y3 y4 y5 y6
24 y3 2 1/3 1/6 1 1/6 0 0
0 y5 9 0 3/2 0 -3/2 1 0
0 y6 2 4/3 2/3 0 -1/3 0 1
g(y) 48 -4 -2 0 4 0 0
Xây dựng PA mới tốt hơn. 1 = - 4 < 0 bé
nhất nên x1 là ẩn đưa vào, lấy bi chia cho ai1 > 0 giá
trị nhỏ nhất đạt tại hàng i = 3 nên y 6 là ẩn đưa ra.
a31 = 4/3 là phần tử chủ yếu.
Giải bài toán có dạng đặc biệt
12 6 24 0 0 0
ci yi bi
y1 y2 y3 y4 y5 y6
24 y3 3/2 0 0 1 1/4 0 -1/4
0 y5 9 0 3/2 0 -3/2 1 0
12 y1 3/2 1 1/2 0 -1/4 0 3/4
g(y) 54 0 0 0 3 0 3
Các j ≥ 0 với mọi j nên bài toán có PATƯ của bài
toán đối ngẫu là: (3/2, 0, 3/2)
Giá trị hàm mục tiêu đạt được là: gmax = 54
Giải bài toán có dạng đặc biệt
Bài toán đối ngẫu có PATƯ là:
y0 = (3/2, 0, 3/2) nên theo định lí độ lệch bù
yếu ta có:
2x1 + 3x2 + 2x3 = 12 (1)
6x1 + 9x2 + 2x3 = 24 (2)
Mặt khác khi thay phương án y0 vào các ràng
buộc của bài toán đối ngẫu ta thấy ràng buộc chính
thứ hai xẩy ra dấu bất đẳng thức thực sự nên:
x2 = 0 (3)
Từ (1),(2), (3) giải ra ta có x0 = (3, 0, 3) là
phương án của bài toán xuất phát nên nó là PATƯ
và fmin = 54

You might also like