Hướng dẫn xếp TKB bằng Excel

  • Thread starter Thread starter aviaiva
  • Ngày gửi Ngày gửi
Liên hệ QC
Xét cặp tiết là sao bạn?Tuy mới xem qua, rất cảm ơn công sức bạn đã bỏ ra để tạo file tiện lợi dùng cho mọi người đang cần thiết trong thực tế các trường phổ thông, hy vọng đóng góp của LKLK sẽ không làm bạn phiền lòng:- ưu điểm:+ Tiện lợi dễ sử dụng vì nằm trong môi trường Excel+ Xét đến nhiều góc độ ứng dụng thực tiễn vì Bạn là người trong ngành+Có file hướng dẫn khá chi tiết-Nhược điểm (nhược nghe vẻ to tát, nhưng là những góp ý hoàn thiện hơn+ Dường như sắp xếp vẫn có vẻ chưa được phương án tốt nhất - vì thấy với dữ liệu bạn đang để trong file thì có những lớp có những buổi trống 1 tiết giữa (tô vàng) vậy trong trường hợp này phải chỉnh lại sao? (trong hướng dẫn không nói các trường hợp xử lý lỗi khi trùng, khi có tiết trống)+ Code bạn viết là khá hay, song có vẻ hơi dài và nặng về copy paste , ghi macro (bạn đừng phiền nhé, có như vậy mới cùng nhau xây lại cho ngắn gọn dễ hiểu hơn+ Hướng dẫn chưa đề cập đến việc xử lý các trường hợp thực tiễn xảy ra để tiệm cân phương án hợp lý một cách nhanh nhất (dĩ nhiên cái này cần bật mí kinh nghiệm ứng dụng của bạn - chỉ có người dùng thực mới bao quát được)* Nếu được (không riêng tư), bạn có thể viết ra đây, hoặc PM cho LKLK về thuật toán bạn xếp TKB thế nào, kiểm tra thế nào, -- để tôi tìm hiểu xem có thể giúp hoàn thiện hơn được công đoạn nào hơn không, xin cảm ơn.
em rất cảm ơn bác vì trình độ có hạn nên chỉ ghi macro rồi tự chỉnh thôi, phần xếp tự động chỉnh mang tính lên khung cơ bản nhất, rồi mọi người tự xếp chính vì thế mà em mới gọi là file hỗ trợ xếp tay thôi chứ không phải là một công cụ hoàn chỉnh để thay con người xếp từ A -> Z.

Về tư tưởng của xếp tự động em xây dựng như sau:
- đầu tiên sẽ chọn randum một giáo viên bất kỳ trên bảng thời khóa biểu
- chọn randum lớp bất kỳ của giáo viên đó
- chọn randum một ngày bất kỳ nằm trong nguyện vọng của giáo viên đó
- nhét các lớp vào sao cho thỏa mãn các điều kiện sau:​
+ xét cặp tiết: (ví dụ môn văn: xếp hai tiết liền của 1 lớp không thì chỉ xếp 1 tiết thôi)
+ số tiết trong một buổi không quá 3
+ tổng số tiết của lớp đó = tổng tiết theo phân công + lớp được chọn thỏa mãn điều kiện là duy nhất​
sau quá trình trên sẽ xuất hiện giáo viên còn thiếu tiết em lại cho randum trong các giáo viên thiếu tiết đó
- Nếu tiết trống > nằm ngoài nguyện vọng: xếp bừa cho đủ
- nếu tiết trống nằm trong vùng nguyện vọng: loại bỏ điều kiện 3 tiết nhét cho đủ​
=========================================================================

Chi tiết về file excel hỗ trợ xếp TKB
Sheet(B1): Phân phối chương trình
- Chứa tên lớp trên TKB
- Tên môn trên TKB
- Số tiết cho từng lớp, từng môn​
Sheet(PCCM): Phân công chuyên môn chứa
- Tên giáo viên giảng dạy
- Lớp giảng dạy được phân theo yêu cầu của Ban giám hiệu
- Nguyện vọng của giáo viên​
Sheet(b3): chứa bảng phân công giáo viên theo lớp và môn
Sheet (GVS), sheet(GVC): chứa bảng TKB toàn trường (sẽ in ra) nơi xếp TKB
sheet(TKB hs): chứa TKB học sinh toàn trường (in ra)

Tư tưởng của file hỗ trợ
Sheet(GVS) làm trung tâm, (GVC : tương tự)
sheet(PCCM) làm data chứa mọi số liệu liên quan để tiến hành xếp TKB,
sheet(B1) chứa các con số để tính toán tiết thiếu, thừa ….​

Những vấn đề nhờ các bác tối ưu (hoặc cho code mới xịn hơn càng tốt)

Sheet(b1) ít sai sót nhất nên không bàn đến. Sheet(PCCM) rất quan trọng cần phải có các hỗ trợ sau:
- Phần môn dạy: phải giới hạn trong các môn có số tiết > 0 ở sáng hoặc chiều
- Phần lớp chọn: phải là lớp có tên trong sheet(B1)
- Hiện thông báo khi giáo viên phân trùng lớp (2 GV cùng môn cùng dạy 1 lớp)
- Hiện thông báo: phân thừa lớp, phân thiếu lớp cho giáo viên, giáo viên chưa được phân lớp dạy​
Sheet(GVS):
- Trường hợp tạo mới: hiện được bảng TKB đã được kẻ vẽ chuẩn
- Phần hỗ trợ:
o Giới hạn được các lớp đã phân cho giáo viêno Hiển thị được thông tin về tiết dạy của giáo viên đóo Hiển thị được tiết trùng
o Hiển thị được lớp trống tiếto Khi PCCM của giáo viên có sự thay đổi (thay giáo viên, đổi lớp dạy của giáo viên, thêm, bớt lớp của giáo viên … mọi yêu trên vẫn phải đáp ứng
o Hỗ trợ lưu trữ và phục hồi các phương án của TKB khi người dùng cần​
- Phần xếp tự động:
o Đúng nguyện vọng
o Hạn chế tiết trốngo Tối ưu buổi dạy​
Vấn đề nhờ giúp đỡ đầu tiên của em (cần tối ưu):
-tối ưu phân xếp tự động giáo viên với các yêu cầu về thuật toán như trên

Phần xếp tự động: chia thành nhiều giai đoạn:
Giai đoạn 1: lên khung TKB (với thuật toán như trên)
Giai đoạn 2: xử lý tiết trùng (có thuật toán chưa đủ trình)
Giai đoạn 3: xử lý tiết trống (có thuật toán chưa đủ trình)
Giai đoạn 4: tối ưu thời khóa biểu theo nguyện vọng theo cấp độ ưu tiên. (có thuật toán chưa đủ trình)
 
Lần chỉnh sửa cuối:
Phần xếp tự động: chia thành nhiều giai đoạn:
Giai đoạn 1: lên khung TKB (với thuật toán như trên)
Giai đoạn 2: xử lý tiết trùng (có thuật toán chưa đủ trình)
Giai đoạn 3: xử lý tiết trống (có thuật toán chưa đủ trình)
Giai đoạn 4: tối ưu thời khóa biểu theo nguyện vọng theo cấp độ ưu tiên. (có thuật toán chưa đủ trình)

OK, cám ơn bạn đã chia sẻ
Tôi đang đọc lại toàn bộ, Nếu có chỗ nào chưa hiểu tôi sẽ hỏi thêm.

Sao tôi thấy trong file 12-11-12 như môn "Anh" các GV dạy không đúng theo lớp phân công vậy, dù tôi đã bấm xếp, phải chăng có nhầm lẫn hay do tôi chưa xem kỹ

Giai đoạn 2: xử lý tiết trùng (có thuật toán chưa đủ trình)
Giai đoạn 3: xử lý tiết trống (có thuật toán chưa đủ trình)

Đã có thuật toán trong code file đó ah? hay là bạn chưa đưa vào?
 
Sao tôi thấy trong file 12-11-12 như môn "Anh" các GV dạy không đúng theo lớp phân công vậy, dù tôi đã bấm xếp, phải chăng có nhầm lẫn hay do tôi chưa xem kỹ

bác bấm cập nhật để cập nhật lại phân công, file test nên em điều chỉnh lung tung nên nó mới lộn.

Giai đoạn 2: xử lý tiết trùng (có thuật toán chưa đủ trình)
Giai đoạn 3: xử lý tiết trống (có thuật toán chưa đủ trình)
Chưa có code trong file đâu vì em có biết viết gì đâu. Em chỉ có cách giải và thường xuyên vào đọc bài trong giaiphapexcel rồi xem câu trả lời của các bác cao thủ rồi bất chợt liên hệ rồi em mới code được.

Bác cứ tối ưu hộ em rồi em đưa ý tưởng về cách giải rồi rảnh rỗi thì bác viết code cho hoàn chỉnh
 
bác bấm cập nhật để cập nhật lại phân công, file test nên em điều chỉnh lung tung nên nó mới lộn.
...
Bác cứ tối ưu hộ em rồi em đưa ý tưởng về cách giải rồi rảnh rỗi thì bác viết code cho hoàn chỉnh

Rùi, tôi đã thử,

Đúng là đọc code người khác mệt thật, và bạn rất giỏi trong sử dụng các hàm sẵn có

Tối ưu thời khóa biểu giờ có nhiều cách, và tìm hiểu trên internet thì thấy nhiều cách hàn lâm và khó khó như Giải thuật Di truyền, AI,...
Nhưng chắc ở đây chúng ta nên thực dụng sử dụng cách đánh giá cho điểm các phương án và chọn phương án chấp nhận (chắc là chưa thể tối ưu hẳn)
 
Rùi, tôi đã thử,

Đúng là đọc code người khác mệt thật, và bạn rất giỏi trong sử dụng các hàm sẵn có

Tối ưu thời khóa biểu giờ có nhiều cách, và tìm hiểu trên internet thì thấy nhiều cách hàn lâm và khó khó như Giải thuật Di truyền, AI,...
Nhưng chắc ở đây chúng ta nên thực dụng sử dụng cách đánh giá cho điểm các phương án và chọn phương án chấp nhận (chắc là chưa thể tối ưu hẳn)

em có giỏi gì đâu toàn google, có lẽ cái em giỏi đó là sử dụng từ khóa khi tìm kiểm nên kiểu gì cũng mò ra, còn khó quá thì vào diễn đàn hỏi rồi đáp các bác pro thường thì không có vấn đề gì là không giải quyết.
 
Lần chỉnh sửa cuối:
cập nhật file hỗ trợ xếp TKB bằng xls ngày 19-11-12, tối ưu phần xếp tự động, đã rất gần với một bản TKB hoàn chỉnh, thêm một vài video hướng dẫn một vài kỹ thuật xếp TKB tay.
 
File 19-11-12 tương đối ổn rồi
 
Lần chỉnh sửa cuối:
File 19-11-12 tương đối ổn rồi nhưng lại không có tên GV đi kèm môn như File 12-11-12. Thầy chỉnh sửa giúp được không? Cảm ơn thầy, vì địa phương tôi TKB cứ phải có tên GV đi kèm thì lãnh đạo mới chịu.

file kèm theo tên giáo viên của bác đây
 

File đính kèm

Một mùa giải mới sắp đến, tặng các bạn file xếp TKB hỗ trợ tối đa thao tác xếp tay và một phần xếp tự động theo nguyện vọng của giáo viên => xem bài đầu nhé!
 
cập nhật file hỗ trợ xếp TKB ngày 16-7-13, một số nội dung cập nhật:
- tối ưu xếp tự động theo nguyện vọng
- bổ xung tiết cấm xếp
- xếp tiết cố định linh động hơn
bác nào quan tâm file test bài đầu (file ****GV thời khóa biểu học sinh có thêm tên GV)
 
Cám ơn Bạn nhiều. Đánh dấu phát khi nào rảnh vào nghiên cứu thêm.
 
File Test 16-7-13 (GV) ko xêp TKB tự động được!
 
Tôi đã nhập đủ PPCT (nhưng có khối 9 không học Nhạc, khối 6 không học Hóa, ...) khi xếp tự động cứ yêu cầu kiểm tra PCCM, ko xếp được. Nhờ giúp đỡ.
Và trường tôi ngoài tiết CC và SH thì còn có tiết HĐNGLL cũng cố định nên thầy có thể thêm một tiết cố định nữa đc ko? Cảm ơn nhiều!
 
Lần chỉnh sửa cuối:
Tôi đã nhập đủ PPCT (nhưng có khối 9 không học Nhạc, khối 6 không học Hóa, ...) khi xếp tự động cứ yêu cầu kiểm tra PCCM, ko xếp được. Nhờ giúp đỡ.
Và trường tôi ngoài tiết CC và SH thì còn có tiết HĐNGLL cũng cố định nên thầy có thể thêm một tiết cố định nữa đc ko? Cảm ơn nhiều!
bác có thể gửi file trường bác lên được không?
NGLL em coi nó là một môn học có giáo viên dạy nên không liệt nó vào mục tiết cố định
 

File đính kèm

Bác xem file đính kèm nhé, để TKB xếp được đẹp phần nguyện vọng trong shet(GV) bác nên tích dấu "x" theo nguyện vọng giảng dạy của giáo viên, nếu tiết nào cấm xếp thì chữ "k"
Bác đánh giá TKB này xử lí tầm bao nhiêu % bác, tôi cũng tò mò quá nhưng chưa có ĐK test
Cảm ơn bác
 
chao bac aviaiva. toi co thac mac sao khi xep tay, tiet trung ko hien mau do nhu phien ban truoc (cai do toi thay hay day nen giu lai).
 
chao bac aviaiva. toi co thac mac sao khi xep tay, tiet trung ko hien mau do nhu phien ban truoc (cai do toi thay hay day nen giu lai).

dạ em vẫn giữ lại, chắc shet ẩn "RS" bị lỗi, bác có thể làm theo cách sau để lấy lại chuột phải vào một shet bất kỳ chọn unhide rồi chọn shet"RS" bác delete nó đi copy shet("RS") mới sang rồi tạo mới TKB rồi load file cũ hoặc nhanh nhất là bác down file mới này

thichthibup đã viết:
Bác đánh giá TKB này xử lí tầm bao nhiêu % bác, tôi cũng tò mò quá nhưng chưa có ĐK test
Cảm ơn bác

Thực ra đánh giá rất khó, em định cho đếm số tiết xếp đúng theo nguyện vọng của giáo viên rồi chia cho tổng số tiết đã xếp, nhưng như thế thì con số đó không có ý nghĩa lắm, nên tạm thời chưa nghĩ ra.
 

File đính kèm

Lần chỉnh sửa cuối:
Web KT

Bài viết mới nhất

Back
Top Bottom