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

26 902 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 26
Dung lượng 601,39 KB

Nội dung

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

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

Chuyên ngành: Khoa học máy tính

Mã số chuyên ngành: 62 48 01 01

TÓM TẮT LUẬN ÁN TIẾN SĨ CÔNG NGHỆ THÔNG TIN

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

Trang 2

Luận án được hoàn thành tại:

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

Người hướng dẫn khoa học: PGS.TS TRẦN THỊ HUỆ NƯƠNG

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

Luận án sẽ được bảo vệ trước Hội đồng đánh giá luận án cấp……… …… họp tại………

Vào hồi……… giờ ………ngày… ….tháng năm

Có thể tìm hiểu luận án tại:

……….

… ………

Trang 3

MỞ ĐẦU

Luận án 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ế

Phương pháp tiếp cận theo hướng metaheuristic là phương pháp đượ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 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

- Đề xuất một mô hình Toán học (unified framework) để có thể đánh giá các thuật toán một cách 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

- Phân tích, đánh giá các thuật toán như TabuSearch (TS), Simulated Annealing (SA), thuật giải Variable Neighborhood Search (VNS), thuật giải Genetic Algorithm (GA), thuật giải Memetic Algorithm (MA), thuật giải Particle Swarm Optimization (PSO), thuật giải Harmony Search (HS) và thuật giải Bees Algorithm (Bees) 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

Trang 4

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

- Đề 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 TS, 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, MA 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, HS-Bees, GA-SA, 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ật một thuật giải Luận án được tổ chức thành 6 chương, trong đó chương 1 giới thiệu về bài toán, chương 2 giới thiệu về mô hình toán học để làm cơ sở cho việc đánh giá các thuật toán theo hướng tiếp cận metaheuristic và giới thiệu các phương pháp tiếp cận chính của bài toán thời khóa biểu, chương 3 giới thiệu về các phương pháp tiếp cận đơn lời giải và quần thể; các phân tích, cải tiến các thuật toán trên cho bài toán cụ thể xếp thời khóa biểu môn học ở VN, chương

4 các phương pháp kết hợp, 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 kết luận và hướng phát triển

Trang 5

CHƯƠNG 1: GIỚI THIỆU BÀI TOÁN

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áo 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áo 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

Bài toán thời khóa biểu có thể phân 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)

- Bài toán xếp lịch thi (examination timetabling)

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 Mô hình hóa bài toán

2.1.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

Trang 6

- 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áo viên tham gia giảng dạy

- 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áo viên:

{

với

- Ma trận cho biết thời gian dạy mong muốn của giáo viên: { với

- Ma trận cho biết giờ rảnh của lớp học:

{

với

- Tập : tập các phòng học

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

{

với

- Tập : tập các nhóm phòng học

Trang 7

- Tập : tập các phòng học theo nhóm phòng học

- Tập : tập các phân công cần xếp lịch

- : giáo 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

- 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áo 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

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

2.1.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 , nếu ngƣợc lại

Trang 8

- Các biến bổ trợ (auxiliary variables): , , với , trong đó:

+ nếu BlockElement có diễn ra vào tiết tại phòng , nếu ngƣợc lại

+ nếu giáo viên tham gia giảng dạy BlockElement vào tiết tại phòng , nếu ngƣợc lại

+ nếu lớp học tham gia học BlockElement vào tiết tại phòng , nếu ngƣợc lại

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

- 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

- Ràng buộc đụng độ phòng học: Một phòng học chỉ đƣợc gán cho nhiều nhất một BlockElement tại một thời điểm

Trang 9

- Ràng buộc thời gian rảnh của giáo viên, lớp học, phòng học: Các giáo 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

Giáo viên:

Lớp học:

Phòng học:

- 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

, - ( )

- 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 ∑ ∑

Trang 10

2.1.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

- Ràng buộc di chuyển của giáo viên giữa các nhóm phòng học: Cần hạn chế việc một giáo 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 11

- Ràng buộc tổng số tiết dạy tối đa của giáo viên: Hạn chế trường hợp một giáo 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:

∑ ( ∑ ∑ ∑

)

- Ràng buộc thời gian dạy mong muốn của giáo viên: Hạn chế trường hợp các giáo 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:

∑ ∑ ∑ ∑( ( ))

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

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

)

- Ràng buộc độ nén lịch dạy của giáo 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áo 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:

Trang 12

∑ ∑

Trong đó, { ∑ ∑ ∑

- 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 đó, { ∑ ∑ ∑

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

( ) ( )

2.2 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 đó:

Trang 13

+ : 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.3 Nhóm các hướng tiếp cận metaheuristics dựa trên tìm kiếm cục bộ

Bắt nguồn từ một lời giải ban đầu (lời giải này gọi là lời giải khởi tạo, có thể được tạo thành từ nhiều phương pháp khác nhau, chẳng hạn như ngẫu nhiên, Greedy, GRASP), các thuật giải metaheuristic dựa trên tìm kiếm cục

bộ 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 của mình, thuật giải sẽ tìm kiếm và chỉ lựa ra một lời giải duy nhất để làm cơ sở cho bước lặp tiếp theo, đây chính là điểm khác biệt cơ bản nhất giữa nhóm thuật giải Local Search so với nhóm các thuật giải dựa trên quần thể, ở nhóm các thuật giải dựa trên quần thể, sau mỗi bước lặp, kết quả thu được là cả một tập các lời giải, trong khi nhóm Local Search chỉ chọn một lời giải duy nhất Tại mỗi bước lặp, thuật giải sẽ lấy lời giải duy nhất thu được từ bước 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à

Trang 14

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) 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.4 Mô tả về bộ dữ liệu dùng để đánh giá các thuật toán

Trong phần này, chúng tôi sẽ trình bày 14 bộ dữ liệu thực tế của khoa Công Nghệ Thông Tin, Đại Học Khoa Học Tự Nhiên, TP HCM Các bộ dữ liệu đƣợc lấy từ niên khóa 2003-2004 đến 2009-2010 Để phân tích một cách tổng quát độ phức tạp của các bộ dữ liệu này, chúng tôi đề xuất 14 độ đo nhƣ sau:

Độ đo 01: A là số phân công

Độ đo 02: T là số giáo viên

Trang 15

Độ đo 09: CoCr là số cặp phân công không đƣợc xếp chung tiết do thuộc

cùng nhóm học phần – lớp học

Độ đo 10: Co là số cặp phân công không đƣợc xếp chung tiết do thuộc một

trong 3 nhóm độ đo trên (độ đo 07, đo đo 08, độ đo 09) Tức là các cặp phân công không đƣợc xếp chung tiết do cùng giáo viên hoặc lớp học hoặc nhóm học phần - lớp học

Độ đo 11: AvT là trung bình tỉ lệ % giờ rảnh của giáo viên Đƣợc tính bằng

công thức

Với: PpD = 12 là tổng số tiết học trong 1 ngày, D = 6 là số ngày trong 1 tuần

Độ đo 12: AvC là trung bình tỉ lệ % giờ rảnh của lớp học Đƣợc tính bằng

công thức

Với: PpD = 12 là tổng số tiết học trong 1 ngày, D = 6 là số ngày trong 1 tuần

Độ đo 13: AvR là trung bình tỉ lệ % giờ rảnh của phòng học Đƣợc tính bằng

công thức

Với: PpD = 12 là tổng số tiết học trong 1 ngày, D = 6 là số ngày trong 1 tuần

Độ đo 14: AvA là trung bình tỉ lệ % giờ rảnh của phân công Đƣợc tính bằng

công thức

CHƯƠNG 3: CÁC PHƯƠNG PHÁP TIẾP CẬN ĐƠN LỜI GIẢI VÀ QUẦN THỂ

Ngày đăng: 07/11/2014, 20:04

HÌNH ẢNH LIÊN QUAN

Bảng 3.1 Bảng tham số thực nghiệm cho thuật giải 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
Bảng 3.1 Bảng tham số thực nghiệm cho thuật giải SA (Trang 17)
Hình 3.1 Kết quả tốt nhất thuật giải 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 3.1 Kết quả tốt nhất thuật giải SA (Trang 18)
Bảng 4.1 Bảng tham số thực nghiệm cho thuật giải Bees-VNS - 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 4.1 Bảng tham số thực nghiệm cho thuật giải Bees-VNS (Trang 21)
Hình 4.1 Kết quả tốt nhất thuật giải Bees kết hợp VNS - 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.1 Kết quả tốt nhất thuật giải Bees kết hợp VNS (Trang 22)
Bảng 4.2 Bảng kết quả thực nghiệm cho thuật giải Bees-VNS - 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 4.2 Bảng kết quả thực nghiệm cho thuật giải Bees-VNS (Trang 22)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w