Xác định hàm thích nghi

Một phần của tài liệu Tính toán tiến hoá và ứng dụng lập thời khoá biểu trường trung học phổ thông (Trang 58)

Do các ràng buộc đa dạng, ta nên xét từng ràng buộc và xây dựng các hàm đánh giá tương ứng, sau đó tổ hợp lại thành hàm đánh giá chung cho cá thể. Tùy theo tính chất cứng, mềm và tính cần thiết của các ràng buộc, ta sẽ gán cho chúng các tham số lớn nhỏ khác nhau trong hàm đánh giá tổng thể của cá thể.

Ta xõy dựng tổ hợp các hàm đánh giá thành phần của cá thể v gồm k ràng buộc như sau:

k i i v f M v f 1 ) ( ) (

Trong đó, fi(v) = Aixi là hàm đánh giá theo ràng buộc thứ i, Ai > 0 là tham số, xi 0 là số tiết vi phạm ràng buộc thứ i, với i = 1, 2, …, k,

M > 0 là gia số ban đầu. Gia số M phải được chọn đủ lớn để bảo đảm cho f(v) > 0

Vớ dụ:

f1(v) = A1.x1, Đánh giá số tiết học bị trùng của giáo viên (A1 là tham số, x1 số tiết học bị trựng)

f2(v) = A2.x2, Đánh giá số tiết học bị cách của một môn học trong một buổi học (A2 là tham số, x2 là số tiết gõy cỏch)

………

fk(v) = Ak.xk, Đánh giá số tiết học liền nhau quá m tiết cho phép

Việc xây dựng hàm thích nghi cho cá thể từ các hàm thích nghi toàn phần giúp ta dễ dàng thay đổi các tham số để có thể điều khiển hướng hội tụ của bài toán theo định hướng của người sử dụng. Tuy nhiên, những thay đổi này cần phải bảo đảm tiêu chuẩn cơ bản của hàm thích nghi trong mỗi pha tiến hóa, nghĩa là hàm thích nghi phải phân biệt được độ thích nghi của từng cá thể, để cá thể tương ứng với lời giải tốt hơn sẽ có giá trị hàm thích nghi lớn hơn.

3.4. Cỏc toỏn tử di truyền

Các toán tử di truyền được tách thành hai nhóm chính là toán tử lai và toán tử biến dị. Một số toán tử biến dị ngoài việc tạo ra các cá thể mới cũn cú nhiệm vụ xử lý cỏc ràng buộc, toán tử lai gần giống với toán tử lai trong GA cổ điển.

Tuy nhiên, một đặc điểm của giải thuật tiến hóa là thường chỉ tỡm được các lời giải gần tối ưu, rất khó thỏa món hoàn toàn cỏc ràng buộc, hoặc nếu cho thỏa món triệt để thỡ thời gian chạy rất lõu (có thể lên đến cả ngày …) do không gian tỡm kiếm rộng và cú sự lặp lại. Do đó, đối với mỗi ràng buộc, ta cần có các toán tử biến đổi có định hướng (giống như việc biến đổi gene theo ý con người trong công nghệ sinh học). Việc này vừa giúp tạo ra nhiễm sắc thể mới, vừa xử lý được các ràng buộc và đẩy nhanh quá trỡnh hội tụ. Ngoài ra, việc đẩy nhanh sự hội tụ sẽ có thể dẫn đến mất một số thông tin tích cực (một số nhiễm sắc thể có tiềm năng cao bị bỏ qua), nên để bổ sung thông tin ta cần có các toán tử biến dị mạnh.

Một phần của tài liệu Tính toán tiến hoá và ứng dụng lập thời khoá biểu trường trung học phổ thông (Trang 58)

Tải bản đầy đủ (PDF)

(82 trang)