Cải tiến thuật toán Ant Colony giải quyết bài toán người bán hàng (TSP)

7 69 0
Cải tiến thuật toán Ant Colony giải quyết bài toán người bán hàng (TSP)

Đang tải... (xem toàn văn)

Thông tin tài liệu

Bài viết đề xuất cách cải tiến thuật toán Ant Colony để hỗ trợ tìm ra đường đi ngắn hơn cho bài toán người bán hàng. Bài toán người bán hàng yêu cầu tìm ra đường đi ngắn nhất cho người bán hàng đi qua các thành phố và cuối cùng quay về lại thành phố xuất phát, mỗi thành phố chỉ được ghé thăm một lần, biết rằng tất cả các thành phố đều có đường đi đến với nhau và khoảng cách giữa các thành phố là biết trước.

DTU Journal of Science and Technology 07(38) (2020) TRƯỜNG ĐẠI HỌC DUY TÂN Cải tiến thuật toán Ant Colony giải toán người bán hàng (TSP) Improve the Ant Colony algorithm to solve travelling salesman problem Lê Thị Ngọc Vân*, Nguyễn Dũng, Trần Huệ Chi Thi Ngoc Van Le, Dung Nguyen, Hue Chi Tran Khoa Công nghệ Thông tin, Trường Đại học Duy Tân, Đà Nẵng, Việt Nam Faculty of Information Technology, Duy Tan University, Da Nang, Vietnam (Ngày nhận bài: 09/09/2019, ngày phản biện xong: 03/12/2019, ngày chấp nhận đăng: 20/12/2019) Tóm tắt Bài báo đề xuất cách cải tiến thuật toán Ant Colony để hỗ trợ tìm đường ngắn cho tốn người bán hàng Bài toán người bán hàng yêu cầu tìm đường ngắn cho người bán hàng qua thành phố cuối quay lại thành phố xuất phát, thành phố ghé thăm lần, biết tất thành phố có đường đến với khoảng cách thành phố biết trước Có nhiều thuật toán giải toán Một thuật toán nghiên cứu nhiều giải hiệu cho toán thuật toán Ant Colony (thuật toán đàn kiến) Thuật toán Ant Colony có hỗ trợ tìm kiếm mạnh mẽ tỏ thích hợp với tốn có khơng gian tìm kiếm cực lớn Tuy nhiên áp dụng thuật toán Ant Colony cho toán người bán hàng chi phí cịn cao Vì nhóm chúng tơi thiết kế giải thuật cải tiến thuật tốn Ant Colony để tìm lời giải tối ưu cho tốn người bán hàng Chúng tơi tiến hành xây dựng thử nghiệm với nhiều liệu đầu vào để so sánh thuật toán cải tiến với thuật toán Ant Colony nhằm đánh giá cách xác khách quan Kết cho thấy thuật tốn cải tiến nhóm chúng tơi đề xuất có cải thiện đáng kể chi phí so với thuật tốn Ant Colony Từ khóa: Ant Colony, thuật toán cải tiến Ant Colony, toán người bán hàng Abstract This article proposes a way to improve the Ant Conlony algorithm to assist in finding a shortest path for the Travelling Salesman Problem The aim is to find the shortest path for sellers to go through cities and finally return to the starting point, each city is visited only once, given that all the cities are interconnected and the distances among the cities are given There are many algorithms to solve this problem One of the algorithms that has been studied and proved to be effective for this problem is the Ant Colony Optimization (ACO) ACO has very strong search support and seems suitable for problems with extremely large search space However, when applying ACO to the salesman problem, it is still quite expensive Therefore, our team designed an algorithm to improve ACO to find a better solution to the travelling salesman problem We have built a test with multiple data sets to compare the proposed algorithm with the ACO to evaluate accurately and objectively The results showed that our improved algorithm has significantly improved the cost compared to ACO Keywords: Ant Colony, improved Ant Colony algorithm, Travelling Salesman Problem Email: lengocvan2610@gmail.com 12 Giới thiệu Lý thuyết thuật toán Ant Colony ứng dụng thuật toán nhiều tác giả nước nghiên cứu Các tác giả Marco Dorigo, Thomas Stützle trường đại học The MIT Press Cambridge, Massachusetts London đưa cách tiếp cận lý thuyết để ứng dụng thuật toán Ant Colony vào toán người bán hàng (TSP) [1] Trong báo tác giả Phạm Hồng Luân Dương Thành Nhân, Tạp chí Phát triển Khoa học Công nghệ (Journal of Science and Technology Development), ISSN: 1859-0128 đưa thuật toán Ant Colony ứng dụng thuật tốn vào quản lý chi phí dự án xây dựng [2] Có thể nói, nghiên cứu lý thuyết thuật tốn Ant Colony hồn thiện Bài báo đề xuất cách cải tiến thuật tốn Ant Colony để tìm đường ngắn đường mà thuật tốn Ant Colony tìm Ngoài phần giới thiệu lịch sử nghiên cứu vấn đề phần 1, phần trình bày toán người bán hàng giải thuật giải tốn Phần trình cách cải tiến thuật toán Ant Colony Kết nghiên cứu kết luận nội dung phần khoảng cách hai thành phố biết trước đường ngắn mà người bán hàng thực cho hết tất thành phố, thành phố lần để quay lại thành phố A ban đầu nào? Bài toán đề xuất giải vào kỷ thứ XVII hai nhà toán học người Anh Sir William Rowan Hamilton Thomas Penyngton Kirkman, ghi chép giáo trình Lý thuyết đồ thị tiếng Oxford Sau tốn trở thành tốn khó thách thức tồn thể nhà toán học tin học giới độ phức tạp thuật toán tăng theo hàm số mũ (thuộc lớp tốn NP-khó) Các nhà khoa học bắt đầu tiếp cận tốn, dùng máy tính thử nghiệm tính tốn cơng bố kết giải toán từ năm 1954 với số thành phố 49, năm 2004 toán giải với số thành phố 24.978, số lượng thành phố ngày tăng cao [3] Bài toán người bán hàng (TSP) giải thuật giải toán 2.1 Bài toán người bán hàng (Traveling Salesman Problem) Bài tốn u cầu tìm đường ngắn cho nhân viên bán hàng (traveling salesman), nhân viên bán hàng xuất phát từ thành phố, qua tất thành phố có lộ trình lần quay thành phố ban đầu với chi phí thấp Ví dụ Hình tốn u cầu tìm đường ngắn cho người bán hàng xuất phát từ thành phố A cần qua tất thành phố B,C,D sau quay thành phố A, tất thành phố có đường đến thành phố cịn lại Nếu người bán hàng xuất phát từ thành phố A, Hình Bài tốn người bán hàng 2.2 Giải thuật Ant Colony Bài tốn người bán hàng hồn tồn giải giải thuật Ant Colony, thuật toán áp dụng cho nhiều lớp tốn Để hiểu thuật tốn tìm hiểu đặc điểm hoạt động tự nhiên đàn kiến từ hiểu thuật toán Ant Colony Trong tự nhiên loại kiến hoạt động theo quy luật sau: Khi tìm kiếm thức ăn, trình 13 di chuyển kiến thường để lại mùi riêng để kiến đàn nhận diện lối di chuyển chúng, mùi kiến để lại đường gọi pheromone Đây yếu tố giúp đàn kiến đánh dấu trao đổi thông tin với chúng tìm nguồn thức ăn Khi tìm thấy nguồn thức ăn, kiến di chuyển từ tổ tới nơi có nguồn thức ăn theo đường tìm thấy Từ tổ kiến đến nơi có thức ăn có nhiều đường Vì ban đầu kiến ngẫu nhiên theo đường từ điểm xuất phát đến đích Tuy nhiên, sau thời gian di chuyển định, kiến đàn tìm đường ngắn từ tổ tới nguồn thức ăn Sau quan sát nghiên cứu hoạt động đàn kiến tự nhiên, nhận thấy trình tìm đường ngắn từ tổ tới nguồn thức ăn dựa quy luật sau: Khi di chuyển kiến dùng phoremone để đánh dấu trao đổi thông tin với nhằm tìm đường ngắn từ tổ đến nguồn thức ăn, đồng thời trình di chuyển chúng để lại lượng mùi (phoremone) đường chúng di chuyển qua Các kiến sau dựa vào lượng mùi mà kiến trước để lại để tiến hành tìm đường cho mình, đường chưa có mùi để lại chúng di chuyển cách ngẫu nhiên, lượng mùi để lại đường kiến di chuyển trước bị bay theo thời gian Đường có lượng thơng tin mùi để lại nhiều xác suất kiến chọn cao, ngược lại đường có lượng mùi thấp xác suất chọn thấp Qua trình di chuyển đàn kiến chọn cho đường ngắn từ tổ đến nguồn thức ăn Dựa vào chế hoạt động đàn kiến tự nhiên mà thuật toán Ant Colony đời Thuật tốn Ant Colony mơ hoạt động đàn kiến nhân tạo sau: Thuật toán sử dụng đàn kiến nhân tạo (Artificial Ants) để mô lại hoạt động tự nhiên đàn kiến Đàn kiến nhân tạo có số điều chỉnh mặt hoạt động so với đàn kiến tự nhiên nhằm tăng tính hiệu thuật tốn Giải thuật chủ yếu mơ tả hoạt động tìm đường ngắn kiến nhân tạo dựa vào lượng mùi để lại trình di chuyển đàn kiến Cụ thể hoạt động đàn kiến nhân tạo trình bày sau: Cho đồ thị đầy đủ gồm đỉnh cạnh đỉnh nơi kiến qua cạnh đoạn đường Nút ban đầu cho đường kiến chọn cách ngẫu nhiên thơng tin mùi (pheromone) tính tốn đặt đoạn đường Mỗi kiến chọn đường theo nguyên tắc: + Dựa vào thông tin mùi để lại có đoạn đường để tính xác suất chọn đoạn đường làm đường cho kiến + Đường có lượng mùi (pheromone) nhiều gán xác suất lớn Ngược lại đoạn đường có lượng thơng tin mùi thấp có xác suất chọn thấp Con kiến tìm đường hồn thành đường (thỏa mãn điều kiện dừng kiến) + Một đường đầy đủ hoàn chỉnh gọi lời giải cho toán đặt Các đường tìm phân tích, so sánh đánh giá để tìm phương án tối ưu Đó lời giải tối ưu tốn + Sau tất kiến đàn hoàn thành việc tìm đường nó, ta tiến hành cập nhật thông tin mùi cho cung Số lượng mùi tính tốn điều chỉnh để tìm phương án tối ưu tốt hơn: • Các lời giải có đường ngắn có khối lượng pheromone lớn để đặt cung qua Ngược lại, lời giải cho đường dài có khối lượng pheromone bé • Con kiến chọn đường có lượng mùi lớn xác suất chọn đường cao 14 Quá trình lặp lặp lại hầu hết kiến đàn kiến nhân tạo chọn đường đi, lời giải tốn nhận hai đoạn đường giao tiến hành thực loại bỏ đoạn đường giao để tạo thành chu trình có độ dài ngắn chu trình mà thuật tốn Ant Colony tìm THUẬT TOÁN ANT COLONY Input: Số kiến, khởi tạo số thành phố, vị trí tọa độ thành phố, điểm xuất phát, khởi tạo mùi Output: Chu trình đường ngắn từ thành phố xuất phát qua thành phố lại lần quay lại thành phố ban đầu Method: Begin: B1:Nhập liệu đầu vào: số kiến, vị trí tọa độ thành phố, khoảng cách thành phố, điểm xuất phát, khởi tạo mùi Hình Chu trình có cắt chu trình cải tiến Chẳng hạn, với hành trình có giao Hình ABCD, tiến hành loại bỏ đoạn đường giao để tạo chu trình ACBD có độ dài ngắn Ý tưởng thuật toán cải tiến mô tả rõ sau: Giả sử người bán hàng cần di chuyển theo chu trình ABCDA Như theo Hình 2.1, ta thấy tổng chiều dài chu trình người cần di chuyển AB+BC+CD+DA B2: Xây dựng phương án lựa chọn đường B3: Cập nhật mùi B4: Nếu chu trình đường ngắn qua B5 ngược lại quay lại B2 End Giải pháp cải tiến thuật toán Ant Colony Trong trình xem xét tìm hiểu giải thuật Ant Colony cho tốn người bán hàng, chúng tơi đặt vấn đề liệu có cách để cải tiến thuật tốn Ant Colony để đường tìm kiến thuật toán ngắn khơng? Qua q trình xem xét tìm hiểu chúng tơi nhận chu trình đường mà thuật tốn Ant Colony tìm có đoạn đường giao nhau, dựa vào chúng tơi làm cho đoạn đường ngắn cách không lựa chọn đoạn đường giao chu trình đường tìm tạo thuật tốn Ant Colony Chúng tơi dựa vào tốn học để tìm cách Hình 2.1 Trong chu trình di chuyển ta thấy có hai đoạn đường giao BC DA Việc người bán hàng di chuyển qua hai đoạn đường người bán hàng phải di chuyển theo chu trình ABCDA Để làm cho chu trình di chuyển người bán hàng ngắn nhóm chúng tơi đề xuất người bán hàng di chuyển theo chu trình ABDCA Việc làm cho đường chu trình di chuyển ngắn theo toán học ta thấy đoạn đường AC+BD

Ngày đăng: 28/10/2020, 08:38

Hình ảnh liên quan

Ví dụ ở Hình 1 bài toán yêu cầu tìm đường đi ngắn nhất cho người bán hàng xuất phát từ thành  phố A và cần đi qua tất cả các thành phố B,C,D  sau đó quay về thành phố A, tất cả các thành phố  đều có đường đi đến các thành phố còn lại. - Cải tiến thuật toán Ant Colony giải quyết bài toán người bán hàng (TSP)

d.

ụ ở Hình 1 bài toán yêu cầu tìm đường đi ngắn nhất cho người bán hàng xuất phát từ thành phố A và cần đi qua tất cả các thành phố B,C,D sau đó quay về thành phố A, tất cả các thành phố đều có đường đi đến các thành phố còn lại Xem tại trang 2 của tài liệu.
Hình 2.1 - Cải tiến thuật toán Ant Colony giải quyết bài toán người bán hàng (TSP)

Hình 2.1.

Xem tại trang 4 của tài liệu.
Hình 2. Chu trình có cắt nhau và chu trình cải tiến Chẳng hạn, với một hành trình đi có giao nhau  như Hình 2 là ABCD, chúng tôi tiến hành loại bỏ  những đoạn đường đi giao nhau để tạo chu trình  mới là ACBD có độ dài ngắn hơn - Cải tiến thuật toán Ant Colony giải quyết bài toán người bán hàng (TSP)

Hình 2..

Chu trình có cắt nhau và chu trình cải tiến Chẳng hạn, với một hành trình đi có giao nhau như Hình 2 là ABCD, chúng tôi tiến hành loại bỏ những đoạn đường đi giao nhau để tạo chu trình mới là ACBD có độ dài ngắn hơn Xem tại trang 4 của tài liệu.
Hình 5. Chu trình đường đi do thuật toán cải tiến Ant Colony có chiều dài L= 9.6540 - Cải tiến thuật toán Ant Colony giải quyết bài toán người bán hàng (TSP)

Hình 5..

Chu trình đường đi do thuật toán cải tiến Ant Colony có chiều dài L= 9.6540 Xem tại trang 6 của tài liệu.
Hình 3. Khởi tạo số thành phố ban đầu và đường đi ngẫu nhiên giữa các thành phố - Cải tiến thuật toán Ant Colony giải quyết bài toán người bán hàng (TSP)

Hình 3..

Khởi tạo số thành phố ban đầu và đường đi ngẫu nhiên giữa các thành phố Xem tại trang 6 của tài liệu.
Hình 4. Chu trình đường đi do thuật toán Ant Colony tìm ra có chiều dài L=10.6270 - Cải tiến thuật toán Ant Colony giải quyết bài toán người bán hàng (TSP)

Hình 4..

Chu trình đường đi do thuật toán Ant Colony tìm ra có chiều dài L=10.6270 Xem tại trang 6 của tài liệu.
Bảng so sánh và đánh giá chiều dài thực hiện thuật toán cải tiến do nhóm cài đặt và thuật toán Ant Colony như sau: Bảng 1 - Cải tiến thuật toán Ant Colony giải quyết bài toán người bán hàng (TSP)

Bảng so.

sánh và đánh giá chiều dài thực hiện thuật toán cải tiến do nhóm cài đặt và thuật toán Ant Colony như sau: Bảng 1 Xem tại trang 7 của tài liệu.

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

Tài liệu liên quan