Thuật toán Tabu Search

Một phần của tài liệu (LUẬN văn THẠC sĩ) giải pháp tối ưu dung lượng trong hệ thống thông tin di động LTE (Trang 66 - 68)

6. Ý nghĩa khoa học của đề tài

3.5.3. Thuật toán Tabu Search

Tabu Search là một trong những thuật toán được áp dụng nhiều nhất cho các bài toán tối ưu tổ hợp khó. Thuật toán 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 giải thuật. Mục tiêu của bài toán bài toá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 toá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, v.v.), 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 toá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 - đây chính là điểm khác biệt cơ bản nhất giữa thuật giải Tabu Search so với nhóm các thuật giải tiến hoá

(như thuật giải di truyền, lập trình tiến hoá, v.v.). Ở nhóm các thuật giải tiến hoá, sau mỗi bước lặp, kết quả thu được là cả một tập các lời giải, trong khi ở Tabu Search, chỉ thu được một lời giải duy nhất.

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 ở 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. Danh sách này sẽ chứ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. Các bước chuyển này sẽ bị cấm sử dụng lại 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.

Thuật toán lập một danh sách, khởi tạo đề cử. Sử dụng vòng lặp k, tại mỗi bước thì xác lập đề cử và đưa vào danh sách. Thuật toán được sử dụng trong tìm kiếm tối ưu địa phương. Thuật toán Tabu Search được trình bày dưới đây:

Procedure Tabu search Begin

Begin

x  initial solution;

repeat

X'  subset of N(x) under consideration of TL; x' best solution of X' ;

add x to TL;

delete elements from TL, which are older than k iterations; x  x';

if x is better than best solution until now then store x ;

end

until termination condition is fulfilled;

end;

Từ các giải thuật đã trình bày ở phần trên ta lựa chọn phương pháp tối ưu ở từng bước. Kết hợp các nghiệm tối ưu, ta sẽ có được kết quả tối ưu. Sau đây luận văn thực hiện tính toán tối ưu các tham số của mạng di động bằng mô phỏng.

Một phần của tài liệu (LUẬN văn THẠC sĩ) giải pháp tối ưu dung lượng trong hệ thống thông tin di động LTE (Trang 66 - 68)