Trọc Bách Khoa Hà Nội ớn ần thiết phải lập ra một thời khóa biểu ướnc khi b t đ u h c kỳ m i, n iần thiết phải lập ra một thời khóa biểu ọc Bách Khoa Hà Nội ớn ội dung các môn h c và giá
Trang 1Vi n Công ngh thông tin và truy n thôngện Công nghệ thông tin và truyền thông ện Công nghệ thông tin và truyền thông ền thông
Đ i H c Bách Khoa Hà N i ại Học Bách Khoa Hà Nội ọc Bách Khoa Hà Nội ội
L p l ch gi ng d y trong tr ập Lớn ịch giảng dạy trong trường học ảng dạy trong trường học ại Học Bách Khoa Hà Nội ường học ng h c ọc Bách Khoa Hà Nội
Môn h c ọc : Trí tu nhân t o ện Công nghệ thông tin và truyền thông ại Học Bách Khoa Hà Nội
Giáo viên h ướng dẫn ng d n ẫn : Ph m Văn H i ại Học Bách Khoa Hà Nội ảng dạy trong trường học
Nhóm sinh viên th c hi n ực hiện ện : Nhóm 11
Ph m Hoàng Đ t ại Học Bách Khoa Hà Nội ại Học Bách Khoa Hà Nội MSSV: 20101358
Ph m Công Hi u ại Học Bách Khoa Hà Nội ếu MSSV: 20101523
Lê Văn Thọc Bách Khoa Hà Nội MSSV: 20102256
Trang 2M C L C ỤC LỤC ỤC LỤC
L i m đ u……… 3 ời mở đầu……… 3 ở đầu……… 3 ầu……… 3
I Đ t v n đ ………4 ặt vấn đề………4 ấn đề………4 ề………4
II Mô t bài toán l p th i khóa bi u………4 ả bài toán lập thời khóa biểu………4 ập thời khóa biểu………4 ời mở đầu……… 3 ểu………4
a Các thông tin c a bài toán……… 4 ủa bài toán……… 4
b Các rang bu c c a bài toán……….5 ộc của bài toán……….5 ủa bài toán……… 4
III Mô hình bài toán……….5
IV Thi t k thu t gi i………7 ết kế thuật giải………7 ết kế thuật giải………7 ập thời khóa biểu………4 ả bài toán lập thời khóa biểu………4
V Ch ương trình demo………10 ng trình demo………10
VI V n đ ……….11 ấn đề………4 ề………4
Tài li u tham kh o………12 ện ả bài toán lập thời khóa biểu………4
Trang 3L i m đ u ời mở đầu……… 3 ở đầu……… 3 ầu……… 3
B t kỳ trường họcng h c nào cũng c n thi t ph i l p ra m t th i khóa bi uọc Bách Khoa Hà Nội ần thiết phải lập ra một thời khóa biểu ếu ảng dạy trong trường học ập Lớn ội ờng học ểu
gi ng d y cho các th y cô lên l p, đ làm sao ph i phù h p v i chảng dạy trong trường học ại Học Bách Khoa Hà Nội ần thiết phải lập ra một thời khóa biểu ớn ểu ảng dạy trong trường học ợp với chương ớn ươngng trình đào t o mà chính ph , b giáo d c đã đ ra cũng nh v i chuyênại Học Bách Khoa Hà Nội ủ, bộ giáo dục đã đề ra cũng như với chuyên ội ục đã đề ra cũng như với chuyên ền thông ư ớn môn c a m i th y cô ủ, bộ giáo dục đã đề ra cũng như với chuyên ối thầy cô ần thiết phải lập ra một thời khóa biểu
Bài toán l p th i khóa bi u trong trập Lớn ờng học ểu ường họcng h c là m t trọc Bách Khoa Hà Nội ội ường họcng h pợp với chương riêng c a bài toán l p l ch đủ, bộ giáo dục đã đề ra cũng như với chuyên ập Lớn ịch giảng dạy trong trường học ượp với chươngc x p vào hàng các bài toán khó ch a cóếu ư
đượp với chươngc m t gi i thu t t i u đ gi i quy t Trong quá trình h c t p mônội ảng dạy trong trường học ập Lớn ối thầy cô ư ểu ảng dạy trong trường học ếu ọc Bách Khoa Hà Nội ập Lớn
“Trí tu nhân t o”, chúng em th y có m t cách ti p c n khá m i m , thú vện Công nghệ thông tin và truyền thông ại Học Bách Khoa Hà Nội ội ếu ập Lớn ớn ẻ, thú vị ịch giảng dạy trong trường học
d gi i quy t bài toán này, đó là l p trình th a mãn ràng bu c V y nênểu ảng dạy trong trường học ếu ập Lớn ỏa mãn ràng buộc Vậy nên ội ập Lớn nhóm chúng em đã quy t đ nh l a ch n đ tài này!ếu ịch giảng dạy trong trường học ựa chọn đề tài này! ọc Bách Khoa Hà Nội ền thông
Do còn h n ch v tri th c cũng nh kĩ năng l p trình nên bài t pại Học Bách Khoa Hà Nội ếu ền thông ức cũng như kĩ năng lập trình nên bài tập ư ập Lớn ập Lớn
l n v n còn m t s sai sót Vì v y chúng em mong th y và các b n góp ýớn ội ối thầy cô ập Lớn ần thiết phải lập ra một thời khóa biểu ại Học Bách Khoa Hà Nội thêm đ chểu ươngng trình đượp với chươngc hoàn thi n h n Chúng em xin chân thành c mện Công nghệ thông tin và truyền thông ơng ảng dạy trong trường học n!
ơng
Trang 4I Đ t v n đ ặt vấn đề………4 ấn đề………4 ề………4
S p x p th i khóa bi u t i các trếu ờng học ểu ại Học Bách Khoa Hà Nội ường họcng h c là bài toán ph i luôn đọc Bách Khoa Hà Nội ảng dạy trong trường học ượp với chươngc
th c hi n trựa chọn đề tài này! ện Công nghệ thông tin và truyền thông ướnc khi h c kỳ m i b t đ u Trọc Bách Khoa Hà Nội ớn ần thiết phải lập ra một thời khóa biểu ướnc khi b t đ u h c kỳ m i, n iần thiết phải lập ra một thời khóa biểu ọc Bách Khoa Hà Nội ớn ội dung các môn h c và giáo viên ph trách môn h c c a t ng l p đọc Bách Khoa Hà Nội ục đã đề ra cũng như với chuyên ọc Bách Khoa Hà Nội ủ, bộ giáo dục đã đề ra cũng như với chuyên ừng lớp được xác ớn ượp với chươngc xác
đ nh thông qua bu i h p chuyên môn c a các b môn, k t qu các bu iịch giảng dạy trong trường học ổi họp chuyên môn của các bộ môn, kết quả các buổi ọc Bách Khoa Hà Nội ủ, bộ giáo dục đã đề ra cũng như với chuyên ội ếu ảng dạy trong trường học ổi họp chuyên môn của các bộ môn, kết quả các buổi
h p này sẽ đọc Bách Khoa Hà Nội ượp với chương ửi lên cho ban giám hiệu nhà trường và ban giám hiệu sẽc g i lên cho ban giám hi u nhà trện Công nghệ thông tin và truyền thông ường họcng và ban giám hi u sẽện Công nghệ thông tin và truyền thông
ch u trách nhi m l p l ch gi ng d y cho toàn trịch giảng dạy trong trường học ện Công nghệ thông tin và truyền thông ập Lớn ịch giảng dạy trong trường học ảng dạy trong trường học ại Học Bách Khoa Hà Nội ường họcng d a trên s li u ựa chọn đề tài này! ối thầy cô ện Công nghệ thông tin và truyền thông ở trên
Đây là m t bài toán mang tính th c ti n cao nh ng l i r t khó đội ựa chọn đề tài này! ễn Quang Quân ư ại Học Bách Khoa Hà Nội ểu
gi i quy t Nh t là trong nh ng năm mà công ngh thông tin ch a phátảng dạy trong trường học ếu ững năm mà công nghệ thông tin chưa phát ện Công nghệ thông tin và truyền thông ư tri n thì nh ng ngểu ững năm mà công nghệ thông tin chưa phát ường họci làm công vi c qu n lý c a t ng trện Công nghệ thông tin và truyền thông ảng dạy trong trường học ủ, bộ giáo dục đã đề ra cũng như với chuyên ừng lớp được xác ường họcng sẽ ph i t nảng dạy trong trường học ối thầy cô
r t nhi u th i gian và công s c đ l p ra đền thông ờng học ức cũng như kĩ năng lập trình nên bài tập ểu ập Lớn ượp với chươngc th i khóa bi u gi ng d yờng học ểu ảng dạy trong trường học ại Học Bách Khoa Hà Nội cho trường họcng c a mình H ph i m t hàng tu n làm vi c v t v m i có thủ, bộ giáo dục đã đề ra cũng như với chuyên ọc Bách Khoa Hà Nội ảng dạy trong trường học ần thiết phải lập ra một thời khóa biểu ện Công nghệ thông tin và truyền thông ảng dạy trong trường học ớn ểu hoàn thành đượp với chươngc môt cái th i khóa bi u làm vi c trong m t tu n cho cácờng học ểu ện Công nghệ thông tin và truyền thông ội ần thiết phải lập ra một thời khóa biểu
th y cô trong Tuy nhiên cũng ch a ch c ch n sẽ đ m b o đần thiết phải lập ra một thời khóa biểu ư ảng dạy trong trường học ảng dạy trong trường học ượp với chươngc tính h pợp với chương lý!
m t Ta hoàn toàn có th thi t k m t chặng Văn Long ểu ếu ếu ội ươngng trình chuyên bi t đ gi iện Công nghệ thông tin và truyền thông ểu ảng dạy trong trường học quy t bài toán l p th i khóa bi u m t cách đ n gi n và d dàng h n ếu ập Lớn ờng học ểu ội ơng ảng dạy trong trường học ễn Quang Quân ơng
Đ đ n gi n bài toán đ t ra, chúng em ch l p th i khoá bi u trênểu ơng ảng dạy trong trường học ặng Văn Long ỉ lập thời khoá biểu trên ập Lớn ờng học ểu
m t tu n d a trên d li u có s n Các môn h c có s đ n v h c trình caoội ần thiết phải lập ra một thời khóa biểu ựa chọn đề tài này! ững năm mà công nghệ thông tin chưa phát ện Công nghệ thông tin và truyền thông ẵn Các môn học có số đơn vị học trình cao ọc Bách Khoa Hà Nội ối thầy cô ơng ịch giảng dạy trong trường học ọc Bách Khoa Hà Nội
Trang 5II Mô t bài toán l p th i khóa bi u ả bài toán lập thời khóa biểu………4 ập thời khóa biểu………4 ời mở đầu……… 3 ểu………4
a Các thông tin c a bài toán.ủ, bộ giáo dục đã đề ra cũng như với chuyên
Danh sách giáo viên g m: mã s , tên, s gi d y t i đa.ồm: mã số, tên, số giờ dạy tối đa ối thầy cô ối thầy cô ờng học ại Học Bách Khoa Hà Nội ối thầy cô
Danh sách các phòng h c g m: mã phòng, tên phòng.ọc Bách Khoa Hà Nội ồm: mã số, tên, số giờ dạy tối đa
Danh sách các môn h c: mã môn h c, tên môn h c, s ti t trong ọc Bách Khoa Hà Nội ọc Bách Khoa Hà Nội ọc Bách Khoa Hà Nội ối thầy cô ếu
tu n.ần thiết phải lập ra một thời khóa biểu
b Các ràng bu c c a bài toán.ội ủ, bộ giáo dục đã đề ra cũng như với chuyên
o Ràng bu c v ngày h c: M t tu n có 5 ngày đi h c quy đ nhội ền thông ọc Bách Khoa Hà Nội ội ần thiết phải lập ra một thời khóa biểu ọc Bách Khoa Hà Nội ịch giảng dạy trong trường học
t th 2 đ n th 6 Th 7 và ch nh t là ngày ngh cho nênừng lớp được xác ức cũng như kĩ năng lập trình nên bài tập ếu ức cũng như kĩ năng lập trình nên bài tập ức cũng như kĩ năng lập trình nên bài tập ủ, bộ giáo dục đã đề ra cũng như với chuyên ập Lớn ỉ lập thời khoá biểu trên
chươngng trình không x p l ch h c vào các ngày th 7 và chếu ịch giảng dạy trong trường học ọc Bách Khoa Hà Nội ức cũng như kĩ năng lập trình nên bài tập ủ, bộ giáo dục đã đề ra cũng như với chuyên
nh t.ập Lớn
o Ràng bu c v giáo viên: L ch gi ng d y c a m i giáo viên ội ền thông ịch giảng dạy trong trường học ảng dạy trong trường học ại Học Bách Khoa Hà Nội ủ, bộ giáo dục đã đề ra cũng như với chuyên ỗi giáo viên không b ch ng chéo lên nhau T c là t i m t th i đi m, giáo ịch giảng dạy trong trường học ồm: mã số, tên, số giờ dạy tối đa ức cũng như kĩ năng lập trình nên bài tập ại Học Bách Khoa Hà Nội ội ờng học ểu viên ch đ m nhi m gi ng d y m t l p h c.ỉ lập thời khoá biểu trên ảng dạy trong trường học ện Công nghệ thông tin và truyền thông ảng dạy trong trường học ại Học Bách Khoa Hà Nội ội ớn ọc Bách Khoa Hà Nội
o Ràng bu c v s ti t t i đa trong tu n c a giáo viên: S ti t ội ền thông ối thầy cô ếu ối thầy cô ần thiết phải lập ra một thời khóa biểu ủ, bộ giáo dục đã đề ra cũng như với chuyên ối thầy cô ếu
d y c a giáo viên không đại Học Bách Khoa Hà Nội ủ, bộ giáo dục đã đề ra cũng như với chuyên ượp với chươngc vượp với chươngt quá s ti t t i đa trong ối thầy cô ếu ối thầy cô
tu n c a giáo viên đó.ần thiết phải lập ra một thời khóa biểu ủ, bộ giáo dục đã đề ra cũng như với chuyên
o Ràng bu c v s ti t/bu i: S ti t h c trong m t bu i không ội ền thông ối thầy cô ếu ổi họp chuyên môn của các bộ môn, kết quả các buổi ối thầy cô ếu ọc Bách Khoa Hà Nội ội ổi họp chuyên môn của các bộ môn, kết quả các buổi quá 6 ti t/bu i ếu ổi họp chuyên môn của các bộ môn, kết quả các buổi
o Ràng bu c v l p h c: M i phòng h c t i m t th i đi m ch cóội ền thông ớn ọc Bách Khoa Hà Nội ỗi giáo viên ọc Bách Khoa Hà Nội ại Học Bách Khoa Hà Nội ội ờng học ểu ỉ lập thời khoá biểu trên
m t l p h c ội ớn ọc Bách Khoa Hà Nội
Trang 6M c tiêu: ục tiêu:
Tìm ra đượp với chươngc m t th i khóa bi u phù h p, th a mãn t t c các rangội ờng học ểu ợp với chương ỏa mãn ràng buộc Vậy nên ảng dạy trong trường học
g: ch s giáo viên.ỉ lập thời khoá biểu trên ối thầy cô
t: ch s ngàyỉ lập thời khoá biểu trên ối thầy cô
p: ch s phòngỉ lập thời khoá biểu trên ối thầy cô
Tgv: t ng s giáo viênổi họp chuyên môn của các bộ môn, kết quả các buổi ối thầy cô
Tphong: t ng s phongổi họp chuyên môn của các bộ môn, kết quả các buổi ối thầy cô
Tmon: t ng s mônổi họp chuyên môn của các bộ môn, kết quả các buổi ối thầy cô
- Các bi n ràng bu c: ết kế thuật giải………7 ộc của bài toán……….5
+ M ng ảng dạy trong trường học day, hour, room ch a các bi n ràng bu c v ngày gi ngức cũng như kĩ năng lập trình nên bài tập ếu ội ền thông ảng dạy trong trường học
d y, gi b t đ u và phòng h c c a các bu i h c.ại Học Bách Khoa Hà Nội ờng học ần thiết phải lập ra một thời khóa biểu ọc Bách Khoa Hà Nội ủ, bộ giáo dục đã đề ra cũng như với chuyên ổi họp chuyên môn của các bộ môn, kết quả các buổi ọc Bách Khoa Hà Nội
day[] có giá tr 2 ≤ ịch giảng dạy trong trường học day ≤ 6;
hour[] có giá tr 0 ≤ hour ≤ 5;ịch giảng dạy trong trường học
room[] có giá tr 0 ≤ ịch giảng dạy trong trường học room ≤ Tphong
+ M ng ảng dạy trong trường học duration ch a bi n v th i gian kéo dài c a bu i h c (hay làức cũng như kĩ năng lập trình nên bài tập ếu ền thông ờng học ủ, bộ giáo dục đã đề ra cũng như với chuyên ổi họp chuyên môn của các bộ môn, kết quả các buổi ọc Bách Khoa Hà Nội
b ng v i s ti t/tu n c a môn h c đó).ằng với số tiết/tuần của môn học đó) ớn ối thầy cô ếu ần thiết phải lập ra một thời khóa biểu ủ, bộ giáo dục đã đề ra cũng như với chuyên ọc Bách Khoa Hà Nội
+ M ng ảng dạy trong trường học teacher ch a các bi n ràng bu c v ngày gi ng d y, gi b tức cũng như kĩ năng lập trình nên bài tập ếu ội ền thông ảng dạy trong trường học ại Học Bách Khoa Hà Nội ờng học
đ u và phòng h c c a các bu i h c.ần thiết phải lập ra một thời khóa biểu ọc Bách Khoa Hà Nội ủ, bộ giáo dục đã đề ra cũng như với chuyên ổi họp chuyên môn của các bộ môn, kết quả các buổi ọc Bách Khoa Hà Nội
Trang 7+ M ng ảng dạy trong trường học gvtd[] ch a s lức cũng như kĩ năng lập trình nên bài tập ối thầy cô ượp với chươngng ti t t i đa c a giáo viên.ếu ối thầy cô ủ, bộ giáo dục đã đề ra cũng như với chuyên
- Bi u di n ràng bu c: ểu………4 ễn ràng buộc: ộc của bài toán……….5
+ Ràng bu c v giáo viên: L ch gi ng d y c a m i giáo viên khôngội ền thông ịch giảng dạy trong trường học ảng dạy trong trường học ại Học Bách Khoa Hà Nội ủ, bộ giáo dục đã đề ra cũng như với chuyên ỗi giáo viên
b ch ng chéo lên nhau T c là t i m t th i đi m, giáo viên ch đ mịch giảng dạy trong trường học ồm: mã số, tên, số giờ dạy tối đa ức cũng như kĩ năng lập trình nên bài tập ại Học Bách Khoa Hà Nội ội ờng học ểu ỉ lập thời khoá biểu trên ảng dạy trong trường học nhi m gi ng d y m t l p h c.ện Công nghệ thông tin và truyền thông ảng dạy trong trường học ại Học Bách Khoa Hà Nội ội ớn ọc Bách Khoa Hà Nội
(day[i] == day[j]) && (((hour[j]+duration[j]) > hour[i]) || ( hour[i] + duration[i]) > hour[j])) && (teacher[i] == teacher[j])
+ Ràng bu c v s ti t t i đa trong tu n c a giáo viên: S ti t d yội ền thông ối thầy cô ếu ối thầy cô ần thiết phải lập ra một thời khóa biểu ủ, bộ giáo dục đã đề ra cũng như với chuyên ối thầy cô ếu ại Học Bách Khoa Hà Nội
c a giáo viên không đủ, bộ giáo dục đã đề ra cũng như với chuyên ượp với chươngc vượp với chươngt quá s ti t t i đa trong tu n c a giáoối thầy cô ếu ối thầy cô ần thiết phải lập ra một thời khóa biểu ủ, bộ giáo dục đã đề ra cũng như với chuyên viên đó
for (int j = 0; j<i;j++){
if(teacher[i] == teacher[j]){
dem = dem+duration[j];
}
}
dem < gvtd[teacher[i]]
+ Ràng bu c v s ti t/bu i: S ti t h c trong m t bu i không quá 6ội ền thông ối thầy cô ếu ổi họp chuyên môn của các bộ môn, kết quả các buổi ối thầy cô ếu ọc Bách Khoa Hà Nội ội ổi họp chuyên môn của các bộ môn, kết quả các buổi
ti t/bu i ếu ổi họp chuyên môn của các bộ môn, kết quả các buổi
hour[i] + duration[i]) > 6
+ Ràng bu c v l p h c: M i phòng h c t i m t th i đi m ch có m tội ền thông ớn ọc Bách Khoa Hà Nội ỗi giáo viên ọc Bách Khoa Hà Nội ại Học Bách Khoa Hà Nội ội ờng học ểu ỉ lập thời khoá biểu trên ội
l p h c.ớn ọc Bách Khoa Hà Nội
((room[i] == room[j]) && (day[i] == day[j])) && (((hour[j] +duration[j]) > hour[i]) || ( hour[i] + duration[i]) > hour[j]))
IV Thi t k thu t gi i ết kế thuật giải………7 ết kế thuật giải………7 ập thời khóa biểu………4 ả bài toán lập thời khóa biểu………4
1 Thu t toán quay lui (backtracking) ập thời khóa biểu………4
Gi i thu t tìm ki m quay lui (backtracking) ả bài toán lập thời khóa biểu………4 ập thời khóa biểu………4 ết kế thuật giải………7
Trang 8- Gán giá tr l n lịch giảng dạy trong trường học ần thiết phải lập ra một thời khóa biểu ượp với chươngt cho các bi n – vi c gán giá tr c a bi n này ch ếu ện Công nghệ thông tin và truyền thông ịch giảng dạy trong trường học ủ, bộ giáo dục đã đề ra cũng như với chuyên ếu ỉ lập thời khoá biểu trên
đượp với chươngc làm sau khi hoàn thành gán giá tr cho bi n khác.ịch giảng dạy trong trường học ếu
- Sau m i phép gán ki m tra các ràng bu c có đỗi giáo viên ểu ội ượp với chươngc tho mãn b i t t ảng dạy trong trường học ở
c các bi n đã đảng dạy trong trường học ếu ượp với chươngc gán giá tr cho t i th i đi m hi n t i – Quay lui ịch giảng dạy trong trường học ớn ờng học ểu ện Công nghệ thông tin và truyền thông ại Học Bách Khoa Hà Nội
n u có l i (không tho mãn ràng bu c).ếu ỗi giáo viên ảng dạy trong trường học ội
Nh ược điểm của thuật toán quay lui: c đi m c a thu t toán quay lui: ểu………4 ủa bài toán……… 4 ập thời khóa biểu………4
- L p đi l p l i l i: B qua các lý do c a mâu thu nặng Văn Long ặng Văn Long ại Học Bách Khoa Hà Nội ỗi giáo viên ỏa mãn ràng buộc Vậy nên ủ, bộ giáo dục đã đề ra cũng như với chuyên
- L p l i các ki m tra ràng bu c không c n thi tặng Văn Long ại Học Bách Khoa Hà Nội ểu ội ần thiết phải lập ra một thời khóa biểu ếu
- Phát hi n mu n các mâu thu n (vi ph m ràng bu c)ện Công nghệ thông tin và truyền thông ội ại Học Bách Khoa Hà Nội ội
u tiên bi n:
Ưu tiên biến: ết kế thuật giải………7
Vi c u tiên bi n nh m c i thi n hi u qu c a thu t toánện Công nghệ thông tin và truyền thông ư ếu ằng với số tiết/tuần của môn học đó) ảng dạy trong trường học ện Công nghệ thông tin và truyền thông ện Công nghệ thông tin và truyền thông ảng dạy trong trường học ủ, bộ giáo dục đã đề ra cũng như với chuyên ập Lớn
- duration vì liên quan đ n nhi u ràng bu c nh tếu ền thông ội
- day và teacher
Code (java):
public void XepLich(int i){ //i là s th t môn đang xét ối thầy cô ức cũng như kĩ năng lập trình nên bài tập ựa chọn đề tài này!
if(i == Tmon){
XuatDuLieu();
} else {
A: for(int n=0;n < 3;n++){ // duration
for(int t=2;t<=6;t++){ // day
for(int g=0;g<Tgv;g++){ // teacher
for(int p = 0; p < Tphong ;p++){ // room
if(kt(i,p,t,tietbd[n],g)){
// l u giá tr ưu giá trị ị
day[i] = t;
hour[i] = tietbd[n];
Trang 9room[i] = p;
teacher[i] = g;
XepLich(i+1); // hàm đ quy ệ quy
break A;
}
}
}
}
}
}
}
- Hàm ki m tra:ểu public boolean kt(int i, int p, int t, int bd, int g){ if((bd+duration[i])>6){//Ràng bu c v s ti t/bu i ội ền thông ối thầy cô ếu ổi họp chuyên môn của các bộ môn, kết quả các buổi return false; }
int dem = 0; for (int j = 0; j<i;j++){ //Ràng bu c v giáo viên ội ền thông if((t == day[j])&&((hour[j]+duration[j])>bd)&&(g==teacher[j])) { return false; }
//Ràng bu c v l p h c ội ền thông ớn ọc Bách Khoa Hà Nội if(((p == room[j])&&(t == day[j]))&&((hour[j]+duration[j])>bd)) { return false; }
if(g==teacher[j]){ dem = dem+duration[j]; }
}
if(dem>gvtd[g]){ //Ràng bu c v s ti t t i đa trong tu n c a giáo viên ội ền thông ối thầy cô ếu ối thầy cô ần thiết phải lập ra một thời khóa biểu ủ, bộ giáo dục đã đề ra cũng như với chuyên return false; }
return true; }
Trang 10Cây l i gi i: ời mở đầu……… 3 ả bài toán lập thời khóa biểu………4
2 Thu t toán ki m tra ti n (Forward Checking) ập thời khóa biểu………4 ểu………4 ết kế thuật giải………7
Thu t toán ki m tra ti n (Forward Checking): ập thời khóa biểu………4 ểu………4 ết kế thuật giải………7
M c đích c a thu t toán ki m tra ti n là đ tránh các th t b i b ng ục đã đề ra cũng như với chuyên ủ, bộ giáo dục đã đề ra cũng như với chuyên ập Lớn ểu ếu ểu ại Học Bách Khoa Hà Nội ằng với số tiết/tuần của môn học đó)
Ki m tra ti n đ m b o s phù h p gi a bi n đang đểu ếu ảng dạy trong trường học ảng dạy trong trường học ựa chọn đề tài này! ợp với chương ững năm mà công nghệ thông tin chưa phát ếu ượp với chươngc xét gán giá
tr và các bi n khác có liên quan (ràng bu c) tr c ti p v i nó.ịch giảng dạy trong trường học ếu ội ựa chọn đề tài này! ếu ớn
' ỗi giáo viên ướn m i b c gán giá tr , theo dõi các giá tr h p l (có th địch giảng dạy trong trường học ịch giảng dạy trong trường học ợp với chương ện Công nghệ thông tin và truyền thông ểu ượp với chươngc gán) đ i v i các bi n ch a đối thầy cô ớn ếu ư ượp với chươngc gán giá tr ịch giảng dạy trong trường học
Lo i b (d ng) hại Học Bách Khoa Hà Nội ỏa mãn ràng buộc Vậy nên ừng lớp được xác ướnng tìm ki m hi n t i khi có b t kỳ m t ếu ện Công nghệ thông tin và truyền thông ại Học Bách Khoa Hà Nội ội
bi n (ch a đếu ư ượp với chươngc gán giá tr ) nào đó không còn giá tr h p l ịch giảng dạy trong trường học ịch giảng dạy trong trường học ợp với chương ện Công nghệ thông tin và truyền thông
Vì tính ch t c a bài toán, hàm ki m tra các bi n ch a đủ, bộ giáo dục đã đề ra cũng như với chuyên ểu ếu ư ượp với chươngc gán sẽ quy v vi c ki m tra bi n có th i gian h c trong tu n l n nh t, vì n uền thông ện Công nghệ thông tin và truyền thông ểu ếu ờng học ọc Bách Khoa Hà Nội ần thiết phải lập ra một thời khóa biểu ớn ếu
bi n này còn giá tr h p l thì các bi n khác cũng sẽ còn giá tr h p l ếu ịch giảng dạy trong trường học ợp với chương ện Công nghệ thông tin và truyền thông ếu ịch giảng dạy trong trường học ợp với chương ện Công nghệ thông tin và truyền thông
Code (java):
public void FC(int i, boolean B[][][][]){
boolean A[][][][] = new boolean[7][7][Tphong][Tgv];//Mi n giá tr h p l ền thông ịch giảng dạy trong trường học ợp với chương ện Công nghệ thông tin và truyền thông if(i == 0) {
//Kh i t o mi n giá tr ban đ u ở ại Học Bách Khoa Hà Nội ền thông ịch giảng dạy trong trường học ần thiết phải lập ra một thời khóa biểu