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

Một phần của tài liệu Xây dựng chƣơng trình hỗ trợ xếp lịch thời khóa biểu cho đào tạo và học tập tín chỉ (Trang 60 - 61)

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 ) ( ) ( [3.1] Trong đó, fi(v) = - Ai*xi là hàm đánh giá theo ràng buộc thứ i, Ai > 0 là tham số, xi ≥ 0 là số lớp môn học 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 là số lớp môn học bị trùng).

x1=10 có nghĩa là có 10 lớp môn học mà một số giáo viên bị trùng lịch tại một số ca học.

61

A1 = 10 tương ứng với mỗi vi phạm tính 10 điểm tổng số điểm vi phạm là 100

Khi đó chọn M bằng 1000 vậy số điểm còn lại của cá thể đó là 1000 – 100 còn 900. Vậy cá thể nào có điểm càng cao càng gần với 1000 là cá thể tối ưu hơn. Tùy theo từng loại ràng buộc cứng hay mềm và sự vi phạm nhiều hay ít mà quyết định giá trị cho tham số A và gia số M.

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.

Một phần của tài liệu Xây dựng chƣơng trình hỗ trợ xếp lịch thời khóa biểu cho đào tạo và học tập tín chỉ (Trang 60 - 61)