Thuật toán đơn hình cải biên và ứng dụng giải qui hoạch tuyến tính với ràng buộc suy rộng

28 710 1
Thuật toán đơn hình cải biên và ứng dụng giải qui hoạch tuyến tính với ràng buộc suy rộng

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC KHOA HỌC TRẦN QUANG VUI THUẬT TOÁN ĐƠN HÌNH CẢI BIÊN VÀ ỨNG DỤNG GIẢI QUI HOẠCH TUYẾN TÍNH VỚI RÀNG BUỘC SUY RỘNG Chuyên ngành: Toán ứng dụng Mã số: 60.46.01.12 TÓM TẮT LUẬN VĂN THẠC SĨ TOÁN HỌC Thái Nguyên -12/2015 Công trình hoàn thành Trường Đại học Khoa học - Đại học Thái Nguyên Người hướng dẫn khoa học: GS.TS Trần Vũ Thiệu Phản biện 1: TS Nguyễn Thị Thu Thủy Phản biện 2: PGS.TS Hà Tiến Ngoạn Luận văn bảo vệ trước Hội đồng chấm luận văn họp Trường Đại học Khoa học - Đại học Thái Nguyên vào hồi 11 ngày 26 tháng 12 năm 2015 Có thể tìm hiểu luận văn Trung tâm học liệu Đại học Thái Nguyên Thư viện Trường Đại học Khoa học Công trình hoàn thành Trường Đại học Khoa học - Đại học Thái Nguyên Người hướng dẫn khoa học: GS.TS Trần Vũ Thiệu Phản biện 1: TS Nguyễn Thị Thu Thủy Phản biện 2: PGS.TS Hà Tiến Ngoạn Luận văn bảo vệ trước Hội đồng chấm luận văn họp Trường Đại học Khoa học - Đại học Thái Nguyên vào hồi 11 30 ngày 26 tháng 12 năm 2015 Có thể tìm hiểu luận văn Trung tâm học liệu Đại học Thái Nguyên Thư viện Trường Đại học Khoa học MỞ ĐẦU Qui hoạch tuyến tính toán tối ưu ứng dụng rộng rãi lý thuyết thực tiễn Phương pháp đơn hình Dantzig (1947) hiệu để giải lớp toán Có nhiều biến thể khác cho dạng toán hay tình cụ thể có nhiều thuật toán có hiệu cao: đơn hình gốc, đơn hình cải biên, đơn hình đối ngẫu, đơn hình gốc - đối ngẫu, Luận văn đề cập tới thuật toán đơn hình cải biên, biến thể quan trọng phương pháp đơn hình Dantzig Thuật toán đặc biệt hữu ích cho toán có số biến vượt trội so với số ràng buộc có ma trận ràng buộc thưa (tỉ lệ phần tử lớn ) - chẳng hạn ma trận toán vận tải ứng dụng để giải toán qui hoạch tuyến tính với ràng buộc suy rộng, vectơ hệ số biến toán không cố định trước mà chọn tùy ý từ tập lồi đa diện cho trước Sau học chuyên đề giải tích lồi, tối ưu hóa kiến thức có liên quan, với mong muốn tìm hiểu sâu kiến thức học, chọn đề tài luận văn: "Thuật toán đơn hình cải biên ứng dụng giải qui hoạch tuyến tính với ràng buộc suy rộng" Mục đích đề tài tìm hiểu nội dung thuật toán đơn hình đơn hình cải biên giải qui hoạch tuyến tính trình bày cách áp dụng thuật toán đơn hình cải biên, kết hợp với kỹ thuật sinh cột nguyên lý phân rã, vào giải toán qui hoạch tuyến tính với ràng buộc suy rộng Nội dung luận văn gồm ba chương Thái Nguyên, ngày 21 tháng 11 năm 2015 Trần Quang Vui Học viên Cao học Lớp 7Y Khóa 01/2014-01/2016 Chuyên ngành Toán ứng dụng Trường Đại học Khoa học - Đại học Thái Nguyên Email: tranvuilh@gmail.com Chương KIẾN THỨC VỀ QUI HOẠCH TUYẾN TÍNH Chương trình bày số kiến thức sở tập lồi, tập lồi đa diện, toán qui hoạch tuyến tính tắc, toán đối ngẫu phương pháp đơn hình giải 1.1 TẬP LỒI VÀ TẬP LỒI ĐA DIỆN Định nghĩa 1.1 Tập C ⊆ R gọi tập lồi λa + (1 − λ)b ∈ C, ∀a, b ∈ C, ∀λ ∈ [0, 1], tức C chứa toàn đoạn thẳng nối hai điểm thuộc • Ta để ý tới tập lồi đặc biệt sau đây: a) Tập afin tập chứa trọn đường thẳng qua hai điểm thuộc b) Siêu phẳng tập có dạng H = {x ∈ Rn : aT x = α}, a ∈ Rn , a = α ∈ R c) Các nửa không gian đóng H + = {x ∈ Rn : aT x α}, H − = {x ∈ Rn : aT x α} d) Các nửa không gian mở K + = {x ∈ Rn : aT x > α}, K − = {x ∈ Rn : aT x < α} e) Hình cầu đóng B(a, r) = {x ∈ Rn : x − a 0) r}(a ∈ Rn , r > • Từ định nghĩa tập lồi trực tiếp suy số tính chất đơn giản sau đây: a) Giao họ tập lồi tập lồi C, D lồi ⇒ C lồi D b) Nếu C, D ⊂ Rn C ± D = {x ± y =: x ∈ C, y ∈ D} tập lồi c) Nếu C ⊂ Rm D ⊂ Rn tích C × D = {(x, y) : x ∈ C, y ∈ D} tập lồi Rm+n (Có thể mở rộng cho nhiều tập lồi) Định nghĩa 1.2 Cho E tập hợp Rn a) Giao tất tập afin chứa E gọi bao afin E, kí hiệu aff E Đó tập afin nhỏ chứa E b) Giao tất tập lồi chứa E gọi bao lồi E, kí hiệu conv E Đó tập lồi nhỏ chứa E Định nghĩa 1.3 a) Thứ nguyên (hay số chiều) tập afin M, kí hiệu dim M, thứ nguyên (số chiều) không gian song song với b) Thứ nguyên (hay số chiều) tập lồi C, kí hiệu dim C, thứ nguyên (số chiều) bao afin aff C Định nghĩa 1.4 Tập lồi K ⊆ Rn gọi nón lồi có thêm điều kiện λx ∈ K, ∀x ∈ K, ∀λ > Định nghĩa 1.5 a) Điểm x ∈ Rn có dạng x = λ1 a1 + λ2 a2 + + λk ak với ∈ Rn , λi 0, λ1 + λ2 + + λk = gọi tổ hợp lồi a1 , a2 , , ak b) Điểm x ∈ Rn có dạng x = λ1 a1 + λ2 a2 + + λk ak với ∈ Rn , λ1 + λ2 + + λk = gọi tổ hợp afin a1 , a2 , , ak c) Điểm x ∈ Rn có dạng x = λ1 a1 + λ2 a2 + + λk ak với ∈ Rn , λi gọi tổ hợp tuyến tính không âm hay tổ hợp nón a1 , a2 , , ak Định nghĩa 1.6 Một tập lồi mà giao số hữu hạn nửa không gian đóng gọi tập lồi đa diện Nói cách khác, tập nghiệm hệ hữu hạn bất phương trình tuyến tính: ai1 x1 + ai2 x2 + + ain xn nghĩa tập x nghiệm Ax (b1 , , bm )T bi , i = 1, 2, , m, b với A = (aij ) ∈ Rm×n , b = Ví dụ 1.1 a) Tập lồi đa diện vẽ Hình (1.1) giao nửa không gian đóng: x1 0, x2 0, x3 0, x1 2, x2 2, x1 + x3 Tập không bị chặn có thứ nguyên (số chiều 3): dimD1 = b) Đa diện lồi D2 vẽ Hình 1.2 tập nghiệm hệ phương trình bất phương trình tuyến tính:  x1 + x2 + x3 = x1 + x2 0, x2 + x3 0, x1 + x3 0, Tập bị chặn có thứ nguyên (số chiều) 2: dim D2 = 2.(D2 tam giác với đỉnh (6, 2, 2), (2, 6, 2), (2, 2, 6) nằm mặt phẳng x1 + x2 + x3 = 1) Định nghĩa 1.7 Điểm x0 ∈ D gọi đỉnh D x1 , x2 ∈ D, x1 = x0 x2 = x0 λ ∈ (0, 1) cho x0 = λx1 + (1 − λ)x2 , nói cách khác: x0 điểm nằm đoạn thẳng nối hai điểm thuộc D • Trong Hình 1.1, O, A, B, C, D đỉnh tập lồi đa diện D1 Trong Hình 1.2, ba đỉnh tam giác (tô gạch chéo) đỉnh tập lồi đa diện D2 Để hiểu rõ tập lồi đa diện không bị chặn ta cần khái niệm sau: Định nghĩa 1.8 Vectơ d ∈ Rn , d = gọi hướng lùi xa D ∃x0 ∈ Dsao cho {x0 + λd : λ 0} ⊆ D Tập hợp hướng lùi xa D cộng với gốc O tạo thành nón lồi đóng, gọi nón lùi xa D, kí hiệu rec D Định nghĩa 1.9 Hướng lùi xa d D gọi hướng cực biên không tồn hai hướng lùi xa khác d1 , d2 cho d = λ1 d1 +λ2 d2 , λ1 , λ2 > Có thể chứng minh tập lồi đa diện D không bị chặn recD = {0}, nghĩa D có hướng lùi xa Ta có định lý biểu diễn sau đây, thường hay dùng chứng minh: Định lí 1.1 Mỗi điểm tập lồi đa diện D = {x ∈ Rn : Ax = b, x 0} biểu diễn dạng tổ hợp lồi tập hữu hạn đỉnh D cộng với tổ hợp tuyến tính không âm tập hữu hạn phương cực biên D Trong toán quy hoạch tuyến tính, ta gặp tập lồi đa diện có dạng: D = {x ∈ Rn : Ax = b, x 0}, A ∈ Rm×n , b ∈ Rm (1.1) tức D tập nghiệm không âm hệ phương trình tuyến tính Giả thiết m n (nếu m > n, tập D rỗng) rank A = m Ở dạng này, tập D không chứa đường thẳng (do x 0) nên D có đỉnh Kí hiệu Aj (j = 1, , n) vectơ cột thứ j ma trận A Theo lý thuyết qui hoạch tuyến tính, vectơ x ¯ ∈ D đỉnh D hệ vectơ {Aj : x¯j > 0} độc lập tuyến tính Do Aj ∈ Rm nên từ tính chất suy số thành phần dương đỉnh D xác định (1.1) không vượt m Một ứng dụng cụ thể kết tìm đỉnh tập lồi đa diện D xác định theo (1.1) số biến n không lớn Sau ví dụ: Ví dụ 1.2 Tìm đỉnh không suy biến tập lồi đa diện cho hệ: 3x1 − 2x2 + 3x3 = −x1 + 2x2 − x3 = xj 0, j = 1, 2, Ví dụ có m = phương trình n = biến Một đỉnh có nhiều m = thành phần dương, tức có n - m = thành phần Vì thế, cho x1 , x2 , x3 0, ta được: • Với x1 = 0, hệ phương trình cho ta x2 = 92 , x3 = • Với x2 = 0, hệ phương trình vô nghiệm (x1 + x3 = −4, x1 0!) 0, x3 • Với x3 = 0, hệ phương trình cho ta x2 = 29 , x1 = Như ta nhận hai nghiệm hệ: (0, 29 , 5) (5, 92 , 0) Kiểm tra trực tiếp cho thấy hệ hai vectơ A2 = (−2, 2)T , A3 = (3, −1)T A1 = (3, −1)T , A2 = (−2, 2)T độc lập tuyến tính, nên hai nghiệm đỉnh không suy biến tập lồi đa diện cho (số thành phần dương m = 2) 1.2 BÀI TOÁN QUI HOẠCH TUYẾN TÍNH CHÍNH TẮC Qui hoạch tuyến tính toán tìm cực tiểu (hay cực đại) hàm tuyến tính với ràng buộc tuyến tính Khi đề cập tới phương pháp giải, người ta thường xét toán qui hoạch tuyến tính dạng tắc sau:  n f (x) = j=1 cj xj → n (1.2) a x = bi , i = 1, 2, , m  j=1 ij j xj 0, j = 1, 2, , n aij , bi , cj số cho trước Trong toán (1.2), f(x) gọi hàm mục tiêu, phương trình ai1 x1 + ai2 x2 + + ain xn = bi , (i = 1, 2, , m) gọi ràng buộc đẳng thức, bất đẳng thức xj gọi ràng buộc dấu (hay ràng buộc không âm) Điểm (hay vectơ) x ∈ Rn thỏa mãn ràng buộc, gọi điểm chấp nhận được, hay phương án toán Tập hợp tất phương án toán gọi tập ràng buộc hay miền chấp nhận toán kí hiệu D, tức đặt: D = {x ∈ Rn : Ax = b, x 0} Như nhắc lại Mục 1.2, D tập lồi đa diện có đỉnh (nếu tập D = ∅) Phương án đạt giá trị nhỏ hàm mục tiêu, hay gọi phương án tối ưu hay lời giải toán Một phương án mà đồng thời đỉnh D gọi phương án cực biên toán Kí hiệu A = (aij ) ∈ Rm×n , b = (b1 , , bm )T , c = (c1 , , cn )T x = (x1 , , xn )T Khi toán (1.2) viết gọn lại thành: min{f (x) = cT x : Ax = b, x 0} Định lý sau nêu điều kiện cần đủ để qui hoạch tuyến tính có lời giải: Định lí 1.2 Nếu qui hoạch tuyến tính có phương án hàm mục tiêu bị chặn miền chấp nhận (đối với toán min) toán chắn có phương án tối ưu (lời giải) Định lý sau nêu lên tính chất đặc trưng phương án cực biên (đỉnh) toán qui hoạch tuyến tính tắc: Định lí 1.3 Để phương án x0 = (x01 , x02 , , x0n ) toán qui hoạch tuyến tính tắc phương án cực biên điều kiện cần đủ vectơ cột Aj ma trận A tương ứng với thành phần x0j > độc lập tuyến tính Định lí 1.4 Nếu toán qui hoạch tuyến tính tắc có phương án tối ưu có phương án cực biên tối ưu (có đỉnh tối ưu) 1.3 BÀI TOÁN ĐỐI NGẪU Ta định nghĩa đối ngẫu toán qui hoạch tuyến tính tắc, kí hiệu toán (P): f (x) = c1 x1 + c2 x2 + + cn xn → ai1 x1 + ai2 x2 + + ain xn = bi , i = 1, 2, , m xj 0, j = 1, 2, , n toán ký hiệu (Q): g(y) = b1 y1 + b2 y2 + + bm ym → max a1j y1 + a2j y2 + + amj ym cj , j = 1, 2, , n 11 Chương PHƯƠNG PHÁP ĐƠN HÌNH CẢI BIÊN Chương trình bày phương pháp đơn hình cải biên giải qui hoạch tuyến tính tắc: ý nghĩa cải biên, cách tính truy hồi ma trận nghịch đảo, sơ đồ tính toán ví dụ số minh họa thuật toán 2.1 Ý NGHĨA CỦA SỰ CẢI BIÊN Xét toán qui hoạch tuyến tính dạng tắc: min{f (x) = cT x : Ax = b, x 0} (2.1) Giả sử ta có phương án cực biên x với sở J = {i1 , i2 , , im }, (Ai1 , Ai2 , , Aim ) vectơ sở xi1 , xi2 , , xim biến sở) Đặt: B = (Ai1 , Ai2 , , Aim ) - ma trận sở (m hàng, m cột) Zk = (z1k , z2k , , zmk )T - vectơ cột hệ số khai triển Ak theo sở B cB = (ci1 , ci2 , , cim )T - vectơ hàng gồm hệ số mục tiêu biến sở xB = (xi1 , xi2 , , xim )T - vectơ cột ghi giá trị biến sở Theo phương pháp đơn hình ta có công thức tính sau: xB = B −1 b, f (x) = (cB )T B −1 b, Zk = B −1 Ak , k = 1, 2, , n ∆k = cB Zk − ck , gọi ước lượng biến xk , k = 1, 2, , n (2.2) 12 Phương pháp đơn hình giải qui hoạch tuyến tính (2.1) cần tính toán ma trận cỡ m × n Phương pháp đơn hình cải biên sử dụng công thức (2.2) nên vòng lặp cần lưu giữ biến đổi ma trận sở nghịch đảo B −1 cỡ m × m, không cần lưu giữ biến đổi ma trân điều kiện ban đầu (cỡ m × n lớn nhiều), nhờ tiết kiệm nhớ thời gian tính toán giải toán Phương pháp đơn hình cải biên đặc biệt thích hợp có hiệu toán thực tế có kích thước lớn, có số ràng buộc m nhỏ nhiều so với số biến n toán A ma trận thưa (tỉ lệ phần tử khác A nhỏ, khoảng từ 5% đến 10%) 2.2 CÔNG THỨC TRUY HỒI TÍNH MA TRẬN NGHỊCH ĐẢO B −1 Khi đưa vectơ phi sở As sở B loại khỏi B vectơ Air với zrs = 0, ta nhận sở mới: B = (Ai1 , , Air −1 , As , Air +1 , , Aim ), nghĩa B’ khác B vectơ As thay cho Air (ở vị trí thứ r sở) Kí hiệu: Q = B −1 = (qik )m×n , Q = (B )−1 = (qik )m×n Khi công thức liên hệ phần tử qik qik sau: qik = )zis , i = r qik − ( qzrk rs qrk zrs , i = r i, k = 1, , m (2.3) hay dạng ma trận ta có (B )−1 = Ur B −1 , đó:     0   Ur =   0    − z1,s rs z − r−1,s zrs z zrs zr+1,s − zrs − z m,s zrs     0   0  0    (2.4) 13 ma trận sơ cấp, nghĩa khác ma trận đơn vị cột (cột thứ r) 2.3 THUẬT TOÁN ĐƠN HÌNH CẢI BIÊN Dantzig Orchard - Hays (1954) đề thuật toán đơn hình cải biên để giảm bớt khối lượng tính toán thông tin lưu trữ bước lặp đơn hình Xét toán qui hoạch tuyến tính tắc dạng (2.1) Quá trình giải toán đơn hình cải biên sử dụng hai bảng: Bảng 2.1 Bảng 2.2 Trong Bảng 2.1, m+1 dòng đầu lưu giữ hệ số aij , bi , cij toán cần giải (2.1) Từ dòng m+2 trở ghi ước lượng ∆k biến xk vòng lặp tính theo công thức (2.2) Dòng b A1 As An Dòng b1 a11 a1s a1n Dòng m bm am1 ams amn Dòng m+1 c c1 cs cn Dòng m+2 ∆1 ∆1 ∆s ∆n Dòng m+3 ∆2 ∆1 ∆s ∆n Bảng 2.1: Bảng 2.2 gọi bảng đơn hình cải biên Cột ghi tên biến sở Cột cB ghi hệ số mục tiêu biến sở Trong cột thứ ba (Phương án): m phần tử đầu giá trị biến sở, phần tử cuối giá trị hàm mục tiêu tương ứng Ma trận sở nghịch đảo B −1 ghi m cột Cột Zs (cột quay): m phần tử đầu ghi hệ số khai triển vectơ đưa vào sở As theo vectơ sở, phần tử cuối ghi ước lượng ∆s Dòng phía ma 14 trận nghịch đảo ghi phương án toán đối ngẫu, tính theo công thức: (qm+1,1 , qm+1,2 , , qm+1,m ) = cB B −1 (2.5) Biến cB Phương sở án Ma trận B −1 Zs xi1 ci q10 q11 q1m z1s xir cir qr0 qr1 qrm zrs xim cim qm0 qm1 qmm zms qm+1,0 qm+1,1 qm+1,m θ ∆s Bảng 2.2: Bảng đơn hình cải biên Thuật toán đơn hình cải biên gồm bước sau: Bước (Xây dựng bảng đơn hình ban đầu) Giả sử lúc đầu có phương án cực biên x với sở J Đặt B = {Aj : j ∈ / J} Tính ma trận nghịch đảo ghi vào Bảng 2.2 Tính m phần tử đầu cột Phương án theo (2.2) tính qm+1,0 = (cB )T B −1 b Các phần tử qm+1,k (k = 1, , m) tích vectơ cB với vectơ cột thứ k B −1 theo công thức (2.5) Bước (Kiểm tra tối ưu tìm cột quay) Tính ước lượng biến xk theo công thức (2.2): ∆k tích dòng m+1 Bảng 2.2 với cột Ak Bảng 2.1, trừ ck Nếu ∆k 0∀k = 1, , n phương án cực biên có tối ưu Trái lại, ta xác định vectơ As đưa vào sở theo công thức (hoặc chọn ngẫu nhiên có nhiều số đạt max): ∆s = max{∆k : ∆k > 0, k ∈ / J} Bước 2: (Kiểm tra toán lời giải hữu hạn tìm dòng quay) Trước hết tính cột quay (cột Zs Bảng 2.2) theo công thức Zs = B −1 As , tức 15 nhân dòng ma trận nghịch đảo B −1 với cột As Bảng 2.1 ta phần tử cột quay Zs Bảng 2.2 Phần tử cuối cột ∆s (đã tính trên) Nếu zis 0∀i = 1, , m hàm mục tiêu toán (2.1) không bị chặn dưới: dừng tính toán Trái lại, xác định vectơ loại khỏi sở theo công thức: θ0 = qr0 zrs = min{ zqi0 : zis > 0} is Cột θ Bảng 2.2 dùng để ghi tỉ số zqi0 zis > is Bước 3:(Biến đổi bảng đơn hình cải biên) Biến sở dòng r xir bị loại khỏi sở, thay vào biến xs Trong cột cB thay hệ số mục tiêu dòng r cir cs Biến đổi ma trận (qik )(m+1)×(m+1) (i = 1, 2, , m + 1; k = 0, 1, , m) theo công thức tương tự (2.3) với cột quay Zs , dòng quay r phần từ quay zrs > Cụ thể: a) Chia phần tử dòng r cho zrs Dòng nhận gọi dòng b) Lấy dòng khác trừ tích dòng với phần tử dòng cột quay, tức trừ (dòng chính) ×zis Quay trở lại thực Bước 2.4 VÍ DỤ MINH HỌA Ví dụ 2.1 Giải toán sau theo thuật toán đơn hình cải biên:  f (x) = 26x1 + 35x2 + 34x3 + 37x4 + 25x5 + 31x6 → 28x1 + 34x2 + 28x3 + 30x4 + 30x5 + 34x6 = 32 x + x + x + x + x + x = x1 0, x2 0, x3 0, x4 0, x5 0, x6 Số liệu ban đầu toán ước lượng ∆k vòng lặp ghi Bảng 2.3: Các bước giải toán nêu ba bảng đơn hình cải biên Bảng 2.4, Bảng 2.5 Bảng 2.6: Bảng 2.4: Cơ sở ban đầu gồm hai vectơ A1 A2 với: 17 34 ⇒ B −1 = − B = (A1 , A2 ) = 28 1 − 14 Phương án cực biên ban đầu biến đối ngẫu tương ứng là: 16 b A1 A2 32 28 34 1 c 26 35 ∆1 ∆2 ∆3 -1 -4 0 -4 A3 28 34 A4 30 37 A5 A6 30 34 1 25 31 -8 -8 -14 -12 -12 -12 0 4 Bảng 2.3: Biến sở Cơ Phương án x1 26 x2 35 B −1 − 16 3 θ 3 17 − 14 32 Z5 1,5 -16 Bảng 2.4: x1 = − x2 17 − 14 × 32 = (y1 , y2 ) = (26, 35) 3 với f1 = − 16 17 − 14 3 × 26 + × 35 = 32 = ( 32 , −16) Tính ước lượng ∆1 = AT y − c = (0 −8 − 4) Đưa vectơ A5 vào sở Loại vectơ A1 khỏi sở Bảng 2.4 biến đổi theo Bước thuật toán nêu trên, với phần tử quay z15 = 32 (số in đậm) Kết ta nhận Bảng 2.5 Tính ước lượng ∆2 = AT y−c = (−1 −14 −12 4) Đưa vectơ A6 vào sở Loại vectơ A2 khỏi sở Biến đổi Bảng 2.5 ta thu Bảng 2.6 Tính ước lượng ∆3 = AT y−c = (−4 −4 −12 −12 0) 17 Biến sở Cơ Phương án x5 25 x2 35 2 B −1 − 14 17 − 15 30 2,5 Z6 θ − 1 -50 Bảng 2.5: Biến sở Cơ Phương án x5 25 x6 31 B −1 2 − 14 28 1, 17 15 − − − 20 Bảng 2.6: Mọi biến có ước lượng nhỏ hay nên dừng tính toán: Phương án tối ưu toán x∗ = (0 0 0, 0, 5)T giá trị tối ưu hàm mục tiêu fmin = f (x∗ ) = 28 Ví dụ 2.2 Giải toán sau phương pháp đơn hình cải biên:  f = 2x + x2 + x3 + x4 → max  4x1 + x12 + 2x + x4 = 2x1 + x2 + 2x3 − x4 =  2x1 − x2 + 2x3 + x4 = x1 0, x2 0, x3 0, x4 Ta chuyển sang toán tìm -f, thêm vào ba biến giả x5 , x6 , x7 xét toán (M) với M=10: Áp dụng thuật toán, ta lời giải tối ưu x∗ = (0; 3; 2; 1) với giá trị tối ưu hàm mục tiêu fmax = 18 Chương QUI HOẠCH TUYẾN TÍNH VỚI RÀNG BUỘC SUY RỘNG Chương đề cập tới toán qui hoạch tuyến tính với ràng buộc suy rộng, chứng minh tương đương với toán qui hoạch tuyến tính trình bày thuật toán giải toán dựa áp dụng phương pháp đơn hình cải biên kĩ thuật sinh cột theo nguyên lý phân rã qui hoạch tuyến tính Cuối chương nêu ví dụ minh họa số cụ thể 3.1 NỘI DUNG BÀI TOÁN Qui hoạch tuyến tính với ràng buộc suy rộng toán có dạng: n (P ) f (x) = cT x = cj xj → j=1 với điều kiện: n Aj x j = b j=1 Aj ∈ Dj , j = 1, 2, , n xj 0, j = 1, 2, , n 19 x ∈ Rn , b ∈ Rm , c ∈ Rn , Dj (j = 1, , n) tập lồi đa diện cho trước Rm , Aj ∈ Rm vectơ chọn điểm tùy ý Dj Bài toán nêu [4] theo [5, tr.267], Philip Wolfe nghiên cứu Tên gọi toán xuất phát từ nhận xét toán (P) trở thành toán qui hoạch tuyến tính thông thường A1 , , An vectơ hằng, nghĩa tập Dj gồm phần tử Còn Aj vectơ biến cần xác định, hàm ràng buộc toán hàm song tuyến tính (P) toán tối ưu phi tuyến với ràng buộc toàn phương không lồi (xem [6]) Tuy nhiên, giống toán qui hoạch tuyến tính qui hoạch tuyến tính với ràng buộc suy rộng gợi ý tưởng xây dựng thuật toán hiệu giải (P) Thuật toán ban đầu Wolfe đề xuất (xem [5]) thuật toán tương tự nêu [6] xem mở rộng trực tiếp phương pháp đơn hình Dantzig (xem [1], [3]) 3.2 BÀI TOÁN QUI HOẠCH TUYẾN TÍNH TƯƠNG ĐƯƠNG Giả sử Dj tập lồi đa diện bị chặn có nj đỉnh Kí hiệu Akj (k = 1, , nj ) đỉnh Dj , (j = 1, , n) Theo định lý biểu diễn tập lồi đa diện, x ∈ Dj viết dạng: nj nj λk Akj với x= λk = 1, λk k=1 0(k = 1, , nj ) k=1 Định lý sau nêu toán qui hoạch tuyến tính (theo biến yjk ) tương đương với toán (P): Định lí 3.1 Bài toán (P) tương đương với qui hoạch tuyến tính sau, kí hiệu (LP): nj n g(y) = cj yjk ) → ( j=1 k=1 với điều kiện: nj n ( j=1 k=1 Akj yjk ) = b 20 yjk 0, k = 1, , nj ; j = 1, , n Akj ∈ Rm (k = 1, , nj ) đỉnh Dj (j=1, , n) 3.3 THUẬT TOÁN GIẢI 3.3.1 Mô tả thuật toán Ta giải (P) cách giải toán (LP) tương đương Bài toán gồm nhiều biến (n1 + + nn biến.) Hơn nữa, cột hệ số Akj = (ak1j , ak2j , , akmj )T (các đỉnh Dj ) không cho dạng tường minh Để khắc phục khó khăn này, ta vận dụng phương pháp đơn hình cải biên, kết hợp với kỹ thuật sinh cột nguyên lý phân rã qui hoạch tuyến tính Không giảm tổng quát, ta xem b Cụ thể, để giải (LP) theo phương pháp đơn hình cải biên, bước lặp ta cần biết m vectơ điều kiện (độc lập tuyến tính) tạo nên sở toán Cách tìm sở ban đầu nói sau Còn việc kiểm tra sở có tối ưu chưa việc chọn vectơ đưa vào sở (khi chưa đạt tối ưu) tiến hành nhờ giải n toán tuyến tính phụ n tập Dj Vòng lặp k= 1, 2, gồm bước sau: Bước Giả sử sở Bk gồm m vectơ độc lập tuyến tính, lấy từ tập đỉnh tất đa diện lồi Dj với j Kí hiệu [Bk ]−1 ma trận nghịch đảo Bk (Bk [Bk ]−1 xem biết) Theo thuật toán đơn hình, giá trị biến sở yB = [Bk ]−1 b (mọi biến phi sở nhận giá trị 0) Giá trị hàm mục tiêu tương ứng g(y) = [cB ]T xB , cB vectơ gồm hệ số mục tiêu biến sở toán cần giải Bước Tính π = (π1 , , πm ) theo công thức π = (cB )T (Bk )−1 Bước Với j=1, , n, giải toán tuyến tính phụ (biến Aj ): (LPj ) θj = max{π T Aj − cj : Aj ∈ Dj } (Nếu toán phụ thứ j không chấp nhận được, tức Dj = ∅, từ sau ta không cần giải toán phụ thứ j nữa) Xét hai khả năng: a) Nếu θj 0∀j = 1, , n với đỉnh Akj (k = 1, , nj ) Dj ta có: ∆kj ≡ π T Akj − cj θj 0∀k = 1, , nj ; j = 1, , n Chứng tỏ Bk sở tối ưu y = (yB , 0) nghiệm tối ưu (LP) b) Trái lại (có θj > 0), sở Bk chưa tối ưu Đặt θs = max{θj : θj > 0} 21 đưa vào sở Bk vectơ Aks , k ns , đỉnh Ds thỏa mãn θs = π T Aks − cs Vectơ loại khỏi sở Bk xác định theo thủ tục đơn hình Kết nhận sở Bk+1 với [Bk+1 ]−1 tính theo thuật toán đơn hình cải biên Tăng k thành k+1 thực tiếp vòng lặp k 3.3.2 Xây dựng nghiệm sở ban đầu Để xây dựng nghiệm sở ban đầu cho thuật toán, ta dùng phương pháp pha: thêm vào (LP) biến giả tạo (z1 , z2 , , zm ) xét toán mở rộng: (z) = z1 + z2 + + zm → với điều kiện: nj n ( Akj yjk ) + Im z = b j=1 k=1 yjk 0, k = 1, , nj ; j = 1, , n z = (z1 , z2 , , zm )T Akj ∈ Rm (k = 1, , nj ) đỉnh Dj (j = 1, , n), Im ma trận đơn vị Áp dụng thuật toán nêu giải toán với sở ban đầu B1 = Im (do [B1 ]−1 = Im ) biến sở z1 , z2 , , zm (zi = bi với i theo giả thiết) Giả sử z ∗ nghiệm tối ưu thu Nếu (z ∗ ) > kết luận toán (LP), toán (P) nghiệm chấp nhận dừng trình giải Trái lại ( (z ∗ ) = 0), loại khỏi sở tối ưu (nếu cần) biến zj , ta nhận sở ban đầu cho toán (LP) 3.4 VÍ DỤ MINH HỌA Giải toán (P) với liệu sau đây: số ràng buộc m = 2, số biến n = 3, vectơ hệ số mục tiêu c = (1, 2, −1)T tập lồi đa diện bị chặn D1 hình chữ nhật có n1 = đỉnh A11 , A21 , A31 , A41 ; D2 tam giác có n2 = đỉnh A12 , A22 , A32 ; D3 gồm n3 = đỉnh A13 với: 22 −2 1 −1 A11 = −2 −1 , A1 = , A1 = , A1 = −1 , A2 = −1 , A2 = −2 , A32 = , A3 = , b = Dữ liệu toán (P) viết Bảng 3.1: Dòng ghi biến x1 , x2 , x3 ; dòng thứ hai ghi hệ số biến hàm mục tiêu c = (c1 , c2 , c3 ); hai dòng ghi hệ số vectơ biến A1 , A2 , A3 Dòng cuối ghi tên tập lồi đa diện D1 , D2 , D3 (các biến xj 0, aij tùy ý) Cột tận bên phải ghi hệ số vế phải b Tương tự, liệu toán (LP) tương đương ghi Bảng 3.2 (yjk 0) x1 x2 x3 -1 = f (min) a11 a12 a13 =3; a21 a22 a23 =5 D1 D2 D3 Bảng 3.1: Dữ liệu toán qui hoạch tuyến tính với ràng buộc suy rộng (P) y11 y12 y13 y14 1 1 -2 -2 1 -1 2 -1 y21 y22 y23 2 -1 -1 -2 y31 -1 = g(min) =3, =5 Bảng 3.2: Dữ liệu toán (LP) tương đương Thêm biến giả tạo z1 0, z2 xét toán mở rộng (Pha I) cho Bảng 3.3 Áp dụng phương pháp đơn hình cải biên, ta giải toán sau (các cột hệ số tương ứng với biến yjk (k = 1, , nj ; j = 1, 2, 3) xem chưa biết, tính cần) Vòng lặp Bước Cơ sở ban đầu B1 gồm hai vectơ đơn vị e1 = (1, 0)T , e2 = (0, 1)T 23 y11 y12 y13 y14 0 0 -2 -2 1 -1 2 -1 y21 y22 y23 0 -1 -1 -2 y31 z1 z2 1 0 = (min) =3, =5 Bảng 3.3: Dữ liệu toán mở rộng: Pha I −1 với: B1 = (e1 , e2 ) = 1 ⇒ [B1 ] = Từ đó, giá trị biến sở ban đầu z1 , z2 xác định theo công thức 3 zB = [B1 ]−1 b: zz12 = 1 = với = Bước Tính nhân tử đơn hình theo công thức π = (cB )T [B1 ]−1 : π = (π1 , π2 ) = (1, 1) 0 = (1, 1) (tức π = 1, π = 1) Bước Với j = 1, 2, lập giải toán tuyến tính phụ: (LPj ) θj = max{π T Aj − cj = a1j + a2j : Aj = (a1j , a2j )T ∈ Dj } cách tính so sánh giá trị hàm mục tiêu a1j + a2j đỉnh Dj (j = 1, 2, 3), ta được: Với j = : θ1 = đạt đỉnh A31 = (1, 2)T Với j = : θ2 = đạt đỉnh A32 = (2, 1)T Với j = : θ3 = đạt đỉnh A13 = (1, 3)T Từ θs = max{θ1 , θ2 , θ3 } = max{3, 3, 4} = θ3 = > Vì sở B1 chưa tối ưu, ta chuyển sang vòng lặp Thực tiếp vòng lặp 2, 3, (chi tiết nêu luận văn), ta nhận nghiệm tối ưu toán (P) x∗ = (1, 0, 2)T vectơ cột hệ số tương ứng là: A∗1 = A41 = −1 2 A∗2 = A12 = −1 −1 (A2 = −2 A2 = ) A∗3 = A13 = với giá trị tối ưu fmin = −1 24 KẾT LUẬN Luận văn đề cập tới thuật toán đơn hình cải biên giải qui hoạch tuyến tính áp dụng thuật toán đơn hình cải biên, kết hợp với kỹ thuật sinh cột nguyên lý phân rã, vào giải toán qui hoạch tuyến tính với ràng buộc suy rộng Luận văn trình bày nội dung sau: • Kiến thức sở tập lồi, tập lồi đa diện, toán qui hoạch tuyến tính tắc, toán đối ngẫu nó, định lý đối ngẫu phương pháp đơn hình gốc giải qui hoạch tuyến tính tắc • Phương pháp đơn hình cải biên giải qui hoạch tuyến tính tắc: ý nghĩa cải biên, cách tính truy hồi ma trận nghịch đảo, thuật toán đơn hình cải biên ví dụ số minh họa thuật toán • Áp dụng phương pháp đơn hình cải biên vào giải toán qui hoạch tuyến tính với ràng buộc suy rộng Cơ sở lý thuyết phương pháp giải, bước thực thuật toán ví dụ số minh họa thuật toán giải Luận văn đề cập tới phương pháp đơn hình thuật toán đơn hình cải biên, chủ đề lý thuyết qui hoạch tuyến tính Hy vọng tương lai, tác giả luận văn có dịp tìm hiểu thêm phương pháp thuật toán khác qui hoạch tuyến tính ứng dụng chúng 25 Tài liệu tham khảo [1] Nguyễn Thị Bạch Kim (2014), Giáo trình phương pháp tối ưu: Lý thuyết thuật toán NXB Bách Khoa Hà Nội [2] Trần Vũ Thiệu (2013), "Bài toán qui hoạch tuyến tính với ràng buộc suy rộng" Kỷ yếu công trình khoa học, Trường Đại học Thăng Long, Hà Nội, 85-91 [3] Bazara M S., et al (2006), Nonlinear Programming: Theory and Algorithms 3rd Edition A John Willey Sons, Inc., Publication [4] Dantzig G B (1963), Linear Programming and Extensions Princeton University Press, Princeton, New Jersey [5] Dantzig G B and Thapa M N (2003), Linear Programming: Theory and Extensions Springer [6] Tụy H (1998), Convex Analysis and Global Optimization Springer ... toán đơn hình cải biên giải qui hoạch tuyến tính áp dụng thuật toán đơn hình cải biên, kết hợp với kỹ thuật sinh cột nguyên lý phân rã, vào giải toán qui hoạch tuyến tính với ràng buộc suy rộng. .. TUYẾN TÍNH VỚI RÀNG BUỘC SUY RỘNG Chương đề cập tới toán qui hoạch tuyến tính với ràng buộc suy rộng, chứng minh tương đương với toán qui hoạch tuyến tính trình bày thuật toán giải toán dựa áp dụng. .. toán đơn hình đơn hình cải biên giải qui hoạch tuyến tính trình bày cách áp dụng thuật toán đơn hình cải biên, kết hợp với kỹ thuật sinh cột nguyên lý phân rã, vào giải toán qui hoạch tuyến tính

Ngày đăng: 24/03/2017, 14:40

Từ khóa liên quan

Mục lục

  • Mở đầu

  • KIẾN THỨC VỀ QUI HOẠCH TUYẾN TÍNH

    • TẬP LỒI VÀ TẬP LỒI ĐA DIỆN

    • BÀI TOÁN QUI HOẠCH TUYẾN TÍNH CHÍNH TẮC

    • BÀI TOÁN ĐỐI NGẪU

    • PHƯƠNG PHÁP ĐƠN HÌNH

    • PHƯƠNG PHÁP ĐƠN HÌNH CẢI BIÊN

      • Ý NGHĨA CỦA SỰ CẢI BIÊN

      • CÔNG THỨC TRUY HỒI TÍNH MA TRẬN NGHỊCH ĐẢO B-1

      • THUẬT TOÁN ĐƠN HÌNH CẢI BIÊN

      • VÍ DỤ MINH HỌA

      • QUI HOẠCH TUYẾN TÍNH VỚI RÀNG BUỘC SUY RỘNG

        • NỘI DUNG BÀI TOÁN

        • BÀI TOÁN QUI HOẠCH TUYẾN TÍNH TƯƠNG ĐƯƠNG

        • THUẬT TOÁN GIẢI

          • Mô tả thuật toán

          • Xây dựng nghiệm cơ sở ban đầu

          • VÍ DỤ MINH HỌA

          • Tài liệu tham khảo

Tài liệu cùng người dùng

Tài liệu liên quan