1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

230 689 6

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 230
Dung lượng 3,4 MB

Nội dung

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

Trang 1

ĐẠ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

Trang 2

ĐẠ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

Trang 3

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

Trang 4

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

Trang 5

Mục lục



Tóm tắt xiv

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

1.1 Dẫn nhập 1

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

1.3 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 Giới thiệu bài toán 5

2.2 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 Nhóm các heuristics trực tiếp 16

2.3.2 Nhóm các kĩ thuật dựa trên bài toán tô màu đồ thị 16

2.3.3 Nhóm các kĩ thuật Quy hoạch ràng buộc 18

2.3.4 Nhóm các hướng tiếp cận metaheuristics dựa trên tìm kiếm cục bộ 19

2.3.5 Nhóm các hướng tiếp cận metaheuristics dựa trên quần thể 33

2.3.6 Nhóm các hướng tiếp cận hyper-heuristics 41

2.3.7 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 Biểu diễn lời giải 44

2.4.2 Các phương pháp khởi tạo lời giải ban đầu 44

2.4.3 Các phép chuyển 47

2.4.4 Shaking – Kick Move 49

2.4.5 Các kỹ thuật Local search 53

2.5 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

Trang 6

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 Thiết kế thuật giải Bees cho bài toán xếp thời khóa biểu 101

3.8.2 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

3.8.3 Kết quả chạy thực nghiệm thuật giải Bees 107

3.8.4 So sánh kết quả chạy thực nghiệm giữa 5 thuật giải GA, MA, HS, PSO và BA 110 3.9 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 Phương pháp kết hợp thuật giải GA và thuật giải TS, VNS, SA 112

4.1.2 Phương pháp kết hợp thuật giải Harmony Search và thuật giải TS, VNS, SA 124

4.1.3 Phương pháp kết hợp thuật giải PSO và thuật giải TS, VNS, SA 137

4.1.4 Phương pháp kết hợp thuật giải Bees và thuật giải TS, VNS, SA 149

4.2 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 Tính dễ hiện thực của thuật giải 180

5.2 Phân tích số liệu thực nghiệm 181

5.3 Lý giải kết quả thực nghiệm 191

Trang 7

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

6.1 Tóm tắt các đóng góp của luận án 194

6.2 Những hạn chế của luận án 195

6.3 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

Trang 8

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)

VNS : thuật giải Variable Neighborhood Search ILS : thuật giải Iterated Local Search

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

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)

Single move : phép chuyển đơn

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

Trang 9

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ể)

Musical instrument : nhạc cụ

Decision variable : biến quyết định

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

Objective function : hàm mục tiêu

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

Trang 10

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

Trang 11

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

Trang 12

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

Trang 13

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

Trang 14

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

Trang 15

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

Trang 16

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

Trang 17

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

Trang 18

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

Trang 19

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

Trang 20

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)

Trang 21

 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:

Trang 22

- Đá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:

Trang 23

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

Trang 24

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

Trang 25

đượ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ý

Trang 26

do là các ràng buộc mới này có thể làm cho các giả thiết (assumption) được dùng trong các thuật toán đã có không còn phù hợp và tương thích

Phần kế tiếp của luận án trình bày mô hình hóa toán học của bài toán

2.2 Mô hình hóa bài toán

Mô hình bài toán xếp thời khóa biểu môn học được đề cập trong luận án bao gồm các phần chính như sau:

- Các ký hiệu

- Các biến

- Các ràng buộc cứng: Đây là các ràng buộc bắt buộc phải được thỏa trong lời giải Luận án trình bày 10 ràng buộc cứng với các ràng buộc cứng 7, 8 là những ràng buộc đặc thù của đại học Việt Nam

- Các ràng buộc mềm: Đây là các ràng buộc dạng khuyến cáo cần phải được thỏa càng nhiều càng tốt trong lời giải cuối cùng.Trong đó các ràng buộc 2, 3, 4, 5, 9

là những ràng buộc mà các đối tượng liên quan trong thời khóa biểu Việt Nam rất quan tâm

- Hàm mục tiêu: Hàm này được dùng để đánh giá chất lượng của một lời giải Trong đó, các ràng buộc cứng được đánh trọng số cao hơn hẳn so với các ràng buộc mềm

2.2.1 Các kí hiệu

Bài toán bao gồm các yếu tố cho sẵn sau:

 Tập * + tập các tiết học trong một tuần Trong đó

là số tiết tối đa trong 1 tuần, thông thường

 Tập : tập các ngày học trong một tuần

 Tập : tập các tiết học của ngày thứ trong tuần

 Tập : tập các buổi học (ví dụ: buổi sáng, buổi chiều) trong một tuần

 Tập * +: tập các tiết học thuộc về buổi , với

 Tập : tập các giảng viên tham gia giảng dạy

Trang 27

 Tập : tập các lớp học

 : số lƣợng sinh viên của lớp học

 Ma trận cho biết giờ rảnh của giảng viên:

 : cho biết sức chứa của phòng học , với

 Ma trận cho biết giờ rảnh của phòng học:

 : giảng viên tham gia giảng dạy phân công

 Tập : tập các lớp học tham gia học phân công

 Tập : tập các BlockElement, một BlockElement là một nhóm các tiết học liên tiếp nhau của cùng một phân công mà cần phải đƣợc phân vào cùng một buổi

 Tập *( ) + cho biết lịch gán sẵn của các phân công, một bộ ba ( ) khi và chỉ khi tiết bắt đầu của BlockElement đƣợc gán sẵn vào tiết và phòng

Trang 28

 Tập : tập các BlockElement thuộc về phân công , với

 Tập : tổng số tiết học của BlockElement , với

 Tập : tập các BlockElement do giảng viên giảng dạy, với

 Tập : tập các BlockElement mà lớp học có tham gia học, với

 Tập : tập các nhóm học phần (curriculum) – mỗi nhóm học phần là một tập các phân công mà không được xếp trùng giờ nhau do yêu cầu của khoa quy định Thường nhóm học phần này được đưa ra nhằm giải quyết việc tránh trùng giờ của các học phần chuyên ngành

 Tập : các phân công thuộc thuộc nhóm học phần lớp học

2.2.2 Các biến của mô hình

Tất cả các biến quyết định và các biến bổ trợ đều là các biến nhị phân - chỉ nhận một trong hai giá trị là 0 hoặc 1

 Biến quyết định (decision variable): với , trong đó:

 nếu tiết bắt đầu của BlockElement được gán vào tiết và phòng ,

Trang 29

2.2.3 Mô hình hóa các ràng buộc cứng

1 Ràng buộc về tính liên tục của BlockElement và tính duy nhất của phòng học của BlockElement

Tất cả các tiết học của cùng một BlockElement phải diễn ra liền kề nhau và tại cùng một phòng

* + ( )

2 Ràng buộc đụng độ giảng viên

Một giảng viên không thể dạy nhiều hơn một BlockElement tại cùng một thời điểm

∑ ∑

5 Ràng buộc thời gian rảnh của giảng viên, lớp học, phòng học

Các giảng viên, lớp học và phòng học không đƣợc xếp vào thời gian mà họ không rảnh

Trang 30

6 Ràng buộc về tính đầy đủ và duy nhất của một phân công

Tất cả các BlockElement của tất cả các phân công phải đƣợc gán vào một và chỉ một tiết bắt đầu và một và chỉ một phòng học nào đó

7 Ràng buộc về buổi của BlockElement

Với mỗi BlockElement, tất cả các tiết đƣợc gán đều phải thuộc cùng một buổi , - ( )

8 Ràng buộc về ngày của phân công

Các BlockElement khác nhau của cùng một phân công phải đƣợc gán vào các ngày khác nhau

∑ ∑

9 Ràng buộc về phân công gán sẵn

Lịch gán sẵn (nếu có) của các phân công phải đƣợc đảm bảo

( )

10 Ràng buộc sức chứa của phòng học

Các lớp học phải đƣợc phân công vào những phòng học có sức chứa phù hợp với

sỉ số lớp học

∑( )

2.2.4 Mô hình hóa các ràng buộc mềm

Khác với các ràng buộc cứng, đối với các ràng buộc mềm, yếu tố đƣa vào mô hình bài toán không phải là công thức biểu diễn ràng buộc, mà thay vào đó là công thức biểu diễn số lƣợng vi phạm của ràng buộc nhằm đƣa vào hàm mục tiêu

1 Ràng buộc di chuyển của giảng viên giữa các nhóm phòng học

Cần hạn chế việc một giảng viên phải di chuyển giữa các nhóm phòng học khác nhau trong cùng một ngày Số vi phạm của ràng buộc này đƣợc biểu diễn nhƣ sau:

Trang 31

∑ ∑ ∑ ∑ ∑ ∑ ( )

2 Ràng buộc giờ lủng của giảng viên theo buổi

Hạn chế trường hợp một giảng viên phải dạy nhiều BlockElement trong cùng một buổi mà lại phải nghỉ giữa các BlockElement này Số vi phạm của ràng buộc này (kí hiệu: ) là số bộ ( ) trong lời giải hiện tại, với , , ( ) ( ) mà:

( ) ( )

3 Ràng buộc giờ lủng của giảng viên theo ngày

Hạn chế trường hợp một giảng viên phải dạy nhiều BlockElement trong cùng một ngày mà lại phải nghỉ giữa các BlockElement này Số vi phạm của ràng buộc này (kí hiệu: ) là số bộ ( ) trong lời giải hiện tại, với , , ( ) ( ) mà:

( ) ( )

4 Ràng buộc tổng số tiết dạy tối đa của giảng viên

Hạn chế trường hợp một giảng viên phải dạy nhiều hơn 9 tiết một ngày Số vi phạm của ràng buộc này được tính bằng công thức sau:

∑ ( ∑ ∑ ∑

)

5 Ràng buộc thời gian dạy mong muốn của giảng viên

Hạn chế trường hợp các giảng viên phải dạy vào tiết mà họ không mong muốn Tổng số vi phạm của ràng buộc này được tính như sau:

∑ ∑ ∑ ∑( ( ))

6 Ràng buộc di chuyển địa điểm học của lớp học trong cùng 1 ngày

Cần hạn chế việc một lớp học phải di chuyển giữa các nhóm phòng học khác nhau trong cùng một ngày Số vi phạm của ràng buộc này được biểu diễn như sau:

∑ ∑ ∑ ∑ ∑ ∑ ( )

Trang 32

7 Ràng buộc di chuyển địa điểm học của nhóm học phần - lớp học trong cùng 1 ngày

Cần hạn chế việc các phân công thuộc cùng một nhóm học phần-lớp học nhưng lại được phân vào các nhóm phòng học khác nhau trong cùng một ngày Số vi phạm của ràng buộc này được biểu diễn như sau:

∑ ∑ ∑ ∑ ∑ ∑ ∑ ∑ ( )

8 Ràng buộc độ nén lịch dạy của giảng viên theo buổi

Mục tiêu của ràng buộc này là cực tiểu hóa số lượng buổi mà mỗi giảng viên phải dạy, giá trị cần cực tiểu hóa được biểu diễn bằng công thức sau:

∑ ∑

Trong đó, { ∑ ∑ ∑

9 Ràng buộc độ nén lịch học của lớp học theo buổi

Mục tiêu của ràng buộc này là cực tiểu hóa số lượng buổi mà mỗi lớp học cần học, giá trị cần cực tiểu hóa được biểu diễn bằng công thức sau:

∑ ∑

Trong đó, { ∑ ∑ ∑

10 Ràng buộc giờ lủng của lớp học theo buổi

Hạn chế trường hợp một lớp học phải học nhiều BlockElement trong cùng một buổi mà lại phải nghỉ giữa các BlockElement này Số vi phạm của ràng buộc này (kí hiệu: ) là số bộ ( ) trong lời giải hiện tại, với , , ( ) ( ) mà:

( ) ( )

Trang 33

2.2.5 Hàm mục tiêu

Mục tiêu của bài toán là tìm cách gán các BlockElement vào các phòng, các tiết (xác định giá trị của các biến ) sao cho lời giải thu đƣợc thỏa tất cả các ràng buộc cứng và cho giá trị cực tiểu của hàm mục tiêu ( ) sau đây:

( ) ∑

Trong đó:

 là lời giải của bài toán

 n: tổng số ràng buộc mềm của bài toán (n=10)

 : trọng số của ràng buộc mềm thứ i

 : là số lƣợng vi phạm tại ràng buộc thứ i của lời giải

Hai lời giải và , khi đó lời giải đƣợc gọi là tốt hơn lời giải nếu ( ) ( )

2.2.6 Các trọng số

Các ràng buộc đƣợc đánh trọng số theo nguyên tắc ràng buộc cứng đƣợc đánh trọng số cao hơn hẵn ràng buộc mềm Ràng buộc mềm quan trọng hơn đƣợc đánh trọng số cao hơn

STT Tên Ràng Buộc Trọng Số Ghi Chú

01

Ràng buộc về tính liên tục của

BlockElement và tính duy nhất của phòng

07 Ràng buộc về buổi của BlockElement 1000 RBC thứ 7

08 Ràng buộc về ngày của phân công 1000 RBC thứ 8

09 Ràng buộc về phân công gán sẵn 1000 RBC thứ 9

10 Ràng buộc sức chứa của phòng học 1000 RBC thứ 10

Trang 34

STT Tên Ràng Buộc Trọng Số Ghi Chú

11 Ràng buộc di chuyển của giảng viên giữa

20 Ràng buộc giờ lủng của lớp học theo buổi 7 RBM thứ 10

Trong lời giải kết quả cuối cùng của một thuật toán nếu giá trị hàm mục tiêu của lời giải nhỏ hơn 1000 thì lời giải đó chắc chắn thỏa tất cả các ràng buộc cứng và có thể áp dụng trong thực tế

Các ràng buộc cứng và ràng buộc mềm đƣợc đánh trọng số thống nhất trong tất cả các phiên bản cài đặt của các thuật toán khác nhau Các phân tích, đánh giá đều đƣợc qui chiếu về mô hình bài toán đã phát biểu một cách nhất quán

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

2.2.7.1 Thách thức

 Bài toán bùng nổ tổ hợp

 Không gian lời giải rất lớn

 Các ràng buộc phức tạp, khó có thể thỏa hết

Trang 35

 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

2.3.1 Nhóm các heuristics trực tiếp

Một trong những nhóm các thuật giải heuristic đầu tiên được đề xuất để giải quyết bài toán là nhóm các heuristics trực tiếp [51] Các heuristics này thường tập trung vào việc khai thác các đặc trưng của một bài toán xếp thời khóa biểu cụ thể nào đó và thuật giải sẽ được thiết kế để giải quyết tốt nhất có thể bài toán cụ thể này Các thuật giải này thường có hạn chế là chỉ giải quyết một bài toán cụ thể nào đó, và có thể sẽ rất khó để áp dụng cho bài khác xếp thời biểu khác dù thuộc cùng một nhóm

2.3.2 Nhóm các kĩ thuật dựa trên bài toán tô màu đồ thị

Bài toán tô màu đồ thị là bài toán kinh điển trong lý thuyết đồ thị, nội dung bài toán như sau: cho một đồ thị gồm N đỉnh, hãy tìm cách tô màu tất cả các đỉnh trong

đồ thị sao cho không có hai đỉnh nào kề nhau được tô cùng một màu và tổng số màu

sử dụng là nhỏ nhất

Xét bài toán xếp thời khóa biểu ở dạng đơn giản, gồm N học phần (course/event)

và một tập các khe thời gian (timeslot), bài toán yêu cầu tìm cách gán các học phần vào các khe thời gian sao cho cực tiểu hóa tổng số khe thời gian cần dùng Bài toán này có thể được mô hình hóa thành bài toán Tô màu đồ thị trên, trong đó, mỗi đỉnh của đồ thị sẽ tương ứng với một học phần, hai đỉnh được nối với nhau bằng một cạnh

Trang 36

khi hai học phần tương ứng không được phép gán vào cùng một khe thời gian (do có cùng giáo viên, cùng lớp học, ) Mỗi màu của đồ thị chính là một khe thời gian

Do mối tương đồng giữa bài toán tô màu đồ thị và bài toán xếp thời khóa biểu mà trong khoảng trước năm 1990, có khá nhiều thuật giải để giải bài toán tô màu đồ thị

đã được áp dụng vào bài toán xếp thời khóa biểu và được trình bày khá rõ trong bài khảo sát của tác giả D de Werra[29] Ý tưởng chung của các thuật giải thuộc nhóm này là: các học phần sẽ được sắp xếp theo một thứ tự nào đó, sau đó, các học phần này sẽ lần lượt được gán vào các khe thời gian phù hợp Việc sắp xếp thứ tự gán của các học phần thường dựa trên ―độ khó‖ của các học phần, học phần nào khó xếp hơn thì sẽ được gán trước, độ khó này thường được xác định dựa trên một trong năm tiêu chí sau [41][102]:

 Tiêu chí Bậc bão hoà (saturation degree): độ khó của một học phần tỉ lệ nghịch với số khe thời gian mà học phần có thể được xếp vào

 Tiêu chí Bậc lớn nhất (largest degree): độ khó của một học phần tỉ lệ thuận với

số lượng học phần đụng độ với học phần này (là các học phần mà học phần này không được xếp trùng giờ)

 Tiêu chí Bậc lớn nhất có trọng số (weighted largest degree): giống với tiêu chí Bậc lớn nhất, nhưng có xét thêm số lượng sinh viên cùng tham gia các học phần bị đụng độ

 Tiêu chí sắp xếp ngẫu nhiên: các học phần được sắp xếp một cách ngẫu nhiên, không dựa trên độ khó nào cả

 Tiêu chí Bậc của màu (color degree): độ khó của một học phần tại một thời điểm tỉ lệ thuận với số lượng học phần đã được xếp tính thời điểm đó mà đụng

độ với học phần này Như vậy, với tiêu chí này, độ khó của một học phần sẽ thay đổi trong suốt quá trình xây dựng lời giải

Các khe thời gian phù hợp sẽ được chọn để gán lần lượt vào các học phần đã sắp xếp theo thứ tự Một trong những cách đơn giản nhất để chọn khe thời gian cho một

Trang 37

học phần là chọn khe thời gian nào làm tăng giá trị hàm mục tiêu của lời giải hiện tại lên ít nhất

Các thuật giải thuộc nhóm này có ưu điểm là có thể tìm được lời giải có độ tốt chấp nhận được với chi phí tính toán thấp, do đó, các thuật giải này hiện nay thường được sử dụng để tạo ra các lời giải ban đầu cho các thuật giải (thuật toán) khác, hoặc tiếp tục được cải tiến, kết hợp với các kĩ thuật khác như: kĩ thuật backtracking [83], kĩ thuật look-ahead [38], Các cải tiến và kết hợp của các thuật giải dựa trên đồ thị được áp dụng cho bài toán xếp thời khóa biểu từ năm 1996 trở đi được khảo sát và trình bày chi tiết trong bài báo của nhóm tác giả R Qu[102] vào năm 2006

2.3.3 Nhóm các kĩ thuật Quy hoạch ràng buộc

Bài toán xếp thời khóa biểu cũng có thể được mô hình hóa dưới dạng Bài toán thỏa mãn ràng buộc (Constraint Satisfaction Problem - CSP) với các biến có miền xác định rời rạc và hữu hạn Nhờ đó, có thể áp dụng các hướng tiếp cận quy hoạch ràng buộc (Constraint Programming) để giải quyết bài toán xếp thời khóa biểu Ưu điểm của các hướng tiếp cận này là khả năng tận dụng lại các solver đã có cho bài toán CSP khi đã có mô hình biểu diễn bài toán phù hợp Các hướng tiếp cận tiêu biểu của nhóm này đã được trình bày khá rõ trong các bài khảo sát của nhóm tác giả R Qu[102] và nhóm tác giả E Bruke [16] Một trong những hướng tiếp cận tiêu biểu của nhóm này là hướng tiếp cận dựa trên kĩ thuật Quy hoạch logic có ràng buộc (Constraint Logic Programming - CLP) được công bố bởi nhóm tác giả H.J Goltz[59] vào năm 1996 Trong công trình nghiên cứu của mình, nhóm tác giả H.J Goltz đã sử dụng ngôn ngữ CHIP [33] – một trong những ngôn ngữ đầu tiên được đề xuất cho CLP để giải quyết bài toán xếp thời khóa biểu thực tế cho trường đại học Humboldt – Đức, chương trình mà nhóm tác giả cài đặt cho phép người dùng có thể tương tác và sửa đổi lời giải, cũng như chỉnh sửa một số ràng buộc ở mức cho phép trong suốt quá trình tìm kiếm Một hướng tiếp cận tiêu biểu khác của nhóm này là hướng tiếp cận dựa trên kĩ thuật Quy hoạch số nguyên (Integer Programming), trong

đó có thể kể đến công trình của nhóm tác giả K.Schimmelpfeng [105], trong bài báo của mình, nhóm tác giả K.Schimmelpfeng đã đề xuất mô hình biểu diễn bài toán xếp

Trang 38

thời khóa biểu thực tế của trường đại học Hanover – Đức bằng mô hình quy hoạch số nguyên và sử dụng kết hợp giữa một solver miễn phí để giải các bài toán quy hoạch nguyên hỗn hợp (Mixed Integer Programming –bài toán quy hoạch số nguyên trong

đó chỉ có tập xác định của một số biến là tập số nguyên) và solver nổi tiếng CPLEX

2.3.4 Nhóm các hướng tiếp cận metaheuristics dựa trên tìm

lặp trước làm lời giải hiện tại, thuật giải sẽ duyệt trong miền không gian láng giềng

của lời giải hiện tại để chọn ra lời giải thay thế cho lời giải hiện tại ở bước lặp kế sau

Mỗi lời giải trong không gian láng giềng của lời giải hiện tại được gọi là một láng

giềng của lời giải hiện tại Sự tác động lên lời giải hiện tại để biến nó thành một lời

giải láng giềng của nó gọi là một bước chuyển(move) Trong các local search, hai vấn

đề quan trọng nhất cần quan tâm là tính tăng cường (intensification) và tính đa dạng (diversification) của quá trình tìm kiếm, tính tăng cường là khả năng tập trung tìm kiếm sâu ở những vùng không gian mà ta dự đoán là sẽ chứa lời giải tối ưu, tính đa dạng là khả năng tìm đến những vùng không gian lời giải mới nhằm thoát ra khỏi các vùng chứa điểm tối ưu cục bộ Các local search khác nhau sẽ đưa ra các chiến lược khác nhau để đảm bảo sự tồn tại và cân bằng giữa hai yếu tố này

Các thuật giải thuộc nhóm này mà đã được áp dụng cho bài toán xếp thời khóa biểu gồm có: thuật giải Tabu Search, thuật giải tôi luyện thép (Simulated Annealing)

Trang 39

và các phiên bản deterministics, thuật giải Đại hồng thuỷ (Great Deluge), thuật giải Variable Neighborhood Search, thuật giải Iterated Local Search, thuật giải Walk Down Jump Up, thuật giải Monkey Search

2.3.4.1 Thuật giải Tabu Search

Thuật giải Tabu Search (gọi tắt là TS) được Fred Glover đề nghị vào năm 1989[47], từ đó đến nay, thuật giải đã được bổ sung thêm rất nhiều biến thể, với rất nhiều chiến lược hiệu quả khác được bổ sung vào nhằm nâng cao khả năng tìm kiếm của thuật giải, các bổ sung này đã được khảo sát và trình bày khá chi tiết trong tài liệu [48]

Ý tưởng chính của thuật giải TS như sau: bắt nguồn từ một lời giải ban đầu, thuật giải TS sẽ thực hiện lặp đi lặp lại việc tìm kiếm trong miền không gian tìm kiếm của bài toán nhằm mục đích tìm ra lời giải tối ưu Tại mỗi bước lặp, để tránh việc duyệt trở lại những lời giải đã từng được duyệt, thuật giải TS sử dụng một danh sách để lưu trữ một số bước chuyển đã từng được sử dụng, gọi là danh sách Tabu Danh sách này

sẽ chứa những bước chuyển đã được thực hiện trong một số bước lặp gần đây, các bước chuyển nằm trong danh sách Tabu được gọi là các bước chuyển Tabu Các bước chuyển này sẽ bị cấm sử dụng lại trong chừng nào nó còn nằm trong danh sách Tabu Một bước chuyển Tabu sẽ tồn tại trong danh sách Tabu trong một khoảng thời gian n bước lặp, sau đó, bước chuyển này sẽ được loại ra khỏi danh sách Tabu và trở về trạng thái bình thường (không bị cấm nữa), số n này được gọi là giá trị Tabu tenure của bước chuyển, giá trị n này có thể cố định cho tất cả các bước chuyển hoặc là một

số được chọn ngẫu nhiên cho từng bước chuyển Tuy nhiên, đôi khi một số bước chuyển dù bị cấm (bước chuyển Tabu) nhưng nó lại có khả năng cải tiến chất lượng của lời giải tốt nhất hiện nay, do đó, để tránh bỏ sót các bước chuyển tốt này, Tabu Search đưa ra một khái niệm nữa, đó là khái niệm tiêu chuẩn mong đợi (aspiration criteria), cách áp dụng của tiêu chuẩn này như sau: nếu một bước chuyển Tabu bất kì thỏa được tiêu chuẩn mong đợi thì nó sẽ được loại ra khỏi danh sách Tabu ngay lập tức, cho dù giá trị Tabu tenure đi kèm có là bao nhiêu đi chăng nữa Tiêu chuẩn mong đợi thường được dùng nhất là: nếu bước chuyển Tabu nào có thể làm cho lời giải hiện

Trang 40

tại trở nên tốt hơn cả lời giải tốt nhất hiện nay thì bước chuyển Tabu đó sẽ được loại

ra khỏi danh sách Tabu ngay lập tức

Phần tiếp theo sẽ trình bày về những thiết kế thông dụng khi áp dụng thuật giải TS vào bài toán xếp thời khóa biểu:

Về mặt khởi tạo lời giải ban đầu, cách thông dụng nhất là sử dụng các kĩ thuật thuộc nhóm các heuristic trực tiếp và các heuristic cho bài toán tô màu đồ thị đã được trình bày ở phần 2.3.1 và 2.3.2[28][61][21][57][8], ngoài ra còn có phương pháp kết hợp giữa thuật giải tham lam và phương pháp ngẫu nhiên, người sử dụng có thể điều chỉnh sự tương quan giữa mức độ ngẫu nhiên và ―mức độ tham lam‖ trong thuật giải

để tạo nên một lời giải khởi tạo có chất lượng khá tốt Phương pháp này có tên là GRASP (Greedy Randomized Adaptive Search Procedure) [84]

Về phương pháp chọn tập láng giềng, có nhiều cách khác nhau để chọn tập láng giềng trong quá trình xét duyệt, tùy thuộc vào tính chất và mục tiêu của bài toán, chẳng hạn như: tùy thuộc vào kích thước của miền láng giềng, vào chiến lược chọn phép chuyển của thuật giải Trong hướng tiếp cận của mình, tác giả D Costa [28] xét toàn bộ các phần tử thỏa tất cả ràng buộc cứng trong tập láng giềng và chọn phần tử tốt nhất Tuy nhiên, cách chọn trên đôi khi không hiệu quả khi kích thước miền láng giềng quá lớn Chẳng hạn như trong bài báo của O.R Doria và các đồng sự ở trường đại học Napier, Scotland [92], tác giả thực hiện thử nghiệm Tabu Search trên các bộ

dữ liệu thật của cuộc thi Xếp lịch Quốc tế ITC2007 với hai loại phép chuyển khác nhau (được đề cập ở phần sau) Nhóm tác giả chọn cả hai tập láng giềng thu được từ hai loại phép chuyển: phép chuyển đơn và phép hoán chuyển cùng một lúc, do đó, không gian láng giềng khá lớn Khi đó, tại mỗi bước lặp, không phải tất cả các phần

tử láng giềng đều được chọn, mà mỗi phần tử sẽ được chọn với xác suất cố định là 0.1, từ đó lấy ra phần tử tốt nhất trong số các phần tử được chọn để thực hiện cho bước lặp kế sau Hoặc thay vì duyệt miền láng giềng và chọn ngay phép chuyển tốt nhất H Arntzen [61] đề ra một cách làm khác như sau: nếu phép chuyển tốt nhất trong miền láng giềng có thể cải thiện được chất lượng lời giải tốt nhất hiện tại thì phép chuyển này sẽ được chọn, nếu không, phép chuyển này sẽ được chọn với xác

Ngày đăng: 28/02/2016, 21:13

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[6] Abdullah S., and Turabieh H., "Generating University Course Timetable Using Genetic Algorithms and Local Search", Third International Conference on Convergence and Hybrid Information Technology, Volume 1, pp. 254-260, 2008 Sách, tạp chí
Tiêu đề: Generating University Course Timetable Using Genetic Algorithms and Local Search
[8] Alexandre DUBOURG, Benoit LAURENT, Emmanuel LONG, Benoit SALOTTI (2003). "Algorithm description", International Timetabling Competition 2002-2003 Sách, tạp chí
Tiêu đề: Algorithm description
Tác giả: Alexandre DUBOURG, Benoit LAURENT, Emmanuel LONG, Benoit SALOTTI
Năm: 2003
[10] McCollum B., Schaerf A., Paechter B., McMullan P., Lewis R., Parkes A., Gaspero L. D., Qu R., and Burke E. (2010) Setting the research agenda in automated timetabling: The second international timetabling competition.INFORMS Journal on Computing, 22(1):120-130 Sách, tạp chí
Tiêu đề: INFORMS Journal on Computing
[17] Lara C., Flores J., Calderon F. (2008), ―Solving a School Timetabling Problem Using a Bee Algorithm‖, Proceedings of the 7th Mexican International Conference on ArtIficial Intelligence: Advances in ArtIficial Intelligence, pp.664 – 674, Springer-Verlag Berlin Sách, tạp chí
Tiêu đề: Proceedings of the 7th Mexican International Conference on ArtIficial Intelligence: Advances in ArtIficial Intelligence
Tác giả: Lara C., Flores J., Calderon F
Năm: 2008
[18] Gotlieb C.C. (1963), “The construction of class-teacher timetables”. In C. M. Popplewell, IFIP congress, 62:73--77. North-Holland Sách, tạp chí
Tiêu đề: “The construction of class-teacher timetables”
Tác giả: Gotlieb C.C
Năm: 1963
[27] Corne D., Ross P., and H. Fang, "Evolving Timetables," in The Practical Handbookof Genetic Algorithms, vol. 1, L. C. Chambers, Ed.: CRC Press, 1995, pp. 219-276 Sách, tạp chí
Tiêu đề: Evolving Timetables
[37] Burke E.K. and Landa S.J.D., "The Design of Memetic Algorithms for Scheduling and Timetabling Problems," in Recent Advances in Memetic Algorithms, Studies in Fuzziness and Soft Computing. vol. 166, H. W.Krasnogor N., Smith J., Ed.: Springer, pp. 289--312, 2004 Sách, tạp chí
Tiêu đề: The Design of Memetic Algorithms for Scheduling and Timetabling Problems
[52] White G. and Chan W., "Towards the Construction of Optimal Examination Schedules," INFOR, vol. 17, pp. 219-229, 1979 Sách, tạp chí
Tiêu đề: Towards the Construction of Optimal Examination Schedules
[57] Gustavo Toro, Victor Parada (2003), "The algorithm to solve the competition problem", International Timetabling Competition 2002-2003 Sách, tạp chí
Tiêu đề: The algorithm to solve the competition problem
Tác giả: Gustavo Toro, Victor Parada
Năm: 2003
[69] Jean-Francois Cordeau, Brigitte Jaumard, Rodrigo Morales (2003). "Efficient Timetabling Solution with Tabu Search", International Timetabling Competition 2002-2003 Sách, tạp chí
Tiêu đề: Efficient Timetabling Solution with Tabu Search
Tác giả: Jean-Francois Cordeau, Brigitte Jaumard, Rodrigo Morales
Năm: 2003
[73] Kennedy J., Eberhart R. (1995), Particle Swarm Optimization, IEEE International Conference on Neural Networks, Perth, Australia, pp. 1942-1948 [74] Kirkpatrick S., Gelatt C.D., Vecchi M.P. (1983), Optimization by SimulatedAnnealing, Science, vol 220 (4598), pp. 671-680 Sách, tạp chí
Tiêu đề: Science
Tác giả: Kennedy J., Eberhart R. (1995), Particle Swarm Optimization, IEEE International Conference on Neural Networks, Perth, Australia, pp. 1942-1948 [74] Kirkpatrick S., Gelatt C.D., Vecchi M.P
Năm: 1983
[75] Lewis R., "A survey of metaheuristic-based techniques for university timetabling problems," OR Spectrum, v30, pp. 167-190, 2008 Sách, tạp chí
Tiêu đề: A survey of metaheuristic-based techniques for university timetabling problems
[77] Luca Di Gaspero and Andrea Schaerf (2003). "Timetabling Competition TTComp 2002: Solver Description", International Timetabling Competition 2002-2003 Sách, tạp chí
Tiêu đề: Timetabling Competition TTComp 2002: Solver Description
Tác giả: Luca Di Gaspero and Andrea Schaerf
Năm: 2003
[82] Dorigo M. et Gambardella L.M., Ant Colony System: A Cooperative Learning Approach to the Traveling Salesman Problem, IEEE Transactions on Evolutionary Computation, volume 1, numéro 1, pages 53-66, 1997 Sách, tạp chí
Tiêu đề: Ant Colony System: A Cooperative Learning Approach to the Traveling Salesman Problem
[92] Olivia Rossi-Doria1, Michael Sampels, Mauro Birattari, Marco Chiarandini, Marco Dorigo, Luca M. Gambardella, Joshua Knowles, Max Manfrin, Monaldo Mastrolilli, Ben Paechter, Luis Paquete, Thomas Stutzle (2003). "A comparison of the performance of different metaheuristics on the timetabling problem", Metaheuristic Network, pp 17-18 Sách, tạp chí
Tiêu đề: A comparison of the performance of different metaheuristics on the timetabling problem
Tác giả: Olivia Rossi-Doria1, Michael Sampels, Mauro Birattari, Marco Chiarandini, Marco Dorigo, Luca M. Gambardella, Joshua Knowles, Max Manfrin, Monaldo Mastrolilli, Ben Paechter, Luis Paquete, Thomas Stutzle
Năm: 2003
[103] 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 Sách, tạp chí
Tiêu đề: Design and implementation of a course scheduling system using Tabu Search
Tác giả: Ramon Alvarez-Valdes, Enric Crespo, Jose M. Tamarit
Năm: 2002
[107] Socha K., Sampels M., and Manfrin M., "Ant algorithms for the university course timetabling problem with regard to the state-of-the-art," in G. R. Raidl el at (eds.), Applications of Evolutionary Computing: Proceedings of Evo Workshops 2003, vol. 2611 of Lecture Notes in Computer Science, pp. 334-345 Sách, tạp chí
Tiêu đề: Ant algorithms for the university course timetabling problem with regard to the state-of-the-art
[108] Stutzle T. et Hoos H.H., MAX MIN Ant System, Future Generation Computer Systems, volume 16, pages 889-914, 2000 Sách, tạp chí
Tiêu đề: MAX MIN Ant System
[1] Mucherino A. and Seref O., Monkey Search (2007) A Novel Meta-Heuristic Search for Global Optimization, Data Mining, System Analysis and Optimization in Biomedicine, AIP Conference Proceedings 953, Seref O, Kundakcioglu O.E., Pardalos P.M. (Eds.), 162--173 Khác
[2] Kahng A.B., Tsao C.W., Old Bachelor Acceptance - A New Class of Non- Monotone Threshold Accepting Methods, Computer Science Department Technical Report, University of California, Los Angeles, CA, 1992, pp 1 – 22 Khác

HÌNH ẢNH LIÊN QUAN

Hình 3.4. Giá trị vi phạm lời giải hiện tại thuật giải Tabu Search - 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
Hình 3.4. Giá trị vi phạm lời giải hiện tại thuật giải Tabu Search (Trang 86)
Bảng 3.3.Bảng tham số thực nghiệm cho thuật giải Simulated Annealing - 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ảng 3.3. Bảng tham số thực nghiệm cho thuật giải Simulated Annealing (Trang 88)
Hình 3.7. Kết quả tốt nhất thuật giải Simulated Annealing - 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
Hình 3.7. Kết quả tốt nhất thuật giải Simulated Annealing (Trang 89)
Hình 3.9. Giá trị vi phạm lời giải hiện tại thuật giải Simulated Annealing - 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
Hình 3.9. Giá trị vi phạm lời giải hiện tại thuật giải Simulated Annealing (Trang 90)
Hình 3.16. Mã giả thuật giải Di Truyền  3.4.2  Kết quả chạy thực nghiệm thuật giải Di Truyền - 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
Hình 3.16. Mã giả thuật giải Di Truyền 3.4.2 Kết quả chạy thực nghiệm thuật giải Di Truyền (Trang 100)
Hình 3.20. Giá trị vi phạm lời giải tốt nhất thuật giải Di Truyền - 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
Hình 3.20. Giá trị vi phạm lời giải tốt nhất thuật giải Di Truyền (Trang 103)
Hình 3.22. Kết quả tốt nhất thuật giải Memetic - 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
Hình 3.22. Kết quả tốt nhất thuật giải Memetic (Trang 106)
Hình 3.25. Giá trị vi phạm lời giải tốt nhất thuật giải Memetic - 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
Hình 3.25. Giá trị vi phạm lời giải tốt nhất thuật giải Memetic (Trang 108)
Hình 3.27. Mã giả thuật giải tạo lời giải Harmony mới  3.6.2  Kết quả chạy thực nghiệm thuật giải Harmony Search - 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
Hình 3.27. Mã giả thuật giải tạo lời giải Harmony mới 3.6.2 Kết quả chạy thực nghiệm thuật giải Harmony Search (Trang 110)
Hình 3.30. Giá trị vi phạm lời giải hiện tại thuật giải Harmony Search - 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
Hình 3.30. Giá trị vi phạm lời giải hiện tại thuật giải Harmony Search (Trang 113)
Hình 3.36. Giá trị vi phạm lời giải tốt nhất thuật giải PSO - 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
Hình 3.36. Giá trị vi phạm lời giải tốt nhất thuật giải PSO (Trang 120)
Hình 4.2. Kết quả tốt nhất thuật giải GA kết hợp TS - 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
Hình 4.2. Kết quả tốt nhất thuật giải GA kết hợp TS (Trang 134)
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 - 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
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 (Trang 135)
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 - 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
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 (Trang 138)
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 - 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
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 (Trang 142)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w