Thuật giải Tabu Search

Một phần của tài liệu Phương pháp local search cho một bài toán giao hàng trong thực tế (Trang 27 - 28)

Tabu Search là một trong những metaheuristic được áp dụng nhiều nhất cho các bài tốn tối ưu tổ hợp khĩ. Trong phần này, chúng tơi sẽ giới thiệu sơ lược về các thành phần cơ bản nhất của thuật giải Tabu Search và cách hoạt động của nĩ. Ngồi các thành phần cơ bản này, thuật giải Tabu Search được áp dụng trong thực tế cĩ rất nhiều biến thể, với rất nhiều chiến lược hiệu quả khác được bổ sung vào nhằm nâng cao khả năng tìm kiếm của thuật giải và được trình bày chi tiết tại tài liệu của tác giả Fred Glover [57], người được xem là cha đẻ của thuật giải này.

Bài tốn mà thuật giải Tabu Search giải quyết là bài tốn tối ưu, mục tiêu của bài tốn là tìm ra lời giải tốt nhất - lời giải mà tại đĩ, hàm mục tiêu của bài tốn đạt giá trị cực tiểu. Hàm mục tiêu là hàm dùng để đo chi phí của một lời giải, lời giải cĩ chi phí càng thấp thì càng tốt.

Ý tưởng chính của thuật giải Tabu Search như sau: bắt nguồn từ một lời giải ban đầu (lời giải này gọi là lời giải khởi tạo, cĩ thể được tạo thành từ nhiều phương pháp khác nhau, chẳng hạn như: phương pháp thuật giải tham lam, phương pháp khởi tạo ngẫu nhiên,...), thuật giải Tabu Search sẽ thực hiện lặp đi lặp lại việc tìm kiếm trong miền khơng gian tìm kiếm của bài tốn nhằm mục đích tìm ra lời giải tối ưu, tại mỗi bước lặp của mình, thuật giải Tabu Search sẽ tìm kiếm và chỉ lựa ra một lời giải duy nhất để làm cơ sở cho bước lặp tiếp theo.

Tại mỗi bước lặp, Tabu Search sẽ lấy lời giải duy nhất thu được từ bước lặp trước làm lời giải hiện tại, thuật giải sẽ duyệt trong miền khơng gian láng giềng của lời giải hiện tại để chọn ra lời giải tốt nhất, lời giải này sẽ thay thế cho lời giải hiện tại ở trong bước lặp kế sau. Mỗi lời giải trong khơng gian láng giềng của lời giải hiện tại được gọi là một láng giềng của lời giải hiện tại. Sự tác động lên lời giải hiện tại để biến nĩ thành một lời giải láng giềng của nĩ gọi là một bước chuyển.

ðể tránh việc duyệt trở lại những lời giải đã từng được duyệt, thuật giải Tabu Search sử dụng một danh sách để lưu trữ một số bước chuyển đã từng được sử dụng, gọi là

danh sách Tabu (Tabu list). Danh sách này sẽ chứa (một phần hoặc tất cả) thơng tin của những bước chuyển đã được thực hiện trong một số bước lặp gần đây, các bước chuyển nằm trong danh sách Tabu được gọi là các bước chuyển Tabu (Tabu move). Các bước chuyển này sẽ bị cấm sử dụng lại trong chừng nào nĩ cịn nằm trong danh sách Tabu. Một bước chuyển Tabu sẽ tồn tại trong danh sách Tabu trong một khoảng thời gian n bước lặp, sau đĩ, bước chuyển này sẽ được loại ra khỏi danh sách Tabu và trở về trạng thái bình thường (khơng bị cấm nữa), số n này được gọi là giá trị Tabu tenure của bước chuyển, giá trị n này cĩ thể cố định cho tất cả các bước chuyển hoặc là một số được chọn ngẫu nhiên cho từng bước chuyển.

Tuy nhiên, đơi khi một số bước chuyển dù bị cấm (bước chuyển Tabu) nhưng nĩ lại cĩ khả năng cải tiến chất lượng của lời giải tốt nhất hiện nay, do đĩ, để tránh bỏ sĩt các bước chuyển tốt này, Tabu Search đưa ra một khái niệm nữa, đĩ là khái niệm tiêu chuẩn mong đợi (aspiration criteria), cách áp dụng của tiêu chuẩn này như sau: nếu một bước chuyển Tabu bất kì thỏa được tiêu chuẩn mong đợi thì nĩ sẽ được loại ra khỏi danh sách Tabu ngay lập tức, cho dù giá trị Tabu tenure đi kèm cĩ là bao nhiêu đi chăng nữa. Tiêu chuẩn mong đợi thường được dùng nhất là “nếu bước chuyển Tabu nào cĩ thể làm cho lời giải hiện tại trở nên tốt hơn cả lời giải tốt nhất hiện nay thì bước chuyển Tabu đĩ sẽ được loại ra khỏi danh sách Tabu ngay lập tức”.

Một phần của tài liệu Phương pháp local search cho một bài toán giao hàng trong thực tế (Trang 27 - 28)