041_Xây dựng thời khóa biểu bằng cách kết hợp phương pháp Heuristics và tương tác người máy

2 937 7
041_Xây dựng thời khóa biểu bằng cách kết hợp phương pháp Heuristics và tương tác người máy

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

Thông tin tài liệu

- 42 - XÂY DỰNG THỜI KHOÁ BIỂU BẰNG CÁCH KẾT HỢP PHƯƠNG PHÁP HEURISTICS TƯƠNG TÁC NGƯỜI MÁY Nguyễn Việt Hùng Người hướng dẫn: PGS.TS. Nguyễn Văn Vỵ MSV: 0122197 Email: viet_hung234@yahoo.com Nguyễn Văn Tuân MSV:0122216 Email:mailto:blazeofglory_vn@yahoo.com 1. Giới thiệu Lập thời khoá biểu là bài toán có ứng dụng thực tế cao được nhiều người quan tâm trong vận trù học. Tuy vậy, nó thuộc loại bài toán NP-khó với nhiều loại ràng buộc phức tạp, nên khó giải bằng các thuật toán truyền thống. Đến nay, các thuật toán mô phỏng tự nhiên tỏ ra là phương pháp hữu hiệu hơn cả nhưng vẫn bị hạn chế vì thời gian chạy chương trình khá lâu không linh hoạt khi ta thay đổi các ràng buộc. Để giải quyết bài toán, chúng tôi đề xuất một cách giải quyết bài toán này bằng cách kết hợp phương pháp Heuristics tương tác người máy. Theo cách tiếp cận này, thời khoá biểu sẽ được xây dựng theo cách đánh giá kinh nghiệm tìm giải pháp qua thử nghiệm rút tỉa khuyết điểm kết hợp với phương pháp gắp thả. 2. Cơ sở lý thuyết Phương pháp Heuristicsphương pháp giải quyết vấn đề bằng cách đánh giá kinh nghiệm tìm giải pháp qua thử nghiệm rút tỉa khuyết điểm. Phương pháp này có một ưu điểm là thời gian chạy rất nhanh.Tuy nhiên nó có một nhược điểm là không khám phá được hết không gian trạng thái. Phương pháp gắp thả là phương pháp được users thực hiện bằng trực quan để giải quyết các tổ hợp ràng buộc mà khó giải được bằng thuật toán. Đây là một phương pháp tuy đơn giản nhưng có thể giải quyết được những ràng buộc rất khó có thể giải quyết được bằng thuật toán thông thường. 3. Giới thiệu bài toán lập thời khoá biểu các cách tiếp cận hiện nay 3.1. Các bài toán lập thời khoá biểu: Bài toán lập thời khoá biểu được chia làm 3 dạng chung được mô tả khác nhau: Bài toán lập thời khoá biểu cho trường ph ổ thông, bài toán lập thời khoá biểu cho trường đại học, bài toán xếp lịch thi. Trong luận văn này chỉ xét bài toán lập thời khoá biểu cho trường đại học ở Việt Nam mà cụ thể là trường Đại học Công Nghệ - Đại học Quốc Gia Hà Nội. 3.2. Các cách tiếp cận hiện nay Có rất nhiều thuật toán đươc đề xuất để giải gần đúng các bài toán NP- khó. Các thuật toán này tìm được lờ i giải gần tối ưu là một trong những xu thế phát triển hiện nay đối với các bài toán chưa thể tìm ra lời giải tối ưu thực sự trong đó các thuật toán mô phỏng theo tự nhiên như thuật toán luyện kim, thuật toán di truyền, thuật toán hệ kiến …Trong đó thuật toán di truyền thuật toán hệ kiến tỏ ra là phương pháp khá hiệu quả. 4.Phương pháp heuristics trong bài toán 4.1. Ý tưởng - 43 - Từ thực tế cho thấy, mỗi giảng viên trong một kì chỉ dạy một hoặc vài lớp, mỗi lớp chỉ giảng dạy một môn, cho nên tập nghiệm cho bài toán là rất lớn. Cho nên sử dụng phương pháp heuristics kết hợp với gắp thả sẽ tiết kiệm được rất nhiều thời gian sẽ cho kết quả chấp nhận đuợc. Nhưng sử dụng phương pháp heuristics như thế nào cho đạt hiệu quả cao là vấn đề chính cuả bài toán này. a. Việc ưu tiên xếp theo thứ tự của giảng viên, giảng viên nào phải dạy nhiều ca nhất thì sẽ được ưu tiên xếp trước. Việc ưu tiên này sẽ làm cho việc sắp xếp các ca học sau sẽ dễ dàng hơn vì chúng có thể tráo đổi được nhiều vị trí hơn. b. Với mỗi giảng viên, sẽ cố gắng sắp xếp sao cho các ca giảng dạy của giảng viên đó liền nhau trong một ngày, là nhiều nhất để giảm tổng số ngày phải dạy của giảng viên, giảm khoảng thời gian trống giữa 2 ca của giảng viên đó. c. sau khi xây dựng được thời khoá biểu, sẽ sử dụng thuật toán duyệt (càng nhiều bước càng tốt) để tối ưu thêm các ràng buộc: số ngày phải dạy của một giảng viên càng ít càng tốt, tổng số tiết trống giữa 2 ca trong một ngày là nhỏ nhất …. d. Trong mỗi bước, có thể kết hợp với kĩ thuật gắp thả để có được kết quả tốt hơn. Việc sử dụng những ý tưởng trên trông thì rất đơn giản, nhưng khi kết hợp với các ý tưởng nhỏ khác có thể giúp cho bài toán đạt được kết quả rất tốt. 4.2. Thử nghiệm kết quả Chúng tôi đã cài đặt chạy thử nghiệm trên cơ sở dữ liệu của 3 năm gần đây trong trường Đại Học Công Nghệ. Kết quả đạt được là khá khả quan. Trong tổng số lớp của trường Công Nghệ, số giảng viên, các môn học. Thời gian chạy của chương trình là < 1 giây, kết quả đạt được bước dầu là khá khả quan: tổng số tiết phải đợi trong một kì của tất cả các giảng viên ~ 4. 4.3. Đánh giá chung Chương trình đã chạy khá tốt với bài toán lập thời khoá biểu cho trường ĐH Công Nghệ. Chương trình có thể chạy tốt trong bài toán mà có tập nghiệm lớn. Ràng buộc càng ít thì kết quả sẽ càng khả quan. Khi ràng buộc nhiều, kết quả s ẽ không được tốt như một số các phương pháp khác. Bài toán này phụ thuộc nhiều vào các ràng buộc hơn là phụ thuộc vào kích cỡ của dữ liệu. 5.Kết luận Trong khoá luận này chúng tôi đã sử dụng phương pháp Heuristics để giải quyết bài toán lập thời khoá biểu với bộ dữ liệu của trường Đại học công nghệ. Kết quả đạt được là khá khả quan với các ràng buộc chính thời gian chạy phụ thuộc chủ yếu vào số các ràng buộc mục đích tối ưu của kết quả. Các hướng nghiên cứu tiếp theo của chương trình là làm sao cho chương trình có thể sắp xếp được thời khoá biểu thoả mãn được nhiều ràng buộc hơn, trong đó nhằm thoả mãn được các nhu cầu của giảng viên (các nhu cầu chung riêng). Tài liệu tham khảo [1] Đỗ Đức Đông, “ Thuật toán mô phỏng tự nhiên trong bài toán thời khoá biểu cho trường đại học ”, Khoá luận tốt nghiệp đại học hệ chính quy, ngành Công nghệ thông tin, 2004. . - 42 - XÂY DỰNG THỜI KHOÁ BIỂU BẰNG CÁCH KẾT HỢP PHƯƠNG PHÁP HEURISTICS VÀ TƯƠNG TÁC NGƯỜI MÁY Nguyễn Việt Hùng Người hướng dẫn: PGS.TS phương pháp Heuristics và tương tác người máy. Theo cách tiếp cận này, thời khoá biểu sẽ được xây dựng theo cách đánh giá kinh nghiệm và tìm giải pháp qua

Ngày đăng: 06/10/2013, 19:20

Từ khóa liên quan

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

Tài liệu liên quan