phương pháp tối ưu hoá đàn kiến

43 682 5
phương pháp tối ưu hoá đàn kiến

Đ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

TRƯỜNG …………………. KHOA……………………….  Báo cáo tốt nghiệp Đề tài: PHƯƠNG PHÁP TỐI ƯU HOÁ ĐÀN KIẾN TÓM TẮT Phương pháp tối ưu hóa đàn kiến (Ant Colony Optimization – ACO) là một phương pháp mới mà ngày nay người ta rất quan tâm vì những hiệu quả nổi trội của nó so với các phuoeng pháp khác trong giải quyết các bài toán tối ưu hóa tổ hợp (Combinatorial optimization problems). Khóa luận này trình bày một cách khái quát về phương pháp tối ưu hóa đàn kiến (Ant Colony Optimization), và trình bày một phương pháp áp dụng của thuật toán tối ưu hóa đàn kiến cho bài toán người chào hàng động (Dynamic Travelling Salesman Problem - DTSP) đã được công bố. Khóa luận đã cài đặt và kiểm chứng hiệu quả của thuật toán đồng thời đưa ra một cải tiến đối với thuật toán để nâng cao hiệu quả trong trường hợp bài toán đầu vào có kích thước lớn. MỤC LỤC TÓM TẮT BẢNG TỪ VIẾT TẮT MỞ ĐẦU 1 CHƯƠNG 1. GIỚI THIỆU PHƯƠNG PHÁP ACO 3 1.1. Giới thiệu 3 1.2. Quá trình phát triển 6 1.3. Một số thuật toán ACO áp dụng cho bài toán TSP 9 1.3.1. Bài toán TSP 10 1.3.2. Ant System (AS) 12 1.3.3. Max-Min Ant System (MMAS) 15 1.3.4. Ant Colony System (ACS) 17 1.3.5. Hệ kiến đa mức (xem [15]) 19 1.4. Các nguyên tắc khi áp dụng tối ưu đàn kiến 20 1.4.2. Xác định các vệt mùi 21 1.4.3. Các thông tin heuristic 22 1.4.4. Kết hợp tìm kiếm địa phương 22 1.4.5. Điều chỉnh giữa sự học tăng cường và sự khám phá 23 1.4.6. Sử dụng giới hạn danh sách láng giềng 24 1.5. Các ứng dụng của ACO 25 CHƯƠNG 2. GIỚI THIỆU BÀI TOÁN DTSP 26 2.1. Bài toán DTSP 26 2.2. Các phương pháp giải bài toán DTSP 26 CHƯƠNG 3. SỬ DỤNG THUẬT TOÁN AS ĐỂ GIẢI QUYẾT BÀI TOÁN DTSP 28 3.1. Phân tích bài toán 28 3.2. Cải tiến AS cho phù hợp 29 CHƯƠNG 4. THỰC NGHIỆM VÀ ĐÁNH GIÁ 31 4.1. Thực nghiệm trên tsplib eil51 32 4.2. Nhận xét 34 PHẦN 5. KẾT LUẬN 37 THAM KHẢO 38 BẢNG TỪ VIẾT TẮT STT Từ viết tắt Từ hoặc cụm từ 1 ACO Ant Colony Optimization (Tối ưu hóa đàn kiến) 2 AS Ant System (Hệ kiến AS) 3 ACS Ant Colony System (Hệ kiến ACS) 4 MMAS Max-Min Ant System (Hệ kiến MMAS) 6 MLAS Multi-level Ant System (Hệ kiến đa mức MLAS) 9 TSP Travelling Salesman Problem (Bài toán người chào hàng) 10 JSS Job shop scheduling (Bài toán lập lịch sản xuất) 11 g-best global-best 12 i-best iteration-best 1 MỞ ĐẦU Hiện nay có rất nhiều bài báo, luận văn, cũng như các công trình nghiên cứu đề cập đến vấn đề tối ưu tổ hợp. Nhiều phương pháp mới mẻ đã được đưa ra và đạt hiệu quả cao. Tuy nhiên phần lớn các bài toán tối ưu tổ hợp được giải từ trước tới nay đều là các bài toán tĩnh. So với bài toán tĩnh thì bài toán động phức tạp hơn và ứng dụng của nó trong thực tế là nhiều hơn. Chẳng hạn các ứng dụng trong định tuyến các gói tin trên mạng internet, trong các tổng đài điện thoại. Một trong những cách tiếp cận có hiệu quả đối với bài toán tối ưu tổ hợp tĩnh đó là phương pháp tối ưu hóa đàn kiến (Ant Colony Optimization- ACO). ACO là một phương pháp metaheuristic mới và đang được nhiều người quan tâm. Thuật toán ACO đầu tiên (1991) đã mang lại nhiều ý tưởng và cảm hứng với mục đích cải tiến các thuật toán ACO để có thể áp dụng nó cho nhiều bài toán khác nhau. Luận văn này trình bày một cách khái quát về các thuật toán ACO và kiểm chứng một phương pháp áp dụng ACO việc giải quyết bài toán ngươi chào hàng động (Dynamic Travelling Salesman Problem- DTSP) một dạng bài toán tối ưu tổ hợp động. DTSP thực chất là mở rộng của bài toán người chòa hàng (Travelling Salesman Problem - TSP) nổi tiếng. Đồng thời luận văn cũng chỉ ra nhược điểm của thuật toán và đề xuất một cải tiến cho thuật toán nhằm nâng cao hiệu quả khi phải giải quyết bài toán có kích thước lớn. Các kết quả thực nghiệm sẽ được đưa ra làm rõ cho cho hiệu quả của cải tiến thuật toán. Luận văn gồm có 5 chương. Chương 1 giới thiệu phương pháp tối ưu hóa đàn kiến: quá trình phát triển, các thuật toán ACO áp dụng cho bài toán người chào hàng (Travelling Salesman Problem - TSP), và một số ứng dụng của ACO. Chương 2 luận văn giới thiệu về bài toán DTSP và các phương pháp để giải bài toán này. Chương 3 luận văn đề cập đến một phương pháp sử dụng thuật toán Hệ kiến (Ant System - AS) là một thuật toán trong lớp các thuật toán ACO, để giải quyết bài toán DTSP, chương này cũng đề cập đến một điều chỉnh thuật toán được đề xuất để cải tiến hiệu quả thuật toán. 2 Chương 4 là phần cài đặt thực nghiệm kiểm chứng đánh giá thuật toán cũng như đánh giá hiệu quả của cải tiến được đề xuất. Ở đây luận văn sử dụng thư viện TSP chuẩn được cung cấp trên mạng để làm đầu vào. Chương 5 là phần kết luận cuối cùng. 3 CHƯƠNG 1. GIỚI THIỆU PHƯƠNG PHÁP ACO Bài toán tối ưu hóa tổ hợp là bài toán hấp dẫn và thú vị bởi vì phần lớn chúng đều dễ để hình dung nhưng khó mà tìm ra lời giải cho chúng. Nhiều bài toán tối ưu tổ hợp là các bài toán NP-khó và chúng không thể giải được trong thời gian đa thức. Trên thực tế người ta thường giải quyết các bài toán này bằng các phương pháp xấp xỉ, chúng có nghiệm gần tối ưu và thời gian chạy khá ngắn. Các thuật toán thuộc lại này tạm gọi là các thuật toán heuristic , chúng được sử ụng để giải quyết các bài toán cụ thể . Mở rộng của chúng là các thuật toán metaheuristic có thể giải quyết được cả một lớp các bài toán rộng lớn. ACO là một phương pháp theo hướng tiếp cận như thế. 1.1. Giới thiệu Phương pháp tối ưu hóa đàn kiến (Ant Colony Optimization - ACO) là một mô hình để thiết kế các thuật toán metaheuristic cho việc giải quyết bài toán tối ưu hóa tổ hợp (Combinatorial optimization problems). Bài toán tối ưu hóa tổ hợp Bài toán tối ưu hóa tổ hợp được định nghĩa như sau: Cho một tập C = {c 1 , c 2 , c n }. Một tập con S của C là một phương án để giải quyết bài toán. Tập F  2 C là tập tất cả các phương án có thể, vì thế S là một phương án khả thi nếu S  F. Một hàm giá trị z xác định như sau, z : 2 C  R, mục tiêu là tìm phương án khả thi S* có giá trị nhỏ nhất: S*  F và z(S*)  z(S),  S  F. Nhiều bài toán tối ưu quan trọng trong lý thuyết và thực tế là các bài toán thuộc loại tối ưu hóa tổ hợp. Ví dụ, bài toán tìm đường đi ngắn nhất, cũng như nhiều bài toán có ý nghĩa quan trọng khác trên thực tế như bài toán người chào hàng, bài toán phân công lao động, bài toán định tuyến mạng, bài toán lập lịch công việc, bài toán lập lịch bay cho các hãng hàng không, và nhiều bài toán khác nữa. 4 Một bài toán tối ưu hóa tổ hợp hoặc thuộc loại tìm giá trị nhỏ nhất hoặc là thuộc loại bài toán tìm giá trị lớn nhất. Các phương pháp giải loại bài toán này phần lớn là các phương pháp tìm kiếm heuristic (các thuật toán metaheuristic). Sau đây là các thuật toán đã được sử dụng:  Thuật toán tìm kiếm cục bộ (Local search)  Thuật toán mô phỏng luyện kim (Simulated annealing)  Thuật toán GRASP(Greedy Randomized Adaptive Search Procedure)  Thuật toán bầy đàn (Swarm intelligence)  Thuật toán tìm kiếm theo bảng(Tabu search)  Thuật toán di truyền (Genetic algorithms)  Thuật toán tối ưu hóa đàn kiến (Ant colony optimization) Metaheuristic Metaheuristic là một tập các lý thuyết thuật toán được dùng để xác định các phương pháp heuristic sao cho nó phù hợp với một lớp bài toán rộng lớn. Nói cách khác metaheuristic có thể được xem như là một phương pháp heuristic có tính tổng quát, nó được thiết kế để hướng dẫn các heuristic trong các bài toán cơ bản hướng về những miền hứa hẹn trong không gian tìm kiếm các phương án tối ưu. Một metaheuristic là khung thuật toán tổng quát có thể áp dụng cho nhiều loại bài toán tối ưu khác nhau tất nhiên là cùng với những điều chỉnh nho nhỏ để làm cho chúng trở nên phù hợp với các bài toán cụ thể. Tối ưu hóa đàn kiến (ACO) ACO là một metaheuristic có thể áp dụng để giải quyết rất nhiều bài toán tối ưu tổ hợp, thuật toán đầu tiên đã được phân loại trong lớp các thuật toán ACO được đưa ra năm 1991(tham khảo [2], [3]) và kể từ đó nguyên tắc căn bản đã có nhiều thay đổi khác nhau. Đặc điểm cơ bản của các thuật toán ACO là sự kết hợp giữa thông tin heuristic dựa vào đặc điểm của phương án có nhiều hứa hẹn và thông tin nhận được qua các phương án tốt đã tìm được ở bước trước. Các thuật toán metaheuristic là các thuật toán để tránh hiện tượng tối ưu cục bộ, nó điều chỉnh các heuristic: hoặc là heuristic tạo ra bắt đầu từ một phương án trống sau đó thêm các thành phần để nó trở 5 thành phương án hoàn chỉnh và tốt, hoặc là heuristic tìm kiếm cục bộ bắt đầu từ một phương án hoàn chỉnh sau đó thay đổi lại một số thành phần để đạt được một phương án tốt hơn. ACO (tham khảo [5]) bao gồm một lớp các thuật toán trong đó thuật toán đầu tiên là Ant System (AS) được đề xuất bởi Colorni, Dorigo và Maniezzo (tham khảo [2], [3], [4]). Ý tưởng chính làm cơ sở của thuật toán là lấy cảm hứng từ hành vi của đàn kiến trong tự nhiên, đó là quá trình tìm kiếm các lời giải song song dựa vào các dữ liệu cục bộ và dựa vào cấu trúc động chứa các thông tin thu được qua các bược giải trước. Sự tổng hợp các hành vi nổi trội từ quá trình giao tiếp giữa các phần tử trong quá trình tìm kiếm của chúng thực sự là có hiệu quả trong việc giải quyết các bài toán tối ưu hóa tổ hợp. Các con kiến đã giao tiếp với nhau như thế nào và làm sao để chúng lựa chọn được con đường tốt hơn để đi. Qua các nghiên cứu người ta biết được rằng các con kiến trong tự nhiên để lại một vết hóa chất (pheromone trail), chúng có khả năng ứ đọng, bay hơi và có thể nhận biết bởi các con kiến khác, các vệt mùi chính là phương tiện giao tiếp báo cho các con kiến khác thông tin về đường đi đó một cách gián tiếp. Các con kiến sẽ lựa chọn đường đi nào có cường độ mùi lớn nhất tại thời điểm lựa chọn để đi, nhờ cách giao tiếp mang tính gián tiếp và cộng đồng này mà đàn kiến trong tự nhiên tìm được đường đi ngắn nhất. Dựa vào ý tưởng trên, các thuật toán ACO sử dụng thông tin heuristic (chính là thông tin có được do các dữ liệu đầu vào của bài toán) kết hợp thông tin từ các vết mùi của các con kiến nhân tạo (artificial ant) để giải các bài toán tối ưu tổ hợp khó bằng cách đưa về bài toán tìm đường đi tối ưu trên đồ thị cấu trúc tương ứng được xây dựng từ đặc điểm của từng bài toán. Mỗi con kiến nhân tạo xây dựng lời giải của chúng dựa vào luật phân phối xác suất của các vết mùi nhân tạo và các thông tin heuristic. Lược đồ thuật toán ACO tổng quát áp dụng cho bài toán tối ưu tổ hợp tĩnh: procedure ACOMetaheuristicStatic Set parameters, initialize pheromone trails while (termination condition not met) do ConstructAntsSolutions ApplyLocalSearch (optional) UpdatePheromones end-while 6 end-procedure Như đã nhận định ở trên ACO thực chất là tìm kiếm ngẫu nhiên dựa vào thông tin heuristic kết hợp với thông tin học tăng cường. So với các thuật toán heuristic cổ điển ACO mở rộng thêm quá trình học tăng cường, các con kiến tỏ ra thích nghi hơn với môi trường dựa vào các vệt mùi tích lũy trên các cạnh đồ thị. 1.2. Quá trình phát triển Thuật toán Ant System (AS) là thuật toán đầu tiên trong lớp các thuật toán ACO được đề xuất bởi Dorigo trong luận án tiến sỹ của ông năm 1991(tham khảo [2], [3]). Thuật toán AS hướng đến giải quyết bài toán tìm đường đi tối ưu trong đồ thị. Mặc dù thuật toán AS vẫn còn thua kém các thuật toán tốt nhất trong việc giải quyết bài toán trên, tuy nhiên ý tưởng của nó thực sự là mới mẻ và tỏ ra có triển vọng. Về sau đã có rất nhiều cải tiến của thuật toán này do chính Dorigo đề xuất, cũng như rất nhiều các thuật toán ACO khác đều dựa trên ý tưởng của thuật toán AS song đã khắc phục được một số nhược điểm của thuật toán này. Có thể kể tên 2 cải tiến nổi trội nhất của thuật toán AS là thuật toán ACS và thuật toán MMAS mà ta sẽ trình bày sau. Bảng 1. Một số các thuật toán ACO theo thứ tự xuất hiện ACO algorithms Tác giả Ant System Dorigo Maniezzo, & Colorni (1991) Elitist AS Dorigo (1992); Dorigo, Maniezzo, & Colorni (1996) Ant-Q Gambardella & Dorigo (1995); Dorigo & Gambardella (1996) Ant Colony System Dorigo & Gambardella (1996) Max-Min AS Stutzle & Hoos (1996, 2000); Stutzle (1999) Rank-based AS Bullnheimer, Hartl, & Strauss (1997, 1999) ANTS Maniezzo (1999) [...]... bài toán lập lịch là các bài toán hoán vị tức là lời giải của nó là các hoán vị các thành phần, thì lời giải của bài toán GAP là sự phân chia các nhiệm vụ cho các đại lý, còn trong bài toán SCP lời giải được thể hiện như là một tập con các thành phần lời giải, chúng đều thuộc lớp các bài toán tối ưu tổ hợp có thể sử dụng tối ưu đàn kiến để giải quyết Ứng dụng của phương pháp ACO vào các bài toán động... tắc nghẽn Chi tiết hơn về vấn đề tắc nghẽn chúng ta sẽ đề cập tới ở phần sau Một số phương pháp mà người ta đã sử dụng để giải bài toán DTSP: phương pháp di truyền học kết hợp với heurisric (xem [7]), phương pháp tính toán tiến hóa (xem [8], [9]), phương pháp mạng nơron cũng được sử dụng (xem [10]), tất nhiên phương pháp ACO cũng có những hiệu quả lớn (xem [12], [13]) 27 CHƯƠNG 3 SỬ DỤNG THUẬT TOÁN... ACS người ta đều để cho các con kiến xây dựng các đường đi song song Cuối cùng thuật toán ACS cũng như MMAS cho thấy là kết quả thu được tốt hơn hẳn so với AS 1.3.5 Hệ kiến đa mức (xem [15]) Thuật toán hệ kiến MMAS đã làm rõ được khả năng học tăng cường và tìm kiếm ngẫu nhiên của đàn kiến nhưng chưa thể hiện được khả năng điều chỉnh hai ưu điểm này của các thuật toán đàn kiến, ý tưởng ở đây xuất phát... áp dụng tối ưu đàn kiến Các chú ý sau đây làm tăng khả năng cho thuật toán ACO khi áp dụng vào các bài toán khác nhau Có nhiều vấn đề cần quan tâm khi ta áp dụng các thuật toán ACO để giải quyết một bài toán, chẳng hạn lựa chọn số lượng kiến, lựa chọn các tham số khác, xác định các vết mùi, xác định các thông tin heuristic và sử dụng tìm kết hợp kiếm địa phương 20 1.4.1 Số lượng kiến Số lượng kiến trong... các con kiến sử dụng nhánh ngắn hơn mà có một lượng nhỏ kiến chọn nhánh dài hơn Đây là cách để kiến có thể khám phá được những con đường mới 1.3 Một số thuật toán ACO áp dụng cho bài toán TSP Bài toán Travelling Salesman Problem (TSP) là bài toán tối ưu tổ hợp kinh điển và nổi tiếng Bài toán này đóng một vai trò quan trọng trong nghiên cứu các thuật toán ACO TSP được chọn làm bài toán tối ưu tổ hợp... nhiều con kiến lựa chọn thì sẽ nhận được nhiều mùi hơn và có nhiều khả năng hơn sẽ được lựa chọn bởi các con kiến trong các vòng lặp tiếp theo của thuật toán Ưu điểm của AS: Việc tìm kiếm ngẫu nhiên dựa vào trên các thông tin heuristic làm cho phép tìm kiếm linh hoạt và mềm dẻo trên không gian rộng hơn phương pháp heuristic sẵn có, do đó cho ta lời giải tốt hơn và có thể tìm được lời giải tối ưu Sự kết... thực nghiệm chứng minh là có kết quả tốt hơn nhiều so với việc không sử dụng danh sách này 1.5 Các ứng dụng của ACO Phương pháp ACO metaheuristic chủ yếu được áp dụng cho các bài toán tối ưu tổ hợp, ví dụ như ứng dụng vào bài toán TSP đã trình bày ở các phần trước Một số bài toán tối ưu NP-khó như: Các bài toán lập lịch (job shop, flow shop, project scheduling) Bài toán phân chia sản phẩm (The Generalized... con kiến tính toán quãng đường mà nó đã đi được và giúp kiến xác định được cạnh nó đi qua để cập nhật mùi Chú ý rằng trong khi xây dựng lời giải, có hai cách cài đặt nó: song song và tuần tự Với cách cài đặt song song, tại mỗi bước xây dựng lời giải tất cả các con kiến đều di chuyển từ thành phố của chúng đến thành phố tiếp theo Trong khi đó với phương pháp cài đặt tuần tự thì sau khi một con kiến. .. định tuyến các gói tin trên mạng Bài toán này có nhiều điểm tương đồng với bài toán DTSP và ứng dụng của nó thì không cần phải bàn cãi 2.2 Các phương pháp giải bài toán DTSP Các bài toán tối ưu tổ hợp động là các bài toán đặc biệt và mỗi loại có một phương pháp giải riêng rất khác nhau Tùy thuộc rất nhiều vào đặc điểm của mỗi bài toán mà ta thường đưa vào các kỹ thuật đặc biệt và chúng chỉ áp dụng... tối ưu tổ hợp như TSP, bài toán phân chia sản phẩm, hay bài toán định tuyến cho xe cộ, các thuật toán ACO đều cho ra kết quả tốt khi kết hợp các thuật toán tìm kiếm địa phương Các thuật toán địa phương nhằm xác định ra một miền cục bộ trong lời giải hiện tại (thông qua các phép biến đổi, 22 xáo trộn láng giềng) và sau đó thực hiện tìm kiếm cụ bộ trong phạm vi nó định nghĩa để có được lời giải tối ưu . PHƯƠNG PHÁP TỐI ƯU HOÁ ĐÀN KIẾN TÓM TẮT Phương pháp tối ưu hóa đàn kiến (Ant Colony Optimization – ACO) là một phương. khái quát về phương pháp tối ưu hóa đàn kiến (Ant Colony Optimization), và trình bày một phương pháp áp dụng của thuật toán tối ưu hóa đàn kiến cho bài

Ngày đăng: 17/02/2014, 23:11

Hình ảnh liên quan

BẢNG TỪ VIẾT TẮT - phương pháp tối ưu hoá đàn kiến
BẢNG TỪ VIẾT TẮT Xem tại trang 4 của tài liệu.
BẢNG TỪ VIẾT TẮT - phương pháp tối ưu hoá đàn kiến
BẢNG TỪ VIẾT TẮT Xem tại trang 4 của tài liệu.
1.2. Quá trình phát triển - phương pháp tối ưu hoá đàn kiến

1.2..

Quá trình phát triển Xem tại trang 10 của tài liệu.
Hình 1. a– cầu đơi với 2 nhánh bằng nhau, b– cầu đôi với tỉ số các nhánh là 2 - phương pháp tối ưu hoá đàn kiến

Hình 1..

a– cầu đơi với 2 nhánh bằng nhau, b– cầu đôi với tỉ số các nhánh là 2 Xem tại trang 11 của tài liệu.
Trong thí nghiệm đầu tiên hai nhánh cầu có chiều dài bằng nhau (xem hình 1a ). Khi bắt đầu các con kiến di chuyển tự dâo giữa tổ và nguồn thức ăn, người ta quan sát  tỉ lệ phần trăm các con kiến chọn các nhánh trong 2 nhánh qua thời gian - phương pháp tối ưu hoá đàn kiến

rong.

thí nghiệm đầu tiên hai nhánh cầu có chiều dài bằng nhau (xem hình 1a ). Khi bắt đầu các con kiến di chuyển tự dâo giữa tổ và nguồn thức ăn, người ta quan sát tỉ lệ phần trăm các con kiến chọn các nhánh trong 2 nhánh qua thời gian Xem tại trang 12 của tài liệu.
Hình 2.a – Thể hiện các đỉnh trong thư viện TSP att532, tương ứng với 532 - phương pháp tối ưu hoá đàn kiến

Hình 2.a.

– Thể hiện các đỉnh trong thư viện TSP att532, tương ứng với 532 Xem tại trang 15 của tài liệu.
thành phố của Mỹ. Hình 2.b – Thể hiện các đỉnh trong TSPLIB pcb1173 biểu diễn - phương pháp tối ưu hoá đàn kiến

th.

ành phố của Mỹ. Hình 2.b – Thể hiện các đỉnh trong TSPLIB pcb1173 biểu diễn Xem tại trang 15 của tài liệu.
Khi đưa thêm kĩ thuật shaking vào (xem các hình 2b, 2c, 2d) thì ta vẫn có cùng - phương pháp tối ưu hoá đàn kiến

hi.

đưa thêm kĩ thuật shaking vào (xem các hình 2b, 2c, 2d) thì ta vẫn có cùng Xem tại trang 38 của tài liệu.

Từ khóa liên quan

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

Tài liệu liên quan