TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG SỐ 12(73) 2013, Quyển 2 117 GIẢI THUẬT META HEURISTIC GIẢI BÀI TOÁN NGƯỜI DU LỊCH META HEURISTIC ALGORITHM FOR SOLVING TRAVELLING SALESMAN PROBLEM Võ Khá[.]
TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 12(73).2013, Quyển GIẢI THUẬT META-HEURISTIC GIẢI BÀI TOÁN NGƯỜI DU LỊCH META-HEURISTIC ALGORITHM FOR SOLVING TRAVELLING SALESMAN PROBLEM Đặng Đại Thọ Trường Cao đẳng Công nghệ Thông tin, Đại học Đà Nẵng Email: ddtho.dt@gmail.com Võ Khánh Trung Trường Đại học Bách khoa Hà Nội Email: trungvokhanh@yahoo.com TĨM TẮT Bài tốn người du lịch tốn NP-khó thuộc thể loại tối ưu rời rạc hay tổ hợp nghiên cứu vận trù học lý thuyết khoa học máy tính Bài tốn phát biểu sau: cho trước danh sách thành phố khoảng cách chúng, tìm chu trình ngắn thăm thành phố lần Hiện chưa có giải thuật xác để giải tốn trường hợp tổng qt Vì vậy, giải thuật gần đặc biệt quan tâm Trong báo này, đề xuất giải thuật meta-heuristic sử dụng ý tưởng tìm kiếm địa phương để giải toán người du lịch Giải thuật cài đặt, thử nghiệm liệu chuẩn lấy từ TSPLIB thu kết tốt Từ khóa: tốn người du lịch; NP-khó; giải thuật meta-heuristic; tìm kiếm cục bộ; tối ưu hóa tổ hợp ABSTRACT The travelling salesman problem (TSP) is an NP-hard problem in combinatorial optimization, important in operations research and theoretical computer science It asks the following question: given a list of cities and the distances between each pair of cities, what is the shortest possible route that visits each city exactly once and returns to the origin city? Hower, today there are not exact algorithms to solve it in general case Therefore, heuristic and approximation algorithms are especially interested This paper proposes a new meta-heuristic algorithm based on local search for solving traveling salesman problem This algorithm has been installed, tested on standard data sets taken from TSPLIB and obtained with quite good results Key words: travelling salesman problem (TSP); NP-hard problem; meta-heuristic algorithm; local search; combinatorial Đặt vấn đề Bài toán người du lịch toán tối ưu hóa tổ hợp thuộc lớp NP-khó, giới thiệu lần vào năm 1930 Đây toán nghiên cứu chuyên sâu tối ưu hóa lý thuyết khoa học máy tính Bài toán phát biểu dạng đồ thị sau: Cho đồ thị vơ hướng có trọng số G = (V, E, C) gồm n đỉnh với V = v1 , v2 , , tìm hành s = v1 → v2 → → → v1 cho: Hãy trình - Mỗi đỉnh xuất lần (vi v j , i j ) - Tổng chi phí n −1 hành Cost ( s) = cv ,v + cv ,v nhỏ i =1 i i +1 n trình Cho đến nay, chưa có giải thuật xác để giải toán trường hợp tổng quát Vì vậy, giải thuật gần đặc biệt quan tâm Nghiên cứu đề xuất giải thuật meta-heuristic sử dụng ý tưởng tìm kiếm địa phương để giải toán Giải thuật thử nghiệm 25 liệu chuẩn lấy từ TSPLIP, kết thực nghiệm so sánh với kết tối ưu liệu chuẩn Đề xuất giải thuật Ý tưởng giải thuật sử dụng tìm kiếm cục Giải thuật cục tóm tắt sau: xuất phát từ lời giải ứng cử viên, thực bước lặp, bước lặp xét ứng cử viên sinh từ ứng cử viên thông qua số phép biến đổi (gọi ứng cử viên láng giềng), di chuyển đến ứng cử viên láng giềng tốt ứng cử viên 117 TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 12(73).2013, Quyển Vấn đề đặt trình tìm kiếm cục kết thúc nào? Một lựa chọn phổ biến kết thúc trình tìm kiếm sau số bước lặp mà khơng tìm lời giải tốt Bởi tồn q trình tìm kiếm giải thuật cục ln chọn lời giải ứng cử viên hợp lệ nên ln có lời giải hợp lệ dù giải thuật bị dừng thời điểm Dưới mã giả giải thuật tìm kiếm cục bộ: Hình Tráo đổi vị trí hốn vị Cách thứ hai: Tráo đổi dãy số ngẫu nhiên hoán vị s Khởi tạo ứng cử viên s0 S while (s0 chưa phải cực trị địa phương) f(s)