<< Chapter < Page Chapter >> Page >

. 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 :

a i T a 11 a 12 . . . a 1j . . . a 1n . . . . . . . . . . . . . . . . . . a i1 a i2 . . . a ij . . . a in . . . . . . . . . . . . . . . . . . a m1 a m2 . . . a mj . . . a mn x 1 x 2 . . . x j . . . x n b 1 . . . b i . . . b m A j alignl { stack { size 12{a rSub { size 8{i} } rSup { size 8{T} } rightarrow " " left [ matrix {a rSub { size 8{"11"} } {} # a rSub { size 8{"12"} } {} # "." "." "." {} # a rSub { size 8{ ital "1j"} } {} # "." "." "." {} # a rSub { size 8{1n} } {} ## "." "." "." {} # "." "." "." {} # "." "." "." {} # "." "." "." {} # "." "." "." {} # "." "." "." {} ##a rSub { size 8{ ital "i1"} } {} # a rSub { size 8{ ital "i2"} } {} # "." "." "." {} # a rSub { size 8{ ital "ij"} } {} # "." "." "." {} # a rSub { size 8{ ital "in"} } {} ## "." "." "." {} # "." "." "." {} # "." "." "." {} # "." "." "." {} # "." "." "." {} # "." "." "." {} ##a rSub { size 8{m1} } {} # a rSub { size 8{m2} } {} # "." "." "." {} # a rSub { size 8{ ital "mj"} } {} # "." "." "." {} # a rSub { size 8{ ital "mn"} } {} } right ]left [ matrix { x rSub { size 8{1} } {} ##x rSub { size 8{2} } {} ## "." "." "." {} ##x rSub { size 8{j} } {} ## "." "." "." {} ##x rSub { size 8{n} } } right ]matrix { ={} {} ##<= {} {} ##>= {} } left [ matrix {b rSub { size 8{1} } {} ## "." "." "." {} ##b rSub { size 8{i} } {} ## "." "." "." {} ##b rSub { size 8{m} } } right ]} {} # " " uparrow " A" rSub { size 8{j} } {}} } {}

Ký hiệu :

a i T size 12{a rSub { size 8{i} } rSup { size 8{T} } } {} là dòng thứ i(i=1,2,...,m)

Aj là cột thứ j(j=1,2,...,n)

Khi đó, mối liên hệ giữa hai bài toán đối ngẫu có thể được trình bày như sau :

z(x) = cTx ® min w(y) = yTb ® max Ràng buộc / Dấu
a i T x = b i size 12{a rSub { size 8{i} } rSup { size 8{T} } x=b rSub { size 8{i} } } {} yi tự do
a i T x b i size 12{a rSub { size 8{i} } rSup { size 8{T} } x<= b rSub { size 8{i} } } {} yi £ 0
a i T x b i size 12{a rSub { size 8{i} } rSup { size 8{T} } x>= b rSub { size 8{i} } } {} yi ³ 0
Cùng chiều
xj ³ 0 yTAj £ cj
xj £ 0 yTAj ³ cj
xj tự do yTAj = cj
Trái chiều

Ví dụ

a- Hai bài toán sau đây là đối ngẫu :

max z ( x ) = 30x 1 + 10 x 2 2x 1 + x 2 4 2x 1 + 2x 2 6 x 1 , x 2 0 { alignl { stack { size 12{"max z" \( x \) ="30x" rSub { size 8{1} } +"10"x rSub { size 8{2} } } {} #alignl { stack { left lbrace "2x" rSub { size 8{1} } +x rSub { size 8{2} }<= 4 {} # right none left lbrace "2x" rSub { size 8{1} } +2x rSub { size 8{2} }<= 6 {} # right no } } lbrace {} #x rSub { size 8{1} } ,x rSub { size 8{2} }>= 0 {} } } {} (P)

min w ( y ) = 4y 1 + 6y 2 2y 1 + 2y 2 30 y 1 + 2y 2 10 y 1 , y 2 0 { alignl { stack { size 12{"min"" w" \( y \) ="4y" rSub { size 8{1} } +6y rSub { size 8{2} } } {} #alignl { stack { left lbrace "2y" rSub { size 8{1} } +2y rSub { size 8{2} }>= "30" {} # right none left lbrace y rSub { size 8{1} } +2y rSub { size 8{2} }>= "10" {} # right no } } lbrace {} #y rSub { size 8{1} } ,y rSub { size 8{2} }>= 0 {} } } {} (D)

b- Hai bài toán sau đây là đối ngẫu :

min w ( x ) = x 1 x 2 + x 3 + 2x 4 x 1 + 2x 2 x 3 + 5x 4 6 2x 1 3x 2 + 3x 3 4x 4 7 3x 1 2x 2 + 5x 3 = 9 7x 1 + x 3 2x 4 5 x 1 , x 2 0, x 3 tuy y , x 4 0 { { { alignl { stack { size 12{"min"" w" \( x \) =x rSub { size 8{1} } - x rSub { size 8{2} } +x rSub { size 8{3} } +2x rSub { size 8{4} } } {} #alignl { stack { left lbrace x rSub { size 8{1} } +2x rSub { size 8{2} } - x rSub { size 8{3} } +5x rSub { size 8{4} }<= 6 {} # right none left lbrace "2x" rSub { size 8{1} } - 3x rSub { size 8{2} } +3x rSub { size 8{3} } - 4x rSub { size 8{4} }>= 7 {} # right none left lbrace "3x" rSub { size 8{1} } - 2x rSub { size 8{2} } +5x rSub { size 8{3} } =9 {} #right none left lbrace "7x" rSub { size 8{1} } +x rSub { size 8{3} } - 2x rSub { size 8{4} }>= 5 {} # right no } } lbrace {} #x rSub { size 8{1} } ,x rSub { size 8{2} }>= 0, x rSub { size 8{3} } " tuy y , "x rSub { size 8{4} }<= 0 {} } } {} (D)

max z ( y ) = 6y 1 + 7y 2 + 9y 3 + 5y 4 y 1 + 2y 2 + 3y 3 + 7y 4 1 2y 1 3y 2 2y 3 1 -y 1 + 3y 2 + 5y 3 + y 4 = 1 5y 1 4y 2 2y 4 2 y 1 0, y 2 0, y 3 tuy y, y 4 0 { { { alignl { stack { size 12{"max"" z" \( y \) ="6y" rSub { size 8{1} } +7y rSub { size 8{2} } +9y rSub { size 8{3} } +5y rSub { size 8{4} } } {} #alignl { stack { left lbrace y rSub { size 8{1} } +2y rSub { size 8{2} } +3y rSub { size 8{3} } +7y rSub { size 8{4} }<= 1 {} # right none left lbrace "2y" rSub { size 8{1} } - 3y rSub { size 8{2} } - 2y rSub { size 8{3} }<= - 1 {} # right none left lbrace "-y" rSub { size 8{1} } +3y rSub { size 8{2} } +5y rSub { size 8{3} } +y rSub { size 8{4} } =1 {} #right none left lbrace "5y" rSub { size 8{1} } - 4y rSub { size 8{2} } - 2y rSub { size 8{4} }>= 2 {} # right no } } lbrace {} #y rSub { size 8{1} }<= 0,y rSub { size 8{2} }>= 0,y rSub { size 8{3} } " tuy y, "y rSub { size 8{4} }>= 0 {} } } {} (P)

Ðố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.

Các định lý về sự đối ngẫu

a- Định lý 1 ( đối ngẫu yếu )

Xét hai bài toán đối ngẫu :

( P ) max z ( x ) = c T x Ax = b x 0 { { size 12{ \( P \) " "alignl { stack { left lbrace "max z" \( x \) =c rSup { size 8{T} } "x " {} #right none left lbrace "Ax"=" b " {} # right none left lbrace x>= "0 " {} # right no } } lbrace } {} ( D ) min w ( y ) = b T y A T y c y tùy ý { { size 12{ \( D \) " "alignl { stack { left lbrace "min w" \( y \) =" b" rSup { size 8{T} } "y " {} #right none left lbrace A rSup { size 8{T} } y>= "c " {} # right none left lbrace "y tùy ý " {} #right no } } lbrace } {}

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 : A x ¯ = b size 12{A {overline {x}} =b" "} {}

Þ y ¯ T A x ¯ = y ¯ T b = b T y ¯ = 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 : A T y ¯ c size 12{A rSup { size 8{T} } {overline {y}}>= c} {}

Þ y ¯ T A c T size 12{ {overline {y}} rSup { size 8{T} } A>= c rSup { size 8{T} } } {}

Þ y ¯ T A x ¯ c T x ¯ = 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 .

b- Định lý 2

Xét hai bài toán đối ngẫu :

( P ) max z ( x ) = c T x Ax = b x 0 { { size 12{ \( P \) " "alignl { stack { left lbrace "max z" \( x \) =c rSup { size 8{T} } x {} #right none left lbrace "Ax"=" b " {} # right none left lbrace x>= "0 " {} # right no } } lbrace } {} ( D ) min w ( y ) = b T y A T y c y tùy ý { { size 12{ \( D \) " "alignl { stack { left lbrace "min w" \( y \) =" b" rSup { size 8{T} } y {} #right none left lbrace A rSup { size 8{T} } y>= "c " {} # right none left lbrace "y tùy ý " {} #right no } } lbrace } {}

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}} } {} y ¯ size 12{ {overline {y}} } {} lần lượt là phương án tối ưu của (P) và (D).

c- Định lý 3

Xét hai bài toán đối ngẫu :

( P ) max z ( x ) = c T x Ax = b x 0 { { size 12{ \( P \) " "alignl { stack { left lbrace "max z" \( x \) =c rSup { size 8{T} } "x " {} #right none left lbrace "Ax"=" b " {} # right none left lbrace x>= "0 " {} # right no } } lbrace } {} ( D ) min w ( y ) = b T y A T y c y tùy ý { { size 12{ \( D \) " "alignl { stack { left lbrace "min w" \( y \) =" b" rSup { size 8{T} } y {} #right none left lbrace A rSup { size 8{T} } y>= "c " {} # right none left lbrace "y tùy ý " {} #right no } } lbrace } {}

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

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Quy hoạch tuyến tính. OpenStax CNX. Aug 08, 2009 Download for free at http://cnx.org/content/col10903/1.1
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Quy hoạch tuyến tính' conversation and receive update notifications?

Ask