Tóm tắt nội dung luận văn Luận văn tập trung trình bày các đặc điểm của bài toán xếp lịch thitại Đại học Bách Khoa Hà Nội theo nghiên cứu của tác giả, sau đó đisâu vào mô hình toán học m
Trang 1ĐẠI HỌC BÁCH KHOA HÀ NỘI
LUẬN VĂN THẠC SĨ
BÀI TOÁN XẾP LỊCH THI TẠI
TRƯỜNG ĐẠI HỌC BÁCH KHOA
HÀ NỘI
NGUYỄN THỊ NGÂNngan.nt211310m@sis.hust.edu.vn
Ngành Toán Tin
Giảng viên hướng dẫn: TS TẠ ANH SƠN Chữ kí của GVHD
HÀ NỘI, 04/2023
Trang 2Đề tài luận văn
Tên học viên: Nguyễn Thị Ngân
Cán bộ hướng dẫn: TS.Tạ Anh Sơn
Đơn vị: Viện Toán Ứng dụng và Tin học, Đại học Bách Khoa
Hà Nội
Trang 3Lời cảm ơn
Em xin gửi lời cảm ơn chân thành tới các thầy cô Viện Toán ứngdụng và Tin học đã dạy em nhưng kiến thức nền tảng quan trọng, làtiền đề giúp em hoàn thiện bản luận văn Đặc biệt em xin cảm ơn TS.TạAnh Sơn - người thầy đã hướng dẫn em Đồ án II, Đồ án III, Đồ án tốtnghiệp, và bây giờ là Luận văn thạc sĩ Mặc dù rất bận với công việcnhưng thầy đã luôn cố gắng sắp xếp thời gian giúp đỡ và tận tình giảiđáp các thắc mắc của em trong suốt quá trình nghiên cứu đề tài Dothời gian tìm hiểu và nghiên cứu có giới hạn nên luận văn vẫn còn nhiềuthiếu sót, em rất mong nhận được các ý kiến đóng góp của các thầy cô
để bản luận văn được hoàn thiện và chính xác hơn
Tóm tắt nội dung luận văn
Luận văn tập trung trình bày các đặc điểm của bài toán xếp lịch thitại Đại học Bách Khoa Hà Nội theo nghiên cứu của tác giả, sau đó đisâu vào mô hình toán học mà tác giả đề xuất cho bài toán, cuối cùng làtrình bày kết quả thử nghiệm mô hình với các bộ dữ liệu nhỏ trích xuất
từ lịch thi của Viện Toán Ứng dụng và Tin học với một số kết luận Cụthể luận văn được chia thành ba phần:
1 Chương 1: Kiến thức cơ sở về bài toán tối ưu, các khái niệm cơ bản
và một số loại bài toán tối ưu, bài toán quy hoạch nguyên nhị phân
2 Chương 2: Tổng quan về bài toán xếp lịch thi, các quy tắc khi xâydựng lịch thi, đặc điểm của bài toán xây dựng lịch thi tại Đại họcBách Khoa Hà Nội
3 Chương 3: Đề xuất mô hình toán học giải bài toán xếp lịch thi tạiĐại học Bách Khoa Hà Nội, thử nghiệm mô hình trên các bộ dữ liệutrích xuất từ dữ liệu lịch thi của Viện Toán Ứng dụng và Tin học,
sử dụng công cụ Cplex optimizer với ngôn ngữ lập trình Python.Kết quả của luận văn phù hợp với các yêu cầu được đưa ra, có ý nghĩakhoa học thực tiễn và có thể được ứng dụng trong việc giải quyết bàitoán xếp lịch thi tại Đại học Bách Khoa Hà Nội Kết quả thực nghiệmcho thấy tính khả thi và hứa hẹn có thể phát triển tiếp trong tương lai
Trang 4HỌC VIÊN
Nguyễn Thị Ngân
Trang 52.1 Tổng quan về bài toán xếp lịch thi tại trường Đại học 112.2 Bài toán xếp lịch thi: Các quy tắc xếp lịch thi 122.3 Các phần mềm xếp lịch thi 132.4 Đặc điểm của bài toán xếp lịch thi tại trường Đại học
Bách Khoa Hà Nội 142.4.1 Các đặc điểm chung của bài toán xếp lịch thi tại
trường học 142.4.2 Một số đặc điểm của bài toán xếp lịch thi tại
trường Đại học Bách Khoa Hà Nội 15
3 Mô hình đề xuất cho bài toán xếp lịch thi tại Đại họcBách Khoa Hà Nội, kết quả thực nghiệm 173.1 Giới thiệu một số kỹ thuật biểu diễn ràng buộc điều kiện
trong việc mô hình hóa và giải các bài toán tối ưu 173.2 Mô hình xếp lịch thi đề xuất áp dụng cho trường Đại học
Bách Khoa Hà Nội 18
Trang 63.2.1 Bài toán 1: Sắp xếp lịch thi mà không quan tâm
đến việc phân công giảng viên coi thi 183.2.2 Bài toán 2: Bài toán xếp giảng viên vào các lớp
thi đã xếp lịch 243.3 Kết quả thử nghiệm mô hình 283.3.1 Giới thiệu tổng quan về công cụ CPLEX Opti-
mizer giải bài toán tối ưu 283.3.2 Giới thiệu về khái niệm MIP gap trong CPLEX 283.3.3 Các bước thực thi mô hình với Cplex 293.3.4 Kết quả thử nghiệm mô hình với dữ liệu thực 293.4 Kết luận 35Danh mục công trình khoa học liên quan tới luận văn 37
Trang 7Danh sách hình vẽ
3.1 Kết quả hiển thị ví dụ bài toán 1 với dữ liệu nhỏ 303.2 Kết quả thực thi cplex của bài toán 1 với MIP gap 10% 333.3 Kết quả thực thi cplex của bài toán 2 với MIP gap 10% 333.4 Kết quả thực thi cplex của bài toán 1 với MIP gap 20% 343.5 Kết quả thực thi cplex của bài toán 2 với MIP gap 20% 34
Trang 8Danh sách bảng
3.1 Kết quả ví dụ bài toán 1 với dữ liệu nhỏ 303.2 Kết quả ví dụ bài toán 2 với dữ liệu nhỏ 313.3 Thời gian giải và giá trị hàm mục tiêu khi chạy với dữ
liệu nhỏ 323.4 Kích thước của bài toán 1 với dữ liệu thực tế 323.5 Kích thước của bài toán 2 với dữ liệu thực tế 323.6 Thời gian giải và giá trị hàm mục tiêu bài toán 1 với dữ
liệu thực tế 333.7 Thời gian giải và giá trị hàm mục tiêu bài toán 2 với dữ
liệu thực tế 33
Trang 9Một số ký hiệu và chữ viết tắt
HUST Đại học Bách khoa Hà Nội
SAMI Viện Toán ứng dụng và Tin học
IP Integer Programming
MIP Mix-Integer Programming
v.đ.k với điều kiện
Trang 11Chương 1
Kiến thức cơ sở
Trong chương này em xin trình bày lại các kiến thức cơ bản về bài toántối ưu, quy hoạch tuyến tính và quy hoạch nguyên Các khái niệm đượctham khảo chủ yếu từ tài liệu [1]
1.1 Bài toán tối ưu và các khái niệm cơ bản
1.1.1 Định nghĩa bài toán tối ưu và các khái niệm cơ bản
Bài toán tối ưu tổng quát được phát biểu như sau [1]:
min f (x) v.đ.k x ∈ D (P 1)hoặc
max f (x) v.đ.k x ∈ D (P 2)trong đó D ⊆ Rn được gọi là tập nghiệm chấp nhận được hay tập ràngbuộc và f : D → R là hàm mục tiêu Mỗi điểm x ∈ D được gọi là mộtnghiệm chấp nhận được hay một phương án chấp nhận được
Điểm x∗ ∈ D mà
f (x∗) ≤ f (x) ∀x ∈ Dđược gọi là nghiệm tối ưu, hoặc nghiệm tối ưu toàn cục, hoặc nghiệmcực tiểu toàn cục (global minimizer), hoặc chỉ đơn giản là nghiệm củabài toán (P1) Người ta còn gọi một nghiệm tối ưu là một phương án tối
ưu hay lời giải của bài toán đã cho
Điểm x∗ được gọi là nghiệm cực tiểu toàn cục chặt (strictly global
Trang 12min-imizer) nếu
f (x∗) < f (x) ∀x ∈ D và x ̸= x∗Giá trị tối ưu (hay giá trị cực tiểu) của bài toán (P1) được ký hiệu là
f (x∗) ≤ f (x) ∀x ∈ B(x∗, ϵ) ∩ D
Điểm x∗ ∈ D được gọi là nghiệm tối ưu địa phương chặt hoặc nghiệmcực tiểu địa phương chặt của bài toán (P1) nếu tồn tại một ϵ-lân cậnB(x∗, ϵ) của điểm x∗ ∈ D sao cho
f (x∗) < f (x) ∀x ∈ B(x∗, ϵ) ∩ D và x ̸= x∗.Các khái niệm tương tự cũng được định nghĩa cho bài toán (P2)
1.1.2 Các loại bài toán tối ưu
Các bài toán tối ưu thường được chia thành một số lớp dựa trên tínhchất của hàm mục tiêu và tập chấp nhận được [1]
• Quy hoạch tuyến tính
• Quy hoạch nguyên
• Quy hoạch phi tuyến
• Quy hoạch động
• Quy hoạch đa mục tiêu
Trang 13• Quy hoạch ngẫu nhiên
• Quy hoạch tham số
• Độ khó của bài toán cũng tăng lên khi số lượng biến và ràng buộctăng lên Khi kích thước của bài toán lớn, việc tìm một giải pháptối ưu có thể trở nên rất khó khăn và tốn nhiều thời gian tính toán
Trang 14Vì vậy, tùy từng bài toán mà ta có thể chỉ tìm nghiệm gần tối ưuhoặc thậm chí chỉ tìm nghiệm chấp nhận được
1.2 Giới thiệu về tối ưu hóa
Tối ưu hóa là một nhánh quan trọng của Toán học, đề cập tới việc tìm
ra phương án tốt nhất cho một bài toán Bài toán thực tế sẽ được đơngiản hóa và biểu diễn bằng mô hình toán học (mô hình toán học sẽ baogồm các công thức toán học) Có rất nhiều lĩnh vực sử dụng tối ưu hóa,
ví dụ như trong sản xuất, khi mục tiêu là tối thiểu chi phí sản xuất chosản phẩm, hoặc trong bài toán tìm đường đi tối ưu khi vận chuyển đếncác địa điểm nhất định
Một trong số các bài toán tối ưu điển hình mà chúng ta có thể bắt gặptrong các lĩnh vực hiện nay là bài toán xếp lịch, ví dụ như xếp thời khóabiểu cho trường học, xếp lịch làm việc cho nhân viên hay xếp lịch cácchuyến bay hàng không Mục tiêu là tìm ra phương án tốt nhất, khôngchỉ khả thi trong việc thực hiện, mà còn cần phải thỏa mãn yêu cầu củacác nhóm, các bộ phận liên quan Tối ưu hóa là một kỹ thuật hiệu quả
để tìm ra phương án tốt nhất cho rất nhiều vấn đề, tuy nhiên với nhữngbài toán lớn và phức tạp trong thực tế, việc tìm một phương án tối ưu
là rất tốn thời gian Mặc dù vậy, với sự phát triển của các kỹ thuật hiệnđại, rất nhiều bài toán hiện nay đã có thể giải quyết được
Trang 15Chương 2
Tổng quan về bài toán xếp lịch thi
2.1 Tổng quan về bài toán xếp lịch thi tại trường Đại học
Các công ty, trường học, trường đại học hoặc bệnh viện thường xuyên
có các bài toán thực tế về xếp lịch Việc xây dựng một thời gian biểu
đủ tốt thường là một công việc tốn nhiều thời gian, đòi hỏi một nỗ lựcđáng kể để đáp ứng một loạt yêu cầu và ràng buộc phức tạp
Trong tất cả các loại bài toán về xếp lịch, bài toán xếp lịch của trườngđại học đã thu hút được sự quan tâm ngày càng tăng Việc lập lịch thỏamãn các quy tắc vận hành cũng như các yêu cầu ở một trường đại họctrong khi vẫn đáp ứng được các mong muốn và nhu cầu của giáo viên
và sinh viên, là một công việc quan trọng nhưng lại vô cùng khó Ở hầuhết các trường đại học, thì người ta thường lập lịch dựa trên lịch củanhững năm trước đó với một số thay đổi nhỏ để đáp ứng yêu cầu tạithời điểm hiện tại Tuy nhiên, trong những năm gần đây, các thay đổidiễn ra thường xuyên và phức tạp hơn (như bổ sung nhiều ngành mới,nội dung chương trình đào tạo thay đổi, số lượng sinh viên tăng, cơ sởvật chất được cập nhật mỗi năm, ) nên áp dụng cách làm trên khôngphải là một phương án tốt Chính vì vậy mà người ta tiếp tục nghiêncứu bài toán trên để tạo ra một mô hình có thể xây dựng được thời gianbiểu một cách tối ưu, hiệu quả và thỏa mãn các yêu cầu
Bên cạnh bài toán xếp thời khóa biểu thì bài toán xếp lịch thi tại trườngĐại học được đánh giá là bài toán quan trọng trong thực tế Xếp lịchthi một cách tự động và tối ưu sẽ giúp nâng cao năng suất lao động vàđóng góp không nhỏ trong việc vận hành đào tạo của nhà trường Chính
Trang 16vì vậy, việc nghiên cứu và tìm ra phương pháp để giải bài toán xếp lịchthi là vô cùng cần thiết
Bài toán xếp lịch thi có thể được định nghĩa là việc tìm một phương
án xếp các bài thi vào các ca thi cụ thể trong kỳ thi, vào một phòng thi
cụ thể, đồng thời xếp giáo viên coi thi cho các bài thi đó sao cho tất cảcác ràng buộc liên quan đến sự trùng lặp về thời gian, phòng thi, người
dự thi, người coi thi đều được đáp ứng Trong những phần tiếp theo củaluận văn, chúng ta sẽ đi sâu vào phân tích bài toán xếp lịch thi
2.2 Bài toán xếp lịch thi: Các quy tắc xếp lịch thi
Việc xếp lịch thi phải tuân thủ một số quy tắc nhất định sau
a, Không xảy ra xung đột
Trong lịch thi, xung đột xảy ra khi hai hoặc nhiều bài thi được xếp vàocùng một thời gian, do cùng một giáo viên coi thi, cho cùng một nhómsinh viên hoặc trong cùng một phòng học Xung đột cũng xảy ra khinhiều phòng thi được xếp cho cùng một bài thi
Vì thế tồn tại các ràng buộc:
+ Tại một thời điểm, mỗi bài thi cho 1 nhóm sinh viên được tổ chức tạiduy nhất 1 phòng thi
+ Tại một thời điểm, mỗi sinh viên thi nhiều nhất một bài thi
+ Tại một thời điểm, mỗi giáo viên coi thi nhiều nhất một lớp thi.+ Tại một thời điểm, mỗi một phòng thi chỉ được sử dụng nhiều nhấtcho 1 bài thi với một nhóm sinh viên cụ thể
b, Lịch thi phải hoàn chỉnh
Một lịch thi được coi là hoàn chỉnh khi tất cả các bài thi trong kỳ thicho mỗi nhóm sinh viên phải xuất hiện trong lịch thi
c, Lịch thi phải đảm bảo thời gian thi phù hợp
Lịch thi phải đảm bảo các lớp thi của cùng một mã bài thi (cùng đề thi)được tổ chức vào cùng 1 ca thi để không lộ đề thi Ngoài ra, các bài thicủa cùng môn môn thi nên được tổ chức trong cùng 1 ngày
Trang 172.3 Các phần mềm xếp lịch thi
a, Một số phần mềm xếp lịch thi trên thế giới
Số lượng các phần mềm xếp lịch thi trên thế giới không nhiều Sau đây
là một số phần mềm tiêu biểu:
1 ExamSoft, Examplify:
• ExamSoft là một công ty có trụ sở tại Mỹ, cung cấp phần mềmExamplify cho các trường đại học để tạo lịch thi và tự độngchấm điểm
• Phần mềm này dễ sử dụng, có tính năng đồng bộ hóa với hệthống quản lý sinh viên, giáo viên và kế hoạch giảng dạy Nócũng hỗ trợ việc tối ưu lịch thi và tự động chấm điểm
• Tuy nhiên, Examplify không hỗ trợ tính năng tạo lịch thi tựđộng và có phí sử dụng
2 CollegeNET R25:
• CollegeNET là một công ty cung cấp giải pháp phần mềm quản
lý đại học và tạo lịch thi, có trụ sở tại Mỹ
• Phần mềm xếp lịch thi R25 của CollegeNET hỗ trợ tính năngtạo lịch thi tự động, đồng bộ hóa dữ liệu với hệ thống thông tinsinh viên và giảng viên
• Tuy nhiên, phần mềm này có giao diện không thân thiện và yêucầu kiến thức kỹ thuật cao để sử dụng
b, Một số phần mềm xếp lịch thi tại Việt Nam
Hiện nay, tại Việt Nam cũng có một số phần mềm xếp lịch thi được sử
Trang 18dụng trong các trường đại học và đại học chính quy Sau đây là một sốphần mềm phổ biến tại Việt Nam:
1 Schooler
• Là phần mềm do Công ty Cổ phần Giải pháp Công nghệ Dịch
vụ Việt Nam phát triển
• Hỗ trợ tính năng tạo lịch thi tự động, cung cấp nhiều thuật toántối ưu lịch thi, hỗ trợ đồng bộ dữ liệu với hệ thống quản lý đàotạo
• Phần mềm được ứng dụng trong 1 số trường đại học tại ViệtNam
hệ thống Đại học Quốc gia Hà Nội
Có thể thấy các phần mềm xếp lịch thi hiện hành đã giúp tự động hóaquá trình xếp lịch thi ở một số cơ sở giáo dục và trường học Tuy nhiênviệc xếp lịch thi ở từng trường sẽ có những quy tắc riêng mà không phảiphần mềm nào cũng đáp ứng được, và việc xếp lịch thi tại Đại học BáchKhoa Hà Nội là một ví dụ Hiện tại, do một số đặc thù phức tạp, Đạihọc Bách Khoa Hà Nội không sử dụng phần mềm xếp thời khóa biểu,
mà áp dụng phương pháp bán tự động, sử dụng excel kết hợp với nghiệp
vụ, kinh nghiệm của chuyên gia để xây dựng lịch thi ở mỗi kỳ thi
2.4 Đặc điểm của bài toán xếp lịch thi tại trường Đại học
Bách Khoa Hà Nội
2.4.1 Các đặc điểm chung của bài toán xếp lịch thi tại trường học
a Các ràng buộc của bài toán xếp lịch thi tại trường học
Có rất nhiều ràng buộc được đặt ra trong bài toán này như ràng buộc
Trang 19về đối tượng tham gia (giảng viên, bài thi, sinh viên), ràng buộc về tàinguyên phục vụ việc tổ chức thi (phòng học), ràng buộc về thời gian (cathi, ngày thi), ràng buộc về chuyên môn và rất nhiều ràng buộc kháctùy thuộc vào từng trường Vấn đề đặt ra là cần xây dựng một thời khóabiểu thỏa mãn tất cả các ràng buộc trên đồng thời khai thác hiệu quảcác nguồn tài nguyên phục vụ việc tổ chức thi.
b Bài toán xếp lịch thi là bài toán NP-đầy đủ
Bài toán xếp lịch thi thuộc lớp NP-đầy đủ vì vậy có thể không tìm rađược lời giải tối ưu [2] bởi thực tế khi mà số lượng sinh viên tăng lên vàchương trình học trở nên phức tạp hơn, thì thời gian giải sẽ tăng theocấp số mũ
c.Các kỹ thuật giải bài toán xếp lịch thi
Bài toán xếp lịch thi tại trường học là một bài toán không hề mới và
đã có nhiều kỹ thuật và phương pháp được đưa ra để tìm lời giải chobài toán này như giải thuật luyện thép (Simulated annealing), [4], giảithuật di truyền (genetic algorithm) [5], giải thuật Tabu Search [3] Tuynhiên các giải thuật này thường không có tính tổng quát và chỉ áp dụnghiệu quả đối với các trường học có quy mô nhỏ, ít ràng buộc phức tạp
2.4.2 Một số đặc điểm của bài toán xếp lịch thi tại trường Đại học Bách
Khoa Hà Nội
a, Hướng tiếp cận
Hầu hết các hướng tiếp cận giải bài toán xếp lịch thi ở các mô hình tổngquát là xếp các bài thi cho sinh viên, giảng viên, phòng học và tiết học.Tuy nhiên tại HUST, bài toán xếp lịch thi rất khác biệt và phức tạp
do dữ liệu lớn và nhiều yêu cầu Chính vì vậy mà công việc này đượcchia thành 2 việc nhỏ hơn và có liên quan đến nhau Công việc đầu tiên
là xếp các bài thi cho các nhóm sinh viên vào các phòng học và các cathi trong cụ thể để hình thành nên các lớp thi, công việc thứ hai là xếpgiảng viên coi thi vào các lớp thi này
Đối với dữ liệu lớn và phức tạp, cách chia này sẽ giúp cho việc xếp lịchthi trở nên dễ dàng hơn Cụ thể, kích thước của bài toán sẽ được giảmđáng kể, từ đó giảm được thời gian giải
Trang 20b, Đặc điểm về các bài thi
Về mặt bài thi, tại HUST, mỗi một môn thi sẽ được chia thành các bàithi tương ứng với các bộ đề thi khác nhau và các ca thi khác nhau trongcùng 1 ngày Ví dụ với môn Giải tích I, sẽ có tất cả 4 bài thi khác nhau,mỗi bài thi được thiết kế cho một nhóm ngành cụ thể
c, Đặc điểm về cơ sở vật chất
Về mặt cơ sở vật chất, HUST có các phòng thi khác nhau phù hợp vớiđặc thù của các bài thi và có kích thước vừa với một số lượng sinh viênnhất định
d, Đặc điểm về sinh viên
Mỗi sinh viên có thể nằm trong nhiều nhóm sinh viên tùy theo việc đăng
ký lớp học Mỗi nhóm sinh viên sẽ có danh sách các bài thi cụ thể trong
kỳ thi
e, Đặc điểm về giáo viên coi thi
Một số bài thi đặc thù sẽ yêu cầu giáo viên có chuyên môn coi thi bàithi đó
Các giáo viên có thể đăng ký lịch rảnh/bận của họ và chỉ nhận coi thinhững khung giờ mà họ rảnh
Có 2 bài toán con trong vấn đề xếp lịch thi ở HUST, gọi là bài toán 1
Trang 21Chương 3
Mô hình đề xuất cho bài toán xếp lịch thi tại Đại học Bách Khoa Hà Nội, kết quả thực nghiệm
Chương này là chương trọng tâm trong luận văn của em Dựa trên kếtquả nghiên cứu khoa học trước đó của bản thân [7] cho bài toán xếpthời khóa biểu tại Đại học Bách Khoa Hà Nội, em tiếp tục đề xuất môhình toán học giải bài toán xếp lịch thi tại Đại học Bách Khoa Hà Nộidưới dạng bài toán quy hoạch nguyên nhị phân, sau đó cài đặt và chạythử nhiệm mô hình với bộ dữ liệu trích xuất từ lịch thi của Viện ToánỨng dụng và Tin học
3.1 Giới thiệu một số kỹ thuật biểu diễn ràng buộc điều
kiện trong việc mô hình hóa và giải các bài toán tối ưu
Để biểu diễn ràng buộc điều kiện trong việc mô hình hóa và giải các bàitoán tối ưu ta có thể sử dụng một số kỹ thuật sau đây
• Ràng buộc tuyến tính (Linear Constraints): Đây là kỹ thuật sửdụng các phương trình và bất đẳng thức tuyến tính để biểu diễnràng buộc Ví dụ: Ax ≤ b, Ax = b, Ax ≥ b, với A là ma trận, x làvector biến, và b là vector hằng số
• Ràng buộc nguyên (Integer Constraints): Kỹ thuật này sử dụng ràngbuộc nguyên để giới hạn biến quyết định chỉ có thể nhận các giá trịnguyên Ví dụ: x là số nguyên, x ∈ {0, 1}, x ∈ {1, 2, 3}
Trang 22• Ràng buộc logic (Logic Constraints): Kỹ thuật này sử dụng các ràng
buộc logic như AND, OR, NOT để biểu diễn các ràng buộc phức
tạp Ví dụ: (x1 AND x2) OR x3
• Ràng buộc biểu thức (Expression Constraints): Kỹ thuật này sử
dụng các biểu thức toán học hoặc logic để biểu diễn ràng buộc Ví
dụ: x1 + x2 ≤ x3, x1 ∗ x2 ≥ 10
• Ràng buộc điều kiện (Conditional Constraints): Kỹ thuật này sử
dụng các ràng buộc được kích hoạt bởi các điều kiện đặc biệt Ví
dụ: IF x1 = 0 THEN x2 ≥ 10
• Ràng buộc bất đẳng thức (Inequality Constraints): Kỹ thuật này
sử dụng các bất đẳng thức để giới hạn giá trị của các biến Ví dụ:
x > y, x ≤ 2y
Mô hình đề xuất trong luận văn sử dụng ràng buộc tuyến tính, ràng
buộc nguyên, ràng buộc biểu thức, và ràng buộc bất đẳng thức
3.2 Mô hình xếp lịch thi đề xuất áp dụng cho trường Đại
học Bách Khoa Hà Nội
3.2.1 Bài toán 1: Sắp xếp lịch thi mà không quan tâm đến việc phân
công giảng viên coi thi
Input: Các tập dữ liệu
Output: Phương án xếp lịch cho các bài thi, không quan tâm giảng
viên coi thi
I Các tập dữ liệu đầu vào
Trong bài toán này, dữ liệu đầu vào bao gồm các tập dữ liệu sau
1 Tập nhóm sinh viên
+ G: Tập chứa tất cả các nhóm sinh viên, bao gồm nhóm sinh viên
đơn và nhóm sinh viên gộp
G = g0, g1, g2, , g|G|
Ví dụ:G = {’G0’: [’Co khi 01-K62’], ’G1’: [’Co khi 01-K62’, ’Co khi 02-K62’], }