Áp dụng giải thuật di truyền giải bài toán người du lịch

49 1K 4
Áp dụng giải thuật di truyền giải bài toán người du lịch

Đ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

LỜI CAM ĐOAN Những kiến thức trình bày luận văn tìm hiểu, nghiên cứu trình bày theo kiến thức tổng hợp cá nhân Kết nghiên cứu luận văn chưa công bố công trình khác Trong trình làm luận văn, có tham khảo tài liệu có liên quan ghi rõ nguồn tài liệu tham khảo Tôi xin cam đoan công trình nghiên cứu không chép Tôi xin chịu hoàn toàn trách nhiệm, sai, xin chịu hình thức kỷ luật theo quy định Hà Nội, ngày 15 tháng năm 2016 Học viên Nguyễn Minh Thúy i LỜI CẢM ƠN Để hoàn thành luận văn này, nhận nhiều động viên, giúp đỡ nhiều cá nhân tập thể Trước tiên, xin bày tỏ lòng biết ơn sâu sắc tới PGS TS Huỳnh Thị Thanh Bình, Trường Đại học Bách Khoa Hà Nội nhiệt tình hướng dẫn, tạo điều kiện thuận lợi cho nghiên cứu khoa học giúp hoàn thành luận văn cách tốt Tôi xin gửi lời cảm ơn tới anh chị em bạn nhóm nghiên cứu, tìm hiểu phương thức phát triển, cải tiến để áp dụng giải thuật di truyền giải toán người du lịch giúp đỡ suốt trình học tập nghiên cứu Cuối xin gửi lời cám ơn đến gia đình, bạn bè, người bên tôi, động viên khuyến khích trình thực đề tài nghiên cứu Học viên Nguyễn Minh Thúy ii MỤC LỤC DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT DANH MỤC CÁC BẢNG DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ .5 MỞ ĐẦU .7 CHƯƠNG - TỔNG QUAN CƠ SỞ LÝ THUYẾT 1.1 Cơ sở lý thuyết đồ thị 1.1.1 Định nghĩa đồ thị 1.1.2 Đường đi, chu trình, đồ thị liên thông 1.1.3 Biểu diễn đồ thị máy tính .10 1.1.4 Đồ thị Euler đồ thị Hamilton 12 1.2 Tổng quan giải thuật di truyền 14 1.2.1 Giới thiệu 14 1.2.2 Các khái niệm .14 1.2.3 Mô hình giải thuật di truyền 16 1.2.4 Cơ chế thực giải thuật di truyền 17 1.2.5 Các tham số giải thuật .22 1.2.6 Các ứng dụng giải thuật di truyền .22 CHƯƠNG - BÀI TOÁN NGƯỜI DU LỊCH .25 2.1 Giới thiệu toán 25 2.2 Ứng dụng toán .26 2.3 Các nghiên cứu liên quan 27 2.3.1 Giải thuật xác 27 2.3.2 Giải thuật xấp xỉ 28 CHƯƠNG - GIẢI THUẬT DI TRUYỀN GIẢI BÀI TOÁN NGƯỜI DU LỊCH .31 3.1 Mã hóa lời giải 31 3.2 Khởi tạo quần thể 31 3.3 Chọn lọc 32 3.3.1 Lựa chọn tranh đấu .32 3.3.2 Lựa chọn tỷ lệ (bánh xe Roulette) 32 3.4 Lai ghép .33 3.4.1 Phép lai ánh xạ phần (PMX - Partial Mappel Crossover) 33 3.4.2 Phép lai thứ tự (OX - Order Crossover) 34 3.4.3 Phép lai MSCX (Modified Sequential Constructive Crossover) 34 3.5 Đột biến .36 3.5.1 Đột biến đảo ngược trình tự (RSM - Reverse Sequence Mutation) .36 3.5.2 Đột biến THRORS 36 3.6 Chiến lược nạp lại quần thể 36 CHƯƠNG - KẾT QUẢ THỰC NGHIỆM 38 4.1 Dữ liệu thực nghiệm 38 4.2 Môi trường thực nghiệm 38 4.3 Kết thực nghiệm 39 4.4 Kết luận .44 4.5 Hướng phát triển 45 TÀI LIỆU THAM KHẢO 46 DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT Từ viết tắt Thuật ngữ Giải thích GA Genetic Algorithm Giải thuật di truyền TSP Travelling Salesman problem Bài toán người du lịch PMX Partial Mappel Crossover Phép lai ánh xạ phần OX Order Crossover Phép lai thứ tự MSCX Modified Sequential Constructive Crossover Phép lai MSCX DSA Digital Subtraction Angiography Tên hệ thống chụp động mạch RSM Reverse Sequence Mutation Đột biến đảo ngược trình tự THRORS Phép đột biến THRORS DANH MỤC CÁC BẢNG Bảng 1: Ma trận khoảng cách (chi phí) .35 Bảng 2: Danh sách liệu sử dụng .38 Bảng 3: Kết tốt đạt sử dụng chiến lược chọn lọc tỷ lệ tranh đấu 39 Bảng 4: Kết tốt đạt sử dụng phép lai OX, PMX MSCX 41 DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ Hình 1: Sơ đồ mạng máy tính .9 Hình 2: Đồ thị đầy đủ Hình 3: Đồ thị G ma trận kề đồ thị G 10 Hình 4: Đồ thị có hướng ma trận liên thuộc đỉnh – cạnh .11 Hình 5: Đồ thị G danh sách cạnh đồ thị G .11 Hình 6: Đồ thị G danh sách kề đồ thị G 11 Hình 7: Đồ thị G1, G2, G3 12 Hình 8: Đồ thị G1, G2, G3 13 Hình 9: Đồ thị đấu loại D5, Đồ thị đấu loại liên thông mạnh D6 .13 Hình 10: Mô hình giải thuật di truyền .17 Hình 11: Bài toán người du lịch 25 Hình 12: Một lời giải toán người du lịch 31 Hình 13: So sánh kết tốt đạt sử dụng chiến lược chọn lọc tỷ lệ tranh đấu liệu có kết thu khoảng từ 50.000 – 200.000 39 Hình 14: So sánh kết tốt đạt sử dụng chiến lược chọn lọc tỷ lệ tranh đấu liệu có kết thu khoảng từ 5.000 – 50.000 40 Hình 15: So sánh kết tốt đạt sử dụng chiến lược chọn lọc tỷ lệ tranh đấu liệu có kết thu khoảng từ – 5.000 40 Hình 16: So sánh kết tốt đạt sử dụng phép lai OX, PMX MSCX liệu có kết thu khoảng từ 5000 – 50.000 41 Hình 17: So sánh kết tốt đạt sử dụng phép lai OX, PMX MSCX liệu có kết thu khoảng từ 50.000 – 500.000 42 Hình 18: So sánh kết tốt đạt sử dụng phép lai OX, PMX MSCX liệu có kết thu khoảng từ – 5000 .42 Hình 19: So sánh kết tốt đạt sử dụng phép lai OX, PMX MSCX qua hệ (xét 500 hệ đầu) liệu wi29 43 Hình 20: So sánh kết tốt đạt sử dụng phép lai OX, PMX MSCX qua hệ (xét 10.000 hệ đầu) liệu gil262 43 Hình 21: So sánh kết tốt đạt sử dụng phép lai PMX MSCX qua hệ (xét 50.000 hệ đầu) liệu pr1002 44 MỞ ĐẦU Tính cấp thiết đề tài Bài toán người du lịch (Traveling Saleman Problem – TSP) toán nghiên cứu rộng rãi lĩnh vực khoa học máy tính Từ năm 1940, có nhiều báo, công trình nghiên cứu giải toán Tuy vậy, sau nửa kỷ nghiên cứu, toán chưa hoàn toàn giải Vì vậy, toán người du lịch xếp vào danh mục toán khó Không vậy, toán người du lịch có nhiều ứng dụng sống hàng ngày Sau nhiều năm nghiên cứu, nhiều giải pháp đưa nhằm giải toán người du lịch Đề tài “Áp dụng giải thuật di truyền giải toán người du lịch” thực nhằm đưa tìm hiểu khái quát giải thuật di truyền đặc biệt chế thực nguyên lý hoạt động Từ xây dựng chương trình hoàn chỉnh thuật giải cách áp dụng thuật giải di truyền vào giải toán người du lịch để đưa lời giải tốt thời gian ngắn Mục tiêu nghiên cứu Về mặt lý thuyết, trước tiên tác giả nghiên cứu kiến thức tảng sở lý thuyết thuật giải di truyền, toán người du lịch áp dụng giải thuật di truyền giải toán người du lịch Xây dựng chương trình thực nghiệm, đánh giá phân tích kết đạt Bố cục luận văn Cấu trúc luận văn gồm bốn chương với nội dung sau: Chương 1: Tổng quan sở lý thuyết: Chương giới thiệu sở lý thuyết đồ thị, giải thuật di truyền Chương 2: Bài toán người du lịch: Phát biểu toán người du lịch, nghiên cứu liên quan số ứng dụng toán thực tiễn Chương 3: Áp dụng giải thuật di truyền giải toán người du lịch Chương 4: Kết thực nghiệm: Các kết trình chạy thực nghiệm, so sánh, đánh giá đưa chương Áp dụng giải thuật di truyền giải toán người du lịch  Nếu r < q1 (tức r d(1,5) nên đỉnh chọn đưa vào nhiễm sắc thể Tương tự thực ta có 7ở đỉnh , đỉnh hợp lệ sau đỉnh không có, ta chọn đỉnh hợp lệ sau đỉnh xét Quay lại thực bước Tiếp tục thực ta có Theo [2], [19] tác giả giới thiệu hai phép lai có hiệu tốt đưa vào cài đặt để giải toán TSP, MSCX có hiệu tốt hai phép lai PMX OX Chính vậy, trình cài đặt thử nghiệm, luận văn lựa chọn phép lai MSCX với hai phép lai PMX OX để phân tích, so sánh, đánh giá hiệu phép lai 35 Áp dụng giải thuật di truyền giải toán người du lịch 3.5 Đột biến 3.5.1 Đột biến đảo ngược trình tự (RSM - Reverse Sequence Mutation) Đối với phương pháp đột biến này, đoạn nhiễm sắc thể chọn giới hạn hai vị trí i j chọn ngẫu nhiên, i < j Trình tự đoạn gen bị đảo ngược hoạt động đề cập trước Ví dụ: Điểm cắt Điểm cắt Điểm cắt Điểm cắt 3.5.2 Đột biến THRORS Chọn ngẫu nhiên gen có vị trí i< j< l Gen vị trí i gán vào vị trí j, gen vị trí j trước gán vào vị trí l, gen vị trí l trước gán vào vị trí i Ví dụ: 6 3.6 Chiến lược nạp lại quần thể Tạo số NST kích thước quần thể thay chúng cho bố mẹ có độ thích nghi thấp Đây coi chiến lược tối ưu Các NST tốt sống sót qua nhiều hệ Qua hệ, có số lượng định NST tồi bị thay Tuy chiến lược không kiểm tra NST cháu nạp vào có tốt bố mẹ bị loại hay không chắn NST cháu nạp vào tồi bị loại hệ tiếp Như đảm bảo qua nhiều hệ tính chất quần thể cải thiện 36 Áp dụng giải thuật di truyền giải toán người du lịch CHƯƠNG - KẾT QUẢ THỰC NGHIỆM 4.1 Dữ liệu thực nghiệm Luận văn sử dụng liệu cung cấp trang http://www.iwr.uniheidelberg.de/groups/comopt/software/TSPLIB95/ bao gồm toán nhiều nhóm nghiên cứu sử dụng Số thứ tự Tên liệu Số thành phố Kết tối ưu* Wi29 29 27603 Dj38 38 6656 Eil51 51 428 Pr76 76 108159 Rat99 99 1211 KroA100 100 21282 Bier127 127 118282 Ch150 150 6528 Tsp225 225 3916 10 Gil262 262 2378 11 Rat575 575 6773 12 Pr1002 1002 259045 * cung cấp địa http://www.iwr.uni-heidelberg.de/groups/comopt /software/TSPLIB95/STSP.html Bảng 2: Danh sách liệu sử dụng 4.2 Môi trường thực nghiệm Chương trình viết ngôn ngữ Java, dịch công cụ Eclipse, chạy hệ điều hành Windows 64 bit Các thông số phần cứng: CPU Intel® Core™ i5 2.53 GHz, nhớ RAM 4GB 38 Áp dụng giải thuật di truyền giải toán người du lịch 4.3 Kết thực nghiệm  So sánh chiến lược chọn lọc: Cài đặt giải thuật sử dụng phép lai PMX phép đột biến RSM, so sánh kết đạt hai chiến lược chọn lọc tỷ lệ (bánh xe roulette) lựa chọn tranh đấu Điều kiện dừng sử dụng 150.000 lần tính hàm thích nghi Tên liệu Lựa chọn tỷ lệ Lựa chọn tranh đấu Wi29 28684.158 27601.17 Dj38 7117.8164 6659.439 Eil51 451.53052 437.0156 Pr76 119712.41 110686.91 Rat99 1520.1378 1230.256 KroA100 27439.74 22663.928 Bier127 144248.72 124913.445 Ch150 10399.811 7104.476 Tsp225 7875.6353 4209.03 Số thứ tự Bảng 3: Kết tốt đạt sử dụng chiến lược chọn lọc tỷ lệ tranh đấu Hình 13: So sánh kết tốt đạt sử dụng chiến lược chọn lọc tỷ lệ tranh đấu liệu có kết thu khoảng từ 50.000 – 200.000 39 Áp dụng giải thuật di truyền giải toán người du lịch Hình 14: So sánh kết tốt đạt sử dụng chiến lược chọn lọc tỷ lệ tranh đấu liệu có kết thu khoảng từ 5.000 – 50.000 Hình 15: So sánh kết tốt đạt sử dụng chiến lược chọn lọc tỷ lệ tranh đấu liệu có kết thu khoảng từ – 5.000 Dựa kết thu bảng biểu đồ hình 13, 14 15, dễ nhận chiến lược chọn lọc tranh đấu sử dụng lựa chọn cặp cha - mẹ để tiến hành lai ghép đưa kết tốt so với chiến lược chọn lọc tỷ lệ Đối với liệu có số lượng đỉnh (thành phố) nhỏ, chênh lệch kết tốt đạt không lớn Khi số lượng đỉnh tăng lên, chênh lệch trở lên lớn Khi sử dụng chiến lược chọn lọc tranh đấu, cha mẹ tốt chọn số cá thể chọn ngẫu nhiên Vì vậy, khả đưa lời giải 40 Áp dụng giải thuật di truyền giải toán người du lịch cha mẹ tốt đa dạng để cải thiện hệ sau cao sử dụng chiến lược chọn lọc tỷ lệ (chỉ so sánh hai NST i-1 i)  So sánh hiệu đạt sử dụng chiến lược chọn lọc tranh đấu áp dụng với phép lai khác Số thứ tự Tên liệu OX PMX MSCX Wi29 27601.17 27601.17 27601.17 Dj38 6659.439 6659.439 6659.439 Eil51 436.05557 437.0156 428.9816 Pr76 110564.516 110686.91 109366.24 Rat99 1237.824 1230.256 1246.3992 KroA100 22027.453 22663.928 21496.332 Bier127 121829.88 124913.445 120412.36 Ch150 6948.237 7104.476 6656.437 Tsp225 4166.7095 4209.03 4090.7095 10 Gil262 2530.249 2722.378 2516.8599 11 Rat575 7831.414 8026.3975 7699.8 12 Pr1002 - 373007.16 304006.1 Bảng 4: Kết tốt đạt sử dụng phép lai OX, PMX MSCX Chi phí 30000 20000 OX 10000 PMX MSCX Wi29 Dj38 KroA100 Ch150 Bộ liệu Rat575 Optimal Hình 16: So sánh kết tốt đạt sử dụng phép lai OX, PMX MSCX liệu có kết thu khoảng từ 5000 – 50.000 41 Áp dụng giải thuật di truyền giải toán người du lịch Hình 17: So sánh kết tốt đạt sử dụng phép lai OX, PMX MSCX liệu có kết thu khoảng từ 50.000 – 500.000 Hình 18: So sánh kết tốt đạt sử dụng phép lai OX, PMX MSCX liệu có kết thu khoảng từ – 5000 Dựa theo thống kê biểu đồ so sánh kết bên trên, dễ dàng để nhận liệu có số đỉnh nhỏ, kết tốt đạt gần gần với kết tốt Khi số đỉnh tăng dần, chênh lệch kết tốt đạt tăng dần Vì vậy, kết luận việc cài đặt giải 42 Áp dụng giải thuật di truyền giải toán người du lịch thuật di truyền sử dụng phép lai MSCX đưa kết tốt nhiều so với hai phép lai OX PMX thường biết đến, đặc biệt liệu lớn Bên cạnh việc so sánh kết tốt đưa sau lần chạy thực nghiệm, luận văn phân tích kết tốt đưa hệ, so sánh hội tụ sử dụng phép lai OX, PMX MSCX Hình 19: So sánh kết tốt đạt sử dụng phép lai OX, PMX MSCX qua hệ (xét 500 hệ đầu) liệu wi29 Hình 20: So sánh kết tốt đạt sử dụng phép lai OX, PMX MSCX qua hệ (xét 10.000 hệ đầu) liệu gil262 43 Áp dụng giải thuật di truyền giải toán người du lịch Hình 21: So sánh kết tốt đạt sử dụng phép lai PMX MSCX qua hệ (xét 50.000 hệ đầu) liệu pr1002 Sự hội tụ kết tốt thu qua hệ sử dụng phép lai MSCX tốt PMX OX liệu nhỏ (wi29), liệu vừa (gil262) liệu lớn (pr1002) phương thức hoạt động MSCX dựa ma trận khoảng cách (ma trận chi phí) 4.4 Kết luận Qua trình nghiên cứu chạy thử nghiệm nhiều lần máy tính, giải thuật di truyền giải toán người du lịch với liệu có số lượng thành phố nhỏ thời gian ngắn Khi số lượng thành phố tăng lên, kết tốt đạt chưa gần với kết tối ưu thật Để khắc phục, việc tăng số hệ (vòng lặp) để hy vọng số hệ sau tìm kết mới, tốt kết trước Giải thuật di truyền sử dụng chọn lọc tranh đấu phép lai MSCX đạt hiệu tốt sử dụng với phép lai PMX OX Khi sử dụng phép lai MSCX, kết hội tụ nhanh qua hệ 44 Áp dụng giải thuật di truyền giải toán người du lịch 4.5 Hướng phát triển Với kiến thức tảng giải thuật di truyền toán người du lịch, tương lai, việc nghiên cứu tiếp tục với số hướng sau: - Đề xuất cài đặt thử nghiệm giải thuật di truyền kết hợp với số thuật toán khác - Đề xuất cài đặt thử nghiệm chiến lược chọn lọc cải tiến - Tiếp tục phát triển ứng dụng cho số lớp toán tối ưu khác 45 Áp dụng giải thuật di truyền giải toán người du lịch TÀI LIỆU THAM KHẢO [1] Applegate, D L.; Bixby, R M.; Chvátal, V.; Cook, W J., The Traveling Salesman Problem, ISBN 0-691-12993-2, 2006 [2] Dr.Sabry M Abdel-Moetty, Asmaa O Heakil, Enhanced Traveling Salesman Problem Solving using Genetic Algorithm Technique with modified Sequential Constructive Crossover Operator, International Journal of Computer Science and Network Security, VOL.12 No.6, June 2012 [3] Đinh Mạnh Tường, Trí tuệ nhân tạo, NXB Khoa học kỹ thuật.2002 [4] Gutin, G.; Yeo, A.; Zverovich, A, Traveling salesman should not be greedy: domination analysis of greedy-type heuristics for the TSP, Discrete Applied Mathematics 117 (1–3): 81–86, 2002 [5] Held, M.; Karp, R M (1962), A Dynamic Programming Approach to Sequencing Problems, Journal of the Society for Industrial and Applied Mathematics 10 (1): 196–210 [6] Hoàng Kiếm, Giải toán máy tính nào, NXB Giáo Dục [7] Hornik, Kurt, and Bettina Grün TSP-Infrastructure for the traveling salesperson problem Journal of Statistical Software 23.2, pp 1-21, 2007 [8] Ivan Brezina Jr.,ZuzanaCickova, Solving the Travelling Salesman Problem using the Ant colony Optimization, Management Information Systems, 2011 , Vol (6), No (4) [9] Johnson, D S.; McGeoch, L A (1997) The Traveling Salesman Problem: A Case Study in Local Optimization (PDF) In Aarts, E H L.; Lenstra, J K Local Search in Combinatorial Optimisation London: John Wiley and Sons Ltd pp 215– 310 46 Áp dụng giải thuật di truyền giải toán người du lịch [10] Lawrence V Snyder a,*, Mark S Daskin , A random-key genetic algorithm for the generalized traveling salesman problem, European Journal of Operational Research 174 (2006) 38–53, 2005 [11] Marco Dorigo Ant Colonies for the Traveling Salesman Problem IRIDIA, Université Libre de Bruxelles IEEE Transactions on Evolutionary Computation, 1(1):53–66 1997 [12] Michel Gendreau, Jean-Yves Potvin Handbook of Metaheuristics, Second Edition Springer, pp 61-70, 2010 [13] Milena Karova,VassilSmarkov,StoyanPenev, Genetic operators crossover and mutation in solving the TSP problem, International Conference on Computer Systems and Technologies - CompSysTech’ 2005 [14] Nguyễn Đình Thúc, Trí tuệ nhân tạo: Lập trình tiến hóa, NXB Giáo Dục, 2001 [15] Nguyễn Đức Nghĩa - Nguyễn Tô Thành, Toán rời rạc, NXB Đại học Quốc Gia Hà Nội.2003 [16] Nguyễn Đức Nghĩa, Phân tích thiết kế thuật toán: Nhập môn NP-đầy đủ, ĐH Bách Khoa Hà Nội, 2003 [17] Nguyễn Thanh Thủy, Công nghệ tri thức tính toán mềm: Giải thuật di truyền, ĐH Bách Khoa Hà Nội, 2003 [18] Nicos Christofides, Worst-case analysis of a new heuristic for the travelling salesman problem, Graduate School of Industrial Administration, CMU, 1976 [19] Otman ABDOUN, Jaafar ABOUCHABAKA, Chakir TAJANI, Analyzing the Performance of Mutation Operators to Solve the Travelling Salesman Problem, LaRIT Laboratory, Faculty of sciences, Ibn Tofail University, Kenitra, Morocco [20] Rong Yang, Solving Large Travelling Salesman Problems with Small Populations IEEE 1997 47 Áp dụng giải thuật di truyền giải toán người du lịch [21] S Lin, B.W Kernighan An effective heuristic algorithm for the traveling salesman problem Operations Research 21, pp 498-516, 1973 [22] X.H Shi , Y.C Liang, H.P Lee, C Lu, Q.X Wang, Particle swarm optimization-based algorithms for TSP and generalized TSP, Information Processing Letters 03 (2007) 169–176,2007 [23] Zakir H Ahmed, Genetic Algorithm for the Traveling Salesman Problem using Sequential Constructive Crossover Operator, International Journal of Biometrics & Bioinformatics (IJBB) Volume (3) Issue (6) 48 ... chương trình LISP (lập trình gen) 24 Áp dụng giải thuật di truyền giải toán người du lịch CHƯƠNG - BÀI TOÁN NGƯỜI DU LỊCH 2.1 Giới thiệu toán Bài toán người du lịch (Travelling Salesman problem... Hãy tìm hành trình cho tổng chi phí nhỏ Hình 11: Bài toán người du lịch 25 Áp dụng giải thuật di truyền giải toán người du lịch Bài toán người du lịch mô hình hóa sau:  Đầu vào: - n thành phố... cứu, nhiều giải pháp đưa nhằm giải toán người du lịch Đề tài Áp dụng giải thuật di truyền giải toán người du lịch thực nhằm đưa tìm hiểu khái quát giải thuật di truyền đặc biệt chế thực nguyên

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

Từ khóa liên quan

Mục lục

  • Lời cam đoan

  • Lời cảm ơn

  • Mục lục

  • Mở đầu

  • Chương 1

  • Chương 2

  • Chương 3

  • Chương 4

  • Tài liệu tham khảo

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

Tài liệu liên quan