1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phương pháp hungari giải bài toán giao việc tuyến tính và mở rộng

34 7 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 34
Dung lượng 858,29 KB

Nội dung

ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC KHOA HỌC VŨ THỊ CÚC PHƢƠNG PHÁP HUNGARI GIẢI BÀI TOÁN GIAO VIỆC TUYẾN TÍNH VÀ MỞ RỘNG LUẬN VĂN THẠC SĨ TỐN HỌC Thái Ngun - 2015 Số hóa Trung tâm Học liệu – 1ĐHTN http://www.ltc.tnu.edu.vn MỤC LỤC Trang LỜI NÓI ĐẦU Chƣơng PHƢƠNG PHÁP HUNGARI VÀ BÀI TỐN GIAO VIỆC 1.1 Bài tốn giao việc 1.2 Phƣơng pháp Hungari 1.3 Ví dụ áp dụng 12 1.4 Bài tốn tìm cực đại 15 Chƣơng PHƢƠNG PHÁP THU HẸP CHÍNH TẮC 18 2.1 Bài tốn vận tải tuyến tính 18 2.2 Phƣơng pháp thu hẹp tắc 21 2.4 Ví dụ minh họa 27 KẾT LUẬN 31 TÀI LIỆU THAM KHẢO 32 Số hóa Trung tâm Học liệu – 2ĐHTN http://www.ltc.tnu.edu.vn LỜI NÓI ĐẦU Bài toán giao việc (Assignment Problem) trƣờng hợp riêng quan trọng toán qui hoạch tuyến tính có quan hệ gần gũi với tốn vận tải (Transportation Problem) toán ngƣời du lịch (Traveling Salesman Problem) tối ƣu tổ hợp lý thuyết đồ thị Bài tốn giao việc có nhiều ứng dụng thiết thực, đa dạng thực tiễn chủ đề hấp dẫn tối ƣu hóa Hiện có nhiều nghiên cứu đề cập tới tốn giao việc nhằm tổng quát mở rộng phạm vi ứng dụng toán Phương pháp Hungari (Hungarian Method) độc đáo hiệu qủa để giải toán giao việc Tên gọi phƣơng pháp để tƣởng nhớ hai nhà tốn học Hungari: Kưnig Egeváry, có cơng đầu tạo sở lý luận cho phƣơng pháp Harold W Kuhn ngƣời phát triển công bố phƣơng pháp năm 1955 (xem [6]) Phƣơng pháp Hungari trở nên quen thuộc, đƣợc dùng rộng rãi mở rộng cho nhiều tốn khác qui hoạch tuyến tính, có tốn vận tải mà thuật tốn "thu hẹp tắc" dạng mở rộng nhƣ Luận văn "Phương pháp Hungari giải tốn giao việc tuyến tính mở rộng" nhằm mục đích tìm hiểu tốn giao việc với hàm mục tiêu tuyến tính ứng dụng toán; Phƣơng pháp Hungari giải tốn giao việc tuyến tính phƣơng pháp "thu hẹp tắc" giải tốn vận tải (ở dạng ma trận) qui hoạch tuyến tính Luận văn đƣợc trình bày hai chƣơng Chƣơng "Phƣơng pháp Hungari tốn giao việc" trình bày nội dung tốn giao việc với hàm mục tiêu tuyến tính số ứng dụng toán, đồng thời đề cập tới số tốn có liên quan: Bài tốn vận tải tốn ngƣời du lich Tiếp đó, luận văn trình bày phƣơng pháp Hungari quen thuộc giải tốn ví dụ minh họa Số hóa Trung tâm Học liệu – 3ĐHTN http://www.ltc.tnu.edu.vn Chƣơng "Phƣơng pháp thu hẹp tắc" đề cập tới tốn vận tải với hàm mục tiêu tuyến tính, dạng mở rộng tốn giao việc tuyến tính (khi vế phải nguyên, khác 1) trình bày phƣơng pháp "thu hẹp tắc" Giả sử Hồng Tụy đƣa [3] (có chung ý tƣởng với phƣơng pháp Hungari) để giải toán.Luận văn nêu ví dụ minh họa cho thuật tốn giải trình bày Phân tích quan hệ phƣơng pháp thu hẹp tắc với phƣơng pháp Hungari số phƣơng pháp giải khác có ý tƣởng Do thời gian kiến thức hạn chế nên chắn luận văn cịn có thiếu sót định, kính mong q thầy, bạn đóng góp ý kiến để tác giả tiếp tục hoàn thiện luận văn sau Nhân dịp này, tác giả luận văn xin bày tỏ lòng biết ơn sâu sắc tới GS - TS Trần Vũ Thiệu, ngƣời tận tình giúp đỡ suốt trình làm luận văn Tác giả chân thành cảm ơn thầy giáo, cô giáo Trƣờng Đại học Khoa học Đại học Thái Nguyên, Viện Toán hoc - Viện Hàn lâm Khoa học Công nghệ Việt Nam giảng dạy tạo điều kiện thuận lợi trình tác giả học tập nghiên cứu Thái Nguyên, tháng 04 năm 2015 Tác giả Vũ Thị Cúc Số hóa Trung tâm Học liệu – 4ĐHTN http://www.ltc.tnu.edu.vn Chƣơng PHƢƠNG PHÁP HUNGARI VÀ BÀI TOÁN GIAO VIỆC Chƣơng đề cập tới toán giao việc, dạng đặc biệt toán vận tải có nhiều ứng dụng rộng rãi Sau nêu nội dung ý nghĩa toán, luận văn trình bày phƣơng pháp Hungari quen thuộc giải tốn ví dụ minh họa Nội dung chƣơng đƣợc tham khảo từ tài liệu [1], [4] [7] 1.1 BÀI TỐN GIAO VIỆC TUYẾN TÍNH Bài tốn có nội dung nhƣ sau: Có n ngƣời (i = 1, 2, , n) n công việc (j = 1, 2, , n) Để giao cho ngƣời i thực công việc j cần chi phí cij ≥ Vấn đề cần giao cho ngƣời làm việc (mỗi ngƣời làm việc, việc ngƣời làm) cho chi phí tổng cộng nhỏ nhất? Mơ hình tốn học cho toán nhƣ sau: n z= n  cij x ij → (1.1) i 1 j1 với điều kiện n  x ij = 1, i = 1, , n (mỗi ngƣời làm việc), (1.2) = 1, j = 1, , n (mỗi việc ngƣời làm), (1.3) xij = hay 1, i = 1, , n, j = 1, , n (biến nhị nguyên) (1.4) j1 n  x ij i 1 Vì có điều kiện (1.2), (1.3) nên điều kiện (1.4) thay xij nguyên ≥ 0, i = 1, 2, , n, j = 1, 2, , n Bài toán (1.1) - (1.4) gọi toán giao việc với ma trận chi phí C = [cij] Số hóa Trung tâm Học liệu – 5ĐHTN http://www.ltc.tnu.edu.vn Định nghĩa 1.1 Các số {xij} thỏa mãn (1.2) - (1.4) gọi phương án giao việc, hay ngắn gọn phương án, phƣơng án đạt cực tiểu (1.1) gọi phương án tối ưu hay lời giải toán Giả sử danh sách người việc đƣợc viết theo thứ tự định Khi có cách giao việc đơn giản giao cho ngƣời i thực cơng việc vị trí thứ i danh sách Nếu danh sách công việc đƣợc xếp lại ta giao cho ngƣời i làm việc j danh sách ta có chi phí tổng cộng nhỏ Vấn đề cần xáo trộn danh sách cơng việc cho chi phí tổng cộng nhỏ Nói cách khác, cần tìm hốn vị  = (i1, i2, , in) n số 1, 2, , n cho tổng số c1i1 + c1i2 + + c1in đạt giá trị nhỏ Số hoán vị n số 1, 2, , n n!, tốn có n! phƣơng án Hàm n! tăng theo hàm giai thừa: 4! = 24, 10! = 3.628.800 100! = 9,3×10157 Tính so sánh n! phƣơng án để chọn phƣơng án tối ƣu thuật tốn khơng có hiệu thực tế, thuật tốn thời gian mũ Mỗi hoán vị n số 1, 2, , n đặt tƣơng ứng với ma trận vuông cấp n : X = [xij], với phần tử 1, xij = có nghĩa ngƣời i đƣợc giao làm việc j Chẳng hạn, hoán vị 3, 1, tƣơng ứng với ma trận 0  X = 1 0 0 0 Để ý hàng, cột ma trận X có vừa số (mọi số lại 0) Cùng với tốn z, ta xét tốn max z với điều kiện (1.2) - (1.4) Khi cij biểu thị hiệu thu đƣợc giao cho ngƣời i thực cơng việc j Bài tốn giao việc gần với hai toán quen thuộc sau Số hóa Trung tâm Học liệu – 6ĐHTN http://www.ltc.tnu.edu.vn • Bài tốn vận tải: Cần vận chuyển loại hàng (xi măng chẳng hạn) từ m nơi cung cấp hàng (gọi trạm phát) tới n nơi tiêu thụ hàng (gọi trạm thu) Cho biết lƣợng hàng có trạm phát i (i = 1, 2, , m) số pi nguyên > 0, lƣợng hàng cần tram thu j (j = 1, 2, , n) số qj nguyên > giá cƣớc vận chuyển đơn vị hàng từ trạm phát i tới trạm thu j cij ≥ Giả thiết pi, qj thỏa mãn điều kiện cân cung cầu: p1 + p2 + + pm = q1 + q2 + + qn Vấn đề đặt là: cần tìm phƣơng án vận chuyển hàng từ trạm phát tới trạm thu cho trạm phát giao hết lƣợng hàng có, trạm thu nhận đủ lƣợng hàng cần, tổng chi phí vận chuyển nhỏ nhất? Mơ hình tốn học tốn đƣợc nêu Mục 2.1, Chƣơng • Bài tốn ngƣời du lịch: Có n thành phố, đánh số từ tới n Xuất phát từ n thành phố (chẳng hạn thành phố 1), khách du lịch muốn tới thăm (n - 1) thành phố lại, thành phố vừa lần, trở thành phố xuất phát Cho biết cij chi phí từ thành phố i tới thành phố j Giả thiết cij > với i ≠ j cii = + ∞ với i (có thể cij ≠ cji) Hãy tìm cho khách du lịch hành trình có tổng chi phí nhỏ nhất? Có số cách diễn đạt tốn học cho tốn này, có mơ hình tƣơng tự (1.1) (1.4) (xem chẳng hạn, [1] tr 250) Trong mơ hình (1.1) - (1.4) trên, ta giả thiết số ngƣời số việc Tuy nhiên, xét trƣờng hợp số ngƣời khác số việc Ví dụ, số ngƣời nhiều số việc, ta thêm vào việc giả với chi phí hay hiệu Một số vấn đề không liên quan tới ngƣời việc giải nhờ mơ hình tốn giao việc Chẳng hạn, cần lắp đặt máy vào vị trí khác cho tốn chi phí, hay cần phân công nhà máy sản xuất sản phẩm cho đạt hiệu cao Ta xét vài ví dụ Ví dụ 1.1 Một sở dịch vụ vừa mua loại máy Có vị trí thích hợp cho việc lắp đặt loại máy này, vị trí đặt đƣợc máy Do đặc điểm vị trí tính máy, phí lắp đặt khai thác máy vị trí khác khác Chi phí đƣợc cho Bảng Số hóa Trung tâm Học liệu – 7ĐHTN http://www.ltc.tnu.edu.vn 1.1 Vị trí không phù hợp để đặt máy nên ô tƣơng ứng không ghi chi phí Cần đặt máy vào vị trí cho chi phí tổng cộng nhỏ nhất? Để diễn đạt toán dƣới dạng toán giao việc, ta thêm vào máy giả (máy 4) cho vị trí thừa Đồng thời, gán cho ô ứng với máy vị trí chi phí số M lớn, để ngăn khơng cho đặt máy vị trí Kết ta nhận đƣợc Bảng 1.2 Bảng 1.1 Dữ liệu Ví dụ 1.1 Máy Vị trí 17 20 16 15 16 - 14 21 10 12 15 11 Bảng 1.2 Phƣơng án tối ƣu Máy Vị trí 17 16 10 20 M 12 16 14 15 15 21 11 Áp dụng thuật toán giải nêu mục sau, ta nhận đƣợc lời giải: máy đặt vị trí 4, máy đặt vị trí 3, máy đặt vị trí 1, với tổng chi phí 39 Máy giả đƣợc đặt vị trí 2, vị trí dùng để đặt máy thực tƣơng lai Ví dụ 1.2 Một hãng sản xuất định chế tạo loại sản phẩm cách tận dụng lực dƣ thừa nhà máy thuộc hãng Hiệu sản xuất nhà máy đƣợc cho Bảng 1.3 Hãy tìm cách phân cơng cho nhà máy sản xuất sản phẩm (mỗi nhà máy sản xuất loại sản phẩm, loại sản phẩm nhà máy sản xuất) để thu đƣợc hiệu tổng cộng lớn nhất? Lời giải: Nhà máy sản xuất sản phẩm I, nhà máy sản xuất sản phẩm III, nhà máy sản xuất sản phẩm IV, nhà máy sản xuất sản phẩm II Hiệu tổng cộng 30 (xem Bảng 1.3) Số hóa Trung tâm Học liệu – 8ĐHTN http://www.ltc.tnu.edu.vn Bảng 1.3 Dữ liệu Ví dụ 1.2 Nhà máy I Sản phẩm II III 10 IV Bảng 1.4 Dữ liệu Ví dụ 1.3 Tầu A B C D Cảng 7 Ví dụ 1.3 Ở cảng có tầu A, B, C, D dùng để chở hàng tới cảng 1, 2, 3, Do khác loại tầu loại hàng nên tổng chi phí xếp, dỡ vận chuyển hàng tầu khác tới cảng khác có khác biệt đáng kể Các chi phí đƣợc cho Bảng 1.4 Vấn đề điều tầu tới cảng (mỗi tầu tới cảng, cảng có tầu tới) cho chi phí tổng cộng chuyến hàng nhỏ nhất? Một số lời giải là: A → 1, B → 4, C → 2, D → 3, với tổng chi phí 19 (xem Bảng 1.4) 1.2 PHƢƠNG PHÁP HUNGARI Bài tốn (1.1) - (1.4) trƣờng hợp riêng mơ hình tốn vận tải, số địa điểm sản xuất số địa điểm tiêu thụ, đồng thời khả cung cấp pi yêu cầu tiêu thụ qj Vì ngun tắc dùng phƣơng pháp giải tốn vận tải (chẳng hạn, thuật toán vị) để giải toán giao việc Tuy nhiên, cấu trúc đặc biệt tốn giao việc nên có thuật tốn giải riêng, hiệu Dƣới trình bày phƣơng pháp đó, với tên gọi phương pháp Hungari Giả sử ta xét toán z Trƣớc hết ta nêu số định lý làm sở lý luận cho phƣơng pháp Hungari Định lý 1.1 Giả sử ma trận chi phí tốn (1.1) - (1.4) khơng âm có n phần tử Hơn n phần tử nằm n hàng khác n cột khác phương án giao cho người i thực cơng Số hóa Trung tâm Học liệu – 9ĐHTN http://www.ltc.tnu.edu.vn việc tương ứng với số hàng i phương án tối ưu (lời giải) toán (1.1) - (1.4) Chứng minh Theo giả thiết định lý, phƣơng án giao việc có chi phí khơng âm Trong đó, phƣơng án giao việc nêu định lý có chi phí ∎ 0, nên chắn phƣơng án tối ƣu Định lý sau cho thấy ta biến đổi ma trận chi phí tốn mà khơng làm ảnh hƣởng tới lời giải Vì phƣơng pháp giải nêu dƣới thực ý tƣởng biến đổi ma trận chi phí đạt tới ma trận có phần tử hàng cột Định lý 1.2 Cho C = [cij] ma trận chi phí tốn giao việc (n người, n việc) X* = [ x ij ] lời giải (phương án tối ưu) toán Giả sử C' ma trận nhận từ C cách thêm số  ≠ (dương hay âm) vào phần tử hàng r C Khi X* lời giải toán giao việc với ma trận chi phí C' Chứng minh Hàm mục tiêu toán giao việc n z' = n  cij x ij = i 1 j1 n = n  cij x ij i 1 j1 n n  cij x ij + i 1 j1 ir n + ×  x rj = j1  c rj   x rj n n j1 n  cij x ij +  i 1 j1 Đẳng thức cuối có đƣợc tổng xij hàng, cột Vì thế, giá trị nhỏ z' đạt đƣợc n z= n  cij x ij i 1 j1 nhỏ Cụ thể là, z' đạt cực tiểu X = X* ∎ Định lý 1.2 ta thêm số vào phần tử cột ma trận chi phí Vậy, chiến thuật ta biến đổi C cách thêm số vào hàng cột ma trận chi phí Số hóa Trung tâm Học liệu –10 ĐHTN http://www.ltc.tnu.edu.vn đồ thị (hay dạng mạng) đƣa dạng bảng (dạng ma trận) cách dễ dàng Ngƣợc lại, sau ta thấy toán vận tải dƣới dạng bảng xem nhƣ trƣờng hợp riêng dạng đồ thị đó, giải tốn phƣơng pháp có tốn vận tải đồ thị Thật vậy, xét đồ thị G = (A, E) với A = {a1, a2, ,am, b1, b2, , bn}, E = {(ai, bj) : i = 1, 2, , m, j = 1, 2, , n} (xem Hình 2.1) Nếu ta lấy hệ yêu cầu o b1 a1o o b2 a2o o b3 a3o o b4 Hình 2.1 Đồ thị G = (A, E) {- pi (i = 1, 2, , m), qj (j = 1, 2, , n)} giá cƣớc cij cung (ai, bj) rõ ràng việc tìm xij theo điều kiện (2.2), (2.3), (2.4) chẳng qua giải toán đồ thị G, với kiện cho Định nghĩa 2.1 Một ma trận không âm X = ||xij|| thỏa mãn (2.2), (2.3) gọi phương án toán, phƣơng án thỏa mãn (2.4) gọi phương án tối ưu (lời giải) toán Để tiện việc tính tốn, ngƣời ta thƣờng biểu diễn đồ thị G bảng T (gọi bảng vận tải), gồm m hàng n cột: hàng thứ i đại diện cho đỉnh (trạm phát), cột thứ j đại diện cho đỉnh bj (trạm thu) ô (i, j) tƣơng giao hàng i cột j đại diện cho cạnh (ai, bj) (xem Bảng 2.1) Trong bảng ngƣời ta ghi kiện toán: Yêu cầu pi (lƣợng cung) trƣớc hàng i, yêu cầu qj (lƣợng cầu) đầu cột j, giá cƣớc cij góc bên trái (i, j) Trong q trình tính tốn, số xij ghi góc dƣới bên phải (i, j) Nhƣ vậy, muốn áp dụng vào phƣơng pháp đồ thị cần diễn giải theo ngôn ngữ bảng T khái niệm thông thƣờng đồ thị nhƣ: dây Số hóa Trung tâm Học liệu –20 ĐHTN http://www.ltc.tnu.edu.vn chuyền, chu trình v.v, Điều đƣợc thực cách thay "đỉnh" "hàng" hay "cột" , "cạnh" "ơ" Ta có Định nghĩa 2.2 a) Dây chuyền dãy ô cho ô dãy hàng với ô trƣớc (nếu có) cột với sau (nếu có), cột với trƣớc (nếu có) hàng với sau (nếu có) b) Nếu dây chuyền hàng i (cột j) cột (cùng hàng) với sau ngƣời ta nói xuất phát từ hàng i (cột j) c) Nếu ô cuối hàng i (cột j) cột (cùng hàng) với trƣớc ngƣời ta nói dây chuyền tận hàng i (cột j) d) Chu trình dây chuyền xuất phát tận hàng hay cột Chẳng hạn, dãy ô {(1, 1), (1, 4), (2, 4), (2, 3)} dây chuyền từ cột tới cột Dãy ô {(1, 1), (1, 4), (2, 4), (2, 3), (3, 3), (3, 1)} chu trình (xem Hình 2.1 Bảng 2.1) Bảng 2.1 Bảng vận tải T qj pi p1 p2 p3 q1 c11 • x11 c21 q2 c12 c13 x12 c22 x21 c31 • x31 q3 x32 c14 • x14 • x24 x13 c23 • x23 c24 c33 • x33 c34 x22 c32 q4 x34 Cách nhìn bảng T nhƣ đồ thị có lợi, giúp ta thấy rõ nhiều tính chất bảng bề ngồi phức tạp Chẳng hạn, tính chất: (m + n - 1) ô không tạo nên chu trình khác tạo nên với chu trình - chẳng qua tính chất đơn giản bao trùm đồ thị có (m + n) đỉnh Mục sau trình bày phƣơng pháp thu hẹp tắc giải tốn vận tải cho dạng bảng Số hóa Trung tâm Học liệu –21 ĐHTN http://www.ltc.tnu.edu.vn 2.2 PHƢƠNG PHÁP THU HẸP CHÍNH TẮC Đại ý phƣơng pháp xuất phát từ tập hợp "thu hẹp tắc" D1 từ tồn tập hợp bảng T, tìm phƣơng án phân phối tối đa theo D1 (chỉ sử dụng ô thuộc D1 để phân phối hàng), nêu cịn hàng cột chƣa thỏa mãn mở rộng dần D1 cách có lợi nhất, khả phân phối D1 tổng số hàng cần vận chuyển phƣơng án phân phối tối đa theo D1 lúc phƣơng án tối ƣu (lời giải) toán Trƣớc hết ta nêu số định nghĩa Định nghĩa 2.3 Một tập hợp ô D bảng T gọi tập hợp ô tắc tìm cho hàng số u i (i = 1, 2, , m) cột số vj (j = 1, 2, , n) cho vj - ui ≤ cij với ô (i, j), (2.5) vj - ui = cij với ô (i, j) ∈ D (2.6) Các số ui, vj gọi vị hàng cột Sau số ví dụ tập hợp tắc Ví dụ 2.1 a) D1 = ∅, vị ui = vj = với i j b) D2 = {(r, s)} với (r, s) có crs = cij =  i, j Các vị ui = (i = 1, 2, , m), vj =  (j = 1, 2, , n (xen Bảng 2.2) c) D3 = {(i, j) : cij = i}, i số cij nhỏ hàng i, tức D3 tập hợp có giá cƣớc nhỏ hàng Thế vị ui =  - i, i = 1, 2, , m, vj = , j = 1, 2, , n,  = max (i, 2, , m) (xem Bảng 2.3) Số hóa Trung tâm Học liệu –22 ĐHTN http://www.ltc.tnu.edu.vn d) D4 = {(i, j) : cij = j}, j số cij nhỏ cột j, tức D4 tập hợp có giá cƣớc nhỏ cột Thế vị ui = 0, i = 1, 2, , m, vj = j, j = 1, 2, , n (xem Bảng 2.4) Bảng 2.2 Tập tắc D2 qj pi 10 12 vj 15 13 14 12 10 14 14 11 12 15 13 7 Bảng 2.3 Tập tắc D3 ui qj pi 10 12 15 13 14 12 10 14 14 11 12 15 13 vj 11 11 11 ui 11 Bảng 2.4 Tập tắc D4 qj pi 10 12 15 13 14 12 10 14 14 11 12 15 13 vj 11 ui 0 10 Có thể dễ dàng kiểm tra lại bốn trƣờng hợp Ví dụ 2.1, D1, D2, D3 D4 tập hợp tắc (các vị u i, vj thỏa mãn (2.5), (2.6)) Ví dụ 2.1c) 2.1d) hay đƣợc dùng Định nghĩa 2.4 Cho D tập hợp ô tắc Một phương án phân phối theo tập hợp ô D ma trận X = ||xij||m×n với xij số nguyên ≥ nghiệm đúng: xij = (i, j) ∉ D, n  x ij j1 m  x ij (2.7) ≤ pi, i = 1, 2, , m, (2.8) ≤ qj, j = 1, 2, , n, (2.9) i 1 Số hóa Trung tâm Học liệu –23 ĐHTN http://www.ltc.tnu.edu.vn Số (X) = i1 j1 x ij m n gọi khả phân phối phƣơng án X Ta cần số khái niệm sau Định nghĩa 2.5 Một hàng i (cột j) gọi thoả mãn hay chưa thỏa mãn tùy theo có dấu = hay < (2.8) (hay (2.9)) Các ô thuộc D gọi ô chọn Các ô họn (i, j) với xij > gọi ô phân phối Định nghĩa 2.6 Một phƣơng án phân phối X theo tập hợp ô chọn D tối đa phƣơng án theo tập hợp đó, có khả phân phối lớn Khả lớn gọi khả phân phối D Nhận xét 2.1 (Thủ tục tìm phƣơng án phân phối tối đa) Nếu tập hợp tắc khơng có chu trình (điều làm đƣợc nhƣ Ví dụ 2.1), tập hợp tắc sau khơng chứa chu trình Khi xác định phƣơng án phân phối tối đa (theo tập hợp tắc D) theo cách nhƣ sau Lấy tùy ý ô treo (tức ô mà hàng hay cột khơng có khác D) (i1, j1) đặt x i1j1 = { p i1 , q j1 }, p i(11) = p i1 - x i1j1 , p i(1) = pi với i ≠ i1, q (j11) = q j1 - x i1j1 , q (j1) = qj với j ≠ j1 Sau tập chọn cịn lại, lấy tùy ý ô treo (i2, j2) đặt x i2 j2 = { p i(12 ) , q (j12) }, p i(22 ) = p i(12 ) - x i2 j2 , p i( 2) = p i(1) với i ≠ i2, q (j22 ) = q (j12) - x i2 j2 , q (j2 ) = q (j1) với j ≠ j2, v.v Tiếp tục nhƣ sử dụng hết ô chọn đặt x ij = cho (i, j) ∉ D Định nghĩa 2.7 Cho X = ||xij|| phƣơng án phân phối tối đa theo tập hợp ô chọn D Một dây chuyền gọi chưa bão hịa lẻ (ơ thứ 1, thứ 3, v.v ) đƣợc phân phối Số hóa Trung tâm Học liệu –24 ĐHTN http://www.ltc.tnu.edu.vn Với số khái niệm vừa định nghĩa trên, ta phân chia hàng (trạm phát) cột (trạm thu) bảng T thành ba loại "thừa", 'thiếu" "đủ" theo nghĩa sau Định nghĩa 2.8 Một hàng hay cột gọi thừa hàng chƣa thỏa mãn, có dây chuyền chƣa bão hịa từ tới hàng chƣa thỏa mãn Một hàng hay cột gọi thiếu cột chƣa thỏa mãn, có dây chuyền chƣa bão hịa từ tới cột chƣa thỏa mãn Các hàng cột không thừa, không thiếu gọi đủ Nhận xét 2.2 (Thủ tục xác định hàng cột thừa, thiếu, đủ) a) Muốn xác định hàng cột thừa (theo tập hợp tắc D) ta tiến hành nhƣ sau: bắt đầu đánh dấu "+" tất hàng chƣa thỏa mãn (Định nghĩa 2.5); sau đánh dấu hàng đánh dấu tất cột chƣa đánh dấu cắt hàng đánh dấu ô chọn; sau đánh dấu cột đánh dấu tất hàng chƣa đánh dấu cắt cột đánh dấu ô đƣợc phân phối; nhƣ tiếp tục không đánh dấu thêm đƣợc b) Cũng cách tƣơng tự, để xác định hàng cột thiếu (theo tập hợp tắc D), trƣớc tiên đánh dấu "-" tất cột chƣa thỏa mãn; sau đánh dấu cột đánh dấu tất hàng chƣa đánh dấu cắt cột đánh dấu ô chọn; sau đánh dấu hàng đánh dấu tất cột chƣa đánh dấu cắt hàng đánh dấu ô đƣợc phân phối; nhƣ tiếp tục không đánh dấu thêm đƣợc c) Sau đó, hàng cột cịn lại đủ (không đánh dấu "+" "-") Sau khái niệm "ô bắc cầu" Định nghĩa 2.9 Một ô bắc cầu ô không thuộc D, tƣơng giao hàng thừa hay đủ với cột thiếu Với ô bắc cầu e = (i, j) ta đặt (e) = ij ≡ cij - (vj - ui) ≥ (theo (2.5)) Ơ bắc cầu có (e) nhỏ gọi ô bắc cầu lợi Số hóa Trung tâm Học liệu –25 ĐHTN http://www.ltc.tnu.edu.vn Cho tập hợp tắc D1, giả sử X phƣơng án phân phối tối đa theo D1 (xij = với (i, j) ∉ D1) Rõ ràng số ui vj định nghĩa tập ô tắc (Định nghĩa 2.3) hệ vị cho X Cho nên phƣơng án X hàng cột đƣợc thỏa mãn X phƣơng án tối ƣu (lời giải) tốn Nói chung, với phƣơng án tối đa X theo D 1, thƣờng chƣa phải hàng cột đƣợc thỏa mãn, tức khả phân phối D1 cịn nhỏ Muốn tăng khả ấy, ta dựa vào bổ đề định lý sau để mở rộng D1, cách thêm vào D1 ô thích hợp (r, s) ∉ D1 Từ định nghĩa hàng (cột) thừa, thiếu, đủ trực tiếp suy Bổ đề 2.1 a) Nếu hàng i cột j khác loại xij = b) Mọi hàng thiếu hay đủ, cột thừa hay đủ, thỏa mãn Ta nhớ theo Định nghĩa 2.9, ô bắc cầu ô không thuộc D, tƣơng giao hàng thừa hay đủ với cột thiếu Ta có Định lý 2.1 Giả sử ta thêm vào D1 ô bắc cầu (i, j) tùy ý a) Nếu hàng i thừa, cột j thiếu khả phân phối D1 ∪ {(i, j)} tăng lên b) Nếu hàng i đủ, cột j thiếu khả phân phối D1 ∪ {(i, j)} không thay đổi, với tập ô chọn hàng i trở thành thiếu, hàng (cột) thiếu thiếu, hàng (cột) thừa thừa Chứng minh a) Nếu hàng i thừa, cột j thiếu theo định nghĩa có dây chuyền chƣa bão hịa (gồm thuộc D1) từ hàng i tới hàng chƣa thỏa mãn, dây chuyền chƣa bão hịa (gồm thuộc D 1) từ cột j tới cột chƣa thỏa mãn Khi thêm (i, j) vào D1 ô tạo nên với hai dây chuyền dây chuyền chƣa bão hòa từ hàng chƣa thỏa mãn tới cột chƣa thỏa mãn Nhƣ khả phân phối D1 ∪ {(i, j)} tăng lên b) Nếu hàng i đủ khơng có dây chuyền chƣa bão hòa từ hàng i tới hàng chƣa thỏa mãn, dù ta có thêm (i, j) vào D1 tạo dây chuyền chƣa bão hòa từ hàng chƣa thỏa mãn tới cột chƣa thỏa mãn Do phƣơng án phân phối tối đa D tối đa D1 ∪ Số hóa Trung tâm Học liệu –26 ĐHTN http://www.ltc.tnu.edu.vn {(i, j)} hàng (cột) thiếu thiếu, hàng (cột) thừa thừa Mặt khác, cột j thiếu nên có dây chuyền chƣa bão hòa từ cột j tới cột chƣa thỏa mãn thêm vào D1 ô (i, j) dây chuyền tạo nên với ô (i, j) dây chuyền chƣa bão hòa từ hàng i tới cột chƣa thỏa mãn, hàng i trở thành thiếu ∎ Bổ đề 2.2 Tập D2 thu từ D1 cách thêm ô bắc cầu lợi (ký hiệu e0 = (r, s)) vào D1 loại khỏi D1 tất ô chọn cũ tương giao hàng với cột khác loại, tập hợp tắc T Chứng minh Ta đặt u i = ui + (e0) cho hàng i thiếu v j = vj + (e0) cho cột j thiếu, u i = ui ( v j = vj) cho hàng (cột) khác chứng minh u i , v j hệ vị cho D2 Cho (i, j) ô Nếu hàng i (cột j) không hàng (cột) thiếu, hai hàng (cột) thiếu, dĩ nhiên v j - u i = vj - ui = cij, điều kiện (2.5), (2.6) vị ô (i, j) đƣợc thỏa mãn nhƣ trƣớc Nếu hàng i thiếu v j - u i = vj - (ui + (e0)) ≤ vj - ui ≤ cij Còn cột j thiếu cij - (vj - ui) ≥ (e0) v j - u i = (vj + (e0) - ui ≤ cij, ta có đẳng thức i = r, j = s Vậy hai trƣờng hợp điều kiện vi (2.5), (2.6) đƣợc thỏa mãn Tóm lại, D2 tập hợp tắc ∎ Dựa vào kết qủa trên, ta mơ tả thuật tốn thu hẹp tắc giải tốn vận tải (2.1) - (2.4) Thuật toán gồm bƣớc sau Bƣớc (Khởi sự) Xuất phát từ tập tắc D1 khơng có chu trình, chẳng hạn tập hợp xây dựng nhƣ Ví dụ 2.1 đây, với vị u i(1) (i = 1, 2, , m), v (j1) (j = 1, 2, , n) thỏa mãn (2.5), (2.6) phƣơng án phân phối tối đa X1 = || x ij(1) ||m×n theo D1, cách áp dụng thủ tục nêu Nhận xét 2.1 Đặt k = chuyển sang thực vịng lặp thứ k Số hóa Trung tâm Học liệu –27 ĐHTN http://www.ltc.tnu.edu.vn Vòng lặp thứ k: Bƣớc Ở đầu vòng lặp thứ k ta có tập chọn Dk với vị u i( k ) (i = 1, 2, , m), v (jk ) (j = 1, 2, , n) phƣơng án phân phối tối đa Xk = || x ij( k ) ||m×n theo Dk a) Nếu hàng cột đƣợc thỏa mãn (Định nghĩa 2.5) dừng thuật tốn: Xk phƣơng án tối ƣu (lời giải) b) Nếu khơng Xk chƣa tối ƣu, chuyển sang thực Bƣớc Bƣớc a) Xác định hàng cột thừa, thiếu, đủ (theo thủ tục nêu Nhận xét 2.2) ô bắc cầu lợi e(k) (theo Định nghĩa 2.9) b) Thêm e(k) vào tập ô chọn Dk, đồng thời loại khỏi Dk tất ô chọn cũ tƣơng giao hàng với cột khác loại, ta nhận đƣợc Dk+1 c) Cộng (e(k)) ≥ vào vị hàng hay cột thiếu d) Xác định phƣơng án phân phối tối đa Xk+1 theo tập hợp ô chọn Dk+1 (nếu e(k) hàng đủ Xk tối đa theo Dk+1 nên giữ nguyên Xk làm Xk+1) Bƣớc Đặt k ← k + quay lại thực Bƣớc vịng lặp k Định lý 2.2 Thuật tốn đưa tới phương án tối ưu sau không  + (m + n) vòng lặp ( = i1 p i ) m Chứng minh Cho k số hàng cột thiếu vòng lặp thứ k, k khả phân phối tập tắc Dk (tức khả phân phối phƣơng án tối đa Dk) Theo Định lý 2.1, tổng k + k tăng theo k, mặt khác k + k ≤  + (m + n), số vòng lặp cần thiết vƣợt  + (m + n) ∎ 2.3 VÍ DỤ MINH HỌA Để minh họa thuật tốn nêu ta xét ví dụ sau Ví dụ 2.2 Giải bảng tốn vận tải có m = trạm phát, n = trạm thu với véctơ cung a, véctơ cầu b ma trận cƣớc phí C nhƣ sau: a = (10 12), b = (5 15), Số hóa Trung tâm Học liệu –28 ĐHTN http://www.ltc.tnu.edu.vn 13 14 12 10    C = 14 14   11 12 15 13    Bảng 2.5 ghi lại kiện toán cho ví dụ này, bảng số xij > ghi góc dƣới bên phải (số ghi góc bên trái giá cƣớc) Thế vị hàng ghi cột bên phải bảng, vị cột ghi hàng phía dƣới bảng Các chọn đƣợc tơ bóng mờ, bắc cầu lợi đƣợc đánh dấu "⋆" Bảng 2.5 Dữ liệu toán phƣơng án X1 qj pi 10 12 vj 15 13 14 12 10 14 14 10 11 12 15 + 11 13 ⋆ ui 0 + 10 Bƣớc Xây dựng tập tắc D1 = {(1, 4), (2, 2), (2, 3), (3, 1)} Phƣơng án tối đa X1 = {x14 = 10, x22 = 4, x23 = , x31 = 5} với (X1) = 23 Vòng lặp k = Bƣớc b) Hàng 3, cột cột chƣa thỏa mãn: X1 chƣa tối ƣu Bƣớc a) Đánh dấu "+" hàng (thừa) cột (do cắt hàng ô chọn) Đánh dấu "-" cột 3, (thiếu), hàng 1, (do lần lƣợt cắt cột thiếu ô chọn) cột (do cắt hàng thiếu ô phân phối) Ba ô bắc cầu (3, 2), (3, 3) (3, 4) với 32 = 5, 33 = 6, 34 = Ô bắc cầu lợi ô (3, 4) (dấu "⋆") b) Thêm vào D1 ô (3, 4) ta đƣợc D2 = {(1, 4), (2, 2), (2, 3), (3, 1), (3, 4)} c) Cộng 34 = vào vị hàng (thiếu) 1, vị cột (thiếu) 2, 3, d) Xác định phƣơng án tối đa X2 theo tập ô chọn D2 (xem Bảng 2.6) Bƣớc Đặt k ← k + = 2, quay lại thực Bƣớc vòng lặp k = Số hóa Trung tâm Học liệu –29 ĐHTN http://www.ltc.tnu.edu.vn Bảng 2.6 Dữ liệu toán phƣơng án X2 qj pi 10 13 14 12 vj 10 14 12 15 10 14 11 12 ⋆ 15 11 + 10 + 13 12 ui + 3 + 13 Vòng lặp k = Bƣớc b) Hàng cột chƣa thỏa mãn: X2 chƣa tối ƣu Bƣớc a) Đánh dấu "+" hàng (thừa), cột cột (do cắt hàng thừa ô chọn) hàng (do cắt cột thừa ô phân phối) Đánh dấu "-" cột (thiếu), hàng (do cắt cột thiếu ô chọn) cột (do cắt hàng thiếu ô phân phối) Bốn ô bắc cầu (1, 2), (1, 3), (3, 2) (3, 3) với 12 = 7, 13 = 3, 32 = 2, 33 = Ô bắc cầu lợi ô (3, 2) (dấu "⋆") (xem Bảng 2.6) b) Thêm vào D2 ô (3, 2) ta nhận đƣợc D3 = {(1, 4), (2, 2), (2, 3), (3, 1), (3, 2), (3, 4)} c) Cộng 32 = vào vị hàng thiếu cột thiếu 2, d) Xác định phƣơng án tối đa X3 theo tập ô chọn D3 (xem Bảng 2.7) Bƣớc Đặt k ← k + = 3, quay lại thực Bƣớc vòng lặp k = Bảng 2.7 Dữ liệu toán phƣơng án X3 qj pi 10 12 vj 15 13 14 12 10 14 14 ui 10 11 12 11 15 13 12 14 13 Số hóa Trung tâm Học liệu –30 ĐHTN http://www.ltc.tnu.edu.vn Vịng lặp k = Bƣớc a) Mọi hàng cột đƣợc thỏa mãn: X3 phƣơng án tối ƣu (lời giải) Dừng thuật toán Phƣơng án tối ƣu: Xopt = {x11 = 10, x22 = 2, x23 = 6, x31 = 5, x32 = 2, x34 = 5}, fmin = 312 ∎ Một phƣơng pháp gần với phƣơng pháp thu hẹp tắc đƣợc nhà tốn học Ford Fulkerson đề xuất Ngồi ra, đƣờng khác, nhiều tác giả khác tới phƣơng pháp tƣơng tự: phƣơng pháp Hungari Kuhn Mankres, phƣơng pháp Lurié - Brutno, Chúng ta thấy nhờ lý thuyết đồ thị mà nhiều vấn đề đƣợc trình bày sáng tỏ lập luận đƣợc đơn giản, đẹp đẽ Tóm lại, chƣơng giới thiệu ngắn gọn đầy đủ phƣơng pháp độc đáo, hiệu đƣợc biết đến để giải tốn vận tải tuyến tính dạng bảng, phương pháp thu hẹp tắc với đầy đủ sở lý luận, bƣớc thuật tốn ví dụ minh họa cụ thể Số hóa Trung tâm Học liệu –31 ĐHTN http://www.ltc.tnu.edu.vn KẾT LUẬN Bài toán giao việc lý thuyết tối ƣu chủ đề hấp dẫn, thu hút quan tâm tìm hiểu nghiên cứu nhiều nhà tốn học ngồi nƣơc Bài toán giao việc gắn liền với phƣơng pháp Hungari tên tuổi nhà tốn học tiếng: Kưnig, Egerváry, Kuhn, lĩnh vực lý thuyết đồ thị tối ƣu tổ hợp Luận văn đề cập tới nội dung sau Bài tốn giao việc tuyến tính, số ứng dụng đa dạng tốn hai tốn tối ƣu có liên quan: Bài toán vận tải toán ngƣời du lịch Có thể xem tốn giao việc nhƣ tốn qui hoạch tuyến tính hay nhƣ tốn tối ƣu tổ hợp Đặc biệt, xem nhƣ tốn lý thuyết đồ thị Phƣơng pháp Hungari giải toán giao việc Phƣơng pháp độc đáo hiệu Cơ sở lý thuyết phƣơng pháp công trình nghiên cứu trƣớc hai nhà tốn học Hungari Kưnig, Egerváry, cịn Kuhn ngƣời có cơng hồn thiện cơng bố tạp chí vào năm 1955 Phƣơng pháp thu hẹp tắc giải tốn vận tải GS Hồng Tụy [3] độc đáo, dựa sở lý thuyết đồ thị mạng xem nhƣ mở rộng phƣơng pháp Hungari (Gần với phƣơng pháp thu hẹp tắc cịn có phƣơng pháp Ford - Fulkerson, phƣơng pháp Lurié - Brutno, ) Có thể xem luận văn nhƣ bƣớc tìm hiểu phƣơng pháp Hungari phƣơng pháp thu hẹp tắc giải tốn tối ƣu tổ hợp điển hình Tác giả luận văn hy vọng có dịp đƣợc tìm hiểu sâu thêm nhiều phƣơng pháp hay độc đáo khác tối ƣu tổ hợp Số hóa Trung tâm Học liệu –32 ĐHTN http://www.ltc.tnu.edu.vn TÀI LIỆU THAM KHẢO [1] Bùi Thế Tâm Trần Vũ Thiệu (1998), Các phương pháp tối ưu hố Nxb Giao thơng vận tải [2] Trần Vũ Thiệu (2004), Giáo trình tối ưu tuyến tính Nxb Đại học Quốc gia Hà Nội [3] Hoàng Tụy (1964), Đồ thị hữu hạn ứng dụng vận trù học Nxb Khoa học Kỹ thuật, Hà Nội [4] Hadi Basirzadeh (2012), “Ones Assignment Method for Solving Assignment Problems”, Applied Mathematical Sciences, Vol 6, no 47, 2345 2355 [5] Khuller S., Sussman Y.J and Gasarch W (1997), “Advanced Algorithms”, Lectures CMSC 858K, 1997 [6] Kuhn H W (1955), “The Hungarian Method for the Assignment Problem”, Naval Research Logistics Quarterly 2, 83–97 [7] Kuhn H W., (2010), “The Hungarian Method for the Assignment Problem”, In 50 Years of Integer Programming 1958-2008, M Jünger et al (eds.), Springer-Verlag, pp 29 - 47 Số hóa Trung tâm Học liệu –33 ĐHTN http://www.ltc.tnu.edu.vn Phụ lục MỘT SỐ THUẬT NGỮ ĐÃ SỬ DỤNG Chu trình (Định nghĩa 2.2) Cột chƣa thỏa mãn (Định nghĩa 2.5) Cột đủ (Định nghĩa 2.8) Cột đƣợc thỏa mãn (Định nghĩa 2.5) Cột thiết yếu (Xem thao tác (B) Bƣớc 2, Mục 1.2) Cột thiếu (Định nghĩa 2.8) Cột thừa (Định nghĩa 2.8) Dây chuyền (Định nghĩa 2.2) Dây chuyền chƣa bão hòa (Định nghĩa 2.7) Dây chyền tận hàng, cột (Định nghĩa 2.2) Dây chuyền xuất phát từ hàng, cột (Định nghĩa 2.2) Hàng chƣa thỏa mãn (Định nghĩa 2.5) Hàng đủ (Định nghĩa 2.8) Hàng đƣợc thỏa mãn (Định nghĩa 2.5) Hàng thiết yếu (xem Bƣớc 3, Mục 1.2) Hàng thiếu (Định nghĩa 2.8) Hàng thừa (Định nghĩa 2.8) Khả phân phối phƣơng án X (Định nghĩa 2.4) Khả phân phối tập hợp chọn (Định nghĩa 2.6) Ơ bắc cầu (Định nghĩa 2.9) Ô bắc cầu lợi (Định nghĩa 2.9) Ô chọn (Định nghĩa 2.5) Ô đƣợc phân phối (Định nghĩa 2.5) Ô treo (xem Nhận xét 2.1) Phƣơng án (Định nghĩa 2.1) Phƣơng án phân phối theo tập hợp ô chọn (Định nghĩa 2.4) Phƣơng án phân phối tối đa theo tập hợp ô chọn (Định nghĩa 2.6) Phƣơng án tối ƣu (Định nghĩa 2.1) Tập hợp tắc (Định nghĩa 2.3) Thế vị hàng, cột (Định nghĩa 2.3) Số hóa Trung tâm Học liệu –34 ĐHTN http://www.ltc.tnu.edu.vn ... dạng mở rộng nhƣ Luận văn "Phương pháp Hungari giải toán giao việc tuyến tính mở rộng" nhằm mục đích tìm hiểu toán giao việc với hàm mục tiêu tuyến tính ứng dụng tốn; Phƣơng pháp Hungari giải. .. PHÁP HUNGARI VÀ BÀI TOÁN GIAO VIỆC 1.1 Bài toán giao việc 1.2 Phƣơng pháp Hungari 1.3 Ví dụ áp dụng 12 1.4 Bài tốn tìm cực đại 15 Chƣơng PHƢƠNG PHÁP THU HẸP CHÍNH TẮC 18 2.1 Bài tốn vận tải tuyến. .. tới toán giao việc nhằm tổng quát mở rộng phạm vi ứng dụng toán Phương pháp Hungari (Hungarian Method) độc đáo hiệu qủa để giải toán giao việc Tên gọi phƣơng pháp để tƣởng nhớ hai nhà tốn học Hungari:

Ngày đăng: 25/02/2021, 09:44

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w