Giải thuật chính xác

Một phần của tài liệu Áp dụng giải thuật di truyền giải bài toán người du lịch (Trang 29 - 30)

Các thuật toán chính xác được thiết kế để tìm ra lời giải tối ưu cho TSP, đó là các tour du lịch có độ dài tối thiểu. Giải pháp trực tiếp nhất là thử tất cả các hoán vị và xem đâu là lời giải tối ưu nhất (sử dụng thuật toán vét cạn). Thời gian chạy cho cách tiếp cận này là O (n!), trong đó n là số thành phố, vì vậy giải pháp này trở nên không thực tế ngay cả đối với chỉ 20 thành phố.

Năm 1962, Michael Held và Richard M. Karp đã đưa ra ba bài toán trình tự (sequencing problem) trong đó có bài toán TSP, mỗi bài toán có một cấu trúc các giải pháp cho phép bằng phương pháp quy hoạch động. Thuật toán Held-Karp đã giải quyết vấn đề trong thời gian O ( ) [5].

Năm 2006, các tác giả David L. Applegate, Robert E. Bixby, Vasek Chvátal và William J. Cook đã đưa ra một số các phương pháp tiếp cận khác như thuật toán nhánh cận, lập trình tuyến tính và phương pháp mặt cắt (cutting plane). Giải pháp

28 chính xác cho 15.112 thị trấn Đức từ TSPLIB đã được tìm thấy vào năm 2001, bằng cách sử dụng phương pháp mặt cắt (cutting – plane) được đề xuất bởi George Dantzig, Ray Fulkerson, và Selmer M. Johnson vào năm 1954, dựa trên lập trình tuyến tính. Các tính toán được thực hiện trên một mạng lưới 110 bộ xử lý đặt tại Đại học Rice và Đại học Princeton. Tổng thời gian tính toán tương đương với 22,6 năm trên một bộ xử lý đơn 500 MHz Alpha [1].

Các lời giải chính xác khác được mô tả trong [7] gồm có phương pháp mặt cắt (cutting plane method) của Dantzig, Fulkerson, and Johnson (1954); phương pháp cắt nhánh (branch-and-cut method) của Padberg and Rinaldi (1990); phương pháp nhánh cận (branch-and-bound method) của Land and Doig (1960) và phương pháp Concorde của Applegate, Bixby, Chatal và Cook (2000). Dù vậy, tất cả các thuật toán trên đều trở nên kém hiệu quả mỗi khi tăng số lượng thành phố phải ghé thăm trong chu trình.

Một phần của tài liệu Áp dụng giải thuật di truyền giải bài toán người du lịch (Trang 29 - 30)