Hình 4-1 là mô hình thuật toán di truyền lai đề xuất, đặt tên là HGA. Giải thuật dựa trên mô hình giải thuật di truyền chuẩn kết hợp với tư tưởng trong giải thuật tối ưu
~ 81 ~
hóa bầy đàn. Tư tưởng đó thể hiện ở khả năng ghi nhớ vị trí tốt nhất mà cá thể đã đạt được trong quá khứ và khả năng trao đổi thông tin giữa các cá thể với nhau. Ta có thể thấy trong sơ đồ hình 4-1, mỗi cá thể Xj và Yj luôn đi kèm với hai giá trị đó là PXjvà PYj. Hai giá trị này chính là thông tin về vị trí tốt nhất mà Xj và Yj đạt được trong quá khứ. Các thông tin này sẽ phải thường xuyên cập nhật sau bất cứ sự thay đổi nào của các cá thể bao gồm các quá trình lai ghép hay đột biến.
Ban đầu các cá thể trong quần thể được khởi tạo một cách ngẫu nhiên. Giá trị tốt nhất của các cá thể được khởi tạo chính là giá trị ban đầu của cá thể đó. Và giá trị ban đầu sẽ là giá trị cá thể tốt nhất trong quần thể vừa được tạo ra. Thuật toán sẽ tiến hành lặp lại các bước từ 6 đến 18 cho đến khi điều kiện dừng được thỏa mãn. Có nhiều cách để kết thúc thuật toán, như là sau một số thế hệ (lần lặp) xác định, hoặc sau một số thế hệ liên tiếp mà giá trị không được cải thiện.
Bước , là thực hiện quá trình lai ghép các cá thể, ở đây số lượng cá thể được đem lai ghép phụ thuộc vào tỉ lệ lai ghép, thể hiện trong thuật toán thông qua giá trị của (được tính bằng tỉ lệ lai ghép nhân với kích thước quần thể). Các cá thể được chọn để lai ghép theo hai cách, cá thể cha mẹ thứ nhất được chọn theo phương pháp bánh xe Roulette và cá thể cha mẹ thứ 2 được lựa chọn ngẫu nhiên. Mục đích của việc dùng đồng thời 2 phương pháp lựa chọn này là để tăng sự đa dạng cho kiểu gen của cá thể cha mẹ, tránh sự suy thoái về kiểu gen. Bởi vì các cá thể tốt nhất trong quần thể ban đầu thường có chứa một số gen giống nhau, nếu chỉ chọn các cá thể tốt nhất mà đem lai ghép với nhau thì thường nó làm giảm sự đa dạng trong không gian gen của quần thể, điều này làm tăng khả năng của thuật toán bị mắc tại một cực trị địa phương.
~ 82 ~
Hình 4-1 Sơ đồ giải thuật di truyền lai đề xuất
Các bước từ là thực hiện quá trình đột biến trên quần thể, toán tử đột biến đảo đoạn được áp dụng. Cũng giống như với quá trình lai ghép, số lượng cá thể được đột biến là , phụ thuộc vào tỉ lệ đột biến được chọn cho thuật toán. Ở đây các cá thể bị đột biến sẽ được lựa chọn một cách ngẫu nhiên. Việc đột biến các cá thể
1. ProcedureHGA Algorithm
2. Pop INITIALPOPULATION
3. Update 𝑃𝑋 // 𝑃𝑋𝑖 ← 𝑋𝑖 for each individual 𝑖
4. Update 𝐺𝐵𝑒𝑠𝑡 5. While ¬𝑇𝑒𝑟𝑚𝑖𝑛𝑎𝑡𝑖𝑜𝑛 do 6. For𝑖 to𝑚 7. 𝑋𝑖 = RouletteSelection(Pop) 8. 𝑌𝑖 = RandomSelection(Pop) 9. 𝑋𝑖 ← 𝑋𝑖 ⊕ 𝑃𝑌𝑖 10. 𝑌𝑖 ← 𝑋𝑖 ⊕ 𝑌𝑖 11. Update 𝑃𝑋𝑖 𝑃𝑌𝑖 //𝑃𝑋𝑙 𝑋𝑙 𝑃𝑋𝑙 𝑙 𝑖 𝑗 12. End For 13. For 𝑗 to 𝑘 14. 𝑋𝑗= RandomSelection(Pop) 15. 𝑋𝑗 ← 𝑀𝑢𝑡𝑎𝑡𝑖𝑜𝑛 𝑋𝑗 16. Update 𝑃𝑋𝑗 //𝑃𝑋𝑗 𝑋𝑗 𝑃𝑋𝑗 17. End For 18. Update 𝐺𝐵𝑒𝑠𝑡 19. End While 20. Return 𝐺𝐵𝑒𝑠𝑡 21. End Procedure
~ 83 ~
với hi vọng là làm xuất hiện những kiểu gen mới trong quần thể, giảm khả năng thuật toán bị mắc tại cực trị địa phương của bài toán.
Kết thúc thuật toán thì giá trị tốt nhất tìm được bởi quần thể sẽ được trả về.
Phần còn lại của chương này mô tả chi tiết các thành phần của thuật toán đề xuất gồm mã hóa cá thể, lựa chọn, lai ghép và đột biến.