BÀI TOÁN ĐỐI NGU
70
CHƯƠNG III
BÀI TOÁN ĐỐI NGU
Chương này trình bày trình bày khái nim đối ngu, các quy tc đối ngu và
gii thut đối ngu. Đây là các kiến thc có giá tr trong ng dng vì nh đó có th
gii mt quy hoch tuyến tính t quy hoch tuyến tính đối ngu ca nó.
Ni dung chi tiết ca chương này bao gm :
I- KHÁI NIM V ĐỐI NGU
1- Đối ngu ca quy hoch tuyến tính dng chính tc
2- Định nghĩa đối ngu trong trường hp tng quát
3- Các định lý v s đối ngu
a- Định lý 1 ( đối ngu yếu )
b- Định lý 2
c- Định lý 3
d- Định lý 4 ( s đối ngu)
e- Định lý 5 (tính b sung )
II- GII THUT ĐỐI NGU
BÀI TOÁN ĐỐI NGU
71
CHƯƠNG III
BÀI TOÁN ĐỐI NGU
I- KHÁI NIM V ĐỐI NGU
Đối ngu là mt khái nim cơ bn ca vic gii bài toán quy hoch tuyến tính
vì lý thuyết đối ngu dn đến mt kết qu có tm quan trng v mt lý thuyết và c
mt thc hành.
1- Đối ngu ca quy hoch tuyến tính dng chính tc
Xét mt bài toán quy hoch tuyến tính dng chính tc
=
=
0x
b Ax
xcz(x) min T
Gi s rng x* là phương án ti ưu cn tìm ca bài toán và x0 là mt phương
án ca bài toán thì mt cn trên ca giá tr mc tiêu ti ưu được xác định vì :
c
Tx* cTx0
Tuy chưa tìm được phương án ti ưu x* nhưng nếu biết thêm được mt cn
dưới ca giá tr mc tiêu ti ưu thì ta đã gii hn được phn nào giá tr mc tiêu ti
ưu. Người ta ước lượng cn dưới này theo cách như sau :
Vi mi vectơ xT = [x1 x2 ... xn] 0 thuc Rn chưa tho ràng buc ca bài
toán, tc là
b Ax 0
người ta ni lng bài toán trên thành bài toán ni lng :
min L(x,y) = cTx + yT(b - Ax)
x 0
y
T = [ y1 y2 ... ym] tu ý Rm
Gi g(y) là giá tr mc tiêu ti ưu ca bài toán ni lng, ta có :
g(y) = min { cTx + yT(b - Ax) } (x 0)
BÀI TOÁN ĐỐI NGU
72
cTx + yT(b - Ax)
Trong trường hp x là phương án ca bài toán ban đầu, tc là :
b - Ax = 0
thì
g(y) cTx
Vy g(y) là mt cn dưới ca giá tr mc tiêu bt k nên cũng là cn dưới ca
giá tr mc tiêu ti ưu.
Mt cách t nhiên là người ta quan tâm đến bài toán tìm cn dưới ln nht, đó
là :
max g(y)
y tu ý Rm
Bài toán này được gi là bài toán đối ngu ca bài toán ban đầu. Trong phn
sau người ta s chng minh giá tr mc tiêu ti ưu ca bài toán đối ngu bng vi giá
tr mc tiêu ti ưu ca bài toán gc ban đầu.
Người ta đưa bài toán đối ngu v dng d s dng bng cách tính như sau :
g(y) = min { cTx+yT(b - Ax) } (x 0)
= min { cTx + yTb - yTAx } (x 0)
= min { yTb + (cT - yTA)x } (x 0)
= y
Tb + min { (cT - yTA)x } (x 0)
Ta thy :
<
=
0Ayc khi đinh xáckhông
0Ayc khi 0
x)Ay(c min TT
TT
)0x(
TT
Vy ta nhn được :
g(y) = yTb vi cT - yTA 0
Suy ra bài tóan đối ngu có dng :
=
tùy ý Ry
cAy
byg(y) max
m
TT
T
Hay là :
BÀI TOÁN ĐỐI NGU
73
=
tùy ý Ry
cyA
ybg(y) max
m
T
T
2- Định nghĩa đối ngu trong trường hp quy hoch tng quát
Trong trường hp quy hoch tuyến tính tng quát, nhng quy tc sau đây được
áp dng để xây dng bài toán đối ngu :
- Hàm mc tiêu đối ngu :
. max min
- Biến đối ngu :
. Mi ràng buc mt biến đối ngu
- Chi phí đối ngu và gii hn ràng buc :
. Chi phí đối ngu gii hn ràng buc
- Ma trn ràng buc đối ngu :
. Ma trn chuyn v
- Chiu ca ràng buc và du ca biến :
. Ràng buc trong bài toán max có du thì biến đối ngu
trong bài toán min có du 0 ( trái chiu )
. Ràng buc trong bài toán max có du = thì biến đối ngu
trong bài toán min có du tùy ý.
. Ràng buc trong bài toán max có du thì biến đối ngu
trong bài toán min có du 0 ( trái chiu )
. Biến ca bài toán max có du 0 thì ràng buc đối ngu
trong bài toán min có du ( cùng chiu )
. Biến ca bài toán max có du tùy ý thì ràng buc đối ngu
trong bài toán min có du = .
. Biến ca bài toán max có du 0 thì ràng buc trong bài toán
đối ngu min có du ( cùng chiu )
Xét các ràng buc dng ma trn ca mt bài toán quy hoch tuyến tính tng
quát như sau :
BÀI TOÁN ĐỐI NGU
74
j
m
i
1
n
j
2
1
mn2m1m
n11211
T
i
A
b
...
b
...
b
x
...
x
...
x
x
a......aa
..................
......
..................
a......aa
a
=
mj
iniji2i1
1j
a
aaaa
a
Ký hiu :
là dòng th i (i=1,2,...,m)
T
i
a
A
j là ct th j (j=1,2,...,n)
Khi đó, mi liên h gia hai bài toán đối ngu có th được trình bày như sau :
z(x) = cTx min w(y) = yTb max Ràng buc / Du
i
T
ibxa = yi t do
i
T
ibxa yi 0
i
T
ibxa yi 0
Cùng chiu
xj 0 yTAj cj
xj 0 yTAj cj
xj t do yTAj = cj
Trái chiu
Ví d
a- Hai bài toán sau đây là đối ngu :
(P)
0x,x
6x22x
4x2x
x1030xz(x)max
21
21
21
21
+
+
+=
(D)
0y,y
10y2y
30y22y
y64yw(y) min
21
21
21
21
+
+
+=
b- Hai bài toán sau đây là đối ngu :