<< Chapter < Page Chapter >> Page >

Bổ đề

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

max z ( x ) = c T x Ax = b x 0 { 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ới B là một cơ sở khả thi nào đó và x0 là phương án cơ sở tương ứng, tức là

x B 0 = B 1 b 0 x N 0 = 0 righ x 0 = size 12{x rSup { size 8{0} } =alignl { stack { left [x rSub { size 8{B} } rSup { size 8{0} } =B rSup { size 8{ - 1} } b>= 0 {} # right ]left [x rSub { size 8{N} } rSup { size 8{0} } =0 {} # righ]} } \[ \] } {} z ( x 0 ) = c B T B 1 b size 12{z \( x rSup { size 8{0} } \) =c rSub { size 8{B} } rSup { size 8{T} } B rSup { size 8{ - 1} } b} {}

Xét c ¯ N T = c N T c B T B 1 N size 12{ {overline {c}} rSub { size 8{N} } rSup { size 8{T} } =c rSub { size 8{N} } rSup { size 8{T} } - c rSub { size 8{B} } rSup { size 8{T} } B rSup { size 8{ - 1} } "N "} {} .

Nếu tồn tại một biến ngoài cơ sở xs sao cho c ¯ s size 12{ {overline {c}} rSub { size 8{s} } } {} >0 với c ¯ s size 12{ {overline {c}} rSub { size 8{s} } } {} là thành phần thứ s của c ¯ N size 12{ {overline {c}} rSub { size 8{N} } } {} thì :

a- Hoặc là người ta có thể làm tăng một cách vô hạn giá trị của xs mà không đi ra khỏi tập hợp các phương án khả thi, và trong trường hợp này phương án tối ưu của bài toán không giới nội.

b- Hoặc là người ta có thể xác định một cơ sở khả thi khác là B size 12{ {B} cSup { size 8{ and } } } {} có phương án cơ sở khả thi x size 12{ {x} cSup { size 8{ and } } } {} tương ứng với nó là tốt hơn , tức là :

z(x0)<z( x size 12{ {x} cSup { size 8{ and } } } {} )

Chứng minh

Trong quá trình chứng minh định lý dấu hiệu tối ưu ta có phương án mới được xác định như sau :

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

Ký hiệu :

N ¯ = B 1 N size 12{ {overline {N}} =B rSup { size 8{ - 1} } N} {}

N ¯ s size 12{ {overline {N}} rSub { size 8{s} } } {} là cột s của N ¯ size 12{ {overline {N}} } {}

b ¯ = B 1 b size 12{ {overline {b}} =B rSup { size 8{ - 1} } b} {}

Như vậy ta có : x B = b ¯ θ N ¯ s x N = θI s righ x = size 12{x=alignl { stack { left [x rSub { size 8{B} } = {overline {b}} - θ {overline {N}} rSub { size 8{s} } {} #right ] left [x rSub { size 8{N} } =θI rSub { size 8{s} } {} #righ]} } \[ \]} {}

Hai trường hợp có thể xảy ra như sau :

a- Trường hợp N ¯ s 0 size 12{ {overline {N}} rSub { size 8{s} }<= 0} {}

Trong trường hợp này xs có thể nhận một giá trị  lớn tuỳ mà vẫn đảm bảo xB  0, nghĩa là x luôn luôn thoả  0 . Khi đó như đã biết giá trị hàm mục tiêu tương ứng là

z(x)= c B T c N T x B x N righ size 12{ left [c rSub { size 8{B} } rSup { size 8{T} } " c" rSub { size 8{N} } rSup { size 8{T} } right ]alignl { stack {left [x rSub { size 8{B} } {} # right ]left [x rSub { size 8{N} } {} # righ]} } \[ \] =c rSub { size 8{B} } rSup { size 8{T} } x rSub { size 8{B} } +c rSub { size 8{N} } rSup { size 8{T} } x rSub { size 8{N} } } {}

= c B T B 1 b B 1 NθI s + c N T θI s size 12{c rSub { size 8{B} } rSup { size 8{T} } left (B rSup { size 8{ - 1} } b - B rSup { size 8{ - 1} } NθI rSub { size 8{s} } right )+c rSub { size 8{N} } rSup { size 8{T} } θI rSub { size 8{s} } } {}

= c B T B 1 b c B T B 1 NθI s + c N T θI s size 12{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} } NθI rSub { size 8{s} } +c rSub { size 8{N} } rSup { size 8{T} } θI rSub { size 8{s} } } {}

= z ( x 0 ) + c N T c B T B 1 N θI s size 12{z \( x rSup { size 8{0} } \) + 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 )θI rSub { size 8{s} } } {}

= z ( x 0 ) + c ¯ N T θI s size 12{z \( x rSup { size 8{0} } \) + {overline {c}} rSub { size 8{N} } rSup { size 8{T} } θI rSub { size 8{s} } } {}

= z(x0) + c ¯ s θ size 12{ {overline {c}} rSub { size 8{s} } θ} {}

với c ¯ s θ size 12{ {overline {c}} rSub { size 8{s} } θ} {} có thể lớn vô hạn thì giá trị của hàm mục tiêu là không giới nội.

b- Trường hợp tồn tại i=1m sao cho N ¯ is > 0 size 12{ {overline {N}} rSub { size 8{ ital "is"} }>0} {}

( N ¯ is > 0 size 12{ {overline {N}} rSub { size 8{ ital "is"} }>0} {} là thành phần thứ i của N ¯ s size 12{ {overline {N}} rSub { size 8{s} } } {} )

Trong trường hợp này giá trị của >0 mà xs có thể nhận không thể tăng vô hạn vì phải đảm bảo xB>0. Giá trị lớn nhất θ size 12{ {θ} cSup { size 8{ and } } } {} của  mà xs có thể nhận được xác định như sau :

θ = min b ¯ i N ¯ is , N ¯ is > 0 = b ¯ r N ¯ rs ( i = 1 m ) alignl { stack { size 12{ {θ} cSup { size 8{ and } } ="min" left lbrace { { {overline {b}} rSub { size 8{i} } } over { {overline {N}} rSub { size 8{ ital "is"} } } } , {overline {N}} rSub { size 8{ ital "is"} }>0 right rbrace = { { {overline {b}} rSub { size 8{r} } } over { {overline {N}} rSub { size 8{ ital "rs"} } } } " "} {} # " " \( forall i=1 rightarrow m \) {}} } {}

Phương án cơ sở khả thi mới có các thành phần như sau :

x B = b ¯ θ N ¯ s x N = θ I s righ x = size 12{ {x} cSup { size 8{ and } } =alignl { stack { left [ {x} cSup { size 8{ and } } rSub { size 8{B} } = {overline {b}} - {θ} cSup { size 8{ and } } {overline {N}} rSub { size 8{s} } {} #right ] left [ {x} cSup { size 8{ and } } rSub { size 8{N} } = {θ} cSup { size 8{ and } } I rSub { size 8{s} } {} #righ]} } \[ \]} {}

và giá trị hàm mục tiêu tương ứng là :

z ( x ) = z ( x 0 ) + θ c ¯ s > z ( x 0 ) size 12{z \( {x} cSup { size 8{ and } } \) =z \( x rSup { size 8{0} } \) + {θ} cSup { size 8{ and } } {overline {c}} rSub { size 8{s} }>z \( x rSup { size 8{0} } \) } {}

Ghi chú :

Trong trường hợp bài toán không suy biến, nếu θ size 12{ {θ} cSup { size 8{ and } } } {} được xác định một cách duy nhất thì phương án mới x size 12{ {x} cSup { size 8{ and } } } {} có đúng m thành phần khác 0. Thật vậy :

- Biến xs đang bằng 0 trong phương án x0 trở thành dương thật sự vì x s = θ ˆ size 12{x rSub { size 8{s} } = { hat {θ}}} {}

- Biến xr đang dương thật sự bây giờ nhận giá trị :

x r = b ¯ r θ N ¯ rs = b ¯ r b ¯ r N ¯ rs N ¯ rs = b ¯ r b ¯ r = 0 size 12{ {x} cSup { size 8{ and } } rSub { size 8{r} } = {overline {b}} rSub { size 8{r} } - {θ} cSup { size 8{ and } } {overline {N}} rSub { size 8{ ital "rs"} } = {overline {b}} rSub { size 8{r} } - { { {overline {b}} rSub { size 8{r} } } over { {overline {N}} rSub { size 8{ ital "rs"} } } } {overline {N}} rSub { size 8{ ital "rs"} } = {overline {b}} rSub { size 8{r} } - {overline {b}} rSub { size 8{r} } =0} {}

Vậy phương án mới x size 12{ {x} cSup { size 8{ and } } } {} là một phương án cơ sở. Nó tương ứng với cơ sở ở B size 12{ {B} cSup { size 8{ and } } } {} được suy ra từ B bằng cách thay thế cột r bằng cột s.

Người ta nói rằng hai cơ sở B và B size 12{ {B} cSup { size 8{ and } } } {} là kề nhau, chung tương ứng với những điểm cực biên kề nhau trong tập hợp lồi S các phương án khả thi của bài toán.

Câu hỏi

1- Trình bày các bước nghiên cứu một quy hoạch tuyến tính.

2- Định nghĩa quy hoạch tuyến tính chính tắc.

3- Trình bày khái niệm về phương án của một quy hoạch tuyến tính.

4- Trình bày cơ sở lý thuyết của phương pháp hình học giải một quy hoạch tuyến tính hai biến.

BÀI TẬP CHƯƠNG 1

1- Một nhà máy cán thép có thể sản xuất hai loại sản phẩm : thép tấm và thép cuộn. Nếu chỉ sản xuất một loại sản phẩm thì nhà máy chỉ có thể sản xuất 200 tấn thép tấm hoặc 140 tấn thép cuộn trong một giờ . Lợi nhuận thu được khi bán một tấn thép tấm là 25USD, một tấn thép cuộn là 30USD. Nhà máy làm việc 40 giờ trong một tuần và thị trường tiêu thụ tối đa là 6000 tấn thép tấm và 4000 tấn thép cuộn .

Vấn đề đặt ra là nhà máy cần sản xuất mỗi loại sản phẩm là bao nhiêu trong một tuần để đạt lợi nhuận cao nhất. Hãy trình bày bài toán quy hoạch tuyến tính cho vấn đề trên.

2- Có 3 người cùng phải đi một quảng đường dài 10km mà chỉ có một chiếc xe đạp một chổ ngồi. Tốc độ đi bộ của người thứ nhất là 4km/h, người thứ hai là 2km/h, người thứ ba là 2km/h. Tốc độ đi xe đạp của người thứ nhất là 16km/h, người thứ hai là 12km/h, người thứ ba là 12km/h.

Vấn đề đặt ra là làm sao để thời gian người cuối cùng đến đích là ngắn nhất. Hãy trình bày bài toán quy hoạch tuyến tính cho vấn đề trên.

3- Một nhà máy sản xuất ba loại thịt : bò, lợn và cừu với lượng sản xuất mỗi ngày là 480 tấn thịt bò, 400 tấn thịt lợn, 230 tấn thịt cừu. Mỗi loại đều có thể bán được ở dạng tươi hoặc nấu chín. Tổng lượng các loại thịt có thể nấu chín để bán là 420 tấn trong giờ và 250 tấn ngoài giờ. Lợi nhuận thu được từ việc bán một tấn mỗi loại thịt được cho trong bảng sau đây :

Tươi Nấu chín trong giờ Nấu chín ngoài giờ
8 14 11
Lợn 4 12 7
Cừu 4 13 9

Hãy trình bày bài toán quy hoạch tuyến tính để nhà máy sản xuất đạt lợi nhuận cao nhất.

4- Một xưởng mộc làm bàn và ghế. Một công nhân làm xong một cái bàn phải mất 2 giờ, một cái ghế phải mất 30 phút. Khách hàng thường mua nhiều nhất là 4 ghế kèm theo 1 bàn do đó tỷ lệ sản xuất giữa ghế và bàn nhiều nhất là 4:1. Giá bán một cái bàn là 135USD, một cái ghế là 50USD. Hãy trình bày bài toán quy hoạch tuyến tính để xưởng mộc sản xuất đạt doanh thu cao nhất, biết rằng xưởng có 4 công nhân đều làm việc 8 giờ mỗi ngày.

5- Một nhà máy sản xuất hai kiểu mũ. Thời gian để làm ra một cái mũ kiểu thứ nhất nhiều gấp 2 lần thời gian làm ra một cái kiểu thứ hai. Nếu sản xuất toàn kiểu mũ thứ hai thì nhà máy làm được 500 cái mỗi ngày. Hàng ngày, thị trường tiêu thụ nhiều nhất là 150 cái mũ kiểu thứ nhất và 200 cái kiểu thứ hai. Tiền lãi khi bán một cái mũ kiểu thứ nhất là 8USD, một cái mũ thứ hai là 5USD. Hãy trình bày bài toán quy hoạch tuyến tính để nhà máy sản xuất đạt lợi nhuận cao nhất.

6- Trong hai tuần một con gà mái đẻ được 12 trứng hoặc ấp được 4 trứng nở ra gà con. Sau 8 tuần thì bán tất cả gà con và trứng với giá 0,6USD một gà và 0,1USD một trứng. Hãy trình bày bài toán quy hoạch tuyến tính bố trí 100 gà mái đẻ trứng hoặc ấp trứng sao cho doanh thu là nhiều nhất.

7- Giải những bài toán quy hoạch tuyến tính sau đây bằng phương pháp hình học :

a)- {} max z = x 1 x 2 3x 1 + x 2 3 x 1 + 2x 2 4 x 1 x 2 1 x 1 5 x 2 5 { { { { alignl { stack { size 12{"max"" z"=x rSub { size 8{1} } - x rSub { size 8{2} } } {} #alignl { stack { left lbrace 3x rSub { size 8{1} } +x rSub { size 8{2} }>= 3 {} # right none left lbrace x rSub { size 8{1} } +2x rSub { size 8{2} }>= 4 {} # right none left lbrace x rSub { size 8{1} } - x rSub { size 8{2} }<= 1 {} # right none left lbrace x rSub { size 8{1} }<= 5 {} # right none left lbrace x rSub { size 8{2} }<= 5 {} # right no } } lbrace {}} } {} b)- min w = x 1 + x 2 x 1 2x 2 6 x 1 2x 2 4 x 1 + x 2 1 x 1 , x 2 0 { { { alignl { stack {size 12{"min"" w"= - x rSub { size 8{1} } +x rSub { size 8{2} } } {} # alignl { stack {left lbrace - x rSub { size 8{1} } - 2x rSub { size 8{2} }<= 6 {} # right none left lbrace x rSub { size 8{1} } - 2x rSub { size 8{2} }<= 4 {} # right none left lbrace - x rSub { size 8{1} } +x rSub { size 8{2} }<= 1 {} # right none left lbrace x rSub { size 8{1} } ,x rSub { size 8{2} }<= 0 {} # right no } } lbrace {}} } {}

c)- max z = 5x 1 + 6x 2 x 1 2x 2 2 2x 1 + 3x 2 2 x 1 , x 2 tuy ý { { alignl { stack { size 12{"max"" z"="5x" rSub { size 8{1} } +6x rSub { size 8{2} } } {} #alignl { stack { left lbrace x rSub { size 8{1} } - 2x rSub { size 8{2} }>= 2 {} # right none left lbrace - 2x rSub { size 8{1} } +3x rSub { size 8{2} }>= 2 {} # right none left lbrace x rSub { size 8{1} } ,x rSub { size 8{2} } " tuy ý" {} #right no } } lbrace {} } } {} d)- min w = -2x 1 x 2 x 1 + 2x 2 6 x 1 x 2 3 x 1 , x 2 0 { { alignl { stack { size 12{"min"" w"="-2x" rSub { size 8{1} } - x rSub { size 8{2} } } {} #alignl { stack { left lbrace x rSub { size 8{1} } +2x rSub { size 8{2} }<= 6 {} # right none left lbrace x rSub { size 8{1} } - x rSub { size 8{2} }>= 3 {} # right none left lbrace x rSub { size 8{1} } ,x rSub { size 8{2} }>= 0 {} # right no } } lbrace {}} } {}

e)- max z = 3x 1 + 2x 2 2x 1 + x 2 2 3x 1 + 4x 2 1 x 1 , x 2 0 { { alignl { stack { size 12{"max"" z"="3x" rSub { size 8{1} } +2x rSub { size 8{2} } } {} #alignl { stack { left lbrace "2x" rSub { size 8{1} } +x rSub { size 8{2} }<= 2 {} # right none left lbrace "3x" rSub { size 8{1} } +4x rSub { size 8{2} }>= 1 {} # right none left lbrace x rSub { size 8{1} } ,x rSub { size 8{2} }>= 0 {} # right no } } lbrace {}} } {} f)- max z = 3x 1 4x 2 x 1 x 2 4 2x 1 + x 2 14 x 2 6 x 1 6 x 1 , x 2 0 { { { { alignl { stack { size 12{"max"" z"="3x" rSub { size 8{1} } - 4x rSub { size 8{2} } } {} #alignl { stack { left lbrace x rSub { size 8{1} } - x rSub { size 8{2} }>= - 4 {} # right none left lbrace 2x rSub { size 8{1} } +x rSub { size 8{2} }<= "14" {} # right none left lbrace x rSub { size 8{2} }<= 6 {} # right none left lbrace x rSub { size 8{1} }<= 6 {} # right none left lbrace x rSub { size 8{1} } ,x rSub { size 8{2} }>= 0 {} # right no } } lbrace {}} } {}

g)- min/max z ( x ) = 4x 1 + 3x 2 2x 1 3x 2 12 2x 1 + 3x 2 24 3x 1 x 2 14 x 1 + 4x 2 9 2x 1 + x 2 4 x 1 , x 2 0 { { { { alignl { stack { size 12{"min/max"" z" \( x \) =4x rSub { size 8{1} } +3x rSub { size 8{2} } } {} #alignl { stack { left lbrace "2x" rSub { size 8{1} } - 3x rSub { size 8{2} }>= - "12" {} # right none left lbrace "2x" rSub { size 8{1} } +3x rSub { size 8{2} }<= "24" {} # right none left lbrace "3x" rSub { size 8{1} } - x rSub { size 8{2} }<= "14" {} # right none left lbrace x rSub { size 8{1} } +4x rSub { size 8{2} }>= 9 {} # right none left lbrace "2x" rSub { size 8{1} } +x rSub { size 8{2} }>= 4 {} # right no } } lbrace {} #x rSub { size 8{1} } ,x rSub { size 8{2} }>= 0 {} } } {}

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