Academia.eduAcademia.edu
Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định Chương 1. BÀI TOÁN QUY HO CH TUY N TÍNH. NG PHÁP Đ N HÌNH PH 1.1. Bài toán quy ho ch tuyến tính 1.1.1. Một số mô hình thực tế A. Bài toán l p kế ho ch sản xuất Một cơ sở có thể sản xuất hai loại sản phẩm A và B, từ các nguyên liệu I, II, III. Chi phí từng loại nguyên liệu và tiền lãi của một đơn vị sản phẩm, cũng như dự trữ nguyên liệu cho trong bảng sau đây: Nguyên liệu I II III Lãi A 2 0 1 3 B 1 1 0 5 Dự trữ 8 4 3 Sản phẩm Hãy lập bài toán thể hiện kế hoạch sản xuất sao cho có tổng số lãi lớn nhất, trên cơ sở dự trữ nguyên liệu đã có. L p bài toán: Gọi x, y lần lượt là số sản phẩm A và B được sản xuất ( x, y ≥ 0 , đơn vị sản phẩm). Khi đó ta cần tìm x, y ≥ 0 sao cho đạt lãi lớn nhất. f ( X ) = 3 x + 5 y → max với điều kiện nguyên liệu: 2 x + y ≤ 8; 1. y ≤ 4; 1.x ≤ 3; Tức là cần giải bài toán: f ( X ) = 3 x + 5 y → max ⎧2 x + y = 8; ⎪ y ≤ 4; ⎪ với điều kiện: ⎨ ⎪ x ≤ 3; ⎪⎩ x, y ≥ 0; Nguyễn Hải Đăng - Khoa KHCB&KTCS -1- Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định B. Bài toán phân công lao động: Một lớp học cần tổ chức lao động với hai loại công việc: xúc đất và chuyển đất. Lao động của lớp được chia làm 3 loại A, B, C, với số lượng lần lượt là 10, 20, 12. Năng suất của từng loại lao động trên từng công việc cho trong bảng dưới đây: Lao động A(10) B(20) C(12) Xúc đất 6 5 4 Chuyển đất 4 3 2 Công việc Hãy tổ chức lao động sao cho có tổng năng suất lớn nhất. L p bài toán: Gọi xij là số lao động loại j làm công việc i(j=1,2;xij ≥ 0 , nguyên). Khi đó, năng suất lao động của công việc đào đất sẽ là: 6 x11 + 5 x12 + 4 x13 ; còn chuyển đất sẽ là : 4 x 21 + 3 x 22 + 2 x 23 ; Ta thấy rằng để có năng suất lớn nhất thì không thể có lao động dư thừa, tức là phải cân bằng giữa hai công việc. Vì vậy ta có bài toán sau: 6 x11 + 5 x12 + 4 x13 → max; ⎧6 x11 + 5 x12 + 4 x13 − 4 x21 + 3 x22 + 2 x23 = 0; ⎪ x + x = 10; ⎪ 11 21 với điều kiện ⎨ ⎪ x12 + x22 = 20; ⎪⎩ x13 + x23 = 12; C. Bài toán khẩu phần thức ăn: Một khẩu phần thức ăn có khối lượng P, có thể cấu tạo từ n loại thức ăn. Gía mua một đơn vị thức ăn loại j là cj. Để đảm bảo cơ thể phát triển bình thường thì khẩu phần cần m loại chất dinh dưỡng. Chất dinh dưỡng thứ i cần tối thiểu cho khẩu phần là bi và có trong một đơn vị thức ăn loại j là aij. Hỏi nên cấu tạo một khẩu phần thức ăn như thế nào để ăn đủ no, đủ chất dinh dưỡng mà có giá thành rẻ nhất. L p bài toán: Gọi xj (xj ≥ 0 ) là số đơn vị thức ăn loại j được cấu tạo trong khẩu phần. Khi đó, giá thành của khẩu phần là: Nguyễn Hải Đăng - Khoa KHCB&KTCS -2- Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định f (X ) = ∑cjxj; n j =1 Vì phải đảm bảo thoả mãn điều kiện đủ no và đủ chất, tức là: ∑x n j =1 =P, ∑ aij x j ≥ b j , i = 1, m. n j j =1 f ( X ) = ∑ c j x j → min n Ta có bài toán sau: j =1 ⎧ n x = P; j ⎪∑ j =1 ⎪ n ⎪ với điều kiện ⎨ ∑ a ij x j ≥ b i , i = 1, m ; ⎪ j =1 ⎪ x j ≥ 0 , j = 1, n ; ⎪⎩ Ta thấy rằng ba bài toán trên đều thuộc bài toán tổng quát. 1.1.2. Bài toán quy hoạch tuyến tính tổng quát Bài toán tổng quát của QHTT có dạng : f ( X ) = ∑ c j x j → min( max) n j =1 ⎧ n a x = b , i = 1, k ij j i ⎪∑ j =1 ⎪ n ⎪ với điều kiện ⎨ ∑ a ij x j ≥ bi , i = k + 1, m ⎪ j =1 ⎪ x j ≥ 0, j = 1, r , r ≤ n ⎪⎩ Để phân biệt tính chất của các ràng buộc đối với một phương án, ta làm quen với hai khái niệm : ràng buộc chặt và ràng buộc lỏng. Định nghĩa 1: Nếu đối với phương án x mà ràng buộc i thỏa mãn với dấu đẳng ∑a x n thức, nghĩa là j =1 ij j = bi thì ta nói phương án x thỏa mãn chặt ràng buộc i Nếu đối với phương án x mà ràng buộc i thỏa mãn với dấu bất đẳng thức thực sự, ∑a x n nghĩa là j =1 ij j > bi thì ta nói phương án x thỏa mãn lỏng ràng buộc i Định nghĩa 2 : Ta gọi một phương án thỏa mãn chặt n ràng buộc độc lập tuyến tính là phương án cực biên. Một phương án cực biên thỏa mãn chặt đúng n ràng buộc Nguyễn Hải Đăng - Khoa KHCB&KTCS -3- Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định gọi là phương án cực biên không suy biến, thỏa mãn chặt hơn n ràng buộc gọi là phương án cực biên suy biến. Định nghĩa 3: Một phương án mà tại đó hàm mục tiêu đạt cực tiểu ( cực đại ) gọi là phương án tối ưu. Bài toán có ít nhất một phương án tối ưu gọi là bài toán giải được, bài toán không có phương án hoặc có phương án nhưng hàm mục tiêu không bị chặn dưới ( trên ) trên tập phương án gọi là không giải được. Để nhất quán trong lập luận, ta xét bài toán tìm cực tiểu, sau đó ta xét cách đưa bài toán tìm cực đại về bài toán tìm cực tiểu. * Chuyển bài toán tìm cực đại về bài toán tìm cực tiểu : Nếu gặp bài toán tìm max, tức là : f ( X ) = ∑ c j x j → max n j =1 X ∈M thì giữ nguyên ràng buộc, ta đưa nó về dạng bài toán tìm min : g ( X ) = − f ( X ) = − ∑ c j x j → min n X ∈M j =1 Chứng minh : Nếu bài toán tìm min có phương án tối ưu là X* thì bài toán tìm max cũng có phương án tối ưu là X* và g(X)= - f(X). Thật vậy, X* là phương án tối ưu của bài toán tìm min, tức là f ( X ) = ∑ c j x ≤ ∑ c j x j , ∀X ∈ M n n * * j j =1 j =1 ⇒ − ∑ c j x ≥ ∑ c j x j , ∀X ∈ M n j =1 n * j j =1 hay − f ( X * ) = g ( X * ) ≥ g ( X ), ∀X ∈ M Vậy X* là phương án tối ưu của bài toán max và f max = −∑ c j x*j = −g min n j =1 1.1.3. Dạng chính tắc của bài toán quy hoạch tuyến tính Nguyễn Hải Đăng - Khoa KHCB&KTCS -4- Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định Người ta thường xét bài toán QHTT dưới dạng sau: f ( X ) = ∑ c j x j → min n j =1 ⎧ n a x = b , i = 1, m ∑ i với điều kiện ⎪⎨ j = 1 ij j ⎪ x j ≥ 0 , j = 1, n ⎩ (1.1) (1.2) (1.3) Bài toán (1.1), (1.2), (1.3) được gọi là Bài toán Quy hoạch tuyến tính dạng chính tắc. Kí hiệu ma trận hàng c = (c1 , c2 ,..., cn )1×n và các ma trận : ⎛ a1j ⎞ ⎛ x1 ⎞ ⎛ b1 ⎞ ⎜a ⎟ ⎜x ⎟ ⎜b ⎟ 2j 2 2 x = ⎜ ⎟ , b = ⎜ ⎟ , A = (aij ) m×n , Aj = ⎜ ⎟ j = 1, n ⎜ ... ⎟ ⎜ ... ⎟ ⎜ ... ⎟ ⎜⎜ ⎟⎟ ⎜ ⎟ ⎜ ⎟ x b ⎝ n⎠ ⎝ m⎠ ⎝ amj ⎠ Ta có bài toán ở dạng ma trận như sau: f(x) = cx → min ⎧ Ax = b Với điều kiện ⎨ ⎩x ≥ 0 và bài toán ở dạng véc tơ như sau: f(x) = cx → min ⎧ A1 x1 + A2 x2 + .... + An xn = b Với điều kiện ⎨ ⎩ x1 , x2 ,..., xn ≥ 0 Đối với bài toán dạng chính tắc ta có một số tính chất và khái niệm quan trọng của phương án cực biên như sau : chính tắc là cực biên khi và chỉ khi hệ thống các véc tơ { Aj : x j > 0} độc lập tuyến tính. Tính chất 1( Nhận dạng phương án cực biên ) : Phương án x của bài toán dạng Với giả thiết hạng[A] = m thì một phương án cực biên không suy biến có đúng m thành phần dương, suy biến có ít hơn m thành phần dương. Chứng minh Lấy một phương án x bất kì, giả sử p thành phần đầu của x là dương, tức là x j > 0 ( j = 1, p ) , suy ra xk = 0 (k = p + 1, n) . Thành lập ma trận tương ứng với các ràng Nguyễn Hải Đăng - Khoa KHCB&KTCS -5- Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định buộc chặt của phương án x ( bao gồm m ràng buộc đẳng thức và n - p ràng buộc chặt về dấu ), kí hiệu là C, ta có : ⎡ a11 a12 ⎢a a22 ⎢ 21 ⎢ ... ... ⎢ ⎢ am1 am 2 C=⎢ 0 0 ⎢ 0 ⎢ 0 ⎢ 0 0 ⎢ ⎢ ... ... ⎢ 0 0 ⎣ ... a1 p ... a2 p P ... ... amp ... 0 ... 0 ... 0 ... ... ... 0 a1 p +1 a1 p + 2 a2 p +1 a2 p + 2 ... ... amp +1 amp + 2 1 0 0 1 0 0 ... ... 0 0 ... a1n ⎤ ... a2 n ⎥ ⎥ ... ... ⎥ ⎥ ... amn ⎥ ... 0 ⎥ ⎥ ... 0 ⎥ ... 0 ⎥ ⎥ ... ... ⎥ ... 1 ⎥⎦ m n-p Theo cách tính hạng của ma trận thì hạng[C] = n – p + hạng[P] { } và chỉ khi hạng[P] = p, nói cách khác thì Aj : j = 1, p hay { Aj : x j > 0} độc lập tuyến Từ định nghĩa suy ra, x là phương án cực biên khi và chỉ khi hạng[C] = n, nghĩa là khi tính. Từ đây đối với bài toán dạng chính tắc, không mất tính tổng quát , ta giả thiết : • Hệ (1.2) có đúng m phương trình độc lập tuyến tính. • ∀bi ≥ 0, i = 1, m • m < n (trong trường hợp m ≥ n thì tập phương án có nhiều nhất một điểm, do vậy việc tìm phương án tối ưu là tầm thường). Vì hạng của ma trận A bằng m nên số véc tơ điều kiện Aj độc lập tuyến tính cực đại là m, do đó bất kì phương án cực biên nào cũng tương ứng với ít nhất một hệ véc tơ Định nghĩa 4: Ta gọi một hệ m véc tơ { Aj } độc lập tuyến tính bao hàm hệ thống độc lập tuyến tính cực đại, từ đó ta có định nghĩa sau : các véc tơ tương ứng với các thành phần dương của phương án cực biên x là cơ sở của J = { j : Aj nằm trong cơ sở phương án cực biên ấy, kí hiệu một cách quy ước là J, trong đó } Một phương án cực biên không suy biến có đúng m thành phần dương, m véc tơ Aj tương ứng độc lập tuyến tính nên có một cơ sở duy nhất, đó chính là các véc tơ tương ứng với các thành phần dương ; còn đối với phương án cực biên suy biến thì có -6Nguyễn Hải Đăng - Khoa KHCB&KTCS Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định nhiều cơ sở khác nhau, phần chung của chúng là các véc tơ tương ứng với các thành phần dương. Như vậy khi nói phương án cực biên có cơ sở J, cần hiểu J có 3 nội dung sau: • Số phần tử của J: J = m • • { A : j ∈ J } độc lập tuyến tính {A : j ∈ J} ⊃ {A : x j j j j > 0} Tính chất 2 ( Tính hữu hạn của số phương án cực biên ): Số phương án cực biên của mọi bài toán quy hoạch tuyến tính đều hữu hạn Thật vậy: Vì mỗi phương án cực biên đều tương ứng với một hệ n ràng buộc chặt độc lập tuyến tính, số hệ gồm n phương trình độc lập tuyến tính là hữu hạn, do đó số phương án cực biên cũng là hữu hạn. Tính chất 3 ( Sự tồn tại phương án tối ưu ): Nếu bài toán dạng chính tắc có phương án và hàm mục tiêu bị chặn dưới trên tập phương án thì bài toán có phương án cực biên tối ưu. { } Thật vậy, giả sử bài toán có các phương án cực biên là x1 , x 2 ,..., x k . Đặt f ( xl ) = Min f ( x i ) : i = 1, k . Do tập nghiệm ( hay tập phương án của bài toán quy hoạch tuyến tính) của hệ ràng buộc là một đa diện lồi, cho nên mọi nghiệm (phương án) x đều có thể phân tích thành: x = ∑ λi x , ∑ λi = 1 k k i i =1 i =1 Suy ra f ( x) = f (∑ λi x ) = ∑ λi f ( x ) ≥ (∑ λi ) f ( xl ) = f ( xl ) ∀x ∈ M k k i i =1 k i i =1 i =1 Vậy xl chính là phương án cực biên tối ưu. Một lớp quan trọng của các bài toán quy hoạch tuyến tính dạng chính tắc là bài toán dưới đây gọi là bài toán dạng chuẩn : Nguyễn Hải Đăng - Khoa KHCB&KTCS -7- Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định f ( x ) = ∑ c j x j → min n j =1 + a 1m +1 x m +1 ⎧ x1 ⎪ x2 ⎪ ⎪ ... ⎨ ⎪ xm ⎪ ⎪⎩ x j ≥ 0 , j = 1, n ... + a 1 n x n = b1 + a 1m +2 x m +2 + + a 2m +1 x m +1 ................. ... + a 2 n x n = b 2 ..................... + a 2m +2 x m +2 + ................. + a mm +1x m+1 ... + a m n x n = b m + a m m+2 x m+2 + trong đó bi ≥ 0(i = 1, m) , nghĩa là bài toán dạng chính tắc có vế phải không âm và mỗi phương trình đều có một biến số với hệ số bằng 1 đồng thời không có trong các phương trình khác ( gọi là biến cô lập với hệ số bằng 1). Từ hệ phương trình ràng buộc của bài toán dễ dàng suy ra một phương án: x 0 = (b1 , b2 ,..., bm ,0,0,...,0) Đây chính là một phương án cực biên có hệ cơ sở tương ứng là ⎛1⎞ ⎛0⎞ ⎛0⎞ ⎜0⎟ ⎜1⎟ ⎜0⎟ ⎜ ⎟ ⎜ ⎟ A1 = , A2 = ,..., Am = ⎜ ⎟ ⎜ ... ⎟ ⎜ ... ⎟ ⎜ ... ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎝0⎠ ⎝0⎠ ⎝1⎠ 1.1.4. Đưa bài toán quy hoạch tuyến tính về dạng chính tắc Phương pháp: Ta có thể đưa bài toán tuyến tính tổng quát về bài toán tuyến tính dạng chính tắc tương đương nhờ các quy tắc sau: • • Nếu có max f(X) thì đổ thành {min − f ( X )}. Nếu có bất đẳng thức ∑a x n j =1 ij j ≥ bi hoặc ∑a x n j =1 ij j ≤ bi thì ta đưa thêm ẩn phụ xn+i ≥ 0 ,với hệ số hàm mục tiêu cn+i = 0 để có: ∑a x n • j =1 ij j − xn +i = bi hoặc ∑a x n j =1 ij j + xn+i = bi ; Nếu có ẩn xk chưa ràng buộc về dấu, thì ta có thể thay nó bởi hai biến mới xk và xk không âm, theo công thức: ' " xk = xk - xk . ' " Ví dụ 1.1 Đưa bài toán sau về dạng chính tắc: min { x1 − x2 − x3 } ; Nguyễn Hải Đăng - Khoa KHCB&KTCS -8- Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định ⎧ 6 x11 + 5 x12 + 4 x13 − 4 x 21 + 3 x 22 + 2 x 23 = 0; ⎪ x + x + x = 5; 2 3 ⎪⎪ 1 với điều kiện ⎨ x1 − 2 x 2 + x3 ≤ 3; ⎪ x + x − x ≥ 4; 2 3 ⎪ 1 ⎪⎩ x1 , x3 ≥ 0; Giải: Ta thấy có bất đẳng thức x1 − 2 x2 + x3 ≤ 3 nên ta đưa thêm ẩn phụ x4 , x5 ≥ 0 Mặt khác, có ẩn x2 chưa ràng buộc về dấu, do đó ta thay x2 bởi x2' − x2" . Khi đó, bài toán ban đầu được chuyển về dạng sau: ( x1 − x2' + x2" − x3 ) → min ⎧ x1 + x 2' − x 2" + x 3 = 5 ⎪ ' " ⎪ x1 − 2 x 2 + 2 x 2 + x 3 + x 4 = 3 với điều kiện ⎨ ' " ⎪ x1 + x 2 − x 2 − x 3 − x 5 = 4 ⎪ x , x ' , x" , x , x , x ≥ 0 ⎩ 1 2 2 3 4 5 Ví dụ 1.2 Đưa bài toán QHTT sau về dạng chính tắc: 2 x1 − x2 + 2 x3 + x4 − 2 x5 → min ⎧ x1 − 2 x2 + x3 + 2 x4 + x5 ≤ 7(1) ⎪ x + 2 x + x ≥ −1(2) 3 4 ⎪ 2 ⎪⎪2 x3 + x4 + 3 x5 ≥ 10(3) với điều kiện ⎨ ⎪ x1 + x2 − 2 x3 + x4 = 20 ⎪ x1 , x5 ≥ 0 ⎪ ⎪⎩ x4 ≤ 0 Giải: Vì x2, x3 chưa ràng buộc về dấu nên ta thay x2 bởi x2' − x2" ( x2' , x2" ≥ 0) , x3 bởi x3' − x3" ( x3' , x3" ≥ 0) , x4 ≤ 0 nên thay x4 bởi − x4' ( x4' ≥ 0) . Vì có các bất đẳng thức (1), (2), (3) nên ta thêm các ẩn phụ x6, x7, x8. Từ đó, ta được bài toán sau: 2 x1 − ( x2' − x2" ) + 2( x3' − x3" ) − x4' − 2 x5 → min Nguyễn Hải Đăng - Khoa KHCB&KTCS -9- Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định ⎧ x1 − 2( x2' − x2" ) + x3' − x3" − 2 x4' + x5 + x6 = 7 ⎪ ' " ' " ' ⎪( x2 − x2 ) + 2( x3 − x3 ) − x4 − x7 = −1 ⎪ Với điều kiện ⎨2( x2' − x2" ) − x4' + 3 x5 − x8 = 10 ⎪ x + ( x ' − x" ) − 2( x ' − x" ) − x ' = 20 2 2 3 3 4 ⎪ 1 ' " ' " ' ⎪⎩ x1 , x5 , x6 , x7 , x8 , x2 , x2 , x3 , x3 , x4 ≥ 0 1.2. Phương pháp đơn hình 1.2.1. Tư tưởng của phương pháp đơn hình Xét bài toán quy hoạch tuyến tính dạng chính tắc: f ( x) = ∑ c j x j → min n j =1 ⎧ ⎪∑ aij x j = bi , i = 1, m ⎨ j =1 ⎪x ≥ 0 ⎩ j n Dạng véctơ của bài toán: f ( x) = cx → min ⎧ n Với điều kiện: ⎪∑ Aj x j = b ⎨ j =1 ⎪ x ≥ 0, j = 1, n ⎩ j Ta đã biết rằng : - Nếu bài toán có phương án thì có phương án cực biên - Nếu bài toán có phương án tối ưu thì cũng có phương án cực biên tối ưu. Số phương án cực biên là hữu hạn. Do đó, ta có thể tìm một phương án tối ưu(hay một lời giải của bài toán) trong tập hợp các phương án cực biên. Tập hợp này là hữu hạn. Vì vậy Dantzig đề xuất thuật toán đơn hình như sau: Xuất phát từ một phương án cực biên x0. Kiểm tra xem x0 có là phương án tối ưu hay chưa. Nếu x0 chưa phải là phương án tối ưu thì tìm cách cải tiến nó để được phương pháp khác là x1 tốt hơn x0, tức là f(x1) < f( x0). Qúa trình này lặp lại nhiều lần. Vì số phương án cực biên là hữu hạn nên sau một số hữu hạn lần lặp ta sẽ tìm thấy phương án cực biên tối ưu. Để thực hiện thuật toán đề ra ở trên, ta cần làm rõ hai vấn đề sau: Nguyễn Hải Đăng - Khoa KHCB&KTCS - 10 - Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định 1. Làm thế nào để biết một phương án cực biên đã cho là tối ưu hay chưa, tức là cần tìm « dấu hiệu tối ưu ». 2. Làm thế nào để từ một phương án cực biên chưa tối ưu tìm được một phương án cực biên tốt hơn nó. 1.2.2. Biểu diễn qua cơ sở. Dấu hiệu tối ưu Gỉa sử có phương án cực biên x0 với cơ sở J0(tức là hệ véctơ cột độc lập tuyến tính { A , j ∈ J } và xj > 0). Ta có: j 0 AX = b hay b = ∑ x 0j Aj = n 0 j =1 ∑x j∈J 0 0 j (1) Aj (vì x 0j = 0∀j ∉ J 0 ). Với mỗi k ∉ J 0 , ta biểu diễn véc tơ Ak qua các véc tơ cơ sở {A , j ∈ J } : j 0 ∑z Ak = j∉J 0 A j (∀k ∉ J 0 ) jk Gỉa sử x ∈ M là một phương án bất kỳ. Ta có : b = ∑ x j Aj = ∑ x j Aj + ∑ xk Ak = n j =1 j∈J k∉J ∑x A +∑x ∑z j∈J 0 j j k∉J 0 k j∈J 0 jk Aj = ∑ (x + ∑ z j∈J 0 Vì { Aj , j ∈ J 0 } độc lập tuyến tính nên từ (1) và (2) suy ra: j k∉J 0 jk xk )Aj (2) x 0j = x j + ∑ z jk xk (∀j ∈ J 0 ) k∉J 0 Hay: x j = x j − ∑ z jk xk ∀j ∈ J 0 (3) k∉J Khi đó, ta có: f ( x) = ∑ c j x j = n j =1 ∑c x + ∑c x j∈J 0 j j k∉J 0 (4) k k Thay (3) vào ta được : f ( x) = ∑ ( x − ∑ z jk xk )c j + ∑ ck xk = ∑ c j x 0j − ∑ ( ∑ z jk c j − ck ) xk n n j =1 0 j ∑z k∉J 0 Ký hiệu: Δk = j∈J 0 jk k∉J 0 j =1 k∉J 0 j∈J 0 c j − ck (k ∉ J 0 ) gọi là ước lượng của véc tơ cột Ak theo cơ sở J và: f ( x) = f ( x 0 ) − ∑ Δ k xk k∉J 0 Nguyễn Hải Đăng - Khoa KHCB&KTCS - 11 - Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định Nhận xét: Do x ≥ 0 nên nếu ∀k ∉ J 0 , Δ k ≤ 0 thì f ( x) ≥ f ( x 0 ), ∀x ∈ M do đó ta có dấu hiệu tối ưu sau đây: Phương án cực biên x0 với cơ sở J0 là phương án tối ưu khi và chỉ khi Δk ≤ 0, ∀k ∉ J 0 . 1.2.3. Công thức biến đổi. Bảng đơn hình Giả sử x0 với cơ sở J là một phương án cực biên nhưng chưa phải là phương án tối ưu, khi đó ∃k ∉ J 0 sao cho Δk > 0 . Giả sử s là một chỉ số trong các chỉ số nói trên: s ∉ J0 , Δs > 0 . Theo thuật toán trên ta cần cải tiến x0 để nhận được một phương án cực biên mới tốt hơn. Ta sẽ tìm một phương án cực biên mới x1 ứng với cơ sở J1 chỉ khác J một véc tơ : J 1 = ( J 0 \ r ) ∪ s , tức là ta đưa véc tơ As vào cơ sở thay cho véc tơ Ar bị loại ra khỏi cơ sở J. Vì mọi thành phần ngoài cơ sở của một phương án cực biên đều bằng 0 nên phương án cực biên mới x1 có cơ sở J 1 = ( J \ r ) ∪ s là: ⎧0 víi k ∉ J 0 , k ≠ s(tøc lμ k ∉ J1 ) x =⎨ ⎩θ víi k = s 1 k Trong đó (5) θ là một số dương sẽ được xác định sau sao cho x1 là một phương án cực biên. * Tìm điều kiện của θ để x1 là một phương án: Thay (5) vào (3) ta được: x1j = x 0j − ∑ z jk .x1k = x 0j − θ z js (∀j ∈ J 0 ) k ∉J 0 ⎧0 víi j ∉ J 0 , j ≠ s(tøc lμ j ∉ J1 ) ⎪ 1 = x ⎨θ víi j = s j Hay ⎪x 0 − θ z víi j ∈ J 0 js ⎩ j (6) Để x1 là một phương án thì nó phải thỏa mãn các điều kiện buộc Ax=b và x ≥ 0. + Ta thấy rằng với mọi θ , ta có: Ax1 = ∑ x1j Aj + ∑ x1j Aj = ∑ ( x 0j − θ z js )A j + θ As = j∈J j∉J j∈J ∑x j∈J 0 0 j A j − θ ∑ z js A j + θ As = b − θ As + θ As = b j∈J 0 Vậy với mọi θ thì ràng buộc thứ nhất thỏa mãn. Ta chỉ cần tìm θ sao cho x1 ≥ 0. Có hai trường hợp xảy ra: Nguyễn Hải Đăng - Khoa KHCB&KTCS - 12 - Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định + Trường hợp 1: Nếu zjs ≤ 0 với mọi j ∈J thì x1 ≥ 0 với mọi θ > 0 và x1 là phương án của bài toán. Nhưng do Δ s > 0 : f ( x1 ) = f ( x 0 ) − ∑ k∉J0 Δ k x 1k = f ( x 0 ) − Δ sθ → − ∞ k h i θ → + ∞ Như vậy hàm mục tiêu không bị chặn dưới trên miền ràng buộc. Khi đó bài toán không có lời giải hữu hạn. + Trường hợp 2: Nếu ∃j ∈ J 0 để zjs > 0, khi đó theo (6) số θ không thể lớn tùy ý, nó 0 phải thỏa mãn x j − θ z js ≥ 0, ∀j ∈ J 0 mà z js > 0 . Giá trị θ lớn nhất chỉ có thể bằng ⎧⎪ x 0j ⎫⎪ min ⎨ : j ∈ J 0 mà z js > 0 ⎬ ⎪⎭ ⎩⎪ z js Nếu vượt qua miền đó sẽ có một trong các ( x 0j − θ z js < 0 ) và x1 sẽ vượt ra khỏi miền ràng buộc. xr0 Giả sử cực tiểu trên đạt tại j = r. Lấy θ = , thay vào (6) ta được: zrs ⎧ ⎪ 1 víi j J , j s(tøc lμ j J 0 ) ∉ ≠ ∉ 0 ⎪ ⎪⎪ x 0 1 víi j = s xj = ⎨ r z ⎪ rs ⎪ x 0r 0 ⎪x j − z js víi j ∈ J 0 z rs ⎪⎩ (7) Khi đó, ta có: f ( x1 ) = f ( x 0 ) − Δ s xr0 zrs (8) Từ (8) ta thấy rằng x1 là phương án tốt hơn x0 nếu x0r > 0. z rs Rõ ràng, phương án x1 được xác định theo công thức (7) là phương án cực biên với cơ sở J 1 = ( J 0 \ r ) ∪ s . Thật vậy, theo (7) suy ra x1r = 0 nên J + ( X 1 ) ⊆ J 1 với (J+(X) = { j : x j > 0} ). Ta cần chứng minh hệ véc tơ { Aj , j ∈ J 1} độc lập tuyến tính. Nguyễn Hải Đăng - Khoa KHCB&KTCS - 13 - Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định + Thật vậy, giả sử 0= ∑α j∈J 1 xj = j ∑ j∈J , j ≠ r ∑α x j∈J j j 1 = 0 ta cần chứng minh α j = 0∀j ∈ J 1 . Ta có: α j x j + α s xs = ∑ j∈J 0 , j ≠ r α j x j + α s ∑ z js Aj = j∈J 0 Vì hệ véc tơ { Aj , j ∈ J 0 } độc lập tuyến tính, nên: ∑ j∈J 0 , j ≠ r (α j −α s z js ) Aj + α s zrs Ar ⎧⎪α j − α s z js = 0∀j ∈ J 0 , j ≠ r ⎨ ⎪⎩α s zrs = 0 Vì zrs > 0 nên suy ra α s = 0 , do đó α j = 0( j ∈ J , j ≠ r ) . Vậy α j = 0∀j ∈ J 1 = ( J 0 \ r ) ∪ s . Vì J + ( X 1 ) ⊆ J 1 nên hệ véc tơ {A , j ∈ J j + ( X 1 )} độc lập tuyến tính. Do đó x là 1 phương án cực biên và J1 là cơ sở của phương án cực biên x1. Như vậy x1 là một phương án cực biên của bài toán. ở trên ta đã tìm các thành phần của phương án cực biên mới x1 cùng với giá trị hàm mục tiêu f(x1) thông qua các hệ số khai triển zjk và các ước lượng Δ k trong cơ sở J. Như vậy chúng ta cần xác định các đại lượng z1jk và Δ1k trong cơ sở J1. Theo định nghĩa zjk và z1jk là các hệ số khai triển của véc tơ Ak tương ứng với cơ sở J, J1. Ak = ∑z j∈J 0 ∑z j∈J 0 jk Aj = Từ ∑z As = j∈ J 0 js jk Aj = Aj = ∑ ∑z j∈J 0 , j ≠ r ∑ j∈ J 0 , j ≠ r j∈J j∈J 0 = jk ∑ Aj = j∈J 0 , j ≠ r ∑ j∈J 0 , j ≠ r ( z jk − Aj (*) z jk Aj + zrk Ar (**) A j z js + z rs Ar vì z rs > 0tacó A r = Thay vào (**) ta được: ∑z 1 1 jk z jk Aj + 1 z rs ⎛ ⎜ As − ⎝ ∑ ⎞ z js A j ⎟ . j∈ J 0 , j ≠ r ⎠ zrk ( As − ∑ z js Aj ) zrs j∈J 0 , j ≠ r zrk z .z js ) Aj + rk . As zrs zrs (***) Vì { Aj , j ∈ J 1} độc lập tuyến tính nên từ (*) và (**) suy ra: Nguyễn Hải Đăng - Khoa KHCB&KTCS - 14 - Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định ⎧ z rk víi j = s ⎪z ⎪ x1jk = ⎨ rs ⎪ z − z rk z víi j ∈ J 0 , j ≠ r ⎪⎩ jk z rs js Δ1k = = ∑z j∈J 1 ∑⎜z ⎛ j∈J 0 ⎝ jk c j − ck = 1 jk − ∑ ⎛ ⎞ zrk z z js ⎟c j + rk cs − ck ⎜ z jk − zrs zrs j∈J 0 , j ≠ r ⎝ ⎠ ⎞ zrk z z js ⎟c j + rk cs − ck zrs zrs ⎠ = ( ∑ z jk c j − ck ) − j∈J 0 Vậy: Δ1k = Δ k − zrk zrs ∑z j∈J 0 js ⎛ ⎞ z (vì j=r thì ⎜ z jk − rk z js ⎟ = 0) zrs ⎝ ⎠ c j − cs ) = Δ k − zrk Δs . zrs zrk Δs . zrs Để thuận tiện cho việc tính toán, người ta sắp xếp các số liệu thành một bảng gọi là bảng đơn hình như dưới đây: Hệ Cơ Phương c1 c2 .... ck cs cn số sở án A1 A2 ... Ak As An c j1 Aj1 x j1 z j11 z j1 2 ... z j1k ... z j1s ... z j1n z j2 2 ... z j2 k ... z j2 s ... z j2 n ... ... ... ... z jr k ... z jr s ... z jr s ... ... ... z jmk ... z jm s ... z jm s Δk Δ s ... ... c j2 Aj2 x j2 z j2 1 ... ... ... ... ... c jr Ajr x jr z jr 1 z jr 2 ... ... ... ... ... ... z jm 1 z jm 2 Δ1 Δ 2 ... ... c jm Ajm x jm f(x) ... Δn Các cột ứng với j∈J sẽ là các véc tơ đơn vị với số 1 trên dòng với chỉ số j. Chú ý: Đối với bài toán dạng chuẩn, ta có ngay một phương án cực biên x 0 = (b1 , b2 ,..., bm ,0,0,...,0) với hệ véc tơ cơ sở tương ứng là A1 , A2 ,..., Am . Đây là các véc tơ đơn vị nên trong bảng đơn hình xuất phát ta có z jk = a jk Nguyễn Hải Đăng - Khoa KHCB&KTCS - 15 - Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định 1.2.4. Thu t toán đơn hình Bước xuất phát: Tìm một phương án cực biên x0 và cơ sở J0 tương ứng . Tìm các hệ số khai triển zjk và các ước lượng Δ k . Bước 1: Kiểm tra dấu hiệu tối ưu - Nếu Δ k ≤ 0∀k ∉ J 0 thì x0 là phương án tối ưu. Thuật toán kết thúc. - Nếu ∃Δ k > 0 thì chuyển sang bước 2. Bước 2: Kiểm tra dấu hiệu hàm mục tiêu giảm vô hạn: Với mỗi k ∉ J 0 mà Δ k > 0 thì kiểm tra các hệ số khai triênjk của cột Ak tương ứng: a) Nếu có một Δ k > 0 mà tất cả zjk ≤ 0 ∀j ∈ J 0 thì kết luận hàm mục tiêu giảm vô hạn trên miền ràng buộc. Bài toán không có lời giải hữu hạn. Thuật toán kết thúc. b) ∀k ∉ J 0 mà Δ k > 0 đều tồn tại ít nhất một hệ số zjk>0 thì chuyển sang bước 3 Bước 3: Xác định cột xoay, dòng xoay, phần tử trục - Chọn chỉ số s ∉ J 0 : Δ s = max {Δ k > 0, k ∉ J 0 } , đánh dấu cột s là cột xoay ⎧⎪ x 0j ⎫⎪ xr0 θ min , 0 = = > z ⎨ ⎬ , đánh dấu hàng r là hàng xoay. js - Tìm chỉ số r đạt min: zrs z ⎪⎩ js ⎪⎭ 1 1 1 1 Bước 4: Tính các x j , f ( x ), Δ k , z jk trong cơ sở mới J 1 = ( J 0 \ r ) ∪ s theo các công thức trên. Ghi nhận các kết quả trong một bảng mới. Quay trở lại bước 1. - Để nhận được bảng đơn hình mới từ bảng đơn hình cũ ta làm như sau: + Thay Ar bằng As, cr bằng cs. + Chia các phần tử trên hàng xoay ( hàng r) cho phần tử trục zrs ta được hàng r mới gọi là hàng chuẩn. + Mỗi phần tử khác ngoài hàng xoay trừ đi tích của phần tử cùng hàng với nó trên cột xoay với phần tử cùng cột với nó trên hàng chuẩn được phần tử cùng vị trí trong bảng đơn hình mới. a' = a − bd c a b d c Dòng xoay Cột xoay Nguyễn Hải Đăng - Khoa KHCB&KTCS - 16 - Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định 1.2.5. Tính hữu h n của thu t toán đơn hình Nếu bài toán quy hoạch tuyến tính có phương án và không suy biến thì sau hữu hạn bước lặp theo thủ tục đơn hình ta sẽ tìm thấy phương án tối ưu hoặc phát hiện ra bài toán có hàm mục tiêu giảm vô hạn hay bài toán không có lời giải hữu hạn. Thật vậy, vì bài toán không suy biến nên x 0j > 0∀j ∈ J nên θ = xr0 1 0 > 0 suy ra x ≠ x , zrs f(x1)<f(x0), nghĩa là x1 thực sự tốt hơn x0. Sau mỗi bước lặp, nếu không xảy ra trường hợp hàm mục tiêu giảm vô hạn thì ta tìm được một phương án mới thực sự tốt hơn phương án cũ, tức là không bao giờ trở lại phương án đã đi qua. Vì số phương án cực biên là hữu hạn nên sau hữu hạn bước lặp ta phải tìm được phương án cực biên tối ưu. 1.3. Phương pháp tìm phương án cực biên xuất phát 1.3.1. Nội dung phương pháp: Xây dựng bài toán mới là bài toán biến giả hay bài toán “M” từ bài toán đang xét. Bài toán “M ” có ngay phương án cực biên xuất phát và có đủ điều kiện áp dụng thuật toán đơn hình để giải, đồng thời từ kết quả của bài toán “M” đưa ra được kết luận cho bài toán đang xét. 1.3.2. Xây dựng bài toán “M” Xét bài toán chính tắc: f ( x ) = ∑ c j x j → min n j =1 ⎧ n a x = b , i = 1, m ∑ i với điều kiện ⎪⎨ j = 1 ij j ⎪ x j ≥ 0 , j = 1, n ⎩ A=( aij ) (I) Bài toán này được gọi là bài toán đầu. Gỉa thiết bi ≥ 0 ( i = 1, m ) và ma trận các hệ số trong hệ ràng buộc m×n không chứa véc tơ đơn vị nào.Bài toán “M” được xây dựng như sau: Thêm vào vế trái của phương trình thứ i ( i = 1, m ) trong hệ ràng buộc (I) một biến giả x n +i ≥ 0(i = 1, m) . Hệ số của các biến giả này trên hàm mục tiêu đều bằng M, với M là số dương lớn tùy ý (M>>0), bài toán “M” có dạng: Nguyễn Hải Đăng - Khoa KHCB&KTCS - 17 - Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định f ( x) = ∑ c j x j + M ∑ xn+i → min n m j =1 i =1 ⎧n ⎪∑ aij x j + x n +i = bi (i = 1, m) Với điều kiện: ⎨ j =1 ⎪ x ≥ 0( j = 1, n) ⎩ j Bài tóan “M” có ngay phương án cực biên xuất phát: x = (0;0;....;0; b1; b2 ;.....bm ) với cơ sở J0 là: Em =(An+1; An+2;....;An+m); 0 J0 = {n+1; n+2; ....;n+m} Do vậy áp dụng được thuật toán đơn hình để giải bài toán “M”. Từ cách xây dựng bài toán “M” như trên ta thấy: Nếu x = ( x1; x2 ;.....xn ;0;0;....;0) 0 là phương án của bài toán “M” thì x = ( x1; x2 ;.....xn ) là phương án của bài toán ban đầu và ngược lại, đồng thời f(x) = f ( x) . 1.3.3. Mối quan hệ giữa bài toán “M” và bài toán ban đầu • Nếu bài toán “M” có: x = ( x1* , x2* ,...., xn* ,0,0,....,0 ) là phương án tối ưu thì bài * toán ban đầu có x* = ( x1* , x2* ,...., xn* ) là phương án tối ưu và f ( x ) = f ( x* ) . * • Nếu bài toán “M” có x = ( x1* , x2* ,...., xn*+ m ) trong đó tồn tại ít nhất một * xn+i* > 0 (i = 1, m) thì bài toán ban đầu không có phương án tối ưu (bài toán không giải được. • Nếu bài toán “M” vô nghiệm thì bài toán ban đầu cũng vô nghiệm. Chú ý: • Nếu bài toán ban đầu có nghiệm x* thì nghiệm này chỉ có thể nhận được sau ít • Nếu ma trận hệ số ( aij ) nhất m + 1 bảng đơn hình. m×n đã chứa m1 véc tơ đơn vị ( m1 < m ) thì khi xây dựng bài toán “M” chỉ cần thêm m − m1 biến giả. • Nếu trong quá trình tính toán một biến giả xn+i (i = 1, m) được đưa ra khỏi cơ sở thì sẽ không thể vào cơ sở được nữa. Do vậy việc tính toán trong bảng đơn hình tiếp theo đối với cột An+i (i = 1, m) là không cần thiết (chỉ đối với biến giả). Nguyễn Hải Đăng - Khoa KHCB&KTCS - 18 - Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định 1.4. Bài t p m u Bài 1: F(x) = 2x1 - x2 + 3x3 + 2x4 + x5 + 4x6 => MIN 2x2 + x3 + 2x4 + 3x5 = 6 x2 - x4 + x5 + x6 = 3 x1 -4x4 + 2x5 = 5 x1 >=0, x2 >=0, x3 >=0, x4 >=0, x5 >=0, x6 >=0 Ñaây laø baøi toaùn quy hoaïch tuyeán tính daïng chuaån, ta coù ngay phöông aùn cöïc bieân x 0 = (5,0,6,0,0,3) vôùi cô sôû A3, A6, A1. Töø ñoù ta coù baûng ñôn hình xuaát phaùt nhö sau: Heä soá Cô sôû 3 4 2 A3 A6 A1 F(x) 2 A1 P.a 6 3 5 40 0 0 1 0 -1 A2 2 1 0 11 3 A3 1 0 0 0 2 A4 2 -1 -4 -8 1 A5 3 1 2 16 θ 4 A6 0 1 0 0 2 3 5/2 Do coøn toàn taïi giaù trò Delta lôùn hôn 0 neân chöa coù phöông aùn toái öu ta caàn tìm bieán ñöa vaøo Coät coù giaù trò lôùn nhaát öùng vôùi A5.Vaäy bieán ñöa vaøo laø A5 Haøng coù giaù trò θ nhoû nhaát öùng vôùi coät ñoù laø haøng 1 Heä soá Cô sôû 1 4 2 A5 A6 A1 F(x) 2 A1 P.a 2 1 1 8 0 0 1 0 -1 A2 2/3 1/3 -4/3 1/3 3 A3 1/3 -1/3 -2/3 -16/3 2 A4 2/3 -5/3 -16/3 -56/3 1 A5 1 0 0 0 θ 4 A6 0 1 0 0 3 3 - Do coøn toàn taïi giaù trò Delta lôùn hôn 0 neân chöa coù phöông aùn toái öu ta caàn tìm bieán ñöa vaøo Coät coù giaù trò lôùn nhaát öùng vôùi A2.Vaäy bieán ñöa vaøo laø A2 Haøng coù giaù trò θ nhoû nhaát öùng vôùi coät ñoù laø haøng 1 Heä soá Cô sôû -1 A2 2 A1 P.a 3 0 -1 A2 1 Nguyễn Hải Đăng - Khoa KHCB&KTCS 3 A3 1/2 2 A4 1 1 A5 3/2 θ 4 A6 0 - - 19 - Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định 4 2 0 5 7 A6 A1 F(x) 0 1 0 0 0 0 -1/2 0 -11/2 -2 -4 -19 -1/2 2 -1/2 1 0 0 - Phöông aùn toái öu cuûa baøi toaùn laø: (5,3,0,0,0,0) Giaù trò haøm muïc tieâu ñaït ñöôïc laø: F(x) = 7 Bài 2: F(x) = 2x1 - x2 + 3x3 + 2x4 + x5 + 4x6 => MIN 2x1 + x3 + 2x4 + 3x5 + x6 = 6 x2 - x4 + x5 = 3 ≤5 - x1 + 3x4 + 2x5 x1 >=0, x2 >=0, x3 >=0, x4 >=0, x5 >=0, x6 >=0 Chuyeån veà daïng chính taéc: F(x) = 2x1 - x2 + 3x3 + 2x4 + x5 + 4x6 => MIN 2x1 + x3 + 2x4 + 3x5 + x6 = 6 x2 - x4 + x5 = 3 - x1 + 3x4 + 2x5 + x7 = 5 x7 laø bieán phuï x1 >=0, x2 >=0, x3 >=0, x4 >=0, x5 >=0, x6 >=0, x7 >=0 Ñaây laø baøi toaùn quy hoaïch tuyeán tính daïng chuaån, ta coù ngay phöông aùn cöïc bieân x 0 = (0,3,0,0,0,6,5) vôùi cô sôû A6, A2, A7. Töø ñoù ta coù baûng ñôn hình xuaát phaùt nhö sau: Heä soá 4 -1 0 Cô sôû A6 A2 A7 F(x) P.a 6 3 5 21 2 A1 2 0 -1 6 -1 A2 0 1 0 0 3 A3 1 0 0 1 2 A4 2 -1 3 7 1 A5 3 1 2 10 4 A6 1 0 0 0 θ 0 A7 0 0 1 0 2 3 5/2 Do coøn toàn taïi giaù trò Delta lôùn hôn 0 neân chöa coù phöông aùn toái öu ta caàn tìm bieán ñöa vaøo Coät coù giaù trò lôùn nhaát öùng vôùi A5.Vaäy bieán ñöa vaøo laø A5 Haøng coù giaù trò θ nhoû nhaát öùng vôùi coät ñoù laø haøng 1 Heä soá 1 -1 0 Cô sôû A5 A2 A7 F(x) P.a 2 1 1 1 2 A1 2/3 -2/3 -7/3 -2/3 -1 A2 0 1 0 0 3 A3 1/3 -1/3 -2/3 -7/3 2 A4 2/3 -5/3 5/3 1/3 1 A5 1 0 0 0 4 A6 1/3 -1/3 -2/3 -10/3 θ 0 A7 0 0 1 0 3 3/5 Do coøn toàn taïi giaù trò Delta lôùn hôn 0 neân chöa coù phöông aùn toái öu ta caàn tìm bieán ñöa vaøo Coät coù giaù trò lôùn nhaát öùng vôùi A4.Vaäy bieán ñöa vaøo laø A4 Haøng coù giaù trò θ nhoû nhaát öùng vôùi coät ñoù laø haøng 3 Heä Cô P.a 2 -1 Nguyễn Hải Đăng - Khoa KHCB&KTCS 3 2 1 4 0 θ - 20 - Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định soá 1 -1 2 sôû A5 A2 A4 F(x) 8/5 2 3/5 4/5 A1 8/5 -3 -7/5 -1/5 A2 0 1 0 0 A3 3/5 -1 -2/5 -11/5 A4 0 0 1 0 A5 1 0 0 0 A6 3/5 -1 -2/5 -16/5 A7 -2/5 1 3/5 -1/5 - Phöông aùn toái öu cuûa baøi toaùn laø: (0,2,0,3/5,8/5,0,0) Giaù trò haøm muïc tieâu ñaït ñöôïc laø: F(x) = 4/5 Bài 3: F(x) = x1 - x2 + 3x3 + 2x4 + x5 + 2x6 => MIN 2x1 + x3 + 2x4 + 3x5 + x6 = 6 2x1 + x2 -2x3 - x4 + x5 = 4 x1 + 3x2 + 3x4 + 2x5 = 7 x1 >=0, x2 >=0, x3 >=0, x4 >=0, x5 >=0, x6 >=0 Vì baøi toaùn chöa ôû daïng chuaån neân ta ñöa vaøo hai bieán giaû x7, x8. Khi ñoùù baøi toaùn “M” coù daïng: F(x) = x1 - x2 + 3x3 + 2x4 + x5 + 2x6 + Mx7 + Mx8 => MIN 2x1 + x3 + 2x4 + 3x5 + x6 = 6 2x1 + x2 -2x3 - x4 + x5+ x7 = 4 x1 + 3x2 + 3x4 + 2x5 + x8 = 7 x7, x8 laø bieán giaû x1 >=0, x2 >=0, x3 >=0, x4 >=0, x5 >=0, x6 >=0 x7>=0, x8>=0 0 Baøi toaùn coù ngay phöông aùn cöïc bieân x = (0,0,0,0,0,6,4,7) vôùi cô sôû A6, A7, A8. Töø ñoù ta coù baûng ñôn hình xuaát phaùt nhö sau: Heä soá 2 M M Cô sôû A6 A7 A8 F(x) P.a 6 4 7 12 +11M 1 A1 2 2 1 3 +3M -1 A2 3 A3 1 -2 0 -1 -2M 0 1 3 1 +4M 2 A4 1 A5 2 -1 3 2 +2M 3 1 2 5 +3M 2 A6 1 0 0 0 M A7 0 1 0 0 θ M A8 0 0 1 0 4 7/3 Do coøn toàn taïi giaù trò Delta lôùn hôn 0 neân chöa coù phöông aùn toái öu ta caàn tìm bieán ñöa vaøo Coät coù giaù trò lôùn nhaát öùng vôùi A2.Vaäy bieán ñöa vaøo laø A2 Haøng coù giaù trò θ nhoû nhaát öùng vôùi coät ñoù laø haøng 3 Heä soá 2 M -1 Cô sôû A6 A7 A2 F(x) P.a 1 A1 6 5/3 7/3 29/3 +5/3M 2 5/3 1/3 8/3 +5/3M -1 A2 0 0 1 0 3 A3 1 -2 0 -1 -2M 2 A4 2 -2 1 1 -2M 1 A5 3 1/3 2/3 13/3 +1/3M 2 A6 1 0 0 0 M A7 0 1 0 0 M A8 θ 3 1 7 Do coøn toàn taïi giaù trò Delta lôùn hôn 0 neân chöa coù phöông aùn toái öu ta caàn tìm bieán ñöa vaøo Coät coù giaù trò lôùn nhaát öùng vôùi A1.Vaäy bieán ñöa vaøo laø A1 Haøng coù giaù trò θ nhoû nhaát öùng vôùi coät ñoù laø haøng 2 Nguyễn Hải Đăng - Khoa KHCB&KTCS - 21 - Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định Heä Cô soá sôû 2 A6 1 A1 -1 A2 F(x) P.a 4 1 2 7 1 A1 0 1 0 0 -1 A2 0 0 1 0 3 A3 17/5 -6/5 2/5 11/5 2 A4 22/5 -6/5 7/5 21/5 1 A5 13/5 1/5 3/5 19/5 2 A6 1 0 0 0 M A7 θ M A8 10/11 10/7 Do coøn toàn taïi giaù trò Delta lôùn hôn 0 neân chöa coù phöông aùn toái öu ta caàn tìm bieán ñöa vaøo Coät coù giaù trò lôùn nhaát öùng vôùi A4.Vaäy bieán ñöa vaøo laø A4 Haøng coù giaù trò θ nhoû nhaát öùng vôùi coät ñoù laø haøng 1 Heä soá 2 1 -1 Cô sôû A4 A1 A2 F(x) P.a 10/11 23/11 8/11 35/11 1 A1 0 1 0 0 -1 A2 0 0 1 0 3 A3 17/22 -3/11 -15/22 -23/22 2 A4 1 0 0 0 1 A5 13/22 10/11 -5/22 29/22 2 A6 5/22 3/11 -7/22 -21/22 M A7 θ M A8 20/13 23/10 - Do coøn toàn taïi giaù trò Delta lôùn hôn 0 neân chöa coù phöông aùn toái öu ta caàn tìm bieán ñöa vaøo Coät coù giaù trò lôùn nhaát öùng vôùi A5.Vaäy bieán ñöa vaøo laø A5 Haøng coù giaù trò θ nhoû nhaát öùng vôùi coät ñoù laø haøng 1 Heä soá Cô sôû 1 1 -1 A5 A1 A2 F(x) P.a 20/13 9/13 14/13 15/13 1 A1 0 1 0 0 -1 A2 0 0 1 0 3 A3 17/13 -19/13 -5/13 -36/13 2 A4 22/13 -20/13 5/13 -29/13 1 A5 1 0 0 0 2 A6 5/13 -1/13 -3/13 -19/13 M A7 M A8 θ - Phöông aùn toái öu cuûa baøi toaùn môû roäng laø: (9/13,14/13,0,0,20/13,0,0,0) Do ñoù phöông aùn toái öu cuûa baøi toaùn ban ñaàu laø: (9/13,14/13,0,0,20/13,0) Giaù trò haøm muïc tieâu ñaït ñöôïc laø: F(x) = 15/13 Nguyễn Hải Đăng - Khoa KHCB&KTCS - 22 - Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định BÀI T P CH NG I 1. L p bài toán QHTT Bài 1. Xí nghiệp sản xuất giấy có 3 phân xưởng. Do trang bị kỹ thuật khác nhau nên mức hao phí tre gỗ, axít để sản xuất một tấn giấy thành phẩm cũng khác nhau. Mức hao phí được cho trong bảng dưới đây: Mức hao phí nguyên liệu cho một tấn giấy Nguyên liệu P.Xưởng I P.Xưởng II P.Xưởng III Tre gỗ 1,4 tấn 1,3 1,2 Axít 0,1 0,12 0,15 Số lượng tre gỗ có trong năm là 1.500.000 tấn, Axít là 100.000 tấn. Hãy lập kế hoạch sản xuất sao cho tổng số giấy sản xuất trong năm của xí nghiệp là nhiều nhất? Bài 2. Một xí nghiệp có thể sản xuất bốn loại mặt hàng xuất khẩu H1, H2, H3, H4. Để sản xuất 4 loại mặt hàng này, xí nghiệp sử dụng hai loại nguyên liệu N1, N2. Số nguyên liệu tối đa mà xí nghiệp huy động được tương ứng là 600 kg và 800 kg. Mức tiêu hao mỗi loại nguyên liệu để sản xuất một mặt hàng và lợi nhuận thu được cho trong bảng sau: Định mức tiêu hao H1 H2 H3 H4 N1 0,5 0,2 0,3 0,4 N2 0,1 0,4 0,2 0,5 Lợi nhuận 0,8 0,3 0,5 0,4 nguyên liệu và lợi nhuận Lập mô hình sao cho xí nghiệp sản xuất đạt lợi nhuận cao nhất? Bài 3. Một cơ sở dự định sản xuất tối đa trong một ngày 500 ổ bánh mì dài và 500 ổ bánh mì tròn, muốn đạt lợi nhuận nhiều nhất, với những điều kiện như sau: - Gía bán một ổ bánh mì dài làm từ 400g bột là 325 đồng, một ổ bánh mì tròn làm từ 250g bột là 220 đồng. - Số lượng bột được cung cấp tối đa trong ngày là 225 kg với giá mỗi kg là 300 đồng. Nguyễn Hải Đăng - Khoa KHCB&KTCS - 23 - Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định - Lò nướng bánh cho phép nướng 75 ổ bánh mì dài hay 100 ổ bánh mì tròn trong một giờ nhưng không thể nướng hai loại cùng một lúc. Lò nướng hoạt động tối đa 8 giờ trong một ngày. Hãy lập mô hình cho bài toán nêu trên? Bài 4. Ba xí nghiệp A, B, C cùng có thể sản xuất áo vét và quần. Khả năng sản xuất của môic xí nghiệp như sau: Khi đầu tư 1000 USD vào xí nghiệp A thì thu được 35 áo vét và 45 quần; vào xí nghiệp B thì thu được 40 áo vét và 42 quần; vào xí nghiệp C thì thu được 43 áo vét và 30 quần. Lượng vải và giờ công sản xuất được cho trong bảng sau: Xí nghiệp A B C vải/giờ vải/giờ vải/giờ 1 áo vét 3,5m 20giờ 4m 16giờ 3,8m 18giờ 1 quần 2,8m 10giờ 2,6m 12giờ 2,5m 15giờ Tổng số vải huy động được là 10000m. Tổng số giờ công huy động được là 52000 giờ. Theo hợp đồng thì tối thiểu phải có 1500 bộ quần áo, nếu lẻ bộ thì quần là dễ bán Hãy lập kế hoạch đầu tư vào mỗi xí nghiệp bao nhiêu vốn để: - Hoàn thành hợp đồng. - Không khó khăn về tiêu thụ. - Không bị động về vải và giờ công. - Tổng số vốn đầu tư là nhỏ nhất. Bài 5. 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à 25 USD, một tấn thép cuộn là 30 USD. 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. 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 để lợi nhuận thu được là cao nhất? 2. Chuyển bài toán về d ng chính tắc Bài 1. −5 x1 − 4 x2 − 3x3 → min ⎧2 x1 + 3 x2 + x3 ≤ 5 ⎪4 x + x + 2 x ≤ 11 3 với điều kiện ⎪⎨ 1 2 3 4 2 x x x3 ≤ 8 + + 2 ⎪ 1 ⎪⎩ x1 , x2 , x3 ≥ 0 Nguyễn Hải Đăng - Khoa KHCB&KTCS - 24 - Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định Bài 2. 2 x1 − x2 → max Bài 4. x1 − 2 x2 − x3 → min Bài 3. 2 x1 + 4 x2 + x3 + x4 → max Bài 5. −5 x1 − 2 x2 − 10 x3 / 3 → min ⎧− x1 − 2 x2 + x3 ≤ 2 ⎪ ⎪2 x1 − x2 − x3 ≥ 2 với điều kiện ⎨ ⎪ x1 + x2 + x3 = 4 ⎪⎩ x1, x3 ≥ 0 ⎧ x1 + 3x2 + x4 ≤ 4 ⎪2 x + x ≤ 3 ⎪ 1 2 với điều kiện ⎨ ⎪ x2 + 4 x3 + x4 ≤ 3 ⎪⎩ x1 , x2 , x4 ≥ 0 ⎧ x1 + x2 − 2 x3 ≤ 2 ⎪x − x + x ≤ 1 ⎪⎪ 1 2 3 với điều kiện ⎨ x2 + x3 ≤ 5 ⎪2 x − x ≤ 2 ⎪ 1 2 ⎪⎩ x1, x3 ≥ 0 ⎧2 x1 + 4 x2 + 3x3 ≥ 46 ⎪4 x + 2x + 3x ≤ 38 ⎪ 1 3 5 với điều kiện ⎨ ⎪3x1 + x3 ≤ 21 ⎪⎩ x1 , x3 ≥ 0 3. Giải bài toán bằng phương pháp đơn hình Bμi 1: f ( x) = x1 − x2 + x3 + x4 + x5 − x6 → Min ⎧ x1 + x4 + 6 x6 = 9 ⎪3 x + x − 4 x + 2 x = 2 3 6 ⎪ 1 2 ⎨x + 2x + x + 2x = 6 3 5 6 ⎪ 1 ⎪ x j ≥ 0∀j = 1,6 ⎩ Bμi 2: f ( x) = x1 − x2 + x3 + x4 + x5 → Min ⎧2 x1 + x3 + x4 = 6 ⎪2 x + 5 x + x = 3 4 5 ⎪ 1 ⎨4 x + x + x = 5 4 ⎪ 1 2 ⎪ x j ≥ 0∀j = 1,5 ⎩ Bμi 3: f ( x) = x1 + 3 x2 − x3 + x4 + 4 x5 → Min ⎧ x1 + 2 x3 + x4 + 7 x5 = 8 ⎪ x + 5x + x ≤ 7 4 5 ⎪ 3 ⎨x + 4x + x − 2x = 3 3 4 5 ⎪ 2 ⎪ x j ≥ 0∀j = 1,5 ⎩ Bμi 4: F(x) = x1 - x2 + x3 + x4 + x5 => MIN =6 2x1 + x3 - x4 + 3x5 -x1 - x4 + x6 = -3 =5 4x1 + x2 - x4 + 2x5 x1 >=0, x2 >=0, x3 >=0, x4 >=0, x5 >=0, x6 >=0 Bμi 5: f ( x) = 4x1 +3x 2 +2x 3 +3x 4 → Min ⎧ x1 +x 3 -x 4 = 2 ⎪-x +2x +x ≤ 11 2 4 ⎪ 1 ⎨2x +x -3x ≥ 8 ⎪ 1 2 4 ⎪ x j ≥ 0 ( j = 1,4) ⎩ Bμi 6: F(x) = 2x1 - x2 + 3x3 + 2x4 + x5 + 4x6 => MIN + 3x5 + x6 = 6 x3 + 2x4 x2 - x4 + x5 = 3 =5 x1 -4x3 -4x4 + 2x5 x1 >=0, x2 >=0, x3 >=0, x4 >=0, x5 >=0, x6 >=0 §S: (1,1,0,0,2,0) Nguyễn Hải Đăng - Khoa KHCB&KTCS - 25 - Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định Bμi 7: F(x) = 4x1 - x2 + 2x3 + 2x4 + 3x6 => MIN =8 2x1 + x2 + x3 + 3x5 - x5 + x6 = 9 x1 + 3x3 + x4 -2x5 = 3 x1 + 2x3 x1 >=0, x2 >=0, x3 >=0, x4 >=0, x5 >=0, x6 >=0 §S: (0,13/2,3/2,0,0,9/2) F(x) = x1 - x2 + x3 + x4 + 3x5 + 2x6 => MIN =7 2x1 -2x3 + x5 + 4x6 + x6 = 9 x1 + x2 + 3x3 + x4 -2x6 = 5 x1 + 2x3 x1 >=0, x2 >=0, x3 >=0, x4 >=0, x5 >=0, x6 >=0 §S: (7/2,11/2,0,3/2,0,0) F(x) = x1 - x2 - x3 + x5 + 3x6 => MIN Bμi 9: =3 2x1 + x2 + x5 + 3x6 - x4 + x6 =-8 2x1 - 3x2 =6 x1 + x3 + 3x6 x1 >=0, x2 >=0, x3 >=0, x4 >=0, x5 >=0, x6 >=0 Bμi 10: F(x) = 2x1 - x2 + 3x3 + 2x4 => MIN + x5 = 5 2x1 + x2 + x3 + 2x4 2x1 -2x3 - x4 + x5 + x6 = 3 + 2x5 + 2x6 =8 x1 + x3 + 3x4 x1 >=0, x2 >=0, x3 >=0, x4 >=0, x5 >=0, x6 >=0 Bμi 8: (0,23/5,2/5,0,0,19/5,0,0) Bμi 11: F(x) = 2x1 - x2 + 3x3 + 2x4 => MIN + 2x4 =6 2x1 + x2 + 3x3 5x1 + x3 - x4 = 5 + x3 + x4 = 4 x1 + 2x2 x1 >=0, x2 >=0, x3 >=0, x4 >=0 (17/22,23/22,25/22,0) F(x) = x1 - x2 + x3 + x4 => MIN =5 x1 + x2 + x3 + 2x4 + x3 + x4 = 3 5x1 + 2x2 + x3 + x4 = 1 x1 + 2x2 x1 >=0, x2 >=0, x3 >=0, x4 >=0 Bμi 12: (VN) Nguyễn Hải Đăng - Khoa KHCB&KTCS - 26 - Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định B ÀI TO ÁN ĐỐI NG ẪU Chương 2. 2.1. Bài toán gốc và cách thành lập bài toán đối ngẫu 2.1.1. Định nghĩa Định nghĩa 1: Cho bài toán quy hoạch tuyến tính dạng chính tắc: n f ( x) = ∑ c j x j → min j =1 n ∑ aij x j = bi , i = 1, m với điều kiện  j =1  x ≥ 0, j = 1, n  j (I ) Ta xây dựng bài toán quy hoạch tuyến tính khác có dạng, kí hiệu là ( I%) như sau: m f ( y ) = ∑ bi yi → max i =1 n ∑ aij yi ≤ c j , j = 1, n với điều kiện  j =1  ∈  yi ¡ , i = 1, m ( I%) Bài toán ( I%) được gọi là bài toán quy hoạch tuyến tính đối ngẫu của bài toán ( I ) . Ta cũng chứng minh được bài toán ( I ) là bài toán đối ngẫu của bài toán ( I%) , do vậy cặp bài toán ( I ) và ( I%) được gọi là cặp bài toán đối ngẫu. Định nghĩa 2 : Ta gọi hai ràng buộc bất dẳng thức (kể cả ràng buộc về dấu) trong hai bài toán cùng tương ứng với một chỉ số là một cặp ràng buộc đối ngẫu. Như vậy, ta có n + m cặp ràng buộc đối ngẫu: • n x j ≥ 0 ⇔ ∑ aij yi ≤ c j , j = 1, n j =1 • n ∑a x j =1 ij j = bi ⇔ yi ∈ ¡ , i = 1, m Từ quan hệ giữa hai bài toán, ta có những nguyên tắc thành lập bài toán đối ngẫu như sau : +) Nếu f ( x ) → min thì f ( y ) → Max và nếu f ( x ) → Max thì f ( y ) → Min . +) Số ràng buộc trong bài toán này bằng số biến trong bài toán kia +) Hệ số hàm mục tiêu trong bài toán này là vế phải hệ ràng buộc trong bài toán kia. +) Ma trận hệ số trong hai bài toán là chuyển vị của nhau. Nguyễn Hải Đăng - Khoa KHCB&KTCS - 30 - Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định Trên đây là phương pháp xác định bài toán đối ngẫu của bài toán quy hoạch tuyến tính dạng chính tắc, còn đối với bài toán quy hoạch tuyến tính dạng tổng quát thì ta làm thế nào? Đối với bài toán quy hoạch tuyến tính tổng quát, ta đưa bài toán về dạng chính tắc, xây dựng bài toán đối ngẫu của bài toán này và gọi nó là bài toán đối ngẫu của bài toán đã cho. Từ đó ta có các cặp bài toán đối ngẫu như sau: Bài toán đối ngẫu Bài toán gốc m n f ( y ) = ∑ bi yi → max f ( x) = ∑ c j x j → min j =1  n ∑ aij x j ≥ bi , i = 1, m  j =1  x ≥ 0, j = 1, n  j i =1 ( II ) ( II ) m n f ( y ) = ∑ bi yi → max f ( x) = ∑ c j x j → min j =1  n ∑ aij x j ≤ bi , i = 1, m  j =1  x ≤ 0, j = 1, n  j n ∑ aij yi ≤ c j , j = 1, n  j =1  ≥  yi 0, i = 1, m i =1 ' ( II ) n ∑ aij yi ≥ c j , j = 1, n  j =1  ≤  yi 0, i = 1, m – ') ( II Các cặp ràng buộc đối ngẫu của ( II ) và ( II ) là : • n x j ≥ 0 ⇔ ∑ aij yi ≤ c j , j = 1, n j =1 • n ∑a x j =1 ij j ≥ bi ⇔ yi ≥ 0, i = 1, m – ' ) là : của ( II ' ) và ( II • n x j ≤ 0 ⇔ ∑ aij yi ≥ c j , j = 1, n j =1 • n ∑a x j =1 ij j ≤ bi ⇔ yi ≤ 0, i = 1, m Từ đó ta có phương pháp để xây dựng bài toán đối ngẫu trong trường hợp tổng quát như sau : Nguyễn Hải Đăng - Khoa KHCB&KTCS - 31 - Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định 2.1.2. Cách thành lập bài toán đối ngẫu Để xây dựng bài toán đối ngẫu, ta có thể tuân thủ theo các quy tắc được cho trong bảng sau : Bài toán gốc n f ( x) = ∑ c j x j → min j =1 n ∑a x j =1 ij j =1 ij j =1 ij f ( y ) = ∑ bi yi → max i =1 = bi , i ∈ I1 yi ∈ ¡ , i ∈ I1 j ≥ bi , i ∈ I 2 yi ≥ 0, i ∈ I 2 j ≤ bi , i ∈ I3 yi ≤ 0, i ∈ I 3 n ∑a x m j n ∑a x Bài toán đối ngẫu y j ≥ 0, j ∈ J1 n ∑a ij yi ≤ c j , j ∈ J1 ij yi ≥ c j , j ∈ J 2 j =1 n y j ≤ 0, j ∈ J 2 ∑a y j ∈ ¡ , j ∈ J3 ∑a j =1 n j =1 ij yi = c j , j ∈ J 3 2.2. Các tính chất và ứng dụng của cặp bài toán đối ngẫu 2.2.1. Tính chất của cặp bài toán đối ngẫu Định lý 1: Với mọi cặp phương án x và y của cặp bài toán đối ngẫu, ta có : • Nếu f ( x ) → min và f ( y ) → Max thì f ( x ) ≥ f ( y ) • Nếu f ( x ) → Max và f ( y ) → Min thì f ( x ) ≤ f ( y ) Định lý 2: Nếu x*, y* lần lượt là phương án của một cặp bài toán đối ngẫu, thoả mãn CX* = Y*b thì x*, y* lần lượt là phương án tối ưu của mỗi bài toán. Như vậy đối với một cặp bài toán đối ngẫu, bao giờ cũng chỉ xảy ra một trong ba trường hợp sau: +) Nêú hai bài toán cùng không có phương án thì hiển nhiên cả hai bài toán đều không giải được. +) Nếu cả hai bài toán đều có phương án thì cả hai bài toán đều giải được. Khi đó mọi cặp phương án tối ưu x*, y*, ta luôn có +) Nếu một trong hai bài toán không có phương án thì bài toán còn lại nếu có phương án thì cũng không có phương án tối ưu. Nguyễn Hải Đăng - Khoa KHCB&KTCS - 32 - Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định Định lý 3 (Định lý độ lệch bù): Điều kiện cần và đủ để hai phương án x, y của một cặp bài toán đối ngẫu tối ưu là trong các cặp ràng buộc đối ngẫu nếu một ràng buộc thỏa mãn với dấu bất đẳng thức thực sự (lỏng) thì ràng buộc kia phải thỏa mãn với dấu bằng (chặt) và ngược lại. Hệ quả: Nếu một ràng buộc là lỏng đối với một phương án tối ưu của bài toán này thì ràng buộc đối ngẫu của nó phải là chặt đối với phương án tối ưu của bài toán kia. 2.2.2. Ứng dụng Kiểm tra một phương án hay một cặp phương án có tối ưu hay không ? • Nếu biết cặp phương án x* và y*, thì ta chỉ cần kiểm tra điều kiện f ( x* ) = f ( y * ) . • Nếu chỉ biết phương án x* thì áp dụng định lý độ lệch bù. Ví dụ 1. Cho bài toán: f ( x) = 7 x1 + 6 x2 − 12 x3 + x4 → Max 2 x1 − 2 x2 − 3 x3 + 2 x4 = 8  3 x2 + 2 x3 − 2 x4 ≤ −1  với điều kiện  2x − 3 x3 + x4 = 10  1  x ≥ 0, j = 1, 4  j a) Lập bài toán đối ngẫu của bài toán trên và xác định các cặp ràng buộc đối ngẫu. b) Chứng tỏ x 0 = (0,6,0,10); y 0 = (−3,0, 7) là phương án tối ưu của cặp bài toán đối ngẫu. Ví dụ 2. Cho bài toán : f ( x) = − x1 − 5 x2 + 4 x3 − 2 x4 → Min  x1 − 4 x2 + x3 − 6 x4 ≤ 13  + 3 x4 ≤ 9  x1 + 2 x2 −3 x − x − x + 2 x ≤ 8 3 4  1 2  x ≥ 0, j = 1, 4  j Dùng tính chất của bài toán đối ngẫu, chứng tỏ bài toán trên giải được. Ví dụ 3. Cho bài toán : f ( x) = 5 x1 − 9 x2 + 15 x3 + 7 x4 + 6 x5 → Min  x1 + 3 x2 − x3 − x4 + x5 ≤ 1  4 x1 + x3 + 2 x4 − x5 = 4 với điều kiện  − x − x + x − 2 x5 ≥ −1  1 2 3   x j ≥ 0, j = 2,5, x1 ∈ ¡ và véc tơ x = (0,1, 0, 2,0) a) Viết bài toán đối ngẫu b) Phương án x có là phương án tối ưu không ? Ví dụ 4. Cho bài toán quy hoạch tuyến tính: f ( x) = −2 x1 − 6 x2 + 5 x3 − x4 − 4 x5 → max Nguyễn Hải Đăng - Khoa KHCB&KTCS - 33 - Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định  x1 − 4 x2 + 2 x3 − 5 x4 + 9 x5 = 3  x 3x 4 x 5x 6  2− 3+ 4− 5= với điều kiện  x − x + x4 − x5 = 1  2 3  x j ≥ 0, j = 1,5  Chứng minh x* = (0, 0,16,31,14) là phương án tối ưu ? 2.3. Phương pháp đơn hình đối ngẫu 2.3.1. Cơ sở lý luận Xét bài toán chính tắc f ( x ) = cx → Min (I)  Ax = b f ( y ) = yb → Max ta có bài toán đối ngẫu ( I%)  y ∈ ¡  x ≥ 0 m   yA ≤ c Giả sử x0 là phương án cực biên ứng với hệ véc tơ cơ sở { Aj } j∈J , Aj là các véc tơ đơn 0 vị, J 0 = m , B = ( Aj ) j∈J = E , c* = (c j ) j∈J . Xét y = c* B −1 0 0 Mệnh đề 1: y = c* B −1 là phương án của bài toán ( I%) khi và chỉ khi ∆ k = c* .zk − ck ≤ 0∀k Thật vậy, y là phương án yA ≤ c ⇔ yA k ≤ ck ∀k ⇔ yA k = c* B −1 A k = c* z k ≤ ck ⇔ ∆ k ≤ 0∀k Mệnh đề 2: Nếu tại phương án y = c* B −1 có được x = B −1b ≥ 0 thì x là phương án tối ưu ( và y cũng là phương án tối ưu). Nếu x không thỏa mãn x = B −1b ≥ 0 thì x được gọi là một giả phương án tối ưu ( Vì có ∆ k ≤ 0∀k ) Rõ ràng Ax = AB −1b = b và x ≥ 0 nên x = B −1b là phương án. Kết hợp ∆ k ≤ 0∀k nên x là phương án tối ưu. Mệnh đề 3: Kí hiệu ωi là hàng thứ i của ma trận B −1 . Với mọi β ≥ 0 , ta có y , = y − βωi là phương án của ( I%) khi và chỉ khi ∆ j ≤ β zij ∀j Thật vậy, y , = y − βωi là phương án của ( I%) ⇔ y , A = yA − βωi A ⇔ y , Aj = yAj − βωi Aj ⇔ y , Aj = yAj − βωi Aj ⇔ c* B −1 Aj − βωi Aj ≤ c j ⇔ c* B −1 Aj − β zij ≤ c j ⇔ ∆ j + c j − β zij ≤ c j ⇔ ∆ j ≤ β zij Mệnh đề 4: Nếu tại phương án y = c* B −1 tồn tại xs < 0 ( trong x = B −1b ) và zsj ≥ 0 ∀j thì hàm mục tiêu của bài toán ( I%) không bị chặn trên tập phương án, do đó ( I%) không có phương án tối ưu và (I) cũng vô nghiệm. Nguyễn Hải Đăng - Khoa KHCB&KTCS - 34 - Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định Thật vậy, Với mọi β ≥ 0 , ta có y , = y − βωi thỏa mãn ∆ j ≤ β zij ∀j ⇒ y , là phương án. ⇒ f ( y , ) = y ,b = yb − βωi b = f ( y ) − βωi b = f ( y ) − β xi Lấy i = r và cho β → +∞ ⇒ f ( y , ) → +∞ . Vậy hàm mục tiêu không bị chặn nên bài toán không giải được. Mệnh đề 5: Nếu tại phương án y = c* B −1 tồn tại xr < 0 ( trong x = B −1b ) và tồn tại zrj < 0 thì  ∆ j  ∆ : zrj < 0  = s ) tốt  zrj  zrs xây dựng được phương án mới y , = y − β 0ωr (trong đó β 0 = Min  hơn y. Thật vậy, Giả sử trong x = B −1b có xr < 0 . Ta có y , là phương án ∆ j ≤ β zij ∀j ⇔ 0 ≤ β ≤ ⇔ β ≥ 0 và  ∆  ∆ ∀j = 1, n; zrj < 0 . Chọn β 0 = Min  j : zrj < 0  = s , hiển nhiên zrj  zrj  zrs ∆j β 0 ≥ 0 và f ( y , ) = y ,b = yb − β 0 xr ≥ yb = f ( y ) ⇒ y , tốt hơn y. Đpc/m Từ các mệnh đề trên ta có nhận xét: • Nếu có nhiều xr < 0 thì ta có thể chọn xr = Min { xr < 0} . khi đó véc tơ Ar được đưa ra khỏi cơ sở. •  ∆ j  ∆ : zrj < 0  = s nên ta sẽ đưa As vào cơ sở của  zrj  zrs Từ việc chọn β 0 = Min  phương án mới. • Việc xây dựng các số liệu khác được biến đổi trên bảng đơn hình như cách thông thường. • Cấu trúc bảng đơn hình đối ngẫu: Hệ số Cơ sở Giả c1 c2 ............cm .......... cn p.a A1 A2 ............ Am ............. An c1 A1 x1 1 0 ..................0 .................... c2 A2 x2 0 1 ................. 0 .................... ... ... ... ................................................. cm Am xm 0 0 ................ 1 .................... ∆1 ∆ 2 ............ ∆ m ................ ∆ n Nguyễn Hải Đăng - Khoa KHCB&KTCS - 35 - Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định 2.3..2. Thuật toán đơn hình đối ngẫu 1. Bước xuất phát: Xuất phát từ hệ m véc tơ độc lập tuyến tính, có B = ( Aj ) j∈J = E , 0 J 0 = m sao cho ∆ j ≤ 0∀j . Tìm x = ( x* ,0) , trong đó x* = c* B −1 ; x j = 0∀j ∉ J 0 Lập bảng đơn hình đối ngẫu xuất phát. 2. Bước 1: Kiểm tra dấu hiệu tối ưu • Nếu x j ≥ 0 ∀j ∈ J 0 thì x tối ưu • Ngược lại, chuyển sang bước 2 3. Bước 2: Kiểm tra dấu hiệu bài toán vô nghiệm • Nếu ∃x j < 0 và zij ≥ 0 ∀j = 1, n thì bài toán vô nghiệm. • Ngược lại chuyển sang bước 3 4. Bước 3: Xây dựng hệ cơ sở mới • Nếu ∃x j < 0 và ∃zij < 0 thì chọn xr = Min { xr < 0} . khi đó véc tơ Ar được đưa ra khỏi cơ sở.  ∆ j  ∆ : zrj < 0  = s nên ta sẽ đưa As vào cơ sở thay thế cho Ar .  zrj  zrs • Tính β 0 = Min  5. Bước 4: Xây dựng bảng đơn hình mới (tính toán như trong phương pháp đơn hình) Sau đó quay trở lại bước 1. 2.4. Các bài tập mẫu Bài 1: F(x) = x1 - x2 + x3 + x4 + x5 => MIN Các ràng buộc 2x1 + x3 - x4 + 3x5 =6 -x1 - x4 + x6 = -3 4x1 + x2 - x4 + 2x5 =5 x1 >=0, x2 >=0, x3 >=0, x4 >=0, x5 >=0, x6 >=0 Giải: Xét cơ sở A1 , A5 , A2 gồm các véc tơ đơn vị. Khi đó ma trận B là: 1 0 0 B =  0 1 0  , ta được giả phương án x = (0, 5, 6, 0, 0, -3) 0 0 1   Bảng đơn hình đối ngẫu là: Nguyễn Hải Đăng - Khoa KHCB&KTCS - 36 - Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định Hệ số Cơ sở Giả 1 -1 1 1 1 0 p.a A1 A2 A3 A4 A5 A6 1 A3 6 2 0 1 -1 3 0 0 A6 -3 -1 0 0 -1 0 1 -1 A2 5 4 1 0 -1 2 0 -3 0 0 -1 0 0 1 A3 9 3 0 1 0 3 -1 1 A4 3 1 0 0 1 0 -1 -1 A2 8 5 1 0 0 2 -1 4 -2 0 0 -1 0 0 Tại đây ta có x ≥ 0 nên nó là phương án tối ưu, với x = (0, 8, 9, 3, 0, 0) và fMin = 4 Bài 2: f ( x ) = 4x1 +3x 2 +2x 3 +3x 4 → Min  x1 +x 3 -x 4 = 2 -x +2x +x ≤ 11 2 4  1  2x +x -3x ≥ 8  1 2 4  x j ≥ 0 ( j = 1,4)  f ( x ) = 4x1 +3x 2 +2x 3 +3x 4 → Min Đưa về dạng chính tắc:  x1 +x 3 -x 4 = 2  x1 +x 3 -x 4 = 2   -x1 +2x 2 +x 4 + x5 = 11 -x1 +2x 2 +x 4 + x5 = 11  2x +x -3x − x = 8 ⇔ -2x -x +3x + x = −8 4 6  1 2 4 6  1 2  x j ≥ 0 ( j = 1,6)  x j ≥ 0 ( j = 1,6)   Như vậy ta có hệ véc tơ cơ sở { A3 , A5 , A6} ⇒ x0 = (0,0, 2,0,11, −8) (luôn có ∆ k ≤ 0 ∀k ). Ta có bảng đơn hình đối ngẫu: Hệ số Cơ sở Giả 1 -1 1 1 1 0 p.a A1 A2 A3 A4 A5 A6 2 A3 2 1 0 1 -1 0 0 0 A5 11 -1 2 0 1 1 0 0 A6 -8 -2 -1 0 3 0 1 -2 -3 0 -5 0 0 Nguyễn Hải Đăng - Khoa KHCB&KTCS - 37 - Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định 1 A3 -2 0 -1/2 1 1/2 0 1/2 0 A5 15 0 5/2 0 -1/2 1 -1/2 4 A1 4 1 1/2 0 -3/2 0 -1/2 0 -2 0 -10 0 -1 3 A2 4 0 1 -2 -1 0 -1 0 A5 5 0 0 5 2 1 2 4 A1 2 1 0 1 -1 0 0 20 0 0 -4 -8 0 -3 Tại đây ta có x ≥ 0 nên nó là phương án tối ưu, với x = (2, 4, 0, 0, 5, 0) và fMin = 20 Nguyễn Hải Đăng - Khoa KHCB&KTCS - 38 - Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định BÀI TẬP CHƯƠNG 2 I. Bài toán đối ngẫu. Tính chất của bài toán đối ngẫu 1. Viết bài toán đối ngẫu và chỉ ra cặp ràng buộc đối ngẫu c a bài toán sau: a. f(X) = x1+3x2-x3+2x4 → min b. c. f(x) = x1+2x2+3x3+4x4 + 5x5→ min d. ⎧− x1 + 5x 2 + 3x 3 = 3 ⎪ − x + 2 x − x = −2 3 4 ⎪ 2 ⎨3x + 2 x + x = 5 2 4 ⎪ 1 ⎪x j ≥ 0 ( j = 1,4 ) ⎩ ⎧− 7 x1 + 3x 2 − x3 + 2 x 4 ≤ 1 ⎪ ⎪4 x1 + 2 x3 − x 4 + 3x5 ≥ −2 ⎪ ⎨− 2 x 2 + 3x3 + 5 x 4 − x5 ≤ −4 ⎪ x + 3x − x + 2 x ≥ 3 2 3 5 ⎪ 1 ⎪ x j ≥ 0 ( j = 1,5) ⎩ f(X) = 2x1-x2+5x3→ max ⎧x1 − 3x 2 + x 3 + 2 x 4 ≤ 8 ⎪−3x + x − 2 x ≤ −4 1 2 3 ⎪ ⎨−5x + x ≤ 12 2 4 ⎪ ⎪x j ≥ 0 ( j = 1,4 ) ⎩ f(x) = -4x1+2x2-5x3-x4+x5→ max ⎧−2 x1 + x 3 − x 4 + 3x5 ≥ −12 ⎪x + 3x − x + x = 23 2 3 5 ⎪ 1 ⎨4 x − x + 3x − x ≤ 4 2 4 5 ⎪ 1 ⎪x j ≥ 0 ( j = 1,5) ⎩ f(x) = 2x1-3x2+4x3+5x4 -x5→ min e. ⎧ − x1 + 3 x 2 − 5 x 3 + x 5 − x 6 = 4 ⎪ ⎪ 2 x1 − x 2 + x 4 + 2 x 6 ≤ 8 ⎪3 x + 7 x − 2 x ≥ − 6 3 5 ⎪⎪ 1 5 − + 3 x x x ⎨ 2 3 4 = 12 ⎪ − 2 x + x + 3 x ≥ 10 1 4 6 ⎪ ⎪ x6 ≤ 1 ⎪ ⎩⎪ x 2 , x 4 ≥ 0 ; x 3 , x 5 ≤ 0 ; x 1 , x 6 ∈ R 2. Dùng lý thuyết đối ngẫu ch ng tỏ các bài toán sau giải được: a. f(X) = 2x1 +5x3 +3x4 → max b. f(X) = 3x1 +2x3 +4x5→ min ⎧x1 − 2 x 3 + 2 x 4 = −5 ⎪3x + 4 x − x = −9 ⎪ 2 3 4 ⎨ ⎪5x 3 + 3x 4 + 2 x5 = 14 ⎪⎩x1 , x 2 , x 3 ≤ 0; x 2 , x5 ∈ R ⎧2 x1 − x 3 + 3x5 ≤ 16 ⎪4 x − 3x + x ≥ 9 ⎪ 3 4 5 ⎨ ⎪− x 2 + x 3 − 2 x5 = −11 ⎪⎩x1 , x 3 , x5 ≥ 0; x 2 , x 4 ∈ R Nguyễn Hải Đăng - Khoa KHCB&KTCS - 39 - Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định 3. Dùng lý thuyết đối ngẫu, ch ng minh rằng các bài toán sau không giải được: a. f(X) = -2x1 +x2+4x3+3x4 → min ⎧3x1 + x 2 − 2x 3 + 5x 4 = 30 ⎪2 x + x − 2x = 20 3 4 ⎪ 2 ⎨2 x + 2 x + x − 2 x = 12 2 3 4 ⎪ 1 ⎪x j ≥ 0 ( j = 1,4 ) ⎩ b. f(X) = 2x1 +3x3 -4x3+x4+2x5→ max ⎧−2x 2 + 5x 3 − x 4 − 3x5 ≥ −7 ⎪x + 2x − x ≤ 11 3 5 ⎪⎪ 2 x x x 3 + 6x 4 − x 5 ≤ 0 − + − 4 ⎨ 1 2 ⎪3x + 2x = 24 4 ⎪ 3 ⎪⎩x 4 , x5 ≥ 0; x1 , x 2 , x 3 ∈ R 4 . Cho bài toán: f(X) = -2x1-6x2+5x3-x4-4x5 →max ⎧x1 − 4 x 2 + 2 x 3 − 5x 4 + 9 x5 = 3 ⎪x − 3x + 4 x − 5x = 6 3 4 5 ⎪ 2 ⎨x − x + x − x = 1 3 4 5 ⎪ 2 ⎪x j ≥ 0 ( j = 1,5) ⎩ Áp dụng lý thuyết đối ngẫu, ch ng minh rằng X* = (0,0,16,31,14) là phư ng án tối ưu c toán đã cho. HD: Viết bài toán đối ngẫu và sử dụng định lý độ lệch bù. 5 . Biết rằng X* = (0,5,0,3) là phư ng án tối ưu c a bài toán: f(X) = 10x1+5x2+13x3+16x4 →min ⎧2 x1 + 3x 2 + x 3 + x 4 ≥ 16 ⎪x + 2 x + 3x + 4 x ≥ 22 2 3 4 ⎪ 1 ⎨3x + x + 4 x + 5x ≥ 20 2 3 4 ⎪ 1 ⎪x j ≥ 0 ( j = 1,4) ⎩ Tìm phư ng án tối ưu c a bài toán đối ngẫu: 3 ,2). 2 f(X) = x1+3x2+2x3+3x4+5x5 → min ĐS: Yopt = Y = (0, 6 . Cho bài toán: ⎧x1 + 2 x 2 − x 3 + x 4 − x5 = 3 ⎪− x − x + 2 x + 4 x ≥ 18 3 4 5 ⎪ 2 ⎨− x + 3x + 2 x ≤ 10 3 5 ⎪ 2 ⎪x j ≥ 0 ( j = 1,5) ⎩ 1 4 , 0) là phư ng án tối ưu Tìm phư ng án tối ưu c a bài toán đã cho biết rằng Y* = ( , 3 3 c a bài toán đối ngẫu. Nguyễn Hải Đăng - Khoa KHCB&KTCS - 40 - Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định II. Giải bằng phương pháp đơn hình đối ngẫu các bài toán quy hoạch tuyến tính sau: 1) f ( x ) = x1 +3x 2 +4x 3 +x 4 → Min  x1 -2x 2 +2x 4 ≥ 8 -3x +x -4x ≤ 18  2 3 4 -3x +x +2x -x ≥ 20 3 4  1 2  x j ≥ 0 ( j = 1, 4)  ĐS: x = (0, 0, 12, 4, 0, 22, 0) 2) f ( x ) = 3x1 +5x 2 -7x 3 +x 4 → Min  2x 2 -x 3 +3x 4 ≥ 10   x1 +x 2 -4x 3 -x 4 = 3 3x +2x +4x ≤ 7 3 4  2  x j ≥ 0 ( j = 1,4)  ĐS: Vô nghiệm 3) f ( x ) = −2x1 +4x 2 -3x 3 -x 4 + 5 x5 → Min  x1 +x 2 +3x 3 +x 4 − x5 = 6  -2x 2 +x 3 -4x 5 ≤ 15 5x +2x +x − x ≥ 18 3 4 5  2  x j ≥ 0 ( j = 1,5)  ĐS: x = (0, 3, 0, 3, 0, 21, 0) 4) f ( x ) = 4x1 +5x 2 +3x 3 +2x 4 → Min  2x1 +x 2 +3x 3 ≤ 21   x1 +2x 2 +3x 3 -x 4 ≥ 27 -x +4x +2x +2x ≥ 8 2 3 4  1  x j ≥ 0 ( j = 1,4)  ĐS: x = (0, 6, 5, 0, 0, 0, 26) 5) f ( x) = 5x1 +x 2 -3x 3 +x 4 + 5 x5 + 2 x6 → Min 5x1 -4x 2 +2x 5 − 3 x6 ≥ 18 -9x +x -x +2x = 11 6  1 2 5 6x -5x +x +3x − 4 x = 24 5 6  1 3 4  x j ≥ 0 ( j = 1,6)  Nguyễn Hải Đăng - Khoa KHCB&KTCS ĐS: x = (2, 33, 0, 0, 4, 0, 0) - 41 - Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định Chương 3. BÀI TOÁN V N T I 5.1. Nội dung và đặc điểm của bài toán 5.1.1. Nội dung bài toán a) Bài toán Có m địa điểm A1, A2,...,Am cùng sản xuất một loại hàng hóa với các lượng hàng tương ứng là a1, a2,…,am. Có n nơi tiêu thụ loại hang đó B1,B2,…,Bn với các yêu cầu tương ứng là b1, b2, …,bn. Để đơn giản ta sẽ gọi Ai: điểm phát i, i=1,…m Bj: điểm thu j, j=1,…n Hàng có thể chở từ một điểm phát bất kỳ (i) tới một điểm thu bát kỳ (j). Ký hiệu: cij- chi phí vận chuyển chở một đơn vị hàng từ điểm phát (i) đến điểm thu (j) xịj- lượng hàng chuyên chở từ i tới j Bài toán đặt ra là: xác định những đại lượng xij cho mọi con đường (i;j)sao cho tổng chi phí chuyên chở là nhỏ nhất với giả thiết: ∑ ai = ∑ b j m n i =1 j =1 Tức là lượng hàng phát ra bằng đúng lượng hàng yêu cầu ở các điểm thu. b) Mô hình toán học Dạng toán học của bài toán vận tải ∑∑ c x m n i =1 j =1 ij ij → min ⎧ n ⎪∑ xij = ai , i = 1, m ⎪ j =1 ⎪m ⎪∑ xij = b j , j = 1, n ⎨ i =1 ⎪ x ≥ 0, i = 1, m; j = 1, n ⎪ ij m n ⎪ ⎪ai , b j > 0; ∑ ai = ∑ b j i =1 j =1 ⎩ Bài toán trên được gọi là bài toán cân bằng thu phát. Nguyễn Hải Đăng - Khoa KHCB&KTCS -1- Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định ∑a > ∑b m - Trường hợp i =1 n j =1 i j . Ta đưa về bài toán cân bằng thu phát bằng cách thêm vào một trạm thu giả Bn+1 với yêu cầu bn+1= n+1 ∑ ai − ∑ b j , đồng thời ci m n i =1 j =1 = 0 (∀i). Lượng hàng lấy từ trạm phát Ai cung cấp cho trạm thu giả B n+1, nghĩa là lượng hàng được giữ lại ở trạm phát Ai. ∑a < ∑b m - Trường hợp i =1 n j =1 i j . Ta đưa về bài toán cân bằng thu phát bằng cách thêm vào một trạm phát giả Am+1 với yêu cầu am+1= ∑ b j − ∑ ai , đồng thời n m j =1 i =1 cm+1j = 0 (∀j). Lượng hàng lấy từ trạm phát giả Am+1 cung cấp cho trạm thu B j, nghĩa là lượng hàng yêu cầu của trạm thu Bj không được thỏa mãn. c) Bài toán v n tải d ng bảng Ta đưa bài toán vận tải vào bảng gọi là bảng vận tải. Bj b1 Ai a1 a2 x11 c21 x12 c22 x21 x22 …. …… …… …. ci1 xi2 …. cm1 …. cm2 xm1 bj xm2 …. x1j c2j x2j …. ….. ….. bn c1n x1n c2n x2n …. cij xij …. …. ….. c1j …. ci2 xi1 …. am …… c12 c11 …. ai b2 …. …. …. cin xin …. cmj xmj …. …. cmn xmn Các khái niệm về bài toán dạng bảng: + ô chọn: là ô có lượng hang xij>0, còn gọi là ô sử dụng + ô loại: là ô không có hàng, tức là xij=0. + Dây chuyền: là một đoạn thẳng hay một dãy liên tiếp các đoạn thẳng gấp khúc mà hai đầu mút là hai ô chỉ nằm trên cùng một hàng hoặc một cột với một ô chọn khác thuộc dây chuyền của bảng vận tải. + Chu trình: là một dây chuyền khép kín Nguyễn Hải Đăng - Khoa KHCB&KTCS -2- Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định Như vậy một hàng hoặc một cột mà chu trình đi qua thì chỉ đi qua hai ô và do đó, số ô ít nhất của một chu trình là 4. + Ma trận X=(xij)m×n thỏa mãn hệ điều kiện ràng buộc được gọi là một phương án của bài toán. + Phương án X=(xij)m×n được gọi là phương án cực biên của bài toán vận tải nếu tập hợp các ô tương ứng với các thành phần dương của nó không tạo thành chu trình. + Phương án X=(xij)m×n được gọi là phương án cực biên không suy biến nếu nó có đúng m + n – 1 ô chọn. + Phương án X=(xij)m×n được gọi là phương án cực biên suy biến nếu nó có ít hơn m + n – 1 ô chọn. + Phương án X=(xij)m×n được gọi là phương án tối ưu (hay là nghiệm) của bài toán nếu nó thỏa mãn điều kiện (5.1), ký hiệu là X*. 5.1.2. Tính chất chung của bài toán - Một phương án cực biên có tối đa m + n – 1 thành phần dương. - Các véc tơ Aj tương ứng với biến xij có thành phần i và thành phần m+j bằng 1 còn các thành phần còn lại đều bằng 0. - Bài toán luôn luôn có lời giải. 5.2. Phương pháp thế vị để giải bài toán 5.2.1. Phương pháp tìm phương án cực biên xuất phát Để xây dựng môt phương án cực biên xuất phát người ta dùng một trong 3 phương pháp sau: * Phương pháp góc Tây_Bắc: Bước 1: Chọn ô ở dòng 1, cột 1 của bảng vận tải. Bước 2: Phân lượng hàng h = {a1,b1} vào ô (1;1). Bước 3: Đánh dấu hàng (cột), theo đó lượng hàng ở trạm phát (trạm thu) đã hết (đã đủ). Bước 4: Quay trở về bước 1 thực hiện công việc ở những ô còn lại. * Phương pháp chi phí nhỏ nhất:: Bước 1: Chọn ô có cước phí thấp nhất, giả sử là ô (i;j). Bước 2: Phân lượng hàng h = {ai,bj} vào ô (i;j). Bước 3: Đánh dấu các ô thuộc hàng i nếu trạm phát Ai đã hết hàng hoặc cột j nếu trạm thu Bj đã nhận đủ hàng. Bước 4: Quay trở lại bước 1 thực hiện công việc ở những ô còn lại. Nguyễn Hải Đăng - Khoa KHCB&KTCS -3- Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định * Phương pháp xấp xỉ Fogels: - Định nghĩa độ lệch của hàng(cột) là hiệu số giữa ô có cước phí thấp thứ nhì trừ đi ô có cước phí thấp thứ nhất ở hàng (cột) đó. Bước 1: Chọn hàng hoặc cột có độ lệch lớn nhất Bước 2: Chọn ô có cước phí thấp nhất thuộc hàng hoặc cột đó, giả sử là ô (i;j). Bước 3: Phân lượng hàng h = {ai,bj} vào ô (i;j). -Bước 4: Đánh dấu các ô thuộc hàng i nếu trạm phát Ai đã hết hàng hoặc cột j nếu trạm thu Bj đã nhận đủ hàng.Quay trở về bước 1 tiếp tục thực hiện thuật toán. 5.2.1. Phương pháp thế vị giải bài toán v n tải a) Tiêu chuẩn tối ưu Phương án cực biên không suy biến X=(xij)m×n được gọi là phương án tối ưu khi và chỉ khi tồn tại các số ui (i=1,..,m) cho các hàng và các số vj (j= 1,...,n)cho các cột của bảng vận tải sao cho: ⎧⎪u i + v j = cij ⎨ ⎪⎩u i + v j ≤ cij (i; j ) : xij > 0(*) (i; j ) : xij = 0(**) Phương trình (*) ứng với ô (i;j) là ô chọn. Phương trình (**) ứng với ô (i;j) là ô loại. Các số ui và vj được gọi là hệ thống thế vị, trong đó ui được gọi là thế vị hàng, vj được gọi là thế vị cột. b) Thu t toán thế vị Bước 1: Tìm phương án cực biên xuất phát X0 = =(xij)m×n Sử dụng một trong 3 phương pháp ở trên. Nếu phương án tìm được là phương án suy biến thì ta bổ sung ô chọn không để được phương án cực biên không suy biến, ô chọn này có vai trò như các ô chọn khác. Bước 2: Kiểm tra tính tối ưu của phương án. + Xây dựng hệ thống thế vị. Cho ui một giá trị tùy ý nào đó thì mọi giá trị khác đều xác định được một cách duy nhất do (*) có (n+m) ẩn và và (m+n-1) phương trình độc lập tuyến tính. + Tính các số kiểm tra Δ ij Đặt Δ ij = u i + v j − cij (i = 1, m, j = 1, n) . Tính các Δ ij ứng với các ô loại. • Nếu Δ ij ≤ 0 (i = 1, m, j = 1, n) thì phương án đang xét là phương án tối ưu. • Nếu ∃ Δ ij > 0 (i = 1, m, j = 1, n) thì phương án đang xét chưa tối ưu, chuyển sang bước 3. Bước 3: Xây dựng phương án mới + Chọn ô điều chỉnh: Nguyễn Hải Đăng - Khoa KHCB&KTCS -4- { } Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định Ô (r,s) gọi là ô điều chỉnh nếu : Δ rs = max Δ ij > 0 (i = 1, m, j = 1, n) + Tìm chu trình điều chỉnh: Là chu trình với ô xuất phát là ô điều chỉnh, các ô còn lại là ô chọn. Gọi V là tập hợp các ô thuộc chu trình điều chỉnh. + Đánh dấu các ô của chu trình, bắt đầu từ ô điều chỉnh đánh dấu (+) rồi xen kẽ nhau đánh dấu (-), (+)…. cho đến hết chu trình. Gọi V+ là tập các ô có dấu (+), V- là tập các ô có dấu (-). Khi đó, V = V + ∪ V − . { } + Xác định lượng hàng điều chỉnh: q = min x ij : (i , j ) ∈ V − , q > 0. + Điều chỉnh sang phương án mới: X 1 = ( xij ) m×n với: ⎧ x ij , (i , j ) ∉ V ⎪⎪ + ⎨ x ij + q , ( i , j ) ∈ V ⎪ − ⎪⎩ x ij − q , ( i , j ) ∈ V Gọi X1 đóng vai trò như X0 rồi quay lại bước 2 và lặp cho tới khi tìm được phương án tối ưu. * Chú ý: - Nếu ô điều chỉnh không duy nhất thì ta xét theo hàng từ trên xuống dưới trong bảng vận tải gặp ô nào trước thì ta chọn ô đó làm ô điều chỉnh. q .Δ i0 j0 = max { q .Δ ij } > 0 thì giá trị hàm mục tiêu giảm nhanh hơn. - Nếu có thể thì ta chọn ô (i0, j0) thỏa mãn: c) Ví dụ Ví dụ 1. Giải bài toán vận tải với số liệu cho trong bảng sau: Thu 46 45 76 20 52 79 10 1 5 13 8 50 5 6 10 8 13 60 3 2 8 9 6 50 13 5 7 10 13 Phát Giải: Bước 1: Tìm phương án cực biên xuất phát: Sử dụng phương pháp chi phí nhỏ nhất xây dựng phương án cực biên ta được phương án cực biên không suy biến cho trong bảng sau: Nguyễn Hải Đăng - Khoa KHCB&KTCS -5- Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định Thu 46 Phát 79 50 60 50 45 10 76 1 5 x 6 x 34 10 13 13 9 x 5 x 20 8 x x x x 2 46 8 8 x 3 52 13 45 5 20 6 x 7 14 10 x 30 42 13 x 30 Bước 2: Kiểm tra tính tối ưu của phương án: + Xây dựng hệ thống thế vị: Cho u4 = 0, các ô (4,3) ,(4,5) là các ô cơ sở nên tính được v3 = 7 và v5 = 13. Xét cột 3 chẳng hạn ta thấy (1,3) là ô cơ sở nên tính được u1 = 7- 5 =2,… Tiếp tục tính tương tự sẽ xác định được toàn bộ các thế vị hàng và cột như trong bảng dưới: + Tính các số kiểm tra: Tính các Δ ij (i = 1,4, j = 1,5) ta thấy các Δ15 = 3 > 0, Δ 21 = 5 > 0 nên phương án đang xét chưa tối ưu, ta chuyển sang bước 3. Thu 46 Phát 79 50 60 50 vj 45 10 76 1 5 -2 5 10 5 5 -3 10 20 3 -8 10 -2 14 13 42 7 30 6 -8 7 3 13 9 -6 -2 -7 -3 8 46 8 8 -3 2 13 34 ui 52 13 45 6 3 20 -2 8 8 0 -7 0 13 Bước 3: Xây dựng phương án mới: + Chọn ô điều chỉnh: Nguyễn Hải Đăng - Khoa KHCB&KTCS -6- Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định Δ 21 = max{5; 3} = 5 nên chọn ô (2,1) làm ô điều chỉnh.đánh dấu (+) vào ô điều chỉnh. + Chọn chu trình điều chỉnh: Chu trình điều chỉnh như trong bảng sau: Thu 46 Phát 79 50 60 50 10 45 76 1 5 -2 5 (+) 5 13 5 10 vj -8 (+) 14 10 -2 13 42 3 (-) 30 6 -8 7 -3 20 9 -6 3 13 -3 8 (-) 46 -7 8 -3 2 8 34 10 ui 52 13 45 6 3 20 -2 7 8 8 -2 0 -7 0 13 +Xác định lượng hàng điều chỉnh: q = min {46 ; 30 } = 30 + Điều chỉnh sang phương án mới: X1 = (xij1) theo công thức cho trong bước 3 của thuật toán ta được bảng sau: Thu 46 Phát 79 50 60 50 vj 10 45 76 1 5 -2 5 2 42 3 7 -5 6 -3 10 -2 -3 (-) 20 -8 7 3 13 9 -6 5 10 -8 8 (-) 16 -2 8 -8 ui 52 8 34 10 (+) 30 13 13 45 6 3 20 (+) 3 13 (+) 44 13 (-) 8 -2 -5 -7 0 13 + Lặp lại quá trình ta được chu trình như bảng trên. Ta được: q = min {16 ; 20 ;8} = 8 + Điều chỉnh sang phương án mới X2 cho trong bảng dưới: Nguyễn Hải Đăng - Khoa KHCB&KTCS -7- Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định Thu 46 Phát 79 50 60 50 vj 45 10 76 1 5 -5 5 6 3 13 -6 7 -5 7 -3 42 7 -5 6 52 10 -2 3 12 9 -3 0 13 -5 8 5 -5 8 -5 8 8 34 10 2 52 13 45 38 20 13 8 10 -3 ui -2 -2 -4 0 10 Ta thấy mọi Δ ij ≤ 0 (i = 1,4, j = 1,5) nên phương án tương ứng ở bảng trên là tối ưu với giá trị hàm mục tiêu là f* = 45 * 1 + 34 * 5 + 38 * 5 + 12 * 8 + 8*3 + 52 * 6 + 42 * 7 + 8 * 10 = 1211. Nguyễn Hải Đăng - Khoa KHCB&KTCS -8- Toán Kinh tế - Trường Cao Đẳng Công Nghiệp Nam Định Bμi tËp ch−¬ng 3 Giải các bài toán vận tải sau, sử dụng cả 3 phương pháp tìm phương án cực biên xuất phát: Bài 1 Thu ⎡60 10 0 30⎤ ⎢ 0 60 20 0 ⎥ ; f (X *) = 460 * X = Đáp số: ⎥ ⎢ ⎢⎣ 0 0 20 0 ⎥⎦ 60 70 40 30 100 2 1 4 3 80 5 3 2 6 20 6 2 1 5 10 10 10 20 20 5 5 1 4 6 7 15 3 4 2 7 8 20 4 3 1 7 9 30 6 5 4 9 11 20 100 145 30 150 Phát Bài 2 Thu Phát Đáp số: ⎡0 ⎢ * ⎢10 X = ⎢0 ⎢ ⎣0 5 0 0 0⎤ 0 0 0 5 ⎥⎥ ; f (X*) = 435 5 10 5 0 ⎥ ⎥ 0 0 15 15⎦ Bài 3 Thu Phát 120 6 3 1 4 5 150 1 2 5 4 3 150 2 4 3 1 6 25 3 1 4 2 7 Nguyễn Hải Đăng - Khoa KHCB&KTCS Đáp số: ⎡0 ⎢0 * X =⎢ ⎢20 ⎢ ⎣0 0 120 0 0 ⎤ 0 0 0 150⎥⎥ ; f (X * ) = 940 75 25 30 0 ⎥ ⎥ 25 0 0 0 ⎦ -9-