Professional Documents
Culture Documents
TUTT04
TUTT04
CHƯƠNG IV
LÝ THUYẾT ĐỐI NGẪU
Bài toán đối ngẫu của bài toán (P), ký hiệu là bài toán (D), được định nghĩa
như sau:
g = b1y1 + … + bmym min (1’)
với điều kiện
a11y1 + … + am1ym ≥ c1
…………... (2a’)
a1qy1 + … + amqym ≥ cq
a1,q+1y1 + … + am,q+1ym = cq+1
…………… (2b’)
a1ny1 + … + amnym = cn
yi ≥ 0, i = 1, …, p (3’)
Bài toán đối ngẫu được xây dựng theo các quy tắc sau:
(i) Biến yi (i = 1, …, m) của bài toán đối ngẫu tương ứng với ràng buộc:
ai1x1 + … + ainxn [≤ , =] bi
của bài toán gốc. Nếu ràng buộc của bài toán gốc có dạng bất đẳng thức, thì yi ≥ 0.
(ii) Ràng buộc
a1jy1 + … + amjym [≥ , =] cj (j = 1, …, n)
của bài toán đối ngẫu tương ứng với biến xj của bài toán gốc.
Nếu xj ≥ 0, thì ràng buộc của bài toán đối ngẫu có dạng bất đẳng thức.
(iii) Bài toán gốc (P) cũng là bài toán đối ngẫu của bài toán (D). Như vậy tính
đối ngẫu có tính tương hỗ, và ta có thể nói (P) và (D) là cặp bài toán đối ngẫu. Trong
cặp bài toán đối ngẫu một bài là bài toán max còn bài kia là bài toán min.
Ví dụ: Lập bài toán đối ngẫu của bài toán quy hoạch tuyến tính sau.
f = x 1 – x2 2x4 + 2x5 – 3x6 min
x1 + x 4 + x 5 x6 = 2
x2 + x4 + x6 = 12
x3 + 2x4 + 4x5 + 3x6 = 9
xj ≥ 0, j = 1, …, 6
Giải
Bài toán đối ngẫu có 3 biến y1, y2, y3 ứng với 3 ràng buộc dạng đẳng thức của
bài toán gốc (vì vậy không có ràng buộc về dấu) và 6 ràng buộc bất đẳng thức ứng với
6 biến xj ≥ 0 (j = 1, …, 6) của bài toán gốc.
Bài toán đối ngẫu sẽ có dạng:
2y1 + 12y2 + 9y3 max
y1 ≤ 1
y2 ≤ -1
y3 ≤ 0
y1 + y2 + 2y3 ≤ -2
y1 + 4y3 ≤ 2
- y1 + y2 + 3y3 ≤ -3
Ví dụ: Lập bài toán đối ngẫu của bài toán quy hoạch tuyến tính sau.
f = 2x1 + 3x2 max
x1 2x2 – x3 = 4
x1 + x2 ≤ 6
x1 + 3x2 ≤ 9
x1 ≥ 0, x3 0
Giải
Bài toán đối ngẫu có 3 biến y1, y2, y3 ứng với 3 ràng buộc của bài toán gốc,
trong đó y2 ≥ 0 và y3 ≥ 0.
Bài toán đối ngẫu có 2 ràng buộc bất đẳng thức ứng với 2 biến x1 0 và x3 0
và 1 ràng buộc đẳng thức ứng với biến x2 của bài toán gốc.
Bài toán đối ngẫu sẽ là:
-4y1 + 6y2 + 9y3 min
y1 + y2 + y3 ≥ 2
-2y1 + y2 + 3y3 = 3
- y1 ≥ 0
y2 ≥ 0, y3 ≥ 0.
2. Ý nghĩa kinh tế
Xét bài toán một nhà máy lập phương án sản xuất với tài nguyên hạn chế trình
bày ở chương I.
Ký hiệu:
n là số loại sản phẩm (j = 1, …, n)
m là số loại tài nguyên cần dùng (i = 1, …, m)
aij là định mức tiêu hao tài nguyên i để sản xuất 1 đơn vị sản phẩm j
(i = 1, …, m ; j = 1, …, n)
bi là số lượng tài nguyên i (i =1, …, m) mà nhà máy có
cj là giá trị 1 đơn vị sản phẩm j (j = 1, …, n)
xj là số lượng sản phẩm j (j = 1, …, n).
Hàm mục tiêu là:
f = c1 x1 + … + cn xn
Bài toán có thể phát biểu như sau:
Xác định các giá trị x1, …, xn sao cho hàm mục tiêu f đạt giá trị lớn nhất đồng
thời tài nguyên sử dụng không vượt quá khả năng.
Mô hình toán học của bài toán, ký hiệu (I), là:
f = c1x1 + … + cnxn max (1)
a11x1 + … + a1nxn ≤ b1
…………………… (2)
am1x1 + … + amnxn ≤ bm
x1 ≥ 0, …, xn ≥ 0 (3)
Bây giờ ta phát biểu một bài toán kinh tế liên quan với bài toán (I), gọi là bài
toán (II).
Giả thiết một đơn vị muốn mua toàn bộ số tài nguyên của nhà máy. Cần thiết
phải định giá yi cho mỗi loại tài nguyên i (i = 1, …, m). Bộ giá y = (y1, …, ym) phải
thỏa mãn cả phía người mua cũng như người bán.
Hiển nhiên người mua muốn tổng chi phí mua (b1y1 + … + bmym) là thấp nhất.
Tuy nhiên, nhà máy cũng muốn đảm bảo quyền lợi của mình: Giá trị thu về do
bán tài nguyên không thấp hơn giá trị sản phẩm nếu nhà máy thực hiện phương án sản
xuất. Số tài nguyên dùng để sản xuất 1 đơn vị sản phẩm j đạt giá trị cj (j = 1, …, n),
nếu bán với giá (y1, …, ym) sẽ cho khoản thu là:
a1jy1 + … + amjym
Theo phân tích trên, bộ giá tài nguyên (y1, … , ym) phải thỏa mãn
a1jy1 + … + amjym ≥ cj j = 1, …, n.
Ta đi đến bài toán (II)
g = b1y1 + … + bmym min (1’)
với điều kiện
a11y1 + … + am1ym ≥ c1
…………... (2’)
a1ny1 + … + amnym ≥ cn
yi ≥ 0, i = 1, …, m (3’)
Theo định nghĩa ở trên, bài toán (II) chính là bài toán đối ngẫu của bài toán (I).
Đây là bài toán max dạng chuẩn.
b1 x1 0
c = [c1, …, cn], b = : , x = : , 0n = : , y = [y1, …, ym]
bm x n 0
Bổ đề. Với mọi phương án x của bài toán (P) và phương án y của bài toán (D), ta có
c.x ≥ y.b
Chứng minh. Ta có
c.x ≥ (y.A).x = y.(A.x) = y.b
Nguyên lý đối ngẫu 1
(i) Nếu một trong hai bài toán có phương án tối ưu, thì bài toán kia cũng có
phương án tối ưu và giá trị tối ưu bằng nhau.
(ii) Nếu hàm mục tiêu của một bài toán không bị chặn (chặn trên với bài toán
max, chặn dưới với bài toán min), thì bài toán kia không có phương án.
Chứng minh
*
(i) Giả sử bài toán (P) có phương án tối ưu cơ sở x* = ( x B , 0) với ma trận cơ sở
B. Ta có
x B* = B1b
Theo phương pháp đơn hình, lập bảng đơn hình tối ưu với phương án cơ sở x*
ta nhận được:
cB.B1.A c ≤ 0
Từ đó suy ra
y* = cB.B1
là phương án tối ưu của bài toán (D), vì
y*.A ≤ c
và
Chứng minh
Cho x và y là các phương án của bài toán (P) và (D). Ta có
c.x ≥ y.b c.x – y.b ≥ 0 c.x –y.A.x 0 (cy.A).x 0
Từ đó suy ra (i) và (ii).
Ý tưởng của phương pháp đơn hình đối ngẫu là áp dụng phương pháp đơn hình
giải bài toán đối ngẫu (D), sau đó theo nguyên lý bù trừ suy ra phương án tối ưu của
bài toán gốc.
Gọi Aj (j = 1, …, n) là vectơ cột thứ j của ma trận hệ số A. Bài toán (D) được
viết lại như sau:
g = (y, b) max (1”)
với điều kiện
(Aj, y) ≤ cj (j = 1, …, n) (2”)
Giả sử y là phương án cơ sở của bài toán (D). Khi đó tồn tại tập các chỉ số Jy
J = {1, …, n}, Jy = m, {Aj : j Jy} độc lập tuyến tính, (Aj, y) = cj , jJy.
Ký hiệu B là ma trận gồm toàn các vectơ Aj, j Jy. Khi đó x = (xB, 0), với
xB = B1b, thỏa mãn điều kiện (2) của bài toán gốc, vì
A.x = B.xB = B.B1b = b
Trong trường hợp này x gọi là giả phương án tương ứng với phương án y của
bài toán đối ngẫu (D). Nếu x ≥ 0, thì giả phương án x sẽ là phương án của bài toán (P)
và là phương án tối ưu theo nguyên lý đối ngẫu 1.
Từ đó ta có:
Dấu hiệu tối ưu
Nếu mọi thành phần của giả phương án x tương ứng với phương án y không
âm, thì y là phương án tối ưu của bài toán đối ngẫu (D) và x là phương án tối ưu của
bài toán gốc (P).
Dấu hiệu không tồn tại phương án
Nếu giả phương án x có thành phần xj < 0 (j Jy) và hàng tương ứng của ma
trận B1.A không âm, thì bài toán đối ngẫu không bị chặn, tức bài toán gốc không có
phương án.
Chứng minh
Với > 0, đặt y = y .ej.B1. Ta có
y .A = y.A ej.B1.A = cB.B1.A .ej.B1.A ≤ cB ≥0
Như vậy y là phương án của bài toán đối ngẫu ≥ 0.
Tiếp theo
(y,b) = (y .ej.B1, b) = (y,b) .(ej.B1,b) = (y,b) .xj
và từ đó ta có
lim (y, b) = +
Vậy hàm mục tiêu của bài toán đối ngẫu không bị chặn. Suy ra bài toán gốc
không có phương án.
Cải tiến phương án (của bài toán đối ngẫu)
Nếu đối với mỗi thành phần xj < 0 (j Jy) của giả phương án x, hàng tương
ứng của ma trận B1.A có phần tử âm, thì tồn tại phương án tốt hơn của bài toán đối
ngẫu.
Chứng minh
Chọn thành phần xj < 0 và > 0 thỏa
cB.B1A – cB ≤ .ej.B1.A
Đặt y = y .ej.B1, ta có
và
m
b0,j = c b
i 1
i i, j – cj , j = m+1, …, n
Bảng đơn hình xuất phát có dạng
Hàng cuối gọi là f-hàng, b00 là giá trị hàm f tương ứng, b0,m+1, …, b0,n không
dương. Khác với phương pháp đơn hình cột (b10, …, bm0) có thể có thành phần âm.
b. Kiểm tra tiêu chuẩn kết thúc
Trường hợp 1:
bi0 ≥ 0 i=1, …, m.
Ta có bảng đơn hình tối ưu. Giả phương án cơ sở (b10, …, bm0, 0, …, 0) là
phương án tối ưu, f * = b00 là giá trị tối ưu.
Trường hợp 2: Tồn tại i {1, ..., m} thỏa
bi,0 < 0 và bij ≥ 0, j = m+1, …, n.
Khi đó bài toán đối ngẫu không bị chặn, tức bài toán gốc không có phương án.
Nếu không xảy ra một trong hai trường hợp trên thì sang bước c.
c. Lập bảng đơn hình tiếp theo
Xác định hàng trụ (xp=) có bp,0 < 0 (thông thường chọn bp,0 nhỏ nhất). Sau đó
chọn cột trụ xq có
b0, q b0,i
= min b p , i 0
bp , q bp ,i
Thực hiện phép biến đổi Jordan cho ma trận (bij) với phần tử trụ bpq ta được
bảng đơn hình mới với biến xq vào cơ sở thay cho biến xp.
Quay lại bước b.
Định lý. Thuật toán đơn hình đối ngẫu kết thúc sau hữu hạn bảng đơn hình.
Chứng minh
Vì mỗi bảng đơn hình ứng với một phương án cơ sở đối ngẫu tốt hơn phương
án trước. Mà số phương án cơ sở đối ngẫu (điểm cực biên của tập phương án) là hữu
hạn. Vì vậy sau hữu hạn bảng đơn hình thuật toán phải kết thúc.
x1 + 2x2 x3 + x4 x5 = 3
x2 x3 + 2x4 + 4x5 x6 = 18
x2 3x3 + 2x5 + x7 = 10
xj ≥ 0, j = 1, …, 7.
Bài toán đối ngẫu (D) như sau:
g= -3y1 + 18y2 + 10y3 max
y1 1
2.y1- y2 - y3 3
- y1
- y2 -3y3 2
y1
+ 2y2 3
- y1+ 4y2 + 2y3 5
- y2 0
y3 0
Bài toán đối ngẫu (D) có phương án cơ sở với các biến cơ sở y1 = 1, y2 = 0, y3 = 0.
Suy ra giả phương án cơ sở ban đầu của bài toán gốc (P) có các biến cơ sở:
-1
1 0 0 -3
Đây chưa phải phương án tối ưu vì có phần tử âm ở cột 1. Ta xây dựng bảng
đơn hình mới như sau:
- Tìm hàng trụ: ta có
min{b10= 3, b20= 18}= b20= 18.
Vậy ta chọn hàng thứ 2 ứng với b20, tức hàng x6 =, làm hàng trụ.
- Tìm cột trụ: ta có
b0,i b 2 b0, 4 6 b0,3
min b2,i 0 = min 0,3 , = 1.
b2 , i b2 , 3 2 b2 , 4 4 b2 , 3
b0,3
Vậy ta chọn cột –x4, ứng với 1 , làm cột trụ.
b2,3
- Thực hiện phép biến đổi Jordan với phần tử trụ b23 = 2 (đóng khung) ta nhận
được bảng đơn hình sau:
Cơ sở 1 x2 x3 x6 x5
x1 = 12 5/2 1/2 1/2 3
x4 = 9 1/2 1/2 1/2 2
x7 = 10 1 3 0 2
f = 15 2 4 1 2
Vì chỉ có b10 < 0, nên ta chọn hàng thứ nhất, tức hàng x1 =, làm hàng trụ.
- Tìm cột trụ: ta có
b0,i b 4 b0, 4 2
min b1,i 0 = min 0, 2 , = 2/3.
b
1,i b
1, 2 1 / 2 b1, 4 3
Vậy ta chọn cột –x5, ứng với 2/3, làm cột trụ.
- Thực hiện phép biến đổi Jordan với phần tử trụ b1,4 = 3 (đóng khung) và
được bảng đơn hình mới
Cơ sở 1 x2 x3 x6 x1
x5 = 4
x4 = 1
x7 = 2
f = 23 11/3 11/3 4/3 2/3
Các phần tử ở cột 1 dương nên đây là bảng đơn hình tối ưu.
Phương án cơ sở tối ưu là:
x1* = x2* = x3* = 0, x4* = 1, x5* = 4, x6* = 0, x7* = 2
và giá trị tối ưu là f * = 23.
Bài toán đối ngẫu của bài toán (P) có dạng sau
g= 3y1 + 18y2 + 10y3 max
y1 1 (tương ứng x1 0)
2y1 y2 y3 3 (tương ứng x2 0)
y1 y2 3y3 2 (tương ứng x3 0)
y1 +2y2 3 (tương ứng x4 0)
y1 +4y2 +2y3 5 (tương ứng x5 0)
y2 0 (tương ứng x6 0)
y3 0 (tương ứng x7 0)
Theo nguyên lý bù trừ, phương án tối ưu (y1, y2, y3) của bài toán đối ngẫu phải
thỏa mãn đẳng thức ở các ràng buộc tương ứng với các xj dương là x4, x5 và x7, tức là
y1 + 2y2 = 3
y1 + 4y2 + 2y3 = 5
y3 = 0
3. Ứng dụng
Phần này trình bày một ứng dụng hiệu quả của phương pháp đơn hình đối
ngẫu.
Cho bài toán quy hoạch tuyến tính chính tắc:
f = c1 x1 + … + cn xn min (1)
với điều kiện
a11x1 + … + a1nxn = b1
…………... (2)
am1x1 + … + amnxn = bm
xj ≥ 0 (j = 1, … , n) (3)
Giả sử bằng phương pháp đơn hình hoặc đơn hình đối ngẫu ta đã có phương án
tối ưu của bài toán, nhưng theo yêu cầu thực tế ta phải thêm vào bài toán ràng buộc
am+1,1x1 + … + am+1,nxn ≥ bm+1 (2’)
(các thông số khác không thay đổi).
Để sử dụng quá trình giải bài toán trước đó ta sử dụng phương pháp đơn hình
đối ngẫu như sau:
Giả sử bảng đơn hình tối ưu cuối cùng của bài toán ban đầu có dạng:
Đây chính là bảng đơn hình ứng với giả phương án (x1, x2, …, xm, xn+1). Sau đó
áp dụng phương pháp đơn hình đối ngẫu để tìm phương án tối ưu.
Ví dụ. Giải bài toán sau bằng phương pháp đơn hình
f = x1 x2 2x4 + 2x5 3x6 min
x1 + x4 + x5 x6 = 2
x2 + x4 + x6 = 12
x3 + 2x4 + 4x5 + 3x6 = 9
xj ≥ 0, j = 1, …, 6.
Theo kết quả chương trước ta nhận được bảng đơn hình tối ưu:
Cơ sở 1 x1 x5 x3
Phương án cơ sở tối ưu là
Bây giờ giả sử ta thêm ràng buộc: x1 ≥ 1 vào hệ thống ràng buộc của bài toán.
Để sử dụng kết quả giải trước đó ta thêm vào biến phụ x7 0 với ràng buộc
x1 x7 =1
Từ đó ta có:
x7 = 1 – (x1)
Bảng đơn hình xuất phát của giả phương án là
Cơ sở 1 x1 x5 x3
Áp dụng phương pháp đơn hình đối ngẫu ta thực hiện phép biến đổi Jordan
quanh phần tử trụ 1 (đóng khung) và nhận được bảng đơn hình tối ưu
Cơ sở 1 x7 x5 x3
x4 = 2.4
x2 = 8.2
x6 = 1.4
x1 = 1
Phương án cơ sở tối ưu là
BÀI TẬP
Viết bài toán đối ngẫu của các bài toán quy hoạch tuyến tính sau và trong mỗi cặp
bài toán ấy hãy giải một bài bằng phương pháp đơn hình rồi suy ra phương án tối ưu
của bài kia.
2x1 + 2x2 → min
1. 2x1 + 4x2 + x3 =1
x1 + 2x2 + x4 =1
2x1 + x2 + x5 = 1
xj ≥ 0, j = 1, …, 5
x1 x2 → min
2. 2x1 + x2 ≥2
x1 x2 ≥1
xj ≥ 0, j = 1, 2
Giải bằng phương pháp đơn hình đối ngẫu các bài toán quy hoạch tuyến tính
sau, sau đó suy ra phương án tối ưu của bài toán đối ngẫu.