Kết quả thực nghiệm cho thấy giải thuật đề xuất cho kết quả tốt hơn một số phần mềm hỗ trợ xếp thời khóa biểu cho các trường phổ thông hiện nay trên dựa trên trọng số một số ràng b[r]
(1)ĐẠI HỌC SÀI GÒN OF SAIGON UNIVERSITY
Số 71 (05/2020) No 71 (05/2020)
Email: tcdhsg@sgu.edu.vn ; Website: http://sj.sgu.edu.vn/
ĐỀ XUẤT GIẢI THUẬT DI TRUYỀN GIẢI BÀI TỐN XẾP THỜI KHĨA BIỂU
Proposing a genetic algorithm to solve timetabling problem
Nguyễn Hồ Thiên Đăng(1), Nguyễn Thị Hồng Bích(2),
Thái Minh Tân(3), TS Phan Tấn Quốc(4)
(1)Học viên cao học Trường Đại học Sài Gịn (2)Trường THPT Ngơ Quyền, Q.7, TP.HCM (3)Cơng ty TMA Solutions, TP.HCM (4) Trường Đại học Sài Gòn
TĨM TẮT
Việc xếp thời khóa biểu hợp lý tốn tối ưu có nhiều ứng dụng thực tế Được phân loại thuộc lớp NP-complete nghiên cứu rộng rãi hàng chục năm qua với hướng tiếp cận quy hoạch toán học, tối ưu dựa ràng buộc, tối ưu đa mục tiêu, giải thuật tham lam, giải thuật metaheuristic.v.v Nghiên cứu đề xuất sử dụng giải thuật di truyền để giải tốn xếp thời khóa biểu trường phổ thơng, loại tốn xếp thời khóa biểu phổ biến Nghiên cứu cài đặt thí nghiệm giải thuật đề xuất số liệu thực tế Kết thực nghiệm cho thấy giải thuật đề xuất cho kết tốt số phần mềm hỗ trợ xếp thời khóa biểu cho trường phổ thông dựa trọng số số ràng buộc tốn
Từ khóa: thời khóa biểu, thời khóa biểu trường phổ thơng, giải thuật di truyền ABSTRACT
Timetabling problem is optimization problems that have many practical applications; this is the problem of class NP-complete Timetabling problem has been widely studied over the past decades with approaches such as mathematical programming, constraint-based approaches, multiobjective optimization, greedy algorithms, metaheuristic algorithms, etc In this study, we propose a genetic algorithm to solve a form of Timetabling problem that is the School Timetabling problem The proposed algorithm was conducted on some real data sets Experimental results claim that our algorithm results in better results than some of the current school Timetabling software based on some constraints of the problem
Keywords: genetic algorithm, timetabling problem, school timetabling
1 Giới thiệu
Bài tốn xếp thời khóa biểu trường học (timetabling problem) tạo lịch phân công giảng dạy người dạy người học chu kỳ thời gian cố
định (thường theo tuần) cho thỏa mãn nhiều ràng buộc bài tốn Bài tốn xếp thời khóa biểu thuộc lớp tốn tối ưu NP-complete [1]
Bài tốn xếp thời khóa biểu biết
(2)đến rộng rãi với dạng sau: tốn xếp thời khóa biểu trường phổ thơng (school timetabling-STTP); tốn xếp thời khóa biểu trường đại học (course timetabling-CTTP); toán xếp lịch thi (examination timetabling-ETTP) [1]
Đã có nhiều cơng trình nghiên cứu bài tốn xếp thời khóa biểu dựa hướng tiếp cận giải thuật tô màu đồ thị, tiếp cận dựa ràng buộc, quy hoạch toán học, tối ưu đa mục tiêu, giải thuật tham lam [2], giải thuật metaheuristic [3], [4], [5], [6], [7]
Trong nghiên cứu này, đề xuất giải thuật metaheuristic dạng quần thể giải thuật di truyền để giải tốn xếp thời khóa biểu trường phổ thơng với hy vọng khắc phục bẩy tối ưu cục so với metaheuristic dạng cá thể khác
2 Bài tốn xếp thời khóa biểu phổ thông
2.1 Một số khái niệm
Chu kỳ thời khóa biểu: chu kỳ thời
khóa biểu số ngày mà thời khóa biểu cần xếp lịch, tính từ thứ Hai đến thứ Bảy.
Nhóm thời gian: nhóm thời gian
tập hợp nhóm tiết chu kỳ thời khóa biểu; buổi sáng từ tiết đến tiết 5, buổi chiều từ tiết đến tiết 8, sau tiết đầu buổi học có giải lao
Định dạng khuôn mẫu buổi học thông thường trường phổ thông sau: từ thứ Hai đến thứ Sáu, buổi lớp học đủ tiết; riêng thứ Bảy học hơn tuỳ theo tổng số tiết môn tuần, tổng số tiết thay đổi tuỳ học kỳ tuỳ khối lớp
Giáo viên: giáo viên
phân cơng làm công tác chủ nhiệm lớp, giáo viên chủ nhiệm lớp phải phân cơng giảng dạy mơn học
của lớp đó; giáo viên dạy mơn học ngồi chun mơn chính, gọi cơng tác kiêm nhiệm
Lớp học: lớp học gồm tập học
sinh học chung với tất mơn học
Phạm vi tốn xếp thời khóa biểu đề cập nghiên cứu khối lớp 10, 11 12
Phịng học: với tốn xếp thời khóa
biểu trường phổ thông, lớp cấp cố định phòng học lý thuyết suốt năm học; phịng học có thêm thơng tin là phòng học lý thuyết hay phòng thực hành, thực nghiệm
Mơn học: có thể gọi môn, khối
lớp học kỳ có từ 13 đến 17 mơn; Mơn ngữ văn, thể dục, quốc phòng phải xếp tiết cặp khơng xếp tiết 2-3 sau tiết giải lao; Mơn tốn, tiếng Anh, Tin học khuyến khích xếp tiết cặp Các mơn xếp tiết cặp buổi khơng xếp cặp
Bảng phân công: bảng phân công
giảng dạy gồm tập phân công; phân công bao gồm thông tin giáo viên, lớp học, môn học, tổng số tiết môn học tuần
2.2 Ràng buộc tốn xếp thời khóa biểu
Ràng buộc toán xếp thời khóa biểu phân làm hai loại: ràng buộc cứng (hard constraints) ràng buộc mềm (soft constraints)
Ràng buộc cứng ràng buộc
được quy định văn ngành Ví dụ mơn học cần xếp có tiếp cặp, buổi học lớp khơng có tiết lủng.v.v Ràng buộc cứng loại ràng buộc, vi phạm, trừ trường hợp bất khả kháng
Ràng buộc mềm ràng buộc
(3)để làm tăng chất lượng thời khóa biểu Các ràng buộc mềm cần xếp thỏa mãn càng nhiều tốt Khi có nhiều ràng buộc mềm độ ưu tiên chúng là yếu tố cần xem xét
Ràng buộc cứng toán xếp thời khóa biểu phổ thơng
Ràng buộc đụng độ giáo viên (1): các
phân công giáo viên khơng xếp vào vị trí tiết học.
Ràng buộc đụng độ lớp học (2):
phân công lớp học khơng xếp vào vị trí tiết học
Ràng buộc đụng độ phòng học (3):
mỗi phòng học xếp vào nhiều nhất phân cơng vị trí tiết học Việc đụng độ phịng học xảy các phịng thí nghiệm, thực hành, sân tập thể dục
Ràng buộc số tiết học liên tiếp tối thiểu số tiết học liên tiếp tối đa (4): thông số (1,2) toán STTP và điểm khác biệt so với toán CTTP Ở toán CTTP, số tiết học liên tiếp tối thiểu, tối đa (2,k) với 2 ≤ k ≤
Ràng buộc thời gian rảnh giáo
viên, lớp học, phịng học (5): các phân
cơng không vi phạm thời gian rảnh của giáo viên, lớp học, phòng học.
Ràng buộc tính đầy đủ phân
cơng (6): tất phân công phải
được xếp thời khóa biểu Nếu giải thuật khơng xếp tất phân cơng cần gỡ dần ràng buộc mềm tiến hành lại việc xếp thời khóa biểu Một giải thuật xếp tất phân công không đồng nghĩa giải thuật tạo thời khóa biểu tốt
Ràng buộc phân công xếp sẵn (7):
tiết xếp sẵn tiết ưu tiên xếp trước và tiết khác xếp sau tránh tiết xếp sẵn
Ràng buộc mơn học có tiết cặp
(8): một số môn học theo quy định bắt
buộc phải có tiết cặp để đáp ứng yêu cầu chuyên môn
Ràng buộc môn học học một lần buổi lớp (9):
trong buổi học, mơn học có thể xuất nhiều lần (một tiết lẻ tiết cặp)
Ràng buộc tiết trống lớp theo buổi
(10): tiết trống tiết khơng bố trí dạy học
xen tiết học khác; thực tế thời khóa biểu lớp trường phổ thông cần được xếp cho khơng có tượng trống tiết
Ràng buộc tiết không xếp giáo
viên (11): tiết không xếp tiết theo quy
định ngành, sở giáo dục; thời khóa biểu giáo viên cần xếp tránh tiết khơng xếp này, ví dụ ngày sinh hoạt chuyên môn giáo viên xem tiết không xếp
Ràng buộc mềm tốn xếp thời khóa biểu phổ thơng
Ràng buộc lịch bận giáo viên
(1): mỗi giáo viên có lịch bận riêng
Ràng buộc học cách ngày (2): nên
xếp môn học học cách ngày tuần
Ràng buộc độ nén lịch dạy giáo
viên (3): nên xếp lịch dạy giáo viên
cho số buổi mà giáo viên dạy có thể; gọi n số buổi dạy giáo viên thì: n ≤ số tiết tuần giáo viên/5 +1
Ràng buộc tiết trống giáo viên (4): buổi giáo viên trống tiết tối đa lần (trống tiết tiết liên tục);
trong tuần số tiết trống giáo viên không vượt
Ràng buộc số tiết dạy tối thiểu
trong buổi giáo viên (5): giáo
(4)Ràng buộc số tiết học tối thiểu
trong buổi học lớp (6): số tiết
tối thiểu buổi học lớp 2 tiết
Ràng buộc số môn học tối đa
trong buổi (7): số môn học tối đa
trong buổi 4; trường hợp bất khả kháng có mơn buổi học mơn học khơng thuộc nhóm mơn học xã hội (Văn, Sử, Địa, Giáo dục công dân, Tiếng Anh)
Ràng buộc số tiết tối đa giáo viên lớp buổi (8):
tránh xếp giáo viên dạy lớp nhiều hơn tiết/buổi học (khơng tính tiết sinh hoạt chủ nhiệm) Trường hợp xảy mơn học có nhiều tiết giáo viên dạy lớp mơn học
2.3 Mơ hình hóa tốn xếp thời khóa biểu
Bài tốn xếp thời khóa biểu gồm yếu tố sau:
Tập P ={p1, p2,…,pm} gồm m tiết học,
tập T ={t1, t2,…,tn} gồm n giáo viên, ma
trận PT cho biết tiết rảnh giáo viên, PTij=1 giáo viên ti rảnh
tiết pj PTij=0 ngược lại
Tập C ={c1, c2,…,ch} gồm h lớp học,
ma trận PC cho biết tiết rảnh lớp học, trong PCij=1 lớp học ci rảnh tiết pj
và PCij=0 ngược lại
Tập R ={r1, r2, ,rk} gồm k phòng học,
ma trận PR cho biết tiết rảnh phịng học, PRij=1 phịng học ri rảnh
tiết pj PRij=0 ngược lại
Tập M ={m1, m2,…, my} gồm y môn
học, tập PM gồm y tổng số tiết học tuần môn học tương ứng tập
M tức PM={pm1, pm2,…, pmy}
Tập MR gồm môn học phân cơng vào phịng học, MRij=1
nếu mơn học mi xếp vào phòng rj ngược lại
Tập A ={A1, A2, , Aq} gồm q phân
công, tập Ai cho biết chi tiết phân công
giáo viên tj giảng dạy môn mf cho lớp Cv: Ai={tj, Cv, mf}
Tập lời giải S tốn gồm x phân cơng gán tiết học phòng học
S={S1, S2, ,Sx}, tập Si gồm phân
cơng Ai xếp vào tiết học Pj với số tiết
liên tiếp kv (với k=1,2) phòng học rm: Si={Ai, pj, kv, rm}
Để đánh giá chất lượng lời giải ta sử dụng hàm mục tiêu biểu diễn tổng trọng số vi phạm các ràng buộc tốn; ràng buộc cứng chuyển thành ràng buộc mềm có trọng số cao
Trong đó: S lời giải - thời khóa biểu toàn trường, n tổng số ràng buộc toán, wi trọng số vi phạm của ràng buộc thứ i (wi ≥ 0, với i=1 n), di
là số lần vi phạm ràng buộc thứ i (di ≥ 0,
với i=1 n) [4]
Ký hiệu f(S) giá trị hàm mục tiêu lời giải S, giá trị hàm mục tiêu cao độ thích nghi thấp ngược lại
2.4 Tiêu chí đánh giá chất lượng thời khóa biểu
Chất lượng thời khóa biểu thể hiện qua thời khóa biểu lớp học thời khóa biểu giáo viên Việc đánh giá chất lượng thời khóa biểu cơng việc khó khăn thơng thường giáo viên đánh giá dựa vào thơng tin thời khóa biểu có vi phạm ràng buộc toán
3 Giải thuật di truyền giải toán xếp thời khóa biểu
(5)một giải thuật metaheuristic, cụ thể giải thuật di truyền [5], [7], [8] để giải toán xếp thời khóa biểu trường phổ thơng
3.1 Tạo quần thể ban đầu
Quần thể ban đầu tạo gồm N cá thể T1, T2, ,TN, cá thể
lời giải tốn, tức thời khóa biểu toàn trường Mỗi cá thể gồm nhiều gen, gen khởi tạo ngẫu nhiên từ tập phân công cho cho trước hết phải thỏa mãn ràng buộc cứng của toán
Chất lượng cá thể quần thể ban đầu khởi tạo ngẫu nhiên thường có chất lượng so với chất lượng các cá thể khởi tạo heuristic của toán Tuy nhiên đa dạng các cá thể khởi tạo ngẫu nhiên, nên lúc kết thúc trình tiến hóa, giải thuật di truyền ứng với quần thể ban đầu (được khởi tạo ngẫu nhiên) thường cho chất lượng lời giải tốt
3.2 Độ thích nghi cá thể
Độ thích nghi cá thể thời khóa biểu xác định giá trị hàm mục tiêu Giá trị hàm mục tiêu nhỏ cá thể thời khóa biểu có chất lượng cao
3.3 Phép lai
Mục trình bày cách chọn cá thể cách thực phép lai, cách xử lý các cá thể sinh từ phép lai
Chọn cá thể thời khóa biểu tham gia phép lai
Cho xác xuất lai pc, cá
thể quần thể P, ta phát sinh ngẫu nhiên số thực r [0 1] Nếu r ≤ pc,
chọn cá thể để tham gia phép lai Ta tiến hành thực phép lai cặp cá thể thời khóa biểu theo thứ tự mà chúng được chọn
Phép lai hai cá thể thời khóa biểu cha-mẹ T1,T2 để sinh hai cá thể thời khóa
biểu T1’ T2’ T1’ và T2’ ban đầu gán T1 T2
Lấy ngẫu nhiên đoạn gen trong cặp cá thể cha-mẹ thỏa mãn ràng buộc tính chất gen tốn – là lớp đó, giả sử đoạn (p1,p2) Duyệt đoạn gen từ (p1,p2) cá thể cha-mẹ T1, nếu có gen làm cho cá thể T2’ tốt cập nhật T2’ Cơng đoạn kết thúc ta cá thể T2’
Tương tự, duyệt đoạn gen từ (p1,p2) cá thể cha-mẹ T2, nếu có gen nào làm cho cá thể T1’ tốt cập nhật
T1’ Công đoạn kết thúc ta cá thể
con T1’
Các cá thểgốc T1 T2 khơng thay đổi trong q trình này; cá thể T1’ T2’
sinh từ phép lai phải thỏa mãn ràng buộc toán
Phép lai hai cá thể T1 T2 để hai cá thể T1’ T2’ Ta đưa cá thể
này vào quần thể - nghĩa sau thực phép lai, số cá thể quần thể lớn N, giả sử N’ Phép chọn
cuối hệ có nhiệm vụ loại bớt số cá thể có độ thích nghi để đảm bảo kích thước quần thể khơng đổi mỗi lần bắt đầu hệ tiến hóa
3.4 Phép đột biến
Mục trình bày cách chọn phân công cá thể để thực phép đột biến, cách thực phép đột biến cách xử lý cá thể sinh từ phép đột biến
Phép đột biến tiến hành sau thực phép lai (trước thực phép chọn) Kích thước quần thể lúc thực phép đột biến N’
(6)Thực di chuyển cụm tiết từ vị trí u
đến vị trí v lớp qua lớp khác mà đảm bảo lớp khác cũng có giáo viên, mơn học phù hợp với phân cơng X Nếu khơng tìm vị trí v
phù hợp phép đột biến khơng thực
Theo nguyên tắc đột biến, cá thể sau đột biến không thiết phải tốt trước đột biến Vì xét q trình tiến hóa, một cá thể chưa tốt hệ có khả giúp q trình tiến hóa sinh cá thể tốt hệ
Xử lý cá thể sinh
Giả sử cá thể T sau đột biến sinh cá thể T’, ta có hai cách xử lý sau đây:
Cách thứ nhất T’ tốt T thay T T’, T’ T xem như phép đột biến khơng thực
Cách thứ hai thay T T’ mà
không quan tâm đến chất lượng lời giải
T’ Trong báo này, chọn thực
hiện phép đột biến thứ hai 3.5 Phép chọn lọc
Chúng sử dụng phép chọn lọc cá thể dựa độ thích nghi xếp hạng bằng cách bố trí chung theo độ thích nghi giảm dần (tức theo chiều tăng dần giá trị hàm mục tiêu), sau chọn N cá thể có độ thích nghi cao
Để khơng làm cá thể tốt được khai phá suốt q trình tiến hóa, giải thuật chúng tôi luôn cập nhật cá thể tốt thời điểm (cá thể ưu tú)
3.6 Điều kiện dừng
Thường giải thuật di truyền chọn các điều kiện dừng sau đây: thứ là lời giải tốt tìm tốn khơng được cải thiện sau số lần lặp định trước ; thứ hai là số lần lặp giải thuật đạt đến giá trị định trước ; thứ ba là
giải thuật chạy hết lượng thời gian định trước Trong tốn xếp thời khóa biểu trường phổ thông xét, chọn điều kiện dừng
3.7 Giải thuật di truyền giải tốn xếp thời khóa biểu
Chúng gọi giải thuật STTGA (School Timetabling Problem Genetic algorithm)
Dữ liệu đầu vào: danh sách phân
công, danh sách ràng buộc, trọng số vi phạm ứng với ràng buộc
Dữ liệu đầu ra: thời khóa biểu
mỗi lớp, thời khóa biểu giáo viên
Giải thuật di truyền giải tốn xếp thời khóa biểu - STTGA
1: Khởi tạo quần thể ban đầu với N cá thể ngẫu nhiên, lời giải thời khóa biểu toàn trường, gen cá thể ứng với phân công;
2: Xác suất lai pc, xác suất đột biến pm; 3: Đánh giá độ thích nghi cá thể
quần thể, cá thể T có giá trị hàm mục
C(T), cá thể T tốt C(T) có giá trị bé ngược lại;
4: while (điều kiện dừng chưa thỏa)
{
a) Chọn ngẫu nhiên cặp cá thể
cha-mẹ từ quần thể;
b) Phép lai (crossover): xảy xác suất lai ghép pc lai ghép hai cá thể cha-mẹ để tạo thành cá thể con, ngược lại, cá thể giống cá thể cha-mẹ;
c) Đột biến (Mutation): xảy xác suất đột biến pm đột biến cách cho thay đổi nhỏ cá thể; d) Đánh giá lại độ thích nghi
cá thể, tức tính lại giá trị hàm mục tiêu;
(7)cá thể có độ thích nghi hơn; }
5: Cá thể tốt hệ sau lời giải toán
4 Thực nghiệm đánh giá
4.1 Dữ liệu thực nghiệm
Chúng thực nghiệm giải thuật di truyền STTGA liệu thực tế Trường Trung học phổ thơng Giồng Ơng Tố, Quận 2, Thành phố Hồ Chí Minh Bộ thứ có tên gọi HK11920, thứ hai có tên gọi HK21920
Bảng Thông số liệu thực nghiệm
STT Loại liệu HK11920
(Số lượng)
HK21920 (Số lượng)
1 Số giáo viên có phân cơng 76 73
2 Số phòng học 36 36
3 Số môn học 45 44
4 Số phân công 485 475
5 Số ràng buộc cứng 11 11
6 Số ràng buộc mềm 8 8
7 Số buổi học tuần 6 6
8 Số tiết tối đa buổi học 5 5
Các ràng buộc cứng 1, 2, 3, 9, 10, 11 trên mềm hóa với trọng số cao (các giá trị đề xuất qua trình thực nghiệm thực tế), ràng buộc cứng 4, 5,
6, 7, cịn lại ln thỏa mãn cài đặt Do đó, tốn có ràng buộc cứng 8 ràng buộc mềm cần xử lý theo liệt kê Bảng Bảng
Bảng 2. Trọng số vi phạm ràng buộc cứng
Ràng
buộc Tên ràng buộc Trọng số
Đối tượng ràng buộc
H1 Ràng buộc đụng độ giáo viên 999 Giáo viên
H2 Ràng buộc đụng độ lớp học 999 Lớp
H3 Ràng buộc đụng độ phòng học 999 Phòng học
H4 Ràng buộc môn học học lần
một buổi lớp 600 Lớp
(8)Bảng 3. Trọng số vi phạm ràng buộc mềm
Ràng
buộc Tên ràng buộc Trọng số
Đối tượng ràng buộc
S1 Ràng buộc lịch bận giáo viên 15 Giáo viên
S2 Ràng buộc học cách ngày môn học 10 Lớp
S3 Ràng buộc độ nén lịch dạy giáo viên 20 Giáo viên S4 Ràng buộc tiết lủng giáo viên 25 Giáo viên S5 Ràng buộc số tiết dạy tối thiểu buổi
giáo viên 10 Giáo viên
S6 Ràng buộc số tiết học tối thiểu buổi học
của lớp 20 Lớp
S7 Ràng buộc số môn học tối đa buổi 15 Lớp S8 Ràng buộc số tiết tối đa giáo viên
một lớp buổi 20 Lớp
4.2 Môi trường thực nghiệm
Giải thuật STTGA cài đặt ngôn ngữ C++ sử dụng môi trường
CodeBlocks 17.12, thực nghiệm máy tính hệ điều hành Windows 10 64bit, Processor Intel(R) Core (TM) i3-814U CPU @ 2.10GHz 2.30GHz, RAM 4GB
4.3 Tham số thực nghiệm
Trong trình thực nghiệm, chúng tôi đề xuất xác suất lai ghép pc= 0.85
xác suất phép đột biến pm = 0.05, với số
lượng cá thể quần thể 75 4.4 Kết thực nghiệm
Kết thực nghiệm giải thuật di truyền STTGA bao gồm thời khóa hiểu mỗi lớp học lịch dạy giáo viên Từ đó, chúng tơi ghi nhận tình trạng vi phạm
các ràng buộc thời khóa biểu lớp thời khóa biểu giáo viên để làm sở so sánh chất lượng lời giải giải thuật
4.5 Đánh giá chất lượng giải thuật đề xuất
(9)Bảng 4. Thống kê số lần vi phạm ràng buộc lớp theo giải thuật GOT giải thuật di truyền STTGA liệu HK11920 HK21920
Bộ
liệu Lớp H1 H2 H3 H4 H5 H6 S1 S2 S3 S4 S5 S6 S7 S8
HK11920 STTGA 0 0 0 0 0 0 0 0 0 0 0 0 28 0 GOT 0 0 0 15 0 0 0 54 0 0 0 0 26 0 HK21920 STTGA 0 0 0 0 0 0 0 9 0 0 0 0 28 0 GOT 0 0 0 4 0 0 0 36 0 0 0 0 20 0 Xét liệu HK11920, giải thuật
STTGA giải thuật GOT cho tổng số lần vi phạm ràng buộc H4, S2, S7 lần lượt (0, 15), (0, 54), (28, 26) Xét
liệu HK21920, giải thuật STTGA giải thuật GOT cho tổng số lần vi phạm các ràng buộc H4, S2, S7 (0, 4), (9, 36), (28, 20)
Bảng 5. Thống kê số lần vi phạm ràng buộc giáo viên theo toán thuật GOT giải
thuật di truyền STTGA liệu HK11920 HK21920
Bộ
liệu Giáo viên H1 H2 H3 H4 H5 H6 S1 S2 S3 S4 S5 S6 S7 S8
HK11920 STTGA 0 0 0 0 0 0 0 0 53 19 0 0 GOT 0 0 0 0 0 0 6 0 12 93 0 0 0 HK21920 STTGA 0 0 0 0 0 0 0 0 47 16 0 0 GOT 0 0 0 0 0 0 27 12 91 0 0 0 Xét liệu HK11920, giải thuật
STTGA giải thuật GOT cho tổng số lần vi phạm ràng buộc S1, S3, S4, S5 lần lượt (0, 6), (53, 12), (7, 93), (19, 1) Xét liệu HK21920, giải thuật STTGA giải thuật GOT cho tổng số lần vi phạm ràng buộc S1, S3, S4, S5 lần lượt (0, 27), (47, 12), (3, 91), (16, 0)
Thời gian chạy thực nghiệm giải thuật STTGA liệu 202 giờ ghi nhận kết tốt làm kết giải thuật
5 Kết luận
Nghiên cứu số đặc trưng tốn xếp thời khóa biểu
(10)GOT (0, 145), (0, 242) Nghiên cứu cho phép phát triển chiến lược đột biến, lai ghép kết hợp
với chiến lược tìm kiếm lân cận để nâng cao chất lượng lời giải bài toán
Lời cảm ơn
Nhóm tác giả trân trọng cảm ơn lãnh đạo Trường THPT Giồng Ông Tố cho phép sử dụng thời khóa biểu trường làm liệu thực nghiệm; cảm ơn Thầy, Cô Khoa Cơng nghệ Thơng tin Trường Đại học Sài Gịn có ý kiến đóng góp cho luận văn thạc sỹ “Đề xuất giải thuật di truyền giải tốn xếp thời khóa biểu”; cảm ơn nhà khoa học phản biện cho ý kiến đóng góp q báu giúp nhóm tác giả hồn chỉnh báo
TÀI LIỆU THAM KHẢO
[1] Dominique de Werra, “An Introduction to Timetabling”, European Journal of
Operational Research, 19(2), 151-162, 1985
[2] Trương Quốc Định Nguyễn Thanh Hải, “Giải thuật xếp thời khóa biểu ứng dụng vào toán quản lý xếp lịch thi kết thúc lớp học phần trường Đại học Cần Thơ”, Tạp chí khoa học trường Đại học Cần Thơ, 43(a), 116-125, 2016
[3] Nguyễn Bá Phúc, “Thuật giải bees cho toán xếp thời khoá biểu”, thạc sĩ khoa học, chuyên ngành Khoa học máy tính, Trường ĐH Khoa học tự nhiên, ĐH Quốc gia TP Hồ Chí Minh, 2011
[4] Nguyễn Tấn Trần Minh Khang, “Nghiên cứu ứng dụng giải thuật Metaheuristic cho tốn xếp thời khóa biểu mơn học trường đại học”, tiến sĩ Khoa học, chuyên ngành Khoa học máy tính, Trường ĐH Khoa học Tự nhiên, ĐH Quốc gia TP Hồ Chí Minh, 2014
[5] Nguyễn Đình Thúc, Trí tuệ nhân tạo - Lập trình tiến hóa, Nhà xuất Giáo dục, 2008 [6] Nguyen Khang, Nguyen Dang, Trieu Khon, Tran Nuong, “Automating a Real-World University Timetabling Problem with Tabu Search Algorithm”, IEEE RIVF International Conference on Computing & Communication Technologies, Research,
Innovation, and Vision for the Future, 1-6, 2010
[7] Nguyen Quoc Viet Hung, Ta Quang Binh, Duong Tuan Anh, “A Memetic Algorithm for Timetabling”, RIVF’05 Research Informatics Vietnam-Francophony, Can Tho, 2005 [8] Xin She Yang, Engineering optimization: an introduction with metaheuristic
applications, John Wiley & Sons, 2010
[9] Carlos Lara, Juan José Flores, Félix Calderón, “Solving a School Timetabling Problem Using a Bee Algorithm”, Proceedings of the 7th Mexican International Conference on
Artificial Intelligence: Advances in Artificial Intelligence, 664 – 674, 2008