140 likes | 304 Views
Thuật toán Xếp Phòng KTX. Graph Simulation & Tracking. Phát biểu vấn đề. Sắp xếp cả ngàn sinh viên vào hàng trăm phòng trong hệ thống kí túc xá ? Sắp bằng tay? => tốn chi phí, dễ sai, không khoa học.
E N D
Thuật toán Xếp Phòng KTX Graph Simulation & Tracking
Phát biểu vấn đề • Sắp xếp cả ngàn sinh viên vào hàng trăm phòng trong hệ thống kí túc xá ? • Sắp bằng tay? => tốn chi phí, dễ sai, không khoa học. • Cần thuật toán sắp xếp tự động có thể phân tích và sắp xếp hàng loạt sinh viên theo các tiêu chí và ràng buộc.
Input • Danh sách sinh viên(tên, giới tính, tỉnh, quốc gia, khoa, khóa …) • Danh sách các phòng trong ktx mỗi phòng có ràng buộc hoặc không(Ràng buộc gồm: chổ trống, Tỉnh, giới tính, quốc gia …)
Output • Danh sách các phòng được thêm sinh viên vào không đụng độ ràng buộc • Nam ở riêng, Nữ ở riêng, Quốc gia riêng. • Tỉnh ở riêng(trừ trường hợp ngoại lệ). • Các sinh viên ở chung phòng phải có mối quan hệ hoặc mức tương đồng lớn với nhau. • Sắp xếp hợp lý • Phân bố sinh viên đều đặn ở các phòng, • Ưu tiên các phòng ở tầng thấp hơn • Ràng buộc không quá cứng nhắc (trừ ràng buộc cứng)
Ý tưởng xây dựng thuật toán 27 • Mô hình hóa bài toán theo đồ thị • Mỗi sinh viên là một đỉnh trên đồ thị • Cạnh nối giữa các sinh viên (trọng số) là mức tương đồng giữa 2 sinh viên, mức tương đồng càng lớn thì xác suất hai sinh viên được ở chung phòng là càng lớn.
Ý tưởng xây dựng thuật toán • Mức tương đồng phụ thuộc vào các điểm tương đồng (giới tính, tỉnh, trường, khóa, khoa…), mỗi điểm tương đồng có một độ ưu tiên nhất định . Ví dụ: ưu tiên Tỉnh cao hơn ưu tiên Khoa. • Trong đó có 2 loại ràng buộc tương đồng • Ràng buộc cứng: giới tính, quốc gia. Nếu không thỏa ràng buộc cứng thì không có cạnh nối. • Ràng buộc mềm: các thuộc tính như tỉnh, trường, khoa… mỗi thuộc tính có một độ ưu tiên khác nhau.
Ý tưởng xây dựng thuật toán • Thuật toán sẽ chọn ra một đỉnh (ứng với 1 SV) sau đó đánh dấu đỉnh(gán phòng cho sinh viên). Lần lược chọn đỉnh khác nối tới đỉnh vừa chọn có trọng số lớn nhất trong các đỉnh nối tới đỉnh đó mà chưa được đánh dấu đỉnh.
Mô hình đồ thị Độ ưu tiên Tỉnh: 10 Trường:4 Gener: Nam : HCM : BK Gener: Nam : HN : KT Gener: Nam : HCM : KHXHNV 10 10 10 5 Gener: Nữ : HCM : KHTN Gener: Nam : HCM : KHTN Gener: Nam : HN : KHTN 10 15 10 5 5 Gener: Nữ : VT : BK Gener: Nam : HCM : KHTN Gener: Nữ : HN : KHTN
Thuật toán Phòng: null A01 ? B32 10 ? 24 31 ? 7 ?
Thuật toán • Các bước thuât toán: • Bước 1: Khởi tạo đồ thị • Bước 2: Xây dựng trọng số giữa các đỉnh • Bước 3: Thực hiện đánh dấu phòng cho các đỉnh • Bước 4: Tối ưu kết quả sắp xếp • Bước 5: Kết thúc thuật toán • Độ phức tạp:
Tối ưu • Tốcđộ • Kếtquả • Xữlýchonhữngsinhviênchưaphânphòng • Sắpnhữngphòngthuậntiệnnhấtcho SV • Đồngđềugiữacácphòng • Hổtrợsắpxếpbằngtaychonhữngtrườnghợpkhôngđượcxếpđược. • Kếtquảtheođộưutiên: theochínhkiếnvàkinhnghiệmquảnlý • Nhữngsinhviênđã ở trước? => done
Áp dụng cho QLKTX KHTN • KTX KHTN • Tổngsốphòng: • Sứcchứa: • Bốcụccácphòng: 2 Khu(Nam, Nữ). Mỗikhunhàcónhiềulầu • Dữliệusinhviênđầuvào: • Tổngsốlượng: • SốSv Nam: • SốSvNữ: • Sốtỉnh: • SốKhoa: • …
Question ???
Tata for now Thank you for your attention