THUẬT GIẢI DI TRUYỀN và ỨNG DỤNG lập THỜI KHÓA BIỀU THEO học CHẾ tín CHỈCHO TRƯỜNG đại học

13 94 0
THUẬT GIẢI DI TRUYỀN và ỨNG DỤNG  lập THỜI KHÓA BIỀU THEO học CHẾ tín CHỈCHO TRƯỜNG đại học

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

1 BỘ GIÁO DỤC VÀ ĐÀO TẠO Cơng trình ñược hoàn thành ĐẠI HỌC ĐÀ NẴNG ĐẠI HỌC ĐÀ NẴNG LÊ TIẾN MẪU Người hướng dẫn khoa học: PGS.TSKH TRẦN QUỐC CHIẾN Phản biện 1: THUẬT GIẢI DI TRUYỀN VÀ ỨNG DỤNG LẬP THỜI KHÓA BIỀU THEO HỌC CHẾ TÍN CHỈ CHO TRƯỜNG ĐẠI HỌC Phản biện 2: Luận văn ñược bảo vệ Hội ñồng chấm Luận văn tốt Chuyên ngành: Khoa học máy tính Mã số: 60.48.01 nghiệp thạc sĩ khoa học họp Đại học Đà nẵng vào ngày …… tháng………năm 2012 TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT Có thể tìm hiểu luận văn tại: Đà Nẵng – Năm 2012 - Trung tâm Thông tin - Học liệu, Đại Học Đà Nẵng - Thư viện Trường Đại học Bách khoa, Đại học Đà Nẵng MỞ ĐẦU Lý chọn ñề tài Nghiên cứu ứng dụng kết nghiên cứu vào thực tế Ý nghĩa khoa học thực tiễn đề tài Bài tốn lập lịch định nghĩa tốn tìm 5.1 Ý nghĩa khoa học kiếm chuỗi tối ưu ñể thực tập hoạt động chịu tác động Thơng qua đề tài hiểu rõ tốn lập lịch các tập ràng buộc cần phải ñược thỏa mãn Người lập lịch phương pháp tiếp cận giải tốn lập lịch, qua có so sánh thường cố gắng thử ñến mức tối đa sử dụng cá thể, máy móc ñánh giá thuật toán tối thiểu thời gian đòi hỏi để hồn thành tồn q trình nhằm Tìm hiểu sâu thuật giải di truyền ứng dụng vào toán xếp lịch tối ưu Vì tốn lập lịch vấn đề khó thời khóa biểu nhằm có cải tiến bước thuật giải ñể giải di truyền với toán cụ thể việc biểu diễn tốn, cách chọn Trong đề tài, tìm hiểu tiếp cận thuật giải di truyền cho cá thể tốt, cách xây dựng hàm ñánh giá, … lớp toán lập lịch cụ thể toán lập thời khóa biểu học theo 5.2 Ý nghĩa thực tiễn hệ tín cho trường đại học Bài tốn lập thời khóa biểu tốn có nhiều ứng dụng Mục đích nghiên cứu Nghiên cứu, tìm hiểu thuật giải di truyền sở tiếp thực tế, ñặc biệt trường ñại học, cao đẳng đào tạo theo học chế tín Ứng dụng thuật giải di truyền để giải tốn thời cận để giải tốn thời khóa biểu theo hệ tín khóa biểu hướng hy vọng giải tốn thời khóa Đối tượng phạm vi nghiên cứu biểu Qua đề tài xây dựng ứng dụng thực tế góp phần giảm Tìm hiểu toán lập lịch hướng giải truyền thống thiểu thời gian nguồn lực cho việc lập thời khóa biểu cho Tìm hiểu thuật giải di truyền sở Ứng dụng thuật giải di truyền vào tốn lập thời khóa biểu Cấu trúc luận văn Xây dựng ứng dụng lập thời khóa biểu theo học chế tín cho Luận văn gồm chương có nội dung sau trường đại học, cao ñẳng Chương - TỔNG QUAN BÀI TOÁN LẬP LỊCH Phương pháp nghiên cứu Chương - THUẬT GIẢI DI TRUYỀN Dựa tài liệu thu thập từ nhiều nguồn (sách, báo, Internet,… ) tổng hợp, phân tích trình bày lại theo hiểu biết thân Mở rộng cách tiếp cận trước ñây sở phân tích đặc thù tốn cần giải ñể có cải tiến hợp lý Chương - ỨNG DỤNG THUẬT GIẢI DI TRUYỀN VÀO BÀI TOÁN LẬP THỜI KHĨA BIỂU điểm, phòng học phải ñảm bảo chổ ngồi cho sinh viên ñể sinh CHƯƠNG - TỔNG QUAN BÀI TOÁN LẬP LỊCH viên có chổ ngồi học tập Đối với yêu cầu giáo viên giáo viên khơng thể dạy hai lớp thời gian Về 1.1 Giới thiệu tốn lập lịch 1.1.1 Tìm hiểu chung 1.1.2 Các thuộc tính tốn lập lịch 1.1.3 Một số loại toán lập lịch 1.2 Bài toán thời khóa biểu 1.2.1 Giới thiệu tốn chương trình, mơn học chương trình phải xếp khác thời ñiểm ñể sinh viên ñược lựa chọn học Và với mơn học có số tiết quy định trước thời khố biểu phải đảm bảo số tiết học mơn học 1.3 Một số hướng tiếp cận giải tốn thời khóa biểu 1.3.1 Mơ luyện kim 1.3.2 Tìm kiếm Tabu 1.2.2 Dữ liệu tốn Phần tìm hiểu, khảo sát thành phần, đối tượng thơng CHƯƠNG - THUẬT GIẢI DI TRUYỀN tin có tác động trực tiếp gián tiếp đến tốn thời khố biểu: Giáo viên, học phần (mơn học),Tín chỉ, Lớp học phần, Phòng học, Tiết học(giờ học) 2.1 Tổng quan thuật giải di truyền 2.1.1 Giới thiệu Một số sở ñào tạo Cao ñẳng, Đại học nước ta Trong thuật giải di truyền người ta dùng thuật ngữ vay mượn số tài nguyên ñiều bị hạn chế số nguyên nhân chủ quan di truyền học như: cá thể, nhiễm sắc thể (nhiễm sắc thể), gen, khách quan Vì vậy, để xếp thời khố biểu tốt thoả mãn tất quần thể, độ thích nghi, chọn lọc, lai ghép, đột biến, v.v… Trong u cầu khó khăn Tuy nhiên khơng khó khăn cá thể (individual, genotypes, structure) biểu diễn lời giải, giải thiếu thốn tài ngun mà có ảnh hưởng số pháp tốn, khơng giống tự nhiên cá thể ràng buộc, yêu cầu phải thoả mãn tốn có nhiều nhiễm sắc thể, ñây quy ước cá thể có 1.2.3 Ràng buộc tốn nhiễm sắc thể (chromosome) Các nhiễm sắc thể một chuỗi tuyến tính, nhiễm sắc thể có đơn vị nhỏ Các ràng buộc yêu cầu cần phải ñược thoả mãn, gen Mỗi gen ñại diện thuộc tính, tính chất có vị trí u cầu khơng thoả mãn thời khố biểu ñịnh nhiễm sắc thể Quần thể (population) tập hợp hữu khơng thể đưa vào sử dụng Một số yêu cầu phòng học như: hai hạn xác ñịnh cá thể, thuật giải di truyền quần thể tập lớp học khác khơng thể học phòng học thời cá thể biểu diễn tập lời giải Các phép tốn chọn lọc • Phương pháp giải tích (selection), lai ghép (crossover), đột biến (mutation) thực • Phương pháp tìm kiếm ngẫu nhiên quần thể ñể tạo quần thể Đặc trưng thuật giải di truyền so với phương pháp truyền Một tốn giải thuật giải di truyền thông thống: thường phải qua bước sau: Thuật giải di truyền làm việc với mã hoá tập thông số Biểu diễn lời giải tốn (hay nhiễm sắc thể) khơng làm việc với giá trị thông số chuỗi nhị phân, chuỗi ký tự, số thập phân, … Khởi tạo quần thể ban ñầu gồm N cá thể cách ngẫu nhiên Xây dựng hàm thích nghi làm tiêu chuẩn ñánh giá cá thể theo ñộ thích nghi chúng Xác ñịnh xác suất lai tạo, xác suất ñột biến, … Xây dựng phép toán lai tạo, chọn lọc, ñột biến Lưu ñồ thuật giải di truyền: Thuật giải di truyền tìm kiếm từ quần thể ñiểm từ ñiểm Thuật giải sử dụng thông tin tiêu chuẩn tối ưu hàm mục tiêu không dùng thông tin hỗ trợ khác Thuật giải sử dụng luật chuyển đổi mang tính xác suất khơng phải luật chuyển đổi mang tính xác định Thuật giải thường khó cài đặt, áp dụng Tuy nhiên khơng phải lúc cho lời giải xác Một số thuật giải di truyền cung cấp lời giải tiềm cho tốn xác định để người sử dụng lựa chọn.[6] 2.1.3 Tính chất thuật giải di truyền 2.2 Các thành phần thuật giải di truyền 2.2.1 Biểu diễn nhiễm sắc thể Hình 2.1 Sơ ñồ khối mô tả thuật giải di truyền tổng quát 2.1.2 Sự khác biệt thuật giải di truyền thuật giải khác Khi dùng phương pháp truyền thống có số cách giải sau: • Phương pháp liệt kê 2.2.1.1 Biểu diễn nhị phân 2.2.1.2 Biểu diễn sử dụng hoán vị 2.2.1.3 Biểu diễn giá trị 2.2.2 Khởi tạo quần thể ban ñầu 10 2.2.3 Đánh giá cá thể 2.2.4 Phương pháp chọn lọc Tính theo thời gian, phụ thuộc vào thời gian chạy chương trình quy định trước thuật tốn dừng Kết hợp nhiều phương pháp khác nhau, thuật giải 2.2.4.1 Chọn lọc tỷ lệ 2.2.4.2 Chọn lọc xếp hạng 2.2.4.3 Chọn lọc cạnh tranh 2.2.5 Phương pháp lai ghép 2.2.5.1 Lai ghép ñiểm 2.2.5.2 Lai ghép ña ñiểm sử dụng kết hợp nhiều phương pháp khác ñể giải vấn ñề 2.2.6 Các tham số thuật giải di truyền 2.2.6.1 Kích thước quần thể 2.2.6.2 Xác suất lai ghép 2.2.6.3 Xác suất đột biến 2.3 Ví dụ minh họa 2.2.5.3 Lai ghép ánh xạ phần 2.3.1 Biểu diễn nhiễm sắc thể 2.2.5.4 Lai ghép có trật tự 2.3.2 Hàm thích nghi 2.2.5.5 Lai ghép dựa vị trí 2.3.3 Khởi tạo quần thể 2.2.5.6 Lai ghép thứ tự tuyến tính 2.3.4 Chọn lọc cá thể 2.2.5.7 Lai ghép có chu trình 2.3.5 Phương pháp lai ghép 2.2.6 Tốn tử đột biến 2.3.6 Phương pháp đột biến 2.2.7 Điều kiện dừng thuật giải 2.3.7 Các tham số sử dụng tốn điều kiện dừng Một số ñiều kiện dừng thuật giải: Kết thúc theo kết quả, tức giá trị thích nghi cá thể quần thể có giá trị sai số nhỏ giá trị ε cho trước, dừng thuật toán Kết thúc dựa số hệ, số vấn ñề dựa vào số hệ quần thể Khi số lượng tiến hố quần thể đến giới hạn cho phép thuật tốn dừng, mà khơng quan tâm đến chất lượng cá thể quần thể 11 12 Một tập phòng học:P={P1, P2, …, Pm} Mỗi phòng học có số chỗ ngồi CHƯƠNG - ỨNG DỤNG THUẬT GIẢI DI TRUYỀN VÀO Một tập giảng viên: G={G1, G2, …, Gk} BÀI TỐN XẾP THỜI KHĨA BIỂU Một tập tiết học tuần: T={T1, T2, …, Th} 3.1 Bài tốn thời khóa biểu theo học chế tín Tập phân cơng giáo viên dạy: E={ (SVi, Mi, Gi )| Bài tốn thời khố biểu có vai trò quan trọng nhà trường nào, thời khóa biểu học tập sinh viên lịch SVi ∈ SV, Mi∈ M, Gi ∈ G } giảng dạy giáo viên xương sống nhất, kết nối 3.1.2 Các ràng buộc tốn tồn hoạt động nhà trường Chính lẽ tốn xếp Thời khóa biểu trở thành vấn đề quan trọng vào bậc trường Đối với tốn khơng gian lời giải nhỏ sử Xếp lịch học cho lớp vào phòng học thời điểm cho thỏa mãn điều kiện sau: • điểm dụng phương pháp cổ điển vét cạn đủ để tìm giải pháp tối ưu Nhưng với tốn có khơng gian lời giải lớn kết hợp • nhiều ràng buộc đòi hỏi phải có phương pháp trí tuệ nhân tạo ñặc biệt, thuật giải di truyền phương pháp • Một tập môn học: M={M1, M2, …, Mt} Mỗi môn học gồm số tín chỉ, danh sách chương trình học mơn học Một tập nhóm sinh viên (Lớp học phần): SV={SV1, SV2, …, SVn} Mỗi lớp học phần gồm môn học, giảng viên dạy, số sinh viên học (dự kiến thức) (C3): Xếp lớp học vào phòng học đảm bảo đủ chỗ ngồi cho sinh viên • CTl} Mỗi chương trình gồm mơn học theo kế hoạch ngành học, cho khóa học (C2): Một giáo viên không dạy hai lớp thời điểm 3.1.1 Định nghĩa tốn Một tập chương trình đào tạo: CT={CT1, CT2, …, (C1): Khơng có hai lớp học phòng thời (C4): Xếp tiết học ñảm bảo ñủ số tiết cho mơn học • (C5): Khơng xếp mơn học chương trình đào tạo vào tiết học u cầu tốn tìm lời giải toán cho thoả mãn tất ràng buộc {C} 13 3.2 Phát biểu toán theo hướng tiếp cận thuật giải di truyền Việc áp dụng thuật giải di truyền vào tốn 14 Như thời khóa biểu X sở có cấu trúc trình bày hình 3.2: biểu diễn hình 3.1: Hình 3.2 Biểu diễn nhiễm sắc thể (cá thể) toán Trong đó: ei ={ (SVi, Mi, Gi )|SVi ∈ SV Mi ∈ M, Gi ∈ G}, (Nhóm sinh viên học phần SVi học môn Mi giảng viên Gi dạy) hay Hình 3.1 Biểu diễn vòng lặp thuật giải di truyền toán thời khoá biểu 3.3 Áp dụng thuật giải di truyền vào toán thời khóa biểu 3.3.1 Biểu diễn nhiễm sắc thể gọi tập phân công giảng dạy Dựa vào số tiết môn học tuần chia nhỏ thành số kiện tuần, với kiện ñược gán số nguyên ñể thuận lợi cho việc biểu diễn sau Một phần thời khoá biểu tường minh sau: Một thời khóa biểu biểu diễn ma trận Xmxh, T1 h, m số tiết học tuần số phòng học sở P Với giá trị ma trận ñối tượng kiện, kiện P P gồm có giảng viên, lớp học phần mơn học giá trị tập phân cơng giảng dạy ñịnh nghĩa Với cách xếp gen vào nhiễm sắc thể cho ta nhiễm sắc thể (cá thể) P T12 G 1, M , L G 3,M 2,L 2 G 3, M , L G 2,M 3,L 3 G 2, M , L G 4,M 4,L 4 T19 T 30 T45 G 3, M , L G 1,M 1,L G 4, M , L G 3,M 4,L G ,M ,L G ,M ,L 3.3.2 Khởi tạo quần thể Khởi tạo quần thể bước đầu thuật giải di truyền, thuật tốn có hội tụ nhanh hay chậm đến giá trị tối ưu phụ thuộc 15 vào quần thể khởi tạo ban ñầu Khi khởi tạo quần thể phải khởi tạo tập liệu liệu ban ñầu, bao gồm tập u cầu tốn, khởi tạo tập phân cơng giảng dạy Thuật toán khởi tạo quần thể Procedure Population() Input: N //Số lượng cá thể yêu cầu quần thể Output: Po //Quần thể cá thể 16 Output: TKB //Thời khoá biểu (cá thể) Begin For each Tj∈ {T} For each Pi∈ {P} e ← {E} //lấy ngẫu nhiên kiện e TKB[Tj][Pi]=e //Đặt vào thời khoá biểu Begin E ← {E} − e //Loại bỏ kiện e khỏi While (i ≤ N) tập kiện P=Individual() //tạo cá thể Endfor Po=Po ∪ P//ñặt cá thể vào quần thể i=i++ Endwhile End Trong đó, Individual() hàm tạo cá thể mới, thực ý tưởng, với Tj tập T với Pi tập P Chọn ngẫu nhiên kiện e thuộc tập kiện (tập phân cơng giảng dạy) đặt vào vị trí trống (Tj,Pi) loại bỏ kiện e khỏi tập kiện Thực cho ñến hết số kiện tập phân công vị trí (Tj,Pi) xét hết Endfor Return TKB End 3.3.3 Lai ghép Ý tưởng phương pháp lai ghép, với giá trị mặt nạ, mặt nạ có giá trị cá thể nhận gen cha (mẹ), ngược lại gen mẹ (cha) Các bước thực sau: Bước 1: Xét giá trị g[i,j] ∈ M (M ma trận nhị phân làm mặt nạ, i=1 h,j=1 m) Với giá trị g[i,j] kiểm tra: Thuật toán sinh cá thể cho quần thể Nếu: g[i,j]=1 Function Individual() Input: tập phân công giảng dạy E={e1, e2, e3, … en}, {T}, {P}//n: số kiện • Tìm gen x thuộc cá thể cha chưa ñược xét khơng có cá thể Đặt x vào cá thể 17 • 18 Đánh dấu xét gen x cá thể cha Ngược lại: Nếu g[i,j]=0 • - Giá trị thứ nhất, m[1,1]=0 Cá thể nhận gen mẹ, - Giá trị thứ hai, m[1,2]=1 Cá thể nhận gen cha Tìm gen x thuộc cá thể mẹ chưa ñược xét Tương tự giá trị kế tiếp, kết cá thể (NSTCon) sau lai khơng có cá thể Đặt x vào cá thể tạo cha NSTCha, mẹ NSTMe, dựa vào mặt nạ M: • NSTMe NSTCha Đánh dấu ñã xét gen x cá thể mẹ T1 T2 T3 T4 T1 T2 T3 T4 Bước Lặp lại bước 1, cho ñến phần tử mặt nạ M ñã ñược xét P1 P2 P3 P4 12 13 16 10 11 14 NSTCon P1 P2 P3 P4 13 14 15 10 12 11 16 T1 T2 T3 T4 P1 P2 P3 P4 13 12 Bước 3: Kết thúc thuật toán trả kết Ví dụ: Giả sử có hai nhiễm sắc thể cha, mẹ NSTCha, NSTMe (các kiện ñược gán số ngun để thuận lợi việc biểu Hình 3.3 Kết ví dụ sau thực lai ghép diễn) ma trận mặt nạ M: T 1NSTMe T2 T3 T4 T 1NSTCha T2 T3 T4 P P P P 12 13 10 1 11 16 14 P P P P 13 12 10 11 14 15 16 1 Mặt nạ2 (M) 1 0 1 0 1 0 0 P1 P2 P3 P4 T1 T2 T3 T4 13 14 12 16 15 10 11 3.3.4 Đột biến Trong tốn, nhiễm sắc thể đại diện cho lời giải Cách lai ghép dựa vào giá trị mặt nạ, giá trị xét tốn gen nhiễm sắc thể có xác suất đột biến p, ví mặt nạ gen nhận cha NSTCha, ngược lại nhận dụ: p = 0.03 tức với 100 cá thể quần thể có 0.03*100 = cá mẹ NSTMe Từ ví dụ ta có: thể bị đột biến hệ, q trình đột biến thực T1 T2 T3 T4 T1 T2 T3 T4 P1 P2 P3 P4 12 13 16 10 11 14 NSTCon NSTMe NSTCha P1 P2 P3 P4 13 12 10 11 14 15 16 T1 T2 T3 T4 P1 P2 P3 P4 phương pháp ñột biến tương hỗ cách hoán vị gen bất ký nhiễm sắc thể 13 Các bước thực ñột biến: {Gọi N số cá thể quần thể, p xác suất ñột biến} 19 Bước 1: Tính số cá thể bị ñột biến Số cá thể ñột biến, K= N * p  Bước 2: Với giá trị k, (k ∈ [1 K]) thực hiện: 20 Ràng buộc {C2}.Với ràng buộc trình bày thuật giải kiểm tra thoả mãn ràng buộc sau: Bước 1: Với tiết học Ti ∈ {T } , (i=1 h) Xác ñịnh vị trí cá thể bị ñột biến: sinh ngẫu • Đánh dấu tất giáo viên chưa xét nhiên số nguyên, x ∈ [1 N] ( x: vị trí cá thể • Với phòng học Pj ∈ { P } , (j=1 m) quần thể) o Với cá thể x, xác định vị trí gen ñột biến cách sinh ngẫu nhiên hai cặp số nguyên vt1, vt2, vt3, vt4 (vt1, vt2 ∈ [1 m], vt3, vt4∈ [1 h], TKB[i,j]) o trí(vt1, vt2) và( vt3, vt4) Bước 3: Lặp lại bước 2, cho ñến hết số cá thể bị ñột biến 3.3.5 Hàm ñánh giá Trong luận văn, hàm thích nghi thực đánh giá thơng qua ràng buộc phải thoả mãn {C} Nếu gv xét tăng giá trị phạt Ngược lại, ñánh dấu gv ñã xét h:số tiết học/tuần, m: số phòng học) Hốn vị hai cặp gen cá thể x hai vị Lấy thông tin giáo viên phòng Pj (gv ∈ o Lặp lại xét hết phòng Bước 2: Lặp lại bước 1, cho ñến tiết học ñều xét Bước 3: Trả kết quả, kết thúc thuật tốn Ràng buộc (C3), phòng học có sức chứa đặc điểm riêng phòng, xếp lớp học vào phòng cho đảm bảo chổ ngồi cho sinh viên Đối với yêu cầu, thời khố biểu phải thoả mãn sức chứa, phải kiểm tra thoả mãn ràng buộc Một thời khố biểu chấp nhận phải thoả mãn tất ràng buộc, tốn định nghĩa tập ràng buộc C = {C1, C2, C3, C4, C5} Tương ứng, xây dựng thuật tốn đánh giá mức độ thoả mãn với ràng buộc: Đối với ràng buộc {C1}, tương ứng với giá trị ma trận có kiện Như giá trị ñánh giá cho ràng buộc loại ñược xác ñịnh bằng: C1(x) = Các bước thực kiểm tra sau: Bước 1: Với giá trị TKB[i,j], {i=1 m, j=1 h} • Xác định nhóm sinh viên, lop ∈ TKB[i,j], TKB[i,j]={gv,nhómsv,mon} • Lấy khả chứa phòng học thứ i • So sánh sĩ số nhóm sinh viên khả chứa phòng học thứ i 21 22 Nếu sĩ số lớp học phần (nhóm sinh viên) > sức chứa Các bước thực kiểm tra vi phạm ràng buộc C5 thực phòng học thứ i tăng giá trị phạt qua bước sau: Bước 2: Lặp bước 1, cho ñến tất giá trị ñều ñược xét Gọi mảng CT[] có giá trị boolean, có kích thước số lượng chương trình, giá trị mảng đại diện cho chương trình, ví Bước 3: Trả kết quả, dừng thuật toán Ràng buộc (C4), bước thực kiểm tra số lượng tiết học tuần mơn thực sau: Gọi mảng số nguyên dem_tiet[] chứa số tiết học ñã ñược xếp lịch tương ứng với môn, giá trị mảng đại diện cho mơn học, ví dụ dem_tiet[1] ñại diện cho môn học m1, dem_tiet[2] cho môn m2, … m1 ,m2 ∈ {M} dụ CT[1] ñại diện cho CT1, CT[2] ñại diện CT2, (CT1,CT2 ∈ {CT} ) Bước 1: Với tiết học Ti ∈ {T } , (i=1 h) • Đánh dấu tất chương trình chưa xét (CT[k]=false, k=1 l) • Với phòng học Pj ∈ { P } , (j=1 m) o (mon ∈ TKB[i,j]) o Bước 1: Với giá trị TKB[i,j], {i=1 m, j=1 h} • Xác định mơn học, mk∈ TKB[i,j] • Lặp lại bước 1, giá trị ñiều ñược xét Bước 2: Với mơn mi ∈ {M} ,i=1 t • So sánh, Xác định chương trình mơn (mon), (gọi chương trình thứ k) o Nếu CT[k] xét tăng giá trị phạt Ngược • Đếm số lượng tiết học tương ứng môn(mk), lưu mảng dem_tiet[mk]= dem_tiet[mk]+1 Lấy thơng tin mơn học (mon) phòng Pj đánh lại, dấu CT[k] ñã xét(CT[k]=true) o Lặp lại cho ñến xét hết phòng Bước 2: Lặp lại bước 1, cho ñến tiết học ñều xét Bước 3: Trả kết quả, dừng thuật toán số tiết quy định học mơn mi Giai đoạn ñịnh thuật giải, ñánh giá lịch học >dem_tiet[mi] số tiết xếp lịch tăng giá trị sở có thoả mãn yêu cầu toán Cứ ràng buộc bị phạt vi phạm cho giá trị phạt điểm, tổng hợp giá • Lặp bước 2, cho ñến môn ñiều ñược xét Bước 3: Trả kết quả, dừng thuật toán Ràng buộc (C5) Thời khố biểu phân u cầu mơn chương trình đào tạo phải có thời gian học khác (C5) trị thích nghi ràng buộc trình bày khái qt thành cơng thức sau: F (x) = ∑ w i * Ci Trong đó: wi: trọng số đánh i =1 giá mức ñộ quan trọng ràng buộc thứ i.(wi ∈ [0,1], ∑i =1 wi = ) 24 23 Ci(x): tương ứng với giá trị phạt ràng buộc thứ i x: thời khố biểu cần đánh giá Như mục tiêu hàm ñánh giá F1(x) ñạt ñược giá trị nhỏ nhất, yêu cầu tốn phải thoả mãn tất ràng buộc tức là: F(x) = Mục tiêu cần ñạt ñược xây dựng hàm F(x) ñạt giá trị nhỏ 3.4 Đánh giá kết thực Hình 3.7 Kết sau 200 cá thể Qua trình cài đặt chương trình mơ thuật giải ñiều kiện lý tưởng, thoả sức chứa phòng, số lượng Hình 3.8 kết lần thực thứ 2, tồn cá thể thoả mãn ràng phòng điều thoả mãn, giáo viên khơng u cầu chương trình đạt buộc sau 100 cá thể số kết tốt Bảng 3.1 ví dụ tương ứng với đầu vào liệu kích cở đầu vào nhỏ tốn Và tham số: Số phòng học: 10, tiết học: tiết/ngày, số lượng cá thể: 20, xác suất lai: 0.5, Xác suất ñột biến: 0.05, Trọng số ràng buộc: w1=0, w2=0.4, w3=0.1, w4=0.3, w5=0.2 Bảng 3.1 Dữ liệu thời khố biểu đầu vào nhỏ Hình 3.8 Kết sau 100 cá thể Hình 3.9 cho thấy q trình lai ghép, đột biến xảy cá thể không tốt bố mẹ chúng Nhưng có cá thể tốt Giá trị tốt 0.1 Hình 3.7 kết qua lược chạy thứ nhất, sau thực 200 cá thể giá trị tốt ñạt ñược 0.05 25 26 KẾT LUẬN VÀ KIẾN NGHỊ KẾT LUẬN Tóm lại luận văn ñã giải ñược vấn ñề sau: Luận văn bước ñầu ñề xuất phương pháp thuật giải di truyền vào toán xếp thời khoá biểu Phát biểu toán theo hướng tiếp cận thuật giải di truyền Tìm hiểu cài đặt thuật tốn, xây dựng hàm Hình 3.9 Kết sau 150 cá thể Như vậy, hạn chế thuật giải thuật giải di truyền sử dụng luật chuyển ñổi cá thể quần thể mang tính xác suất khơng lúc cho lời giải xác Tuy nhiên tốn vận dụng thuật giải di truyền cung cấp nhiều lời giải tiềm ñể người sử dụng lựa chọn ñánh giá cho yêu cầu buộc phải thoả mãn Xây dựng chương trình demo kết thử nghiệm chứng minh hướng tiếp cận thuật giải di truyền vào toán lập lịch cụ thể toán thời khố biểu hướng tiếp cận đắn có hiệu Đặc biệt chương trình với liệu thử ñã ñưa ñược thời khoá biểu cụ thể HƯỚNG PHÁT TRIỂN ĐỀ TÀI Hiện phát triển chương trình ứng dụng hồn chỉnh dựa vào kết nghiên cứu Do thời gian hạn chế nên chương trình chưa hồn thiện Sau phát triển thành cơng chương trình ứng dụng, hướng nghiên cứu chúng tơi tìm hiểu ứng dụng thuật giải di truyền cho nhiều dạng toán lập lịch So sánh với phương pháp khác ñã có mở rộng nhiều ràng buộc cho toán lập lịch khác ... ñặc biệt trường ñại học, cao ñẳng ñào tạo theo học chế tín Ứng dụng thuật giải di truyền để giải tốn thời cận để giải tốn thời khóa biểu theo hệ tín khóa biểu hướng hy vọng giải tốn thời khóa Đối... dựng ứng dụng thực tế góp phần giảm Tìm hiểu toán lập lịch hướng giải truyền thống thiểu thời gian nguồn lực cho việc lập thời khóa biểu cho Tìm hiểu thuật giải di truyền sở Ứng dụng thuật giải di. .. chất thuật giải di truyền 2.2 Các thành phần thuật giải di truyền 2.2.1 Biểu di n nhiễm sắc thể Hình 2.1 Sơ đồ khối mô tả thuật giải di truyền tổng quát 2.1.2 Sự khác biệt thuật giải di truyền thuật

Ngày đăng: 16/05/2019, 17:01

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan