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

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

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

- 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. Nguyễn Văn Vỵ
MSV: 0122197
Email:
Nguyễn Văn Tuân
MSV:0122216
Email:mailto:
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 và đượ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 và 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 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 thử
nghiệm và 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 Heuristics là phương
pháp giải quyết vấn đề bằng cách đánh
giá kinh nghiệm và tìm giải pháp qua
thử nghiệm và 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 và 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 và 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 và 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 và 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, và là
nhiều nhất để giảm tổng số ngày phải
dạy của giảng viên, và 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 và kết quả
Chúng tôi đã cài đặt và 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, và 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 và thời gian chạy
phụ thuộc chủ yếu vào số các ràng buộc
và 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
và 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.


×