BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC LẠC HỒNG
NGUYỄN PHƯƠNG HỒNG
XÂY DỰNG CƠNG CỤ HỖ TRỢ TỰ ĐỘNG HỐ
LẬP LỊCH THI TẠI TRƯỜNG ĐẠI HỌC
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
ĐỒNG NAI, 2011
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC LẠC HỒNG
≈≈≈≈≈≈≈
NGUYỄN PHƯƠNG HỒNG
XÂY DỰNG CƠNG CỤ HỖ TRỢ TỰ ĐỘNG HỐ
LẬP LỊCH THI TẠI TRƯỜNG ĐẠI HỌC
CHUYÊN NGÀNH
: CÔNG NGHỆ THÔNG TIN
MÃ SỐ NGÀNH
: 60 48 05
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC:
TS. NGUYỄN ĐỨC THÁI
ĐỒNG NAI, 2011
-i-
Lời cam đoan
Tơi tên: Nguyễn Phư ơng Hồng;
Là học viên cao học ngành Cơng nghệ thơng tin Khóa I Trường Đại học
Lạc Hồng;
Thực hiện đề tài luận văn: “Xây dự ng cơng cụ hỗ trợ tự động hóa
lập lịch thi tại trư ờng đại học”;
Người hướng dẫn khoa học: TS. Nguyễn Đứ c Thái.
Tôi xin cam đoan đây là công trình nghiên cứu của tơi được hình thành và phát
triển từ quan điểm của chính cá nhân tơi, đã được người hướng dẫn khoa học
thông qua nội dung và đồng ý cho tơi nộp quyển tồn văn này cũng như cho phép
tôi được ra bảo vệ trước hội đồng khoa học trong đợt 6/11/2011 tại Trường Đại
học Lạc Hồng.
Đồng Nai, ngày 20 tháng 11 năm 2011
Học viên
Nguyễn Phư ơng Hoàng
Xác nhận của người hướng dẫn khoa học
TS. Nguyễn Đứ c Thái
- ii -
Đ
Lời cảm ơn
ầu tiên, tơi xin được cảm ơn TS. Nguyễn Đức Thái là người hướng dẫn
khoa học đã giúp tơi định hướng và hết lịng hỗ trợ tôi mọi mặt trong
thời gian thực hiện luận văn thạc sĩ này. Được làm việc và học tập bên cạnh Thầy
trong suốt quá trình làm luận văn là niềm vinh dự cũng như may mắn cho tơi
trong q trình sống, học tập và làm việc đến sau này.
Đồng thời, tôi cũng xin được cảm ơn tập thể Quý thầy cô Trường Đại học Lạc
Hồng nói chung, Khoa Cơng nghệ thơng tin nói riêng đã cho tơi cơ hội được học
tập dưới mái trường này. Đặc biệt, xin được cảm ơn Thầy Hiệu trưởng TS. Trần
Hành, Thầy Trưởng Khoa PGS.TS. Trần Văn Lăng cũng như Thầy Trưởng phòng
Đào tạo ThS. Lâm Thành Hiển và các đồng sự thuộc Trường Đại học Lạc Hồng đã
ln hỗ trợ tơi hết lịng trong việc thu thập dữ liệu, sẵn sàng góp ý giúp tơi nhanh
chóng nhận biết phải hồn thiện sản phẩm như thế nào. Q trình học tập tại
đây, tơi vừa được nhận kiến thức quý giá từ Quý thầy cô, vừa được tận mắt
chứng kiến Quý thầy cô – nhất là TS. Trần Hành – đã nỗ lực thế nào để xây dựng
và khai sinh trường. Là học viên của trường, dù chưa đủ khả năng để tham gia
việc xây dựng trường, song, tôi nguyện học tập nghiêm túc để làm gương cho các
khóa học sau.
K
ế đến, tơi ln mang ơn hai người mẹ và tất cả các thành viên trong gia
đình tơi – những người thương u, chăm sóc, khuyến khích, động viên
và cho tôi sức khỏe cũng như môi trường học tập và nghiên cứu.
V
à cuối cùng, tôi cũng không thể quên ơn ThS. Phan Mạnh Thường và ThS.
Lâm Bình – những thạc sĩ đi trước đã cho tôi những kinh nghiệm quý báu
cũng như hỗ trợ tôi về mọi mặt khi thực hiện luận văn.
Xin chân thành cảm ơn !
Đồng Nai, ngày 20 tháng 11 năm 2011
Học viên
Nguyễn P hương Hoàng
- iii -
Tóm tắt
Nội dung luận văn đề xuất một giải pháp kết hợp giữa logic mờ và giải thuật
di truyền để giải quyết bài toán lập lịch thi cho một trường đại học. Ứng dụng của
sản phẩm nghiên cứu là phần mềm demo LLThd có chức năng tự động lập lịch thi
cho một trường đại học, trong đó, lịch thi thỏa tối ưu về cơ sở vật chất, tối ưu về
sức lực và tối ưu về thời gian của một kì thi với bộ dữ liệu kiểm thử do Trường Đại
học Lạc Hồng cung cấp.
- iv -
Muïc luïc
Đề mục
U
Trang
U
U
LỜI CAM ĐOAN........................................................................................................ i
B
0
LỜI CẢM ƠN .............................................................................................................ii
B
1
TĨM TẮT ..................................................................................................................iii
B
2
MỤC LỤC ..................................................................................................................iv
B
3
DANH MỤC HÌNH .................................................................................................vii
B
4
DANH MỤC BẢNG .................................................................................................. x
B
5
Chương 1. GIỚI THIỆU ĐỀ TÀI
1.1 Dẫn nhập ..................................................................................................... 1
B
6
1.2 Bài toán lập lịch thi tại Trường Đại học Lạc Hồng (LHU) ..................... 2
B
7
1.2.1
Thực trạng ..................................................................................... 2
1.2.2
Nhu cầu .......................................................................................... 3
1.3 Khảo sát các cơng trình liên quan đến lập lịch thi .................................... 4
B
8
1.4 Mục tiêu thực hiện đề tài – Đề xuất giải pháp mới cho bài toán lập lịch
B
9
thi tại một trường đại học ........................................................................... 5
1.5 Tóm tắt nội dung nghiên cứu ..................................................................... 7
B
0
1
1.5.1
Ý tưởng thực hiện .......................................................................... 7
1.5.2
Xác định các kỹ thuật chính sẽ sử dụng ....................................... 9
1.6 Qui trình và phương pháp thực hiện........................................................ 11
B
1
1.7 Phạm vị thực hiện đề tài ...........................................................................11
B
2
1
1.8 Hướng phát triển ....................................................................................... 14
B
3
1
1.9 Sơ lược cấu trúc luận văn .........................................................................15
B
4
1
Chương 2. CƠ SỞ LÝ THUYẾT
2.1 Thuật giải di truyền hướng đến tối ưu lịch thi ........................................16
2.1.1
Một thuật giải di truyền đơn giản ..............................................17
2.1.2
Các toán tử của thuật giải di truyền ..........................................20
-v-
2.1.3
Lưu đồ xử lý giải thuật ................................................................ 28
2.2 Tính tốn mờ trong việc hình thành lịch thi và hỗ trợ giải thuật di truyền
tối ưu lịch thi ............................................................................................. 29
2.2.1
Khái niệm tập mờ ........................................................................30
2.2.2
Các phép toán trên tập mờ ......................................................... 32
2.2.3
Suy diễn mờ .................................................................................34
Chương 3. XÂY DỰNG CHƯƠNG TRÌNH
3.1 Phân tích và thiết kế cơ sở dữ liệu ........................................................... 37
3.1.1
Xác định thực thể.........................................................................37
3.1.2
Mơ hình thực thể kết hợp ............................................................ 37
3.1.3
Mơ hình quan hệ..........................................................................37
3.1.4
Mơ hình dữ liệu ...........................................................................39
3.1.5
Ý nghĩa ......................................................................................... 41
3.2 Các bước xử lý .......................................................................................... 45
3.3 Xây dựng quần thể....................................................................................47
3.3.1
Xây dựng vế trái ..........................................................................47
3.3.2
Xây dựng vế phải.........................................................................47
3.3.3
Ráp vế phải vào vế trái ............................................................... 48
3.3.4
Tính tốn mờ số thí sinh và sức chứa ........................................52
3.4 Lượng giá quần thể ...................................................................................57
3.4.1
Xây dựng chuẩn đánh giá quần thể ...........................................57
3.4.2
Kết quả đánh giá các cá thể trong quần thể.............................. 60
3.5 Chọn cá thể tốt .......................................................................................... 61
3.6 Thực hiện lai ............................................................................................. 62
3.7 Thực hiện đột biến ....................................................................................63
3.8 Tinh chỉnh lịch thi..................................................................................... 64
3.9 Tìm kiếm và điều động CBCT ................................................................ 64
Chương 4. KẾT QUẢ ĐẠT ĐƯỢC
4.1 Xây dựng được phiên bản đầu phần mềm demo LLTdh....................... 65
- vi -
4.2 Thực hiện một ví dụ lập lịch thi trên chương trình demo ...................... 71
4.3 Tinh chỉnh và bổ sung chương trình sau thời gian chạy thử nghiệm tại
phòng Đào tạo LHU .................................................................................76
Chương 5. ĐÁNH GIÁ KẾT QUẢ ĐẠT ĐƯỢC
5.1 Đánh giá ....................................................................................................77
5.2 Kết luận .....................................................................................................78
TÀI LIỆU THAM KHẢO
- vii -
Danh mục hình
Tên hình
U
U
Trang
U
Hình 1.1: Qui trình xây dựng lịch thi tại LHU ........................................................... 3
Hình 1.2: Tóm tắt qui trình và phương pháp thực hiện ...........................................12
Hình 2.1: Lưu đồ giải thuật........................................................................................ 28
Hình 2.2a: Đồ thị hàm tập rõ ..................................................................................... 30
Hình 2.2b: Đồ thị hàm tập ........................................................................................ 30
Hình 2.3: Hợp của 2 tập mờ ...................................................................................... 32
Hình 2.4: Giao của 2 tập mờ......................................................................................33
Hình 2.5: Phép bù của 2 tập mờ ................................................................................34
Hình 2.6: Hàm hình thang tính xác suất phịng được chọn .....................................36
Hình 3.1: Mơ hình thực thể kết hợp ..........................................................................38
Hình 3.2: Cấu trúc cơ sở dữ liệu của LLTdh ............................................................ 40
Hình 3.3: Hình thành vế trái ...................................................................................... 47
Hình 3.4: Hình thành vế phải..................................................................................... 48
Hình 3.5a: Vế trái sắp xếp theo Hình thức thi .......................................................... 50
Hình 3.5b: Vế trái sắp xếp theo Lớp Ngày (buổi) ....................................................50
Hình 3.5c: Vế trái sắp xếp theo Thời lượng thi ........................................................ 50
Hình 3.6a: Vế phải sắp xếp theo Loại phịng ........................................................... 50
Hình 3.6b: Vế phải sắp xếp theo Giờ (buổi)............................................................. 50
Hình 3.6c: Vế phải sắp xếp theo Giờ trống phịng ...................................................50
Hình 3.7: Hàm hình thang tính xác suất chọn phòng lý thuyết phù hợp với số thí
sinh ............................................................................................................52
Hình 3.8: Tỉ lệ ưu tiên chọn phịng lý thuyết cho 15 thí sinh ..................................53
Hình 3.9: Hàm hình thang tính tỉ lệ ưu tiên chọn phịng thực hành phù hợp với số
thí sinh .......................................................................................................54
Hình 3.10: Tỉ lệ ưu tiên chọn phịng thực hành cho 48 thí sinh .............................. 55
- viii -
Hình 3.11a: Hàm hình thang tính tỉ lệ ưu tiên chọn phịng lý thuyết để ghép nhóm
có số thí sinh nhỏ hơn 25 .........................................................................56
Hình 3.11b: Hàm hình thang tính tỉ lệ ưu tiên chọn phịng lý thuyết để ghép nhóm
có số thí sinh nhỏ hơn 5............................................................................57
Hình 3.12: Hàm hình thang tính tỉ lệ ưu tiên chọn phịng thực hành để ghép nhóm
có số thí sinh nhỏ hơn 50 .........................................................................57
Hình 3.13: Hai dịng chưa tối ưu về sức chứa và số thí sinh trên lịch thi đã chọn 64
Hình 3.14: Lịch thi sau bước tinh chỉnh ...................................................................64
Hình 4.1: Trang Xem lịch .......................................................................................... 65
Hình 4.2: Trang Lập lịch............................................................................................ 66
Hình 4.3: Trang Quản lý ............................................................................................ 67
Hình 4.4: Trang Tác giả ............................................................................................. 67
Hình 4.5: Trang Version ............................................................................................ 67
Hình 4.6: Trang Hướng dẫn sử dụng ........................................................................68
Hình 4.7: Trang xuất lịch thi ra file .XLS (trang con của trang Xem lịch).............68
Hình 4.8a: Trang chỉ định ngày, giờ và phòng thi cho một số trường hợp đặc biệt
(trang con của trang Lập lịch) ..................................................................69
Hình 4.8b: Trang chỉ định ngày, giờ và phòng thi cho một số trường hợp đặc biệt
(trang con của trang Lập lịch) ..................................................................69
Hình 4.9: Trang nhập dữ liệu bằng import file (trang con của trang Quản lý).......70
Hình 4.10: Nơi hiển thị vế trái, vế phải làm nguồn tạo quần thể ............................ 70
Hình 4.11: Nơi hiển thị quần thể ..............................................................................71
Hình 4.12: Nơi hiển thị kết quả lượng giá quần thể .................................................71
Hình 4.13: Vế trái, vế phải ......................................................................................... 72
Hình 4.14: Điền số cá thể cần tạo ..............................................................................72
Hình 4.15: 50 cá thể đã được tạo ...............................................................................73
Hình 4.16: Điền số cá thể sẽ chọn .............................................................................73
Hình 4.17: Lượng giá quần thể thế hệ ban đầu ........................................................ 73
Hình 4.18: Nhập số thế hệ muốn lai..........................................................................74
- ix -
Hình 4.19: Độ thích nghi của thế hệ thứ 81 .............................................................. 74
Hình 4.20: Tiến trình lai ghép gặp điều kiện dừng ..................................................75
Hình 4.21: Điều kiện thực hiện đột biến ...................................................................75
Hình 4.22: Kết thúc tiến trình lập lịch.......................................................................75
Hình 4.23: Lịch thi tốt nhất đã chọn làm lịch thi cuối cùng ....................................76
Hình 4.24: Kết quả lập lịch thi cho kì thi lần 1 sớm ................................................76
-x-
Danh mục bảng
Tên bảng
U
U
Trang
U
Bảng 1.1: Chú thích các kí hiệu trong hình 1.2 ........................................................ 13
B
0
Bảng 3.1: Kết quả tính độ thích nghi của quần thể ..................................................61
B
1
Bảng 3.2: Sắp xếp độ thích nghi của quần thể giảm dần .........................................62
B
2
Bảng 3.3: Thứ tự mới của các cá thể đã được chọn .................................................62
B
3
-1-
Chương 1
GIỚI THIỆU ĐỀ TÀI
1.1 Dẫn nhập
B
0
Lập lịch biểu là việc khơng thể thiếu ở bất kì tổ chức nào hoạt động trong xã
hội loài người. Từ ngàn xưa, con người đã thực hiện việc lập kế hoạch bằng cách
ghi chép bằng tay các kí hiệu hay số liệu, thơng tin trên vách đá, trên tre, trên vải
và trên giấy, … có thể gọi chung là trên sổ sách.
Ngày nay, cùng với tiến bộ xã hội, khoa học máy tính đã có những bước tiến
dài, đem lại sự tiện lợi và hiệu quả kinh tế cao trong rất nhiều lĩnh vực từ công
nghiệp cho đến đời sống. Việc lập lịch biểu bắt đầu có sự giúp sức của máy tính,
giúp ghi nhớ các số liệu lớn một cách dễ dàng và thuận lợi hơn so với ghi chép
bằng tay trên sổ sách, nhất là khi vận chuyển. Nhiều phần mềm máy tính có chức
năng hỗ trợ lập lịch như MS.Excel, MS.Project,… nhưng sự “thiếu thông minh”
của chúng vẫn làm cho con người phải tiêu tốn nhiều thời gian cũng như cơng sức
khi lập lịch. Nhu cầu máy tính thơng minh như con người trở thành bức thiết.
Các kỹ thuật mạnh mẽ của công nghệ tri thức đã sớm cho ra đời những cỗ
máy có trí thơng minh nhân tạo dạng hệ chuyên gia như máy chẩn đoán bệnh,
máy dự báo thời tiết, … hoặc dạng hệ tư vấn hỗ trợ con người ra quyết định trong
nhiều tình huống vơ cùng hữu ích. Từ đó, những kỹ thuật này cũng hỗ trợ việc lập
lịch biểu trên máy tính trở nên dễ dàng hơn.
Thông thường, tại một trường đại học, nhu cầu có một cơng cụ hỗ trợ tự
động lập lịch biểu hết sức cần thiết cho hai việc cụ thể: lập lịch giảng dạy (hay lịch
công tác) và lập lịch thi. Mặc dù bức thiết là thế, song, đến nay, hầu hết các
trường vẫn chưa tìm thấy một cơng cụ nào thực sự thỏa nhu cầu ngoại trừ một số
ít trường đã tự xây dựng công cụ lập lịch thi cho riêng mình. Tùy vào đặc thù và
nhu cầu của mỗi trường mà công cụ này được xây dựng bằng những kỹ thuật khác
nhau nhằm đạt kết quả càng gần với mong muốn càng tốt. Một số kỹ thuật thường
được dùng để giải quyết bài toán lập lịch thi như giải thuật di truyền, leo đồi,
-2-
luyện thép,…Thế nhưng, qua khảo sát cho thấy khi sử dụng riêng lẻ một trong các
kỹ thuật trên kết quả của bài tốn vẫn cịn nhiều hạn chế. Vì thế, con người vẫn
hướng đến một giải pháp sao cho kết quả bài toán lập lịch thi “tối ưu” hơn nữa.
1.2 Bài toán lập lịch thi tại Trường Đại học Lạc Hồng (LHU)
B
1
1.2.1 Thực trạng
Đặc thù tổ chức, cơ sở
-
Chương trình đào tạo từ niên chế đang chuyển dần sang tín chỉ.
-
Một năm học có hai học kì. Mỗi học kì có ít nhất từ 3 kì thi tập trung
cấp độ toàn trường trở lên: lần I, lần II và giữa kì,...
-
Mỗi kì thi có khoảng 120.000 lượt thí sinh tham gia thi khoảng 350
mơn khác nhau, trong đó, mỗi thí sinh có thể thi khoảng 7-8 mơn.
-
Có 5 cơ sở thi nằm cách nhau trong vòng 3 km, chứa tối đa khoảng 90
phịng thi có sức chứa khác nhau (25, 30, 50, 60, 80, 90, 120).
-
Một ngày có thể chỉ có tối đa 5 ca thi tương ứng theo các mốc thời gian
7h30, 9h30, 13h00, 15h00, 18h00.
-
Bình quân, cần khoảng 2 tháng để chuẩn bị và tổ chức một kì thi.
-
Mỗi khoa tự tìm mời cán bộ coi thi (CBCT).
Đặc thù kỹ thuật
-
Lịch thi của mỗi kì thi thường được xếp thủ cơng trên máy tính chỉ với
cơng cụ hỗ trợ là phần mềm MS.Excel.
-
Mỗi lịch thi có khoảng trên 5000 dịng và 14 thuộc tính cần sắp xếp.
-
Qui trình để có một lịch thi cho một kì thi được thực hiện như sau: các
Khoa tự xếp lịch thi cho các lớp thuộc Khoa rồi chuyển đến Phòng Đào
tạo. Phòng Đào tạo nhận và tổng hợp lịch thi từ các Khoa, điền phòng
thi lý thuyết và chỉ điều chỉnh lịch thi lý thuyết nếu có “xung đột” giờ
thi, chuyển phần lịch thi thực hành đến Phịng Điều hành mạng máy
tính để xếp phòng máy cụ thể vào lịch thi và điều chỉnh giờ thi phịng
máy nếu cần. Sau đó, lịch thi thực hành tại phòng máy được chuyển trả
-3-
về Phịng Đào tạo, từ đó, Phịng Đào tạo chuyển trả lịch về các Khoa và
chờ phản hồi. Trường hợp, Khoa nào cần điều chỉnh lịch thi thì gửi
phản hồi về Phịng Đào tạo, và qui trình tương tự trên được lặp lại cho
đến khi nào khơng cịn cần điều chỉnh. Thơng thường, qui trình này tiêu
phí khoảng gần một tháng, thậm chí, trong lúc diễn ra kì thi, lịch thi
cũng có thể tiếp tục được sửa đổi bổ sung. Có thể mơ tả qui trình trên
qua sơ đồ như hình 1.1.
Lịch thi chưa điền phịng thi
hoặc lịch thi cần hiệu chỉnh
Các
Khoa
Lịch thi chưa điền phòng thi thực hành
hoặc cần hiệu chỉnh phần thực hành
P. Đào
tạo
Lịch thi đã điền phòng thi
hoặc lịch thi đã hiệu chỉnh
P. Điều
hành
Lịch thi đã điền phịng thi thực hành
hoặc đã hiệu chỉnh phần thực hành
Hình 1.1: Qui trình xây dựng lịch thi tại LHU
-
Do lịch thi tại một trường đại học ln có độ phức tạp lớn bởi nhiều
ràng buộc nghiêm ngặt phải thỏa đồng thời mà một người lập lịch thi
bằng tay khó thể bao quát nổi, nên để tránh rắc rối, hiện tại, các bộ phận
liên quan đến lập lịch thi chọn cách “đơn giản hóa” các thơng tin trong
lịch thi như khơng quan tâm đến một sinh viên có mơn học lại có thể bị
thi hai mơn trùng giờ; khơng quan tâm đến rút ngắn số ngày của một kì
thi; khơng quan tâm đến sử dụng hết cơng suất phịng thi;...
Một số vấn đề chưa được khắc phục
-
Sử dụng chưa tối ưu số ca thi có thể có trong một ngày thi.
-
Sử dụng chưa tối ưu sức chứa của phòng thi.
-
Sử dụng chưa tối ưu nguồn nhân lực hiện có để làm CBCT.
-
Chưa giúp sinh viên học lại tránh được rủi ro có lịch thi hai mơn trùng
giờ.
Tóm lại, những tồn đọng này gây tổn phí quá lớn cho một trường đại học.
1.2.2 Nhu cầu
LHU cần có một cơng cụ hỗ trợ tự động lập lịch thi, ngồi tính năng “tối
ưu” (chỉ mức độ “chấp nhận được”) về số thí sinh/phịng thi, số phòng thi/ca thi,
-4-
số ca thi/ngày thi, số ngày thi/kì thi, tránh được lịch thi trùng giờ giữa hai môn của
cùng một sinh viên có mơn học lại, các nhóm của một lớp thi các phòng phải
thuộc cùng cơ sở, các lớp thuộc cùng khoa nếu thi cùng cơ sở thì phải thi trong các
phòng trên cùng tầng lầu hoặc những tầng lầu kế tiếp nhau, …và lịch thi phải thỏa
nhiều ràng buộc khác.
Ngồi ra, riêng đối với lịch thi cuối kì lần 1, cho phép chỉ định loại bỏ một
số lớp cụ thể ra khỏi lịch thi hoặc cho phép chỉ định phịng cụ thể cho một số lớp
hoặc mơn thi trong những trường hợp đặt biệt; riêng đối với lịch thi lần 1 sớm và
lịch thi giữa kì, cho phép chỉ định ngày, giờ thi và phòng thi cụ thể cho những lớp
tham gia thi trong kì thi đó; riêng lịch thi lần 2, cho phép ghép nhiều lớp, nhiều
môn, nhiều khoa thi cùng một phịng.
1.3 Khảo sát các cơng trình liên quan đến lập lịch thi
B
2
Trước tiên, chúng tôi thực hiện khảo sát các công cụ hỗ trợ lập lịch thi hiện
có trong và ngồi nước với mong muốn tìm thấy cơng cụ nào đó sẵn có có thể đáp
ứng trọn vẹn các nhu cầu này. Qua Internet, chúng tôi dễ dàng tìm được nhiều
cơng trình liên quan đến lập lịch thi đã được nhiều nhóm hay cơng ty thực hiện
trong những năm gần đây.
Nước ngồi có các cơng trình như [9], [10] với các ưu và nhược điểm sau:
-
Có quan tâm đến tối ưu về phịng thi, có giải quyết vấn đề xung đột về
thời gian và xung đột về phịng thi.
-
Khơng có giới hạn thời gian thi trong mỗi kỳ thi.
Hoặc
-
Có giải quyết vấn đề thời gian trong mỗi đợt thi; Có giới hạn xung đột
về thời gian thi của sinh viên.
-
Khơng có đề cập tới vấn đề xung đột về phịng thi.
Trong nước có các cơng trình như [1], [2], [5] với các ưu và nhược điểm sau:
-
Xây dựng lịch thi trên học chế tín chỉ; Có giới hạn khoảng thời gian thi
cho mỗi đợt thi.
-5-
-
Chưa chú ý đến vấn đề có một số phịng đang được sử dụng cho công
việc khác trong thời gian mùa thi diễn ra, cũng như chưa quan tâm đến
sức chứa mỗi phòng thi là khác nhau; Chưa đề cập đến hình thức của
mơn thi.
Hoặc
-
Có quan tâm đến tối ưu về phịng thi, có giải quyết vấn đề xung đột về
thời gian thi của sinh viên và xung đột về sử dụng phịng thi.
-
Chưa đề cập đến hình thức của môn thi; Không quan tâm đến việc điều
động, sắp xếp CBCT cho ca thi.
Hoặc phần mềm Quản lý đào tạo - EduManager, được cơng ty phần
mềm Hồng Hà thực hiện, 2007 thì
-
Xây dựng kế hoạch thi cho các lớp niên chế và học chế tín chỉ.
-
Khơng có đề cập đến hình thức thi; Chưa quan tâm đến việc sắp xếp
CBCT; Khơng có đề cập đến tính đặc thù của mơn thi.
Tóm lại
B
9
Các đề tài trên giải quyết bài tốn lập lịch thi khá thành công với một
trong các kỹ thuật di truyền, leo đồi hoặc luyện thép. Các tác giả chú ý đến
các yếu tố tối ưu về phòng thi, có ràng buộc về thời gian thi và về số lượng
sinh viên mà chưa quan tâm về các vấn đề cũng không kém phần quan trọng
khác như tối ưu về lực lượng coi thi, tối ưu số ca thi/ngày thi, từ đó dẫn đến
chưa tối ưu số ngày thi/kì thi, chưa quan tâm đến việc điều động CBCT,…
cho thấy, sản phẩm các cơng trình này chưa thể đáp ứng nhu cầu cho LHU
cũng như những trường đại học khác có nhu cầu tương tự.
1.4 Mục tiêu thực hiện đề tài – Đề xuất giải pháp mới cho bài toán lập lịch
B
3
thi tại một trường đại học
Xây dựng mới một công cụ hỗ trợ tự động hóa lập lịch thi cho một trường
đại học, sử dụng bộ dữ liệu thử nghiệm của LHU. Sản phẩm là một chương
trình chạy trên máy tính có tính năng thơng minh tự động rút trích cơ sở dữ liệu để
-6-
điền thành lịch thi hoàn chỉnh, thỏa các ràng buộc quan trọng, có các ưu điểm cụ
thể sau:
-
Lập lịch thi cuối kì lần 1 thỏa các điều kiện rành buộc như các mục được liệt
kê bên dưới. Có mở rộng lập lịch thi cho kì thi lần 1 sớm và kì thi giữa kì
với một số điều kiện ràng buộc khác với lịch thi cuối kì lần 1.
-
Mơn thi có hình thức thi là viết trên giấy hoặc vấn đáp trực tiếp thì sẽ được
xếp vào phịng thi lý thuyết; mơn thi có hình thức thi là làm bài trên máy tính
hoặc vấn đáp thơng qua máy tính thì sẽ được xếp vào phịng thi thực hành
(phịng máy tính).
-
Lớp học ban ngày thì xếp giờ thi ban ngày, lớp học ban đêm thì xếp giờ thi
ban đêm. Ngày Chủ nhật có thể dùng cho lớp ngày hoặc lớp đêm. Đối với kì
thi lần 1 sớm và giữa kì, cho phép chỉ định ngày giờ thi và phòng thi cụ thể.
-
Lắp đầy các ca thi có thời lượng thi thích hợp vào những giờ phịng cịn
trống, khơng để trống phịng vơ nghĩa dù chỉ là khoảng thời gian ngắn ngủi.
-
Linh động tìm phịng có sức chứa phù hợp nhất với số thí sinh. Cần chừa chỗ
trống dự phịng trong phịng máy để đổi chỗ cho thí sinh nếu máy có sự cố
trong giờ thi.
-
Xác định được đặc thù của phòng máy nào thỏa đặc thù cho môn thi nào.
-
Các ca thi có thời lượng thi tương ứng được phân bổ trong một buổi sao cho
có thể có nhiều ca thi nhất nhằm tăng số ca thi trên một ngày nhiều hơn 5 ca
so với hiện nay.
-
Xếp lịch thi cho quản lý đào tạo theo niên chế, phải đảm bảo một thí sinh có
lịch thi hai mơn cách nhau ít nhất là 2 ngày, nếu thí sinh là sinh viên có mơn
học lại có lịch thi hai mơn khơng trùng giờ.
-
Cần xếp lịch thi sao cho thời lượng thi bằng nhau giữa các phòng thi trong
cùng một ca thi để dễ dàng phân bổ CBCT.
-7-
1.5 Tóm tắt nội dung nghiên cứu
B
4
1.5.1 Ý tưởng thực hiện
Ở mục 1.4, chúng tơi đã trình bày mục tiêu thực hiện đề tài. Trong phần này
trình bày một số ví dụ để thấy rõ hơn ý tưởng thực hiện các mục tiêu trên.
-
Phân loại phịng và mơn thi lý thuyết với phịng và mơn thi thực hành xếp
mơn thi tương ứng vào phịng tương ứng.
Ví dụ 1.1:
Mơn Anh Văn có bốn kỹ năng Nghe-Nói-Đọc-Viết, mỗi kỹ năng là
một mơn thi riêng biệt. Kỹ năng Nói thường được thi vấn đáp tại phịng lý
thuyết, ba mơn cịn lại thì thường được thi trắc nghiệm trên máy tính. Như
vậy, mơn Nói thì cần xếp vào phịng thi lý thuyết, ba mơn cịn lại thì cần
được xếp vào phịng thi thực hành.
-
Phân loại những lớp học thuộc buổi nào (lớp ban ngày/đêm) để xếp lớp vào
các ca thi có giờ tương ứng với buổi đó.
Ví dụ 1.2:
Nếu là lớp học ban ngày (buổi sáng hoặc chiều từ thứ Hai đến Chủ
Nhật) thì xếp lịch thi vào các khoảng thời gian 7h30-11h30 hoặc 13h0016h30 từ thứ Hai đến Chủ Nhật. Nếu là lớp học ban đêm (buổi tối từ thứ Hai
đến thứ Bảy và Sáng Chiều Chủ Nhật) thì xếp lịch thi vào các khoảng thời
gian 17h30-20h30 từ thứ hai đến thứ Bảy hoặc từ 7h30-11h30 hoặc 13h0016h30 Chủ Nhật.
-
Tận dụng thời gian rảnh của mỗi phòng để lắp đầy các ca thi thích hợp,
khơng để trống phịng lãng phí.
Ví dụ 1.3:
Giả sử, có phịng B202 bị sử dụng từ 7h30 đến 10h30 trong ngày
01/06/2011. Vẫn có thể xếp 1 ca thi vào phịng đó lúc 10h45 đến 11h30 với
điều kiện mơn thi có thời lượng dưới 45 phút. Như vậy, phịng B202 khơng
bị bỏ trống lãng phí trong khoảng thời gian rảnh khá ít ỏi đó.
-
Linh động chọn phịng thi phù hợp với số thí sinh.
-8-
Ví dụ 1.4:
Hệ thống các phịng chia ra theo các mức sức chứa 25, 30, 50, 60, 80,
90, 120. Giả sử, đặt điều kiện cứng như sau: 25 < số thí sinh ≤ 30 thì phải
chọn phịng có sức chứa 30. Lúc này, kết quả tìm phịng có thể sẽ là “false”
bởi xác suất hết phịng có sức chứa 30 là khơng nhỏ, và như thế, mặc dù vẫn
cịn nhiều phịng có sức chứa 50, 60,… thế nhưng số thí sinh nói trên vẫn
khơng thể được xếp vào phịng thi nào cả.
Cần mờ hóa khả năng chọn phịng như sau: ưu tiên chọn phịng có sức
chứa vừa khít với số thí sinh, nhưng nếu hết phịng loại này thì ưu tiên chọn
phịng có mức sức chứa lớn hơn kế tiếp, và cứ thế với mức độ ưu tiên giảm
dần. Lúc này, đảm bảo mọi trường hợp về số thí sinh đều có thể tìm được
phịng thi.
-
Gợi ý mời CBCT nào phù hợp cho ca thi mà xác suất bị từ chối là thấp.
Ví dụ 1.5:
Dựa trên lịch làm việc của cán bộ nhân viên trong Trường, dễ dàng
thống kê được giờ nào nhân viên nào có thể tham gia coi thi.
-
Lựa chọn phịng máy thỏa đặc thù mơn thi.
Ví dụ 1.6:
Môn Khai phá dữ liệu (Data Mining), thi trên máy và chạy trên hệ quản
trị cơ sở dữ liệu (QTCSDL) Oracle 11. Hiện tại trường có hơn 10 phịng
máy, nhưng trong đó chỉ có phịng 1, 2, 3, 4 có cài đặt Oracle 11. Do đó chỉ
có thể chọn phịng 1, 2, 3, 4 để thi môn Khai phá dữ liệu.
-
Đối với kì thi cuối kì lần 1 thì tất cả các lớp đã học những mơn gì trong học
kì đều phải tham gia thi tất cả các mơn đó, lúc này, chương trình sẽ hiểu và
xếp lịch thi tất cả các môn cho tất cả các lớp trong học kì đó. Đối với những
kì thi cuối kì lần 2, thi giữa kì và thi lần 1 sớm thì khơng phải tất cả các lớp
đều phải tham gia thi hết tất cả các mơn, vì thế, chương trình cũng cho phép
xếp lịch thi một cách có chọn lọc lớp và môn.
-9-
-
Mặc dù, lịch thi chủ yếu giải quyết cho quản lý đào tạo theo niên chế nhưng
có khả năng tránh được trường hợp một sinh viên học lại phải thi hai hoặc
nhiều mơn cùng giờ, điều này có nghĩa là chương trình cũng rất gần để sử
dụng cho lịch thi theo đào tạo tín chỉ.
1.5.2 Xác định các kỹ thuật chính sẽ sử dụng
Bài tốn lập lịch cũng như bài tốn xếp lịch nói chung thuộc lớp bài tốn NPComplete. Có rất nhiều cơng trình nghiên cứu về vấn đề này, trong đó một số giải
thuật như tơ màu đồ thị (Graph Coloring), leo đồi (Hill-climbing), luyện thép
(Simulate Annealing), di truyền (Genetic Algorithms)… là những thuật toán được
sử dụng phổ biến nhất. Thế nhưng, một số các đánh giá được nêu ra trong [3] cho
thấy hai thuật toán leo đồi và luyện thép có nhiều nhược điểm, chỉ cung cấp các
giá trị tối ưu cục bộ và những giá trị này phụ thuộc nhiều vào điểm khởi đầu, mà
xác suất thành cơng thấp khi khơng gian tìm kiếm khổng lồ.
Gần đây, một số cơng trình giải quyết bài tốn lập lịch có sử dụng các kỹ
thuật tơ màu đồ thị nhưng cũng chưa thực sự hiệu quả, thuật toán “vét cạn” thì chỉ
thích hợp cho bộ dữ liệu đầu vào nhỏ, sẽ rất tốn thời gian và tốn tài nguyên hệ
thống nếu bộ dữ liệu lớn và phức tạp hơn; thuật tốn “tham lam” (Greedy) có thể
làm cho tất cả các đỉnh của đồ thị được tô với số màu ít nhất nhưng lại bỏ qua việc
kiểm tra đỉnh được tơ trong bước này có thuận lợi cho việc chọn đỉnh tiếp theo để
tô hay không, điều này cũng là một bất lợi của thuật toán này.
1.5.2.1 Giải thuật di truyền
Một kỹ thuật khác vốn rất phù hợp để giải quyết bài tốn có khơng gian lời
giải là q lớn như bài tốn lập lịch, đó là “giải thuật di truyền”. Cũng theo [3] thì
giải thuật di truyền được hình thành trên quan niệm “q trình tiến hóa tự nhiên là
q trình hồn hảo nhất, hợp lý nhất và tự nó mang tính tối ưu”, quan niệm này
được coi là tiên đề đúng (không chứng minh được). Cách thức hoạt động của thuật
giải di truyền là duy trì một quần thể các cá thể (là các lời giải) khác nhau cho bài
tốn, thúc đẩy sự thành hình và trao đổi thông tin giữa các lời giải này bằng cách
cho phép tự thực hiện phép lai/ghép hay phép đột biến giữa các cá thể để hình
- 10 -
thành lời giải mới. Quần thể trải qua q trình tiến hóa, mỗi thế hệ lại tái sinh các
lời giải tương đối tốt hoặc xấu hơn. Thuật giải cung cấp hàm mục tiêu giúp phân
biệt lời giải tốt/xấu, những lời giải tốt được giữ lại trong khi các lời giải “xấu” thì
chết đi khi thực hiện phép chọn.
Sự tương quan về một số tên gọi trong thuật toán di truyền và bài toán lập
lịch thi:
Quần thể
: tập các lịch thi
Cá thể, nhiễm sắc thể : một lịch thi
Đoạn gen
: một hay nhiều thuộc tính của một lịch thi
Một phép lai
: là một lần hoán đổi một đoạn gen giữa hai cá thể khác
nhau được chọn trong quần thể
Một phép đột biến : là một lần thay đổi giá trị của một đoạn gen thành giá trị
khác chưa từng xuất hiện trong tất cả các cá thể.
Một phép chọn
: là lấy hai hay nhiều cá thể có độ thích nghi tốt hơn
những cá thể khác và loại bỏ những cá thể còn lại.
Thuật giải di truyền thường được thực hiện qua nhiều thế hệ nên tốn nhiều
thời gian chạy nếu bộ dữ liệu là lớn. Bên cạnh đó, kết quả cuối cùng sau nhiều thế
hệ lai/đột biến lại phụ thuộc nhiều vào độ “tốt” của cá thể cha mẹ được chọn trước
khi lai/đột biến. Vì thế, để giảm thời gian chạy nhiều thế hệ và để thế hệ cuối cùng
có thể tốt hơn, cần có những cá thể cha mẹ “tốt” ngay từ khi hình thành quần thể.
Nếu chỉ sử dụng một giải thuật di truyền thì khơng đảm bảo được điều này.
1.5.2.2 Tính tốn mờ (Fuzzy Logic)
Một kỹ thuật không kém quan trọng so với giải thuật di truyền, được cân
nhắc và đưa vào sử dụng trong quá trình thực hiện nhằm hỗ trợ thuật giải di truyền
lập lịch thi đạt tối ưu. Đó là kỹ thuật “tính tốn mờ”.
Đầu tiên, tính tốn mờ giúp phát sinh những cá thể ban đầu của quần thể có
độ “tốt” hay “độ thích nghi” cao nhờ cơng thức hàm hình thang cho phép thực
hiện việc chọn phòng thi một cách linh động và hiệu quả.
- 11 -
Kế tiếp, mặc dù giải thuật di truyền cung cấp hàm mục tiêu để xác định độ
thích nghi cho từng cá thể nhưng với “tính tốn rõ” những giá trị điều kiện được
đưa ra trở nên quá cứng nhắt và làm hạn chế khả năng có thể tối ưu hơn. Những
nhược điểm này của giải thuật di truyền sẽ được khắc phục dễ dàng và hiệu quả
khi sử dụng kết hợp cùng với tính tốn mờ.
1.6 Qui trình và phương pháp thực hiện
B
5
Được chia làm 3 công đoạn chính, mỗi cơng đoạn sử dụng một hoặc nhiều
kỹ thuật khác nhau để kết quả là tối ưu nhất có thể:
-
Công đoạn 1: Phát sinh quần thể 50 cá thể ban đầu (mỗi cá thể là một lịch
thi có chi tiết sắp xếp khác nhau) có độ tốt cao nhờ tính tốn mờ trong q
trình chọn phịng thi phù hợp;
-
Cơng đoạn 2: Tối ưu hóa và tìm cá thể tối ưu nhất trong quần thể để làm lịch
thi bằng cách thực hiện lai/đột biến trên quần thể ban đầu qua 100 thế hệ
dùng giải thuật di truyền;
-
Công đoạn 3: Tinh chỉnh lịch thi bằng các kỹ thuật tinh chỉnh để có lịch thi
tốt nhất với các tiêu chí: sử dụng tối ưu về thời gian, cơ sở vật chất và nguồn
nhân lực của nhà trường.
Có thể tóm tắt qui trình và phương pháp thực hiện như sơ đồ trong hình 1.2.
Chú thích các kí hiệu trên hình 1.2 sẽ được trình bày trong bảng 1.1.
1.7 Phạm vị thực hiện đề tài
B
6
-
Luận văn tập trung trình bày việc lập lịch thi theo đào tạo niên khóa, có thể
giải quyết “xung đột” giờ thi hai mơn của cùng một sinh viên có môn học lại.
-
Sản phẩm giới thiệu (demo) của luận văn chỉ tập trung thực hiện lập lịch cho
kì thi cuối kì lần 1, có thể mở rộng cho kì thi giữa kì và kì thi lần 1 sớm.