so sánh các giải thuật song song metatheuristic trong việc giải bài toán TSP

82 805 2
so sánh các giải thuật song song metatheuristic trong việc giải bài toán TSP

Đ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

so sánh các giải thuật song song metatheuristic trong việc giải bài toán TSP

PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Thông tin sinh viên Họ tên sinh viên Điện thoại liên lạc Lớp: KSTN-CNTT Hệ đào tạo: Chính quy Đồ án tốt nghiệp thực tại: Hà Nội Thời gian làm ĐATN Mục đích nội dung ĐATN: So sánh hiệu vài giải thuật metaheuristic việc giải toán người du lịch Các mô hình song song hóa dựa MPI sử dụng để đánh giá cho giải thuật GA (gentetic algorithm) ,SA (simulated annealing), ACO ( Ant Colony Optimization) Các kết đánh giá dựa hiệu song song hóa mô hình song song cho giải thuật giải thuật khác Các nhiệm vụ cụ thể ĐATN • • • • Nghiên cứu toán TSP Tìm hiểu giải thuật metaheuristic hướng song song hóa Thực thi giải thuật song song hóa môi trường MPI So sánh ,phân tích đánh giá giải thuật Lời cam đoan sinh viên: Tôi Phạm Thái Sơn cam kết ĐATN công trình nghiên cứu thân hướng dẫn thầy Ngô Duy Hòa Các kết nêu ĐATN trung thực, chép toàn văn công trình khác Hà Nội, ngày tháng năm Tác giả ĐATN Họ tên sinh viên Xác nhận giáo viên hướng dẫn mức độ hoàn thành ĐATN cho phép bảo vệ: Hà Nội, ngày tháng năm Giáo viên hướng dẫn 1| Sinh viên thực hiện: Lớp KSTN-CNTT TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP Mục đích toán tối ưu tổ hợp tìm lời giải tốt lời giải không gian tìm kiếm lời giải toán rời rạc Nhiều toán tối ưu tổ hợp có độ phức tạp tính toán cao phân lọai thuộc lớp NP khó Việc tìm lời giải tối ưu cho toán cho hệ thống song song lớn hoàn thành giới hạn thời gian cho phép kỹ thuật heuristic cho việc giải toán tổ hợp theo hướng xấp xỉ phát triển để tìm lời giải gần tối ưu (hay xấp xỉ )trong giới hạn thời gian cho phép Bài toán người du lịch (TSP) toán cổ điển thuộc lớp NP nghiên cứu sâu lĩnh vực tối ưu tổ hợp Metaheuristic cách gọi chung cho giải thuật heuristic việc giải toán tổ hợp khó Metaheuristic bao gồm chiến lược khác việc khám phá không gian tìm kiếm cách sử dụng phương thức khác phải đạt cân tính đa dạng chuyên sâu không gian tìm kiếm Một cài đặt thành công metaheuristic toán tổ hợp phải cân khai thác kinh nghiệm thu thập trình tìm kiếm để xác định vùng với lời giải có chất lượng cao gần tối ưu Những ví dụ metaheuristic bao gồm giải thuật luyện thép (SA) , giải thuật di truyền (GA) , giải thuật đàn kiến (ACO) ,…Giải thuật đàn kiến metaheuristic dùng chiến lược kiến giới thực để giải toán tối ưu SA xuất phát từ phương thức xác suất kỹ thuật luyện bao gồm việc nung điều khiển làm nguội kim loại để đạt trạng thái lượng nhỏ Trong giải thuật di truyền dựa ý tưởng từ chế di truyền sinh học tiến trình tiến hóa cộng đồng cá thể lòai Với độ phức tạp tính toán cao toán tối ưu tổ hợp đòi hỏi mặt thời gian , việc giải toán yêu cầu cần phải có cài đặt song song hóa hiệu giải thuật để giải chúng Song song hóa giải thuật metaheuristic phải đạt yêu cầu : đa dạng hóa để khám phá nhiều vùng không gian tìm kiếm tăng tốc độ tìm kiếm Nhiều mô hình song song hoái đề xuất cho nhiều metaheuristic ACO GA cách tiếp cận dựa tập cá thể tự nhiên cho việc xử lý song song Tuy nhiên SA vốn mang tính chậm cho toán với không gian tìm kiếm lớn có vài kỹ thuật song song hóa áp dụng để tăng tốc độ tìm kiếm Đồ án nhằm mục đích nghiên cứu ,cài đặt thực tế giải thuật song song hóa metaheuristic nhằm mục đích so sánh hiệu giải thuật khả song song hóa mô hình song song cho việc tìm kiếm lời giản gần tối ưu tóan TSP Các mô hình song song đề xuất cho giải thuật đàn kiến, luyện thép giải thuật di truyền Mô hình thực nghiệm dùng MPI vài toán thư viện TSPLIB 2| Sinh viên thực hiện: Lớp KSTN-CNTT Lời cảm ơn Lời em xin gửi lời cảm ơn sâu sắc đến thầy Ngô Duy Hòa, thầy tận tình bảo hướng dẫn em suốt trình thực tập làm đồ án để em hoàn thành tốt đồ án tốt nghiệp mình! Tiếp đến em xin gửi lời cảm ơn chân thành đến thầy cô khoa Công Nghệ Thông Tin, thầy cô trường Đại học Bách Khoa Hà Nội dày công dạy dỗ em suốt năm học trường Em xin chân thành cảm ơn thầy cô môn Khoa học máy tính luôn tạo cho chúng em môi trường học tập tốt trường Em xin gửi lời biết ơn chân thành sâu sắc đến bố mẹ gia đình Cuối cùng, cảm ơn tất bạn bè luôn giúp đỡ sống học tập! Đại học Bách Khoa Hà Nội 3| Sinh viên thực hiện: Lớp KSTN-CNTT Mục lục Danh mục hình vẽ sử dụng Danh mục từ viết tắt 10 Tổng quan 11 Giới thiệu chung 11 1.Các kiến thức 13 1.1 Các khái niệm đồ thị 13 Định nghĩa đồ thị 13 1.1.1 Các thuật ngữ .15 1.1.2 Đường đi, chu trình đồ thị liên thông 16 1.1.3 Chu trình Euler .17 1.1.4 Chu trình Hamilton 18 1.1.5 Đồ thị có trọng số 19 1.1.6 Các cấu trúc liệu biểu diễn đồ thị .19 1.2 Khái niệm lớp toán P NP 20 1.1.1 Khái niệm loại thời gian tính .20 1.1.2 Bằng chứng ngắn gọn dễ kiểm tra 21 1.1.3 Khái niệm quy dẫn 22 1.1.4 Lớp toán P 22 1.1.5 Lớp toán NP .22 1.1.6 Lớp toán Co-NP 23 1.1.7 Lớp toán NP-đầy đủ (NP-Complete) 23 1.1.8 Lớp toán NP- khó (NP-Hard) 23 1.3 Các thuật toán xấp xỉ .24 4| Sinh viên thực hiện: Lớp KSTN-CNTT 1.4 Bài toán tối ưu hóa tổ hợp (Combinatorial optimization) 26 Bài toán tối ưu hóa tổ hợp tĩnh (Static Combinatorial optimization): .26 Bài toán tối ưu hóa tổ hợp động (Dynamic Combinatorial optimization): 26 2.Bài toán người du lịch 27 1.5 Giới thiệu toán 27 1.6 Lịch sử toán TSP 28 1.7 Mô tả toán TSP 29 1.8 Phân loại toán 29 Đối xứng bất đối xứng 29 Với khoảng cách metric 30 Với khoảng cách không metric .30 1.9 Các giải thuật giải toán TSP 31 Các giải thuật để tìm lời giải xác 31 Heuristic giải thuật xấp xỉ .32 3.Giao thức truyền gói tin(MPI) vấn đề song song hóa 33 1.10 Kiến trúc máy tính song song 33 1.11 Phân tách toán .34 1.12 Phân tách liệu 34 1.13 Phân tách công việc .34 1.14 Song song hóa liệu mô hình truyền tin .35 1.15 Tối ưu chương trình song song .35 1.16 Phân chia công việc 35 1.17 Tối thiểu hóa trao đổi liệu 36 1.18 Giảm chồng chéo trao đổi liệu tính toán: 36 1.19 MPI 36 5| Sinh viên thực hiện: Lớp KSTN-CNTT 1.20 Lịch sử phát triển MPI 37 1.21 Mục đích MPI .37 1.22 Các đặc tính chương trình MPI 38 4.Giải thuật di truyền di truyền song song 39 1.23 Giới thiệu giải thuật di truyền 39 4.1.1 Lịch sử phát triển: 39 1.24 Các khái niệm 40 4.1.2 Cá thể, nhiễm sắc thể 40 4.1.3 Quần thể 41 4.1.4 Các toán tử di truyền 41 1.25 Mô hình giải thuật di truyền 41 1.26 Các tham số GA .43 Xác suất lai ghép .43 Xác suất đột biến 43 Kích thước quần thể 43 1.27 Các cách mã hoá NST 43 Mã hoá nhị phân .44 Mã hoá hoán vị .44 Mã hoá theo giá trị 44 1.28 Khởi tạo quần thể ban đầu 45 Hàm tính độ thích nghi 45 Cơ chế lựa chọn 45 Lựa chọn tỷ lệ 45 Lựa chọn xếp hạng 46 Lựa chọn theo chế lấy mẫu ngẫu nhiên .46 6| Sinh viên thực hiện: Lớp KSTN-CNTT Lựa chọn tranh đấu 46 1.29 Các toán tử di truyền (GA operators) 46 Mã hoá nhị phân .47 Mã hoá hoán vị .47 Mã hoá theo giá trị 48 1.30 Chiến lược nạp lại quần thể 48 Nạp lại hoàn toàn 48 Nạp lại ngẫu nhiên 49 Nạp lại theo mô hình cá thể ưu tú 49 1.31 GA song song .49 4.1.5 Giới thiệu 49 4.1.6 Các giải thuật GA song song 50 4.1.7 Mô hình GA song song đa quần thể phân tán 52 5.Thuật toán bầy kiến bầy kiến song song 56 1.32 Sơ đồ chung thuật toán bầy kiến 56 5.1.1 Giới thiệu chung thuật toán bầy kiến 56 5.1.2 Nội dung thuật toán 62 1.33 Các sơ đồ thuật toán 66 5.1.3 Thuật toán Ant System (AS) .66 5.1.4 Thuật toán Ant Colony System(ACS) 68 5.1.5 Thuật toán Max–Min Ant System(MMAS) .69 5.1.6 Thuật toán Rank-Based Ant System(RBAS) 71 5.1.7 Thuật toán Best-Worst Ant System(BWAS) 72 1.34 Thuật toán đàn kiến song song 73 6.Giải thuật luyện thép 75 7| Sinh viên thực hiện: Lớp KSTN-CNTT 1.35 Giới thiệu giải thuật luyện thép 75 1.36 Sơ đồ giải thuật 75 1.37 Giải thuật luyện thép song song 77 6.1.1 Song song chia nhỏ liệu .77 6.1.2 Mô hình chạy nhiều lần 77 6.1.3 Các bước di chuyển song song 78 7.Cài đặt giải thuật ,kết đánh giá 79 1.38 Môi trường cài đặt .79 1.39 Thư viện toán 79 1.40 Kết thực 79 1.41 So sánh đánh giá .80 8| Sinh viên thực hiện: Lớp KSTN-CNTT Danh mục hình vẽ sử dụng Hình 13 Hình 14 Hình 14 Hình 24 Hình 29 Hình 42 Hình 51 Hình 55 Hình 55 9| Sinh viên thực hiện: Lớp KSTN-CNTT Danh mục từ viết tắt ACO ACS AS TSP SA GA PGA PSA TSP BFS DFS Pheromone Thuật toán tối ưu bầy kiến Hệ thống bầy kiến Hệ thống kiến Bài toán người du lichj Giải thuậ luyện thép Giải thuật di truyền Giải thuật di truyền song song Giải thuậ luyện thép song song Bài toán người du lịch Thuật toán tìm kiếm theo chiều sâu Thuật toán tìm kiếm theo chiều rộng Thông tin mùi PACO Thuật toán tối ưu bầy kiến song song 10 | Sinh viên thực hiện: Lớp KSTN-CNTT 15 end Procedure 5.1.4 Thuật toán Ant Colony System(ACS) Phát triển từ thuật toán AS với số cải thiện sau:  Sử dụng luật khác cho việc di chuyển, gọi pseudo-random proportional rule Gọi k kiến đứng nút r q0 tham số, giá trị ngẫu nhiên q Trong giá trị q q0 khoảng (0,1) Nút s chọn để di chuyển kiến k tới chọn sau: If q ≤ qo : prsk s = arg max {τ ru ηruβ }, 1, = 0, u ∈ Nk ( r ) trái l¹i else ( q > qo ) :   k prs =   0, α τ rs  ηrs  ∑ u∈N α k r β τ ru  ηru  β , s ∈ N k (r ) trái l¹i  Có Daemon action, thực việc cập nhật pheromone với lời giải Sglobal-best Cập nhật theo công thức sau: τ rs ¬ (1 − p ).τ rs , ∀ars ∈ S global −best , τ rs ¬ τ rs + p f (C ( S global −best )), ∀ars ∈ S global −best  Áp dụng online step-by-step pheromone update τ rs ¬ (1 − ϕ ).τ rs + ϕ τ Trong φ tham số để giảm pheromone thứ hai sau ρ Còn chọn tham số bé (như ngưỡng pheromone) Tóm tắt thuật toán sau: Procedure new_ant (ant_id) k = ant_id ; r = generate_initial_state ; S k = r Lk = r while (current-state ≠ target_state) for each s ∈ N k (r ) compute brs =τ rs ηrsβ q = generate_random_value_in_[0 , 1] If ( q τ rs = (1 − ϕ ).τ rs + ϕ τ 0: Lk = Lk ∪ r 10 end while 11 12 release_ant_resources (ant_id) 13 end Procedure Và thủ tục cập nhật: Procedure daemon_actions for each Sk local_search ( S k ) {optional} Scurrent −best = best_solution ( Sk ) if (better ( Scurrent −best , S global −best )) S global −best = Scurrent −best end if for each edge ars ∈ S global −best { the pheromone_evaporation ( ) procedure triggers and evaporates pheromone in every edge ars : τ rs = ( − p ) τ rs } τ rs =τ rs + p f ( C ( S global −best ) ) end for 10 end Procedure 5.1.5 Thuật toán Max–Min Ant System(MMAS) Được phát triển Stutzle Hooss vào năm 1996, mở rộng lên từ hệ thống AS Một số đặc điểm mở rộng từ hệ thống AS sau  Giống ACS, MMAS thực offline pheromone trail update, tức sau toàn kiến đàn hoàn thành lời giải việc cập nhật tiến hành cho lời giải tối ưu Đầu tiên thực bay bớt thông tin pheromone (pheromone evaporation) tất cạnh 69 | Sinh viên thực hiện: Lớp KSTN-CNTT τ rs ¬ ( − ρ ) τ rs Sau có cạnh thuộc lời giải tốt cập nhật thông tin pheromone τ rs ¬ τ rs + f ( C ( Sbest ) ) , ∀ars ∈ Sbest Thông thường MMAS lời giải tinh chỉnh cách tối ưu cục (local optimizer) trước cập nhật thông tin pheromone  Một cải tiến quan trọng hệ thống MMAS việc thêm vào giới hạn cận thông tin Pheromone ( τ max τ ), điều giúp tránh hội tụ điểm tối ưu cục Khởi tạo tất thông số Pheromone giá trị cận để ưu tiên việc khai phá không gian tìm kiếm Cận τ max thường chọn giá trị lớn mà Pheromone đạt vòng lặp cuối * τ max = 1/( p C ( S * )) Trong S lời giải tối ưu, lời giải tối ưu trước nên thông thường thay Sglobal-best tính toán Cách chọn cận τ , thông thường người ta chọn τ để thỏa mãn theo tỷ lệ cận cận τ max / τ = 2n Do tính τ = τ max / 2n Tỉ lệ phải chọn không nên cao, xác suất để chọn đường có mức độ Pheromone thấp nhỏ Mặt khác chọn tỉ lệ lớn xác suất chọn đường co Pheromone cao gần với xác suất chọn đường có mức độ Pheromone thấp  Khi khởi tạo thông tin pheromone cho thành phần tất nhận giá trị lớn Pheromone τ max nhằm tăng cường việc khai phá không gian tìm kiếm Một ý hệ thống MMAS xảy hội tụ cục có chế khởi tạo lại thông tin pheromone cho nút giá trị để khởi tạo lại τ max Hàm cập nhật Daemon action thuật toán MMAS sau: Procedure daemon_actions for each Sk local_search ( S k ) Scurrent −best = best_solution ( Sk ) if (best ( Scurrent −best , S global −best )) S global −best = Scurrent −best end if Sbest = decision ( S global −best , Scurrent −best ) for each edge ars ∈ Sbest τ rs =τ rs + f ( C ( Sbest ) ) 70 | Sinh viên thực hiện: Lớp KSTN-CNTT 10 if ( τ rs [...].. .So sánh các giải thuật song song Metaheuristic trong việc giải bài toán TSP Tổng quan Bài viết này so sánh hiệu quả của một vài giải thuật metaheuristic trong việc giải bài toán người du lịch Các mô hình song song hóa dựa trên MPI được sử dụng để đánh giá cho các giải thuật GA (gentetic algorithm) ,SA (simulated annealing), ACO ( Ant Colony Optimization) Các kết quả đánh giá dựa trên hiệu quả song. .. cho việc xử lý song song Tuy nhiên SA thì vốn đã mang tính tuần tự và rất chậm cho các bài toán với không gian tìm kiếm lớn nhưng vẫn có một vài kỹ thuật song song hóa có thể được áp dụng để tăng tốc độ tìm kiếm Đồ án nhằm mục đích nghiên cứu ,cài đặt thực tế các giải thuật song song hóa metaheuristic nhằm mục đích so sánh hiệu quả của từng giải thuật và khả năng song song hóa của các mô hình song song... mặt thời gian , việc giải các bài toán này yêu cầu cần phải có những cài đặt song song hóa hiệu quả của các giải thuật để giải quyết chúng Song song hóa các giải thuật metaheuristic phải đạt được 2 yêu cầu : đa dạng hóa để khám phá được nhiều vùng trong không gian tìm kiếm và tăng tốc độ tìm kiếm Nhiều mô hình song song hoái đã được đề xuất cho nhiều metaheuristic ACO và GA đều là các cách tiếp cận... Lớp bài toán NP-đầy đủ (NP-Complete) Định nghĩa Một bài toán quyết định A được gọi là NP-đầy đủ (NP-Complete) nếu như:  A là một bài toán trong NP  Mọi bài toán trong NP đều có thể quy dẫn về A Bổ đề Giả sử bài toán A là NP-đầy đủ, bài toán B thuộc NP, và bài toán A qui dẫn được về bài toán B Khi đó bài toán B cũng là NP-đầy đủ 1.1.8 Lớp bài toán NP- khó (NP-Hard) Một cách ngắn gọn có thể hiểu bài toán. .. toán NP-khó là bài toán mà không có thuật toán thời gian tính đa thức để giải nó trừ khi P = NP, mà chỉ có các thuật toán giải trong thời gian hàm mũ Sau đây là định nghĩa chính thức của bài toán NP-khó Định nghĩa Một bài toán A được gọi là NP- khó (NP-hard) nếu như sự tồn tại thuật toán đa thức để giải nó kéo theo sự tồn tại thuật toán đa thức để giải mọi bài toán trong NP Một số bài toán NP-khó tiêu... lời giải s ⊆ S Bài toán tối ưu hóa tổ hợp có thể chia 2 loại: Bài toán tĩnh và bài toán động  Bài toán tối ưu hóa tổ hợp tĩnh (Static Combinatorial optimization): Là bài toán tối ưu hóa tổ hợp trong đó cấu trúc (topology) và giá (cost) không thay đổi khi bài toán đang được giải quyết Ví dụ là bài toán người du lịch Khi thực hiện thuật toán để giải bài toán vị trí các thành phố, khoảng cách giữa các. .. phương ( local minimum ) Kỹ thuật V-opt được xem như một trong số những heuristic mạnh cho bài toán và có thể giải quyết các trường hợp đặc biệt, như bài toán chu trình Hamilton và những bài toán TSP không phải metric mà những heuristic khác không giải quyết được 3 Giao thức truyền gói tin(MPI) và các vấn đề song song hóa 1.10 Kiến trúc máy tính song song Máy tính song song có hai kiến trúc cơ bản:... quả song song hóa của các mô hình song song cho cùng 1 giải thuật và giữa các giải thuật khác nhau Keyword : parallel metaheuristic , gentetic algorithm , simulated annealing, ant colony optimization , MPI , TSP , speedup Giới thiệu chung Mục đích của bài toán tối ưu tổ hợp là tìm lời giải tốt nhất trong các lời giải có thể và không gian tìm kiếm lời giải của bài toán là rời rạc Nhiều bài toán tối... phức tạp tính toán cao và được phân lọai thuộc lớp NP khó Việc tìm ra lời giải tối ưu cho các bài toán này cho các hệ thống song song lớn nhất cũng không thể hoàn thành được trong giới hạn thời gian cho phép vì vậy các kỹ thuật heuristic cho việc giải các bài toán tổ hợp theo hướng xấp xỉ đã được phát triển để tìm ra các lời giải gần tối ưu (hay xấp xỉ ) trong giới hạn thời gian cho phép Bài toán người... đó thời gian rỗi của các bộ xử lý là không được sử dụng Trong trường hợp này, mô hình phân tách công việc hay song song hóa công việc là hiệu quả hơn mô hình phân tách dữ liệu Trong song song hóa công việc, bài toán được phân chia thành một số lượng lớn 34 | Sinh viên thực hiện: Lớp KSTN-CNTT các nhiệm vụ nhỏ hơn và các công việc nhỏ được gán cho các bộ xử lý một cách phù hợp Các bộ xử lý sẽ kết thúc ... Lớp KSTN-CNTT So sánh giải thuật song song Metaheuristic việc giải toán TSP Tổng quan Bài viết so sánh hiệu vài giải thuật metaheuristic việc giải toán người du lịch Các mô hình song song hóa dựa... hình song song master-slave mô hình song song dạng đơn quần thể Trong mô hình song song đơn quần thể gồm hai kiểu mô hình GA song song khách-chủ GA song song đơn dân số phân tán Mô hình GA song song... kỹ thuật song song hóa áp dụng để tăng tốc độ tìm kiếm Đồ án nhằm mục đích nghiên cứu ,cài đặt thực tế giải thuật song song hóa metaheuristic nhằm mục đích so sánh hiệu giải thuật khả song song

Ngày đăng: 29/10/2015, 18:35

Từ khóa liên quan

Mục lục

  • 1.1 Các khái niệm cơ bản về đồ thị

    • 1.1.1.1 Định lý Bondy-Chvátal

    • 1.1.1.2 Định lý Bondy-Chvátal (1972)

    • 1.1.1.3 Định lý Dirac (1952)

    • 1.1.1.4 Định lý Ore (1960)

    • 1.1.1.5 Các cấu trúc danh sách

    • 1.1.1.6 Các cấu trúc ma trận

    • 1.2 Khái niệm về lớp các bài toán P và NP

    • 1.3 Các thuật toán xấp xỉ

    • 1.4 Bài toán tối ưu hóa tổ hợp (Combinatorial optimization)

    • 1.5 Giới thiệu bài toán

    • 1.6 Lịch sử bài toán TSP

    • 1.7 Mô tả bài toán TSP

    • 1.8 Phân loại bài toán

    • 1.9 Các giải thuật giải bài toán TSP

      • 1.9.1.1 Heuristics xây dựng

      • 1.9.1.2 Cải tiến từng bước

      • 1.10 Kiến trúc máy tính song song

      • 1.11 Phân tách bài toán

      • 1.12 Phân tách dữ liệu

      • 1.13 Phân tách công việc

      • 1.14 Song song hóa dữ liệu và mô hình truyền tin

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

Tài liệu liên quan