Chương 5 – Bài toán Đối ngẫu & Phân tích độ nhạy 1 GV. Nguyen Vu Quang CHƯƠNG 5: BÀI TOÁN ĐỐI NGẪU PHÂN TÍCH ĐỘ NHẠY I. Bài toán đối ngẫu (Dual problem) 1.1 Ví dụ dẫn nhập Cty sản xuất 2 loại sản phẩm A, B qua 2 công đoạn cắt, ráp. Một sản phẩm A có lợi nhuận $50 cần 2 giờ cắt, 1 giờ ráp. Một sản phẩm B có lợi nhuận $80, cần 3 giờ cắt và 4 giờ ráp. Thời gian hoạt động sẵn có của công đoạn cắt, ráp là 100 giờ và 60 giờ . Gọi x 1 , x 2 là số sản phẩm A, B được sản xuất Max Z = 50x 1 + 80x 2 S.t 2x 1 + 3x 2 ≤ 100 x 1 + 4x 2 ≤ 60 x 1 , x 2 ≥ 0 Hiểu cách khác - Gọi u 1 , u 2 , là chi phí thuê công ty Y gia công cho 1 giờ cắt và ráp. Bài toán trên tương đương: Min Z' = 100u 1 + 60u 2 (chi phí thuê gia công càng nhỏ càng tốt) S.t 2u 1 + u 2 ≥ 50 (nếu không thì cty Y không nhận gia công) 3u 1 + 4u 2 ≥ 80 (nếu không thì cty Y không nhận gia công) 1.2 Các nguyên tắc hình thành bài toán đối ngẫu 1. Bài toán gốc là Max → bài toán đối ngẫu là Min, và ngược lại 2. Vế phải RHS b i của các ràng buộc của bài gốc → các hệ số trong hàm mục tiêu của bài toán đối ngẫu 3. Các hệ số c j trong hàm mục tiêu của bài gốc → các giá trị vế phải của ràng buộc bài toán đối ngẫu Chương 5 – Bài toán Đối ngẫu & Phân tích độ nhạy 2 GV. Nguyen Vu Quang 4. Các hệ số trong các ràng buộc của bài gốc → chuyển vị (ma trận) → các hệ số ràng buộc của bài toán đối ngẫu 5. Dấu bất đẳng thức thay đổi theo nguyên tắc sau: Gốc (Min) Đối ngẫu (Max) ≥ b i ≤ b i = b i Tương ứng sẽ có '' '' u i ≥ 0 u i ≤ 0 u i không bị giới hạn x i ≥ 0 x i ≤ 0 x i không bị giới hạn '' '' '' ≤ c j ≥ c j = c j Gốc (Max) Đối ngẫu (Min) ≤ b i ≥ b i = b i Tương ứng sẽ có '' '' u i ≥ 0 u i ≤ 0 u i không bị giới hạn x i ≥ 0 x i ≤ 0 x i không bị giới hạn '' '' '' ≥ c j ≤ c j = c j Ví dụ 1: Min Z = 3x 1 + 4x 2 + 5x 3 S.t x 1 + 2x 2 + 3x 3 ≥ 5 2x 1 + 2x 2 + x 3 ≥ 6 x 1 , x 2 , x 3 ≥ 0 ⇒ Max Z' = 5u 1 + 6u 2 S.t u 1 + 2u 2 ≤ 3 2u 1 + 2u 2 ≤ 4 3u 1 + u 2 ≤ 5 u 1 , u 2 ≥ 0 Max Z = 2x 1 + 3x 2 – 2x 3 S.t x 1 – 2x 2 + 5x 3 ≤ –2 x 1 – x 2 + 3x 3 ≤ 1 –3x 1 + 5x 2 + x 3 ≥ –3 –x 1 – 4x 2 – 2x 3 = 2 x 1 không giới hạn, x 2 ≥ 0, x 3 ≤ 0 ⇒ Min Z'= –2u 1 + u 2 –3u 3 +2u 4 S.t u 1 + u 2 –3u 3 –u 4 = 2 –2u 1 –u 2 +5u 3 –4u 4 ≥ 3 5u 1 +3u 2 +u 3 –2u 4 ≤ –2 u 1 , u 2 ≥ 0, u 3 ≤ 0, u 4 không bị giới hạn Chương 5 – Bài toán Đối ngẫu & Phân tích độ nhạy 3 GV. Nguyen Vu Quang Ví dụ 2: Cho bài toán sau, tìm bài toán đối ngẫu và giải Max Z = 14x 1 + 12x 2 + 18x 3 S.t 2x 1 + x 2 + x 3 ≤ 2 x 1 + x 2 + 3x 3 ≤ 4 x 1 , x 2 , x 3 ≥ 0 Bài toán đối ngẫu là: Min Z’ = 2u 1 + 4u 2 S.t 2u 1 + u 2 ≥ 14 u 1 + u 2 ≥ 12 u 1 + 3u 2 ≥ 18 u 1 , u 2 ≥ 0 Giải bài toán đối ngẫu: + Phương pháp đơn hình (tham khảo ví dụ trong phần 3.4 của chương 4 bài giảng trang 13) + Phương pháp đồ thị Nghiệm bài toán đối ngẫu : u 1 = 9, u 2 = 3, Z’ min = 30 Làm thế nào tìm x 1 , x 2 , x 3 ??? u 1 u 2 2u 1 + 4u 2 = 40 2u 1 +u 2 =14 u 1 +u 2 =12 u 1 +3u 2 =18 Chương 5 – Bài toán Đối ngẫu & Phân tích độ nhạy 4 GV. Nguyen Vu Quang 1.3 Lưu ý: Đối ngẫu của bài toán đối ngẫu sẽ cho ra bài toán gốc Bài toán gốc không bị chặn (unbounded) thì bài toán đối ngẫu sẽ không có nghiệm khả dĩ, và ngược lại bài toán đối ngẫu không bị chặn thì bài toán gốc không có nghiệm khả dĩ. Giá trị tối ưu của hàm mục tiêu của bài toán đối ngẫu và bài toán gốc là giống nhau. Nghiệm của bài toán gốc là những giá trị ở hàng dưới cùng ứng với các biến bù trong bảng đơn hình sau cùng của bài toán đối ngẫu Nghiệm của bài toán đối ngẫu là những giá trị ở hàng dưới cùng ứng với các biến bù trong bảng đơn hình sau cùng của bài toán gốc Một biến quyết định trong bài toán gốc có giá trị ≠ 0, thì biến bù tương ứng trong bài toán đối ngẫu sẽ có giá trị = 0. Một biến bù trong bài toán gốc có giá trị ≠ 0, thì biến quyết định tương ứng trong bài toán đối ngẫu sẽ có giá trị = 0. Dùng bài toán đối ngẫu để làm cho số lượng biến quyết định ít hơn. Hoặc khi chuyển bài toán MIN chuẩn (các ràng buộc đều ≥0, b i đều ≥ 0, c j ≥ 0) thành bài toán MAX để tránh dùng biến nhân tạo . Chương 5 – Bài toán Đối ngẫu & Phân tích độ nhạy 5 GV. Nguyen Vu Quang Tiếp theo ví dụ: Sau khi giải bài toán đối ngẫu bằng đồ thị, có nghiệm u 1 = 9, u 2 = 3, Z’ min = 30 Viết lại 2 bài toán (ký hiệu s i là biến bù trong bài toán gốc, t i là các biến bù trong bài toán đối ngẫu): Max Z = 14x 1 + 12x 2 + 18x 3 S.t 2x 1 + x 2 + x 3 + s 1 = 2 x 1 + x 2 + 3x 3 + s 2 = 4 Bài toán đối ngẫu là: Min Z’ = 2u 1 + 4u 2 S.t 2u 1 + u 2 – t 1 = 14 u 1 + u 2 – t 2 = 12 u 1 + 3u 2 – t 3 = 18 Z’ min = 30 ⇒ Z max = 30 u 1 ≠ 0, u 2 ≠ 0 ⇒ s 1 , s 2 = 0 u 1 =9, u 2 =3 ⇒ (t 1 =7, t 2 =0, t 3 =0) ⇒ (x 1 =0, x 2 ≠0, x 3 ≠0). Thay s 1 = 0, s 2 = 0, x 1 = 0 vào các ràng buộc của bài toán gốc tính được x 2 = 1, x 3 = 1. Chương 5 – Bài toán Đối ngẫu & Phân tích độ nhạy 6 GV. Nguyen Vu Quang Ví dụ 3: (đọc thêm tham khảo) Giải bài toán gốc và đối ngẫu, xác định mối liên hệ giữa các kết quả Bài toán gốc Bài toán đối ngẫu Min Z = 7x 1 + 12x 2 2x 1 + 3x 2 ≥ 15 x 1 + 2x 2 ≥ 8 x 1 , x 2 ≥ 0 ⇒ Max Z’= 15u 1 + 8u 2 2u 1 + u 2 ≤ 7 3u 2 + 2u 2 ≤ 12 u 1 , u 2 ≥ 0 Giải bài toán gốc bằng phương pháp đơn hình Min Z = 7x 1 + 12x 2 2x 1 + 3x 2 ≥ 15 x 1 + 2x 2 ≥ 8 x 1 , x 2 ≥ 0 Max Z o = –7x 1 – 12x 2 –Ma 1 –Ma 2 2x 1 + 3x 2 -s 1 + a 1 = 15 x 1 + 2x 2 -s 2 + a 2 = 8 x 1 , x 2 , s 1 , s 2 , a 1 , a 2 ≥ 0 x1 x2 s1 s2 a1 a2 Z RHS 2 3 -1 0 1 0 0 15 1 2 0 -1 0 1 0 8 7 12 0 0 M M 1 0 x1 x2 s1 s2 a1 a2 Z RHS 2 3 -1 0 1 0 0 15 1 2* 0 -1 0 1 0 8 7-3M 12-5M M M 0 0 1 -23M x1 x2 s1 s2 a1 a2 Z RHS 1/2 0 -1 3/2* 1 -3/2 0 3 1/2 1 0 -1/2 0 1/2 0 4 1-1/2M 0 M 6-3/2M 0 6-5/2M 1 -3M-48 x1 x2 s1 s2 a1 a2 Z RHS 1/3* 0 -2/3 1 2/3 -1 0 2 2/3 1 -1/3 0 1/3 0 0 5 -1 0 4 0 M-4 M 1 -60 x1 x2 s1 s2 a1 a2 Z RHS 1 0 -2 3 2 -3 0 6 0 1 1 -2 -1 2 0 1 0 0 2 3 M-2 M-3 1 -54 Nghiệm: x 1 = 6; x 2 = 1; s 1 = 0; s 2 = 0; a 1 = 0; a 2 = 0; Z o max = – 54 ⇒ Z min = 54 Chương 5 – Bài toán Đối ngẫu & Phân tích độ nhạy 7 GV. Nguyen Vu Quang Giải bài toán đối ngẫu bằng phương pháp đơn hình Max Z’= 15u 1 + 8u 2 2u 1 + u 2 ≤ 7 3u 2 + 2u 2 ≤ 12 u 1 , u 2 ≥ 0 Max Z’= 15u 1 + 8u 2 2u 1 + u 2 + t 1 = 7 3u 2 + 2u 2 + t 2 = 12 u 1 , u 2 , t 1 , t 2 ≥ 0 u1 u2 t1 t2 Z RHS 2* 1 1 0 0 7 3 2 0 1 0 12 –15 –8 0 0 1 0 u1 u2 t1 t2 Z RHS 1 1/2 1/2 0 0 7/2 0 1/2* -3/2 1 0 3/2 0 -1/2 15/2 0 1 105/2 u1 u2 t1 t2 Z RHS 1 0 2 -1 0 2 0 1 -3 2 0 3 0 0 6 1 1 54 Nghiệm: u 1 = 2; u 2 = 3; t 1 = 0; t 2 = 0, Z’ max = 54 Xem bảng đơn hình cuối cùng của bài toán đối ngẫu: t 1 = 0, t 2 = 0 cho biết x 1 ≠ 0 và x 2 ≠ 0. Giá trị 6 và 1 (hàng dưới cùng ứng với 2 biến bù t 1 và t 2 ) chính là nghiệm của bài toán gốc ⇒ x 1 = 6, x 2 = 1. Xem bảng đơn hình cuối cùng của bài toán GỐC : s 1 = 0, s 2 = 0 cho biết u 1 ≠ 0 và u 2 ≠ 0. Giá trị 2 và 3 (hàng dưới cùng ứng với 2 biến bù s 1 và s 2 ) chính là nghiệm của bài toán đối ngẫu u 1 = 2, u 2 = 3. Nhận xét này minh họa rõ ý trong mục 1.3 Chương 5 – Bài toán Đối ngẫu & Phân tích độ nhạy 8 GV. Nguyen Vu Quang II. Phân tích độ nhạy (sensitive analysis) Phân tích độ nhạy là phân tích sự thay đổi của nghiệm tối ưu khi một thông tin nào đó của bài toán QHTT ban đầu thay đổi: 1. Thay đổi thông số của vế phải ràng buộc, b i 9 2. Thay đổi hệ số trong hàm mục tiêu 9 3. Thay đổi hệ số trong ma trận ràng buộc 4. Thêm vào một biến quyết định mới 5. Thêm vào một ràng buộc mới Phân tích độ nhạy có thể thực hiện bằng tay thông qua các biến đổi và phép toán ma trận dựa trên bảng đơn hình cuối cùng của bài toán QHTT (tham khảo sách). Phân tích độ nhạy có thể thực hiện nhanh hơn bằng các phần mềm hỗ trợ. Ví dụ 4: Số liệu Lúa gạo Lúa mì Tài nguyên tối đa Diện tích (ha/tấn) 2 3 50 Lượng nước (10 3 m 3 /tấn) 6 4 90 Nhân công (công/tấn) 20 5 250 Lợi nhuận (USD/tấn) 18 21 Biến quyết định: Gọi x 1 , x 2 là số tấn lúa gạo và lúa mì cần sản xuất Hàm mục tiêu: Tổng lợi nhuận MAX Z = 18x 1 + 21x 2 Các ràng buộc Diện tích 2x 1 + 3x 2 ≤ 50 Lượng nước 6x 1 + 4x 2 ≤ 90 Nhân lực 20x 1 + 5x 2 ≤ 250 Giá trị của biến x 1 , x 2 ≥ 0 Dùng Excel (hoặc ABQM) giải, kết quả và báo cáo phân tích độ nhạy như sau (xem thêm phần thực hành): Chương 5 – Bài toán Đối ngẫu & Phân tích độ nhạy 9 GV. Nguyen Vu Quang . – Bài toán Đối ngẫu & Phân tích độ nhạy 4 GV. Nguyen Vu Quang 1.3 Lưu ý: Đối ngẫu của bài toán đối ngẫu sẽ cho ra bài toán gốc Bài toán gốc không bị chặn (unbounded) thì bài toán đối. tắc hình thành bài toán đối ngẫu 1. Bài toán gốc là Max → bài toán đối ngẫu là Min, và ngược lại 2. Vế phải RHS b i của các ràng buộc của bài gốc → các hệ số trong hàm mục tiêu của bài toán. đối ngẫu sẽ không có nghiệm khả dĩ, và ngược lại bài toán đối ngẫu không bị chặn thì bài toán gốc không có nghiệm khả dĩ. Giá trị tối ưu của hàm mục tiêu của bài toán đối ngẫu và bài toán