Skip to content Skip to navigation

Connexions

You are here: Home » Content » Bài toán đối ngẫu

Navigation

Lenses

What is a lens?

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

This content is ...

Affiliated with (What does "Affiliated with" mean?)

This content is either by members of the organizations listed or about topics related to the organizations listed. Click each link to see a list of all content affiliated with the organization.
  • VOCW

    This module is included inLens: Vietnam OpenCourseWare's Lens
    By: Vietnam OpenCourseWare

    Click the "VOCW" link to see all content affiliated with them.

Recently Viewed

This feature requires Javascript to be enabled.
 

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

Module by: ThS. Lê Đức Thắng. E-mail the author

Summary: Chương này trình bày trình bày khái niệm đối ngẫu, các quy tắc đối ngẫu và giải thuật đối ngẫu. Đây là các kiến thức có giá trị trong ứng dụng vì nhờ đó có thể giải một quy hoạch tuyến tính từ quy hoạch tuyến tính đối ngẫu của nó.

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.

Đối ngẫu của quy hoạch tuyến tính dạng chính tắc

Xét một bài toán quy hoạch tuyến tính dạng chính tắc

min z ( x ) = c T x Ax = b x 0 { min z ( x ) = c T x Ax = b x 0 { alignl { stack { size 12{"min z" \( x \) =c rSup { size 8{T} } x} {} # alignl { stack { left lbrace "Ax"=" b " {} # right none left lbrace x >= "0 " {} # right no } } lbrace {} } } {}

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 :

min L(x,y) = cTx + yT(b - Ax)

x ³ 0

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 :

min ( c T y T A ) x = ( x 0 ) [ 0 khi c T y T A 0 [ không xác đinh khi c T y T A < 0 [ min ( c T y T A ) x = ( x 0 ) [ 0 khi c T y T A 0 [ không xác đinh khi c T y T A < 0 [ size 12{ {"min" \( c rSup { size 8{T} } - y rSup { size 8{T} } A \) x={}} cSub { size 8{ \( x >= 0 \) } } alignl { stack { \[0" khi c" rSup { size 8{T} } - y rSup { size 8{T} } A >= 0 {} # \[ ital "không"" xác đinh khi c" rSup { size 8{T} } - y rSup { size 8{T} } A<0 {} } } \[ } {}

Vậy ta nhận được :

g(y) = yTb với cT - yTA  0

Suy ra bài tóan đối ngẫu có dạng :

max g ( y ) = y T b y T A c T y R m tùy ý { max g ( y ) = y T b y T A c T y R m tùy ý { alignl { stack { size 12{"max"" g" \( y \) =y rSup { size 8{T} } b} {} # alignl { stack { left lbrace y rSup { size 8{T} } A <= c rSup { size 8{T} } {} # right none left lbrace y in R rSup { size 8{m} } " tùy ý " {} # right no } } lbrace {} } } {}

Hay là :

max g ( y ) = b T y A T y c y R m tùy ý { max g ( y ) = b T y A T y c y R m tùy ý { alignl { stack { size 12{"max"" g" \( y \) =b rSup { size 8{T} } y} {} # alignl { stack { left lbrace A rSup { size 8{T} } y <= c {} # right none left lbrace y in R rSup { size 8{m} } " tùy ý " {} # right no } } lbrace {} } } {}

Định nghĩa đối ngẫu trong trường hợp quy hoạch tổng quát

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 :

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

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

Bảng 1
z(x) = cTx ® min w(y) = yTb ® max Ràng buộc / Dấu
a i T x = b i 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 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 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)=30x1+10x22x1+x242x1+2x26x1,x20{max z(x)=30x1+10x22x1+x242x1+2x26x1,x20{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)=4y1+6y22y1+2y230y1+2y210y1,y20{min w(y)=4y1+6y22y1+2y230y1+2y210y1,y20{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)=x1x2+x3+2x4x1+2x2x3+5x462x13x2+3x34x473x12x2+5x3=97x1+x32x45x1,x20,x3 tuy y , x40{{{min w(x)=x1x2+x3+2x4x1+2x2x3+5x462x13x2+3x34x473x12x2+5x3=97x1+x32x45x1,x20,x3 tuy y , x40{{{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)=6y1+7y2+9y3+5y4y1+2y2+3y3+7y412y13y22y31-y1+3y2+5y3+y4=15y14y22y42y10,y20,y3 tuy y, y40{{{max z(y)=6y1+7y2+9y3+5y4y1+2y2+3y3+7y412y13y22y31-y1+3y2+5y3+y4=15y14y22y42y10,y20,y3 tuy y, y40{{{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 { { ( 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 ý { { ( 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¯x¯ size 12{ {overline {x}} } {} là phương án của bài toán (P)

y¯y¯ size 12{ {overline {y}} } {} là phương án của bài toán (D)

thì z(x¯)w(y¯)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¯x¯ size 12{ {overline {x}} } {} là phương án của (P) nên : Ax¯=bAx¯=b size 12{A {overline {x}} =b" "} {}

Þ y¯TAx¯=y¯T b=bTy¯=w(y¯)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¯y¯ size 12{ {overline {y}} } {} là phương án của (D) nên : ATy¯cATy¯c size 12{A rSup { size 8{T} } {overline {y}} >= c} {}

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

Þ y¯TAx¯cTx¯=z(x¯)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¯)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 { { ( 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 ý { { ( 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¯x¯ size 12{ {overline {x}} } {} là phương án khả thi của bài toán (P)

y¯y¯ size 12{ {overline {y}} } {} là phương án khả thi của bài toán (D)

Nếu z(x¯)=w(y¯)z(x¯)=w(y¯) size 12{z \( {overline {x}} \) =w \( {overline {y}} \) } {} thì x¯x¯ size 12{ {overline {x}} } {}, y¯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¯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 ) z ( x ¯ ) < z ( x ) size 12{z \( {overline {x}} \) <z \( x \) } {}

Þ w(y¯)<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¯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 ¯ ) w ( y ) < w ( y ¯ ) size 12{w \( y \) <w \( {overline {y}} \) } {}

Þ w(y)<z(x¯)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¯x¯ size 12{ {overline {x}} } {}y¯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 { { ( 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 ý { { ( 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 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 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.B1AcTcBT.B1AcT size 12{c rSub { size 8{B} } rSup { size 8{T} } "." B rSup { size 8{ - 1} } A >= c rSup { size 8{T} } } {}

Þ yTAcTyTAcT 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 :

x B = B 1 b x N = 0 righ x = x B = B 1 b x N = 0 righ x = size 12{x rSup { size 8{*} } =alignl { stack { left [x rSub { size 8{B} } rSup { size 8{*} } =B rSup { size 8{ - 1} } b {} # right ] left [x rSub { size 8{N} } rSup { size 8{*} } =0 {} # righ]} } \[ \] } {}

và giá trị mục tiêu tối ưu của (P) là :

z(x*) = cTx* = cBTxBcBTxB size 12{c rSub { size 8{B} } rSup { size 8{T} } x rSub { size 8{B} } rSup { size 8{*} } } {}

Ta có :

w ( y ) = b T y b T ( c B T B 1 ) T = ( c B T B 1 ) b = c B T ( B -1 b ) = c B T x B = c B T x B = z ( x ) w ( y ) = b T y b T ( c B T B 1 ) T = ( c B T B 1 ) b = c B T ( B -1 b ) = c B T x B = c B T x B = z ( x ) alignl { stack { size 12{w \( y rSup { size 8{*} } \) =b rSup { size 8{T} } y*=b rSup { size 8{T} } \( c rSub { size 8{B} } rSup { size 8{T} } B rSup { size 8{ - 1} } \) rSup { size 8{T} } = \( c rSub { size 8{B} } rSup { size 8{T} } B rSup { size 8{ - 1} } \) b} {} # " "=" c" rSub { size 8{B} } rSup { size 8{T} } \( B rSup { size 8{"-1"} } b \) =c rSub { size 8{B} } rSup { size 8{T} } x rSub { size 8{B} } rSup { size 8{*} } =c rSub { size 8{B} } rSup { size 8{T} } x rSub { size 8{B} } rSup { size 8{*} } =z \( x rSup { size 8{*} } \) {} } } {}

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 đó :

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

d- Định lý 4 ( sự đối ngẫu)

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

( P ) max z ( x ) = c T x Ax = b x 0 { { ( 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 ý { { ( 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 (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¯y¯ size 12{ {overline {y}} } {}của (D) sao cho :

b T y ¯ M 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¯x¯ size 12{ {overline {x}} } {} thì theo định lý 1 ta có :

z ( x ¯ ) = c T x ¯ w ( y ¯ ) = b T y ¯ < M z ( x ¯ ) = c T x ¯ w ( y ¯ ) = b T y ¯ < M size 12{z \( {overline {x}} \) =c rSup { size 8{T} } {overline {x}} <= w \( {overline {y}} \) =b rSup { size 8{T} } {overline {y}} < - M} {}

Điều này dẫn đến mâu thuẩn

e- Định lý 5 (tính bổ sung )

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

( P ) max z ( x ) = c T x Ax = b x 0 { { ( 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 ý { { ( 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¯ , y¯x¯ , y¯ size 12{ {overline {x}} " , " {overline {y}} } {} là phương án khả thi tương ứng của (P) và (D).

Điều kiện cần và đủ để x¯ , y¯x¯ , y¯ size 12{ {overline {x}} " , " {overline {y}} } {} cũng là phương án tối ưu là :

x ¯ T ( A T y ¯ c T ) = 0 x ¯ T ( A T y ¯ c T ) = 0 size 12{ {overline {x}} rSup { size 8{T} } \( A rSup { size 8{T} } {overline {y}} - c rSup { size 8{T} } \) =0} {}

Chứng minh

- Do x¯x¯ size 12{ {overline {x}} } {} là phương án khả thi của (P) nên :

A x ¯ = b ( A x ¯ ) T = b T x ¯ T A T = b T x ¯ T A T y ¯ = b T y ¯ x ¯ T A T y ¯ x ¯ T c = b T y ¯ -c T x ¯ ( x T c = c T x ) x ¯ T ( A T y ¯ c ) = b T y ¯ -c T x ¯ ( ) A x ¯ = b ( A x ¯ ) T = b T x ¯ T A T = b T x ¯ T A T y ¯ = b T y ¯ x ¯ T A T y ¯ x ¯ T c = b T y ¯ -c T x ¯ ( x T c = c T x ) x ¯ T ( A T y ¯ c ) = b T y ¯ -c T x ¯ ( ) alignl { stack { size 12{" "A {overline {x}} =b} {} # size 12{ drarrow " " \( A {overline {x}} \) rSup { size 8{T} } =b rSup { size 8{T} } } {} # drarrow " " {overline {x}} rSup { size 8{T} } A rSup { size 8{T} } =b rSup { size 8{T} } {} # drarrow " " {overline {x}} rSup { size 8{T} } A rSup { size 8{T} } {overline {y}} =b rSup { size 8{T} } {overline {y}} {} # drarrow " " {overline {x}} rSup { size 8{T} } A rSup { size 8{T} } {overline {y}} - {overline {x}} rSup { size 8{T} } c=b rSup { size 8{T} } {overline {y}} "-c" rSup { size 8{T} } {overline {x}} " " \( " x" rSup { size 8{T} } c=c rSup { size 8{T} } x \) {} # drarrow " " {overline {x}} rSup { size 8{T} } \( A rSup { size 8{T} } {overline {y}} - c \) =b rSup { size 8{T} } {overline {y}} "-c" rSup { size 8{T} } {overline {x}} " " \( * \) {} } } {}

- Theo kết quả (*) :

. Nếu x¯ , y¯x¯ , y¯ size 12{ {overline {x}} " , " {overline {y}} } {} là phương án tối ưu của (P) và (D) thì theo định lý 4 cTx¯=bTy¯cTx¯bTy¯=0x¯T(ATy¯c)=0cTx¯=bTy¯cTx¯bTy¯=0x¯T(ATy¯c)=0alignl { stack { size 12{" "c rSup { size 8{T} } {overline {x}} =b rSup { size 8{T} } {overline {y}} } {} # drarrow " "c rSup { size 8{T} } {overline {x}} - b rSup { size 8{T} } {overline {y}} =0 {} # drarrow " " {overline {x}} rSup { size 8{T} } \( A rSup { size 8{T} } {overline {y}} - c \) =0" " {} } } {}

. Nếu x¯T(ATy¯c)=0bTy¯cTx¯=0bTy¯=cTx¯x¯T(ATy¯c)=0bTy¯cTx¯=0bTy¯=cTx¯ size 12{ {overline {x}} rSup { size 8{T} } \( A rSup { size 8{T} } {overline {y}} - c \) =0 drarrow b rSup { size 8{T} } {overline {y}} - c rSup { size 8{T} } {overline {x}} =0 drarrow b rSup { size 8{T} } {overline {y}} =c rSup { size 8{T} } {overline {x}} } {}

Theo định lý 2 thì x¯ , y¯x¯ , y¯ size 12{ {overline {x}} " , " {overline {y}} } {} là phương án tối ưu .

GIẢI THUẬT ĐỐI NGẪU

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

(P) max z(x)=cTxAx=bx0{max z(x)=cTxAx=bx0{alignl { stack { size 12{"max"" z" \( x \) =c rSup { size 8{T} } x} {} # alignl { stack { left lbrace ital "Ax"=b {} # right none left lbrace x >= 0 {} # right no } } lbrace {} } } {} và (D) min w(y)=bTyATycytuyy{min w(y)=bTyATycytuyy{alignl { stack { size 12{"min"" w" \( y \) =b rSup { size 8{T} } y} {} # alignl { stack { left lbrace A rSup { size 8{T} } y >= c {} # right none left lbrace y" " ital "tuy"" "y {} # right no } } lbrace {} } } {}

Chúng ta sẽ xét xem giải thuật đơn hình cơ bản đã biết trong chương trước được áp dụng như thế nào đối với bài toán đối ngẫu.

Giả sử rằng B là một cơ sở của bài toán (P) thoả :

y=cBTB1y=cBTB1 size 12{y=c rSub { size 8{B} } rSup { size 8{T} } B rSup { size 8{ - 1} } } {}NTycNNTycN size 12{N rSup { size 8{T} } y >= c rSub { size 8{N} } } {}

Nếu B cũng là một cơ sở khả thi của bài toán gốc, tức là xB=B1b=b¯0xN=0righx=xB=B1b=b¯0xN=0righx= size 12{x=alignl { stack { left [x rSub { size 8{B} } =B rSup { size 8{ - 1} } b= {overline {b}} >= 0 {} # right ] left [x rSub { size 8{N} } =0 {} # righ]} } \[ \] } {}, thì (theo định lý đối ngẫu) y, x lần lượt là phương án tối ưu của bài toán đối ngẫu và bài toán gốc. Nếu không thì xBxNrighx=xBxNrighx= size 12{x=alignl { stack { left [x rSub { size 8{B} } {} # right ] left [x rSub { size 8{N} } {} # righ]} } \[ \] } {} không là phương án của bài toán gốc vì xB=b¯=B1bxB=b¯=B1b size 12{x rSub { size 8{B} } = {overline {b}} =B rSup { size 8{ - 1} } b} {} không thể  0.

Để tiện việc trình bày ta xét (m=3 , n=5) :

(P) max z(x)=c1x1+c2x2+c3x3+c4x4+c5x5a11x1+a12x2+a13x3+a14x4+a15x5=b1a21x1+a22x2+a23x3+a24x4+a25x5=b2a31x1+a32x2+a33x3+a34x4+a35x5=b3x1,x2,x3,x4,x50{{max z(x)=c1x1+c2x2+c3x3+c4x4+c5x5a11x1+a12x2+a13x3+a14x4+a15x5=b1a21x1+a22x2+a23x3+a24x4+a25x5=b2a31x1+a32x2+a33x3+a34x4+a35x5=b3x1,x2,x3,x4,x50{{alignl { stack { size 12{"max"" z" \( x \) =c rSub { size 8{1} } x rSub { size 8{1} } +c rSub { size 8{2} } x rSub { size 8{2} } +c rSub { size 8{3} } x rSub { size 8{3} } +c rSub { size 8{4} } x rSub { size 8{4} } +c rSub { size 8{5} } x rSub { size 8{5} } } {} # alignl { stack { left lbrace a rSub { size 8{"11"} } x rSub { size 8{1} } +a rSub { size 8{"12"} } x rSub { size 8{2} } +a rSub { size 8{"13"} } x rSub { size 8{3} } +a rSub { size 8{"14"} } x rSub { size 8{4} } +a rSub { size 8{"15"} } x rSub { size 8{5} } =b rSub { size 8{1} } {} # right none left lbrace a rSub { size 8{"21"} } x rSub { size 8{1} } +a rSub { size 8{"22"} } x rSub { size 8{2} } +a rSub { size 8{"23"} } x rSub { size 8{3} } +a rSub { size 8{"24"} } x rSub { size 8{4} } +a rSub { size 8{"25"} } x rSub { size 8{5} } =b rSub { size 8{2} } {} # right none left lbrace a rSub { size 8{"31"} } x rSub { size 8{1} } +a rSub { size 8{"32"} } x rSub { size 8{2} } +a rSub { size 8{"33"} } x rSub { size 8{3} } +a rSub { size 8{"34"} } x rSub { size 8{4} } +a rSub { size 8{"35"} } x rSub { size 8{5} } =b rSub { size 8{3} } {} # right no } } lbrace {} # x rSub { size 8{1} } ,x rSub { size 8{2} } ,x rSub { size 8{3} } ,x rSub { size 8{4} } ,x rSub { size 8{5} } >= 0 {} } } {}

Các dữ liệu của (P) đuợc trình bày trong bảng sau :

Bảng 2
x1 x2 x3 x4 x5    
             
c1 c2 c3 c4 c5    
             
a11 a12 a13 a14 a15   b1
a21 a22 a23 a24 a25   b2
a31 a32 a33 a34 a35   b3

và bài toán đối ngẫu

(D) min w(y)=b1y1+b2y2+b3y3a11y1+a21y2+a31y3c1a12y1+a22y2+a32y3c2a13y1+a23y2+a33y3c3a14y1+a24y2+a34y4c4a15y1+a25y2+a35y3c5y1,y2,y3 tuy y{{{{min w(y)=b1y1+b2y2+b3y3a11y1+a21y2+a31y3c1a12y1+a22y2+a32y3c2a13y1+a23y2+a33y3c3a14y1+a24y2+a34y4c4a15y1+a25y2+a35y3c5y1,y2,y3 tuy y{{{{alignl { stack { size 12{"min"" w" \( y \) =b rSub { size 8{1} } y rSub { size 8{1} } +b rSub { size 8{2} } y rSub { size 8{2} } +b rSub { size 8{3} } y rSub { size 8{3} } } {} # alignl { stack { left lbrace a rSub { size 8{"11"} } y rSub { size 8{1} } +a rSub { size 8{"21"} } y rSub { size 8{2} } +a rSub { size 8{"31"} } y rSub { size 8{3} } >= c rSub { size 8{1} } {} # right none left lbrace a rSub { size 8{"12"} } y rSub { size 8{1} } +a rSub { size 8{"22"} } y rSub { size 8{2} } +a rSub { size 8{"32"} } y rSub { size 8{3} } >= c rSub { size 8{2} } {} # right none left lbrace a rSub { size 8{"13"} } y rSub { size 8{1} } +a rSub { size 8{"23"} } y rSub { size 8{2} } +a rSub { size 8{"33"} } y rSub { size 8{3} } >= c rSub { size 8{3} } {} # right none left lbrace a rSub { size 8{"14"} } y rSub { size 8{1} } +a rSub { size 8{"24"} } y rSub { size 8{2} } +a rSub { size 8{"34"} } y rSub { size 8{4} } >= c rSub { size 8{4} } {} # right none left lbrace a rSub { size 8{"15"} } y rSub { size 8{1} } +a rSub { size 8{"25"} } y rSub { size 8{2} } +a rSub { size 8{"35"} } y rSub { size 8{3} } >= c rSub { size 8{5} } {} # right no } } lbrace {} # y rSub { size 8{1} } ,y rSub { size 8{2} } ,y rSub { size 8{3} } " tuy y" {} } } {}

Người ta đưa (D) về dạng chính tắc bằng cách thêm các biến phụ y4 y5, y6, y7, y8  0. Chúng không ảnh hưởng đến hàm mục tiêu.

min w ( y ) = b 1 y 1 + b 2 y 2 + b 3 y 3 + 0 . y 4 + 0 . y 5 + 0 . y 6 + 0 . y 7 + 0 . y 8 a 11 y 1 + a 21 y 2 + a 31 y 3 y 4 = c 1 a 12 y 1 + a 22 y 2 + a 32 y 3 y 5 = c 2 a 13 y 1 + a 23 y 2 + a 33 y 3 y 6 = c 3 a 14 y 1 + a 24 y 2 + a 34 y 4 y 7 = c 4 a 15 y 1 + a 25 y 2 + a 35 y 3 y 8 = c 5 y 1 , y 2 , y 3 tuy y - y 4 , y 5 , y 6 , y 7 , y 8 0 { { { { min w ( y ) = b 1 y 1 + b 2 y 2 + b 3 y 3 + 0 . y 4 + 0 . y 5 + 0 . y 6 + 0 . y 7 + 0 . y 8 a 11 y 1 + a 21 y 2 + a 31 y 3 y 4 = c 1 a 12 y 1 + a 22 y 2 + a 32 y 3 y 5 = c 2 a 13 y 1 + a 23 y 2 + a 33 y 3 y 6 = c 3 a 14 y 1 + a 24 y 2 + a 34 y 4 y 7 = c 4 a 15 y 1 + a 25 y 2 + a 35 y 3 y 8 = c 5 y 1 , y 2 , y 3 tuy y - y 4 , y 5 , y 6 , y 7 , y 8 0 { { { { alignl { stack { size 12{"min"" w" \( y \) =b rSub { size 8{1} } y rSub { size 8{1} } +b rSub { size 8{2} } y rSub { size 8{2} } +b rSub { size 8{3} } y rSub { size 8{3} } +0 "." y rSub { size 8{4} } +0 "." y rSub { size 8{5} } +0 "." y rSub { size 8{6} } +0 "." y rSub { size 8{7} } +0 "." y rSub { size 8{8} } } {} # alignl { stack { left lbrace a rSub { size 8{"11"} } y rSub { size 8{1} } +a rSub { size 8{"21"} } y rSub { size 8{2} } +a rSub { size 8{"31"} } y rSub { size 8{3} } - y rSub { size 8{4} } =c rSub { size 8{1} } {} # right none left lbrace a rSub { size 8{"12"} } y rSub { size 8{1} } +a rSub { size 8{"22"} } y rSub { size 8{2} } +a rSub { size 8{"32"} } y rSub { size 8{3} } - y rSub { size 8{5} } =c rSub { size 8{2} } {} # right none left lbrace a rSub { size 8{"13"} } y rSub { size 8{1} } +a rSub { size 8{"23"} } y rSub { size 8{2} } +a rSub { size 8{"33"} } y rSub { size 8{3} } - y rSub { size 8{6} } =c rSub { size 8{3} } {} # right none left lbrace a rSub { size 8{"14"} } y rSub { size 8{1} } +a rSub { size 8{"24"} } y rSub { size 8{2} } +a rSub { size 8{"34"} } y rSub { size 8{4} } - y rSub { size 8{7} } =c rSub { size 8{4} } {} # right none left lbrace a rSub { size 8{"15"} } y rSub { size 8{1} } +a rSub { size 8{"25"} } y rSub { size 8{2} } +a rSub { size 8{"35"} } y rSub { size 8{3} } - y rSub { size 8{8} } =c rSub { size 8{5} } {} # right no } } lbrace {} # y rSub { size 8{1} } ,y rSub { size 8{2} } ,y rSub { size 8{3} } " tuy y - "y rSub { size 8{4} } ,y rSub { size 8{5} } ,y rSub { size 8{6} } ", "y rSub { size 8{7} } ,y rSub { size 8{8} } >= "0 " {} } } {}

Các dữ liệu của (D) được trình bày trong bảng sau :

Bảng 3
y1 y2 y3 y4 y5 y6 y7 y8    
                   
b1 b2 b3 0 0 0 0 0    
                   
a11 a21 a31 -1 0 0 0 0   c1
a12 a22 a32 0 -1 0 0 0   c2
a13 a23 a33 0 0 -1 0 0   c3
a14 a24 a34 0 0 0 -1 0   c4
a15 a25 a35 0 0 0 0 -1   c5

Giả sử rằng m cột đầu tiên của A là một cơ sở B của (P) thì hai bảng trên được trình bày rút gọn như sau :

Bảng 4
x B T x B T size 12{x rSub { size 8{B} } rSup { size 8{T} } } {} x N T x N T size 12{x rSub { size 8{N} } rSup { size 8{T} } } {}    
       
c B T c B T size 12{c rSub { size 8{B} } rSup { size 8{T} } } {} c N T c N T size 12{c rSub { size 8{N} } rSup { size 8{T} } } {}    
       
B N   b

Bảng (P)

Bảng 5
yT y4....y8      
         
bT 0      
         
BT -Im 0   cB
NT 0 -In-m   cN

Bảng (D)

Để đưa bài toán đối ngẫu về dạng chuẩn người ta nhân (bên trái) bảng (D) với bảng sau đây :

Bảng 6
B 1 T B 1 T size 12{ left ( B rSup { size 8{ - 1} } right ) rSup { size 8{T} } } {} 0
B 1 N T B 1 N T size 12{ left ( B rSup { size 8{ - 1} } N right ) rSup { size 8{T} } } {} -In-m

Khi đó người ta được bảng kết quả có dạng :

Bảng 7
  m m n-m    
  y T y T size 12{y rSup { size 8{T} } } {} y4y5y6 y7y8    
           
  0 b ¯ = B 1 b b ¯ = B 1 b size 12{ {overline {b}} =B rSup { size 8{ - 1} } b} {} 0    
           
m Im B 1 T B 1 T size 12{ - left ( B rSup { size 8{ - 1} } right ) rSup { size 8{T} } } {} 0   c B T B 1 T c B T B 1 T size 12{ left (c rSub { size 8{B} } rSup { size 8{T} } B rSup { size 8{ - 1} } right ) rSup { size 8{T} } } {}
n-m 0 N ¯ T = B 1 N T N ¯ T = B 1 N T size 12{ - left ( {overline {N}} right ) rSup { size 8{T} } = - left (B rSup { size 8{ - 1} } N right ) rSup { size 8{T} } } {} In-m   c ¯ N = c N T c B T B 1 N T c ¯ N = c N T c B T B 1 N T size 12{ - {overline {c}} rSub { size 8{N} } = - left (c rSub { size 8{N} } rSup { size 8{T} } - c rSub { size 8{B} } rSup { size 8{T} } B rSup { size 8{ - 1} } N right ) rSup { size 8{T} } } {}

Bảng này cho ta một quy hoạch tuyến tính dạng chuẩn với ma trận đơn vị (cơ sở) tương ứng với các cột y1 y2 y3 y7 y8 .

Áp dụng giải thuật đơn hình cơ bản vào kết quả này cho ta quy tắc đổi cơ sở như sau :

Tính : b¯=B1b0b¯=B1b0 size 12{ {overline {b}} =B rSup { size 8{ - 1} } b >= 0} {}

a- Nếu b¯0b¯0 size 12{ {overline {b}} >= 0} {} thì giải thuật kết thúc, khi đó :

y=cBTB1y=cBTB1 size 12{y=c rSub { size 8{B} } rSup { size 8{T} } B rSup { size 8{ - 1} } } {} là phương án tối ưu của bài toán đối ngẫu .

xBxNrighb¯0righx=xBxNrighb¯0righx= size 12{x=alignl { stack { left [x rSub { size 8{B} } {} # right ] left [x rSub { size 8{N} } {} # righ]} } \[ \] =alignl { stack { left [ {overline {b}} {} # right ] left [0 {} # righ]} } \[ \] } {} là phương án tối ưu của bài toán gốc .

b- Nếu tồn tại r sao cho b¯rb¯,b¯r<0b¯rb¯,b¯r<0 size 12{ {overline {b}} rSub { size 8{r} } in {overline {b}} , {overline {b}} rSub { size 8{r} } <0} {} thì xảy ra một trong hai trường hợp sau :

- Nếu trong dòng r của N¯N¯ size 12{ {overline {N}} } {} có thành phần < 0 thì người ta tính :

c ¯ s N ¯ rs = min c ¯ j N ¯ rj j : N ¯ ij < 0 c ¯ s N ¯ rs = min c ¯ j N ¯ rj j : N ¯ ij < 0 alignl { stack { size 12{ { { {overline {c}} rSub { size 8{s} } } over { {overline {N}} rSub { size 8{ ital "rs"} } } } ="min" left lbrace { { {overline {c}} rSub { size 8{j} } } over { {overline {N}} rSub { size 8{ ital "rj"} } } } right rbrace } {} # " " forall "j : " {overline {N}} rSub { size 8{ ital "ij"} } <0 {} } } {}

Như vậy : đối với bài toán đối ngẫu thì biến yr đi vào cơ sở và biến ys ra khỏi cơ sở, trong khi đó đối với bài toán gốc thì biến xs đi vào cơ sở và biến xr ra khỏi cơ sở.

- Nếu mọi thành phần trong dòng r của N¯N¯ size 12{ {overline {N}} } {} đều > 0 thì phương án tối ưu của bài toán đối ngẫu là không giới nội, điều này (theo định lý đối ngẫu) dẫn đến bài toán gốc không có phương án.

Ví dụ : Xét bài toán

min w(x)=x1x3x12x2+x3=1x1+3x2+x4=2xj0(j=1,2,3,4){min w(x)=x1x3x12x2+x3=1x1+3x2+x4=2xj0(j=1,2,3,4){alignl { stack { size 12{"min"" w" \( x \) =x rSub { size 8{1} } - x rSub { size 8{3} } } {} # alignl { stack { left lbrace x rSub { size 8{1} } - 2x rSub { size 8{2} } +x rSub { size 8{3} } =1 {} # right none left lbrace x rSub { size 8{1} } +3x rSub { size 8{2} } +x rSub { size 8{4} } =2 {} # right no } } lbrace {} # x rSub { size 8{j} } >= 0" " \( j="1,2,3,4" \) {} } } {}(D)

Bài toán đối ngẫu của (D) là :

max z(y)=y1+2y2y1+y212y1+3y20y11y20{{{max z(y)=y1+2y2y1+y212y1+3y20y11y20{{{alignl { stack { size 12{"max"" z" \( y \) =y rSub { size 8{1} } +2y rSub { size 8{2} } } {} # alignl { stack { left lbrace y rSub { size 8{1} } +y rSub { size 8{2} } <= 1 {} # right none left lbrace - 2y rSub { size 8{1} } +3y rSub { size 8{2} } <= 0 {} # right none left lbrace y rSub { size 8{1} } <= - 1 {} # right none left lbrace y rSub { size 8{2} } <= 0 {} # right no } } lbrace {} } } {}(P)

y1, y2 là tùy ý

Ta có thể chọn bài toán (D) hoặc (P) để giải tìm phương án tối ưu bằng phương pháp đơn hình, từ đó suy ra phương án tối ưu của bài toán còn lại theo kết quả trên. Trong ví dụ này ta chọn bài toán (D) để giải vì có chứa sẵn ma trận đơn vị.

Giải bài toán (D) bằng phương pháp đơn hình cải tiến ta được :

Bảng 8
c B 0 c B 0 size 12{c rSub { size 8{B rSub { size 6{0} } } } } {} i B 0 i B 0 size 12{i rSub { size 8{B rSub { size 6{0} } } } } {} x 1 x 1 size 12{x rSub { size 8{1} } } {} x 2 x 2 size 12{x rSub { size 8{2} } } {} x 3 x 3 size 12{x rSub { size 8{3} } } {} x 4 x 4 size 12{x rSub { size 8{4} } } {} b ¯ 0 b ¯ 0 size 12{ {overline {b}} rSub { size 8{0} } } {}
-1 3 1 -2 1 0 1
0 4 1 3 0 1 2
c T c T size 12{c rSup { size 8{T} } } {} 1 0 -1 0 w(x0)
c ¯ 0 T c ¯ 0 T size 12{ {overline {c}} rSub { size 8{0} } rSup { size 8{T} } } {} 2 -2 0 0 -1
Bảng 9
c B 1 c B 1 size 12{c rSub { size 8{B rSub { size 6{1} } } } } {} i B 1 i B 1 size 12{i rSub { size 8{B rSub { size 6{1} } } } } {} x 1 x 1 size 12{x rSub { size 8{1} } } {} x 2 x 2 size 12{x rSub { size 8{2} } } {} x 3 x 3 size 12{x rSub { size 8{3} } } {} x 4 x 4 size 12{x rSub { size 8{4} } } {} b ¯ 1 b ¯ 1 size 12{ {overline {b}} rSub { size 8{1} } } {}
-1 3 5 3 5 3 size 12{ { {5} over {3} } } {} 0 1 2 3 2 3 size 12{ { {2} over {3} } } {} 7 3 7 3 size 12{ { {7} over {3} } } {}
0 2 1 3 1 3 size 12{ { {1} over {3} } } {} 1 0 1 3 1 3 size 12{ { {1} over {3} } } {} 2 3 2 3 size 12{ { {2} over {3} } } {}
c T c T size 12{c rSup { size 8{T} } } {} 1 0 -1 0 w(x1)
c ¯ 1 T c ¯ 1 T size 12{ {overline {c}} rSub { size 8{1} } rSup { size 8{T} } } {} 8 3 8 3 size 12{ { {8} over {3} } } {} 0 0 2 3 2 3 size 12{ { {2} over {3} } } {} 7 3 7 3 size 12{ - { {7} over {3} } } {}

Giải thuật dừng vì thoả dấu hiệu tối ưu của bài toán min.

Phương án tối ưu của bài toán (D) là :

x 1 = 0 x 2 = 2 3 x 3 = 7 3 x 4 = 0 w ( x ) = w ( x 1 ) = 7 3 { x 1 = 0 x 2 = 2 3 x 3 = 7 3 x 4 = 0 w ( x ) = w ( x 1 ) = 7 3 { size 12{alignl { stack { left lbrace x rSub { size 8{1} } =0" "x rSub { size 8{2} } = { {2} over {3} } " "x rSub { size 8{3} } = { {7} over {3} } " "x rSub { size 8{4} } =0 {} # right none left lbrace w \( x \) =w \( x rSup { size 8{1} } \) = - { {7} over {3} } {} # right no } } lbrace } {}

Suy ra phương án tối ưu của (P) là :

y T = y 1 y 2 = c B T B 1 = 1 0 1 2 3 0 1 3 = 1 2 3 z ( y ) = b T y = 1 2 1 2 3 = 7 3 { y T = y 1 y 2 = c B T B 1 = 1 0 1 2 3 0 1 3 = 1 2 3 z ( y ) = b T y = 1 2 1 2 3 = 7 3 { size 12{alignl { stack { left lbrace y rSup { size 8{T} } = left [ matrix { y rSub { size 8{1} } {} # y rSub { size 8{2} } {} } right ]=c rSub { size 8{B} } rSup { size 8{T} } B rSup { size 8{ - 1} } = left [ matrix { - 1 {} # 0{} } right ] left [ matrix { 1 {} # { {2} over {3} } {} ## 0 {} # { {1} over {3} } {} } right ]= left [ matrix { - 1 {} # - { {2} over {3} } {} } right ] {} # right none left lbrace z \( y \) =b rSup { size 8{T} } y= left [ matrix { 1 {} # 2{} } right ] left [ matrix { - 1 {} ## - { {2} over {3} } } right ]= - { {7} over {3} } {} # right no } } lbrace } {}

CÂU HỎI CHƯƠNG 3

1- Bạn hiểu như thế nào về khái niệm đối ngẫu ?

2- Quy hoạch tuyến tính đối ngẫu của một quy hoach tuyến tính chính tắc có dạng như thế nào ?

3- Bạn hãy nêu ra các quy tắc đối ngẫu. Cho ví dụ .

4- Giá trị hàm mục tiêu của hai quy hoạch tuyến tính đối ngẫu thì như thế nào ? . Chứng minh

BÀI TẬP CHƯƠNG 3

1- Xét bài toán quy hoạch tuyến tính

max z = 7x1 + 5x2

2x1 + 3x2  19

(P)2x1 + x2  13

3x2  15

3x1  18

x1 , x2  0

a- Tìm bài toán đối ngẫu (D) từ bài toán (P)

b- Tìm phương án tối ưu cho bài toán (P)

c- Từ bảng đơn hình tối ưu của (P). Hãy tìm phương án tối ưu cho bài toán (D)

2- Xét bài toán quy hoạch tuyến tính

min w= x1 + x2

x1 - 2x3 + x4 = 2

(D)x2 - x3 + 2x4 = 1

x3 - x4 + x5 = 5

xi  0, i = 15

a- Tìm bài toán đối ngẫu của bài toán (D)

b- Tìm phương án tối ưu của bài toán (D)

c- Từ bảng đơn hình tối ưu của bài toán (D). Hãy tìm phương án tối ưu cho bài toán đối ngẫu ở câu a.

3- Xét bài toán quy hoạch tuyến tính

min w = -2x1 - x4

x1 + x2 + 5x3 = 20

(D)x2 + 2x4  5

x1 + x2 - x3  8

xi tùy ý (i=1 4)

Tìm bài toán đối ngẫu (P) của bài toán (D). Từ bài toán (P) hãy chỉ ra rằng (P) không tồn tại phương án tối ưu do đó (D) cũng tồn tại phương án tối ưu.

4- Cho bài toán quy hoạch tuyến tính

(D) max z=2x1+4x2+x3+x4x1+3x2+x415x22x434x2+4x3+x43xj0(j=14){{{max z=2x1+4x2+x3+x4x1+3x2+x415x22x434x2+4x3+x43xj0(j=14){{{alignl { stack { size 12{"max"" z"="2x" rSub { size 8{1} } +4x rSub { size 8{2} } +x rSub { size 8{3} } +x rSub { size 8{4} } } {} # alignl { stack { left lbrace x rSub { size 8{1} } +3x rSub { size 8{2} } +x rSub { size 8{4} } <= 1 {} # right none left lbrace - 5x rSub { size 8{2} } - 2x rSub { size 8{4} } <= 3 {} # right none left lbrace 4x rSub { size 8{2} } +4x rSub { size 8{3} } +x rSub { size 8{4} } <= 3 {} # right none left lbrace x rSub { size 8{j} } >= 0" " \( j=1 rightarrow 4 \) {} # right no } } lbrace {} } } {}

1- Tìm bài toán đối ngẫu của bài toán đã cho.

2- Giải bài toán đã cho rồi suy ra kết quả của bài toán đối ngẫu.

5- Cho bài toán quy hoạch tuyến tính

(D) max z=27x1+50x2+18x3x1+2x2+x322x1+x22x34x1+2x24x32x1,x2tuú ý, x30ỳ {{{max z=27x1+50x2+18x3x1+2x2+x322x1+x22x34x1+2x24x32x1,x2tuú ý, x30ỳ {{{alignl { stack { size 12{"max"" z"="27x" rSub { size 8{1} } +"50"x rSub { size 8{2} } +"18"x rSub { size 8{3} } } {} # alignl { stack { left lbrace x rSub { size 8{1} } +2x rSub { size 8{2} } +x rSub { size 8{3} } <= 2 {} # right none left lbrace - 2x rSub { size 8{1} } +x rSub { size 8{2} } - 2x rSub { size 8{3} } <= 4 {} # right none left lbrace x rSub { size 8{1} } +2x rSub { size 8{2} } - 4x rSub { size 8{3} } <= - 2 {} # right none left lbrace x rSub { size 8{1} } ,x rSub { size 8{2} } "tuú ý, x" rSub { size 8{3} } <= "0ỳ " {} # right no } } lbrace {} } } {}

a- Tìm bài toán đối ngẫu của bài toán đã cho.

b- Giải bài toán đối ngẫu rồi suy ra kết quả của bài toán đã cho.

Content actions

Download module as:

PDF | EPUB (?)

What is an EPUB file?

EPUB is an electronic book format that can be read on a variety of mobile devices.

Downloading to a reading device

For detailed instructions on how to download this content's EPUB to your specific device, click the "(?)" link.

| More downloads ...

Add module to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks