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 883 4
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

Đ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

ĐẠ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 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: ………………………………………………………………………. … …………………………………………………………………… 1 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 2 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. 3 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. 4 - 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. 5 - 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. 6 - 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 độ giáo viên: Một giáo viên không thể dạy nhiều hơn một BlockElement tại cùng một thời điểm.       - Ràng buộc đụng độ lớp học: Một lớp học không thể tham gia học nhiều hơn một BlockElement tại cùng một thời điểm.       - 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.       7 - 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ề 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 đó.       - 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.           - 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.        - 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.          8 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:                                 - Ràng buộc giờ lủng của giáo viên theo buổi: Hạn chế trƣờng hợp một giáo 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à:                      - Ràng buộc giờ lủng của giáo viên theo ngày: Hạn chế trƣờng hợp một giáo 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à:                      [...]... rộng đánh giá các thuật toán metaheuristic khác nhƣ thuật toán đom đóm (firefly algorithm), thuật toán monkey search, thuật toán League Championship, thuật toán cuckoo search, thuật toán gravitational search, thuật toán virus optimization, thuật toán bat, thuật toán galaxy-based search, thuật toán spiral optimization, thuật toán differential search Thu thập thêm dữ liệu ở các trƣờng đại học khác ở Việt... gồm 3 thuật toán đơn lời giải nhƣ, 5 thuật toán quần thể và 15 mô hình thuật toán kết hợp Nghiên cứu của luận án đã chỉ ra các thuật toán quần thể có lợi thế hơn so với các thuật toán đơn lời giải Nghiên cứu của luận án đã chỉ ra mô hình kết hợp Bees-VNS là tốt nhất đối với bộ dữ liệu của bài toán Kết quả thực nghiệm cho thấy sự vƣợt trội của phƣơng pháp kết hợp này so với các phƣơng pháp khác 21 6.2... đ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... 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ữ... tắt các đóng góp của luận án Luận án đề xuất một mô hình toán học để 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á Trong mô hình này đã mô hình hóa biểu diễn các ràng buộc cứng, ràng buộc mềm của bài toán xếp lịch và hàm mục tiêu nhằm đánh giá chất lƣợng lời giải Luận án đã phân tích, đánh giá và so sánh 23 thuật toán bao gồm 3 thuật toán. .. ∑ CHƯƠNG 3: CÁC PHƯƠNG PHÁP TIẾP CẬN ĐƠN LỜI GIẢI VÀ QUẦN THỂ 13 Luận án đã thực nghiệm 8 thuật giải theo phƣơng pháp tiếp cận đơn lời giải và quần thể, bao gồm: SA, VNS, TS, GA, MA, HS, Bees, PSO Trong đó thuật giải SA là có tính dễ thực hiện nhất 3.1 Mã giả thuật giải Simulated Annealing Thuật giải: Giải thuật Simulated Annealing Bƣớc 01: Khởi tạo lời giải ban đầu bằng cách sử dụng kỹ thuật Greedy... 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 ở... 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. .. PSO+SA, PSO+VNS, PSO+TS, Bees+PSO Trong đó phƣơng pháp kết hợp thuật giải Bees và thuật giải Variable Neighborhood Search cho kết quả tốt nhất 4.1 Mã giả thuật giải Bees và VNS Thuật giải: Kết hợp thuật giải Bees và thuật giải VNS Bƣớc 01: Khởi tạo quần thể ong ngẫu nhiên ban đầu có kích thƣớc n (mỗi cá thể ong là một lời giải của bài toán) Bƣớc 02: Đánh giá độ thích nghi của từng cá thể trong quần... các BlockElement này Số vi phạm của ràng buộc ) là số bộ ( này (kí hiệu: với ( ) trong lời giải hiện tạ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 đó: 10 + + : là lời giải . 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. 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. 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

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

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan