ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA LÊ PHẠM TUẤN KIỆT ỨNG DỤNG CÁC GIẢI THUẬT TRONG ĐIỀU ĐỘ TIME TABLING ĐỂ XÂY DỰNG LỊCH BIỂU GIẢNG DẠY, ÁP DỤNG CHO TRƯỜNG
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
LÊ PHẠM TUẤN KIỆT
ỨNG DỤNG CÁC GIẢI THUẬT TRONG ĐIỀU ĐỘ TIME TABLING ĐỂ XÂY DỰNG LỊCH BIỂU GIẢNG DẠY, ÁP DỤNG CHO TRƯỜNG FPT POLYTECHNIC TP.HCM
Chuyên ngành: KỸ THUẬT CÔNG NGHIỆP
Mã số: 60520117
LUẬN VĂN THẠC SĨ
THÀNH PHỐ HỒ CHÍ MINH, THÁNG 06 NĂM 2014
Trang 2ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
LÊ PHẠM TUẤN KIỆT
ỨNG DỤNG CÁC GIẢI THUẬT TRONG ĐIỀU ĐỘ TIME
TABLING ĐỂ XÂY DỰNG LỊCH BIỂU GIẢNG DẠY, ÁP
DỤNG CHO TRƯỜNG FPT POLYTECHNIC TP.HCM
Chuyên ngành: KỸ THUẬT CÔNG NGHIỆP
Mã số: 60520117
LUẬN VĂN THẠC SĨ
THÀNH PHỐ HỒ CHÍ MINH, THÁNG 06 NĂM 2014
Trang 3CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI
TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐHQG - HCM
Cán bộ hướng dẫn khoa học :
(Ghi rõ họ, tên, học hàm, học vị và chữ ký) Cán bộ chấm nhận xét 1 :
(Ghi rõ họ, tên, học hàm, học vị và chữ ký) Cán bộ chấm nhận xét 2 :
(Ghi rõ họ, tên, học hàm, học vị và chữ ký) Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa - ĐHQG - HCM ngày tháng năm
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: (Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ) 1
2
3
4
5
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có)
CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA………
Trang 4
ĐẠI HỌC QUỐC GIA TP.HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc lập - Tự do - Hạnh phúc
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: LÊ PHẠM TUẤN KIỆT MSHV: 12270707
Ngày, tháng, năm sinh: 17/09/1975 Nơi sinh: Đà Nẵng Chuyên ngành: KỸ THUẬT CÔNG NGHIỆP Mã số: 60520117
I TÊN ĐỀ TÀI : ỨNG DỤNG CÁC GIẢI THUẬT TRONG ĐIỀU ĐỘ TIME
TABLING ĐỂ XÂY DỰNG LỊCH BIỂU GIẢNG DẠY, ÁP DỤNG CHO TRƯỜNG FPT POLYTECHNIC TP.HCM
II NHIỆM VỤ VÀ NỘI DUNG:
Nhiệm vụ: Xây dựng lịch biểu giảng dạy dùng giải thuật Local và Tabu
search ứng dụng cho trường FPT Polytechic Tp.HCM
Nội dung: Tìm hiểu về giải thuật Local và Tabu search Tìm hiểu về trường,
phòng đào tạo Xây dựng bài toán sắp lịch biểu cho trường dùng giải thuật trên, phân tích kết quả, kết luận
III NGÀY GIAO NHIỆM VỤ : 10 – 02 – 2014
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 20 – 06 – 2014
IV CÁN BỘ HƯỚNG DẪN: PGS.TS HỒ THANH PHONG
Trang 5PHẦN LÝ LỊCH TRÍCH NGANG
Họ và tên: Lê Phạm Tuấn Kiệt Giới tính: Nam
Ngày, tháng, năm sinh: 17/09/1975 Nơi sinh: Đà Nẵng
Địa chỉ liên lạc : 68/119 Trần Quang Khải, P.Tân Định, Q.1, Tp.HCM
QUÁ TRÌNH ĐÀO TẠO
- Từ năm 1993 đến 1997 : Học Đại Học Ngành Công Nghệ Thông Tin tại Trường
Đại Học Mở Bán Công TP.HCM
- Từ năm 2012 đến 2013 : Học Cao Học Ngành Kỹ Thuật Hệ Thống Công Nghiệp
thuộc Khoa Cơ Khí – Trường Đại Học Bách Khoa TP.HCM
Công Nghệ Thông Tin
10/2001 – 10/2009 Công Ty Chấn Nguyên, Công Ty
TNHH Tin Học Tân Thiên Vũ, Công Ty TNHH Tin Học Nguyễn Sương
IT Manager
11/2009 đến
07/2011
Công Ty cổ phần chứng khoán Thăng Long (TLS)
Trưởng phòng kỹ thuật
08/2012 đến nay Trường Đại học FPT Giảng viên CNTT
Trang 6LỜI CẢM ƠN
Lời đầu tiên, tôi xin chân thành cám ơn Thầy Hồ Thanh Phong đã tận tình hướng dẫn tôi thực hiện và hoàn thành luận văn này Tôi cũng xin cám ơn thầy Đỗ Ngọc Hiền, thầy Nguyễn Tuấn Anh, cô Lê Ngọc Quỳnh Lam và các thầy cô trong
Bộ môn Kỹ Thuật Hệ Thống Công Nghiệp đã tận tâm truyền đạt kiến thức, kinh
nghiệm trong suốt hơn quãng thời gian học cao học
Xin chân thành cám ơn bạn bè, đồng nghiệp phòng Đào Tạo trường FPT Polytechnic đã tạo điều kiện thuận lợi cho tôi trong quá trình thực hiện đề tài này
Và cuối cùng tôi xin chân thành cám ơn Ba Mẹ, gia đình và người thân đã động viên khuyến khích và là nguồn động lực vững chắc cho tôi vượt qua những khó khăn trong suốt quá trình học để cuối cùng hoàn thành luận văn này
Dù đã rất cố gắng để hoàn thành đề tài nhưng vẫn còn nhiều thiếu sót không thể tránh khỏi, tôi rất mong nhận được sự đóng góp ý kiến từ quý thầy, cô, bạn bè
và đồng nghiệp để phát triển đề tài ngày một tốt hơn
Trân trọng
Tp.HCM, Ngày 20 tháng 06 năm 2014
Lê Phạm Tuấn Kiệt
Trang 7TÓM TẮT LUẬN VĂN
Ngày nay, điều độ là hoạt động không thể thiếu trong mọi lĩnh vực sản xuất, kinh doanh, dịch vụ của các doanh nghiệp Trong đó, ngành giáo dục cũng không ngoại lệ, việc sắp xếp thời khoá biểu giảng dạy đã thật sự là vấn đề khó khăn đối với cán bộ công nhân viên phòng đào tạo của các trường đại học, cao đẳng cũng như bậc phổ thông
Nhiều thập niên gần đây đã có rất nhiều tài liệu nghiên cứu về các giải thuật trong điều độ lịch biểu (Time Tabling) giúp cho việc sắp xếp thời khoá biểu giảng dạy được tự động hoá, nhanh chóng và hiệu quả cao Trong luận văn này ta sẽ nghiên cứu giải bài toán điều độ lịch biểu giảng dạy dùng giải thuật Local Search và Tabu Search áp dụng cho trường cao đẳng FPT Polytechnic Thành Phố Hồ Chí Minh
Trang 8MỤC LỤC
Chương I: GIỚI THIỆU ĐỀ TÀI 1
1.1 ĐẶT VẤN ĐỀ 1
1.2 NỘI DUNG 3
1.3 MỤC TIÊU 4
1.4 GIỚI HẠN VÀ PHẠM VI ĐỀ TÀI 4
Chương II: CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN 5
2.1 ĐIỀU ĐỘ TIME TABLING 5
2.1.1 Giới thiệu kỹ thuật điều độ 5
2.1.2 Mô hình tổng quát của bài toán Time Tabling 5
2.1.3 Các giải thuật lập lịch biểu (Time tabling) 7
2.2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG THÔNG TIN 15
2.3 NGÔN NGỮ LẬP TRÌNH C# VÀ SQL SERVER 17
2.4 CÁC NGHIÊN CỨU LIÊN QUAN 19
Chương III: PHƯƠNG PHÁP LUẬN 21
3.1 PHƯƠNG PHÁP NGHIÊN CỨU 21
3.2 PHƯƠNG PHÁP LUẬN 22
3.2.1 Nghiên cứu về Time Tabling 23
3.2.2 Thu thập số liệu & phân tích tình trạng sắp lịch biểu giảng dạy 23
3.2.3 Phân tích và thiết kế hệ thống 23
3.2.4 Lựa chọn thuật giải điều độ và viết code cho ứng dụng 23
3.2.5 Triển khai ứng dụng và kiểm thử 24
3.2.6 Kết luận 24
Chương IV: XÂY DỰNG LỊCH BIỂU GIẢNG DẠY, ÁP DỤNG CHO TRƯỜNG FPT POLYTECHNIC TP.HCM 25
4.1 GIỚI THIỆU TRƯỜNG FPT POLYTECHNIC 25
4.2 THỰC TRẠNG SẮP XẾP LỊCH BIỂU TẠI TRƯỜNG FPT POLYTECHNIC TP.HCM 26
4.2.1 Phòng học 27
Trang 94.2.2 Ca học 28
4.2.3 Lớp học 28
4.2.4 Điều kiện và quy trình thực hiện sắp xếp lịch biểu 29
4.2.5 Số lượng giảng viên: 29
4.2.6 Thời gian thực hiện sắp xếp lịch biểu hiện tại: 29
4.3 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG XÂY DỰNG LỊCH BIỂU GIẢNG DẠY 30
4.3.1 Yêu cầu của bài toán 30
4.3.2 Quy trình sắp xếp lịch biểu 30
4.3.3 Thiết kế cơ sở dữ liệu và triển khai cao sở dữ liệu trên SQL Server 31
4.4 GIẢI QUYẾT BÀI TOÁN BẰNG KỸ THUẬT ĐIỀU ĐỘ 32
4.4.1 Định nghĩa bài toán: 33
4.4.2 Định nghĩa các ràng buộc 35
4.4.3 Giải bài toán với ràng buộc cứng 36
4.4.4 Giải bài toán với ràng buộc mềm 45
4.5 SỬ DỤNG NGÔN NGỮ C# XÂY DỰNG ỨNG DỤNG LỊCH BIỂU GIẢNG DẠY 50
4.6 KẾT QUẢ THỰC NGHIỆM 52
Chương V: KẾT LUẬN VÀ KIẾN NGHỊ 54
5.1 KẾT LUẬN 54
5.1.1 Kết quả đạt được 54
5.1.2 Hạn chế 54
5.2 KIẾN NGHỊ 55 TÀI LIỆU THAM KHẢO
PHỤ LỤC A - SỐ LIỆU THỰC TẾ TẠI FPOLY
PHỤ LỤC B - CODE C# CỦA LỚP TIMETABLING
Trang 10DANH MỤC HÌNH
Hình 2.1: Giải thuật Hill-Climbing 8
Hình 2.2: Giải thuật Min-Conflict Random Walk 9
Hình 2.3: Giải thuật SimulatedAnnealing 10
Hình 2.4: Giải thuật di truyền (Genetic Algorithm) 11
Hình 2.5: Giải thuật Tabu Search 13
Hình 2.6: Pseudo-code Tabu Search 14
Hình 3.1: Quy trình nghiên cứu 22
Hình 4.1: Sơ đồ tổng thể giải bài toán TimeTabling cho FPOLY 32
Hình 4.2: Cluster đụng độ 34
Hình 4.3: Giải thuật Backtracking-free kết hợp Local Search và Look-Ahead 37
Hình 4 4: Giải thuật sắp xếp thứ tự meeting 40
Hình 4 5: Giải thuật sắp xếp thứ tự giảng viên 40
Hình 4.6: Giải thuật chọn biến 41
Hình 4.7: Giải thuật chọn trị phòng 42
Hình 4.8: Giải thuật chọn trị giảng viên 43
Hình 4.9: Giải thuật SolveConflict dùng IterativeSearch 44
Hình 4.10: Hàm đánh giá vi phạm ràng buộc mềm 46
Hình 4.11: Mô tả giải thuật Local Repair – Tabu Mechanism 47
Hình 4.12: Giải thuật repair_constraint 49
Hình 4.13: Giao diện đăng nhập ứng dụng 50
Hình 4.14: Giao diện màn hình làm việc chính 51
Hình 4.15: Giao diện hiển thị thời khóa biểu 51
Hình 4.16: Kết quả sắp xếp học kỳ Spring 2014 52
Hình 4.17: Kết quả sắp xếp học kỳ Summer 2014 53
Trang 11Chương I: GIỚI THIỆU ĐỀ TÀI 1.1 ĐẶT VẤN ĐỀ
Ngành giáo dục đóng vai trò rất quan trọng trong việc tạo ra nguồn nhân lực chất lượng cao phục vụ cho nền kinh tế cũng như chính trị xã hội của đất nước Hiện nay, ngành giáo Việt Nam cần có nhiều thay đổi để đào tạo ra nguồn nhân lực đồi dào, chất lượng cao góp phần xây dựng đất nước hùng mạnh
Ngay từ năm 1999, nhận thấy nhu cầu nguồn nhân lực chất lượng cao là yếu
tố sống còn của việc phát triển Tập đoàn và ngành công nghiệp CNTT, FPT đã phối hợp với tập đoàn đào tạo CNTT hàng đầu thế giới Aptech Ấn độ triển khai hệ thống các trung tâm đào tạo Lập trình viên Quốc tế Aptech và Mỹ thuật đa phương tiện Arena tại Việt nam
Ngày 08/09/2006, Chính phủ đã có Quyết định số 208/2006/QĐ-TTg cho phép chính thức thành lập Trường Đại học Tư thục FPT Trường Đại học FPT xây dựng mô hình của một trường Đại học thế hệ mới, có triết lý giáo dục hiện đại, gắn liền đào tạo với thực tiễn cuộc sống và nhu cầu nhân lực của đất nước, góp phần đưa ngành CNTT Việt nam lên ngang tầm các nước tiên tiến trên thế giới
Sự khác biệt của Trường Đại học FPT so với các trường đại học khác là đào tạo kỹ sư công nghiệp, nghĩa là đào tạo theo hình thức liên kết chặt chẽ với các doanh nghiệp CNTT, gắn đào tạo với thực tiễn, với nghiên cứu - triển khai và các công nghệ hiện đại nhất Triết lý và phương pháp giáo dục hiện đại; Đào tạo con người toàn diện, hài hòa; Chương trình luôn được cập nhật và tuân thủ các chuẩn công nghệ quốc tế; Đặc biệt chú trọng kỹ năng ngoại ngữ; Tăng cường đào tạo quy trình tổ chức sản xuất, kỹ năng làm việc theo nhóm và các kỹ năng cá nhân khác là những điểm sẽ đảm bảo cho sinh viên tốt nghiệp có những cơ hội việc làm tốt nhất tại tập đoàn FPT và các doanh nghiệp hàng đầu khác
Trang 12Ngày 13/07/2010, trường cao đẳng thực hành FPT (FPT Polytechnic), trực thuộc đại học FPT, được thành lập với sứ mệnh cung cấp dịch vụ đào tạo tốt trên các tiêu chí: phù hợp với năng lực học tập của sinh viên; đáp ứng nhu cầu lớn của doanh nghiệp; và cung cấp dịch vụ đào tạo chuẩn mực dựa trên các chuẩn đã được công nhận
Với nhận định Việt Nam có hàng trăm nghìn doanh nghiệp, các chuyên ngành đào tạo của FPT Polytechnic đều nhắm tới nhu cầu xã hội lớn như: mỗi doanh nghiệp đều cần có nhân viên kế toán, nhân viên tiếp thị và bán hàng; các doanh nghiệp đều cần có website quảng bá sản phẩm và giao dịch do đó đều cần một nhân viên thiết kế, quản trị website; các doanh nghiệp có hệ thống máy tính đều cần nhân viên lập trình để xây dựng các ứng dụng hữu ích và đảm bảo hệ thống được vận hành hiệu quả
Chương trình đào tạo của FPT Polytechnic tuân theo chuẩn khung chương trình của BTEC, Vương quốc Anh Sách giáo trình, tài liệu học tập được chuyển ngữ sang Tiếng Việt từ các bộ sách uy tín của các NXB lớn trên thế giới như Pearson, Cengage, Mc-Graw Hills, … Học liệu được các cán bộ có uy tín của Trường Đại học FPT thiết kế, biên tập và chuyển tải trên việc áp dụng hệ thống công nghệ thông tin hiện đại
Hiện nay, hệ thống FPT Polytechnic đã được thành lập tại 06 thành phố lớn trên cả nước như:
FPT Polytechnic Hà Nội
FPT Polytechnic Đà Nẵng
FPT Polytechnic TP Hồ Chí Minh
FPT Polytechnic Quảng Ninh
FPT Polytechnic Thanh Hóa
FPT Polytechnic Đắk Lắk
Trang 13Với sự thành công của hệ thống FPT Polytechnic cùng với đội ngũ giảng viên giàu kinh nghiệm và nhiệt tình, số lượng sinh viên ngày càng tăng mạnh, trong tương lai FPT Polytechnic sẽ mở thêm nhiều cơ sở khác tại các tỉnh thành, đó là chiến lược phát triển của hệ thống FPT Polytechnic
Là thành viên trong hệ thống FPT Polytechnic, FPT Polytechnic TP Hồ Chí Minh cũng đã phát triển rất nhanh, chiếm tỷ trọng tăng trưởng cao nhất hệ thống năm 2012 Với số lượng sinh viên (trên 4000SV), lớp học, giảng viên ngày càng tăng mạnh, Phòng Đào Tạo gặp khó khăn trong vấn đề sắp xếp lịch biểu học và giảng dạy cho sinh viên cũng như giảng viên Hiện tại có 2 nhân viên làm lịch biểu cho mỗi học kỳ và trung bình khoảng mất từ 15 đến 20 ngày Nguyên nhân chính là hiện tại Phòng Đào Tạo dùng cách sắp xếp lịch đơn giản bằng phương pháp thủ công, sử dụng kinh nghiệm và dùng phần mềm Excel để nhập lịch biểu
Do đó, vấn đề này đang được Trường FPT Polytechnic TP Hồ Chí Minh quan tâm Từ đó việc xây dựng một phần mềm sắp xếp lịch biểu cho Trường FPT Polytechnic TP Hồ Chí Minh là việc cần thiết cho trường hiện nay Với kinh nghiệm về lập trình và các kỹ thuật điều độ được học trong lớp cao học ISE – 2012, tôi chọn đề tài: “ỨNG DỤNG CÁC GIẢI THUẬT TRONG ĐIỀU ĐỘ TIME TABLING ĐỂ XÂY DỰNG LỊCH BIỂU GIẢNG DẠY, ÁP DỤNG CHO TRƯỜNG FPT POLYTECHNIC TP.HCM” làm luận văn thạc sĩ
1.2 NỘI DUNG
Tìm hiểu kỹ thuật điều độ trong sản xuất và dịch vụ, kỹ thuật điều độ lịch biểu, từ đó chọn thuật toán sắp xếp lịch biểu đa mục tiêu hợp lý cho mục tiêu của đề tài
Tìm hiểu quy trình sắp xếp lịch biểu tại Phòng Đào Tạo - Trường FPT Polytechnic TP Hồ Chí Minh
Thu thập thông tin về lớp học, môn học, giảng viên cơ hữu, giảng viên thỉnh giảng, các ràng buộc cứng và mềm…
Trang 14 Tổng hợp, phân tích và thiết kế hệ thống thông tin (Thiết kế giao diện, cơ
sở dữ liệu, xây dựng phần mềm, tài liệu hướng dẫn…)
Đánh giá kết quả phần mềm và đưa kiến nghị phát triển phần mềm
1.3 MỤC TIÊU
Xây dựng phần mềm sắp xếp lịch biểu giảng dạy tại Trường FPT Polytechnic
TP Hồ Chí Minh với 03 chỉ số đánh giá:
Giảm thời gian lên lịch
Tối ưu việc sử dụng phòng học
Tối ưu việc sắp xếp giảng viên
1.4 GIỚI HẠN VÀ PHẠM VI ĐỀ TÀI
Phần mềm sắp xếp lịch biểu giảng dạy tự động cho Trường FPT Polytechnic với 2 chức năng chính:
Sắp xếp phòng học cho các lớp
Sắp xếp giảng viên theo môn học cho các lớp
Do hạn chế về thời gian và nhằm đảm bảo tính hiệu quả của đề tài nên nội dung đề tài chỉ tập trung vào nghiên cứu và xây dựng phần mềm sắp xếp lịch biểu với hai chức năng chính trên, trong tương lai sẽ phát triển thêm nhiều tính năng nữa
Dữ liệu mẫu sử dụng của học kỳ Spring 2014 và Summer 2014 (Phụ lục đính kèm)
Trang 15Chương II: CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU
LIÊN QUAN
2.1 ĐIỀU ĐỘ TIME TABLING
2.1.1 Giới thiệu kỹ thuật điều độ
Điều độ là một quá trình ra quyết định đóng vai trò rất quan trọng trong hầu hết các hoạt động, các ngành công nghiệp sản xuất và dịch vụ Chức năng điều độ trong một công ty là sử dụng các kỹ thuật toán học hay một số phương pháp định lượng khác để phân phối hợp lý nguồn tài nguyên có hạn phục vụ công việc Sự phân phối nguồn tài nguyên thích hợp sẽ cho phép công ty đạt được mục tiêu tối ưu mong muốn như: cực tiểu thời gian hoàn thành, cực tiểu các công việc trễ hạn… Ví dụ: dự án lắp đặt hệ thống máy tính, chế tạo động cơ, dây chuyền lắp ráp ôtô, hệ thống đặt chỗ thuê xe trước, điều độ y tá trong bệnh viện… đều cần đến kỹ thuật điều độ nhầm đạt được mục tiêu tối ưu mong muốn
Chức năng điều độ trong một hệ thống sản xuất hay một tổ chức dịch vụ phải tương tác với nhiều chức năng khác Các sư tương tác này thường thông qua mạng máy tính, nhưng trong nhiều tình huống, sự tương tác giữa điều độ và các chức năng
ra quyết định khác xảy ra trong các buổi họp hay thư báo
2.1.2 Mô hình tổng quát của bài toán Time Tabling
Bài toán Time tabling có hai giai đoạn để giải quyết là giai đoạn thỏa mãn ràng buộc cứng (CSP) và tối ưu ràng buộc mềm (COP)
CSP • Thỏa mãn ràng buộc cứng
COP • Tối ưu hóa ràng buộc mềm
Trang 16 Bài toán thỏa mãn ràng buộc (Contraint Satisfaction Prolem - CSP) Bài toán CSP được định nghĩa bao gồm:
Lời giải của bài toán là một hàm f (hàm gán trị) quy định cách gán trị
cho toàn bộ các biến sao cho:
- Với mỗi biến v V, f(v) Dv
- Với mỗi ràng buộc ((w1,…,wk),Q) thì (f(w1),…, f(wk)) Q
Để giải bài toán thỏa mãn ràng buộc ta có rất nhiều thật toán tìm kiếm, ở đây
ta dùng các giải thuật Local Search
- W= (w 1 ,…,w k ) là một bộ các biến từ tập V
- Q i là các ràng buộc
Miền trị D
Trang 17 Bài toán tối ưu tổ hợp (Combinatorial Optimization Problem - COP) Bài toán COP được định nghĩa bao gồm bộ 03 tập (S, F, f), trong đó:
- S: tập hữu hạn các lời giải
- F: tập lời giải khả thi
- f: hàm mục tiêu đánh giá chất lượng lời giải
Giải quyết bài toán tối ưu tổ hợp là tìm một lời giải tối ưu toàn cục
ưu bằng các thuật toán tìm kiếm trình bày bên dưới
2.1.3 Các giải thuật lập lịch biểu (Time tabling)
Có rất nhiều giải thuật chuyên về lập lịch biểu giảng dạy đã được nghiên cứu
và phát triển trong nhiều thập kỷ qua, điển hình là các giải thuật:
Tìm kiếm cục bộ (Local Search) dựa vào một ý tưởng tổng quát và đơn
giản Gọi P là một bài toán tối ưu tổ hợp cần giải, và s là lời giải hiện hành giả sử là một lời giải khả thi của P, và có hàm chi phí f(s) Miền lân cận N(s) được định nghĩa cho s, là tập những lời giải láng giềng khả thi s’ của s sao cho từ s ta có thể đạt tới s’ nhờ vào một bước chuyển m Bước chuyển có tác dụng biến đổi s thành ra một lời giải láng giềng Thao tác biến đổi này được lặp cho đến khi hội tụ về một lời giải tốt Lời giải này là lời giải cận tối ưu, mà trong một số bài toán thực tế, không sai biệt gì nhiều với lời giải tối ưu
Trang 18 Thuật giải leo đồi (Hill-climbing)
Thuật giải leo đồi chính là nền tảng cơ sở của các kỹ thuật tìm kiếm cục bộ Mặc dù đây là Thuật giải đơn giản nhưng lại nó lại rất mạnh và hiệu quả trong việc giải quyết các bài toán CSP lớn Thuật ngữ “leo đồi” (hill-climbing) xuất phát từ cơ chế
“tu chỉnh lập”: ở mỗi bước của việc tìm kiếm, chúng ta sẽ chọn một bước chuyển
mà nó cải thiện giá trị hàm mục tiêu để thực hiện Trong Thuật giải leo đồi, chỉ những bước chuyển cải thiện được hàm chi phí hoặc không làm cho hàm chi phí thay đổi mới được chọn vì vậy việc tìm kiếm sẽ liên tục bước lên vị trí cao hơn cho đến khi nó gặp điều kiện dừng
Hình 2.1: Giải thuật Hill-Climbing
Trang 19 Xung đột tối thiểu (Min-conflict)
Thuật giải xung đột tối thiểu, viết tắt là MC đã được dùng khá phổ biến để giải hệ ràng buộc quá mức Thuật giải MC chọn ngẫu nhiên một biến nào đó dính líu đến một ràng buộc bị vi phạm và rồi chọn một trị từ miền trị của biến này sao
cho tối thiểu hoá số lượng những vị phạm ràng buộc có thể xảy ra Thuật giải conflict thuần túy có thể không thoát ra được điểm tối ưu cục bộ, Thuật giải thường
Min-kết hợp với một chiến lược bước ra ngẫu nhiên (random walk) Với một biến nào đó được chọn, chiến lược bước ra ngẫu nhiên lấy ngẫu nhiên một trị từ miền trị của biến này với xác xuất p, và áp dụng theo Thuật giải MC với xác xuất 1- p Giá trị của thông số p có ảnh hưởng lên hiệu quả của Thuật giải Thuật giải này được gọi là Min-Conflict Random Walk
Hình 2.2: Giải thuật Min-Conflict Random Walk
Procedure MCRD (Min-Conflict Random Walk)
Begin
generate a random configuration s
nb_moves = 0
while f(s) > 0 and nb_moves < max_moves do
if probability p verified then
choose randomly a variable V in conflict choose randomly a variable v’ for V
else
choose randomly a variable V in conflict choose a variable v’ that minimises the number of conflict for V (the current value is chosen only if all the other value increase the number of violated constraints)
end if
if v’ is different from the current value of v then
assign v’ to V nb_moves = nb_moves + 1
end if end while
output(s)
end
Trang 20 Thuật giải mô phỏng luyện kim (Simulated Annealing)
Mô phỏng luyện kim (SA) là một kỹ thuật tìm kiếm ngẫu nhiên (stochastic
search) mà tỏ ra rất hữu hiệu cho những bài toán tối ưu hóa qui mô lớn Trong kỹ thuật này, nhiệt độ là biến được khởi tạo ở một giá trị cao và dần dần giảm dần xuống trong quá trình tìm kiếm Tại những trị nhiệt độ cao, các bước chuyển được chấp nhận một cách ngẫu nhiên bất luận chúng là bước chuyển có cải thiện hàm chi phí của lời giải hay không Khi nhiệt độ được giảm xuống, xác xuất để chấp nhận một lời giải có cải thiện sẽ tăng lên và xác xuất để chấp nhận một lời giải không cải thiện sẽ giảm xuống Có một số cách thức giảm nhiệt độ dần xuống được dùng
trong một Thuật giải SA, được gọi là lịch biểu làm nguội (cooling schedule)
Hình 2.3: Giải thuật SimulatedAnnealing
Procedure SimulatedAnnealing
Begin
Chọn lời giải ban đầu s0;
Chọn nhiệt độ ban đầu t0 <0;
Chọn hàm thu giảm nhiệt độ α;
repeat
Chọn ngẫu nhiên s N(s); /* s là lời giải láng giềng của s0 */
= f(s) – F(s0); /* tính sự thay đổi của hàm chi phí */
until số_lần_lặp = nrep; /* nrep: số lần lặp lại ở mỗi nhiệt độ t */
return s0
end
Trang 21 Thuật giải di truyền (Genetic Algorithm)
Thuật giải di truyền (GA) (Goldberg, 1989) đã tỏ ra khá thành công trong một số những áp dụng GA mượn ý tưởng trong quá trình tiến hóa của sinh vật Ý
tưởng chính của Thuật giải là duy trì một quần thể các lời giải ứng viên Các lời giải ứng viên này sẽ được cho cơ hội riêng lẻ để sản sinh ra con cái tùy thuộc vào độ thích nghi (fitness) của chúng Độ thích nghi được đo bằng một hàm mục tiêu Thuật giải GA đã được áp dụng vào việc giải hệ ràng buộc Việc dùng Thuật giải
GA vào các bài toán tối ưu hóa có ràng buộc làm phát sinh nhiều vấn đề mà các nhà nghiên cứu phải quan tâm giải quyết Một trong những vấn đề quan trọng là làm thế nào để đưa các ràng buộc vào các hàm thích nghi (fitness function) để điều khiển quá trình tìm kiếm một cách đóng đắn
Hình 2.4: Giải thuật di truyền (Genetic Algorithm)
Giải thuật di truyền:
◦ Tạo các cá thể mới bằng cách kết hợp giữa các cá thể trong quần thể
hiện tại bằng cơ chế lai tạo và đột biến
◦ Duy trì số lượng cá thể N cho thế hệ tiếp theo bằng cách loại bỏ một số
Trang 22 Tìm kiếm Tabu (Tabu Search)
Tìm kiếm Tabu được đề xuất bởi Glover năm 1986 Phương pháp dò tìm
trong không gian lời giải bằng cách di chuyển từ một lời giải s tại lượt lặp t về một lời giải tốt nhất s’ trong tập con N* của miền lân cận N(s) Vì s’ không nhất thiết cải thiện chi phí của s, một cơ chế được đặt ra để ngăn chặn quá trình khỏi lặp vòng
trên một chuỗi các lời giải Một cách để tránh sự lặp vòng là cấm quá trình tìm kiếm quay về những lời giải đã gặp rồi, nhưng làm như vậy đòi hỏi phải lưu trữ khá nhiều thông tin Thay vì làm thế, chỉ một vài thuộc tính của những lời giải đã gặp sẽ được lưu trong danh sách tabu (tabu list) và bất kỳ lời giải nào sở hữu những thuộc tính này sẽ không được xét đến trong lần lặp Cơ chế này thường được gọi là bộ nhớ ngắn hạn và được gọi là kỳ hạn tabu Tìm kiếm tabu được phát triển thành nhiều dạng cải tiến như tìm kiếm tabu thích nghi (reactive tabu search) và tìm kiếm tabu với hai danh sách tabu: bộ nhớ ngắn hạn và bộ nhớ dài hạn
Trang 23Hình 2.5: Giải thuật Tabu Search
Giải thuật Tabu Search:
Đưa 2 phần từ vừa được điều độ lên vị trí đầu tiên của tabu-list
Đẩy các phần tử khác trong tabu-list xuống 1 vị trí
Xóa phần tử cuối cùng của tabu-list
◦ Nếu F(Sc) tốt hơn F(Sbest) thì gán Sbest = Sc
◦ Di chuyển đến Bước 3
Bước 3
◦ k = k+1 ;
◦ Nếu điều kiện dừng = true thì STOP
◦ Ngược lại di chuyển đến Bước 2
Trang 24Hình 2.6: Pseudo-code Tabu Search
Pseudo-code: Tabu Search
7: if (not containsTabuElements(sCandidate, tabuList))
Trang 252.2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG THÔNG TIN
Phân tích và thiết kế hệ thống thông tin là quá trình tìm hiểu về hệ thống thông tin, từ đó sẽ phân tích các quy trình nghiệp vụ của hệ thống thông tin, xây dựng các thực thể trong hệ thống, thiết kế cơ sở dữ liệu, thiết kế giao diện và cuối cùng là viết phần mềm ứng dụng cho hệ thống
Theo quan điểm của hệ thống thì một hệ thống thông tin quản lý thường có 3 thành phần:
Thành phần quyết định: thực hiện chức năng ra quyết định
Thành phần thông tin: thực hiện chức năng tiếp nhận, xử lý, truyền tin và lưu trữ thông tin trong hệ thống
Thành phần tác nghiệp: là thành phần bảo đảm các hoạt động cơ sở của một
tổ chức
Ví dụ: hệ thống thông tin quản lý trong một xí nghiệp có thành phần quyết định là Ban Giám đốc, thành phần thông tin là các phòng ban chức năng, thành phần tác nghiệp là các phân xưởng, cơ sở sản xuất
Bây giờ chúng ta đi đến một định nghĩa có tính chất mô tả của một hệ thống thông tin:
Hệ thống thông tin của một tổ chức là tập hợp các phương tiện, nhân lực, thông tin và phương pháp xử lý tin nhằm cung cấp các thông tin cho quá trình ra quyết định đúng thời hạn và đủ độ tin cậy
Trong đó:
Tổ chức: có thể là cơ quan, xí nghiệp, trường học
Phương tiện (phần cứng-phần mềm): cơ sở vật chất dùng để thu nhập, xử lý, lưu trữ, chuyển tải thông tin trong hệ thống như máy tính, máy in, điện thoại
Trang 26 Nhân lực: bao gồm tập thể, cá nhân tham gia vào việc thu thập dữ liệu, xử lý, truyền tin, những người phát triển và duy trì hệ thống
Thông tin (dữ liệu): Các thông tin được sử dụng trong hệ thống, các thông tin
từ môi trường bên ngoài vào hệ thống, các thông tin từ hệ thống ra môi trường bên ngoài Tuy nhiên, khi nói đến thông tin phải nói đến các yếu tố kèm theo nó như:
o Giá mang thông tin: là các phương tiện lưu trữ tin như giấy, đĩa từ, âm thanh
o Kiểu thông tin: thông tin văn bản, âm thanh, hình ảnh, tri thức
o Qui tắc tiếp nhận và hành trình của thông tin
o Vai trò của thông tin trong hoạt động tác nghiệp, trong việc đưa ra quyết định
Phương pháp xử lý tin: là các tài nguyên phi vật chất như các mô hình toán học, các thuật toán, tri thức của con người trong hệ thống, các phần mềm tin học
Tóm lại, hệ thống thông tin được cấu thành từ 4 yếu tố chính: thông tin, phương pháp xử lý tin, con người và phương tiện
Các tính năng của một HTTT
Thời gian trả lời: được tính bằng khoảng thời gian từ khi thông tin được hệ thống tiếp nhận đến khi hệ thống tác nghiệp nhận được quyết định tương ứng với thông tin đến
Bản chất của quyết định thuộc loại tự động hóa được hay không
Kiểu sản phẩm của hệ thống tác nghiệp
Khối lượng thông tin được xử lý
Độ phức tạp của dữ liệu
Độ phức tạp của xử lý
Trang 27Yêu cầu đối với một phương pháp phân tích thiết kế HTTT
Quan điểm tiếp cận tổng thể: bằng cách xem mọi bộ phận, dữ liệu, chức năng
là các phần tử trong hệ thống là các đối tượng phải được nghiên cứu Do đó hiểu biết tất cả những điều đó là cần thiết cho phát triển của hệ thống
Quan điểm top-down: là quan điểm phân tích từ trên xuống theo hướng từ tiếp cận tổng thể đến riêng biệt
Nhận dạng được các mức trừu tượng và bất biến của hệ thống ứng với chu trình phát triển hệ thống
Nhận dạng được các thành phần dữ liệu và xử lý của hệ thống
Định ra được các kết quả cần đạt được cho từng giai đoạn phát triển hệ thống
và các thủ tục cần thiết trong mỗi giai đoạn
2.3 NGÔN NGỮ LẬP TRÌNH C# VÀ SQL SERVER
Ngôn ngữ lập trình C# dựa trên nền tảng của C và C++, C# được tích hợp trong bộ trọn gói Microsoft Visual Studio và được phát triển bởi Microsoft Hiện nay được nhiều lập trình viên chuyên nghiệp sử dụng lập trình vì nó có nhiều đặc tính sau:
C# là ngôn ngữ đơn giản, ít từ khóa
Trang 28 C# là ngôn ngữ hiện đại
C# là ngôn ngữ hướng đối tượng
C# là ngôn ngữ mạnh mẽ và mềm dẻo
C# là ngôn ngữ lập trình hướng đối tượng thuần túy, nó có các tính năng cơ bản như:
Kiểm tra an toàn kiểu dữ liệu
Thu gom rác tự động, giảm gánh nặng cho lập trình viê trong việc viết code thực hiện cấp phát và giải phóng bộ nhớ
Hỗ trợ các chuẩn hóa theo tổ chức ECMA (European Computer Manufactures Association)
Hỗ trợ các phương thức và các kiểu dữ liệu chung
Có khả năng chuyển đổi dễ dàng giữa các ngôn ngữ (Cross Language Support)
Hỗ trợ giao thức Internet chung
Trang 29lý do đó, hệ quản trị cơ sở dữ liệu SQL Server cũng được tích hợp trong Microsoft Visual Studio giúp lập trình viên lập trình và quản lý dữ liệu tốt hơn
2.4 CÁC NGHIÊN CỨU LIÊN QUAN
“Công cụ tối ưu hóa xác suất sắp xếp lịch biểu cho trường đại học” của
P Pongcharoen, W Promtet, P Yenradee và C Hicks, tạp chí Elsevier tháng 7 năm 2007: Bài báo nghiên cứu dùng giải thuật di truyền (GA), mô phỏng luyện kim (SA)
và tìm kiếm ngẫu nhiên để viết chương trình sắp xếp lịch biểu Đáp ứng nhu cầu theo sở thích giảng viên, phòng học không bị xung đột So sánh tối ưu giữa hai thuật toán từ đó cho thấy GA hiệu quả hơn SA
Qua bài báo tôi tìm hiểu được phương pháp sử dụng thuật toán GA trong bài toán sắp xếp lịch biểu
“Sắp xếp lịch biểu đa mục tiêu: kết hợp các sở thích của giảng viên cho
các khóa học và thời gian” của Masood A Badri, Donald L Davis, Donna F
Davis và John Hollingsworth, tạp chí Pergamon tháng 7 năm 1997:
Bài báo nghiên cứu một kỹ thuật sắp xếp giảng viên đa mục tiêu cho lớp học theo thứ tự ưu tiên và thời gian Mô hình sử dụng thủ tục đánh số đơn giản, cốt lõi của thủ tục được hình thành bởi một ma trận, đối với mỗi giảng viên, thứ tự ưu tiên của lớp học được đưa ra trong hàng Ví dụ, nếu một lớp học xuất hiện ở hàng đầu tiên, tất nhiên là có ưu tiên hàng đầu Trong khi đó, nếu một lớp học xuất hiện ở hàng thứ hai, lớp học được gán ưu tiên thứ hai Nó có thể được nhìn thấy từ các bảng có ba hàng cho mỗi lớp học chỉ ra ba mức ưu tiên Thời gian khối ưu tiên được chỉ định bằng cách sử dụng các chữ cái Ví dụ, ưu tiên đầu tiên được ký hiệu bằng chữ "a"; ưu tiên thứ hai được ký hiệu bằng cách sử dụng chữ "b", và các ưu tiên thứ
ba được ký hiệu bằng chữ "c" Một lần nữa, có ba cấp độ ưu tiên cho từng thời gian khối
Qua bài báo tôi tìm hiểu được phương pháp đánh số thứ tự ưu tiên sắp xếp giảng viên và lớp học trong bài toán sắp xếp lịch biểu
Trang 30 “Thiết kế và thực hiện một hệ thống lập lịch sử dụng Tabu Search” của
Ramon Alvarez-Valdes, Enric Crespo, Jose M Tamar , tạp chí Elsevier tháng 1 năm 2001:
Bài báo nghiên cứu kỹ thuật sử dụng Tabu Search để xây dựng một hệ thống lịch biểu giảng dạy qua ba giai đoạn:
- Giai đoạn I: Xây dựng một thời gian biểu ban đầu
- Giai đoạn II: Cải thiện thời gian biểu được xây dựng trong giai đoạn I
- Giai đoạn III: Cải thiện sự phân công phòng
Thuật toán Tabu Search sử dụng ở giai đoạn II là phần quan trọng nhất của nghiên cứu vì nó tối ưu hóa lời giải ban đầu về các ràng buộc mềm
Qua bài báo này, tôi tìm hiểu nhiều về Tabu Search và sử dụng nó cho đề tài của luận văn này
Trang 31Chương III: PHƯƠNG PHÁP LUẬN 3.1 PHƯƠNG PHÁP NGHIÊN CỨU
Có rất nhiều phường pháp nghiên cứu khoa học: Phương pháp quy nạp (inductive), phương pháp suy diễn (deductive), phương pháp phân tích hệ thống…
Phương pháp quy nạp không yêu cầu lý thuyết trước nghiên cứu, thay vào đó
lý thuyết được phát triển và đúc kết từ nghiên cứu Bất lợi trong cách này là việc bắt đầu tập hợp dữ liệu trong lĩnh vực mới nơi mà chưa có lý thuyết để bắt đầu, bắt đầu nghiên cứu với suy nghĩ mở và không bị ảnh hưởng của các lý thuyết trước đó
Phương pháp suy diễn là phương pháp kiểm tra các giả thuyết, các giả thuyết này được kiểm tra trong số liệu thực tế và có sự lựa chọn để áp dụng lý thuyết vào một mô hình thực tế Phương pháp này thường dùng trong định lượng, có các số liệu như: qua số liệu nhu cầu qua các năm có thể lựa chọn một mô hình dự báo với sai số thấp để áp dụng cho chuỗi dữ liệu
Phương pháp phân tích hệ thống áp dụng phương pháp phân tích từ trên xuống (Top – Down) để tiến hành phân tích hệ thống Chúng ta dùng phương pháp phân tích hệ thống để phân tích các thành phần, yếu tố liên quan đến quá trình hoạt động của toàn thể của một hệ thống Để thực hiện phân tích hệ thống từ trên xuống chúng ta cần thực hiện các công việc sau:
Phải xác định được mục tiêu chung của hệ thống là gì? Qua đó tiến hành tìm hiểu về tính chất, cách thức hoạt động của các bộ phận có liên quan trong hệ thống, mối quan hệ thực chất giữa các bộ phận cấu thành nên hệ thống là gì, diễn ra như thế nào…
Thu thập những thông tin và số liệu liên quan đến từng bộ phận để sử dụng trong việc mô phỏng về sau
Thống kê lại các loại thông tin và dữ liệu đã sử dụng để có thể bổ sung, điều chỉnh khi cần thiết
Trang 323.2 PHƯƠNG PHÁP LUẬN
Trong luận văn này, phương pháp luận được chọn là phương pháp phân tích
hệ thống, áp dụng phương pháp phân tích từ trên xuống (Top – Down) để tiến hành phân tích hệ thống Tôi dùng phương pháp phân tích hệ thống để phân tích các thành phần, yếu tố liên quan đến quá trình hoạt động sắp xếp lịch biểu giảng dạy
Theo phương pháp luận này, quy trình nghiên cứu theo các bước sau:
Hình 3.1: Quy trình nghiên cứu
1 NGHIÊN CỨU VỀ TIME TABLING
2 THU THẬP SỐ LIỆU & PHÂN TÍCH TÌNH TRẠNG SẮP LỊCH BIỂU GIẢNG DẠY
4 PHÂN TÍCH & THIẾT KẾ HỆ THỐNG THÔNG
Trang 333.2.1 Nghiên cứu về Time Tabling
Trong bước này, cần thiết phải nghiên cứu nhiều tài liệu, các bài báo nghiên cứu khoa học liên quan đến Time Tabling, các giải thuật tìm kiếm Local Search, Tabu Search, Di truyền nhằm tìm kiếm nhiều phương pháp hay trong sắp xếp lịch biểu
3.2.2 Thu thập số liệu & phân tích tình trạng sắp lịch biểu giảng dạy
Việc thu thập số liệu thực tế tại trường cao đẳng thực hành FPT Polytechnic
về sinh viên, giảng viên, phòng họp, lớp học, qui trình sắp xếp lịch biểu… là rất cần thiết cho việc phân tích hiện trạng cũng như phân tích hệ thống thông tin ở bước sau
3.2.3 Lựa chọn thuật giải điều độ
Từ những nghiên cứu về Time Tabling và phân tích thiết kế hệ thống thông tin ở các bước trên, ta lựa chọn thuật giải tối ưu cho từng giai đoạn sắp xếp lịch biểu
3.2.4 Phân tích và thiết kế hệ thống
Sau khi có thông tin từ việc thu thập số liệu thực tế, ta cần thực hiện phân tích hệ thống thông tin một cách chính xác để xây dựng các quy trình nghiệp vụ chính xác, các thực thể trong quy trình, xây dựng mô hình quan hệ dữ liệu, thiết kế
cơ sở dữ liệu cũng như thiết kế các giao diện chính của ứng dụng
3.2.5 Viết code cho ứng dụng
Thực hiện viết code cho ứng dụng sử dụng ngôn ngữ lập trình C# giải quyết các bài toán theo yêu cầu thuật giải đã chọn
Trang 343.2.6 Triển khai ứng dụng và kiểm thử
Cài đặt ứng dụng và cho chạy thử với số liệu thu thập được và kiểm tra kết quả, so sánh Sửa chữa ứng dụng nếu có lỗi
3.2.7 Kết luận
Phần cuối của luận văn tôi sẽ đưa ra kết luận về đề tài nghiên cứu, đánh giá điểm mạnh và yếu của ứng dụng từ đó đưa ra các kiến nghị cho tương lai
Trang 35Chương IV: XÂY DỰNG LỊCH BIỂU GIẢNG DẠY, ÁP DỤNG
CHO TRƯỜNG FPT POLYTECHNIC TP.HCM
4.1 GIỚI THIỆU TRƯỜNG FPT POLYTECHNIC
Ngày 13/07/2010, trường cao đẳng thực hành FPT (FPT Polytechnic), trực thuộc đại học FPT, được thành lập với sứ mệnh cung cấp dịch vụ đào tạo tốt trên các tiêu chí: phù hợp với năng lực học tập của sinh viên; đáp ứng nhu cầu lớn của doanh nghiệp; và cung cấp dịch vụ đào tạo chuẩn mực dựa trên các chuẩn đã được công nhận
Hiện nay, hệ thống FPT Polytechnic đã được thành lập tại 06 thành phố lớn trên cả nước như:
Trang 36 FPT Polytechnic Quảng Ninh
FPT Polytechnic Thanh Hóa
Trang 37giảng dạy cho sinh viên cũng như giảng viên Nguyên nhân chính là hiện tại Phòng Đào Tạo dùng cách sắp xếp lịch đơn giản bằng phương pháp thủ công, sử dụng kinh nghiệm và dùng phần mềm Excel để nhập lịch biểu
Số liệu thực tế thu thập được tại trường FPT Polytechnic TP Hồ Chí Minh sẽ được trình bày bên dưới
Trang 38Lớp học được phân chia theo 02 nhóm ngành: ngành Kế toán – Kinh tế (Mã
lớp bắt đầu là PBxxyy) và ngành CNTT (Mã lớp bắt đầu là PTxxyy) trong đó:
xx: là 2 số chỉ khóa học Mỗi năm sẽ có 3 học kỳ (Spring, Summer và Fall), mỗi học kỳ khoảng 4 tháng, nên tuyển sinh được 3 khóa chia ra x.1, x.2 và x.3 Khóa 8.1 là khóa đầu tiên của Fpoly HCM khai giảng tháng 01 năm 2012
yy: là 2 số chỉ số thứ tự lớp học của khóa xx trong học kỳ sắp thời khóa biểu
Trang 394.2.4 Điều kiện và quy trình thực hiện sắp xếp lịch biểu
Sinh viên phải đóng học phí và mua sách đầy đủ mới được xếp lớp Ưu tiên xếp lớp cho sinh viên đóng học phí đúng hạn (sinh viên có quyền đăng ký Ca học)
Lớp học tối đa 40 sinh viên và được sắp xếp cố định (không phân nhóm)
Nếu trên 40 sinh viên phải mở thêm lớp mới, và những sinh viên đóng học phí trễ sẽ không có quyền chọn Ca nữa, phải học theo sự sắp xếp của trường
Xếp thời khóa biểu dựa vào tài nguyên phòng học
Xếp thời khóa biểu theo môn và dựa vào số giờ Lý Thuyết và Thực Hành (Sylabus) của môn đó
Chủ nhiệm bộ môn phân công giảng viên vào các môn của các lớp dựa vào các tiêu chí sau:
o Thời gian đăng ký giảng dạy của giảng viên
o Môn học đăng ký giảng dạy của giảng viên
4.2.5 Số lượng giảng viên:
Theo danh sách đính kèm trong phụ lục A (64 giảng viên), việc sắp xếp giảng việc được xếp bằng tay dẫn đến tình trạng thường xuyên bị đụng giờ do sai
xót của phòng đào tạo và giảng viên báo lịch bận không chính xác
4.2.6 Thời gian thực hiện sắp xếp lịch biểu hiện tại:
Từ 15 – 20 ngày
Trang 404.3 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG XÂY DỰNG LỊCH BIỂU GIẢNG DẠY
4.3.1 Yêu cầu của bài toán
Bài toán dùng kỹ thuật điều độ Time Tabling, cụ thể dùng giải thuật chính là Local Search và Tabu Search, nhằm sắp xếp tự động lịch biểu giảng dạy cho trường Fpoly Hồ Chí Minh với các chức năng chính sau:
Quản lý tài khoản đăng nhập sử dụng
Quản lý danh mục giảng viên, lớp học, phòng học, môn học, bộ môn, ngành học…
Bàn làm việc cho phép chuẩn bị thông tin cho học kỳ trước khi sắp xếp thời khóa biểu
Thực hiện sắp xếp lịch biểu tự động và thủ công (Sắp xếp phòng học cho Lớp-Môn Học và sắp xếp giảng viên vào Lớp-Môn Học)
Hiển thị lịch biểu
4.3.2 Quy trình sắp xếp lịch biểu
Việc thực hiện sắp xếp lịch biểu theo quy trình như sau:
Chuẩn bị dữ liệu cho học kỳ bao gồm: chương trình đào tạo, các lớp học theo ngành, định nghĩa các ràng buộc…
Thực hiện sắp xếp lịch biểu tự động dùng giải thuật Local Search và Tabu Search:
o Sắp xếp Lớp-Môn Học vào phòng sao cho thỏa các ràng buộc
o Sắp xếp Giảng Viên vào Lớp-Môn Học cho thỏa các ràng buộc
Hiển thị kết quả của lịch biểu