Bài toán luồng với chi phí nhỏ nhất và các ứng dụng

75 713 2
Bài toán luồng với chi phí nhỏ nhất và các ứng dụ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Nguyễn Đăng Khoa BÀI TOÁN LUỒNG VỚI CHI PHÍ NHỎ NHẤT VÀ CÁC ỨNG DỤNG LUẬN VĂN THẠC SỸ KỸ THUẬT Công nghệ thông tin Hà Nội - 2016 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Nguyễn Đăng Khoa Chuyên nghành: Công nghệ thông tin BÀI TOÁN LUỒNG VỚI CHI PHÍ NHỎ NHẤT VÀ CÁC ỨNG DỤNG LUẬN VĂN THẠC SỸ KỸ THUẬT Công nghệ thông tin Giáo viên hướng dẫn: PGS.TS Nguyễn Đức Nghĩa Hà Nội - 2016 MỤC LỤC Trang Lời cam đoan Các chữ viết tắt Danh mục bảng Danh mục hình MỞ ĐẦU Chương - LÝ THUYẾT ĐỒ THỊ 1.1 Định nghĩa đồ thị 1.2 Các khái niệm 1.2.1 Cạnh liên thuộc, đỉnh kề, bậc 1.2.2 Đường đi, chu trình, liên thông 11 1.3 Biểu diễn đồ thị 14 1.3.1 Ma trận liền kề 14 1.3.2 Danh sách cạnh 16 1.3.3 Danh sách kề 18 1.4 Các thuật toán tìm kiếm đồ thị 20 1.4.1 Tìm kiếm theo chiều sâu 20 1.4.2 Tìm kiếm theo chiều rộng 21 1.5 Bài toán đường ngắn 23 1.5.1 Các khái niệm mở đầu 23 1.5.2 Thuật toán Ford-Bellman 25 1.5.3 Thuật toán Dijkstra 27 Tóm tắt chương Chương - BÀI TOÁN LUỒNG VỚI CHI PHÍ NHỎ NHẤT 30 31 2.1 Giới thiệu 31 2.1.1 Phát biểu toán 31 2.1.2 Các giả thiết 32 2.1.3 Đồ thị thặng dư 32 2.2 Điều kiện tối ưu toán 33 2.2.1 Điều kiện tối ưu chu trình âm 33 2.2.1 Điều kiện tối ưu chi phí rút gọn 33 2.2.3 Điều kiện tối ưu bổ sung 35 2.3 Mối quan hệ luồng tối ưu khả thông qua đỉnh 36 2.4 Ứng dụng toán luồng với chi phí cực tiểu 38 2.4.1 Ứng dụng toán giao việc 38 2.4.2 Ứng dụng toán vị trí rời rạc 41 2.4.3 Ứng dụng toán vận chuyển 41 2.4.4 Ứng dụng toán tối ưu mạng đường bay 43 2.4.5 Ứng dụng toán tối ưu hóa sản xuất-tồn kho 44 Tóm tắt chương Chương – CÁC THUẬT TOÁN 45 46 3.1 Thuật toán khử chu trình âm 46 3.1.1 Tư tưởng thuật toán 46 3.1.2 Mô tả thuật toán 46 3.1.3 Các bước thực thuật toán 46 3.1.4 Độ phức tạp thuật toán 48 3.2 Thuật toán tìm đường ngắn liên tiếp 48 3.2.1 Tư tưởng thuật toán 48 3.2.2 Mô tả thuật toán 48 3.2.3 Các bước thực thuật toán 50 3.2.4 Độ phức tạp thuật toán 53 3.3 Thuật toán Primal-dual 53 3.3.1 Tư tưởng thuật toán 53 3.3.2 Mô tả thuật toán 53 3.3.3 Các bước thực thuật toán 54 3.3.4 Độ phức tạp thuật toán 56 3.4 Các thuật toán cải tiến 57 3.4.1 Cải tiến thuật toán tìm đường ngắn liên tiếp 57 3.4.2 Cải tiến thuật toán khử chu trình âm 60 Tóm tắt chương Chương – CÀI ĐẶT THUẬT TOÁN VÀ ĐÁNH GIÁ 61 62 4.1 Mục đích thực nghiệm 62 4.2 Các thuật toán lựa chọn 62 4.3 Kết thực nghiệm 62 4.3.1 Môi trường thực nghiệm 62 4.3.2 Kết Benchark 63 4.4 Đánh giá kết thực nghiệm 67 Tóm tắt chương 68 KẾT LUẬN 69 TÀI LIỆU THAM KHẢO 70 LỜI CAM ĐOAN Tôi xin cam đoan rằng: Số liệu kết nghiên cứu luận văn hoàn toàn trung thực chưa sử dụng công bố công trình khác Tác giả luận văn Nguyễn Đăng Khoa CÁC CHỮ VIẾT TẮT SCC Simple cycle canceling algorithm MMCC Minimum mean cycle canceling algorithm CAT Cancel and tighten algorithm SSP Successive shortest path algorithm CAS Capacity scaling algorithm COS Cost scaling algorithm DANH MỤC CÁC BẢNG Trang Bảng 4.1: Thời gian chạy thuật toán với đồ thị NETGEN 63 Bảng 4.2: Thời gian chạy thuật toán với đồ thị GOTO 65 Bảng 4.3: Thời gian chạy thuật toán với đồ thị ROAD 66 Bảng 4.4: Thời gian chạy thuật toán với đồ thị GRIDGRAPH 67 DANH MỤC CÁC HÌNH Trang Hình 1.1: Ví dụ mô hình đồ thị Hình 1.2: Phân loại đồ thị Hình 1.3: Minh họa đường đồ thị 11 Hình 1.4: Minh họa đồ thị liên thông mạnh đồ thị liên thông yếu 13 Hình 1.5: Minh họa biểu diễn đồ thị ma trận kề 15 Hình 1.6: Minh họa biểu diễn đồ thị danh sách cạnh 17 Hình 1.7: Minh họa biểu diễn đồ thị danh sách móc nối 19 Hình 2.1: Ví dụ mạng vận chuyển 31 Hình 2.2: Ví dụ đồ thị thặng dư 33 Hình 2.3: Minh họa toán giao việc 40 Hình 2.4: Minh họa toán vận chuyển 42 Hình 2.5: Minh họa toán tối ưu mạng đường bay 43 Hình 2.6: Minh họa toán tối ưu sản xuất-tồn kho 44 Hình 3.1: Minh họa thuật toán khử chu trình âm 48 Hình 3.2: Minh họa thuật toán đường ngắn liên tiếp 52 Hình 3.3: Minh họa thuật toán Primal-dual 56 Hình 4.1: Đồ thị so sánh thời gian chạy thuật toán (NETGEN-8) 64 Hình 4.2: Đồ thị so sánh thời gian chạy thuật toán (NETGEN-SR) 64 Hình 4.3: Đồ thị so sánh thời gian chạy thuật toán (GOTO-8) 65 Hình 4.4: Đồ thị so sánh thời gian chạy thuật toán (GOTO-SR) 66 MỞ ĐẦU Lý chọn đề tài Đồ thị sử dụng để giải toán nhiều lĩnh vực khác Chẳng hạn, đồ thị sử dụng để xác định mạch vòng vấn đề giải tích mạch điện Chúng ta phân biệt hợp chất hóa học hữu khác với công thức phân tử khác cấu trúc phân tử nhờ đồ thị Chúng ta xác định hai máy tính mạng trao đổi thông tin với hay không nhờ mô hình đồ thị mạng máy tính Đồ thị có trọng số cạnh sử dụng để giải toán như: Tìm đường ngắn hai thành phố mạng giao thông Chúng ta sử dụng đồ thị để giải toán lập lịch, thời khóa biểu, phân bố tần số cho trạm phát truyền hình… Bài toán luồng chi phí cực tiểu toán tối ưu hóa có ứng dụng quan trọng lĩnh vực khoa học máy tính, kinh tế,… Bài toán luồng chi phí nhỏ biến thể toán luồng cực đại mạng Mục tiêu nhiệm vụ nghiên cứu - Mục tiêu: Nghiên cứu thuật toán giải toán luồng với chi phí nhỏ nhất, cài đặt, kiểm thử - Nhiệm vụ: Tìm hiểu lý thuyết đồ thị, nắm thuật toán tìm kiếm đường, tìm kiếm điểm đồ thị, xây dựng thuật toán cho toán luồng với chi phí rij i j 1 es = s t et = -4 2 d Đồ thị chấp nhận Hình 3.3: Minh họa thuật toán Primal-dual 3.3.4 Độ phức tạp thuật toán Thuật toán Primal-Dual đảm bảo độ vượt đỉnh s giảm sau vòng lặp, chắn khả đỉnh đích giảm chuyển từ vòng lặp sang vòng lặp khác Nhận xét thứ có từ việc thiết lập luồng cực đại 𝐺(𝑥) , đồ thị thặng dư G(x) không chứa đường có hướng từ đỉnh s đến đỉnh t gồm cung có chi phí rút gọn Do đó, vòng lặp giải toán đường ngắn dt ≥ Các quan sát cho giới hạn min{nU, nC} số vòng lặp ban đầu es ≤ nU, giá trị khả đỉnh hạ thấp –nC Giới hạn số vòng lặp tốt thuật toán tìm đường ngắn liên tiếp, thuật toán phải chịu chi phí cho việc giải toán luồng cực đại vòng lặp Nếu S(n, m, C) M(n, m, C) thời gian giải toán đường 56 ngắn luồng cực đại thuật toán Primal-Dual có độ phức tạp tổng cộng O(min{nU, nC} { S(n, m, C) + M(n, m, C)}) 3.4 Các thuật toán cải tiến Ở phần trên, xét số thuật toán giúp giải toán luồng với chi phí cực tiểu Mặc dù thuật toán đảm bảo hội tụ liệu số nguyên, việc tính toán không giới hạn hàm đa thức Và vậy, thuật toán không đảm bảo giải tốt tất toán đặt Dưới số cải tiến quan trọng thuật toán để toán giải thời gian đa thức 3.4.1 Cải tiến thuật toán tìm đường ngắn liên tiếp Thuật toán tìm đường ngắn liên tiếp có thuật toán cải tiến nhằm tối ưu hóa thời gian chạy thuật toán Phương pháp thứ tác động lên yếu tố luồng đồ thị thặng dư, phương pháp thứ hai tác động lên yếu tố chi phí, tương ứng ta có thuật toán tỷ lệ theo thông lượng (Capacity scaling) tỷ lệ theo chi phí (Cost scaling) Sau nghiên cứu thuật toán tỷ lệ theo thông lượng Thuật toán tỉ lệ theo thông lượng áp dụng cho toán luồng với chi phí cực tiểu bảo đảm lần tăng trưởng đường ngắn mang theo lượng lớn luồng dọc theo đường Thuật toán tỉ lệ theo thông lượng sử dụng luồng giả x giá trị ei, với ei giá trị cân nút i định nghĩa sau: 𝑒𝑖 = 𝑏𝑖 + � {j:(j,i)∈A} 𝑥𝑗𝑖 + {j:(j,i)∈A} Với ∀ i ∈ N 57 � 𝑥𝑖𝑗 Thuật toán trì luồng giả thỏa mãn điều kiện giảm chi phí tối ưu bước biến đổi luồng giả thành luồng cách xác định đường ngắn từ nút thừa đến nút thiếu tăng luồng dọc theo đường Đặt pha tỉ lệ có giá trị cụ thể ∆ Ban đầu, ∆ = 2log|u| Thuật toán bảo đảm pha tỉ lệ ∆, lần tăng trưởng mang xác ∆ đơn vị luồng Khi không nút vượt giá trị ∆ tối thiểu hay không nút thấp giá trị ∆ tối thiểu thuật toán giảm giá trị ∆ lần tiếp tục tiến trình Cuối ∆ = pha kết thúc ta nhận luồng Luồng luồng tối ưu thỏa mãn điều kiện giảm chi phí tối ưu Với giá trị ∆, ta định nghĩa hai tập hợp S(∆) T(∆) sau: S(∆) = {i: ei ≥ ∆} T(∆) = {i: ei ≤ - ∆} Trong pha tỉ lệ, lần tăng trưởng phải nút S(∆) kết thúc nút T(∆) Ngoài ra, tăng luồng phải diễn đường có cạnh có độ thông qua thặng dư tối thiểu ∆ Do đó, ta có định nghĩa khác sau: Mạng thặng dư G(x, ∆) mạng G(x), gồm cạnh có độ thông qua thặng dư tối thiểu ∆ Trong pha tỉ lệ, thuật toán tăng luồng từ nút S(∆) đến nút mạng G(x, ∆) Thuật toán đáp ứng tính chất cạnh G(x, ∆) thỏa mãn điều kiện giảm chi phí tối ưu Tuy nhiên cạnh G(x) mà không thuộc G(x, ∆) vi phạm điều Cần ý thuật toán tăng xác ∆ đơn vị luồng pha tỉ lệ tăng nhiều Điều thật hữu ích toán không ràng buộc thông lượng luồng, luồng mạng bội số nguyên ∆ 58 Nhằm tạo nên tính đắn thuật toán ta cho pha tỉ lệ 2∆ kết thúc S(2∆) = Ѳ T(2∆) = Ѳ Khi đó, ei ≤ 2∆ với ∀ i ∈ N ei > - 2∆ với ∀ i ∈ N Điều kiện cho thấy tổng giá trị vượt đạt đến giá trị 2n∆ Các bước thực thuật toán: begin x: = 𝜋: = 0; ∆ = 2|logU|; while ∆ ≥ begin for each (i, j) mạng thặng dư G(x) 𝜋 ≤ then if rij ≥ ∆ 𝑐𝑖𝑗 begin Gửi rij đơn vị luồng dọc theo (i, j); Cập nhật x ei; end; S(∆) = {i: ei ≥ ∆}; T(∆) = {i: ei ≤ - ∆}; while S(2∆) ≠ Ѳ T(2∆) ≠ Ѳ begin Chọn nút k ∈ S(∆) nút l ∈ T(∆); Xác định khoảng cách ngắn di từ nút k đến 𝜋 nút khác mạng thặng dư G(x, ∆) chi phí giảm 𝑐𝑖𝑗 ; Gọi P đường ngắn từ nút k đến nút l G(x, ∆); 59 Cập nhật Cập nhật 𝜋: = 𝜋 - d; Tăng ∆ đơn vị luồng dọc theo P; end; end; Cập nhật x, S(∆),T(∆) G(x, ∆); ∆:= ∆/2; end; Thuật toán tỉ lệ theo thông lượng giải toán luồng với chi phí cực tiểu với độ phức tạp tính toán O(mlogU S(n, m, nC)); 3.4.2 Cải tiến thuật toán khử chu trình âm Các thuật toán cải tiến vừa xét thuật toán thời gian đa thức yếu thời gian chạy dựa logU logC Mặc dù thuật toán cho phép giải toán có liệu số nguyên số hữu tỉ chúng không thích hợp liệu số vô tỉ Ngược lại thuật toán thời gian đa thức mạnh có thời gian chạy dựa n m nên chúng thích hợp cho toán có liệu số vô tỉ Trong phần này, xem xét thuật toán thời gian đa thức mạnh, thuật toán loại bỏ chu trình có giá trị trung bình nhỏ (minimum mean cycle-canceling), trường hợp đặc biệt thuật toán khử chu trình âm Ta có chi phí trung bình chu trình có hướng W là: Thuật toán khử chu trình có giá trị trung bình nhỏ bắt đầu với luồng khả thi x Tại lần lặp, thuật toán xác định chu trình có giá trị trung 60 bình nhỏ W mạng Nếu giá trị trung bình W âm, thuật toán tăng luồng lớn tối đa gửi qua chu trình W, cập nhật lại G(x) lặp lại tiến trình Nếu giá trị trung bình W không âm ta kết luận G(x) không chứa chu trình âm x luồng có chi phí nhỏ dừng thuật toán Ngoài thuật toán khử chu trình âm có thuật toán cải tiến khác thuật toán Cancel and tighten, thuật toán cải thiện từ thuật toán loại bỏ chu trình có giá trị trung bình nhỏ cách trì nút tiềm để việc phát chu trình âm dễ dàng nhanh chóng Tóm tắt chương Chương trình bày thuật toán để giải toán luồng với chi phí nhỏ nhất thuật toán cải tiến cho phép giải toán với liệu số vô tỉ, hữu tỉ Đối với thuật toán, đưa tư tưởng thuật toán, mô tả thuật toán, bước thực thuật toán phân tích độ phức tạp thuật toán lý thuyết Trên sở thuật toán trình bày chương 3, chương cài đặt khảo sát thực nghiệm thuật toán 61 Chương CÀI ĐẶT THUẬT TOÁN VÀ ĐÁNH GIÁ 4.1 Mục đích thực nghiệm Mục đích thực nghiệm kiểm tra với liệu đầu vào khác thuật toán lựa chọn thực nghiệm, từ thống kê, phân loại, vẽ đồ thị thể thời gian chạy thuật toán thực nghiệm liệu đầu vào Qua thời gian chạy thực nghiệm thuật toán khác liệu thực nghiệm ta so sánh, đánh giá thời gian chạy thuật toán thể đồ thị Qua ta phân tích, đánh giá thuật toán chạy tốt nhất, tồi liệu đầu vào hay trường hợp đồ thị khác nhau, thuật toán cho kết tốt với trường hợp đồ thị thực tế 4.2 Các thuật toán lựa chọn SCC Simple cycle canceling algorithm MMCC Minimum mean cycle canceling algorithm CAT Cancel and tighten algorithm SSP Successive shortest path algorithm CAS Capacity scaling algorithm COS Cost scaling algorithm 4.3 Kết thực nghiệm 4.3.1 Môi trường thực nghiệm Bộ liệu thực nghiệm bao gồm: Đồ thị thưa, đồ thị mật độ ngày tăng đồ thị dày đặc, tạo tạo ngẫu nhiên tiêu chuẩn NETGEN, GOTO Đồ thị mang đặc tính hệ thống giao thông, mạng đường dây tạo tạo ngẫu nhiên tiêu chuẩn GRIDGRAPH ROAD Trong đó, đồ 62 thị có số đỉnh (n) lựa chọn nhỏ 28 lớn 222, mật độ đồ thị hệ số m/n với m số cung, đặc trưng cho dạng đồ thị khác Các kết thực nghiệm trình bầy bên sử dụng thư viện đồ thị mã nguồn mở LEMON (phiên 1.3), tiến hành máy tính với xử lý AMD Opteron Dual Core 2.2 GHz CPU, 16 GB RAM (1 MB cache), hệ điều hành Window (64 bít) 4.3.2 Kết Benchark a) Đồ thị sinh NETGEN Bộ liệu File Thời gian chạy thuật toán (giây) n m/n SCC MMCC CAT SSP CAS COS 210 4,82 11,84 0,18 0,13 0,19 0,02 213 538,73 2016,55 6,79 6,50 21,16 0,32 216 - - 293,12 297,86 1358,45 4,35 219 - - - - - 45,45 222 - - - - - 613,42 210 32 32,54 91,66 0,75 0,32 1,69 0,06 NETGEN 212 64 1595,55 - 16,44 6,86 72,44 0,86 -SR 214 128 - - 352,39 138,23 - 8,54 216 256 - - - 2786,54 - 113,63 212 32 659,54 2657,96 7,53 4,51 36,63 0,44 NETGEN 212 128 3537,85 - 32,97 12,58 275,42 1,90 -DEG 212 512 - - 149,85 36,62 2476,03 7,53 212 2048 - - 634,86 100,63 - 49,64 NETGEN -8 Bảng 4.1: Thời gian chạy thuật toán với đồ thị NETGEN 63 Hình 4.1: Đồ thị so sánh thời gian chạy thuật toán (NETGEN-8) Hình 4.2: Đồ thị so sánh thời gian chạy thuật toán (NETGEN-SR) 64 b) Đồ thị sinh GOTO Bộ liệu File Thời gian chạy thuật toán (giây) n m/n SCC MMCC CAT SSP CAS COS 210 86,86 32,41 0,62 2,63 0,13 0,05 213 - - 45,83 245,76 4,98 1,48 216 - - - - 145,87 43,22 219 - - - - - 1587,94 210 32 2468,98 596,75 2,33 38,76 2,83 0,30 GOTO- 212 64 - - 91,32 - 146,03 5,35 SR 214 128 - - 2654,76 - - 71,53 216 256 - - - - - 1283,92 GOTO-8 Bảng 4.2: Thời gian chạy thuật toán với đồ thị GOTO Hình 4.3: Đồ thị so sánh thời gian chạy thuật toán (GOTO-8) 65 Hình 4.4: Đồ thị so sánh thời gian chạy thuật toán (GOTO-SR) c) Đồ thị sinh ROAD Bộ liệu File Thời gian chạy thuật toán (giây) n m/n SCC MMCC CAT SSP CAS COS 9559 3,11 2,32 387,54 2,43 0,01 0,01 0,14 ROAD- 116920 2,27 160,01 - 269,07 0,27 0,28 4,76 PATHS 519157 2,44 - - - 3,31 3,32 36,87 2073870 2,49 - - - 22,03 22,06 240,08 9559 3,11 6,95 640,87 2,99 0,03 0,03 0,21 ROAD- 116920 2,27 420,86 - 297,08 0,72 1,32 6,89 FLOW 519157 2,44 - - - 11,01 18,02 56,54 2073870 2,49 - - - 78,96 236,98 400,04 Bảng 4.3: Thời gian chạy thuật toán với đồ thị ROAD 66 d) Đồ thị sinh GRIDGRAPH Bộ liệu File Thời gian chạy thuật toán (giây) n m/n SCC MMCC CAT SSP CAS COS 210 2,04 0,77 1,43 0,12 0,05 0,01 0,02 GRID- 213 2,06 78,53 149,53 2,64 4,63 1.01 0,35 WIDE 216 2,06 - - 56,74 399,65 104,65 8,86 219 2,06 - - 1159,53 - - 542,85 210 1,95 0,63 0,95 0,13 0,01 0,01 0,02 GRID- 213 1,94 59,53 38,53 - 0,12 0,06 0,21 LONG 216 1,94 2896,84 - - 0,48 0,38 2,53 219 1,94 - - - 3,05 3,18 25,86 210 0,73 1,54 0,14 0,04 0,01 0,02 GRID- 213 119,54 200,01 5,32 2,54 0,33 0,35 SQUARE 216 - - 307,54 209,65 11,84 6,87 219 - - - - 1853,06 176,96 Bảng 4.4: Thời gian chạy thuật toán với đồ thị GRIDGRAPH 4.4 Đánh giá kết thực nghiệm Kết thực nghiệm với đồ thị sinh NETGEN GOTO cho thấy: Thuật toán SCC, MMCC chậm hẳn so với thuật toán khác, thuật toán CAT thuật toán khử chu trình âm tiên tiến có tốc độ tương đương thuật toán tìm đường ngắn liên tiếp Thuật toán COS cho kết chạy nhanh Kết thực nghiệm với đồ thị sinh ROAD cho thấy: Thuật toán SSP nhanh Trong đồ thị ROAD-PATHS, thuật toán CAS tương đương với thuật toán SSP đồ thị ROAD-FLOW, thuật toán CAS chậm thuật toán SSP Thuật toán COS chậm SSP không chậm nhiều 67 Kết thực nghiệm với đồ thị sinh GRIDGRAPH cho thấy: Thuật toán COS chạy nhanh nhanh SSP, CAS Tuy nhiên, đồ thị GRID-LONG, số đỉnh tăng lên thuật toán SSP CAS lại chạy nhanh thuật toán COS Đánh giá toàn kết khảo sát cho thất thuật toán COS thuật toán tốt số thuật toán nêu Tóm tắt chương Trong chương thực mô đánh giá hiệu thuật toán giải toán tìm luồng với chi phí nhỏ Việc đánh giá thực biến đổ kích thước đồ thị đặc điểm đồ thị, qua cung cấp giải pháp lựa chọn thuật toán để áp dụng hiệu toán thực tế Các kết đánh giá mô phù hợp với lý thuyết mở khả ứng dụng thuật toán giải toán tìm luồng có chi phí nhỏ vào thực tế 68 KẾT LUẬN Luận văn đạt số kết sau đây: - Phát biểu toán luồng với chi phí nhỏ theo mô hình toán học, giả thiết cho toán, ràng buộc thực tế điều kiện tối ưu toán - Tìm hiểu ứng dựng toán lĩnh vực khoa học máy tính lĩnh vực kinh tế - Nghiên cứu thuật toán giải toán, thuật toán tư tưởng thuật toán, mô tả bước thực thiện thuật toán, chứng minh ví dụ trực quan, phân tích độ phức tạp thuật toán - Nghiên cứu thuật toán cải tiến (cải tiến thuật toán khử chu trình âm thuật toán tìm đường ngắn liên tiếp) nhằm giải toán sát với điều kiện đầu vào (dữ liệu, đặc điểm mô hình) thực tế - Kiểm thử thuật toán, lựa chọn liệu đa dạng, sử dụng thư viện mã nguồn mở LEMON C++, cài đặt phân tích số liệu, so sánh đánh giá thuật toán 69 TÀI LIỆU THAM KHẢO [1] Nguyễn Đức Nghĩa Bài giảng “Thiết kế phân tích thuật toán” Bộ môn Khoa học Máy tính, Đại học Bách khoa Hà Nội, 2014 [2] Nguyễn Đức Nghĩa Cấu trúc liệu thuật toán Nhà xuất Bách khoa Hà Nội, 2008 [3] R.K Ahuja, T.L Magnanti, and J.B Orlin Network flows - Theory, algorithms and applications Prentice Hall, 1993 [4] A.V Goldberg and R.E Tarjan Finding minimum-cost circulations by canceling negative cycles Journal of the ACM, 36(4):873-886, 1989 [5] R.M Karp A characterization of the minimum cycle mean in a digraph Discrete Mathematics, 23(3):309-311, 1978 [6] J.B Orlin A polynomial time primal network simplex algorithm for minimum cost flows Math Program., 78:109-129, 1997 [7] A Sifaleras Minimum cost network flows: Problems, algorithms, and software Yugosl J Oper Res., 23:3-17, 2013 [8] Péter Kovács Minimum-cost flow algorithms: an experimental evaluation Op-timization Methods and Software, 30(1):94-127, 2015 [9] J Vygen On dual minimum cost flow algorithms Math Methods Oper Res.,56:101-126, 2002 A preliminary version appeared in [103] [10] A Frangioni and A Manca A computational study of cost reoptimization for min-cost flow problems INFORMS J On Computing, 18(1):61–70, 2006 [11] Dezs B, et al LEMON–an open source C++ graph template library Electron Notes Theor Comput Sci 2011;264:23–45 [12] Boost C++ Libraries http://www.boost.org/ 70 ... luồng với chi phí cực tiểu 38 2.4.1 Ứng dụng toán giao việc 38 2.4.2 Ứng dụng toán vị trí rời rạc 41 2.4.3 Ứng dụng toán vận chuyển 41 2.4.4 Ứng dụng toán tối ưu mạng đường bay 43 2.4.5 Ứng dụng. .. với chi phí nhỏ nhất, lựa chọn liệu cài đặt thuật toán, phân tích so sánh kết cài đặt Tìm hiểu ứng dụng toán Đối tượng phạm vi nghiên cứu - Đối tượng nghiên cứu: Bài toán luồng với chi phí nhỏ. .. thuật toán giải toán luồng với chi phí nhỏ nhất, cài đặt, kiểm thử - Nhiệm vụ: Tìm hiểu lý thuyết đồ thị, nắm thuật toán tìm kiếm đường, tìm kiếm điểm đồ thị, xây dựng thuật toán cho toán luồng với

Ngày đăng: 25/07/2017, 21:33

Từ khóa liên quan

Mục lục

  • MỤC LỤC

  • MỞ ĐẦU

  • Chương 1LÝ THUYẾT ĐỒ THỊ

  • Chương 2BÀI TOÁN LUỒNG VỚI CHI PHÍ NHỎ NHẤT

  • Chương 3CÁC THUẬT TOÁN

  • Chương 4CÀI ĐẶT THUẬT TOÁN VÀ ĐÁNH GIÁ

  • KẾT LUẬN

  • TÀI LIỆU THAM KHẢO

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

Tài liệu liên quan