NHIỆM VỤ VÀ NỘI DUNG: Khảo sát, nghiên cứu thực trạng quy trình xếp thời khoá biểu giảng dạy tại công ty cổ phần giáo dục NativeX; Phân tích yêu cầu quản lý,kỳ vọng chức năng; Nghiên cứu
Trang 1ĐẠI HỌC QUỐC GIA TP HCMTRƯỜNG ĐẠI HỌC BÁCH KHOA
LÊ CÔNG CẢNH
CẢI TIẾN QUY TRÌNH XẾP THỜI KHOÁ BIỂU GIẢNG DẠY
CHO MỘT CÔNG TY EDTECH
Trang 2CÔ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ý)
TS Phan Trọng Nhân
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ý) TS Nguyễn Thị Ái Thảo
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ý) PGS.TS Nguyễn Tuấn Đăng
Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày 19 tháng 06 năm 2024 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 PGS.TS Trần Minh Quang
2 TS Trương Tuấn Anh
3 TS Nguyễn Thị Ái Thảo
4 PGS.TS Nguyễn Tuấn Đăng
5 TS Tôn Long Phước
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
KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH
Trang 3ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độ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Ê CÔNG CẢNH MSHV: 2170056Ngày, tháng, năm sinh: 01-10-1997 Nơi sinh: Lâm ĐồngNgành: Hệ thống thông tin quản lý Mã số: 8340405
I TÊN ĐỀ TÀI: Cải tiến quy trình xếp thời khóa biểu giảng dạy cho một công ty
EdTech Việt Nam (Enhancing the Teaching Scheduling Process for a Vietnam-basedEdTech company)
II NHIỆM VỤ VÀ NỘI DUNG: Khảo sát, nghiên cứu thực trạng quy trình xếp thời
khoá biểu giảng dạy tại công ty cổ phần giáo dục NativeX; Phân tích yêu cầu quản lý,kỳ vọng chức năng; Nghiên cứu các giải pháp xếp thời khoá biểu tự động, giải phápgiải quyết bài toán tối ưu đa mục tiêu hiện có; Đề xuất, cải tiến quy trình hiện tại;Thiết kế hệ thống thông tin hỗ trợ; Triển khai hệ thống và đánh giá kết quả
III NGÀY GIAO NHIỆM VỤ: 15/01/2024
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 20/05/2024
V CÁN BỘ HƯỚNG DẪN: TS Phan Trọng Nhân
Trang 4LỜI CẢM ƠN
Lời đầu tiên, tôi xin gửi lời biết ơn sâu sắc đến thầy hướng dẫn TS Phan TrọngNhân Thầy là người đã tận tình hướng dẫn, chỉ bảo, truyền đạt phương pháp, rènluyện cho tôi kĩ năng và tác phong chuyên nghiệp để hoàn thành luận văn đúng tiếnđộ, có chất lượng hơn
Tiếp theo, tôi xin được gửi lời cảm ơn chân thành đến các thầy giáo, cô giáo tạiTrường Đại học Bách Khoa TP HCM nói chung và tại bộ môn Hệ thống thông tinquản lý thuộc khoa Khoa học và Kỹ thuật máy tính nói riêng, những người đã tận tìnhtruyền đạt kiến thức chuyên môn cũng như kinh nghiệm thực tiễn cho học trò Nhờvào kiến thức và kĩ năng thầy cô đã giảng dạy và rèn luyện, tôi đã được trang bị thêmnhiều kiến thức bổ ích, nâng cao trình độ để hoàn thành luận văn tốt nghiệp này và cókhả năng ứng dụng trong thực tiễn
Và cuối cùng tôi xin gửi lời cảm ơn tới công ty NativeX đã tạo điều kiện môi trườnggiúp ý tưởng trong luận văn được hiện thực hoá Tôi cảm ơn đến các đồng nghiệp, giađình và bạn bè những người đã luôn bên cạnh, ủng hộ tôi trong suốt quá trình học tậpvà làm việc Mặc dù đã cố gắng rất nhiều, song chắc chắn luận văn không khỏi nhữngthiếu sót Tôi rất mong nhận được sự thông cảm và góp ý của quý thầy cô và các bạn
Tôi xin chân thành cảm ơn!
TP Hồ Chí Minh, ngày 12 tháng 8 năm 2024
Lê Công Cảnh
Trang 5TÓM TẮT LUẬN VĂN
Trong những năm gần đây, đặc biệt là từ khi đại dịch Covid-19 bùng phát, dạy vàhọc trực tuyến đã trở thành xu hướng phổ biến tại nhiều quốc gia, trong đó có ViệtNam Sự phát triển của học trực tuyến phần nào giải quyết các thách thức trong giáodục như thiếu hụt giáo viên và khó khăn trong tiếp cận giáo dục ở các vùng sâu, vùngxa
NativeX, một công ty khởi nghiệp trong lĩnh vực này tại Việt Nam, cung cấp nềntảng học tương tác trực tuyến (Live Class) Tuy nhiên, NativeX đối mặt với thách thứctrong quản lý lịch giảng dạy hiệu quả do bài toán xếp thời khóa biểu là một bài toánNP-Hard [1], nổi tiếng với độ phức tạp và khó giải quyết Bên cạnh đó, hiện tại, quátrình này vẫn đang được thực hiện thủ công qua Google Sheets, gây tốn kém thời gianvà tiềm ẩn nguy cơ sai sót cao trong việc xử lý và cập nhật lượng lớn dữ liệu
Điều này tạo ra nhu cầu cấp thiết về một hệ thống quản lý tự động, có khả năngphân bổ và tối ưu hóa lịch dạy dựa trên nhu cầu mở lớp và lịch đăng ký dạy của giáoviên Để hiểu rõ ngữ cảnh và hiện trạng xếp thời khóa biểu tại NativeX, luận văn nàyáp dụng phương pháp phỏng vấn nhân viên các bộ phận liên quan và tham gia trựctiếp vào quy trình xếp thời khóa biểu hiện tại Qua đó, tiến hành nghiên cứu và phântích các giải pháp hiện có cho các bài toán tương tự, so sánh, đánh giá và lựa chọngiải pháp phù hợp nhất Sau khi lựa chọn được giải pháp, quá trình triển khai bao gồmthu thập phản hồi từ thực nghiệm và từ các nhân viên tham gia quy trình, từ đó thựchiện các cải tiến và bổ sung cần thiết để hoàn thiện hệ thống Mục tiêu là đảm bảo hệthống đáp ứng đúng nhu cầu và yêu cầu của người dùng tại NativeX, giúp nâng caohiệu quả và chất lượng quản lý lịch giảng dạy
Hệ thống được đề xuất không chỉ bao gồm các chức năng quản lý cơ bản mà còntập trung giải quyết bài toán xếp thời khóa biểu tại NativeX bằng thuật toán NSGA-III.Tuy nhiên, thuật toán này gặp hạn chế về tốc độ xử lý và dễ mắc kẹt tại điểm tối ưucục bộ Để khắc phục, luận văn đề xuất cải tiến tham số đột biến, điều kiện dừng và
Trang 6ứng dụng xử lý song song, nhằm nâng cao hiệu quả và chất lượng xếp thời khóa biểu.Luận văn vừa mang tính ứng dụng thực tiễn vừa có tính đóng góp học thuật vớinhững đề xuất cải tiến liên quan đến thuật toán NSGA-III trong việc ứng dụng giảiquyết bài toán xếp thời khóa biểu cho một nền tảng Edtech tại Việt Nam Kết quả thựcnghiệm cho thấy, giải pháp đề xuất đã giúp công ty tiết kiệm đến 40% thời gian vàchi phí vận hành chỉ bằng một nửa chi phí thuê một nhân viên để thực hiện cùng mộtcông việc.
Từ khóa: thời khóa biểu, thời khoá biểu giảng dạy, tối ưu đa mục tiêu, thuật giải
di truyền, NSGA-III
Trang 7In recent years, particularly since the outbreak of the Covid-19 pandemic, onlineteaching and learning have emerged as a prevalent trend in numerous countries, in-cluding Vietnam This development has partially addressed educational challengessuch as teacher shortages and difficulties in accessing education in remote areas
NativeX, a startup in this domain in Vietnam, offers an interactive online learningplatform known as Live Class Nevertheless, NativeX encounters significant chal-lenges in effectively managing teaching schedules due to the timetable schedulingproblem, which is an NP-Hard problem [1], well-known for its complexity and dif-ficulty in resolution Presently, this process is manually executed through GoogleSheets, which is both time-consuming and prone to errors when handling and up-dating large volumes of data
This situation underscores the urgent need for an automated management tem capable of allocating and optimizing teaching schedules based on class demandand teachers’ availability To comprehend the context and current state of timetablescheduling at NativeX, this thesis employs a methodology that includes interview-ing employees from relevant departments and directly participating in the existingscheduling process Through this approach, the study conducts a comprehensive ex-amination and analysis of existing solutions for similar problems, compares and eval-uates these solutions, and selects the most appropriate one Following the selectionof the solution, the implementation process involves gathering feedback from exper-iments and from employees engaged in the process, thereby facilitating necessaryimprovements and enhancements to refine the system The objective is to ensure thatthe system meets the users’ needs and requirements at NativeX, thereby enhancingthe efficiency and quality of teaching schedule management
sys-The proposed system encompasses not only basic management functions but alsofocuses on addressing the timetable scheduling problem at NativeX using the NSGA-
Trang 8III algorithm However, this algorithm has limitations in processing speed and a sity to become trapped in local optima To mitigate these issues, the thesis proposesenhancements in mutation parameters, stopping conditions, and the application of par-allel processing, aimed at improving the efficiency and quality of timetable schedul-ing.
propen-This thesis presents both practical applications and academic contributions byproposing enhancements related to the NSGA-III algorithm in addressing the timetablescheduling problem for an Edtech platform in Vietnam Experimental results indicatethat the proposed solution has enabled the company to save up to 40% in time andreduce operational costs to half the expense of employing an individual to performthe same task
Keywords: schedule, teaching schedule, multi-objective optimization, genetic
algo-rithm, NSGA-III
Trang 9LỜI CAM ĐOAN
Luận văn của tôi có tham khảo các tài liệu, bài báo, trang web như được trình bàyở mục tài liệu tham khảo và ở mỗi tham khảo tôi đều trích dẫn nguồn gốc Tôi xincam đoan rằng ngoài những trích dẫn từ các tham khảo trên, toàn bộ nội dung trongbáo cáo là do tôi tự soạn thảo từ những kết quả nghiên cứu của riêng tôi, không saochép từ bất kì tài liệu nào khác
Tôi sẽ hoàn toàn chịu xử lí theo qui định nếu có bất cứ sai phạm nào so với lời camkết
Trang 10MỤC LỤC
1.3 Đối tượng, phạm vi nghiên cứu 4
1.3.1 Đối tượng nghiên cứu 4
1.3.2 Phạm vi nghiên cứu 5
1.4 Phương pháp nghiên cứu 5
1.5 Bố cục luận văn 6
2 Cơ sở lý thuyết82.1 Bài toán thời khoá biểu trong giáo dục 8
2.1.1 Khái niệm 8
2.1.2 Các nghiên cứu liên quan 9
2.2 Tối ưu hoá đa mục tiêu 11
Trang 112.3.3 Nguyên lý hoạt động 14
2.3.4 So sánh với các thuật toán khác 15
3 Phân tích hệ thống183.1 Hoạt động dạy và học tại NativeX 18
3.2 Hoạt động xếp thời khóa biểu tại NativeX 19
3.2.1 Lên danh sách các lớp sẽ được mở trong kỳ 19
3.2.2 Phân bố giáo viên giảng dạy (lớp - chủ đề - giáo viên) 21
3.3 Phân tích bài toán 22
3.3.1 Bài toán xếp thời khóa biểu 22
3.3.2 Bài toán về hệ thống quản lý thời khoá biểu 26
3.4 Đặc tả yêu cầu của hệ thống 27
3.4.1 Yêu cầu chức năng 27
3.4.2 Yêu cầu phi chức năng 28
4 Ứng dụng NSGA-III trong xếp thời khóa biểu tự động294.1 Áp dụng thuật toán NSGA-III vào bài toán xếp thời khóa biểu 29
4.3 Các đề xuất cải tiến 38
4.3.1 Ứng dụng xử lý song song tăng hiệu suất chạy thuật toán 38
4.3.2 Tinh chỉnh tham số mut pb tự động 39
4.3.3 Tinh chỉnh điều kiện dừng tự động 40
5 Thiết kế hệ thống415.1 Đề xuất kiến trúc hệ thống tổng quát 41
5.2 Sơ đồ use case 42
Trang 126.2.1 Trang danh sách giáo viên 55
6.2.2 Trang quản lý kế hoạch 56
6.2.3 Trang chi tiết kế hoạch 57
6.3 Đánh giá hệ thống tổng quan 61
6.4 Đánh giá phân hệ xếp lịch 65
6.4.1 Mô tả dữ liệu đầu vào cho thuật toán 65
6.4.2 Thiết lập tham số thuật toán 65
6.4.3 Đánh giá kết quả chạy thuật toán 65
6.4.4 Đánh giá hiệu quả của đề xuất cải tiến thuật toán 68
7 Kết luận và Hướng phát triển707.1 Kết quả đạt được 70
7.2 Hướng phát triển 71
Trang 13DANH MỤC TỪ VIẾT TẮT
Danh mục từ viết tắt tiếng Việt
1 NST Nhiễm sắc thể2 TKB Thời khóa biểu
Danh mục từ viết tắt tiếng Anh
1 EMO Evolutionary Multi Objective Optimization2 GA Genetic Algorithm
3 NSGA-III No-dominated Sorting Genetic Algorithm III4 SED Student Experience Department
5 TED Teacher Experience Department6 VM Virtual Machine
Trang 14DANH SÁCH BẢNG
2.1 Bảng so sánh NSGA-III và các thuật toán tối ưu khác 17
3.1 Bảng phân nhóm hình thức lớp tại NativeX 21
5.1 Danh sách các bảng trong sơ đồ dữ liệu 47
5.2 Mô tả các thuộc tính của bảng learning_curriculum 47
5.3 Mô tả các thuộc tính của bảng teacher 48
5.4 Mô tả thuộc tính bảng teacher_availability 49
5.5 Mô tả các thuộc tính của bảng demand_plan 50
5.6 Mô tả các thuộc tính của bảng demand_plan_schedule 50
5.7 Mô tả các thuộc tính của bảng demand_plan_detail 51
5.8 Mô tả các thuộc tính của bảng schedule_result 52
6.1 So sánh kết quả trước và sau khi triển khai hệ thống quản lý thời khóabiểu tại NativeX 64
6.3 Hiệu suất của thuật toán qua 5 lần kiểm định 66
6.4 So sánh giữa số giờ dự kiến và số giờ cam kết 67
6.5 Hiệu suất của thuật toán qua 5 lần kiểm định (trước khi cải tiến) 68
A.1 Bộ câu hỏi lấy ý kiến nhân viên SED/ TED 76
Trang 15DANH SÁCH HÌNH VẼ
2.1 Ví dụ về Thống trị và Tập tối ưu Pareto cho bài toán tối ưu 2 mục tiêu 12
3.1 Thống kê số bài học theo phân nhóm tại NativeX 18
3.2 Biểu mẫu đăng ký lịch rảnh giáo viên 20
3.3 Quy trình lên danh sách các lớp và lịch rảnh giáo viên 20
3.4 Quy trình phân công giảng dạy 22
4.1 Sơ đồ hoạt động của thuật toán đề xuất 30
4.2 Cấu trúc của 1 NST đại diện 1 Thời khoá biểu 31
4.3 Minh hoạ lai ghép K=2 35
4.4 Minh hoạ đột biến cho một thời khoá biểu 36
4.5 Mô phỏng luồng hoạt động của hàm đánh giá quần thể triển khai xửlý tuần tự và triển khai xử lý song song 39
5.1 Kiến trúc tổng quan hệ thống quản lý thời khoá biểu tại công ty NativeX 415.2 Sơ đồ Use Case của hệ thống đề xuất 42
5.3 Biểu đồ phân cấp chức năng 43
5.4 DFD mức khung cảnh của hệ thống quản lý thời khoá biểu (mức 0) 43
5.5 DFD mức 0 của hệ thống quản lý thời khoá biểu 44
5.6 DFD mức 1 của chức năng quản trị của hệ thống quản lý thời khoá biểu 445.7 DFD mức 1 của chức năng tra cứu của hệ thống quản lý thời khoá biểu 455.8 DFD mức 2 của chức năng quản lý thời khoá biểu 45
5.9 Mô hình dữ liệu vật lí của hệ thống 46
6.1 Màn hình danh sách giáo viên 55
6.2 Màn hình quản lý kế hoạch 56
6.3 Cửa sổ thêm kế hoạch tại màn hình quản lý kế hoạch 56
6.4 Màn hình thông tin chung của kế hoạch 57
Trang 166.5 Cửa sổ Cấu hình thuật toán 58
6.6 Màn hình quản lý nhu cầu mở lớp 58
6.7 Màn hình quản lý lịch đăng ký dạy của giáo viên 59
6.8 Màn hình chi tiết kết quả xếp TKB 60
6.9 Cửa sổ cập nhật phân công giáo viên và giờ cho một lớp học 61
6.10 Tiến độ xếp thời khoá biểu tại NativeX trước khi cải tiến quy trình 62
6.11 Tiến độ xếp thời khoá biểu tại NativeX sau khi cải tiến quy trình 62
6.12 Thời khoá biểu của một giáo viên sau khi chạy thuật toán xếp lớp đềxuất dưới định dạng CSV 66
6.13 Lịch dạy đăng ký và lịch dạy dự kiến của một giáo viên có ID là 21 68
6.14 So sánh thời gian chạy 150 thế hệ trước và sau khi ứng dụng xử lýsong song 69
Trang 17CHƯƠNG 1GIỚI THIỆU
1.1 Tính cấp thiết và lý do chọn đề tài
Thực tế đã chứng minh rằng Kinh tế Tri thức (KTTT) đóng vai trò quan trọng tronggiai đoạn phát triển mới của lực lượng sản xuất xã hội Để thúc đẩy quá trình côngnghiệp hoá và hiện đại hoá đất nước, việc phát triển KTTT được coi là một yếu tốkhông thể thiếu, nhất là trong thời đại Công nghiệp 4.0 Mỗi quốc gia cần tập trungvào phát triển giáo dục, đào tạo và ứng dụng công nghệ thông tin vào nền kinh tế -xã hội Ở Việt Nam, quan điểm và định hướng phát triển giáo dục đã được thể hiện rõtrong Nghị quyết số 29-NQ/TW, đặt giáo dục và đào tạo là "ưu tiên hàng đầu" và coiđầu tư vào giáo dục là đầu tư cho sự phát triển Đổi mới và toàn diện giáo dục theonhu cầu phát triển xã hội cũng được nhấn mạnh [2]
Nhận thức tầm quan trọng của việc ứng dụng công nghệ thông tin trong lĩnh vựcgiáo dục, từ lâu, nhiều quốc gia trên thế giới đã không ngừng đầu tư nghiên cứu pháttriển mô hình giáo dục trực tuyến (E-Learning) hay nền tảng công nghệ giáo dục(Edtech - Education Technology) Cho đến những năm gần đây, với sự bùng nổ củainternet và di động, mô hình giáo dục mới này trở thành khuynh hướng phát triển tấtyếu của nhiều nước trên thế giới, hấp dẫn nhiều nhà đầu tư và chỉ xếp sau lĩnh vựccông nghệ tài chính (Fintech) và thương mại điện tử (E-Commerce) [3] Đặc biệt, đạidịch Covid-19 đã thúc đẩy nhu cầu dạy và học trực tuyến lên tầm cao chưa từng có,khi yêu cầu về giãn cách xã hội và hạn chế di chuyển trở nên cấp thiết Do đó, thịtrường Edtech ngày càng được quan tâm và phát triển sôi nổi
Mô hình Edtech tại Việt Nam được xem là có tiềm năng phát triển lớn, đặc biệttrong bối cảnh chính phủ đẩy mạnh chính sách Công nghệ thông tin và Trí tuệ nhântạo Việc sử dụng công nghệ trong giáo dục không chỉ giúp tăng cường chất lượnggiảng dạy mà còn giải quyết một số vấn đề cấp thiết như thiếu hụt giáo viên, khó khăn
Trang 18trong việc tiếp cận giáo dục chất lượng ở các vùng sâu, vùng xa.Tại Việt Nam, một trong những công ty nổi bật trong lĩnh vực Edtech là NativeX,một nền tảng giáo dục trực tuyến được thành lập với mục tiêu cung cấp các khóa họctiếng Anh thông qua mô hình lớp học tương tác trực tuyến với giáo viên (Live Class).NativeX đã xây dựng một hệ thống giáo dục trực tuyến đa dạng và phong phú, baogồm các khóa học và tài liệu học tập trực tuyến, nền tảng học tập trực tuyến, ứng dụngdi động và các công nghệ khác để tạo ra một môi trường học tập hiệu quả và tiện íchcho người dạy và người học.
Trong mô hình giảng dạy trực tuyến của công ty NativeX, ta nhận thấy mô hìnhnày có nhiều đặc điểm tương tự với mô hình truyền thống của trường học, với việcdiễn ra các lớp học tương tác giữa giáo viên và học viên trong không gian ảo và cóthời gian xác định Mà khi nhắc đến trường học, một trong những thách thức quantrọng và tốn nhiều thời gian và công sức của bộ phận quản lý là việc xếp thời khoábiểu Vấn đề này đã thu hút sự quan tâm đáng kể trong lĩnh vực giáo dục, đặc biệtlà trong kỷ nguyên của công nghệ thông tin, nơi sức mạnh tính toán của máy tính đãphát triển mạnh mẽ, tạo điều kiện cho việc áp dụng giải pháp tự động cho bài toánxếp thời khoá biểu trong giáo dục Theo các nghiêu cứu đã thực hiện [4][5], bài toánxếp thời khoá biểu trong giáo dục là bài toán NP-hard và có nhiều dạng biến thể, baogồm xếp thời khoá biểu cho trường phổ thông (high school timetabling), xếp lịch thi(examination timetabling), xếp thời khoá biểu cho trường đại học (course timetabling)và nhiều loại hình khác Sự đa dạng và phức tạp của bài toán này đã tạo ra một tháchthức lớn, khiến cho việc tìm ra một giải pháp tối ưu cho bài toán xếp thời khoá biểutrong giáo dục nói chung vẫn chưa có sẵn, mà cần phụ thuộc vào từng bài toán xếpthời khoá biểu cụ thể của từng đơn vị đào tạo
Bài toán xếp thời khoá biểu giảng dạy trực tuyến của NativeX mang đến nhiều đặcthù so với mô hình truyền thống trong ngành giáo dục Điển hình là không gắn liềnvới yêu cầu về cơ sở vật chất và số lượng phòng học, mà thay vào đó, tập trung vàokhả năng đáp ứng cho quy mô học viên lớn và tần suất đổi mới thời khoá biểu liêntục trong khoảng thời gian ngắn, thường là hàng tuần Quy trình xếp thời khoá biểu
Trang 19tại NativeX đòi hỏi tuân thủ nhiều ràng buộc nhằm tối ưu chi phí vận hành và nhânlực, đồng thời đảm bảo đáp ứng kịp thời nhu cầu học tập linh hoạt của học viên Tuynhiên, việc thực hiện xếp thời khoá biểu bằng phương pháp thủ công vẫn gặp phảinhiều hạn chế, gồm sự chồng chéo công việc, tốn thời gian, nhân lực và vật lực, dễdẫn đến sai sót và khó đối chiếu.
Nhận thức được những khó khăn và thách thức mà công ty NativeX đang đối mặttrong quy trình xếp thời khoá biểu, ban lãnh đạo đã nhìn nhận tầm quan trọng củaviệc áp dụng công nghệ vào công việc này Dù đã tiến hành cải tiến quy trình xếp thờikhoá biểu thông qua việc áp dụng một số công nghệ thông tin, nhưng vẫn chưa thểhoàn toàn khắc phục những hạn chế của phương pháp thủ công Với mục tiêu cải tiếnquy trình xếp thời khoá biểu tại NativeX và xây dựng một hệ thống quản lý thời khoábiểu hỗ trợ việc tự động xếp thời khoá biểu bằng thuật toán tối ưu, nghiên cứu này đềxuất một phương pháp tiếp cận áp dụng công nghệ thông tin vào việc tự động hóa quytrình xếp thời khoá biểu tại NativeX
Xuất phát từ các lý do trên, tác giả đã chọn đề tài: “Cải tiến quy trình xếp thờikhoá biểu giảng dạy cho một công ty Edtech ở Việt Nam” để làm Luận văn thạc sĩ.
1.2 Mục tiêu và nhiệm vụ đề tài1.2.1 Mục tiêu đề tài
Mục tiêu cuối cùng của đề tài là phát triển và triển khai một hệ thống quản lý, hỗtrợ xếp thời khoá biểu tại NativeX, nhằm tối ưu hóa quy trình xếp thời khoá biểu chocác lớp học trực tuyến Để đạt được mục tiêu tổng quát, các mục tiêu cụ thể của đề tàibao gồm:
• Nghiên cứu và phân tích yêu cầu và ràng buộc đặc thù trong quá trình xếp thờikhoá biểu của NativeX, bao gồm số lượng người học, tần suất xếp thời khoá biểuvà yêu cầu linh hoạt
• Nghiên cứu các thuật toán tối ưu và công nghệ liên quan để tự động hoá quy trìnhxếp thời khoá biểu Điều này bao gồm việc khám phá và áp dụng các thuật toántối ưu như thuật toán di truyền, thuật toán tìm kiếm cục bộ và thuật toán tiến hóa,
Trang 20cùng với các kỹ thuật lập trình tối ưu và học máy.• Xây dựng và triển khai hệ thống quản lý thời khoá biểu tự động tại NativeX, bao
gồm các công đoạn như thu thập dữ liệu, mô hình hóa bài toán, triển khai thuậttoán tối ưu, và đánh giá hiệu quả của hệ thống
• Đánh giá hiệu quả và tính khả thi của hệ thống thông qua các phép đo và so sánhkết quả xếp thời khoá biểu tự động với quá trình thủ công truyền thống
1.2.2 Nhiệm vụ đề tài
Nhiệm vụ của đề tài là thực hiện các bước nghiên cứu, phân tích, thiết kế và triểnkhai hệ thống quản lý thời khoá biểu tự động tại NativeX, với mục tiêu cải thiện hiệuquả và tiết kiệm thời gian trong quy trình xếp thời khoá biểu cho các lớp học trựctuyến Ngoài ra, đề tài cũng nhằm đánh giá và đề xuất các cải tiến tiềm năng cho hệthống trong tương lai để đáp ứng mục tiêu nâng cao chất lượng và linh hoạt tronggiảng dạy trực tuyến
1.3 Đối tượng, phạm vi nghiên cứu1.3.1 Đối tượng nghiên cứu
Đối tượng nghiên cứu cho đề tài này là quy trình xếp thời khoá biểu tại công tyCông nghệ Giáo dục NativeX Việt Nam Các cá nhân và nhóm liên quan đến quytrình này bao gồm:
• Nhân viên phụ trách: Những người đảm nhiệm vai trò quản lý và xây dựng thờikhoá biểu cho giáo viên và học viên Nghiên cứu có thể tập trung vào việc nắmbắt nhu cầu của nhân viên quản lý và phân tích các thách thức mà họ đang gặpphải trong quá trình xếp thời khoá biểu
• Nhân viên kỹ thuật: Các nhân viên kỹ thuật chịu trách nhiệm phát triển và duytrì hệ thống liên quan đến nghiệp vụ xếp thời khoá biểu của công ty Nghiên cứucó thể tập trung vào việc tìm hiểu quy trình kỹ thuật hiện tại, những hạn chế vàđề xuất cải tiến từ góc độ công nghệ và quản lý hệ thống
• Nhân viên phân tích dữ liệu: Những nhân viên thực hiện việc phân tích dữ liệu
Trang 21liên quan đến hiệu quả thời khoá biểu Nghiên cứu có thể tìm hiểu cách nhânviên phân tích dữ liệu hiện đang xử lý và phân tích dữ liệu nhằm hỗ trợ trong quátrình xếp thời khoá biểu, những khó khăn và hạn chế mà họ gặp phải.
Ngoài ra còn các đối tượng khác cần quan tâm như thành phần tin học liên quan:hệ quản trị cơ sở dữ liệu, ngôn ngữ lập trình Python, ReactJS, HTML, CSS; các giảithuật liên quan đến bài toán tối ưu đa mục tiêu
công ty NativeX, bao gồm các phương pháp, công cụ và quy trình sử dụng trongthời gian gần đây
• Tương lai: Đề tài sẽ đề xuất các cải tiến và phương pháp tối ưu hóa cho quy trìnhxếp thời khoá biểu trong tương lai Đề xuất này sẽ xem xét những thay đổi và cảitiến có thể được áp dụng trong công ty NativeX để tạo ra một quy trình xếp thờikhoá biểu linh hoạt và hiệu quả hơn
1.4 Phương pháp nghiên cứu
Phương pháp nghiên cứu trong đề tài sẽ bao gồm các bước tiếp cận và phân tíchvấn đề, thiết kế và triển khai hệ thống, cùng với đánh giá và so sánh kết quả để đánhgiá hiệu quả của hệ thống quản lý thời khoá biểu tự động tại NativeX Dưới đây là cụthể của phương pháp:
• Nghiên cứu và phân tích yêu cầu: Bước đầu tiên là tiến hành khảo sát và phântích yêu cầu cụ thể của quy trình xếp thời khoá biểu tại NativeX Điều này baogồm thu thập thông tin về số lượng người học, tần suất xếp thời khoá biểu và yêu
Trang 22cầu linh hoạt thông qua công việc phỏng vấn, khảo sát các bộ phận có liên quanđến quy trình này.
• Nghiên cứu bài toán xếp thời khoá biểu giáo dục và thuật toán tối ưu: Tiếp theo,sẽ tiến hành khảo sát, đánh giá các nghiên cứu về bài toán xếp thời khoá biểugiáo dục nói chung trong và ngoài nước để tìm ra hướng giải quyết phù hợp chobài toán của doanh nghiệp; nghiên cứu các thuật toán tối ưu và công nghệ liênquan để tự động hoá quy trình xếp thời khoá biểu Các thuật toán tối ưu như thuậttoán di truyền, thuật toán tìm kiếm cục bộ và thuật toán tiến hóa sẽ được khámphá và áp dụng để tìm ra phương pháp tối ưu cho việc xếp thời khoá biểu
• Thiết kế và triển khai hệ thống: Dựa trên các nghiên cứu và phân tích trước đó,sẽ tiến hành thiết kế và triển khai hệ thống quản lý, hỗ trợ xếp thời khoá biểu tựđộng tại NativeX Quá trình này bao gồm việc xác định các thành phần, cấu trúcvà giao diện của hệ thống, cùng với việc triển khai thuật toán tối ưu để xếp thờikhoá biểu một cách tự động
• Đánh giá hiệu quả: Sau khi hệ thống đã được triển khai, sẽ tiến hành đánh giáhiệu quả của hệ thống thông qua các phép đo và so sánh kết quả xếp thời khoábiểu tự động với quá trình thủ công truyền thống Đánh giá sẽ tập trung vào cácyếu tố như thời gian xếp thời khoá biểu, sự linh hoạt trong việc đáp ứng nhu cầuhọc tập, tối ưu hóa tài nguyên nhân lực và đảm bảo tính khả thi của thời khoábiểu
Phương pháp nghiên cứu sẽ kết hợp cả phân tích lý thuyết và thực nghiệm để đảm bảotính chính xác và khả thi của hệ thống quản lý thời khoá biểu tự động tại NativeX.Qua đó, mục tiêu là tìm ra một phương pháp hiệu quả và ứng dụng để giải quyết bàitoán phức tạp của xếp thời khoá biểu trong môi trường giáo dục trực tuyến
Trang 23quan đến bài toán xếp thời khoá biểu trong giáo dục để hiểu rõ những phân loại,đặc trưng cơ bản của bài toán Đồng thời cũng đề cập đến khái niệm tối ưu đamục tiêu, giải thuật NSGA-III sử dụng để tối ưu hoá đa mục tiêu.
• Chương 3: Phân tích hệ thống Chương này sẽ giới thiệu tổng quan về công tyCông nghệ Giáo dục NativeX và mô tả quy trình nghiệp, yêu cầu đặt ra cho bàitoán xây dựng hệ thống quản lý thời khoá biểu tại NativeX
• Chương 4: Ứng dụng NSGA-III trong xếp thời khoá biểu tự động Từ Chương 4,đề tài đề xuất giải pháp cải tiến, trong đó sẽ áp dụng giải thuật NSGA-III vào bàitoán xếp thời khoá biểu của NativeX
• Chương 5: Thiết kế hệ thống Mô tả và phân tích thiết kế hệ thống Căn cứ cơ sởtổng quan về giải pháp được giới thiệu tại Chương 3, chương này sẽ tập trung môtả chi tiết các phân hệ, chức năng của hệ thống thông tin quản lý thời khoá biểucho công ty Công nghệ Giáo dục NativeX Phân tích sơ đồ chức năng nghiệp vụ,sơ đồ luồng dữ liệu (DFD), sơ đồ thực thể liên kết
• Chương 6: Triển khai và Đánh giá Chương này sẽ phân tích, đánh giá kết quảtriển khai giải pháp đề xuất khi ứng dụng vào thực tiễn
Trang 24CHƯƠNG 2CƠ SỞ LÝ THUYẾT
2.1 Bài toán thời khoá biểu trong giáo dục2.1.1 Khái niệm
Thời khoá biểu là một trong các khâu quan trọng trong mô hình quản lý đào tạocủa mỗi cơ sở đào tạo giáo dục Tuy nhiên, cần phân biệt rõ hai chức năng khác biệtcủa bài toán thời khoá biểu, đó là xếp thời khoá biểu và quản lý thời khoá biểu Quảnlý thời khoá biểu là công việc liên quan đến tra cứu, thống kê, theo dõi các thông tintài nguyên liên quan đến thời khoá biểu như giáo viên, học viên, phòng học, trangthiết bị Còn xếp thời khoá biểu là công việc tạo ra các thời khoá biểu phục vụ choviệc giảng dạy của học viên và giáo viên tại cơ sở giáo dục đó
Xếp thời khoá biểu giảng dạy từ lâu đã được phát biểu dưới dạng bài toán tối ưuràng buộc và được chứng minh thuộc bài toán NP-Hard [1], nghĩa là không có thuậttoán đa thức nào có thể giải quyết tất cả các trường hợp của bài toán trong thời gianđa thức vì kích thước và độ phức tạp của vấn đề tăng theo cấp số mũ [6][7] Mục đíchcủa bài toán này là tìm lời giải để có thể gán một tập hợp các sự kiện (lớp học, bàigiảng, người dạy, v.v) vào một số khoảng thời gian cố định sao cho thoả mãn một tậpràng buộc đề ra [8]
Các ràng buộc được đưa đặt ra trong bài toán này như ràng buộc về đối tượng thamgia (giáo viên, người học, lớp học), ràng buộc về tài nguyên phục vụ giảng dạy (phònghọc, phòng thực hành, ), ràng buộc về thời gian (số lần học, số tiết mỗi lần học, ), ràng buộc về chuyên môn và rất nhiều các ràng buộc khác tuỳ thuộc vào cơ sởgiáo dục Thực tế rằng phụ thuộc vào bản chất bài toán, các ràng buộc trong bài toánxếp thời khoá biểu có thể thay đổi để phục vụ cho mục tiêu đặc biệt của từng cơ sởgiáo dục Chính vì vậy, rất khó để hình thành một mô hình chung cho tất cả các trườnghợp của bài toán xếp thời khoá biểu
Trang 25Trong nhiều năm, cộng đồng nghiên cứu đã đề xuất nhiều phương pháp để giảiquyết bài toán xếp thời khoá biểu, từ phương pháp tối ưu hoá cổ điển như Lập trìnhtuyến tính và Lập trình Nguyên tố đến các phương pháp tiếp cận hiện đại như Thuậttoán Di truyền, Tối ưu hoá Đàn Kiến và Tối ưu hoá Bầy đàn.
2.1.2 Các nghiên cứu liên quan
Thông qua cuộc thi Xếp thời khoá biểu quốc tế (ICT - International tion Timetabling 2003/2007/2011/2019) và nhiều bài toán thực tế về lập lịch, nhiềuphương pháp đã được đề xuất để giải quyết các biến thể của vấn đề xếp thời khoá biểugiáo dục Theo khảo sát [9][10], các phương pháp được đề xuất trong suốt 10 nămqua có thể phân thành các nhóm chính sau:
Competi-• Phương pháp dựa trên nghiên cứu hoạt động (operational research - OR) chẳnghạn như tô màu đồ thị (graph clouring), quy hoạch tuyến tính/ số nguyên (linear/integer programming)
• Phương pháp meta-heuristic Phương pháp này giải quyết vấn đề mục đích chungrất linh hoạt, được thiết kế để tìm ra một giải pháp chấp nhận được trong mộtkhoảng thời gian tính toán hợp lý Ví dụ về những thuật toán này là:
– Phương pháp meta-heuristic dựa trên quần thể duy trì và làm việc trên tập
hợp các giải pháp tiềm năng trong đó mỗi giải pháp tương ứng với một điểmtrong không gian tìm kiếm của vấn đề Ví dụ thuật toán di truyền (Geneticalgorithm - GA)[7][11], tối ưu đàn kiến (Ant colony optimization), tối ưubầy đàn (Particle Swarm Optimization - PSO)
– Phương pháp meta-heuristic dựa trên một giải pháp duy nhất duy trì một giải
pháp tiềm năng duy nhất và sử dụng các phép di chuyển để khám phá khu vựcxung quanh giải pháp hiện tại Ví dụ thuật toán tìm kiếm Tabu (Tabu Search)[12], tìm kiếm vùng lân cận thay đổi (Variable neighborhood search), giảithuật luyện thép (Simulated Annealing)[13]
• Phương pháp hyper-heuristic Phương pháp này sử dụng một tập hợp các heuristicvà một phương pháp lựa chọn để tự động chọn ra heuristic nào nên được áp dụng
Trang 26Ví dụ, giải thuật Hyper-Heuristic with Add Delete Lists (HHADL) [14], Geneticalgorithm selection perturbative hyper-heuristic (GASPHH) [15]
• Phương pháp hybrid Phương pháp này kết hợp sức mạnh của các giải thuật heuristic với nhau (có thể 2 hoặc nhiều hơn) trong một khung (framework) thốngnhất Ví dụ, Simulated Annealing + Variable Neighbourhood [16]
meta-Các giải pháp nêu trên đều có những ưu điểm và hạn chế của riêng nó Tuy nhiên,nếu để xây dựng một phương pháp tổng quát cho các biến thể của bài toán xếp thờikhoá biểu trong giáo dục nhằm đáp ứng những thay đổi về thiết lập ràng buộc củabài toán, một số nghiên cứu đã xem bài toán này như một bài toán tối ưu đa mục tiêu[17] Theo khảo sát của tác giả Ilyas [18], các phương pháp dựa trên quần thể (GA,PSO, v.v) kết hợp với tìm kiếm cục bộ (Local Search - LS) được ưa chuộng cho bàixếp thời khoá biểu của trường học Mặc dù phương pháp kết hợp này khó khăn và yêucầu chi phí tính toán cao hơn, nhưng nó vẫn hữu ích trong việc tìm kiếm các giải pháptốt hơn
Tại Việt Nam, bài toán xếp thời khoá biểu giáo dục tự động cũng đã nhận được sựquan tâm của một số nhà nghiên cứu Nghiên cứu của Hoàng Phúc Lợi ở Trường Đạihọc Thái Nguyên [19], việc xếp thời khoá biểu cho các lớp học là một vấn đề phức tạpvà tốn nhiều thời gian của giáo viên và nhân viên quản lý Nghiên cứu này đã sử dụngthuật toán tối ưu đàn kiến để tối ưu hoá việc phân bổ thời gian lớp học cho trường phổthông Kết quả cho thấy, phương pháp này giúp tiết kiệm thời gian và tăng hiệu quảtrong việc xếp thời khoá biểu Các nghiên cứu của tác giả Hoàng Xuân Huấn và cộngsự [20], tác giả Nguyễn Thị Hồng [21] cũng đã áp dụng thuật toán di truyền để giảiquyết bài toán xếp thời khoá biểu cho các lớp học Kết quả của nghiên cứu cho thấy,phương pháp này đạt được kết quả tốt và giảm thiểu thời gian cần thiết để xếp thờikhoá biểu
Tuy nhiên, các nghiên cứu về bài toán xếp thời khoá biểu trong giáo dục vẫn cònrất hạn chế và cần được nghiên cứu thêm để tìm ra các phương pháp và thuật toán tốtnhất để giải quyết vấn đề này
Trang 272.2 Tối ưu hoá đa mục tiêu2.2.1 Định nghĩa
Khái niệm tối ưu hoá đa mục tiêu đề cập đến quá trình tìm kiếm một hoặc nhiềuphương án "tốt" mà có thể cực tiểu hoá (hoặc cực đại hoá) đồng thời k(k ≥ 2) hàm lợiích của một vấn đề
Định nghĩa 2.2.1 (Vấn đề tối ưu đa mục tiêu) Giả sử X là một biến đơn lẻ hoặc một
tập hợp nhiều biến tạo thành vector, D là miền các phương án khả thi (miền ràng buộc)và X ∈ D Dạng chính tắc của một vấn đề tối ưu đa mục tiêu được biểu diễn như sau:
fi(X) → min (max),i = 1,2, ,k (2.1)
Trong bài toán tối ưu đa mục tiêu, vì các hàm mục tiêu thường đối nghịch nhau nêncó thể sẽ không tìm được phương án mà có thể đạt cực tiểu (cực đại) đồng thời tất cảhàm mục tiêu Bên cạnh đó, nếu chỉ tập trung tối ưu cho một mục tiêu riêng lẻ có thểlàm tệ đi những mục tiêu còn lại nên trong quá trình tìm kiếm lời giải cần phải đánhđổi các giá trị tối ưu tương đương của hai hoặc nhiều hàm mục tiêu tuân theo tập cácràng buộc
2.2.2 Độ đo
Độ đo của bài toán tối ưu đa mục tiêu thường được sử dụng là các chỉ số đánh giáhiệu quả Pareto (Pareto dominance) và khoảng cách Pareto (Pareto distance) Ngoàira còn các độ đo khác như độ đo Hypervolume, độ đo generational distance, Tuynhiên các độ đo này thường được sử dụng trong các giải thuật tối ưu đa mục tiêu cụthể và không phổ biển như Pareto dominance và Pareto distance
Chỉ số hiệu quả Pareto được sử dụng để so sánh hai giải pháp và xác định giải phápnào tốt hơn Ta có định nghĩa như sau:
Định nghĩa 2.2.2 (Chỉ số hiệu quả Pareto) Xét bài toán tối ưu mô tả ở (2.1) có
x1,x2∈ D Lời giải x1 được xem là vượt trội so với lời giải x2 (biểu diễn bằng côngthức như sau x1≺ x2) khi thoả cả 2 điều kiện sau:
Trang 28i) x1 không tệ hơn x2trong mọi hàm mục tiêu: ∀i, fi(x1)≤ fi(x2)ii) x1 tốt hơn x2ít nhất một mục tiêu: ∃i, fi(x1) < fi(x2).
Trong không gian đa mục tiêu, thường không có một lời giải duy nhất là tốt nhấtcho tất cả các mục tiêu Thay vào đó, có một tập hợp các lời giải tối ưu được gọi là
tập tối ưu Pareto(Pareto-optimal set), mỗi lời giải là tốt nhất trong một số khía cạnh
nhất định
Định nghĩa 2.2.3 (Tập tối ưu Pareto) Một giải pháp được nói là tối ưu Pareto nếu
nó không bị thống trị bởi 1 phương án nào trong miền phương án khả thi Tất cả cácphương án khả thi không bị vượt trội trong D được gọi là tập tối ưu Pareto D∗ Mệnhđề này được ký hiệu như sau:
D∗={x1∈ D | ∄x2∈ D : x2≺ x1}Với tập tối ưu Pareto D∗ đã cho, các giá trị hàm mục tiêu tương ứng trong không
gian mục tiêu được gọi là mặt biên Pareto (Pareto Front) DF∗
f2f1
min(d)x1
x3
Pareto front
x2
Hình 2.1: Ví dụ về Thống trị và Tập tối ưu Pareto cho bài toán tối ưu 2 mục tiêu
Xét hình minh hoạ 2.1, những điểm màu xanh đại diện cho các lời giải tối ưuPareto Ta thấy x1 và x3 không thống trị lẫn nhau, trong khi đó x1 và x3 đều thống trịx2 Dựa vào mặt biên Pareto, người ra quyết định hiểu được sự đánh đổi giữa các mục
tiêu khác nhau và chọn giải pháp phù hợp nhất với ưu tiên của họ
Trang 292.3 Thuật toán NSGA-III2.3.1 Tổng quan
Thuật toán NSGA-III (Nondominated Sorting Genetic Algorithm III) là một thuậtgiải di truyền đa mục tiêu được giới thiệu bởi Deb và Jain vào năm 2014 [22] và đượcbiết đến như một phiên bản cải tiến của NSGA-II [23] So với NSGA-II thì NSGA-IIIcó những điểm khác biệt sau:
• Duy trì tính đa dạng giải pháp: NSGA-III cải tiến về cách phân bổ và bảo tồn cácgiải pháp "tốt" trên bề mặt Pareto (Pareto Front) Bằng cách bổ sung sử dụng cácđiểm tham chiếu (reference points) để chia mục tiêu thành nhiều vùng Phươngpháp này đảm bảo phân phối đều các giải pháp dọc theo mặt trận Pareto, dẫn đếnsự đa dạng tốt hơn, ngay cả trong không gian mục tiêu nhiều chiều Ngược lại,NSGA-II chỉ dựa vào khoảng cách chen chúc (crowding distance), có thể hiệuquả kém hơn với sô lượng mục tiêu lớn
• Tạo điểm tham chiếu linh hoạt: NSGA-III điều chỉnh linh hoạt các điểm thamchiếu của nó dựa vào sự phân bổ các giải pháp ở hiện tại Điều này giúp thuậttoán tập trung vào các khu vực tiềm năng của không gian tìm kiếm, cải thiện hiệuquả của thuật toán
• Chuẩn hoá: NSGA-III chuẩn hoá các hàm mục tiêu, đảm bảo mọi mục tiêu cóảnh hưởng bằng nhau trong quá trình chọn lọc, bất kể thang đo của chúng Điềunày đặc biệt quan trọng khi các hàm mục tiêu có phạm vi và đơn vị khác nhau.NSGA-II tuy không có chuẩn hoá tường minh, nhưng ta vẫn có thể xử lý dữ liệutrước để đạt được điều tương tự
Trang 30cho bài toán.• Hàm mục tiêu (Objective function): Hàm đánh giá giá trị của mỗi cá thể dựa trên
các mục tiêu tối ưu hóa.• Lai ghép (Crossover): Lai ghép là quá trình tạo ra các cá thể con mới bằng cách
kếp hợp thông tin gen từ hai cá thể cha mẹ Quá trình này tạo ra sự đa dạng genvà giúp hội tụ nhanh hơn
• Đột biến (Mutation): Đột biến là quá trình thay đổi ngẫu nhiên thông tin của mộtsố gen trong cá thể để giữ lại tính đa dạng và ngăn cản việc hội tụ sớm vào mộtmục tiêu cụ thể
• Toán tử chọn lọc (Selection Operator): Quá trình lựa chọn quyết định cá thể nàosẽ được giữ lại qua các thế hệ tiếp theo dựa trên giá trị hàm mục tiêu của chúng.Một số phương pháp lựa chọn như roulette wheel, tournament selection, và rank-based selection
• Thế hệ (Generation): Mỗi thế hệ là một vòng lặp trong quá trình tiến hóa Trongmỗi thế hệ, lai ghép, đột biến và lựa chọn được áp dụng để tạo ra quần thể mới.• Điều kiện dừng (Termination condition): thuật toán sẽ ngưng khi thoả điều kiện
dừng đặt ra, chẳng hạn đạt ngưỡng số lượng thế hệ, hoặc ngưỡng chất lượng, hoặckhi quá trình tiến hoá không cải thiện nữa
• Hàm mật độ ước tính: Hàm cho biết khả năng tìm thấy các cá thể tốt hơn trongmột khu vực cụ thể của không gian lời giải
2.3.3 Nguyên lý hoạt động
(1) Khởi tạo: Tạo ra một tập quần thể ban đầu gồm các giải pháp ngẫu nhiên.(2) Đánh giá: Đánh giá mỗi cá thể giải pháp trong quần thể dựa trên tất cả các mụctiêu
(3) Phân loại không thống trị (Non-Dominated Sorting): Các cá thể trong quần thểđược sắp xếp thành các tập cá thể không bị thống trị bởi bất kỳ cá thể nào khác trongquần thể (Pareto fronts) bằng cách so sánh chỉ số hiệu quả Pereto dựa trên giá trị mụctiêu Ví dụ, giả sử ta có 2 mục tiêu: tối đa hóa lợi nhuận và tối thiểu hóa chi phí Một
Trang 31cá thể được gọi là không bị thống trị (hay còn gọi là vượt trội) nếu lợi nhuận của nócao hơn hoặc bằng lợi nhuận của bất kỳ cá thể nào khác, và chi phí của nó thấp hơnhoặc bằng chi phí của bất kỳ cá thể nào khác.
(4) Tính toán mật độ: Tính toán mật độ của mỗi giải pháp trong mỗi mặt trận Mậtđộ đại diện cho mức độ tập trung của các giải pháp khác xung quanh giải pháp đó
(5) Chọn giải pháp: Chọn các giải pháp cho thế hệ tiếp theo dựa trên mặt trậnkhông bị thống trị và mật độ của chúng Giải pháp từ các mặt trận cao hơn được ưutiên hơn, và trong mỗi mặt trận, các giải pháp có mật độ thấp hơn được ưu tiên hơn
(6) Giao phối và đột biến: Áp dụng các toán tử giao phối và đột biến để tạo ra cácgiải pháp con mới
(7) Lặp lại: Lặp lại các bước 2-6 cho đến khi thỏa mãn tiêu chí dừng
2.3.4 So sánh với các thuật toán khác
Nội dung dưới đây tập trung vào nhận xét về 3 khía cạnh chính giữa thuật toánNSGA-III và các thuật toán tối ưu khác như PSO, SA, Tô màu đồ thị, Các khía cạnhnày bao gồm Hướng tiếp cận, Chiến lược tìm kiếm, và Đặc điểm hội tụ
Hướng tiếp cận ảnh hưởng đến khả năng của thuật toán trong việc xử lý các bài
toán cụ thể, như bài toán có không gian tìm kiếm lớn, bài toán không liên tục, hoặcbài toán có nhiều ràng buộc NSGA-III được lấy cảm hứng từ sự tiến hoá tự nhiên,
chúng bắt chước quy trình tiến hoá bằng cách sử dụng một quần thể các giải pháp, ápdụng các toán tử di truyền như chọn lọc, lai ghép và đột biến để tạo ra các thế hệ giảipháp mới và cải thiện Do đó NSGA-III đặc biệt hiệu quả trong việc giải quyết các bàitoán tối ưu hoá thiết kế, tối ưu hoá danh mục đầu tư, và tối ưu hoá mạng lưới, nơi màkhông gian tìm kiếm lớn, phức tạp và không đòi hỏi về tốc độ và yêu cầu tìm kiếmnhiều giải pháp tối ưu cùng lúc Khác với Gradient Descent (GD), một giải thuật sửdụng đạo hàm của hàm mục tiêu để tìm hướng giảm dần nhanh nhất và cập nhật giảipháp theo hướng đó, nó có thể hội tụ nhanh chóng đến giải pháp tối ưu địa phươnghoặc cũng có thể bị mắc kẹt ở điểm tối ưu địa phương, không phù hợp với bài toán cókhông gian tìm kiếm không liên tục hoặc không có đạo hàm
Trang 32Chiến lược tìm kiếm ảnh hưởng đến khả năng của thuật toán trong việc tìm ra giải
pháp tối ưu toàn cục và tránh bị mắc kẹt ở các điểm tối ưu địa phương NSGA-III sử
dụng chiến lược tìm kiếm dựa trên quần thể, duy trì một tập hợp các giải pháp ứngcử viên (individuals) đa dạng qua các thế hệ NSGA-III có khả năng tìm ra giải pháptối ưu toàn cục cao hơn so với các thuật toán tối ưu thông thường tìm kiếm dựa trênđiểm duy nhất như GD Thuật toán này thường bắt đầu từ một giải pháp ban đầu và dichuyển dần dần theo hướng dốc cao nhất của hàm mục tiêu Tuy nhiên, chúng có thểdễ dàng bị mắc kẹt ở các điểm tối ưu địa phương, là những giải pháp tốt nhất trongvùng lân cận của chúng nhưng không phải là giải pháp tối ưu toàn cục NSGA-III,mặt khác, duy trì sự đa dạng giải pháp trong suốt quá trình tìm kiếm, do đó nó ít bịảnh hưởng bởi các điểm tối ưu địa phương và có nhiều khả năng tìm ra giải pháp tốiưu toàn cục hơn
Đặc điểm hội tụ NSGA-III là một thuật toán ngẫu nhiên (stochastic), sử dụng
các phép toán dựa trên xác suất để tạo ra các thế hệ giải pháp mới Do đó, kết quảcủa thuật toán có thể không luôn hội tụ về cùng một giải pháp với cùng một điểm bắtđầu, mà chúng tạo thành ma trận Pareto, tập hợp các giải pháp tối ưu không bị thốngtrị Trong khi các thuật toán khác là xác định (deterministic) chẳng hạn như GradientDescent hội tụ thành một điểm tối ưu cục bộ duy nhất, đây có thể là một bất lợi trongcác bài toán đa thức
Dựa vào nội dung chi tiết ở trên, hoặc nội dung tóm tắt tại Bảng 2.1 có thể kết luậnrằng mỗi thuật toán có điểm mạnh và điểm yếu riêng, và lựa chọn thuật toán phù hợpphụ thuộc vào đặc thù của bài toán cần giải NSGA-III thường là một lựa chọn tốtcho các bài toán phức tạp và không gian bài toán đa dạng, có hàm mục tiêu phức tạphoặc nhiễu Chúng cũng là một lựa chọn tốt cho các vấn đề trong đó giải pháp cầnbền vững và thích nghi Tuy nhiên, NSGA-III có thể chậm hội tụ, vì vậy chúng có thểkhông phải là lựa chọn tốt nhất cho các vấn đề trong đó tốc độ là quan trọng
Trang 33Bảng 2.1: Bảng so sánh NSGA-III và các thuật toán tối ưu khác
Hướngtiếp cận
Di truyền Bầy đàn Mô phỏng ủ Tối ưu hóa tổ
hợp
Chiếnlược tìmkiếm
Dựa trên quầnthể
Dựa trên điểmduy nhất
Dựa trên trạngthái
Dựa trên quy tắc
Đặc điểmhội tụ
Ma trận Pareto Đơn mục tiêu
(tối ưu chỉ mộtmục tiêu duynhất)
Giải pháp tối ưutoàn cục
Giải pháp tối ưu
Ưu điểm Hiệu quả cho
bài toán phứctạp, đa dạng giảipháp, ít mắckẹt cực tiểu địaphương
Tốc độ nhanh,đơn giản
Thoát khỏi cựctiểu địa phương
Hiệu quả chobài toán có ràngbuộc
Nhượcđiểm
Nhiều tham số,tốc độ chậm
Dễ mắc kẹt cựctiểu địa phương(local optima)
Tốc độ chậm Phụ thuộc vào
quy tắc tô màu
Trang 34CHƯƠNG 3PHÂN TÍCH HỆ THỐNG
3.1 Hoạt động dạy và học tại NativeX
NativeX là một trong những sản phẩm nổi bật nhất của Topica EdTech Group vớihình thức học tương tác trực tuyến với giáo viên Nội dung bài học được thiết kế dựatrên phương pháp học tiếng Anh theo khung tham chiếu ngôn ngữ chung châu Âu -CEFR (Common European Framework of Reference) dành riêng cho người bận rộn.Các lớp học trực tuyến tại NativeX sẽ được trải rộng 7 ngày trong tuần từ 8 giờ đếnhết 23 giờ mỗi ngày Học viên hoàn toàn chủ động trong việc lựa chọn thời gian học,số lần học mà không cần thông báo với giáo viên phụ trách
Hiện tại, có 3 loại hình lớp ở NativeX: lớp Standard cho học viên đăng ký khoáhọc với cam kết 6 học viên/ lớp; lớp VIP tương tự nhưng cam kết chỉ 3 học viên/ lớp;lớp Trial dành cho học viên chưa đăng ký khoá học tại NativeX nhưng có nhu cầu trảinghiệm thử, lớp này sẽ có học viên dao động từ 6 - 8 học viên/ lớp Cùng với đó, có 2nhóm giáo viên chính ở NativeX: giáo viên nước ngoài (TEX), giáo viên Việt Nam
Hình 3.1: Thống kê số bài học theo phân nhóm tại NativeX
Đối với hai loại hình lớp VIP, Standard sẽ có 8 cấp độ (level) Mỗi level có 12 nhómchủ đề lớn (theme) tương đương với 48 chủ đề nhỏ (topic) (4 topic/ theme) Học viênsẽ được mở lần lượt 2 theme cùng lúc, để mở 2 theme tiếp theo, học viên cần vượt quacác bài kiểm tra nhanh, bài thi chủ đề lớn (theme test) Sau khi kết thúc 12 theme, họcviên có một bài thi định kỳ (progress test), nếu vượt qua sẽ được học cấp độ tiếp theo;
Trang 35Đối với loại hình lớp Trial, thì đơn giản hơn chỉ có 2 topic Như vậy, tại NativeX sẽmở ít nhất gần 674 topic mỗi tuần cho nhóm giáo viên TEX và 384 topic cho nhóm
giáo viên TVN (Hình 3.1).
3.2 Hoạt động xếp thời khóa biểu tại NativeX
Với mô hình hoạt động như đã giới thiệu thì việc xếp thời khoá biểu tại NativeXlà một quy trình quan trọng không thể thiếu nhằm đảm bảo sự phù hợp và hiệu quảtrong việc dạy và học trực tuyến Công việc xếp lịch tại NativeX hiện nay được chiathành hai quy trình lớn: quy trình lên danh sách các lớp sẽ được mở và quy trình phânbổ giáo viên giảng dạy Tham gia vào hai quy trình này có các bộ phận chính sau:
• TED (Teacher Experience Department): chịu trách nhiệm tuyển dụng giáo viên,đào tạo giáo viên và quản lý quá trình làm việc của giáo viên
• SED (Student Experience Department): chịu trách nhiệm tư vấn, hỗ trợ học viêntrong quá trình học tập; Quản lý chất lượng học tập thông qua tiếp nhận các khảosát, phản hồi từ học viên để đánh giá trải nghiệm học tập của học viên và đưa racác đề xuất cải tiến
• Data: chịu trách nhiệm thu thập, xử lý, xây dựng và quản lý kho dữ liệu của côngty; Cung cấp báo cáo hoặc dữ liệu cần thiết cho các bộ phận khác
3.2.1 Lên danh sách các lớp sẽ được mở trong kỳ
Bộ phận Data thực hiện bàn giao dữ liệu theo yêu cầu, bao gồm có Danh sách học
viên hiện hành chứa các thông tin về ngày bắt đầu, ngày hết hạn sử dụng dịch vụ, lịch
sử đăng ký lớp, lịch sử tham gia lớp học, Danh sách giáo viên hiện hành chứa các
thông tin về thông tin giáo viên, lịch sử giảng dạy, v.v Dữ liệu này được bàn giao tựđộng mỗi ngày vào 7 giờ sáng thông qua các tệp Google Sheets
Để đảm bảo lớp học được mở ở tuần t, thời khóa biểu phải được hoàn thiện ở tuầnt −1 Vậy nên, tuần t −2, bộ phận SED kết hợp dữ liệu đăng ký lớp và kế hoạch tuyểnsinh để ước lượng số lượng học viên theo nhóm giáo viên, chủ đề, cấp độ của khoáhọc tại tuần t Song song, tại tuần t − 2 các giáo viên NativeX phải hoàn thành đăng
Trang 36ký lịch dạy cho tuần t Bộ phận TED sau khi tiếp nhận kế hoạch mở lớp dự kiến, sẽtiến hành tổng hợp lịch đăng ký dạy của giáo viên và đồng thời có nhiệm vụ đảm bảokhả năng đáp ứng với nhu cầu mở lớp Kết quả đăng ký lịch rảnh của mỗi giáo viên
sẽ được bộ phận TED thu thập theo như Hình 3.2.
Hình 3.2: Biểu mẫu đăng ký lịch rảnh giáo viên
Hình 3.3 mô tả quy trình lên danh sách các lớp và lịch đăng ký dạy của giáo viêntheo sơ đồ BPMN
Hình 3.3: Quy trình lên danh sách các lớp và lịch rảnh giáo viên
Trang 373.2.2 Phân bố giáo viên giảng dạy (lớp - chủ đề - giáo viên)
Vào mỗi tuần thứ t − 1, bộ phận SED và TED tại NativeX cùng phối hợp để thựchiện công việc xếp thời khóa biểu của tuần t sao cho N lớp học vào 32 khung giờ (từ8:00 đến 23:00) của 7 ngày (từ Thứ 2 đến Chủ nhật), với N xấp xỉ hơn 2000 lớp mỗituần Với mô hình kinh doanh hiện tại, ứng với mỗi trình độ của người học, các lớphọc NativeX được chia thành 5 nhóm chính theo Hình thức lớp và Nhóm giáo viên,cụ thể được mô tả ở Bảng 3.1 dưới đây:
Hình thức lớp Nhóm giáo viên Mô tả
Thời lượng (phút) Số lượng tối đa
Bảng 3.1: Bảng phân nhóm hình thức lớp tại NativeX
NativeX có hai nhóm giáo viên là giáo viên bản xứ và giáo viên Việt Nam Hợpđồng của mỗi giáo viên ngoài thông tin trình độ lớp, hình thức lớp có thể giảng dạy,giáo viên cần đăng ký gói dạy Hiện tại, có sáu gói dạy (teacher package) tại NativeX,trong đó gói 0 giáo viên không cần cam kết số giờ dạy, các gói còn lại, số giờ tối thiểugiáo viên cam kết đảm bảo trong tuần tăng dần theo gói 1 đến 5 Bộ phận xếp lớp cónhiệm vụ cần bảo đảm tỉ lệ giờ dạy với giờ cam kết mỗi tuần của các giáo viên không
ít hơn 0.9 và không vượt quá 1.25 Hình 3.4 mô tả quy trình phân công giảng dạy theo
sơ đồ BPMN
Trang 38Hình 3.4: Quy trình phân công giảng dạy
3.3 Phân tích bài toán
Từ việc hiểu mô hình hoạt động, nội dung đào tạo tại NativeX, luận văn tập trunggiải quyết hai bài toán chính liên quan đến quy trình xếp thời khóa biểu được đặt ra
Bài toán thứ nhất: Xây dựng phân hệ xếp thời khóa biểu tự động;Bài toán thứ hai: Xây dựng ứng dụng quản lý tập trung, hỗ trợ việc truy vấn thôngtin liên quan đến thời khóa biểu nhanh chóng, và có tích hợp phân hệ xếp thời khóabiểu tự động
3.3.1 Bài toán xếp thời khóa biểu
Bài toán xếp thời khoá biểu tại NativeX được phát biểu tổng quát là công việc thuthập dữ liệu thông qua phương pháp thu thập thủ công hoặc từ hệ thống vận hành củacông ty sau đó tổng hợp, xác định nhu cầu lớp cần mở trong một khoảng thời gian(thông thường là 1 đến 2 tuần kế tiếp) Sau đó, dựa vào dữ liệu lớp cần mở và dữ liệulịch dạy đăng ký của giáo viên, bộ phận xếp thời khoá biểu sẽ thực hiện phân bổ lịchdạy phù hợp sao cho tối ưu các tiêu chí đặt ra Cuối cùng, thời khoá biểu hoàn chỉnhsẽ được thiết lập thủ công trên hệ thống vận hành
Một cách chi tiết, trong ngữ cảnh bài toán xếp thời khoá biểu của NativeX, tuần wi
sẽ có D = {d1,d2, ,d7} ngày và mỗi ngày có T = {t1,t2, ,t32} khung giờ (từ 8:00đến 24:00, 1 khung giờ = 30 phút) Tại tuần hiện tại w1, bộ phận xếp thời khoá biểu sẽ
Trang 39thực hiện xếp thời khoá biểu cho tuần kế tiếp w2 bằng cách phân công tập giáo viênE = {e1,e2, ,em} (những giáo viên có đăng ký dạy trong tuần w2) và chọn tiết họctừ tập S = D×T = {(dk,th)| dk∈ D,th∈ T } cho tập lớp cần mở C = {c1,c2, ,cn} đểtạo ra thời khóa biểu X = {(xE
0,xD0,xT
0), (xE1,xD
1,xT1), , (xE
n,xDn,xT
n)} với (xEi ,xD
i ,xTi )là bộ 3 giá trị lần lượt ứng với Giáo viên, Ngày, Khung giờ bắt đầu được phân côngcho Lớp ci, trong đó xC
i ∈ C , xEi ∈ E , xDi ∈ D , xTi ∈ T Trong quá trình xếp thời khoábiểu, mục tiêu chính là tối ưu hoá sự hài lòng của học viên và giáo viên cũng như
giảm thiểu chi phí tổ chức các lớp học (Công thức 3.1)
minimize ( fnoSatisfyStdPrf(X), fnoSatisfyTchPrf(X), fcost(X)) (3.1)
• Nhu cầu của học viên: Tiêu chí này đo lường mức độ đáp ứng của thời khoá
biểu với nguyện vọng đăng ký của học viên hay không Mục tiêu là giảm thiểusố lượng lớp học không tìm được giáo viên hoặc khung giờ mong muốn Cụ thể:
– Lớp cố định khung giờ phải được phân công giáo viên (Công thức 3.2)
∀c ∈ C : nếu FixedTime(c) thì ∃e ∈ E : xEc =e (3.2)Trong đó, FixedTime(c) kiểm tra xem lớp c có phải là lớp cố định khung giờhay không Nếu có, thì phải có ít nhất một giáo viên được phân công cho lớpđó
– Lớp cố định khung giờ phải được mở đúng khung giờ thiết lập (Công thức
3.3);
∀c ∈ C : nếu FixedTime(c) thì xTc =PredefinedTime(c) (3.3)
– Lớp không cố định khung giờ nhưng đã được gán trước một khung giờ thì
giờ thực tế được phép chênh lệch trong khoảng 2 giờ (Công thức 3.4).
∀c ∈ C : nếu ¬ FixedTime(c) ∧ HasPredefined(c)
thì | xTc − PredefinedTime(c) |≤ 4 (3.4)
Trang 40Trong đó, PredefinedTime(c) là khung giờ được thiết lập sẵn cho lớp c, vàHasPredefinedTime(c) kiểm tra xem lớp đó có khung giờ được thiết lập từtrước không.
– Lớp có cùng nội dung (topic) giống nhau không nên mở cùng một khung
giờ (Công thức 3.5)
∀c1,c2 ∈ C : nếu xDc1 =xDc2 ∧ Topic(c1) = Topic(c2) ∧ c1∕= c2 thì xT
c1∕= xTc2
(3.5)
• Yêu cầu của giáo viên (TchrSatisfaction(X)): Tiêu chí này đánh giá mức độ hài
lòng của giáo viên dựa trên việc phân công giáo viên dạy các khung giờ phù hợpvới nguyện vọng và chuyên môn của họ, đồng thời đảm bảo không quá tải Cụthể:
– Tổng số giờ dạy mỗi ngày của mỗi giáo viên không nên vượt quá 8 giờ (Công
thức 3.6)
∀e ∈ E,∀d ∈ D : ∑
c∈C,t∈T1(xEc =e ∧ xDc =d ∧ xTc =t) ≤ 16 (3.6)Trong đó, 1(·) là hàm chỉ báo trả về 1 nếu điều kiện bên trong là đúng và0 nếu không đúng Công thức này đảm bảo rằng tổng số khung giờ mà mỗigiáo viên được phân công trong một ngày (được tính qua thời lượng của cáclớp họ dạy) không vượt quá 16 khung giờ, tương đương với 8 giờ dạy
– Tổng số giờ dạy liên tiếp của một giáo viên không nên vượt quá 4 giờ (Công