Bài toán xếp thời khóa biểu đại học là bài toán xuất phát từ nhu cầu rất cấp thiết của thực tế. Do thuộc lớp bài toán khó NP, bài toán hiện được quan tâm nghiên cứu và phát triển bởi rất nhiều nhà khoa học trên thế giới. Một trong những hướng tiếp cận hiệu quả nhất hiện nay là hướng tiếp cận sử dụng các metaheuristic.
KHẢO SÁT CÁC THUẬT GIẢI TABU SEARCH CHO BÀI TOÁN XẾP THỜI KHOÁ BIỂU ĐẠI HỌC NGUYỄN TẤN TRẦN MINH KHANG (*) ĐẶNG THỊ THANH NGUYÊN (*) TRIỆU TRÁNG KHÔN (*) TRẦN THỊ HUỆ NƯƠNG (**) TĨM TẮT Bài tốn xếp thời khoá biểu đại học toán xuất phát từ nhu cầu cấp thiết thực tế Do thuộc lớp tốn khó NP, tốn quan tâm nghiên cứu phát triển nhiều nhà khoa học giới Một hướng tiếp cận hiệu hướng tiếp cận sử dụng metaheuristic Trong đó, metaheuristic Tabu Search cho nhiều kết khả quan Bài báo khảo sát số thuật giải Tabu Search tiêu biểu cho hiệu cao toán xếp thời khoá biểu đại học ABSTRACT The prolem of university ranked schedule is the problem comes from the very urgent needs of the practice Because of belonging to the hard NP that have attracted several researchers in the world Metaheuristics are the most popular approaches nowadays for solving these problems Tabu Search is one of metaheuristics that have given remarkable results This paper investigates the most effective variant of Tabu Search for the university timetabling problem GIỚI THIỆU BÀI TỐN Bài tốn xếp thời khố biểu cho trường đại học thuộc lớp toán xếp thời khoá biểu cho giáo dục Đây lớp toán thực tế, xuất tất trường phổ thông đại học Mục tiêu tốn tìm cách xếp lịch học, lịch dạy cho sinh viên (học sinh) giáo viên vào tiết học, phòng học cho thoả số ràng buộc định Yêu cầu lớp toán xếp tài nguyên (giáo viên, học sinh, phòng học, thiết bị, v.v.) vào tiết học thích hợp cho thời khố biểu thu phải thoả số ràng buộc định [1] (chẳng hạn: giáo viên khơng dạy hai nhóm lớp khác thời điểm, sinh viên không học hai nhóm lớp khác thời điểm, v.v.) Trên thực tế, đa dạng nhu cầu qui định trường, xuất nhiều biến thể khác toán xếp thời khoá biểu Dựa theo khảo sát tác giả A Schaerf [1] báo cáo kĩ thuật thi Xếp thời khoá biểu quốc tế 2007 (International Timetabling Competition 2007 – gọi tắt ITC07) [2][3], phân tốn xếp thời khố biểu cho giáo dục thành ba nhóm chính: (*) Khoa Công nghệ Thông tin, Trường Đại học Khoa học Tự nhiên TP.HCM Khoa Toán – Tin, Trường Đại học Khoa học Tự nhiên TP.HCM (**) - Bài toán xếp thời khố biểu cho trường phổ thơng (high school timetabling): xếp lịch học hàng tuần cho lớp lịch dạy hàng tuần cho giáo viên cho khơng có giáo viên phải dạy hai lớp thời điểm, khơng có lớp học hai giáo viên thời điểm - Bài toán xếp thời khoá biểu cho trường đại học (course timetabling), gồm có hai lớp tốn con: + Bài tốn xếp thời khố biểu cho trường đại học dựa nhóm học phần (curriculum - based course timetabling): sinh viên đăng kí học sau thời khố biểu sắp, tránh đụng độ môn học quy định nhóm học phần (nhóm mơn học khơng trùng nhau), nhóm học phần trường quy định sẵn không phụ thuộc vào kết đăng kí học sinh viên + Bài toán xếp thời khoá biểu cho trường đại học dựa lịch đăng kí sinh viên (post enrolment – based course timetabling): sinh viên đăng kí mơn mà muốn học, sau đó, trường dựa kết đăng kí để xếp thời khố biểu cho sinh viên học tất mơn mà đăng kí mà khơng bị đụng độ học - Bài toán xếp lịch thi (examination timetabling): tương tự toán xếp thời khoá biểu cho trường đại học, tốn có số điểm khác biệt, chẳng hạn như: xếp lịch thi cho thời gian kéo dài lịch thi (trong độ dài thời khoá biểu cho toán xếp thời khoá biểu cho trường đại học cố định, thường tuần), hai mơn thi dùng chung phịng học thời điểm, mơn thi tách thi hai phòng khác thời điểm (bài toán xếp thời khoá biểu cho trường đại học thường không cho phép điều này) Bài tốn xếp thời khố biểu đại học nói riêng tốn xếp thời khố biểu cho giáo dục nói chung thuộc lớp toán NP đầy đủ (là lớp tốn mà nay, chưa tìm phương pháp giải thời gian đa thức [1]) GIỚI THIỆU THUẬT GIẢI TABU SEARCH Tabu Search metaheuristic áp dụng nhiều cho toán tối ưu tổ hợp khó Trong phần này, chúng tơi giới thiệu sơ lược thành phần thuật giải Tabu Search cách hoạt động Ngồi thành phần này, thuật giải Tabu Search áp dụng thực tế có nhiều biến thể, với nhiều chiến lược hiệu khác bổ sung vào nhằm nâng cao khả tìm kiếm thuật giải, độc giả quan tâm xem chi tiết tài liệu tác giả Fred Glover [4], người xem cha đẻ thuật giải [5] Bài toán mà thuật giải Tabu Search giải toán tối ưu, mục tiêu tốn tìm lời giải tốt - lời giải mà đó, hàm mục tiêu tốn đạt giá trị cực tiểu Hàm mục tiêu hàm dùng để đo chi phí lời giải, lời giải có chi phí thấp tốt Ý tưởng thuật giải Tabu Search sau: bắt nguồn từ lời giải ban đầu (lời giải gọi lời giải khởi tạo, tạo thành từ nhiều phương pháp khác nhau, chẳng hạn như: phương pháp thuật giải tham lam, phương pháp khởi tạo ngẫu nhiên, v.v.), thuật giải Tabu Search thực lặp lặp lại việc tìm kiếm miền khơng gian tìm kiếm tốn nhằm mục đích tìm lời giải tối ưu Tại bước lặp mình, thuật giải Tabu Search tìm kiếm lựa lời giải để làm sở cho bước lặp - điểm khác biệt thuật giải Tabu Search so với nhóm thuật giải tiến hố (như thuật giải di truyền, lập trình tiến hố, v.v.) Ở nhóm thuật giải tiến hố, sau bước lặp, kết thu tập lời giải, Tabu Search, thu lời giải Tại bước lặp, Tabu Search lấy lời giải thu từ bước lặp trước làm lời giải tại, thuật giải duyệt miền không gian láng giềng lời giải để chọn lời giải tốt nhất, lời giải thay cho lời giải bước lặp kế sau Mỗi lời giải không gian láng giềng lời giải gọi láng giềng lời giải Sự tác động lên lời giải để biến thành lời giải láng giềng gọi bước chuyển Để tránh việc duyệt trở lại lời giải duyệt, thuật giải Tabu Search sử dụng danh sách để lưu trữ số bước chuyển sử dụng, gọi danh sách Tabu Danh sách chứa bước chuyển thực số bước lặp gần đây, bước chuyển nằm danh sách Tabu gọi bước chuyển Tabu Các bước chuyển bị cấm sử dụng lại chừng cịn nằm danh sách Tabu Một bước chuyển Tabu tồn danh sách Tabu khoảng thời gian n bước lặp, sau đó, bước chuyển loại khỏi danh sách Tabu trở trạng thái bình thường (khơng bị cấm nữa), số n gọi giá trị Tabu tenure bước chuyển, giá trị n cố định cho tất bước chuyển số chọn ngẫu nhiên cho bước chuyển Tuy nhiên, số bước chuyển dù bị cấm (bước chuyển Tabu) lại có khả cải tiến chất lượng lời giải tốt nay, đó, để tránh bỏ sót bước chuyển tốt này, Tabu Search đưa khái niệm nữa, khái niệm tiêu chuẩn mong đợi (aspiration criteria) Cách áp dụng tiêu chuẩn sau: bước chuyển Tabu bầt kì thoả tiêu chuẩn mong đợi loại khỏi danh sách Tabu lập tức, cho dù giá trị Tabu tenure kèm có Tiêu chuẩn mong đợi thường dùng là: bước chuyển Tabu làm cho lời giải trở nên tốt lời giải tốt bước chuyển Tabu loại khỏi danh sách Tabu CÁC THUẬT GIẢI TABU SEARCH CHO BÀI TOÁN XẾP THỜI KHOÁ BIỂU ĐẠI HỌC Với yêu cầu phức tạp toán xếp thời khoá biểu cho đại học, việc thực xếp thời khố biểu tay địi hỏi tốn nhiều cơng sức thời gian mà kết tìm lại không phù hợp với thực tế Do thuộc lớp toán NP đầy đủ nên việc giải toán phương pháp vét cạn khơng thể Chính độ phức tạp toán nhu cầu cao xuất phát từ thực tế nên toán xếp thời khoá biểu nhận mối quan tâm đáng kể nhà khoa học Bài toán lần Gotlieb khởi xướng vào năm 1963 [6] nay, có nhiều hướng tiếp cận đưa [1]: Các kĩ thuật mà người sử dụng để xếp thời khố biểu dựa mơ suy nghĩ người để giải vấn đề Những kĩ thuật gọi heuristic trực tiếp (direct heuristic) Một ví dụ dạng kĩ thuật ưu tiên xếp giảng khó xếp trước Thời khố biểu hình thành sau bước xếp Ngồi ra, người ta cịn đưa tốn xếp thời khố biểu tốn tơ màu đồ thị (graph coloring) Tiếp theo đó, kĩ thuật khác áp dụng vào toán xếp thời khoá biểu như: lập trình ràng buộc (constraint programming), lập trình tuyến tính (linear programming), mạng phân luồng (network flow), v.v Gần đây, hướng tiếp cận metaheuristic trở thành hướng tiếp cận phổ biến quan tâm nghiên cứu rộng rãi suốt thập niên vừa qua Nhóm thuật giải Metaheuristics bao gồm: thuật giải tiến hố (Evolutionary Algorithm), thuật giải tơi luyện thép (Simulated Annealing), Tabu Search, thuật giải Đại Hồng Thủy (Great Deluge), v.v Metaheuristics tỏ hiệu việc tìm lời giải cho toán tối ưu, giúp giải tốt nhiều tốn khó với kích thước miền tìm kiếm lớn tốn xếp thời khố biểu, Tabu Search đánh giá cao sử dụng nhiều tác giả nghiên cứu toán xếp thời khoá biểu giới thu nhiều kết khả quan, chẳng hạn như: - Năm 2001: Marcone Jamilson Freitas Souza, Nelson Maculan, Luiz Satoru Ochi (xem tham khảo [15]) sử dụng kĩ thuật Tabu Search để giải toán xếp thời khoá biểu cho trường trung học Escola Dom Silvério Mariana thuộc Brazil Đầu tiên, nhóm tác giả sử dụng thuật giải tham lam GRASP để tạo lời giải ban đầu (initial solution), sau Tabu Search sử dụng để tìm lời giải tốt cho bi toỏn - Nm 2003: Jean-Franỗois Cordeau, Brigitte Jaumard, Rodrigo Morales (xem tham khảo [11]) tham gia thi International Timetabling Competition 2002-2003 (gọi tắt ITC2002, chi tiết thi mơ tả phần 3.2) Nhóm tác giả sử dụng Tabu Search kết hợp với số thủ tục Exchange Moves, Pertubation Ejection Chain để giải toán thi Kết nhóm xếp hạng - Năm 2003: Luca Di Gaspero Andrea Schaerf (xem tham khảo [12]) tham gia thi International Timetabling Competition 2002-2003 Nhóm tác giả chọn kĩ thuật Tabu Search làm trọng tâm, kết hợp với thuật giải leo đồi (Hill Climbing) thủ tục Multi-Swap Shake để nâng cao chất lượng lời giải tìm Kết nhóm xếp hạng - Năm 2003: Halvard Arntzen Arne Lokketangen (xem tham khảo [8]) tham gia thi International Timetabling Competition 2002-2003 Lời giải ban đầu khởi tạo thuật giải tham lam, sau Tabu Search thực Cuối thủ tục Ejection Chain kích hoạt để hướng việc tìm kiếm đến vùng khơng gian tìm kiếm Kết nhóm xếp hạng - Năm 2003: Alexandre Dubourg, Bent Laurent, Emmanuel Long, Bent Salotti (xem tham khảo [13]) tham gia thi International Timetabling Competition 2002-2003 Nhóm tác giả sử dụng thuật giải tham lam để tạo lời giải ban đầu, sau sử dụng Tabu Search để cải tiến chất lượng lời giải Kết nhóm xếp hạng - Năm 2003: Gustavo Toro, Victor Parada (xem tham khảo[14]) tham gia thi International Timetabling Competition 2002-2003 Nhóm tác giả tạo lời giải ban đầu thuật giải tham lam, sau Tabu Search với nhớ ngắn hạn (Short-term memory) nhớ dài hạn (Long-term memory) thực Cuối chiến lượng tăng cường hố (intensifying - hướng việc tìm kiếm đến vùng không gian chứa lời giải tối ưu cục bộ) chiến lược đa dạng hoá (diversifying - hướng việc tìm kiếm tránh rơi vào vùng khơng gian chứa lời giải tối ưu cục bộ) thực Kết nhóm xếp hạng - Năm 2007: Cagdas Hakan Aladag, Gulsum Hocaoglu (xem tham khảo [16]) Nhóm tác giả sử dụng Tabu Search để giải toán xếp thời khoá biểu trường đại học Statistics Department of Hacettepe University (Thổ Nhĩ Kì) thu kết tốt: không vi phạm ràng buộc đụng độ Tuy nhiên, hiệu nhóm thuật giải Metaheuristic phụ thuộc vào việc điều chỉnh tham số thuật giải, cách áp dụng thuật giải vào mô hình tốn cụ thể Thuật giải Tabu Search khơng ngoại lệ, tính hiệu thuật giải phụ thuộc vào yêu cầu cụ thể toán, cách lựa chọn tập láng giềng, cách thiết kế phép chuyển, việc lựa chọn giá trị kích thước Tabu list, v.v Một thuật tốn cụ thể chạy tốt số toán cụ thể số liệu, lại không hiệu tốn biến thể khác Hiện nay, nhìn chung chưa có phương pháp giải trọn vẹn tất biến thể toán xếp thời khoá biểu cho giáo dục giới Trong khuôn khổ báo này, tập trung khảo sát số hướng tiếp cận bật dựa thuật giải Tabu Search để giải toán xếp thời khoá biểu cho trường đại học 3.1 Khởi tạo lời giải ban đầu Một cách thông dụng để khởi tạo lời giải ban đầu phương pháp dựa thuật giải tham lam, cụ thể báo mình, tác giả D.Costa [7] sử dụng cách sau: giảng có cách gán tiết, gán phòng chọn để gán trước, đó, tiết học, phịng học khơng gây đụng độ ưu tiên gán cho giảng này, không tồn tiết học, phịng học thoả u cầu mục tiêu giảm bậc: tiết học, phịng học khơng gây đụng độ liên quan đến giáo viên lớp học ưu tiên gán cho giảng này, khơng tồn tiết học, phịng học thoả u cầu trên, mục tiêu lại giảm bậc (tổng cộng có bậc, chi tiết bậc xin xem báo tác giả D.Costa) Sau có nhiều tác giả khác áp dụng phương pháp tương tự cho bước khởi tạo lời giải mình, chẳng hạn nhóm tác giả H Arntzen [8], C H Aladag [16], G Toro [14] A Dubourg [13] Một phương pháp thông dụng khác phương pháp khởi tạo ngẫu nhiên: lời giải khởi tạo cách ngẫu nhiên cách gán ngẫu nhiên giảng cho tiết học phịng học Phương pháp sử dụng tác giả L D Gaspero A.Schaerf [12], C H Aladag [16] Vào năm 2001, nhóm tác giả Souza đồng [15] ứng dụng phương pháp để khởi tạo lời giải ban đầu, ý tưởng phương pháp kết hợp thuật giải tham lam phương pháp ngẫu nhiên, người sử dụng điều chỉnh tương quan mức độ ngẫu nhiên “mức độ tham lam” thuật giải để tạo nên lời giải khởi tạo có chất lượng tốt Phương pháp có tên GRASP (Greedy Randomized Adaptive Search Procedure) Một cách làm khác khởi tạo lời giải phương pháp mạng phân luồng[11] Ý tưởng phương pháp là: ứng với tiết học, ta có hai tập điểm, tập thứ biểu diễn giảng gán cho tiết học xét, tập thứ hai biểu diễn phòng học rảnh vào tiết xét, mục tiêu sử dụng thuật giải cho mạng phân luồng để tạo nên lời giải đầy đủ (tất giảng phải gán tiết, gán phịng) 3.2 Chọn tập láng giềng Có nhiều cách khác để chọn tập láng giềng trình xét duyệt, tùy thuộc vào tính chất mục tiêu tốn, chẳng hạn như: tùy thuộc vào kích thước miền láng giềng, vào chiến lược chọn phép chuyển thuật giải Trong hướng tiếp cận mình, tác giả D Costa [7] xét toàn phần tử thoả tất ràng buộc cứng tập láng giềng chọn phần tử tốt Tuy nhiên, cách chọn đơi khơng hiệu kích thước miền láng giềng lớn Chẳng hạn báo O.R Doria đồng trường đại học Napier, Scotland [10], tác giả thực thử nghiệm Tabu Search liệu thật thi Xếp lịch Quốc tế ITC2007 với hai loại phép chuyển khác (được đề cập phần sau) Nhóm tác giải chọn hai tập láng giềng thu từ hai loại phép chuyển: phép chuyển đơn phép hốn chuyển lúc, đó, khơng gian láng giềng lớn Khi đó, bước lặp, khơng phải tất phần tử láng giềng chọn, mà phần tử chọn với xác suất cố định 0.1, từ lấy phần tử tốt số phần tử chọn để thực cho bước lặp kế sau Thay duyệt miền láng giềng chọn phép chuyển tốt H Arntzen [8] đề cách làm khác sau: phép chuyển tốt miền láng giềng cải thiện chất lượng lời giải tốt phép chuyển chọn, không, phép chuyển chọn với xác suất 0.5, sau phép thử xác suất mà phép chuyển khơng chọn chọn phép thử tốt thứ hai với xác suất 0.5, chọn phép chuyển để thực cho bước lặp kế sau G Toro [14] lại đề chiến lược khác: xét phần tập láng giềng kích thước lớn Nếu lời giải khởi tạo khơng thoả tất ràng buộc cứng, bước lặp, có danh sách L gồm giảng bị vi phạm ràng buộc cứng, xác suất phép chuyển chọn liên quan đến giảng thuộc danh sách L 80%, 20% lại chọn ngẫu nhiên Khi lời giải xét khơng cịn vi phạm ràng buộc cứng nữa, danh sách L bị hủy, thay vào đó, bước lặp, ta chọn ngẫu nhiên 10 giảng, sau xét phép chuyển có liên quan đến giảng 3.3 Phép chuyển Hầu hết tác giả áp dụng Tabu Search sử dụng loại phép chuyển tương tự Trong có hai loại phép chuyển thơng dụng nhất: - Phép chuyển đơn: chuyển giảng đến tiết học mới, phòng học [7] [8] [9] [10] [11] [12] [13] [15] - Phép hoán chuyển: hoán đổi tiết học, phòng học hai giảng cho [11] [12] [13] [16] Trong đó, D Costa [7] sử dụng phép chuyển có tác động lên giảng bị đụng độ Bài giảng bị đụng độ giảng vi phạm ràng buộc Phép chuyển tác giả áp dụng dạng phép chuyển đơn 3.4 Danh sách Tabu D.Costa [7] xét hai danh sách Tabu T1 T2, phép chuyển thực di chuyển giảng A từ tiết học p1 sang tiết học p2 chọn, phép chuyển đưa vào danh sách Tabu T1 T2 sau: T1 lưu giảng A, T2 lưu cặp giảng A tiết học p1, có nghĩa giảng A không di chuyển phép chuyển bị loại khỏi T1, giảng A không gán trở lại cho tiết học p1 phép chuyển bị loại khỏi T2 Danh sách Tabu sử dụng O.R Dorial [10] cấm giảng A di chuyển trở lại tiết học cũ mà gán bước chuyển loại khỏi danh sách Tabu Giá trị Tabu tenure chọn cố định tính tổng số giảng chia cho số k = 100 H Arntzen [8] xét danh sách Tabu sau phép chuyển đơn: lưu lại ngày mà giảng xếp vào, nghĩa phép chuyển đơn chuyển giảng A từ tiết học p1 sang tiết học p2, cặp (bài giảng A, ngày d) lưu vào danh sách Tabu (ngày d ngày mà tiết học p1 thuộc về) Khi đó, giảng A bị cấm gán trở lại vào tiết ngày d cặp (A,d) bị loại khỏi danh sách Tabu Danh sách Tabu khác so với danh sách Tabu cho phép chuyển đơn thường dùng trên, thay cấm quay trở lại tiết cũ cấm quay trở lại ngày cũ Giá trị Tabu tenure TE [8] tính sau: - Đặt v0, vc, vb giá trị hàm mục tiêu lời giải khởi tạo, lời giải lời giải tốt Các giá trị trung gian Tp, Td tính sau: 30(vc vb ) Tp v vb Td min( 2Tb , Tb T p ) với Tb số nguyên chọn đoạn [5,9] - Giá trị Tabu tenure TE là: TE = Td + r, với r số nguyên đoạn [0,3] Tác giả R A.Valdes [9] lại tính giá trị Tabu tenure theo phương pháp sau: Gọi Tb giá trị tabu tenure bản, Tmin , Tmax giá trị ngưỡng min, max mà giá trị Tabu tenure động Td mà ta cần tính, ta có: Tb Tổ ng số cụ m củ a tấ t cá c phâ n cô ng Tmin 0.25Tb Tmax 2Tb Khi đó, giá trị Tabu tenure cuối Td số chọn ngẫu nhiên đoạn [Tmin, Tmax] 3.5 Tiêu chuẩn mong đợi Hầu hết tất tác giả sử dụng tiêu chuẩn mong đợi sau: phép chuyển Tabu tạo lời giải tốt lời giải tốt phép chuyển loại khỏi danh sách Tabu Tuy nhiên, D.Costa [7] đưa cách tiếp cận khác: tiêu chuẩn mong đợi gồm hai tiêu chuẩn khác nhau, tiêu chuẩn thứ đánh giá dựa ba ràng buộc (3 ràng buộc có trọng số cao nhất), tiêu chuẩn thứ hai đánh giá dựa tất ràng buộc Tiêu chuẩn thứ có độ ưu tiên cao hơn, tiêu chuẩn không thoả sử dụng đến tiêu chuẩn thứ hai 3.6 Các chiến lược bổ sung Ngồi thành phần tìm kiếm bản, tác giả đưa thêm chiến lược bổ sung khác nhằm nâng cao chất lượng tìm kiếm Chẳng hạn chiến lược đa dạng hố (để giúp việc tìm kiếm tìm đến miền khơng gian tìm kiếm mới) tăng cường hố (tập trung tìm kiếm sâu vùng khơng gian tìm kiếm có triển vọng chứa lời giải tối ưu) Tác giả D.Costa [7] đưa chiến lược đa dạng hoá cách thay đổi trọng số ba ràng buộc (ba ràng buộc có trọng số cao nhất) suốt q trình tìm kiếm, từ giúp việc tìm kiếm khơng bị tập trung vào miền không gian cố định Quy tắc thay đổi trọng số sau: sau k bước lặp liên tiếp mà lời giải thu không cải thiện ba ràng buộc không bị vi phạm trọng số ràng buộc giảm Tác giả H Arntzen [8] lại áp dụng chiến lược đa dạng hoá khác: Ghi lại thông tin tần số di chuyển giảng Tần số tần số có trọng số, nghĩa giảng di chuyển thời gian gần với giá trị tần số kèm với tăng cao Cụ thể sau: bước khởi tạo, đặt p = 0.01, sau bước lặp, p cập nhật: p = 101%p Khi đó, gọi F giá trị tần số kèm với giảng l, giảng l di chuyển, F cập nhật sau: F = F + p Tần số giúp làm tăng độ đa dạng hố q trình tìm kiếm cách: giảng có tần số di chuyển thấp ưu tiên chọn Ngồi ra, tác giả cịn sử dụng loại phép chuyển gọi phép chuyển theo chuỗi (ejection chain): giảng đẩy dần thu lời giải tốt lời giải Ví dụ như: chọn giảng A để bắt đầu, ta đẩy giảng A vào tiết học giảng B, đẩy giảng B vào tiết học giảng C, việc đẩy dừng sau bước lặp cố định, lời giải thu tốt lời giải chọn lời giải mới, khơng, quay trở lại từ đầu thực lại quy trình đẩy (với giảng khác) Cách làm số trường hợp tạo lời giải tốt mà bước chuyển thông thường Tabu Search tạo J F Cordeau [11] đồng áp dụng chiến lược đa dạng hoá tương tự tác giả D.Costa [7] : trọng số ràng buộc cứng thay đổi suốt trình tìm kiếm điều khiển tham số : - Nếu lời giải xét thoả tất ràng buộc cứng: gán min(1, / ) với chọn ngẫu nhiên khoảng [1.05, 1.19] Nếu lời giải xét không thoả tất ràng buộc cứng: gán max(1000, * ) với chọn ngẫu nhiên khoảng [1.05, 1.19] Bên cạnh đó, tác giả [11] cịn thực phép hốn chuyển (đã đề cập phần phép chuyển) nhiều lần để làm ‘‘xáo trộn’’ lời giải tại, từ làm tăng tính đa dạng cho q trình tìm kiếm Về chiến lược tăng cường hố, nhóm tác giả C.H Aladag [16] áp dụng cách làm sau: sau số bước lặp định mà chất lượng lời giải tốt khơng cải thiện, q trình tìm kiếm khởi động lại, với lời giải khởi tạo lời giải tốt Mục đích cách làm tập trung mạnh vào vùng không gian lời giải tốt với hi vọng tìm lời giải tốt mà bị bỏ sót q trình tìm kiếm trước Ngồi ra, nhóm tác giả L D Gaspero A Schaerf [12] áp dụng thêm thuật giải leo đồi xen kẽ với phần tìm kiếm thuật giải Tabu Search, với mục đích tăng cường hố chất lượng tìm kiếm 4 KẾT LUẬN Trong báo này, khảo sát số biến thể thuật giải Tabu Search cho toán xếp thời khoá biểu cho trường đại học, tốn tối ưu tổ hợp khó thực tế Hướng tiếp cận Tabu Search giúp giải hiệu nhiều toán xếp thời khoá biểu đại học cụ thể Việc khảo sát thuật giải tiền đề cho việc nghiên cứu phát triển thuật giải Tabu Search để giải toán xếp thời khoá biểu cho trường đại học Việt Nam, với yêu cầu đặc trưng giáo dục nước ta Sau thời gian tìm hiểu thử nghiệm, nhóm tác giả phát triển hai hệ thống xếp thời khoá biểu cho trường đại học trường trung học với hướng tiếp cận dựa Tabu Search Hai hệ thống thể hai dạng: online (các trang web) offline (các phần mềm chạy máy tính), nhằm tăng tính mở tính tiện dụng cho người dùng Để biết chi tiết hệ thống này, độc giả xem trang web nhóm tác giả: TÀI LIỆU THAM KHẢO Andrea Schaerf (1999) “A Survey of Automated Timetabling” Kluwer Academic Publishers Luca Di Gaspero, Barry McCollum, Andrea Schaerf (2007), "The Second International Timetabling Competition (ITC-2007): Curriculum-based Course Timetabling (Track 3)", International Timetabling Competition 2007-2008 Rhidian Lewis, Ben Paechter, Barry McCollum (2007), "Post Enrolment based Course Timetabling: A Description of the Problem Model used for Track Two of the Second International Timetabling Competition", International Timetabling Competition 2007-2008 Fred Glover, Manuel Laguna (1998), “Tabu Search”, Kluwer Academic Publishers, Boston, London Fred Glover (1989), “Tabu Search - part I”, ORSA Journal on Computing, Vol.1, No C C Gotlieb (1963) “The construction of class-teacher timetables” In C M Popplewell, IFIP congress, 62:73 77 North-Holland D Costa (1994) “A tabu search algorithm for computing an operational timetable” European Journal of Operational Research, 79:98-110 Halvard Arntzen , Arne Lokketangen (2003) “A tabu search heuristic for a university timetabling problem”, MIC2003, Japan Ramon Alvarez-Valdes, Enric Crespo, Jose M Tamarit (2002) "Design and implementation of a course scheduling system using Tabu Search", European Journal of Operational Research 137, pp 517-518 10 www.fit.hcmus.edu.vn/~nmkhang/uts www.fit.hcmus.edu.vn/~nmkhang/hts ... THUẬT GIẢI TABU SEARCH CHO BÀI TOÁN XẾP THỜI KHOÁ BIỂU ĐẠI HỌC Với yêu cầu phức tạp toán xếp thời khoá biểu cho đại học, việc thực xếp thời khoá biểu tay địi hỏi tốn nhiều cơng sức thời gian mà... xếp thời khoá biểu cho trường đại học, toán tối ưu tổ hợp khó thực tế Hướng tiếp cận Tabu Search giúp giải hiệu nhiều toán xếp thời khoá biểu đại học cụ thể Việc khảo sát thuật giải tiền đề cho. .. khác thời điểm (bài tốn xếp thời khố biểu cho trường đại học thường khơng cho phép điều này) Bài toán xếp thời khoá biểu đại học nói riêng tốn xếp thời khố biểu cho giáo dục nói chung thuộc lớp toán