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;
Hình 3.3 Đặc tả thuật toán Memetic –CSP