Bài toán luồng trên mạng và ứng dụng

92 332 2
Bài toán luồng trên mạng và ứ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

i ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THƠNG TIN VÀ TRUYỀN THƠNG NƠNG THỊ LÝ BÀI TỐN LUỒNG TRÊN MẠNG VÀ ỨNG DỤNG LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái ngun - 2015 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ LỜI CẢM ƠN Để hoàn thành luận văn, t xin chân thành cảm ơn Trường Đại học Công nghệ Thông tin Truyền thơng–Đại học Thái Ngun, Phòng Đào tạo, thầy, cô giáo giảng dạy lớp cao học Khoa học máy tnh K12E quan tâm, tạo điều kiện thuận lợi, tận tnh giảng dạy giúp đỡ thời gian theo học trường Đặc biệt, t xin bày tỏ lòng biết ơn sâu sắc đến TS Trương Hà Hải văn xin cảm ơn cán bộ, giảng viên đồng nghiệp Trường Đại học Hùng Vương Xin trân trọng cảm ơn 9năm 2015 Nông Thị Lý Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ MỤC LỤC LỜI CAM ĐOAN .II LỜI CẢM ƠN III MỤC LỤC IV DANH MỤC CÁC BẢNG VI DANH MỤC CÁC HÌNH VẼ VII MỞ ĐẦU CHƯƠNG MỘT SỐ KHÁI NIỆM CƠ BẢN CỦA LÝ THUYẾT ĐỒ THỊ 1.1 1.1.1 Định nghĩa đồ thị 1.1.2 Các loại đồ thị 1.1.3 Các khái niệm liên quan 1.2 Biểu diễn đồ thị máy tính 10 1.2.1 Biểu diễn ma trận kề 10 1.2.2 11 Biểu diễn ma trận liên thuộc 1.2.3 Danh sách cạnh 12 1.2.4 Danh sách kề 13 1.2.5 Đồ thị trọng số 14 1.3 14 1.3.1 Các toán kinh điển 14 1.3.2 Các tốn NP-khó 16 1.4 Kết luận chương 20 CHƯƠNG 2: BÀI TOÁN LUỒNG CỰC ĐẠI TRÊN MẠNGVÀ CÁC THUẬT TOÁN 22 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 2.1 Phát biểu toán 22 2.1.1 Mạng luồng mạng 22 2.1.2 Bài toán luồng cực đại mạng 24 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 2.1.3 Lát cắt, định lý Ford – Fulkerson 24 2.2 Các thuật toán giải toán luồng mạng 25 2.2.1 Các thuật toán có 25 2.2.2 Thuật toán Ford – Fulkerson 26 2.2.3 Thuật toán Edmonds–Karp 32 2.2.4 Thuật toán Dinits 32 2.2.5 Các thuật toán khác 33 2.3 Một số ứng dụng thực tế toán 33 2.3.1 Bài tốn tìm công suất bơm dầu 33 2.3.2 Bài toán xét ứng cử viên vô địch 34 2.3.3 Bài tốn tìm luồng giao thơng cực đại 35 2.4 Kết luận chương 36 CHƯƠNG 3: 37 3.1 Vấn đề tnh toán số lượt du khách thăm đền Hùng dịp lễ hội 37 3.2 39 3.3 M 40 3.4 Xây dựng chương trình 50 3.4.1 Môi trường cài đặt 50 3.4.2 Giao diện chương trình 51 3.5 Kết thực nghiệm tính số lượt người thăm đền Hùng năm 2015 52 3.5.1 Thực nghiệm 1: Tính tốn ngày thứ (06/03 âm lịch) 53 3.5.2 Thực nghiệm 2: Tính tốn ngày thứ hai (10/03 âm lịch) 56 3.5.3 Tổng hợp kết thử nghiệm 59 3.6 Kết luận chương 60 KẾT LUẬN VÀ HƯỚNG NGHIÊN CỨU 61 TÀI LIỆU THAM KHẢO 63 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ PHỤ LỤC Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ DANH MỤC CÁC BẢNG Bảng 2.1 Các thuật toán giải toán luồng cực đại 31 Bảng 3.1 Bảng số tỉnh thành đồ 46 Bảng 3.2 So sánh kết tính tốn liệu thực tế 71 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ vii DANH MỤC CÁC HÌNH VẼ Hình 1.1 Bài toán bảy cầu Konigsberg .4 Hình 1.2 Các loại đồ thị .6 Hình 1.3 Các dạng đồ thị đặc biệt Hình 1.4 Minh họa khái niệm liên quan đến đồ thị .7 Hình 1.5 Minh họa đỉnh rẽ nhánh cầu .9 Hình 1.6 Minh họa đồ thị đồ thị đẳng cấu 10 Hình 1.7 Biểu diễn đồ thị ma trận kề 11 Hình 1.8 Biểu diễn đồ thị ma trận liên thuộc 12 Hình 1.9 Biểu diễn đồ thị danh sách cạnh 13 Hình 1.10 Biểu diễn đồ thị danh sách kề 14 Hình 2.1 Mạng luồng mạng 23 Hình 2.2 Luồng cực đại mạng 24 Hình 2.3 Lát cắt hẹp mạng 25 Hình 2.4 Mạng ban đầu 28 Hình 2.5 Khởi tạo luồng 28 Hình 2.6 Xây dựng mạng dư 29 Hình 2.7 Tăng luồng theo đường 29 Hình 2.8 Tăng luồng theo đường 30 Hình 2.9 Tăng luồng theo đường 30 Hình 2.10 Tính tốn luồng cực đại từ mạng tăng luồng cực đại 31 Hình 2.11 Bài tốn tìm cơng suất bơm dầu 33 Hình 2.12 Bài tốn loại bỏ ứng cử viên vô địch 34 Hình 2.13 Bài tốn tìm luồng giao thơng cực đại Hình 3.1 Bài tốn tính số lượt du khách tới thăm Đền Hùng - Phú Thọ 40 Hình 3.2 Mạng liệu #1 42 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ vii Hình 3.3.Khởi tạo luồng liệu #1 43 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ viii Hình 3.4 Xây dựng mạng dư liệu #1 43 Hình 3.5.Tăng luồng theo đường liệu #1 44 Hình 3.6 Tăng luồng theo đường liệu #1 44 Hình 3.7 Tăng luồng theo đường liệu #1 45 Hình 3.8 Tăng luồng theo đường liệu #1 45 Hình 3.9 Tăng luồng theo đường liệu #1 46 Hình3.10 Tăng luồng theo đường liệu #1 46 Hình 3.11 Tăng luồng theo đường liệu #1 47 Hình3.12 Luồng cực đại liệu #1 47 Hình 3.13 Giao diện chương trình 49 Hình 3.14 Mơ với liệu #1 chương trình 52 Hình 3.15 Chạy chương trình với liệu #1 53 Hình 3.16 Chạy chương trình với liệu #2 56 Hình 3.17 Biểu đồ so sánh kết tính toán liệu thực tế 57 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 56 Hình 3.15 Chạy chương trình với liệu #1 3.5.2 Thực nghiệm 2: Tính tốn ngày thứ hai (10/3 âm lịch) Trong ngày 10.3 âm lịch, địa phương gửi thêm thông tin nhu cầu đến thăm đền Hùng khả vận chuyển hành khác tỉnh số tỉnh lân cận Do đó, có liệu giả định #2 sau: Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 57 Chỉ số Tỉnh Nhu cầu Tuyên Quang 15 Yên Bái Sơn La 10 Vĩnh Phúc 11 Thái Nguyên 16 Bắc Giang 10 18 Sơn Tây 19 Hòa Bình Ngồi có khả vận tải hành khách tỉnh sau: Đường Tỉnh đầu Chỉ số Khả Chỉ số Tỉnh cuối thông qua Sơn La → Yên Bái 15 Sơn La → 19 Hòa Bình 13 n Bái → Tuyên Quang Tuyên Quang → 10 Vĩnh Phúc Tuyên Quang → 11 Thái Nguyên Thái Nguyên 11 → 10 Vĩnh Phúc Bắc Giang 16 → 11 Thái Nguyên Bắc Giang 16 → 18 Sơn Tây Sơn Tây 18 → 19 Hòa Bình 12 Tuyên Quang → 26 Phú Thọ Yên Bái → 26 Phú Thọ Vĩnh Phúc 10 → 26 Phú Thọ Sơn Tây 18 → 26 Phú Thọ Hòa Bình 19 → 26 Phú Thọ Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 58 Từ chương trình chạy liệu #2 cho kết số lượt du khách thăm đền Hùng 4+6+7+8+9=34 Hình 3.16 Chạy chương trình với liệu #2 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 59 3.5.3 Tổng hợp kết thử nghiệm Tổng hợp kết thử nghiệm tnh lượng du khách thăm Đền Hùng ngày lễ hội Đền Hùng năm 2015: từ ngày 06/03 đến 10/03 âm lịch thể bảng sau: Bảng 3.2 So sánh kết tính tốn liệu thực tế Lượng du khách tính tốn Ngày (trăm nghìn người) Lượng du khách thực tế (trăm nghìn người) 06/03/2015 28 28 07/03/2015 28.5 28.9 08/03/2015 28.5 29 09/03/2015 29 30 10/03/2015 34 34.7 Biểu đồ so sánh 40 35 30 Số lượt khách 25 Số lượt du khách tính tốn (trăm nghìn người) Số lượt du khách thực tế (trăm nghìn người) 20 15 10 06/03/2015 07/03/2015 08/03/2015 10/03/2015 09/03/2015 Ngày Hình 3.17 Biểu đồ so sánh kết tính tốn liệu thực tế Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 60 Nhận xét kết thực nghiệm So sánh kết thực nghiệm chương trình kết thực tế 10 ngày hội lễ hội Đền hùng năm 2015 thấy phần mềm đưa kết tốt, tương đối xác, có khả ứng dụng thực tế 3.6 Kết luận chương Chương xây dựng chương trình ứng dụng sử dụng thuật tốn FordFulkerson để thực tốn tính toán số lượt du khách thăm Đền Hùng dịp lễ hội 2015; mơ tốn toán luồng cực đại mạng Kết thực nghiệm cho thấy chương trình tính tốn tương đối xác, hợp lý, mang tính xác thực Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 61 KẾT LUẬN VÀ HƯỚNG NGHIÊN CỨU án chuyển vận (TransShipment Problem) lớp toán quan trọng hay gặp qui hoạch toán học Lớp bao gồm toán quen thuộc thực tế như: Bài toán vận tải, toán mạng điện, toán mạng giao thơng, tốn quản lý, tốn phân bổ vật tư, tốn kế hoạch tài chính, tốn đường ngắn nhất, toán luồng lớn Những kết đạt Trình bày khái niệm mạng, khái niệm luồng mạng, điều kiện cân luồng giá trị luồng Đồng thời phát biểu toán luồng cực đại mạng, cách tiếp cận có để giải tốn số ứng dụng thực tế toán tìm luồng cực đại , luận văn trình bày ứng dụng thuật toán Ford-Fullkerson để giải vấn đề mơ tính tốn số lượt du khách viếng thăm đền Hùng tỉnh Phú Thọ dịp lễ hội Từ vấn đề toán thực tế, tác giả mơ hình tốn đồ thị, du khách thăm Đền Hùng dịp lễ hội năm 2015 Bài tốn biến thể mạng có nhiều đinh phát đỉnh thu nhằm tnh toán lượt khách thăm viếng đền Hùng dịp lễ hội Kết có vai trò to lớn giúp nhà quản lý chủ động xây dựng kế hoạch cho công tác chuẩn bị sở hạ tầng, dịch vụ du Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 62 lịch, quản lý, đáp ứng nhu cầu phục vụ khách du lịch thập phương dự lễ hội đền Hùng Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 63 Hạn chế Do thời gian nghiên cứu tương đối hạn hẹp trình độ học viên hạn chế nên ứng dụng chương trình phạm vi nhỏ Hướng nghiên cứu Xây dựng chương trình với quy mơ, phạm vi lớn Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ TÀI LIỆU THAM KHẢO Tiếng Việt: [1] Nguyễn Đức Nghĩa, Nguyễn Tơ Thành (2009), Tốn rời rạc, Nxb Đại học Quốc gia Hà Nội Tiếng Anh: [2] Schwartz B L (1966) Possible winners in partially completed tournaments SIAM Review, 8(3), 302-308 [3] Ford L R & Fulkerson D R (1956) Maximal flow through a network Canadian journal of Mathematcs, 8(3), 399-404 [4] Edmonds J & Karp R M (1972) Theoretical improvements in algorithmic efficiency for network fow problems Journal of the ACM (JACM), 19(2), 248-264 [5] Dinits E A (1970) Algorithm of solution to problem of maximum flow in network with power estmates Doklady Akademii Nauk SSSR, 194(4), 754 [6] Karzanov A V (1974) Determining the maximal flow in a network by the method of preflows [7] Cherkasky B V (1977) Algorithm of construction of maximal flow in networks with complexity of operations Mathematcal Methods of Solution of Economical Problems, 7(0977), 117-125 [8] Sleator D D K (1981) An network flow [9] algorithm for maximum Galil Z (1980) An algorithm for the maximal flow problem Acta Informatca, 14(3), 221-242 [10] Galil Z & Naamad, A (1980) An algorithm for the maximal flow problem Journal of Computer and System Sciences, 21(2), 203-217 Trang web: [11] http://luanvan.net.vn/luan-van/luan-van-bai-toan-luong-tren-mang64172/ [12] hhttp://voer.edu.vn/m/bai-toan-luong-cuc-dai-trongmang/1ea96ed5 PHỤ LỤC Chương trình gồm lớp: - Network: cài đặt mạng - DrawablePanel: thiết kế giao diện chương trình - MainClass_HungTempleProblem: lớp để chạy chương trình Lớp Network Gồm thủ tục: Phương thức Network() setCapacityOfEdge(int, int, int): void Mô tả Phương thức khỏi tạo lớp Đặt băng thông cho cạnh getCapacityOfEdge(int, int): int Lấy băng thông cạnh setDemandOfNode(int, int): void Đặt yêu cầu cho đỉnh getDemandOfNode(int): int Lấy yêu cầu đỉnh getMaxFlowValue(): int Lấy giá trị luồng cực đại mạng getMaxFlowOfEdge(int, int): int Lấy giá trị luồng cực đại cạnh getSizeOfNetwork(): int Lấy kích thước (số đỉnh) mạng DFS(): int void Tìm kiếm sâu calculateMaxFlow(): Chạy thuật toán tm luồng cực đại getSelectedFile(): File Lựa chọn file liệu readData(): void Đọc liệu từ file writeData(): void Viết liệu file Lớp DrawablePanel Phương thức DrawablePanel () Mô tả Phương thức khỏi tạo lớp paintComponent(Graphics): void Phương thức vẽ đối tượng setNetwork(Network): void Phương thức nhận thực thể Network để chạy chương trình setIndex(): void Xác nhận hiển thị số đỉnh setDemand(): void Xác nhận hiển thị yêu cầu đỉnh setCapacity(): void Xác nhận hiển thị băng thông cạnh setFlow(): void Xác nhận hiển thị luồng cực đại cạnh showBackground(): void Xác nhận hiển thị hình notShowBackground(): void Xác nhận khơng hiển thị hình showDemand(Graphics): void Hiển thị yêu cầu đỉnh showIndex(Graphics): void Hiển thị số đỉnh showCapacity(Graphics): void Hiển thị băng thông cạnh showFlow(Graphics): void Hiển thị luồng cực đại cạnh drawVector(Graphics, int, int, int, int): void Vẽ cạnh mạng drawThickLine(Graphics, int, int, int, int, int, Color): void Vẽ đường thẳng Lớp MainClass_HungTempleProblem Gồm thủ tục: Phương thức MainClass_HungTempleProblem () Mô tả Phương thức khỏi tạo lớp main(Sting[1]): void Phương thức main() Java initialize(): void Khởi tạo chương trình chạy ButonViewFile(): void Xử lý chức nút Xem liệu ButonAddDemand(): void Xử lý chức nút Thêm yêu cầu ButonAddRoute(): void Xử lý chức nút Thêm cạnh ButonLoad(): void Xử lý chức nút Tải liệu ButonSave(): void Xử lý chức nút Lưu liệu ButonAuthor(): void Xử lý chức nút Tác giả ... thuật toán khác 33 2.3 Một số ứng dụng thực tế toán 33 2.3.1 Bài tốn tìm cơng suất bơm dầu 33 2.3.2 Bài toán xét ứng cử viên vô địch 34 2.3.3 Bài tốn tìm luồng. .. thích tốn học, tin học, thuật toán, phạm vi luận văn, tập trung nghiên cứu lớp toán luồng mạng, phương pháp giải toán luồng mạng lý thuyết đồ thị ứng dụng giải toán thực tế Luận văn trình bày... :đ Chương 2: rình bày khái niệm mạng, khái niệm luồng mạng, toán luồng cực đại mạng, phát biểu dạng tốn luồng cực đại mạng, trình bày thuật tốn giải tốn luồng mạng Chương Tìm hiểu thực tế lưu

Ngày đăng: 06/01/2019, 22:25

Từ khóa liên quan

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

Tài liệu liên quan