1. Trang chủ
  2. » Luận Văn - Báo Cáo

XÂY DỰNG GIẢI PHÁP LẬP THỜI KHÓA BIỂU TẠI TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG TP.HCM

62 1K 8

Đ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 62
Dung lượng 820,47 KB

Nội dung

Điều chỉnh và phát hành PHẦN 2: BÀI TOÁN Bài toán xếp thời khóa biểu là quá trình xếp lịch cho các lớp môn học dựa trên nguồn tài nguyên hạn hẹp của trường thỏa mãn những ràng buộc đã đư

Trang 1

ĐỒ ÁN MÔN HỌC THUẬT TOÁN VÀ PHƯƠNG PHÁP

GIẢI QUYẾT VẤN ĐỀ

XÂY DỰNG GIẢI PHÁP LẬP THỜI KHÓA BIỂU TẠI TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG TP.HCM

GVHD : PGS TS Đỗ Văn Nhơn HVTH : Lê Thành Nguyên

MSHV : CH1301102

TP HCM, Tháng 09 năm 2014

Trang 2

MỤC LỤC i

DANH MỤC BẢNG ii

DANH MỤC HÌNH iii

PHẦN 1: MỞ ĐẦU 1

PHẦN 2: BÀI TOÁN 2

2.1 Đặc điểm và khó khăn khi giải bài toán 3

2.1.1 Ràng buộc cứng 3

2.1.2 Ràng buộc mềm 4

PHẦN 3: GIẢI PHÁP LẬP THỜI KHÓA BIỂU 6

3.1 Dữ liệu cho trước 6

3.2 Dữ liệu đầu vào 6

3.3 Dữ liệu kết quả 7

3.4 Giải thuật lập thời khóa biểu 7

3.4.1 Các định hướng 7

3.4.2 Giải thuật 8

3.4.3 Độ phức tạp giải thuật 9

PHẦN 4: THỰC NGHIỆM 11

4.1 Dữ liệu thực nghiệm 11

4.2 Giao diện chương trình 14

4.3 Đánh giá 18

4.3.1 Thời gian thực thi 18

4.3.2 Tính hiệu quả 18

4.3.3 Hạn chế 18

TÀI LIỆU THAM KHẢO 19

PHỤ LỤC 20

Trang 3

Bảng 1 Cấu trúc bảng semester 11

Bảng 2 Cấu trúc bảng dữ liệu department 11

Bảng 3 Cấu trúc bảng dữ liệu building 11

Bảng 4 Cấu trúc bảng dữ liệu room 12

Bảng 5 Cấu trúc bảng dữ liệu course 12

Bảng 6 Cấu trúc bảng dữ liệu lecturer 12

Bảng 7 Cấu trúc bảng dữ liệu clazz 13

Bảng 8 Cấu trúc bảng assignment 13

Bảng 9 Cấu trúng bảng meeting 13

Trang 4

Hình 1 Quy trình xếp TKB tại trường ĐH TNMT TP.HCM 2

Hình 2 Giao diện quản lý giảng đường 14

Hình 3 Giao diện quản lý lớp 15

Hình 4 Giao diện quản lý giảng viên 15

Hình 5 Giao diện quản lý môn học 16

Hình 6 Giao diện quản lý lịch bận giảng viên 16

Hình 7 Giao diện quản lý danh sách phân công giảng dạy 17

Hình 8 Giao diện quản lý thời khóa biểu 17

Trang 5

PHẦN 1: MỞ ĐẦU

Nước ta đang thực hiện công cuộc công nghiệp hóa hiện đại hóa nhằm thúc đẩy nền kinh tế phát triển mạnh mẽ Trong quá trình này, vai trò nền tảng của giáo dục, đặc biệt là giáo dục Đại học đã được xã hội ghi nhận và phát huy Từ đó, nhiệm vụ giáo dục

và cấu trúc quản lý của hệ thống đào tạo đại học đang đối mặt với một thử thách to lớn trước sự tăng trưởng theo cấp số nhân của số lượng sinh viên và yêu cầu ngày càng cao của xã hội

Để đáp ứng nhu cầu trên, hệ thống đào tạo theo tín chỉ đã ra đời và được hầu hết các trường đại học trong cả nước áp dụng Song song đó đã phát sinh hàng loạt những thách thức trước yêu cầu thay đổi cơ sở hạ tầng quản lý Trong đó, việc xếp thời khóa biểu và chương trình xếp thời khóa biểu môn học là một trong những yêu cầu không thể thiếu trong hệ thống đào tạo theo học chế tín chỉ.

Trường Đại học Tài nguyên và Môi trường TP Hồ Chí Minh không phải là ngoại

lệ, được nâng cấp từ trường Cao đẳng Tài nguyên và Môi trường TP Hồ Chí Minh với cơ

sở hạ tầng quản lý đào tạo áp dụng cho hệ niên chế Theo xu thế phát triển chung, trường

đã áp dụng hệ thống học chế tín chỉ, tuy nhiên, hệ thống phần mềm quản lý đào tạo chưa được nâng cấp kịp thời gây khó khăn nhất định trong công tác quản lý, đặc biệt là công tác lập và quản lý thời khóa biểu giảng dạy Với số lượng sinh viên ngày càng tăng gây sức ép lớn trong phân bổ nguồn tài nguyên và sẽ rất khó khăn nếu xếp lịch thủ công

Như chúng ta đã biết việc xếp thời khóa biểu theo phương pháp thủ công của con người phải tốn rất nhiều thời gian và công sức,… nhưng hiệu quả đem lại không cao Chính vì điều đó đã thu hút nhiều nhà khoa học, các chuyên gia đã nghiên cứu ứng dụng khoa học máy tính vào việc xếp thời khóa biểu cho các trường đại học, cao đẳng, phổ thông…và đã đạt được một kết quả thỏa mãn nhất định Tuy nhiên, mỗi trường có những đặc thù về quy trình công việc, cơ sở vật chất,…cần giải quyết khác nhau.

Từ những khó khăn trên, đề tài này đã được thực hiện từ tháng 12/2013 nhằm đưa

ra giải pháp lập thời khóa biểu tự động và phát triển ứng dụng lập thời khóa biểu học kỳ đáp ứng nhu cầu đào tạo cũng như tối ưu hóa việc sử dụng tài nguyên hạn hẹp hiện có của nhà trường.

Trang 6

B1 Phân công giảng dạy B2 Tổng hợp phân công giảng dạy

B3 Lập kế hoạch bố trí buổi B4 Xếp thời khóa biểu

B5 Lấy ý kiến GV B6 Điều chỉnh và phát hành

PHẦN 2: BÀI TOÁN

Bài toán xếp thời khóa biểu là quá trình xếp lịch cho các lớp môn học dựa trên nguồn tài nguyên hạn hẹp của trường thỏa mãn những ràng buộc đã đưa ra Tài nguyên

của trường ở đây có thể hiểu: phòng học, lớp học, giảng viên, ca học… Tại trường ĐH

Tài nguyên và Môi trường TP.HCM quy trình xếp thời khóa biểu được thực hiện như sơ

đồ ở Hình 1, được tiến hành qua các bước sau:

B1: Vào cuối mỗi học kỳ, Phòng Đào tạo sẽ thông báo đến các Khoa/Bộ môn chuyên ngành lập bảng phân công giảng dạy học kỳ tiếp theo dựa vào kế hoạch đào tạo

và chương trình khung của từng ngành đã được Hiệu trưởng phê duyệt, gửi về Phòng Đào tạo.

B2: Phòng Đào tạo tổng hợp bảng phân công giảng dạy nhận được.

B3: Dựa vào bảng phân công giảng dạy Phòng Đào tạo sẽ lập kế hoạch bố trí buổi học cho từng ngành/ chuyên ngành nhằm phân phối đều tài nguyên vào từng buổi.

B4: Phòng Đào tạo tiến hành xếp thời khóa biểu dựa trên bảng phân công giảng dạy và kế hoạch bố trí buổi.

B5: Phòng Đào tạo gửi thời khóa biểu đã lập về các khoa/ bộ môn lấy ý kiến giảng viên.

B6: Điều chỉnh lịch dạy theo yêu cầu giảng viên (nếu có thể) và phát hành thời khóa biểu chính thức.

Hình 1 Quy trình xếp TKB tại trường ĐH TNMT TP.HCM

Trang 7

Trong chuyên đề này sẽ tập trung giải quyết công việc tại bước 4, trong đó sẽ tìm giải pháp cho các vấn đề gặp phải trong quá trình xếp thời khóa biểu tự động, tối ưu hóa thời khóa biểu Bài toán xếp thời khóa biểu có thể xem là bài toán tối ưu hóa nhằm thỏa mãn các ràng buộc trong quá trình lập lịch

2.1 Đặc điểm và khó khăn khi giải bài toán

Trong việc xếp thời khóa biểu có thể chia thành hai loại ràng buộc: ràng buộc cứng và ràng buộc mềm Ràng buộc cứng là các ràng buộc phải được thỏa mãn Ràng buộc mềm, tuy có thể vi phạm, nhưng càng thỏa mãn nhiều ràng buộc mềm càng tốt.

Như đã biết việc xếp thời khóa biểu theo phương pháp thủ công của con người phải tốn rất nhiều thời gian và công sức,… nhưng hiệu quả đem lại không cao Vì vậy, nhiều nghiên cứu khoa học và thực tiễn đã tập trung nghiên cứu ứng dụng khoa học máy tính vào việc xếp thời khóa biểu cho các trường đại học, cao đẳng, phổ thông…và đã đạt được một kết quả nhất định Nhưng do mỗi trường có những đặc thù về quy trình công việc, cơ sở vật chất,…cần giải quyết khác nhau và hầu như không có ngoại lệ.

Do đó, để thực hiện được công việc này với kết quả khả thi, chúng ta phải dựa trên tập các ràng buộc cứng và ràng buộc mềm cũng như yêu cầu về quản lý của mỗi trường đại học Với tính đa dạng của bài toán lập thời khóa biểu, hiện nay, vẫn chưa có giải pháp

cụ thể, hiệu quả giải quyết vấn đề này Thuật giải đơn giản nhất có thể xây dựng dựa trên phép vét cạn với độ phức tính toán rất cao Do đó, đối với mỗi trường hợp cụ thể, chúng

ta phải nghiên cứu xây dựng giải pháp tối ưu nhất phù hợp với yêu cầu quản lý của từng đơn vị

Nội dung tiếp theo sẽ đề cập các ràng buộc trong quá trình xếp thời khóa biểu tại trường Đại học Tài nguyên và Môi trường TP.HCM.

Ràng buộc là những yêu cầu hay điều kiện phải xem xét và thỏa mãn trong quá trình xếp thời khóa biểu Trong nhiều nghiên cứu về lập lịch, các tác giả thường phân các ràng buộc thành hai loại: ràng buộc cứng và ràng buộc mềm.

2.1.1 Ràng buộc cứng

Ràng buộc cứng được định nghĩa là các yêu cầu, điều kiện trong quá trình xếp thời khóa biểu không được vi phạm Thời khóa biểu áp dụng tại trường Đại học Tài nguyên và Môi trường TP.HCM có một số ràng buộc cứng như sau:

Ràng buộc về thời gian:

Trang 8

 Thời gian dạy và học trong thời khóa biểu phải đảm bảo thời lượng của môn học được quy định trong chương trình đào tạo.

 Lịch dạy không được trùng với lịch bận giảng viên đã thông báo trước.

 Một giảng viên không được dạy quá n ca/ngày.

 Một sinh viên không được học quá m ca/ngày.

 Trong cùng một thời điểm không thể xảy ra một trong các trường hợp sau:

 Một phòng được bố trí cho hai môn học khác nhau.

 Một giảng viên được bố trí dạy ở hai phòng khác nhau.

 Một sinh viên được bố trí học ở hai phòng khác nhau.

Ràng buộc về không gian:

 Phòng học được bố trí phải đảm bảo đủ chỗ ngồi cho sinh viên trong lớp.

 Trong một ngày, không được bố trí một giảng viên dạy ở cả hai cơ sở khác nhau (Trường ĐH Tài nguyên và Môi trường có hai cơ sở đào tạo, trụ sở tại địa chỉ 236B Lê Văn Sỹ, Phường 1, Quận Tân Bình TP.HCM và cơ sở 2 tại ấp Long Đức 3, xã Tam Phước, TP Biên Hòa, Đồng Nai).

2.1.2 Ràng buộc mềm

Ràng buộc mềm được hiểu như là các yêu cầu, điều kiện hạn chế vi phạm trong quá trình lập thời khóa biểu Ràng buộc mềm cho thời khóa biểu tại trường Đại học Tài nguyên và Môi trường TP.HCM có thể được liệt kê như sau:

Ràng buộc về thời gian:

 Lịch dạy/học của một giảng viên/sinh viên phải liên lục trọn trong một buổi, không có ca trống xen giữa.

 Hạn chế bố trí những ca đơn trong nhiều ngày.

 Hai ca học của một một môn học dành cho một lớp không nên bố trí trong cùng một ngày.

 Lịch học của một sinh viên hạn chế những ngày học cả hai buổi.

 Nhằm tối ưu về thời gian rãnh của giảng viên cũng như sinh viên, nên bố trí lịch mới sao cho thời gian bận chung thay đổi ít nhất.

Ràng buộc về không gian:

 Hạn chế di chuyển xa khi giảng viên/sinh viên đổi ca.

 Hạn chế những ngày giảng viên dạy xen kẽ ở hai cơ sở.

 Phòng học phải được sử dụng với tần suất cao nhất và tối ưu sức chứa.

Trang 9

 Hạn chế bố trí phòng ở tầng cao cho giảng viên lớn tuổi.

Trang 10

PHẦN 3: GIẢI PHÁP LẬP THỜI KHÓA BIỂU 3.1 Dữ liệu cho trước

 Tập hợp học kỳ:

SM = {(id, startWeek, numberWeek, numberDay, numberSession)}.

 Tập hợp khu giảng đường:

CL = {(id, name, level, studentNum, year, dept) | dept  DP}.

 Tập các ràng buộc CT, trong đó ct có dạng hàm hoặc luật.

3.2 Dữ liệu đầu vào

Đầu vào của quá trình xếp thời khóa biểu là bảng phân công giảng dạy trong học

kỳ Sau khi nhập vào hệ thống sẽ được tập AM

AM = {(id, course, class, lecturer, semester) | course  CR  class  CL  lecturer

 LT  semester  SM}.

Từ tập AM, trải qua bước tiền xử lý tạo tập MT là các ca học chưa xếp lịch Quá trình này được thực hiện thủ công qua giao diện của chương trình Dựa vào kế hoạch phân chia buổi học cho từng ngành, người dùng sẽ chỉ định phân công nào diễn ra trước, phân công nào diễn ra sau và trong khoảng thời gian bao lâu Dựa vào khoảng thời gian

Trang 11

diễn ra và thời lượng của từng môn học, chương trình sẽ tạo ra số lượng ca phù hợp hoàn tất việc dạy và học và được tập MT.

MT = {(id, assignment, startWeek, numberWeek, day, session, room) | assignment

 AM  room = null  startWeek + numberWeek < assignment.semester.numberWeek }

Tập MT là tập đầu vào của quá trình xếp thời khóa biểu và |MT|  |AM|.

3.3 Dữ liệu kết quả

Khi quá trình xếp lịch hoàn tất ta sẽ nhận được thời khóa biểu đã được bố trí thời gian và phòng học đầy đủ.

MT = {(id, assignment, startWeek, numberWeek, day, session, room) | room 

RM  day < assignment.semester.numberDay  session < assignment.semester numberSession}

Tập MT được gọi là thời khóa biểu hợp lệ khi:

 mt  MT, mt đã được bố trí thời gian và phòng học sao cho:

Có duy nhất một ca được bố trí tại phòng được xếp cho mt trong khoảng thời gian ca mt diễn ra.

 Các giảng viên/lớp liên quan có duy nhất một ca trong khoảng thời gian ca

mt diễn ra.

3.4 Giải thuật lập thời khóa biểu

Đối với bài toán lập thời khóa biểu, giải pháp thông thường là xem xét tất cả các trường hợp có xảy ra của một ca học và thiết lập thời gian, phòng học cho chúng Quá trình này nhanh hay chậm phụ thuộc số lượng ràng buộc của bài toán Chính quá trình này dẫn đến độ phức tạp của giải thuật có dạng O(nk * numberDay * numberSession), trong đó, n = |MT| và k =|CT| Tuy nhiên, giải thuật vét cạn cho kết quả không tốt.

Tuy nhiên, nếu quá trình trên được thực hiện theo một định hướng tốt, kết quả đạt được có nhiều thay đổi đáng kể nâng cao chất lượng lời giải Do đó, chuyên đề này sẽ ứng dụng giải thuật heuristic xây dựng giải pháp xếp thời khóa biểu cho trường Đại học Tài nguyên và Môi trường

3.4.1 Các định hướng

Ưu tiên xếp lịch cho các ca có thời gian dài trước, thời gian ngắn sau.

Ưu tiên xếp lịch cho các ca bắt đầu sớm trước, muộn sau.

Trang 12

Ưu tiên xếp lịch cho các ca có giảng viên/ lớp có thời gian rãnh ít trước, nhiều sau.

Ưu tiên xếp lịch cho các ca có số lượng sinh viên lớn trước nhỏ sau.

Ưu tiên xếp lịch cho các ca có độ xung đột về giảng viên/lớp cao trước, thấp sau Chọn ca có xung đột về lớp/giảng viên với ca đã xếp lịch trước đó nếu hai ca này thuộc một buổi trong ngày.

Không chọn ca có giảng viên/lớp đang bận.

Không chọn ca có yêu cầu phòng đã được sử dụng hết.

Không chọn ca ở cơ sở này của giảng viên có ca được bố trí ở cơ sở khác.

Hạn chế chọn ca có giảng viên/lớp có thời gian dạy/học trong ngày vượt thời gian cho phép.

Ưu tiên chọn phòng có khoảng cách gần phòng của phân ca trước đó.

3.4.2 Giải thuật

function scheduling(MT)

1 Chọn tuần bắt đầu w nhỏ nhất trong tập MT.

//Duyệt tất cả các ngày trong tuần có thể xếp lịch

for (day = 0; day < numberDay; day ++){

//Duyệt tất cả các ca trong ngày

for (session = 0; session < numberSession; session ++){

2 M = {mt | mt  MT  tuần bắt đầu của mt = w}.

3 Tính độ xung đột giữa các phần tử trong M.

4 Tính độ ưu tiên cho các mt  M

5 Sắp xếp M độ ưu tiên tăng dần

while (vẫn con ca có độ ưu tiên > 0 or |M| > 0){

6 Chọn mt có độ ưu tiên cao nhất.

}

12 Chọn tuần bắt đầu w tiếp theo trong tập MT.

Trở về bước 2.

Trang 13

//Tính độ xung đột giảng viên, lớp

if (M[i].clazz == M[j].clazz){

conflictClazz[i][j] = true ; conflictClazz[j][i] = true ; }

} } }

}

//Tính độ ưu tiên cho mt

function computeScore(mt, day, session){

2 Tính độ ưu tiên cho từng phòng trong RM’.

3 Sắp xếp RM’ theo độ ưu tiên tăng dần.

4 Chọn phòng rm có độ ưu tiên cao nhất.

}

3.4.3 Độ phức tạp giải thuật

 Dòng 1, mỗi học kỳ được chia không quá 3 đợt học, do đó, độ phức tạp tính toán ở bước này là 3lg3 + 1 = lg33 + lg2 = lg54.

Trang 14

 Dòng 2, là phép duyệt và kiểm tra phần tử tập hợp có độ phức tạp tính toán: |MT|.

Giải thuật thực hiện 1 lần dòng 1, numberDay * numberSession lần các dòng 2, 3, 4, 5 và

|MT| lần các dòng 6, 7, 8, 9, 10, 11 Trong đó, numberDay = 5 và numberSession = 6 Suy ra: T = lg54 + 30 * (|MT| + |M|2 + |M||CT| + |M|lg|M|)

+ |MT| (2|RM| + 14 + 11lg|M|) = lg54 + 44|MT| + 30|M|2 + 30|M|(|CT| +lg|M|)

+ 2|MT||RM| + 11|MT|lg|M|

< |MT|2 + 44|MT|2 + 30|MT|2 + 30|MT|2 + 2|MT|2 + 11|MT|2 < 118|MT|2

Kết luận, độ phức tạp thời gian của thuật toán xếp thời khóa biểu áp dụng heuristic

có độ phức tạp O(n2) với n là kích thước tập ca học cần xếp lịch.

Trang 15

PHẦN 4: THỰC NGHIỆM 4.1 Dữ liệu thực nghiệm

Dữ liệu đầu vào cho phần mềm xếp thời khóa biểu là các bảng được lưu trữ trên tập tin định dạng Microsoft Excel, gồm các bảng phòng ban/Khoa/Bộ môn, giảng đường, phòng học, môn học, giảng viên, lớp và phân công giảng dạy Dữ liệu này được import vào hệ thống và được lưu trữ trong cơ sở dữ liệu

Cấu trúc các bảng trong cơ sở dữ liệu được mô tả chi tiết bên dưới.

Lưu trữ thông tin học kỳ đã lập thời khóa biểu

Tên trường Mô tả Kiểu dữ liệu Tự phát sinh

ID Khóa chính Số nguyên dương Yes

Year Năm bắt đầu học kỳ Số nguyên dương No

StartWeek Tuần bắt đầu học kỳ Số nguyên dương No

NumberWeek Số tuần học trong học kỳ Số nguyên dương No

NumberDay Số ngày học/tuần Số nguyên dương No

NumberSessio

n

Số ca học/ngày Số nguyên dương No

Bảng 1 Cấu trúc bảng semester

Lưu trữ thông tin phòng ban/Khoa/ Bộ môn

Tên trường Mô tả Kiểu dữ liệu Tự phát sinh

ID Trường khóa chính Số nguyên dương No

Name Tên phòng ban/ Khoa/ Bộ môn Chuỗi No

Bảng 2 Cấu trúc bảng dữ liệu department

Lưu trữ thông tin giảng đường

Tên trường Mô tả Kiểu dữ liệu Tự phát sinh

ID Trường khóa chính Số nguyên dương Yes

Name Tên giảng đường Chuỗi No

Bảng 3 Cấu trúc bảng dữ liệu building

Lưu trữ thông tin phòng học

Trang 16

Tên trường Mô tả Kiểu dữ liệu Tự phát sinh

ID Trường khóa chính Số nguyên dương Yes

Name Tên phòng học Chuỗi No

Capacity Sức chứa Số nguyên dương No

Type Loại phòng học LT/TH Boolean No

Building Mã giảng đường Số nguyên dương No

Floor Tầng cao Số nguyên dương No

DeptID Mã khoa quản lý phòng Số nguyên dương No

Bảng 4 Cấu trúc bảng dữ liệu room

Lưu trữ thông tin môn học

Tên trường Mô tả Kiểu dữ liệu Tự phát sinh

ID Khóa chính Chuỗi No

Name Tên môn học Chuỗi No

LT Số tín chỉ lý thuyết Số nguyên dương No

BT Số tín chỉ bài tập Số nguyên dương No

TH Số tín chỉ thực hành Số nguyên dương No

Level Hệ đào tạo Số nguyên dương No

DeptID Mã khoa quản lý môn học Số nguyên dương No

Bảng 5 Cấu trúc bảng dữ liệu course

Lưu trữ thông tin giảng viên

Tên trường Mô tả Kiểu dữ liệu Tự phát sinh

ID Khóa chính Chuỗi No

Name Họ tên giảng viên Chuỗi No

BirthYear Năm sinh Số nguyên dương No

Sex Giới tính Boolean No

DeptID Mã khoa quản lý giảng viên Số nguyên dương No

Bảng 6 Cấu trúc bảng dữ liệu lecturer

Lưu trữ thông tin lớp quản lý

Tên trường Mô tả Kiểu dữ liệu Tự phát sinh

ID Khóa chính Số nguyên dương Yes

Name Tên lớp Chuỗi No

StudentNu Sỉ số Số nguyên dương No

Trang 17

Year Năm nhập học Số nguyên dương No

Level Hệ đào tạo Số nguyên dương No

DeptID Khoa quản lý lớp Số nguyên dương No

Bảng 7 Cấu trúc bảng dữ liệu clazz

Lưu trữ thông tin bảng phân công giảng dạy

Tên trường Mô tả Kiểu dữ liệu Tự phát sinh

ID Khóa chính Số nguyên dương Yes

CourseId Mã môn học được phân công Số nguyên dương No

ClazzId Mã lớp được phân công Số nguyên dương No

StudentNu

m

Số sinh viên đăng ký Số nguyên dương No

LecturerID Mã GV được phân công Chuỗi No

SemesterID Mã học kỳ Số nguyên dương No

Bảng 8 Cấu trúc bảng assignment

Lưu trữ thông tin bảng ca học

Tên trường Mô tả Kiểu dữ liệu Tự phát sinh

ID Khóa chính Số nguyên dương Yes

AssignmentI

D Mã phân công giảng dạy Số nguyên dương No

StartWeek Tuần bắt đầu học Số nguyên dương No

Day Thứ trong tuần Số nguyên dương No

Session Ca trong ngày Chuỗi No

RoomID Mã phòng học Số nguyên dương No

Bảng 9 Cấu trúng bảng meeting

Do chương trình được sử dụng trong xếp và quản lý lịch giảng dạy của toàn trường Dữ liệu này được lưu trữ phục vụ công tác tra cứu khối lượng giảng dạy của giảng viên và các yêu cầu quản lý khác Do đó, dữ liệu liên tục tăng trong thời gian thực

sẽ ảnh hưởng tốc độ thực thi của toàn hệ thống và khó khăn trong bảo trì và cập nhật dữ liệu.

Trang 18

Nhằm cải thiện hiệu suất của chương trình, cơ sở dữ liệu được chia thành 2 phần: phần dữ liệu dùng chung cho các năm học (dữ liệu có trước) sẽ được lưu trữ trong

schema public gồm các bảng dữ liệu chứa thông tin của dữ liệu có trước được mô tả

trong phần 3 , phần dữ liệu phân công giảng dạy và thời khóa biểu sẽ được lưu trong các schema khác nhau – mỗi schema chứa dữ liệu xếp thời khóa biểu của một năm học.

4.2 Giao diện chương trình

Chương trình lập thời khóa biểu tại trường Đại học Tài nguyên và Môi trường TP HCM đã phát triển dựa trên ngôn ngữ lập trình Java, cơ sở dữ liệu được quản lý bởi hệ quản trị cơ sở dữ liệu mã nguồn mở PostgreSQL Chương trình đã cung cấp khá đầy đủ các chức năng quản lý dữ liệu và thời khóa biểu bao gồm các chức năng nhập liệu, xuất

dữ liệu, lọc và sắp xếp dữ liệu theo yêu cầu tác nghiệp của người dùng Ngoài ra, thời khóa biểu có thể được xuất theo nhiều mẫu gồm: thời khóa biểu toàn bộ, thời khóa biểu theo khoa/Bộ môn, thời khóa biểu theo lớp hay thời khóa biểu cá nhân dành cho giảng viên,…

Hình 2 Giao diện quản lý giảng đường

Trang 19

Hình 3 Giao diện quản lý lớp

Hình 4 Giao diện quản lý giảng viên

Trang 20

Hình 5 Giao diện quản lý môn học

Hình 6 Giao diện quản lý lịch bận giảng viên

Trang 21

Hình 7 Giao diện quản lý danh sách phân công giảng dạy

Hình 8 Giao diện quản lý thời khóa biểu

Trang 22

4.3 Đánh giá

Giải pháp xếp thời khóa biểu học kỳ tại trường Đại học Tài nguyên và Môi trường

TP HCM đã được sử dụng trong xếp lịch dạy và học từ học kỳ II năm học 2013 – 2014 ghi nhận được kết quả như sau:

4.3.1 Thời gian thực thi

Giải pháp này được phát triển từ giải thuật heuristic và không xây dựng giải pháp đối chứng do đó không thể kết luận giải pháp này hiệu quả hơn giải pháp khác về mặt thời gian.

Tuy nhiên, thời gian thực thi trung bình trong khoảng 01 giờ với một kết quả khả quan so với quá trình lập lịch thủ công là một ghi nhận đáng quan tâm.

Ngoài ra, hệ thống có thể đáp ứng các yêu cầu quản lý khác: cung cấp lịch bận phòng học, lớp quản lý, kê khai khối lượng giảng dạy,… đã giảm được khối lượng lớn công việc thủ công.

4.3.3 Hạn chế

Dữ liệu phục vụ quá trình xếp thời khóa biểu tương đối lớn, không thể nạp toàn bộ vào bộ nhớ máy tính Do đó, hầu hết các kiểm tra luật trong thời gian thực thi phải truy xuất vào cơ sở dữ liệu là nguyên nhân chính ảnh hưởng đến tốc độ chương trình.

Trong quá trình xếp thời khóa biểu, người dùng phải tính toán thủ công để lập kế hoạch phân buổi học cho từng ngành.

Thời khóa biểu lập được vẫn còn một lượng nhỏ ca học không thể xếp lịch, phần này phải được điều thủ công.

Trang 23

TÀI LIỆU THAM KHẢO

[1] Bài giảng Thuật toán và phương pháp giải quyết vấn đề – PGS TS Đỗ Văn Nhơn - Đại học Quốc Gia Thành Phố Hồ Chí Minh.

[2] Nguyễn Chí Trung, Nguyễn Thị Thu Thủy(2010), “Phân tích thiết kế thuật toán và đánh giá độ phức tạp giải thuật”, Đại học sư phạm Hà Nội.

Trang 24

PHỤ LỤC

Phụ lục 1 Danh sách phòng ban/ Khoa/ BM

MÃ KHOA/BM TÊN KHOA/BM MÃ KHOA/BM TÊN KHOA/BM

Phụ lục 2 Danh sách giảng viên xếp thời khóa biểu

Trang 25

MÃ GV HỌ TÊN NĂM SINH GIỚI KHOA/BM

Trang 26

MÃ GV HỌ TÊN NĂM SINH GIỚI KHOA/BM

Trang 27

MÃ GV HỌ TÊN NĂM SINH GIỚI KHOA/BM

Trang 28

MÃ GV HỌ TÊN NĂM SINH GIỚI KHOA/BM

Trang 29

Phụ lục 3 Danh sách phòng học xếp thời khóa biểu

TÊN PHÒNG

Trang 30

Phụ lục 4 Danh sách môn học xếp thời khóa biểu

Trang 31

MÃ MH TÊN MH L SỐ TC H Ệ KHOA/BM

T

B T

T H

Ngày đăng: 23/05/2015, 21:05

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w