Khái niệm về đối ngẫu
Đối ngẫu là một khái niệm cơ bản của việc giải bài toán quy hoạch tuyến tính vì lý thuyết đối ngẫu dẫn đến một kết quả có tầm quan trọng về mặt lý thuyết và cả mặt thực hành. Xét một bài toán quy hoạch dạng chính tắc: ...
Đối ngẫu là một khái niệm cơ bản của việc giải bài toán quy hoạch tuyến tính vì lý thuyết đối ngẫu dẫn đến một kết quả có tầm quan trọng về mặt lý thuyết và cả mặt thực hành.
Xét một bài toán quy hoạch dạng chính tắc:
Giả sử rằng x* là phương án tối ưu cần tìm của bài toán và x0 là một phương án của bài toán thì một cận trên của giá trị mục tiêu tối ưu được xác định vì :
cTx* £ cTx0
Tuy chưa tìm được phương án tối ưu x* nhưng nếu biết thêm được một cận dưới của giá trị mục tiêu tối ưu thì ta đã giới hạn được phần nào giá trị mục tiêu tối ưu. Người ta ước lượng cận dưới này theo cách như sau :
Với mỗi vectơ xT = [x1 x2 ... xn] ³ 0 thuộc Rn chưa thoả ràng buộc của bài toán, tức là
b – Ax ¹ 0
người ta nới lỏng bài toán trên thành bài toán nới lỏng :
yT = [ y1 y2 ... ym] tuỳ ý Î Rm
Gọi g(y) là giá trị mục tiêu tối ưu của bài toán nới lỏng, ta có :
g(y) = min { cTx + yT(b - Ax) } (x ³ 0)
£ cTx + yT(b - Ax)
Trong trường hợp x là phương án của bài toán ban đầu, tức là :
b - Ax = 0
thì
g(y) £ cTx
Vậy g(y) là một cận dưới của giá trị mục tiêu bất kỳ nên cũng là cận dưới của giá trị mục tiêu tối ưu.
Một cách tự nhiên là người ta quan tâm đến bài toán tìm cận dưới lớn nhất, đó là :
max g(y)
y tuỳ ý Î Rm
Bài toán này được gọi là bài toán đối ngẫu của bài toán ban đầu. Trong phần sau người ta sẽ chứng minh giá trị mục tiêu tối ưu của bài toán đối ngẫu bằng với giá trị mục tiêu tối ưu của bài toán gốc ban đầu.
Người ta đưa bài toán đối ngẫu về dạng dể sử dụng bằng 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)
= yTb + min { (cT - yTA)x } (x ³ 0)
Ta thấy :
Trong trường hợp quy hoạch tuyến tính tổng quát, những quy tắc sau đây được áp dụng để xây dựng bài toán đối ngẫu :
- Hàm mục tiêu đối ngẫu :
. max « min
- Biến đối ngẫu :
. Mỗi ràng buộc « một biến đối ngẫu
- Chi phí đối ngẫu và giới hạn ràng buộc :
. Chi phí đối ngẫu « giới hạn ràng buộc
- Ma trận ràng buộc đối ngẫu :
. Ma trận chuyển vị
- Chiều của ràng buộc và dấu của biến :
. Ràng buộc trong bài toán max có dấu £ thì biến đối ngẫu trong bài toán min có dấu ³ 0 ( trái chiều )
. Ràng buộc trong bài toán max có dấu = thì biến đối ngẫu trong bài toán min có dấu tùy ý.
. Ràng buộc trong bài toán max có dấu ³ thì biến đối ngẫu trong bài toán min có dấu £ 0 ( trái chiều )
. Biến của bài toán max có dấu ³ 0 thì ràng buộc đối ngẫu trong bài toán min có dấu ³ ( cùng chiều )
. Biến của bài toán max có dấu tùy ý thì ràng buộc đối ngẫu trong bài toán min có dấu = .
. Biến của bài toán max có dấu £ 0 thì ràng buộc trong bài toán đối ngẫu min có dấu £ ( cùng chiều )
Xét các ràng buộc dạng ma trận của một bài toán quy hoạch tuyến tính tổng quát như sau :
Ví dụ
a- Hai bài toán sau đây là đối ngẫu :
b- Hai bài toán sau đây là đối ngẫu :
Ðối với cặp bài toán đối ngẫu (P) và (D) chỉ xảy ra một trong ba trường hợp sau :
- Cả hai bài toán đều không có phương án tối ưu .
- Cả hai bài toán đều có phương án, lúc đó chúng đều có phương án tối ưu và giá trị hàm mục tiêu đối với hai phương án tối ưu là bằng nhau.
- Một trong hai bài toán không có phương án, còn bài toán kia thì có phương án, khi đó bài toán có phương án không có phương án tối ưu.
Định lý 1 ( đối ngẫu yếu )
Xét hai bài toán đối ngẫu :
Nếu x¯ size 12{ {overline {x}} } {} là phương án của bài toán (P)
y¯ size 12{ {overline {y}} } {} là phương án của bài toán (D)
thì z(x¯)≤w(y¯) size 12{z ( {overline {x}} ) <= w ( {overline {y}} ) } {}
nghĩa là giá trị hàm mục tiêu của bài toán max không vượt quá giá trị hàm mục tiêu của bài toán đối ngẫu min trên các phương án bất kỳ của mỗi bài toán .
Chứng minh
x¯ size 12{ {overline {x}} } {} là phương án của (P) nên : Ax¯=b size 12{A {overline {x}} =b" "} {}
Þ y¯TAx¯=y¯T b=bTy¯=w(y¯) size 12{ {overline {y}} rSup { size 8{T} } A {overline {x}} = {overline {y}} rSup { size 8{T} } " b"=b rSup { size 8{T} } {overline {y}} =w ( {overline {y}} ) } {}
y¯ size 12{ {overline {y}} } {} là phương án của (D) nên : ATy¯≥c size 12{A rSup { size 8{T} } {overline {y}} >= c} {}
Þ y¯TA≥cT size 12{ {overline {y}} rSup { size 8{T} } A >= c rSup { size 8{T} } } {}
Þ y¯TAx¯≥cTx¯=z(x¯) size 12{ {overline {y}} rSup { size 8{T} } A {overline {x}} >= c rSup { size 8{T} } {overline {x}} =z ( {overline {x}} ) } {}
Vậy z(x¯)≤w(y¯) size 12{z ( {overline {x}} ) <= w ( {overline {y}} ) } {}
Định lý này được phát biểu và chứng minh cho hai bài toán đối ngẫu trong trường hợp tổng quát .
Định lý 2
Xét hai bài toán đối ngẫu :
x¯ size 12{ {overline {x}} } {} là phương án khả thi của bài toán (P)
y¯ size 12{ {overline {y}} } {} là phương án khả thi của bài toán (D)
Nếu z(x¯)=w(y¯) size 12{z ( {overline {x}} ) =w ( {overline {y}} ) } {} thì x¯ size 12{ {overline {x}} } {}, y¯ size 12{ {overline {y}} } {} lần lượt là phương án tối ưu tương ứng của (P và (D).
Chúng minh
- Nếu x¯ size 12{ {overline {x}} } {} không là phương án tối ưu của bài toán (P) thì tồn tại một phương án x sao cho :
z ( x ¯ ) < z ( x ) size 12{z ( {overline {x}} ) <z ( x ) } {}
Þ w(y¯)<z(x) size 12{w ( {overline {y}} ) <z ( x ) } {} : điều này mâu thuẩn với định lý 1.
- Nếu y¯ size 12{ {overline {y}} } {} không là phương án tối ưu của bài toán (D) thì tồn tại một phương án y sao cho :
w ( y ) < w ( y ¯ ) size 12{w ( y ) <w ( {overline {y}} ) } {}
Þ w(y)<z(x¯) size 12{w ( y ) <z ( {overline {x}} ) } {} : điều này mâu thuẩn với định lý 1.
Vậy x¯ size 12{ {overline {x}} } {} và y¯ size 12{ {overline {y}} } {} lần lượt là phương án tối ưu của (P) và (D).
Định lý 3
Xét hai bài toán đối ngẫu :
Nếu x* là phương án tối ưu của bài toán (P) đối với cơ sở B thì phương án tối ưu y* của bài toán (D) được tính bởi công thức :
y ∗ T = c B T B − 1 size 12{ left (y* right ) rSup { size 8{T} } =c rSub { size 8{B} } rSup { size 8{T} } B rSup { size 8{ - 1} } } {}
Chứng minh
Do x* là phương án tối ưu của (P) với cơ sở B nên thoả dấu hiệu tối ưu
c T − c B T . B − 1 A ≤ 0 size 12{c rSup { size 8{T} } - c rSub { size 8{B} } rSup { size 8{T} } "." B rSup { size 8{ - 1} } A <= 0} {}
Þ cBT.B−1A≥cT size 12{c rSub { size 8{B} } rSup { size 8{T} } "." B rSup { size 8{ - 1} } A >= c rSup { size 8{T} } } {}
Þ y∗TA≥cT size 12{ left (y* right ) rSup { size 8{T} } A >= c rSup { size 8{T} } } {}
Þ y* là một phương án của (D)
Mặt khác x* được tính bởi công thức :
và giá trị mục tiêu tối ưu của (P) là :
z(x*) = cTx* = cBTxB size 12{c rSub { size 8{B} } rSup { size 8{T} } x rSub { size 8{B} } rSup { size 8{*} } } {}
Ta có :
Theo định lý 2 thì y* là phương án tối ưu của (D).
Định lý này cho phép tìm phương án tối ưu của bài toán quy hoạch tuyến tính đối ngẫu từ bài toán gốc. Trong đó :
- cBT size 12{c rSub { size 8{B} } rSup { size 8{T} } } {} được xác định trong bảng đơn hình tối ưu của (P).
- B-1 gồm m cột tương ứng với m cột của ma trận cơ sở ban đầu lấy từ bảng đơn hình tối ưu của bài toán gốc.
Định lý 4 ( sự đối ngẫu)
Xét hai bài toán đối ngẫu
- Nếu (P) và (D) đều có phương án khả thi thì chúng có phương án tối ưu và giá trị của hàm mục tiêu tương ứng là bằng nhau.
- Nếu một trong hai bài toán có phương án tối ưu không giới nội thì bài toán còn lại không có phương án khả thi.
Chứng minh
- Đây là kết quả của định lý 3 .
- Giả sử rằng phương án tối ưu của (D) không giới nội, tức là tồn tại một phương án khả thi y của (D) sao cho w(y)= bTy nhỏ tuỳ ý. Điều này cũng có nghĩa là : với mọi M>0 lớn tuỳ ý luôn tìm được một phương án khả thi y¯ size 12{ {overline {y}} } {}của (D) sao cho :
b T y ¯ ≤ − M size 12{b rSup { size 8{T} } {overline {y}} <= - M} {}
Nếu (P) có phương án khả thi là x¯ size 12{ {overline {x}} } {} thì theo định lý 1 ta có :
Điều này dẫn đến mâu thuẩn
Định lý 5 (tính bổ sung )
Chứng minh