Toán Kinh tế Trường Cao Đẳng Công Nghiệp Nam Định Nguyễn Hải Đăng Khoa KHCB&KTCS 1 Chương 1 BÀI TOÁN QUY HOẠCH TUYẾN TÍNH PHƯƠNG PHÁP ĐƠN HÌNH 1 1 Bài toán quy hoạch tuyến tính 1 1 1 Một số mô hình th[.]
Tốn Kinh tế - Trường Cao Đẳng Cơng Nghiệp Nam Định Chương BÀI TỐN QUY HOẠCH TUYẾN TÍNH PHƯƠNG PHÁP ĐƠN HÌNH 1.1 Bài tốn quy hoạch tuyến tính 1.1.1 Một số mơ hình thực tế A Bài tốn lập kế hoạch sản xuất Một sở sản xuất hai loại sản phẩm A B, từ nguyên liệu I, II, III Chi phí loại nguyên liệu tiền lãi đơn vị sản phẩm, dự trữ nguyên liệu cho bảng sau đây: Nguyên liệu I II III Lãi A B 1 Dự trữ Sản phẩm Hãy lập toán thể kế hoạch sản xuất cho có tổng số lãi lớn nhất, sở dự trữ nguyên liệu có Lập tốn: Gọi x, y số sản phẩm A B sản xuất ( x, y ≥ , đơn vị sản phẩm) Khi ta cần tìm x, y ≥ cho đạt lãi lớn f ( X ) = x + y → max với điều kiện nguyên liệu: x + y ≤ 8; y ≤ 4; 1.x ≤ 3; Tức cần giải toán: f ( X ) = x + 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 tố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 chuyển đất Lao động lớp chia làm loại A, B, C, với số lượng 10, 20, 12 Năng suất loại lao động công việc cho bảng đây: Lao động A(10) B(20) C(12) Xúc đất Chuyển đất Công việc Hãy tổ chức lao động cho có tổng suất lớn Lập tốn: Gọi xij số lao động loại j làm công việc i(j=1,2;xij ≥ , nguyên) Khi đó, suất lao động công việc đào đất là: x11 + x12 + x13 ; chuyển đất : x 21 + x 22 + x 23 ; Ta thấy để có suất lớn khơng thể có lao động dư thừa, tức phải cân hai cơng việc Vì ta có tốn sau: x11 + x12 + x13 → max; ⎧6 x11 + x12 + x13 − x21 + x22 + x23 = 0; ⎪ x + x = 10; ⎪ 11 21 với điều kiện ⎨ ⎪ x12 + x22 = 20; ⎪⎩ x13 + x23 = 12; C Bài toán phần thức ăn: Một phần thức ăn có khối lượng P, cấu tạo từ n loại thức ăn Gía mua đơn vị thức ăn loại j cj Để đảm bảo thể phát triển bình thường 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 phần bi có đơn vị thức ăn loại j aij Hỏi nên cấu tạo phần thức ăn để ăn đủ no, đủ chất dinh dưỡng mà có giá thành rẻ Lập toán: Gọi xj (xj ≥ ) số đơn vị thức ăn loại j cấu tạo phần Khi đó, giá thành 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 n f (X ) = ∑cjxj; j =1 Vì phải đảm bảo thoả mãn điều kiện đủ no đủ chất, tức là: n ∑x j =1 n j =P, ∑ aij x j ≥ b j , i = 1, m j =1 n Ta có tốn sau: f ( X ) = ∑ c j x j → 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 ≥ , j = 1, n ; ⎪⎩ Ta thấy ba toán thuộc toán tổng quát 1.1.2 Bài tốn quy hoạch tuyến tính tổng qt Bài tốn tổng quát QHTT có dạng : n f ( X ) = ∑ c j x j → min( max) 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 ràng buộc phương án, ta làm quen với hai khái niệm : ràng buộc chặt ràng buộc lỏng Định nghĩa 1: Nếu phương án x mà ràng buộc i thỏa mãn với dấu đẳng n thức, nghĩa ∑a x j =1 ij j = bi ta nói phương án x thỏa mãn chặt ràng buộc i Nếu 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ự, n nghĩa ∑a x j =1 ij j > bi ta nói phương án x thỏa mãn lỏng ràng buộc i Định nghĩa : Ta gọi phương án thỏa mãn chặt n ràng buộc độc lập tuyến tính phương án cực biên Một phương án cực biên thỏa mãn chặt 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 phương án cực biên không suy biến, thỏa mãn chặt n ràng buộc gọi phương án cực biên suy biến Định nghĩa 3: Một phương án mà hàm mục tiêu đạt cực tiểu ( cực đại ) gọi phương án tối ưu Bài tốn có phương án tối ưu gọi toán giải được, tốn khơng có phương án có phương án hàm mục tiêu không bị chặn ( ) tập phương án gọi không giải Để quán lập luận, ta xét toán tìm cực tiểu, sau ta xét cách đưa tốn tìm cực đại tốn tìm cực tiểu * Chuyển tốn tìm cực đại tốn tìm cực tiểu : Nếu gặp tốn tìm max, tức : n f ( X ) = ∑ c j x j → max j =1 X ∈M giữ ngun ràng buộc, ta đưa dạng tốn tìm : n g ( X ) = − f ( X ) = − ∑ c j x j → j =1 X ∈M Chứng minh : Nếu tốn tìm có phương án tối ưu X* tốn tìm max có phương án tối ưu X* g(X)= - f(X) Thật vậy, X* phương án tối ưu tốn tìm min, tức n n f ( X ) = ∑ c j x ≤ ∑ c j x j , ∀X ∈ M * * j j =1 n j =1 n ⇒ − ∑ c j x ≥ ∑ c j x j , ∀X ∈ M j =1 * j j =1 hay − f ( X * ) = g ( X * ) ≥ g ( X ), ∀X ∈ M Vậy X* phương án tối ưu toán max n f max = −∑ c j x*j = −g j =1 1.1.3 Dạng tắc tốn quy hoạch tuyến tính Nguyễn Hải Đăng - Khoa KHCB&KTCS -4- Tốn Kinh tế - Trường Cao Đẳng Cơng Nghiệp Nam Định Người ta thường xét toán QHTT dạng sau: n f ( X ) = ∑ c j x j → (1.1) j =1 ⎧ n a x = b , i = 1, m ∑ i với điều kiện ⎪⎨ j = ij j ⎪ x j ≥ , j = 1, n ⎩ (1.2) (1.3) Bài toán (1.1), (1.2), (1.3) gọi Bài tốn Quy hoạch tuyến tính dạng tắc Kí hiệu ma trận hàng c = (c1 , c2 , , cn )1×n ma trận : ⎛ a1j ⎞ ⎛ x1 ⎞ ⎛ b1 ⎞ ⎜a ⎟ ⎜x ⎟ ⎜b ⎟ 2j 2 x = ⎜ ⎟ , b = ⎜ ⎟ , A = (aij ) m×n , Aj = ⎜ ⎟ j = 1, n ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜⎜ ⎟⎟ ⎜ ⎟ ⎜ ⎟ x b ⎝ n⎠ ⎝ m⎠ ⎝ amj ⎠ Ta có tốn dạng ma trận sau: f(x) = cx → ⎧ Ax = b Với điều kiện ⎨ ⎩x ≥ toán dạng véc tơ sau: f(x) = cx → ⎧ A1 x1 + A2 x2 + + An xn = b Với điều kiện ⎨ ⎩ x1 , x2 , , xn ≥ Đối với tốn dạng tắc ta có số tính chất khái niệm quan trọng phương án cực biên sau : Tính chất 1( Nhận dạng phương án cực biên ) : Phương án x tốn dạng tắc cực biên hệ thống véc tơ { Aj : x j > 0} độc lập tuyến tính Với giả thiết hạng[A] = m phương án cực biên khơng suy biến có m thành phần dương, suy biến có m thành phần dương Chứng minh Lấy phương án x bất kì, giả sử p thành phần đầu x dương, tức x j > ( j = 1, p ) , suy xk = (k = p + 1, n) Thành lập ma trận tương ứng với ràng Nguyễn Hải Đăng - Khoa KHCB&KTCS -5- Tốn Kinh tế - Trường Cao Đẳng Cơng Nghiệp Nam Định buộc chặt phương án x ( bao gồm m ràng buộc đẳng thức n - p ràng buộc chặt dấu ), kí hiệu C, ta có : ⎡ a11 a12 ⎢a a22 ⎢ 21 ⎢ ⎢ ⎢ am1 am C=⎢ 0 ⎢ ⎢ ⎢ 0 ⎢ ⎢ ⎢ 0 ⎣ a1 p a2 p P amp a1 p +1 a1 p + a2 p +1 a2 p + amp +1 amp + 0 0 0 a1n ⎤ a2 n ⎥ ⎥ ⎥ ⎥ amn ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥⎦ m n-p Theo cách tính hạng ma trận hạng[C] = n – p + hạng[P] Từ định nghĩa suy ra, x phương án cực biên hạng[C] = n, nghĩa { } hạng[P] = p, nói cách khác Aj : j = 1, p hay { Aj : x j > 0} độc lập tuyến tính Từ tốn dạng tắc, khơng tính tổng qt , ta giả thiết : • Hệ (1.2) có 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 tập phương án có nhiều điểm, việc tìm phương án tối ưu tầm thường) Vì hạng ma trận A m nên số véc tơ điều kiện Aj độc lập tuyến tính cực đại m, phương án cực biên tương ứng với hệ véc tơ độc lập tuyến tính cực đại, từ ta có định nghĩa sau : Định nghĩa 4: Ta gọi hệ m véc tơ { Aj } độc lập tuyến tính bao hàm hệ thống véc tơ tương ứng với thành phần dương phương án cực biên x sở phương án cực biên ấy, kí hiệu cách quy ước J, J = { j : Aj nằm sở } Một phương án cực biên khơng suy biến có 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ó sở nhất, véc tơ tương ứng với thành phần dương ; phương án cực biên suy biến có -6Nguyễn Hải Đăng - Khoa KHCB&KTCS Tốn Kinh tế - Trường Cao Đẳng Cơng Nghiệp Nam Định nhiều sở khác nhau, phần chung chúng véc tơ tương ứng với thành phần dương Như nói phương án cực biên có sở J, cần hiểu J có nội dung sau: • Số phần tử 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 ( Tính hữu hạn số phương án cực biên ): Số phương án cực biên tốn quy hoạch tuyến tính hữu hạn Thật vậy: Vì phương án cực biên tương ứng với 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 hữu hạn, số phương án cực biên hữu hạn Tính chất ( Sự tồn phương án tối ưu ): Nếu toán dạng tắc có phương án hàm mục tiêu bị chặn tập phương án tốn có phương án cực biên tối ưu Thật vậy, giả sử tốn có phương án cực biên x1 , x , , x k { } Đặt f ( xl ) = Min f ( x i ) : i = 1, k Do tập nghiệm ( hay tập phương án toán quy hoạch tuyến tính) hệ ràng buộc đa diện lồi, nghiệm (phương án) x phân tích thành: k k x = ∑ λi x , ∑ λi = i i =1 i =1 k k k Suy f ( x) = f (∑ λi x ) = ∑ λi f ( x ) ≥ (∑ λi ) f ( xl ) = f ( xl ) ∀x ∈ M i i =1 i i =1 i =1 Vậy xl phương án cực biên tối ưu Một lớp quan trọng tốn quy hoạch tuyến tính dạng tắc tốn gọi toán dạng chuẩn : Nguyễn Hải Đăng - Khoa KHCB&KTCS -7- Tốn Kinh tế - Trường Cao Đẳng Cơng Nghiệp Nam Định n f ( x ) = ∑ c j x j → j =1 ⎧ x1 ⎪ x2 ⎪ ⎪ ⎨ ⎪ xm ⎪ ⎪⎩ x j ≥ , j = 1, n + a 1m +1 x m +1 + a 1m +2 x m +2 + + a n x n = b1 + a 2m +1 x m +1 + a 2m +2 x m +2 + + a n x n = b + a mm +1x m+1 + a m m+2 x m+2 + + a m n x n = b m bi ≥ 0(i = 1, m) , nghĩa tốn dạng tắc có vế phải khơng âm phương trình có biến số với hệ số đồng thời khơng có phương trình khác ( gọi biến lập với hệ số 1) Từ hệ phương trình ràng buộc toán dễ dàng suy phương án: x = (b1 , b2 , , bm ,0,0, ,0) Đây phương án cực biên có hệ sở tương ứng ⎛1⎞ ⎛0⎞ ⎛0⎞ ⎜0⎟ ⎜1⎟ ⎜0⎟ ⎜ ⎟ ⎜ ⎟ A1 = , A2 = , , Am = ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎝0⎠ ⎝0⎠ ⎝1⎠ 1.1.4 Đưa toán quy hoạch tuyến tính dạng tắc Phương pháp: Ta đưa tốn tuyến tính tổng qt tốn tuyến tính dạng tắc tương đương nhờ quy tắc sau: • • Nếu có max f(X) đổ thành {min − f ( X )} Nếu có bất đẳng thức n ∑a x j =1 ij j ≥ bi n ∑a x j =1 ij j ≤ bi ta đưa thêm ẩn phụ xn+i ≥ ,với hệ số hàm mục tiêu cn+i = để có: n ∑a x j =1 • ij j − xn +i = bi n ∑a x j =1 ij j + xn+i = bi ; Nếu có ẩn xk chưa ràng buộc dấu, ta thay hai biến xk xk không âm, theo công thức: ' " xk = xk - xk ' " Ví dụ 1.1 Đưa tốn sau dạng tắc: { x1 − x2 − x3 } ; Nguyễn Hải Đăng - Khoa KHCB&KTCS -8- Tốn Kinh tế - Trường Cao Đẳng Cơng Nghiệp Nam Định ⎧ x11 + x12 + x13 − x 21 + x 22 + x 23 = 0; ⎪ x + x + x = 5; ⎪⎪ với điều kiện ⎨ x1 − x + x3 ≤ 3; ⎪ x + x − x ≥ 4; ⎪ ⎪⎩ x1 , x3 ≥ 0; Giải: Ta thấy có bất đẳng thức x1 − x2 + x3 ≤ nên ta đưa thêm ẩn phụ x4 , x5 ≥ Mặt khác, có ẩn x2 chưa ràng buộc dấu, ta thay x2 x2' − x2" Khi đó, tốn ban đầu chuyển dạng sau: ( x1 − x2' + x2" − x3 ) → ⎧ x1 + x 2' − x 2" + x = ⎪ ' " ⎪ x1 − x + x + x + x = với điều kiện ⎨ ' " ⎪ x1 + x − x − x − x = ⎪ x , x ' , x" , x , x , x ≥ ⎩ 2 Ví dụ 1.2 Đưa tốn QHTT sau dạng tắc: x1 − x2 + x3 + x4 − x5 → ⎧ x1 − x2 + x3 + x4 + x5 ≤ 7(1) ⎪ x + x + x ≥ −1(2) ⎪ ⎪⎪2 x3 + x4 + 3x5 ≥ 10(3) với điều kiện ⎨ ⎪ x1 + x2 − x3 + x4 = 20 ⎪ x1 , x5 ≥ ⎪ ⎪⎩ x4 ≤ Giải: Vì x2, x3 chưa ràng buộc dấu nên ta thay x2 x2' − x2" ( x2' , x2" ≥ 0) , x3 x3' − x3" ( x3' , x3" ≥ 0) , x4 ≤ nên thay x4 − x4' ( x4' ≥ 0) Vì có bất đẳng thức (1), (2), (3) nên ta thêm ẩn phụ x6, x7, x8 Từ đó, ta tốn sau: x1 − ( x2' − x2" ) + 2( x3' − x3" ) − x4' − x5 → 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" − x4' + x5 + x6 = ⎪ ' " ' " ' ⎪( x2 − x2 ) + 2( x3 − x3 ) − x4 − x7 = −1 ⎪ Với điều kiện ⎨2( x2' − x2" ) − x4' + x5 − x8 = 10 ⎪ x + ( x ' − x" ) − 2( x ' − x" ) − x ' = 20 2 3 ⎪ ' " ' " ' ⎪⎩ x1 , x5 , x6 , x7 , x8 , x2 , x2 , x3 , x3 , x4 ≥ 1.2 Phương pháp đơn hình 1.2.1 Tư tưởng phương pháp đơn hình Xét tốn quy hoạch tuyến tính dạng tắc: n f ( x) = ∑ c j x j → j =1 ⎧ ⎪∑ aij x j = bi , i = 1, m ⎨ j =1 ⎪x ≥ ⎩ j n Dạng véctơ toán: f ( x) = cx → ⎧ n Với điều kiện: ⎪∑ Aj x j = b ⎨ j =1 ⎪ x ≥ 0, j = 1, n ⎩ j Ta biết : - Nếu tốn có phương án có phương án cực biên - Nếu tốn có phương án tối ưu có phương án cực biên tối ưu Số phương án cực biên hữu hạn Do đó, ta tìm phương án tối ưu(hay lời giải toán) tập hợp phương án cực biên Tập hợp hữu hạn Vì Dantzig đề xuất thuật tốn đơn sau: Xuất phát từ phương án cực biên x0 Kiểm tra xem x0 có phương án tối ưu hay chưa Nếu x0 chưa phải phương án tối ưu tìm cách cải tiến để phương pháp khác x1 tốt x0, tức f(x1) < f( x0) Qúa trình lặp lại nhiều lần Vì số phương án cực biên hữu hạn nên sau số hữu hạn lần lặp ta tìm thấy phương án cực biên tối ưu Để thực thuật toán đề trên, ta cần làm rõ hai vấn đề sau: Nguyễn Hải Đăng - Khoa KHCB&KTCS - 10 - ... dựng toán toán biến giả hay toán “M” từ toán xét Bài tốn “M ” có phương án cực biên xuất phát có đủ điều kiện áp dụng thuật tốn đơn hình để giải, đồng thời từ kết toán “M” đưa kết luận cho toán. .. tối ưu Một lớp quan trọng tốn quy hoạch tuyến tính dạng tắc toán gọ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 n f ( x ) = ∑ c j... có toán sau: f ( X ) = ∑ c j x j → 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 ≥ , j = 1, n ; ⎪⎩ Ta thấy ba toán thuộc toán tổng quát 1.1.2 Bài toán