Tải bản đầy đủ (.pdf) (230 trang)

Nghiên cứu ứng dụng các giải thuật metaheuristic cho bài toán xếp thời khóa biểu môn học trường đại học

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.4 MB, 230 trang )

ĐẠI HỌC QUỐC GIA TP.HCM
TRƢỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN



NGUYỄN TẤN TRẦN MINH KHANG

NGHIÊN CỨU ỨNG DỤNG CÁC GIẢI THUẬT
METAHEURISTIC CHO BÀI TOÁN XẾP THỜI
KHÓA BIỂU MÔN HỌC TRƢỜNG ĐẠI HỌC

LUẬN ÁN TIẾN SĨ KHOA HỌC MÁY TÍNH

Tp.Hồ Chí Minh – Năm 2013


ĐẠI HỌC QUỐC GIA TP.HCM
TRƢỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN



NGUYỄN TẤN TRẦN MINH KHANG

NGHIÊN CỨU ỨNG DỤNG CÁC GIẢI THUẬT
METAHEURISTIC CHO BÀI TOÁN XẾP THỜI
KHÓA BIỂU MÔN HỌC TRƢỜNG ĐẠI HỌC

Chuyên ngành: Khoa học máy tính
Mã số chuyên ngành:

62 48.01 01



Phản biện 1: PGS.TS. DƢƠNG TUẤN ANH
Phản biện 2: TS. NGUYỄN ĐỨC CƢỜNG
Phản biện 3: TS. ĐINH BÁ TIẾN
Phản biện độc lập 1: PGS.TS. ĐỖ PHÚC
Phản biện độc lập 2: PGS.TS. ĐỖ VĂN NHƠN

NGƢỜI HƢỚNG DẪN KHOA HỌC
PGS.TS. TRẦN THỊ HUỆ NƢƠNG
Tp.Hồ Chí Minh – Năm 2013


LỜI CÁM ƠN
Luận án Tiến sĩ ―Nghiên cứu ứng dụng các giải thuật metaheuristic cho bài toán
xếp thời khóa biểu môn học trƣờng đại học‖ đã đƣợc thực hiện trong nhiều năm và
NCS đã nhận đƣợc rất nhiều sự giúp đỡ của gia đình, Thầy Cô và bạn đồng nghiệp.
Trƣớc hết xin cám ơn gia đình đã luôn động viên và tạo mọi điều kiện tốt nhất
giúp tôi hoàn thành luận án.
Xin chân thành cám ơn PGS.TS.Trần Thị Huệ Nƣơng đã tận tình hƣớng dẫn tôi
trong suốt nhiều năm qua.
Cám ơn tất cả các Thầy Cô Khoa Công nghệ thông tin đã hỗ trợ tôi rất nhiều
trong công việc.
Cám ơn các bạn đồng nghiệp và bạn bè đã luôn bên cạnh, giúp tôi vƣợt qua mọi
khó khăn để hoàn thành luận án.


LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi. Các số liệu, kết quả
nêu trong luận án là trung thực và chưa từng được ai công bố trong bất kỳ công trình

nào khác.
Tác giả luận án

Nguyễn Tấn Trần Minh Khang


Mục lục

Tóm tắt

................................................................................................................ xiv

Chương 1 Giới thiệu bài toán......................................................................................... 1

1.1
1.2
1.3

Dẫn nhập .......................................................................................................................1
Mục tiêu và đóng góp của luận án ...............................................................................2
Nội dung luận án ..........................................................................................................3

Chương 2 Mô hình hóa bài toán thời khóa biểu môn học và các phương
pháp tiếp cận ................................................................................................................... 5

2.1
2.2

Giới thiệu bài toán ........................................................................................................5
Mô hình hóa bài toán ...................................................................................................7

2.2.1 Các kí hiệu .......................................................................................................................7
2.2.2 Các biến của mô hình ......................................................................................................9
2.2.3 Mô hình hóa các ràng buộc cứng ................................................................................. 10
2.2.4 Mô hình hóa các ràng buộc mềm ................................................................................. 11
2.2.5 Hàm mục tiêu ................................................................................................................ 14
2.2.6 Các trọng số .................................................................................................................. 14
2.2.7 Đặc thù của bài toán xếp thời khóa biểu tại các đại học Việt Nam so với các
bài toán thời khóa biểu các nƣớc khác ..................................................................................... 15

2.3

Các hƣớng tiếp cận .................................................................................................... 16
2.3.1
2.3.2
2.3.3
2.3.4
2.3.5
2.3.6
2.3.7

Nhóm các heuristics trực tiếp ....................................................................................... 16
Nhóm các kĩ thuật dựa trên bài toán tô màu đồ thị ...................................................... 16
Nhóm các kĩ thuật Quy hoạch ràng buộc ..................................................................... 18
Nhóm các hƣớng tiếp cận metaheuristics dựa trên tìm kiếm cục bộ ........................... 19
Nhóm các hƣớng tiếp cận metaheuristics dựa trên quần thể ....................................... 33
Nhóm các hƣớng tiếp cận hyper-heuristics .................................................................. 41
Nhóm các hƣớng tiếp cận cho bài toán tối ƣu đa mục tiêu.......................................... 42

2.4 Các kỹ thuật chung của các thuật giải metaheuristic khi áp dụng cho bài
toán thời khóa biểu môn học Việt Nam ............................................................................. 44

2.4.1
2.4.2
2.4.3
2.4.4
2.4.5

2.5

Biểu diễn lời giải ........................................................................................................... 44
Các phƣơng pháp khởi tạo lời giải ban đầu ................................................................. 44
Các phép chuyển ........................................................................................................... 47
Shaking – Kick Move ................................................................................................... 49
Các kỹ thuật Local search............................................................................................. 53

Mô tả về bộ dữ liệu dùng để đánh giá các thuật toán ............................................... 57
2.5.1 Độ phức tạp của bộ dữ liệu ........................................................................................... 57
2.5.2 Cấu trúc của bộ dữ liệu ................................................................................................. 59

Chương 3 Các phương pháp tiếp cận đơn lời giải và quần thể ............................... 63

3.1

Thuật giải Tabu Search ............................................................................................. 63
3.1.1 Thiết kế thuật giải Tabu Search cho bài toán xếp thời khóa biểu................................ 63
3.1.2 Kết quả chạy thực nghiệm thuật giải Tabu Search ...................................................... 65

i


3.2


Thuật giải Simulated Annealing ............................................................................... 68
3.2.1 Thiết kế thuật giải Simulated Annealing cho bài toán xếp thời khóa biểu ................. 68
3.2.2 Kết quả chạy thực nghiệm thuật giải Simulated Annealing ........................................ 69

3.3

Thuật giải VNS.......................................................................................................... 72
3.3.1 Thiết kế Variable Neighborhood Search cho bài toán xếp thời khóa biểu ................. 72
3.3.2 Kết quả chạy thực nghiệm thuật giải Variable Neighborhood Search ........................ 73
3.3.3 So sánh kết quả chạy thực nghiệm giữa 3 thuật giải Tabu Search, Simulated
Annealing và Variable Neighborhood Search.......................................................................... 77

3.4

Thuật giải Di Truyền ................................................................................................. 78
3.4.1 Thiết kế thuật giải Di Truyền cho bài toán xếp thời khóa biểu ................................... 78
3.4.2 Kết quả chạy thực nghiệm thuật giải Di Truyền .......................................................... 81

3.5

Thuật giải Memetic ................................................................................................... 84
3.5.1 Thiết kế thuật giải Memetic cho bài toán xếp thời khóa biểu...................................... 84
3.5.2 Kết quả chạy thực nghiệm thuật giải Memetic ............................................................ 86

3.6

Thuật giải Harmony Search ...................................................................................... 89
3.6.1 Thiết kế thuật giải Harmony Search cho bài toán xếp thời khóa biểu ........................ 89
3.6.2 Kết quả chạy thực nghiệm thuật giải Harmony Search ............................................... 91


3.7

Thuật giải Particle Swarm Optimization .................................................................. 95
3.7.1 Thiết kế Particle Swarm Optimization cho bài toán xếp thời khóa biểu ..................... 95
3.7.2 Giải thích mã giả thuật giải Particle Swarm Optimization cho bài toán xếp
thời khóa biểu ............................................................................................................................ 96
3.7.3 Kết quả chạy thực nghiệm thuật giải Particle Swarm Optimization ........................... 98

3.8

Thuật giải Bees ........................................................................................................ 101
3.8.1
3.8.2
3.8.3
3.8.4
BA

3.9

Thiết kế thuật giải Bees cho bài toán xếp thời khóa biểu .......................................... 101
Giải thích mã giả thuật giải Bees cho bài toán xếp thời khóa biểu ........................... 103
Kết quả chạy thực nghiệm thuật giải Bees ................................................................. 107
So sánh kết quả chạy thực nghiệm giữa 5 thuật giải GA, MA, HS, PSO và
110

Tóm tắt..................................................................................................................... 111

Chương 4 Các phương pháp kết hợp ....................................................................... 112


4.1

Phƣơng pháp kết hợp giữa các thuật giải đơn lời giải và thuật giải bầy đàn ......... 112
4.1.1
4.1.2
4.1.3
4.1.4

4.2

Phƣơng pháp kết hợp thuật giải GA và thuật giải TS, VNS, SA .............................. 112
Phƣơng pháp kết hợp thuật giải Harmony Search và thuật giải TS, VNS, SA ......... 124
Phƣơng pháp kết hợp thuật giải PSO và thuật giải TS, VNS, SA ............................. 137
Phƣơng pháp kết hợp thuật giải Bees và thuật giải TS, VNS, SA ............................ 149

Phƣơng pháp kết hợp giữa các thuật giải quần thể, bầy đàn.................................. 162
4.2.1 Phƣơng pháp kết hợp thuật giải Bees và thuật giải GA ............................................. 162
4.2.2 Phƣơng pháp kết hợp thuật giải Bees và thuật giải Harmony Search ....................... 168
4.2.3 Phƣơng pháp kết hợp thuật giải PSO và thuật giải Bees ........................................... 173

4.3

Tóm tắt..................................................................................................................... 179

Chương 5 Kết quả thực nghiệm ................................................................................ 180

5.1
5.2
5.3


Tính dễ hiện thực của thuật giải.............................................................................. 180
Phân tích số liệu thực nghiệm ................................................................................. 181
Lý giải kết quả thực nghiệm ................................................................................... 191

ii


Chương 6 Kết luận và Hướng phát triển ................................................................... 194

6.1
6.2
6.3

Tóm tắt các đóng góp của luận án .......................................................................... 194
Những hạn chế của luận án ..................................................................................... 195
Hƣớng phát triển của luận án .................................................................................. 195

Danh mục công trình của tác giả ............................................................................... 197
Tài liệu tham khảo ....................................................................................................... 199

iii


Danh mục các thuật ngữ, ký hiệu, chữ viết tắt

GA

: thuật giải di truyền (Genetic algorithm)

TS


: thuật giải Tabu Search

VNS

: thuật giải Variable Neighborhood Search

ILS

: thuật giải Iterated Local Search

WDJU

: thuật giải Walk Down Jump Up

Monkey Search

: thuật giải Monkey Search

Simulated Annealing algorithm

: thuật giải tôi luyện thép

Metropolis-Hastingalgorithm

: thuật giải Metropolis-Hasting

Great Delugealgorithm

: thuật giải đại hồng thủy


Firefly algorithm

: thuật giải đom đóm

Bees algorithm

: thuật giải bầy ong

Ant Colony optimization

: thuật giải bầy kiến

PSO

: thuật giải Particle Swarm Optimization

HS

: thuật giải Harmony Search

Scatter Searchalgorithm

: thuật giải Scatter Search

Memetic Algorithmalgorithm

: thuật giải Memetic

Travelling Salesman Problem


: bài toán ngƣời du lịch (TSP)

MMAS

:Max-Min Ant System

CBR

:Case-Based Reasoning

Move

: phép chuyển

Single move

: phép chuyển đơn

Swap move

: phép chuyển hoán vị

Timeslot

: khe thời gian

Course/Event

: học phần


High school timetabling

: xếp thời khóa biểu trƣờng phổ thông

Course timetabling

: xếp thời khóa biểu trƣờng đại học

Examination timetabling

: bài toán xếp lịch thi

iv


Constraint Programming

: quy hoạch ràng buộc

Constraint Logic Programming

: quy hoạch logic có ràng buộc

Local Search

: tìm kiếm cục bộ

Intensification


: tính tăng cƣờng

Diversification

: tính đa dạng

GRASP

:Greedy Randomized Adaptive Search
Procedure

Population

: quần thể (tập các cá thể)

Crossover

: lai ghép

Fitness

: độ thích nghi

Mutation

: đột biến

Musical instrument

: nhạc cụ


Decision variable

: biến quyết định

Pitch range

: miền âm

Value range

: miền giá trị của biến quyết định

Harmony

: hòa âm

Aesthethics

: độ thẩm mỹ

Objective function

: hàm mục tiêu

Iteration

: vòng lặp

Random search


: tìm kiếm ngẫu nhiên

Evolutionary algorithm

: thuật giải thuộc nhóm tiến hóa

Integer Goal Programming

:kĩ thuật quy hoạch mục tiêu nguyên

v


Danh mục các hình

Hình 2.1. Mã giả thuật giải tôi luyện thép................................................................................ 27
Hình 2.2. Mã giả quy trình thực hiện chung của phép chuyển đơn ........................................ 48
Hình 2.3. Mã giả quy trình thực hiện chung của phép chuyển hoán vị .................................. 49
Hình 2.4. Mã giả kỹ thuật Kick Move 1 .................................................................................. 49
Hình 2.5. Mã giả kỹ thuật Kick Move 2 .................................................................................. 49
Hình 2.6. Mã giả kỹ thuật Kick Move 3 .................................................................................. 50
Hình 2.7. Mã giả Giải thuật Ejection Chain ............................................................................. 50
Hình 2.8. Mã giả giải thuật Shaking_01 .................................................................................. 51
Hình 2.9. Mã giả giải thuật Shaking_MoveBad ...................................................................... 51
Hình 2.10. Mã giả giải thuật Shaking_swap ............................................................................ 52
Hình 2.11. Mã giả giải thuật Shaking_Single .......................................................................... 52
Hình 2.12. Mã giả giải thuật Shaking_Moves ......................................................................... 53
Hình 2.13. Mã giả thuật giải local search tổng quát ................................................................ 54
Hình 2.14. Mã giả thuật giải Chiến lƣợc 1 - Hill Climbing 1 ................................................. 54

Hình 2.15. Mã giả thuật giải Chiến lƣợc 2 - Hill Climbing 2 ................................................. 55
Hình 2.16. Mã giả thuật giải Chiến lƣợc 3 - Hill Climbing 3 ................................................. 55
Hình 2.17. Mã giả thuật giải Chiến lƣợc 4 - Sequential Local Search 1................................. 55
Hình 2.18. Mã giả thuật giải Chiến lƣợc 5 - Sequential Local Search 2................................. 56
Hình 2.19. Mã giả thuật giải Chiến lƣợc 6 - Sequential Local Search 3................................. 56
Hình 2.20. Cấu trúc bộ dữ liệu dƣới dạng XML...................................................................... 60
Hình 3.1. Mã giả thuật giải Tabu Search ................................................................................. 65
Hình 3.2. Kết quả tốt nhất thuật giải Tabu Search ................................................................... 66
Hình 3.3. Kết quả trung bình tốt nhất thuật giải Tabu Search ................................................. 66
Hình 3.4. Giá trị vi phạm lời giải hiện tại thuật giải Tabu Search .......................................... 67
Hình 3.5. Giá trị vi phạm lời giải tốt nhất thuật giải Tabu Search .......................................... 67
Hình 3.6. Mã giả thuật giải Simulated Annealing ................................................................... 69
Hình 3.7. Kết quả tốt nhất thuật giải Simulated Annealing..................................................... 70
Hình 3.8. Kết quả trung bình tốt nhất thuật giải SimulatedAnnealing .................................... 71
Hình 3.9. Giá trị vi phạm lời giải hiện tại thuật giải Simulated Annealing ............................ 71
Hình 3.10. Giá trị vi phạm lời giải tốt nhất thuật giải Simulated Annealing .......................... 72
Hình 3.11. Mã giả thuật giải Variable Neighborhood Search ................................................. 73
Hình 3.12. Kết quả tốt nhất thuật giải Variable Neighborhood Search .................................. 75

vi


Hình 3.13. Kết quả trung bình tốt nhất thuật giải Variable Neighborhood Search ................ 75
Hình 3.14. Giá trị vi phạm lời giải hiện tại thuật giải Variable Neighborhood Search .......... 76
Hình 3.15. Giá trị vi phạm lời giải tốt nhất thuật giải Variable Neighborhood Search .......... 76
Hình 3.16. Mã giả thuật giải Di Truyền ................................................................................... 81
Hình 3.17. Kết quả tốt nhất thuật giải Di Truyền .................................................................... 82
Hình 3.18. Kết quả trung bình tốt nhất thuật giải Di Truyền .................................................. 83
Hình 3.19. Giá trị vi phạm lời giải hiện tại thuật giải Di Truyền ............................................ 83
Hình 3.20. Giá trị vi phạm lời giải tốt nhất thuật giải Di Truyền ............................................ 84

Hình 3.21. Mã giả thuật giải Memetic ..................................................................................... 86
Hình 3.22. Kết quả tốt nhất thuật giải Memetic....................................................................... 87
Hình 3.23. Kết quả trung bình tốt nhất thuật giải Memetic ..................................................... 87
Hình 3.24. Giá trị vi phạm lời giải hiện tại thuật giải Memetic .............................................. 88
Hình 3.25. Giá trị vi phạm lời giải tốt nhất thuật giải Memetic .............................................. 89
Hình 3.26. Mã giả thuật giải Harmony Search ........................................................................ 91
Hình 3.27. Mã giả thuật giải tạo lời giải Harmony mới .......................................................... 91
Hình 3.28. Kết quả tốt nhất thuật giải Harmony Search.......................................................... 93
Hình 3.29. Kết quả trung bình tốt nhất thuật giải Harmony Search ........................................ 93
Hình 3.30. Giá trị vi phạm lời giải hiện tại thuật giải Harmony Search ................................. 94
Hình 3.31. Giá trị vi phạm lời giải tốt nhất thuật giải Harmony Search ................................. 94
Hình 3.32. Mã giả thuật giải Particle Swarm Optimization .................................................... 96
Hình 3.33. Kết quả tốt nhất thuật giải Particle Swarm Optimization...................................... 99
Hình 3.34. Kết quả trung bình tốt nhất thuật giải PSO .......................................................... 100
Hình 3.35. Giá trị vi phạm lời giải hiện tại thuật giải PSO ................................................... 100
Hình 3.36. Giá trị vi phạm lời giải tốt nhất thuật giải PSO ................................................... 101
Hình 3.37. Mã giả thuật giải Bees .......................................................................................... 103
Hình 3.38. Mã giả thuật giải Neighbourhood Search ............................................................ 104
Hình 3.39. Mã giả thuật giải Create_A_Neighbour_Solution_NS1 ..................................... 105
Hình 3.40. Mã giả thuật giải Create_A_Neighbour_Solution_NS2 ..................................... 106
Hình 3.41. Kết quả tốt nhất thuật giải Bees ........................................................................... 108
Hình 3.42. Kết quả trung bình tốt nhất thuật giải Bees ......................................................... 108
Hình 3.43. Giá trị vi phạm lời giải hiện tại thuật giải Bees ................................................... 109
Hình 3.44. Giá trị vi phạm lời giải tốt nhất thuật giải Bees ................................................... 109
Hình 4.1. Mã giả thuật giải GA kết hợp TS, SA, VNS ......................................................... 114
Hình 4.2. Kết quả tốt nhất thuật giải GA kết hợp TS ............................................................ 115

vii



Hình 4.3. Kết quả trung bình tốt nhất thuật giải GA kết hợp TS .......................................... 115
Hình 4.4. Giá trị vi phạm lời giải hiện tại thuật giải GA kết hợp TS .................................... 116
Hình 4.5. Giá trị vi phạm lời giải hiện tốt nhất giải GA kết hợp TS ..................................... 116
Hình 4.6. Kết quả tốt nhất thuật giải GA kết hợp SA ............................................................ 118
Hình 4.7. Kết quả trung bình tốt nhất thuật giải GA kết hợp SA .......................................... 118
Hình 4.8. Giá trị vi phạm lời giải hiện tại thuật giải GA kết hợp SA ................................... 119
Hình 4.9. Giá trị vi phạm lời giải tốt nhất thuật giải GA kết hợp SA ................................... 119
Hình 4.10. Kết quả tốt nhất thuật giải GA kết hợp VNS ....................................................... 121
Hình 4.11. Kết quả trung bình tốt nhất thuật giải GA kết hợp Variable Neighborhood
Search ...................................................................................................................................... 122
Hình 4.12. Giá trị vi phạm lời giải hiện tại thuật giải GA kết hợp Variable
Neighborhood Search ............................................................................................................. 122
Hình 4.13. Giá trị vi phạm lời giải tốt nhất thuật giải GA kết hợp Variable
Neighborhood Search ............................................................................................................. 123
Hình 4.14. Mã giả thuật giải Harmony Search kết hợp TS, SA, VNS .................................. 126
Hình 4.15. Kết quả tốt nhất thuật giải Harmony Search kết hợp TS..................................... 127
Hình 4.16. Kết quả trung bình tốt nhất thuật giải Harmony Search kết hợp TS................... 128
Hình 4.17. Giá trị vi phạm lời giải hiện tại thuật giải Harmony Search kết hợp TS ............ 128
Hình 4.18. Giá trị vi phạm lời giải tốt nhất thuật giải Harmony Search kết hợp TS ............ 129
Hình 4.19. Kết quả tốt nhất thuật giải Harmony Search kết hợp SA .................................... 130
Hình 4.20. Kết quả trung bình tốt nhất thuật giải Harmony Search kết hợp SA .................. 131
Hình 4.21. Giá trị vi phạm lời giải hiện tại giải Harmony Search kết hợp SA ..................... 131
Hình 4.22. Giá trị vi phạm lời giải tốt nhất giải Harmony Search kết hợp SA ..................... 132
Hình 4.23. Kết quả tốt nhất thuật giải HS kết hợp VNS ....................................................... 134
Hình 4.24. Kết quả trung bình tốt nhất thuật giải HS kết hợp Variable Neighborhood
Search ...................................................................................................................................... 134
Hình 4.25. Giá trị vi phạm lời giải hiện tại thuật giải HS kết hợp Variable
Neighborhood Search ............................................................................................................. 135
Hình 4.26. Giá trị vi phạm lời giải tốt nhất thuật giải HS kết hợp Variable
Neighborhood Search ............................................................................................................. 135

Hình 4.27. Mã giả thuật giải PSO kết hợp TS, SA, VNS ...................................................... 138
Hình 4.28. Kết quả tốt nhất thuật giải PSO kết hợp TS......................................................... 140
Hình 4.29. Kết quả trung bình tốt nhất thuật giải PSO kết hợp TS ....................................... 140
Hình 4.30. Giá trị vi phạm lời giải hiện tại thuật giải PSO kết hợp TS ................................ 141
Hình 4.31. Giá trị vi phạm lời giải tốt nhất thuật giải PSO kết hợp TS ................................ 141

viii


Hình 4.32. Kết quả tốt nhất thuật giải PSO kết hợp SA ........................................................ 143
Hình 4.33. Kết quả trung bình tốt nhất thuật giải PSO kết hợp SA ...................................... 143
Hình 4.34. Giá trị vi phạm lời giải hiện tại thuật giải PSO kết hợp SA ................................ 144
Hình 4.35. Giá trị vi phạm lời giải tốt nhất thuật giải PSO kết hợp SA ................................ 144
Hình 4.36. Kết quả tốt nhất thuật giải PSO kết hợp VNS ..................................................... 146
Hình 4.37. Kết quả trung bình tốt nhất thuật giải PSO kết hợp Variable
Neighborhood Search ............................................................................................................. 147
Hình 4.38. Giá trị vi phạm lời giải hiện tại thuật giải PSO kết hợp Variable
Neighborhood Search ............................................................................................................. 147
Hình 4.39. Giá trị vi phạm lời giải tốt nhất thuật giải PSO kết hợp Variable
Neighborhood Search ............................................................................................................. 148
Hình 4.40. Mã giả thuật giải Bees kết hợp TS, VNS, SA ..................................................... 151
Hình 4.41. Kết quả tốt nhất thuật giải Bees kết hợp TS ........................................................ 152
Hình 4.42. Kết quả trung bình tốt nhất thuật giải Bees kết hợp TS ...................................... 153
Hình 4.43. Giá trị vi phạm lời giải hiện tại thuật giải Bees kết hợp TS ................................ 153
Hình 4.44. Giá trị vi phạm lời giải tốt nhất thuật giải Bees kết hợp TS ................................ 154
Hình 4.45. Kết quả tốt nhất thuật giải Bees kết hợp SA ........................................................ 156
Hình 4.46. Kết quả trung bình tốt nhất thuật giải Bees kết hợp SA ...................................... 156
Hình 4.47. Giá trị vi phạm lời giải hiện tại thuật giải Bees kết hợp SA ............................... 157
Hình 4.48. Giá trị vi phạm lời giải tốt nhất thuật giải Bees kết hợp SA ............................... 157
Hình 4.49. Kết quả tốt nhất thuật giải Bees kết hợp VNS ..................................................... 159

Hình 4.50. Kết quả trung bình tốt nhất thuật giải Bees kết hợp VNS ................................... 160
Hình 4.51. Giá trị vi phạm lời giải hiện tại thuật giải Bees kết hợp VNS ............................ 160
Hình 4.52. Giá trị vi phạm lời giải tốt nhất thuật giải Bees kết hợp VNS ............................ 161
Hình 4.53. Mã giả thuật giải Bees kết hợp GA ...................................................................... 164
Hình 4.54. Kết quả tốt nhất thuật giải Bee kết hợp GA......................................................... 166
Hình 4.55. Kết quả trung bình tốt nhất thuật giải Bee kết hợp Genetic Algorithms ............ 166
Hình 4.56. Giá trị vi phạm lời giải hiện tại thuật giải Bee kết hợp Genetic Algorithms ...... 167
Hình 4.57. Giá trị vi phạm lời giải tốt nhất thuật giải Bees kết hợp Genetic
Algorithms .............................................................................................................................. 167
Hình 4.58. Mã giả thuật giải Bees kết hợp Harmony Search ................................................ 169
Hình 4.59. Kết quả tốt nhất thuật giải HS-Bees ..................................................................... 171
Hình 4.60. Kết quả trung bình tốt nhất thuật giải HS-Bees ................................................... 171
Hình 4.61. Giá trị vi phạm lời giải hiện tại thuật giải HS-Bees ............................................ 172
Hình 4.62. Giá trị vi phạm lời giải tốt nhất thuật giải HS-Bees ............................................ 172

ix


Hình 4.63. Mã giả thuật giải PSO kết hợp Bees .................................................................... 174
Hình 4.64. Kết quả tốt nhất thuật giải PSO-Bees .................................................................. 176
Hình 4.65. Kết quả trung bình tốt nhất thuật giải PSO-Bees ................................................ 176
Hình 4.66. Giá trị vi phạm lời giải hiện tại thuật giải PSO-Bees .......................................... 177
Hình 4.67. Giá trị vi phạm lời giải tốt nhất thuật giải PSO-Bees .......................................... 177
Hình 5.1. Biểu đồ xếp hạng tính dễ hiện thực của các thuật giải .......................................... 181
Hình 5.2. Biểu đồ thời gian thực thi trung bình của các phiên bản thuật giải....................... 185
Hình 5.3. Biểu đồ tổng hợp kết quả trung bình của các phiên bản thuật giải đƣợc
chọn ......................................................................................................................................... 190
Hình 5.4. Biểu đồ tổng hợp kết tốt nhất của các phiên bản thuật giải đƣợc chọn ............... 190

x



Danh mục các bảng

Bảng 2.1.Bảng giá trị của các độ đo cho các bộ dữ liệu .......................................................... 58
Bảng 2.2.Bảng mô tả cấu trúc bộ dữ liệu ................................................................................. 60
Bảng 3.1.Bảng tham số thực nghiệm cho thuật giải Tabu Search........................................... 65
Bảng 3.2.Bảng kết quả thực nghiệm cho thuật giải Tabu Search ........................................... 65
Bảng 3.3.Bảng tham số thực nghiệm cho thuật giải Simulated Annealing ............................ 69
Bảng 3.4.Bảng kết quả thực nghiệm cho thuật giải Simulated Annealing ............................. 69
Bảng 3.5.Bảng tham số thực nghiệm cho thuật giải VNS ....................................................... 73
Bảng 3.6.Bảng kết quả thực nghiệm cho thuật giải VNS ........................................................ 74
Bảng 3.7. So sánh kết quả tốt nhất giữa TS, SA và VNS ........................................................ 77
Bảng 3.8. So sánh kết quả trung bình tốt nhất giữa TS, SA và VNS ...................................... 77
Bảng 3.9.Bảng tham số thực nghiệm cho thuật giải Di Truyền .............................................. 81
Bảng 3.10.Bảng kết quả thực nghiệm cho thuật giải Di Truyền ............................................. 81
Bảng 3.11.Bảng tham số thực nghiệm cho thuật giải Memetic .............................................. 86
Bảng 3.12.Bảng kết quả thực nghiệm cho thuật giải Memetic ............................................... 86
Bảng 3.13.Bảng tham số thực nghiệm cho thuật giải Harmony Search ................................. 91
Bảng 3.14.Bảng kết quả thực nghiệm cho thuật giải Harmony Search .................................. 91
Bảng 3.15.Bảng tham số thực nghiệm cho thuật giải PSO ..................................................... 98
Bảng 3.16.Bảng kết quả thực nghiệm cho thuật giải PSO ...................................................... 99
Bảng 3.17.Bảng tham số thực nghiệm kích thƣớc quần thể đàn ong n ................................. 103
Bảng 3.18.Bảng tham số thực nghiệm số vùng tìm kiếm lân cận m ..................................... 103
Bảng 3.19.Bảng tham số thực nghiệm kích thƣớc vùng lân cận ngh .................................... 104
Bảng 3.20.Bảng tham số thực nghiệm nep ............................................................................ 105
Bảng 3.21.Bảng tham số thực nghiệm nsp............................................................................. 105
Bảng 3.22.Bảng tham số thực nghiệm cho thuật giải Bees ................................................... 107
Bảng 3.23.Bảng kết quả thực nghiệm cho thuật giải Bees .................................................... 107
Bảng 3.24. So sánh kết quả tốt nhất giữa GA, MA, HS, PSO và BA ................................... 110

Bảng 3.25. So sánh kết quả trung bình tốt nhất giữa GA, MA, HS, PSO và BA ................. 110
Bảng 4.1.Bảng tham số thực nghiệm cho thuật giải GA-TS ................................................. 114
Bảng 4.2.Bảng kết quả thực nghiệm cho thuật giải GA-TS .................................................. 114
Bảng 4.3.Bảng tham số thực nghiệm cho thuật giải GA-SA................................................. 117
Bảng 4.4.Bảng kết quả thực nghiệm cho thuật giải GA-SA ................................................. 117
Bảng 4.5.Bảng tham số thực nghiệm cho thuật giải GA-VNS.............................................. 120

xi


Bảng 4.6.Bảng kết quả thực nghiệm cho thuật giải GA-VNS .............................................. 120
Bảng 4.7. So sánh kết quả tốt nhất giữa GA, GA+TS, GA+VNS và GA+SA ..................... 123
Bảng 4.8. So sánh kết quả trung bình tốt nhất giữa GA, GA+TS, GA+VNS và
GA+SA.................................................................................................................................... 124
Bảng 4.9.Bảng tham số thực nghiệm cho thuật giải HS-TS .................................................. 126
Bảng 4.10.Bảng kết quả thực nghiệm cho thuật giải HS-TS................................................. 126
Bảng 4.11.Bảng tham số thực nghiệm cho thuật giải HS-SA ............................................... 129
Bảng 4.12.Bảng kết quả thực nghiệm cho thuật giải HS-SA ................................................ 130
Bảng 4.13.Bảng tham số thực nghiệm cho thuật giải HS-VNS ............................................ 132
Bảng 4.14.Bảng kết quả thực nghiệm cho thuật giải HS-VNS ............................................. 133
Bảng 4.15. So sánh kết quả tốt nhất giữa HS, HS+TS, HS+VNS và HS+SA ...................... 136
Bảng 4.16. So sánh kết quả trung bình tốt nhất giữa HS, HS+TS, HS+VNS và
HS+SA .................................................................................................................................... 136
Bảng 4.15.Bảng tham số thực nghiệm cho thuật giải PSO-TS ............................................. 138
Bảng 4.16.Bảng kết quả thực nghiệm cho thuật giải PSO-TS .............................................. 139
Bảng 4.17.Bảng tham số thực nghiệm cho thuật giải PSO-SA ............................................. 141
Bảng 4.18.Bảng kết quả thực nghiệm cho thuật giải PSO-SA .............................................. 142
Bảng 4.19.Bảng tham số thực nghiệm cho thuật giải PSO-VNS .......................................... 145
Bảng 4.20.Bảng kết quả thực nghiệm cho thuật giải PSO-VNS ........................................... 145
Bảng 4.23. So sánh kết quả tốt nhất giữa PSO, PSO+TS, PSO+VNS và PSO+SA ............. 148

Bảng 4.24. So sánh kết quả trung bình tốt nhất giữa PSO, PSO+TS, PSO+VNS và
PSO+SA .................................................................................................................................. 149
Bảng 4.21.Bảng tham số thực nghiệm cho thuật giải Bees-TS ............................................. 151
Bảng 4.22.Bảng kết quả thực nghiệm cho thuật giải Bees-TS .............................................. 151
Bảng 4.23.Bảng tham số thực nghiệm cho thuật giải Bees-SA ............................................ 154
Bảng 4.24.Bảng kết quả thực nghiệm cho thuật giải Bees-SA ............................................. 155
Bảng 4.25.Bảng tham số thực nghiệm cho thuật giải Bees-VNS ......................................... 158
Bảng 4.26.Bảng kết quả thực nghiệm cho thuật giải Bees-VNS .......................................... 158
Bảng 4.15. So sánh kết quả tốt nhất giữa BA, BA+TS, BA+VNS và BA+SA .................... 161
Bảng 4.16. So sánh kết quả trung bình tốt nhất giữa BA, BA+TS, BA+VNS và
BA+SA .................................................................................................................................... 162
Bảng 4.27.Bảng tham số thực nghiệm cho thuật giải GA-Bees ............................................ 165
Bảng 4.28.Bảng kết quả thực nghiệm cho thuật giải GA-Bees ............................................. 165
Bảng 4.35.Bảng tham số thực nghiệm cho thuật giải HS-Bees ............................................ 170
Bảng 4.36.Bảng kết quả thực nghiệm cho thuật giải HS-Bees ............................................. 170

xii


Bảng 4.31.Bảng tham số thực nghiệm cho thuật giải PSO-Bees .......................................... 174
Bảng 4.32.Bảng kết quả thực nghiệm cho thuật giải PSO-Bees ........................................... 175
Bảng 4.15. So sánh kết quả tốt nhất giữa BA, BA+GA, BA+HS và PSO+BA ................... 178
Bảng 4.16. So sánh kết quả trung bình tốt nhất giữa BA, BA+GA, BA+HS và
PSO+BA ................................................................................................................................. 178
Bảng 5.1. Bảng xếp hạng tính dễ hiện thực của các thuật giải .............................................. 180
Bảng 5.2. Bảng kết quả tốt nhất thu đƣợc .............................................................................. 183
Bảng 5.3. Bảng danh sách các phiên bản đƣợc chọn của các thuật giải ............................... 183
Bảng 5.4. Bảng tổng hợp kết quả trung bình của các phiên bản đƣợc chọn ......................... 186
Bảng 5.5. Bảng tổng hợp kết quả tốt nhất của các phiên bản đƣợc chọn ............................. 187
Bảng 5.6. Bảng số lƣợng phiên bản đƣợc chọn cho giá trị vi phạm trung bình từ

1000 trở lên ............................................................................................................................. 191

xiii


Tóm tắt
Luận án này tập trung giải quyết bài toán xếp thời khóa biểu dựa trên nhóm học
phần có mang đặc trƣng riêng của các trƣờng đại học Việt Nam, một bài toán có
nhiều ứng dụng trong thực tế.
Điểm khác biệt giữa bài toán xếp thời khóa biểu môn học tại các trƣờng đại học
của Việt Nam với các bài toán xếp thời khóa biểu đại học trên thế giới là sự đa dạng
hơn về mặt ràng buộc, ví dụ: một phân công khi đƣợc sắp thời khóa biểu có thể đƣợc
chia ra nhiều cụm (block element), một một cụm phải đƣợc gán vào một buổi và các
cụm của một phân công (activity) cần phải gán vào các ngày khác nhau; một buổi
dạy/học của giảng viên và lớp học cần phải đƣợc hạn chế số lƣợng tiết lủng; lịch
giảng dạy của giảng viên cần đƣợc cực tiểu hóa số lƣợng buổi dạy khi có yêu cầu.
Thách thức của bài toán xếp thời khóa biểu môn học là bài toán bùng nổ tổ hợp,
không gian tìm kiếm lớn, trong khi đó thời gian yêu cầu để thuật giải chạy cho ra lời
giải phải trong khoảng thời gian chấp nhận đƣợc.
Luận án này tập trung vào các phƣơng pháp theo hƣớng tiếp cận metaheuristic bởi
vì hƣớng tiếp cận này đƣợc sử dụng rất thông dụng để giải quyết các bài toán xếp thời
khóa biểu, một trong những lớp bài toán dạng NP-khó. Tuy nhiên việc áp dụng các
thuật toán theo hƣớng tiếp cận này là không đơn giản bởi vì việc áp dụng một thuật
giải metaheuristic vào một bài toán đặc thù cần sự tinh tế trong việc biểu diễn lời giải,
khởi tạo lời giải ban đầu, thực hiện việc tìm kiếm lời giải trong không gian lời giải.
Hơn nữa, với sự đa dạng của các thuật toán đã công bố, việc đánh giá để lựa chọn
thuật toán tối ƣu cho bài toán xếp thời khóa biểu với đặc thù Việt Nam là rất cần thiết.
Do đó luận án này tập trung làm rõ các vấn đề sau:
-


Đánh giá, so sánh, và đề xuất một số cải tiến các thuật giải hiện có cho bài
toán xếp thời khóa biểu môn học của Việt Nam. Đóng góp của luận án bao
gồm:
o (i) đề xuất một mô hình Toán học (integer formulation for the course
timetabling problem)[CT12] để có thể đánh giá các thuật toán một cách

xiv


hiệu quả. Mô hình này là cần thiết bởi vì các thuật toán hiện có đƣợc
đánh giá ở nhiều ngữ cảnh, ràng buộc khác nhau dẫn đến sự không nhất
quán trong so sánh hiệu quả của các thuật toán.
o (ii) phân tích, đánh giá các thuật toán nhƣ TabuSearch [CT2][CT3],
thuật giải tôi luyện thép (SA)[CT4], thuật giải Variable Neighborhood
Search [CT5], thuật giải Memetic [CT7], thuật giải Particle Swarm
Optimization [CT6] và thuật giải bầy ong (Bees Algorithm) [CT8] dựa
trên mô hình đã đề xuất cho tập dữ liệu thực tế thu thập tại trƣờng ĐH
Khoa Học Tự Nhiên Tp. HCM. Đây là tập dữ liệu có độ phức tạp cao
với 10 ràng buộc cứng, 10 ràng buộc mềm sát với thực tế triển khai.
o (iii) đề xuất một số cải tiến dựa trên các phân tích trên. Cụ thể, với thuật
toán Tabu Search, SA, VNS để tối ƣu bộ nhớ, khi khám phá không gian
lân cận, luận án đề xuất chỉ lƣu trữ các phép chuyển thay cho lƣu trữ
các lời giải lân cận. Kỹ thuật này đƣợc tiếp tục áp dụng cho các thuật
giải SA, VNS, Memetic. Với thuật toán PSO, luận án đề xuất khái niệm
vị trí, vận tốc trong việc ứng dụng thuật toán. Với các đề xuất mới này,
việc cài đặt các thuật toán đƣợc đơn giản hơn, và tốc độ xử lí đƣợc cải
tiến rất đáng kể.
-

Nghiên cứu cách kết hợp các thuật toán hiện có sao cho đạt hiệu quả tối ƣu

hơn. Cụ thể luận án đã đề xuất các phƣơng pháp kết hợp giữa các thuật giải
GA-Bees[CT9], Harmony-Bees[CT10], GA-SA[CT11], Bees-VNS, Bee-PSO.
Ý tƣởng chính của việc kết hợp các thuật toán là nhằm tăng tính đa dạng và
mở rộng không gian tìm kiếm hết khả năng có thể. Kết quả thực nghiệm cho
thấy sự vƣợt trội của các phƣơng pháp kết hợp này so với các phƣơng pháp áp
dụng đơn thuần một thuật giải.

xv


Chương 1

Giới thiệu bài toán
1.1 Dẫn nhập
Xếp thời khóa biểu là một trong những công việc quan trọng và thƣờng xuyên ở
các đơn vị nhƣ trƣờng đại học. Đây là một công việc khá cực nếu thực hiện bằng tay,
bởi vì ngƣời xếp lịch phải xử lí một khối lƣợng lớn các ràng buộc liên quan đến thời
khóa biểu bao gồm cơ sở vật chất (phòng học, máy chiếu, micro), lịch rảnh của giảng
viên, số môn học, số lớp học, và số lƣợng phân công.
Bên cạnh đó, với đặc thù của các trƣờng ĐH ở Việt Nam, các giảng viên cũng
thƣờng đặt ra những yêu cầu nhất định về mặt thời gian đối ngƣời xếp lịch, cộng với
việc lịch học phải cố gắng đƣợc sắp xếp làm sao để tiện cho sinh viên, tránh việc lãng
phí thời gian khi bắt sinh viên phải ngồi chờ quá lâu giữa các môn trong cùng một
buổi, một ngày. Việc sắp xếp lịch làm sao để có thể tận dụng đƣợc tối ƣu nguồn tài
nguyên mà vẫn đảm bảo đƣợc các yêu cầu rất cơ bản này là một công việc thật sự khó
khăn và vất vả cho ngƣời xếp lịch.
Chính vì lí do đó, bài toán xếp thời khoá biểu cho giáo dục từ lâu đã nhận đƣợc sự
quan tâm của các nhà nghiên cứu nhằm đề xuất ra các thuật giải giúp hỗ trợ giải quyết
bài toán một cách tự động bằng máy tính. Khởi đầu từ bài báo của tác giả Gotlieb vào
năm 1963[18], cho đến nay, đã có rất nhiều hƣớng tiếp cận đƣợc đƣa ra cho lớp bài

toán này. Trên thực tế, do sự đa dạng về nhu cầu và qui định của các trƣờng, đã xuất
hiện rất nhiều biến thể khác nhau của bài toán xếp thời khóa biểu. Dựa theo bài khảo
sát của tác giả A. Schaerf[5] và bài báo cáo kĩ thuật của cuộc thi Xếp thời khóa biểu
quốc tế 2007[10] (International Timetabling Competition 2007 – gọi tắt là ITC07), có
thể phân các bài toán xếp thời khóa biểu cho giáo dục thành ba nhóm chính:
 Bài toán xếp thời khóa biểu cho trƣờng phổ thông (high school timetabling)
 Bài toán xếp thời khóa biểu cho trƣờng đại học (course timetabling)

1


 Bài toán xếp lịch thi (examination timetabling)
Các bài toán xếp thời khóa biểu cho giáo dục nói chung đều thuộc lớp bài toán
NP- khó[109]. Các kỹ thuật đầu tiên đƣợc đề xuất để giải quyết bài toán là các kĩ
thuật dựa trên mô phỏng suy nghĩ của con ngƣời để giải quyết vấn đề. Những kỹ
thuật đó gọi là heuristic trực tiếp (direct heuristic)[51]. Một ví dụ của dạng này là kỹ
thuật ƣu tiên xếp trƣớc những bài giảng khó xếp nhất. Thời khóa biểu sẽ dần dần
đƣợc hình thành sau mỗi bƣớc xếp. Tiếp đó là sự phát triển của các thuật giải dựa trên
việc mô hình hoá bài toán xếp thời khoá biểu thành các bài toán cơ bản trong lý
thuyết, chẳng hạn nhƣ bài toán tô màu đồ thị[29], bài toán mạng phân luồng,... Tuy
nhiên, trong khoảng 20 năm trở lại đây, một nhóm các hƣớng tiếp cận khác đã đƣợc
đề xuất và thể hiện đƣợc khả năng giải quyết vấn đề khá vƣợt trội so với các hƣớng
còn lại, đó là nhóm các hƣớng tiếp cận metaheuristics. Metaheuristics tỏ ra khá hiệu
quả trong việc tìm ra lời giải cho các bài toán tối ƣu, giúp giải quyết khá tốt nhiều bài
toán khó với kích thƣớc miền tìm kiếm rất lớn nhƣ bài toán xếp thời khóa biểu, trong
đó tiêu biểu có thể kể đến thuật giải Tabu Search[92], thuật giải Tôi luyện thép
(Simulated Annealing)[93], thuật giải di truyền (Genetic Algorithm)[58], thuật giải
bầy kiến (Ant Colony Optimization)[72].

1.2 Mục tiêu và đóng góp của luận án

Luận án này tập trung vào các phƣơng pháp theo hƣớng tiếp cận metaheuristic bởi
vì hƣớng tiếp cận này đƣợc sử dụng rất thông dụng để giải quyết các bài toán xếp thời
khóa biểu, một trong những lớp bài toán dạng NP-khó. Tuy nhiên việc áp dụng các
thuật toán theo hƣớng tiếp cận này là không đơn giản bởi vì việc áp dụng một thuật
giải metaheuristic vào một bài toán đặc thù với các ràng buộc cứng và ràng buộc
mềm cần phải thỏa mãn trong điều kiện làm việc tại Việt Nam, cần sự tinh tế trong
việc biểu diễn lời giải, khởi tạo lời giải ban đầu, thực hiện việc tìm kiếm lời giải trong
không gian lời giải. Hơn nữa, với sự đa dạng của các thuật toán đã công bố, việc đánh
giá để lựa chọn thuật toán tối ƣu cho bài toán xếp thời khóa biểu với đặc thù Việt
Nam là rất cần thiết. Do đó luận án này tập trung làm rõ các vấn đề sau:

2


-

Đánh giá, so sánh, và đề xuất một số cải tiến các thuật giải hiện có cho bài

toán xếp thời khóa biểu môn học của Việt Nam. Đóng góp của luận án bao gồm:
(i) đề xuất một mô hình Toán học (integer formulation for the course
timetabling problem)[CT12] để có thể đánh giá các thuật toán một cách hiệu quả và
thống nhất trong cùng một bộ dữ liệu và tiêu chí đánh giá. Mô hình này là cần thiết
bởi vì các thuật toán hiện có đƣợc đánh giá ở nhiều ngữ cảnh, ràng buộc khác nhau
dẫn đến sự không nhất quán trong so sánh hiệu quả của các thuật toán.
(ii) phân tích, đánh giá 23 thuật toán bao gồm 3 thuật toán đơn lời giải nhƣ
TabuSearch [CT3][CT4], tôi luyện thép (SA) [CT5], và Variable Neighborhood
Search [CT6]; và 5 thuật toán quần thể nhƣ di truyền (GA), Memetic [CT8],
Harmony Search, Particle Swarm Optimization [CT7] và bầy ong (Bees Algorithm)
[CT9]; và 15 thuật toán kết hợp các thuật toán trên. Các thuật toán này đƣợc đánh giá
dựa trên mô hình đã đề xuất cho 14 tập dữ liệu thực tế thu thập tại trƣờng ĐH Khoa

Học Tự Nhiên Tp. HCM. Đây là tập dữ liệu có độ phức tạp cao với 10 ràng buộc
cứng, 10 ràng buộc mềm sát với thực tế triển khai.
(iii) đề xuất một số cải tiến dựa trên các phân tích trên. Cụ thể, với thuật toán
Tabu Search để tối ƣu bộ nhớ, khi khám phá không gian lân cận, luận án đã vận dụng
cách lƣu trữ các phép chuyển thay cho lƣu trữ các lời giải lân cận và áp dụng cho các
thuật giải SA, VNS, Memetic. Với thuật toán PSO, luận án đề xuất khái niệm vị trí,
vận tốc trong việc ứng dụng thuật toán. Với các đề xuất mới này, việc cài đặt các
thuật toán đƣợc đơn giản hơn, và tốc độ xử lí đƣợc cải tiến rất đáng kể.
-

Nghiên cứu cách kết hợp các thuật toán hiện có sao cho đạt hiệu quả tối ƣu

hơn. Cụ thể luận án đã đề xuất các phƣơng pháp kết hợp giữa các thuật giải GA-Bees
[CT10], Harmony-Bees [CT11], GA-SA [CT12], Bees-VNS, Bee-PSO. Ý tƣởng
chính của việc kết hợp các thuật toán là nhằm tăng tính đa dạng và mở rộng không
gian tìm kiếm hết khả năng có thể. Kết quả thực nghiệm cho thấy sự vƣợt trội của các
phƣơng pháp kết hợp này so với các phƣơng pháp áp dụng đơn thuần một thuật giải.

1.3 Nội dung luận án
Nội dung của luận án bao gồm:

3


 Chƣơng 1 trình bày tổng quan về bài toán, mục tiêu và đóng góp của luận án.
 Chƣơng 2 trình bày về mô hình bài toán xếp thời khóa biểu trƣờng đại học
đƣợc phát biểu dƣới dạng toán học, và các hƣớng tiếp cận giải quyết bài toán.
Chƣơng này trình bày chi tiết về các hƣớng tiếp cận metaheuristics dựa trên
tìm kiếm cục bộ dựa trên quần thể. Một phần của chƣơng này đã đƣợc công bố
trong công trình số [CT12].

 Chƣơng 3 trình bày các phƣơng pháp tiếp cận đơn lời giải và quần thể trong
việc giải bài toán thời khóa biểu. Một phần của chƣơng này đã đƣợc công bố
trong công trình số[CT1], [CT2], [CT3], [CT4], [CT5],[CT6], [CT7], [CT8].
 Chƣơng 4 trình bày các phƣơng pháp tiếp cận kết hợp (hybrid heuristic) trong
việc giải bài toán thời khóa biểu. Một phần của chƣơng này đã đƣợc công bố
trong công trình số[CT9], [CT10], [CT11].
 Chƣơng 5 trình bày kết quả thực nghiệm, đánh giá và so sánh kết quả giữa các
thuật giải.
 Chƣơng 6 trình bày kết luận và hƣớng phát triển.

4


Chương 2

Mô hình hóa bài toán thời khóa biểu
môn học và các phương pháp tiếp cận
2.1 Giới thiệu bài toán
Bài toán xếp thời khóa biểu cho trƣờng đại học thuộc lớp các bài toán xếp thời
khóa biểu cho giáo dục, đây là lớp các bài toán rất thực tế, xuất hiện ở tất cả các
trƣờng phổ thông và đại học. Mục tiêu của bài toán là tìm cách xếp lịch học, lịch dạy
cho các sinh viên (học sinh) và giảng viên (giáo viên) vào các tiết học, các phòng học
sao cho thỏa một số ràng buộc nhất định. Yêu cầu chính của lớp bài toán này là xếp
các tài nguyên (giảng viên/giáo viên, sinh viên/học sinh, phòng học, thiết bị...) vào
các tiết học thích hợp sao cho thời khóa biểu thu đƣợc phải thỏa một số ràng buộc
nhất định (chẳng hạn: một giảng viên không dạy 2 bài giảng khác nhau tại cùng 1 thời
điểm, 1 sinh viên không học 2 bài giảng khác nhau tại cùng 1 thời điểm,...). Trên thực
tế, do sự đa dạng về nhu cầu và qui định của các trƣờng, đã xuất hiện rất nhiều biến
thể khác nhau của bài toán xếp thời khóa biểu. Dựa theo bài khảo sát của tác giả A.
Schaerf [5] và bài báo cáo kĩ thuật của cuộc thi Xếp thời khóa biểu quốc tế 2007

(International Timetabling Competition 2007 – gọi tắt là ITC07) [10], có thể phân các
bài toán xếp thời khóa biểu cho giáo dục thành ba nhóm chính:
-

Bài toán xếp thời khóa biểu cho trƣờng phổ thông (high school timetabling): xếp
lịch học hàng tuần cho các lớp và lịch dạy hàng tuần cho các giáo viên sao cho
không có giáo viên nào phải dạy 2 lớp tại cùng 1 thời điểm, và không có lớp nào
học 2 giáo viên tại cùng 1 thời điểm.

-

Bài toán xếp thời khóa biểu cho trƣờng đại học (course timetabling), gồm có 2 lớp
bài toán con:
o Bài toán xếp thời khóa biểu cho trƣờng đại học dựa trên nhóm học
phần (curriculum-based course timetabling): sinh viên đăng kí học sau
khi thời khóa biểu đã đƣợc sắp, sự tránh đụng độ giữa các môn học

5


đƣợc quy định bởi nhóm học phần (nhóm các môn học không đƣợc sắp
trùng giờ nhau), các nhóm học phần này đƣợc trƣờng quy định sẵn và
không phụ thuộc vào kết quả đăng kí học của sinh viên.
o Bài toán xếp thời khóa biểu cho trƣờng đại học dựa trên lịch đăng kí
của sinh viên (post enrolment –based course timetabling): các sinh viên
đăng kí môn mà mình muốn học, sau đó, trƣờng sẽ dựa trên kết quả
đăng kí này để xếp thời khóa biểu sao cho các sinh viên đều có thể học
đƣợc tất cả các môn mà mình đăng kí mà không bị đụng độ giờ học.
-


Bài toán xếp lịch thi (examination timetabling): tƣơng tự nhƣ bài toán xếp thời
khóa biểu cho truờng đại học, nhƣng bài toán này có 1 số điểm khác biệt, chẳng
hạn nhƣ: xếp lịch thi sao cho thời gian kéo dài của lịch thi là ít nhất (trong khi độ
dài của 1 thời khóa biểu đƣợc xếp cho bài toán xếp thời khóa biểu cho trƣờng đại
học là cố định, thƣờng là 1 tuần), 2 môn thi có thể dùng chung 1 phòng học tại
cùng 1 thời điểm, hoặc 1 môn thi có thể tách ra thi ở 2 phòng khác nhau tại cùng 1
thời điểm (bài toán xếp thời khóa biểu cho trƣờng đại học thƣờng không cho phép
điều này).
Với yêu cầu phức tạp của bài toán xếp thời khóa biểu cho đại học, việc thực hiện

xếp thời khóa biểu bằng tay đòi hỏi tốn rất nhiều công sức và thời gian mà kết quả
tìm đƣợc đôi khi lại không phù hợp với thực tế. Do thuộc lớp bài toán NP-khó[109]
nên việc giải quyết bài toán bằng phƣơng pháp vét cạn là hầu nhƣ không thể. Chính
vì độ phức tạp của bài toán và nhu cầu cao xuất phát từ thực tế nên bài toán xếp thời
khóa biểu đã nhận đƣợc mối quan tâm đáng kể của các nhà khoa học.
Luận án này tập trung giải quyết bài toán xếp thời khóa biểu môn học tại các
trƣờng đại học Việt Nam nói chung và đại học Khoa học Tự nhiên nói riêng. Việc
giải quyết này đòi hỏi phải mô hình bài toán với các ràng buộc đặc thù. Điều này dẫn
đến số lƣợng số lƣợng ràng buộc của bài toán Việt Nam đa dạng hơn các bài toán
tƣơng tự trên thế giới và có thể làm cho các thuật toán đã có phải cần đƣợc đánh giá
lại một cách toàn diện và đƣa ra các cải tiến mới cho phù hợp với bài toán hiện tại. Lý

6


×