Quy tắc cập nhật mùi
Sau khi các con kiến trong bước lặp đã tìm được lời giải, vết mùi được cập nhật theo quy tắc SMMAS (Smooth Max-Min Ant System - Hệ kiến Max Min trơn) [1,8] như công thức 3.3:
(3.3)
Trong đó: {
(3.4)
Lời giải tốt nhất là lời giải gần S nhất tìm được cho tới lúc đó.
Thông thường để tăng chất lượng lời giải, người ta kết hợp với tìm kiếm địa phương với hai chiến lược:
1) Chỉ áp dụng cho lời giải tốt nhất 2) Áp dụng cho mọi lời giải tìm được
Áp dụng theo cách thứ nhất thường lời giải tốt nhất hay bị lặp lại, còn áp dụng theo cách thứ hai thì mất nhiều thời gian chạy.
Thuật toán hai giai đoạn ACOM-CSP kết hợp hai thuật toán ACO và Memetic. Giai đoạn thứ nhất là sử dụng thuật toán ACO với quy tắc cập nhật mùi SMMAS áp dụng cho 6 % bước lặp đầu. Giai đoạn thứ hai là thuật toán memetic áp dụng cho 40% bước lặp cuối. Trong giai đoạn thứ hai, phương pháp ACO được dùng để xây dựng quần thể trong mỗi bước lặp, kỹ thuật tìm kiếm địa phương chỉ áp dụng cho hai lời giải tốt nhất trong bước lặp.
3.1.2 Thuật toán Memetic
Giai đoạn thứ hai của ACOM-CSP là thực hiện thuật toán Memetic theo lược đồ đã được đặc tả trong hình 3.3. Trong đó, dùng thuật toán ACO-C P để xây dựng quần thể cho mỗi bước lặp và lấy hai lời giải tốt nhất tìm được đến lúc đó làm tập Ωil để áp dụng tìm kiếm địa phương [8]. Nói cách khác, thuật toán này thực hiện theo thủ tục của thuật toán ACO-C P nhưng sau khi đánh giá ở mỗi bước lặp, hai lời giải có khoảng cách tới tập S nhỏ nhất được áp dụng tìm kiếm địa phương để cải tiến chất lượng trước khi cập nhật mùi.
Kỹ thuật tìm kiếm địa phương
Kỹ thuật tìm kiếm địa phương thực hiện như sau: Việc tìm kiếm địa phương cho lời giải t= t1…tn sẽ được thực hiện theo thứ tự ngẫu nhiên của các vị trí cho đến khi có lời giải tốt hơn. Khi vị trí ti được xét, nó sẽ lần lượt được thay thế bởi các ký tự còn lại trong tập Vi cho đến khi có lời giải tốt hơn t thì lời giải tìm được sẽ thay cho t và việc tìm kiếm địa phương cho nó chấm dứt [8] (xem hình 3.4).
Thuật toán ACOM-CSP chạy thuật toán ACO-CSP trong 60% vòng lặp đầu, 40% vòng lặp còn lại chạy thuật toán Memetic-CSP.
Procedure Thuật toán Memetic-CSP Begin
Initialize: Khởi tạo vết mùi
While điều kiện dừng chưa thỏa mãn do For i=1 to n_ants do
Xây dựng lời giải nhờ đồ thị cấu trúc
Đánh giá xác định Ωil gồm k lời giải tốt nhất
Cải tiến lời giải do kiến xây dựng bằng tìm kiếm địa phương cho Ωil
End for
Cập nhật lời giải tốt Cập nhật mùi
End while End;