Nghiên cứu kết hợp thuật toán cặp ghép và tham lam giải quyết bài toán thời khóa biểu trường chuyên

Kết hợp thuật toán cặp ghép và thuật toán tham lam vào việc giải quyết bài toán thời khóa biểu trường chuyên là khâu đột phá ban đầu cho việc Tin học hóa toàn bộ việc xếp thời khóa biểu cũng nhưcác công việc quản lý khác của Trường THPT Chuyên Lê Quý Đôn, hệ thống trường chuyên trên toàn quốc; cho ra được một sản phẩm xếp thời khóa biểu tương đối tốt với nhiều tính năng nổi trội: Việc cập nhật, xử lý dữ liệu nhanh với tốc độgần nhưtức thời. Thông tin được thểhiện trên màn hình một cách hợp lý, cho phép người dùng quan sát một không gian rộng lớn của thời khóa biểu, trên màn hình hiện rõ thông tin trong 1 buổi học của một lớp học có liên kết với thời khóa biểu của giáo viên và phòng học tương ứng. Chương trình đã xử lý được các kỹ thuật đặc thù của thời khóa biểu nhưghép lớp, tách lớp. Phần mềm xếp tự động hoàn toàn, dữ liệu đáp ứng hầu hết các ràng buộc thông thường của thời khóa biểu.

pdf26 trang | Chia sẻ: lylyngoc | Lượt xem: 2839 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Nghiên cứu kết hợp thuật toán cặp ghép và tham lam giải quyết bài toán thời khóa biểu trường chuyên, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1 BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG ĐỒN CƯỜNG NGHIÊN CỨU KẾT HỢP THUẬT TỐN CẶP GHÉP VÀ THAM LAM GIẢI QUYẾT BÀI TỐN THỜI KHĨA BIỂU TRƯỜNG CHUYÊN Chuyên ngành : KHOA HỌC MÁY TÍNH Mã số: : 60.48.01 TĨM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT Đà Nẵng - Năm 2011 2 Cơng trình được hồn thành tại ĐẠI HỌC ĐÀ NẴNG Người hướng dẫn khoa học: TS. Nguyễn Thanh Bình Phản biện 1: PGS.TS. Lê Văn Sơn Phản biện 2: TS. Trương Cơng Tuấn Luận văn được bảo vệ trước Hội đồng chấm Luận văn tốt nghiệp thạc sĩ kỹ thuật họp tại Đại học Đà Nẵng vào ngày 18 tháng 06 năm 2011 * Cĩ thể tìm hiểu luận văn tại: - Trung tâm Thơng tin - Học liệu, Đại học Đà nẵng - Trung tâm Học liệu, Đại học Đà Nẵng. 3 MỞ ĐẦU 1. LÝ DO CHỌN ĐỀ TÀI Việc chia thời khĩa biểu (TKB) cho các Trường THPT Chuyên trên tồn quốc là vấn đề hết sức khĩ khăn. Vì trường chuyên cĩ những đặc thù riêng biệt: đối với trường chuyên mỗi học kỳ phải chia thành nhiều giai đoạn, tại mỗi giai đoạn số tiết dạy của từng bộ mơn phải cĩ sự thay đổi để đáp ứng được tiến độ của từng bộ mơn chuyên, nên tất cả các trường chuyên đều phải làm thủ cơng, dẫn đến kết quả khơng mấy khả quan. Hiện cĩ một số phần mềm xếp TKB của Cục Cơng nghệ Thơng tin, hay một số tổ chức khác dành cho trường THPT bình thường nhưng hiệu quả khơng cao, khơng đáp ứng được nhu cầu của từng giáo viên. Vì vậy, các trường này phải tự làm thủ cơng, cịn nếu áp dụng cho trường chuyên thì khơng thể được. Cơng nghệ Thơng tin đã và đang trên đà phát triển mạnh mẽ trên tồn cầu, nhưng việc chia thời khĩa biểu cho tất cả các trường THPT trên tồn quốc nĩi chung, trường THPT chuyên nĩi riêng vẫn phải làm thủ cơng, nên hiệu quả khơng cao, lại mất rất nhiều thời gian và cơng sức. Bài tốn đặt ra là vấn đề xếp thời khĩa biểu cho trường THPT chuyên, với nhiều cơ sở khác nhau. Cần cĩ sự sắp xếp lịch học cho các lớp tại các phịng ở mỗi địa điểm, sao cho vừa hợp lý lại vừa tiện dụng nhất, phù hợp với từng bộ mơn chuyên. Bài tốn bao gồm tất cả các vấn đề cĩ liên quan đến việc xếp thời khĩa biểu ở trường THPT chuyên, chẳng hạn đặt lớp học vào một phịng sao cho tương ứng về sức chứa của nĩ, tránh việc học trùng giờ tại một phịng của các lớp; giáo viên sẽ dạy theo giờ quy định trong bảng phân cơng, đảm bảo quy chế của Bộ Giáo dục & 4 Đào tạo. Thơng thường, cơng việc này được làm bằng tay, tất nhiên chúng ta luơn thực hiện được và cho ra kết quả tương đối tốt, nhưng phải mất nhiều thời gian và ít nhất phải cĩ kinh nghiệm xếp lịch nếu khơng muốn cĩ sai sĩt xảy ra, chẳng hạn như: chỗ này thừa phịng, chỗ khác lại thiếu, sai chỗ, sai giờ,... Vấn đề của bài tốn là ngồi việc thực hiện đúng, chính xác, cịn phải tốt hơn, nhanh hơn và hiệu quả hơn cơng việc xếp lịch bằng tay mà chúng ta vẫn phải làm. Trường THPT chuyên Lê Quý Đơn cĩ nhiều đặc trưng riêng. Nhu cầu đến lớp của giáo viên khác nhau, một số người thích đến lớp trong một số ngày nào đĩ trong tuần, nên việc xếp TKB cũng cĩ nhiều điểm khác so với các Trường THPT khác. Chính vì lý do này, đề tài nghiên cứu thuật tốn cặp ghép và áp dụng nĩ để làm sao thỏa mãn một cách tốt nhất các nhu cầu của giáo viên. Ví dụ khi chia TKB cho lớp ghép là một vấn đề, giả sử cĩ lớp vừa chuyên Anh vừa chuyên Pháp, thì tại một số thời điểm phải cĩ 2 giáo viên cùng dạy cho lớp này nhưng phải đảm bảo các tính chất của một lớp chuyên. Xuất phát từ những lý do trên mà tơi đã chọn đề tài “Nghiên cứu kết hợp thuật tốn cặp ghép và tham lam giải quyết bài tốn thời khĩa biểu trường chuyên” ứng dụng tại Trường THPT chuyên Lê Quý Đơn, cĩ giải pháp và chương trình, sản phẩm cụ thể làm đề tài luận văn tốt nghiệp thạc sĩ của mình. Chương trình được xây dựng và ứng dụng sẽ giúp hồn thiện hơn kiến thức được học và cĩ ý nghĩa khoa học, thực tiễn cao. 2. MỤC TIÊU VÀ NHIỆM VỤ NGHIÊN CỨU - Mục tiêu 5 o Hồn thành sản phẩm là một chương trình chia thời khĩa biểu Trường THPT Chuyên Lê Quý Đơn. o Tiếp tục phát triển ứng dụng chia thời khĩa biểu cho tất cả các trường THPT Chuyên, THPT trên tồn quốc. - Nhiệm vụ o Phân tích các đặc thù riêng biệt cĩ số liệu của tất cả các trường chuyên trên tồn quốc, đề ra giải pháp hợp lý trong việc xây dựng và triển khai hệ thống. o Nghiên cứu kết hợp thuật tốn cặp ghép và tham lam giải quyết bài tốn thời khĩa biểu Trường THPT chuyên Lê Quý Đơn. o Phân tích, đánh giá và đề ra giải pháp chia thời khố biểu một cách tự động và chính xác. o Nghiên cứu, ứng dụng cơng nghệ dotNet, ngơn ngữ C# trong tiến trình xây dựng hệ thống. o Xây dựng sản phẩm hồn thiện sử dụng tại Trường THPT chuyên Lê Quý Đơn. 3. PHƯƠNG PHÁP NGHIÊN CỨU - Tư liệu: Tổng hợp các tài liệu liên quan đến thuật tốn cặp ghép và tham lam, cũng như các quy chế trường chuyên. - Phân tích: Phân tích quy chế trường chuyên, xác định các yêu cầu của từng đối tượng cụ thể. - Thực nghiệm: Xây dựng chương trình chia thời khĩa biểu và xuất ra tệp Excel, tích hợp với CSDL của Phịng giáo vụ. 6 Tổng hợp lại hệ thống để đưa thời khĩa biểu lên WebSite của Trường chuyên Lê Quý Đơn Đà Nẵng. 4. Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN CỦA ĐỀ TÀI - Về mặt lý thuyết: Đề tài nghiên cứu giúp hiểu rõ hơn về sự kết hợp thuật tốn cặp ghép và thuật tốn tham lam. - Về mặt thực tiễn: Xây dựng một chương trình phục vụ nhu cầu thực hiện chia thời khĩa biểu tự động nhằm giảm thời gian và chi phí bằng tay như hiện nay. 5. NỘI DUNG CỦA LUẬN VĂN Luận văn được trình bày cĩ 3 chương chính. Chương 1: Mơ hình bài tốn thời khĩa biểu trường chuyên Chương này trình bày tổng quan bài tốn thời khĩa biểu tại các trường THPT, THPT chuyên trên tồn quốc, cũng như các phần mềm thời khĩa biểu hiện cĩ tại Việt Nam và trên thế giới. Chương 2: Kết hợp thuật tốn cặp ghép và tham lam giải quyết bài tốn thời khĩa biểu Trong chương này trình bày cơ sở lý thuyết của thuật tốn cặp ghép và thuật tốn tham lam, giải pháp kết hợp của hai thuật tốn này vào việc giải quyết bài tốn thời khĩa biểu trường chuyên. Chương 3: Xây dựng chương trình và thử nghiệm Triển khai một chương trình máy tính cài đặt phần mềm thời khĩa biểu trường chuyên được thể hiện chi tiết; thử nghiệm và đánh giá các kết quả đạt được thơng qua việc áp dụng thuật tốn cặp ghép và tham lam, tự động hĩa bài tốn TKB 7 trường chuyên và các chức năng tinh chỉnh thủ cơng, nhằm tạo ra một thời khĩa biểu tinh về chất, áp dụng tốt cho trường chuyên trên tồn quốc. 8 CHƯƠNG 1 – BÀI TỐN THỜI KHĨA BIỂU TRƯỜNG THPT CHUYÊN Bài tốn xếp thời khĩa biểu đã từ lâu trở thành một bài tốn nổi tiếng và thu hút được sự quan tâm của rất nhiều nhà nghiên cứu, nhiều chuyên gia trong các lĩnh vực liên quan. Sự "nổi tiếng" của bài tốn này khơng chỉ được đo bởi độ phức tạp của vấn đề, mà cịn ở tính thực tiễn, khả năng áp dụng rất cao trên thực tế. Bất cứ một nhà trường nào, thời khĩa biểu học tập của học sinh và giảng dạy của giáo viên đã và luơn là bộ xương sống cơ bản nhất kết nối hầu như tồn bộ các hoạt động của nhà trường. Chính vì lẽ đĩ bài tốn xếp thời khĩa biểu trở thành một trong những vấn đề chính và quan trọng vào bậc nhất của mỗi nhà trường. Hiện nay ở Việt Nam cĩ khoảng 25 000 trường phổ thơng từ Tiểu học đến THCS và THPT và cĩ nghĩa là sẽ cĩ tối thiểu từng đĩ giáo viên đang làm nhiệm vụ xếp thời khĩa biểu. Xếp thời khĩa biểu thực sự là một cơng việc khĩ. Cái khĩ ở đây được thể hiện theo 3 lý do sau: Thứ nhất, việc xếp TKB là một việc địi hỏi tư duy, suy luận, tính tốn rất phức tạp, rất dễ nhầm lẫn, trùng giờ trùng tiết. Phải là người cĩ kinh nghiệm và hiểu biết về cơng việc này mới làm được. Thứ hai, người xếp thời khĩa biểu là người "làm dâu trăm họ", rất khĩ cĩ thể đáp ứng được các nhu cầu khác nhau của tồn bộ đội ngũ giáo viên trong trường. Các ràng buộc của giáo viên trong nhà trường lại rất mâu thuẫn, chồng chéo lẫn nhau. Thứ ba, cơng việc xếp TKB địi hỏi một số tư duy đặc biệt, rất đặc thù của "nghề xếp TKB". Khơng phải ai cũng cĩ thể rèn luyện để cĩ những kinh nghiệm và tư duy này. Người xếp TKB, ngồi việc phải 9 rất am hiểu về các chương trình mơn học, hiểu rõ tính nết và yêu cầu của các giáo viên trong nhà trường, cịn phải cĩ được những tư duy nghề nghiệp của cơng việc xếp thời khĩa biểu [16]. Trong chương này chúng tơi trình bày các vấn đề sắp xếp TKB tại các trường THPT trên tồn quốc, giới thiệu tổng quan bài tốn TKB trường chuyên, các phần mềm thời khĩa biểu hiện cĩ tại Việt Nam và thế giới. 1.1. VẤN ĐỀ SẮP XẾP THỜI KHĨA BIỂU TRƯỜNG THPT 1.1.1. Dùng phương pháp thủ cơng để sắp xếp thời khĩa biểu Trường THPT 1.1.2. Dùng phần mềm để sắp xếp TKB Trường THPT 1.2. SẮP XẾP THỜI KHĨA BIỂU TRƯỜNG THPT CHUYÊN Bài tốn sắp xếp TKB là một bài tốn khĩ. Việc chia thời khĩa biểu cho các Trường THPT Chuyên trên tồn quốc lại càng hết sức khĩ khăn. Vì trường chuyên cĩ những đặc thù riêng biệt; đối với trường chuyên mỗi học kỳ phải chia thành nhiều giai đoạn, tại mỗi giai đoạn số tiết dạy của từng bộ mơn phải cĩ sự thay đổi để đáp ứng được tiến độ của từng bộ mơn chuyên, nên tất cả các trường chuyên đều phải làm thủ cơng, dẫn đến kết quả khơng mấy khả quan. Mặc dù hiện nay Cơng nghệ Thơng tin phát triển rất mạnh, đã giải quyết được nhiều ứng dụng trong cuộc sống, nhưng chưa cĩ thuật tốn nào tối ưu để giải quyết được bài tốn thời khĩa biểu. Các phần mềm sắp xếp TKB hiện nay, chưa cĩ phần mềm nào áp dụng được cho trường THPT chuyên trên tồn quốc nĩi chung, trường THPT chuyên Lê Quý Đơn nĩi riêng. Vì vậy, tại các trường này phải dùng tay để sắp xếp TKB nên tốn rất nhiều thời gian và 10 cơng sức, nhất là người sắp xếp TKB phải hiểu sâu sắc về chuyên mơn, cách phân chia số tiết cụ thể cho từng bộ mơn chuyên, nắm được quy chế trường chuyên cũng như các đặc thù của từng giáo viên dạy chuyên, họ phải biết phân chia theo từng giai đoạn để đáp ứng kịp thời tiến độ và theo kịp yêu cầu của Bộ Giáo dục và Đào tạo. Từ đĩ mới thực hiện việc chia TKB cho phù hợp, cuối cùng cho ra được một TKB tương đối tốt, tuy nhiên phải mất rất nhiều thời gian và cơng sức. 1.2.1. Giới thiệu bài tốn Từ những hiện trạng khĩ khăn trong vấn đề giải quyết bài tốn TKB trường THPT chuyên cũng như hệ thống THPT chuyên trong đại học (gọi tắt là trường chuyên), chúng tơi chọn “Nghiên cứu kết hợp thuật tốn cặp ghép và tham lam giải quyết bài tốn thời khĩa biểu trường chuyên” với bộ dữ liệu thực của trường THPT chuyên Lê Quý Đơn làm dữ liệu cở sở để giải quyết bài tốn TKB trong luận văn này. Bài tốn đặt ra là vấn đề xếp thời khĩa biểu cho trường THPT chuyên Lê Quý Đơn với nhiều cở sở khác nhau, cần cĩ sự sắp xếp lịch học cho các lớp tại các phịng ở mỗi địa điểm, sao cho vừa hợp lý lại vừa tiện dụng nhất, phù hợp với từng bộ mơn chuyên. Bài tốn đặt ra bao gồm tất cả các vấn đề cĩ liên quan đến việc xếp thời khĩa biểu ở trường THPT chuyên Lê Quý Đơn, chẳng hạn như: đặt lớp học vào một phịng sao cho tương ứng về sức chứa của nĩ, tránh việc học trùng giờ tại một phịng của các lớp, nhất là những lớp ghép; giáo viên sẽ dạy theo giờ qui định trong bảng phân cơng. Thơng thường, cơng việc này được làm bằng tay, tất nhiên chúng ta luơn thực hiện được và luơn cho ra kết quả tương đối tốt, nhưng phải mất nhiều thời gian và ít nhất phải cĩ kinh nghiệm xếp lịch nếu 11 khơng muốn cĩ sai sĩt xảy ra, chẳng hạn như: chỗ này thừa phịng, chỗ khác lại thiếu, sai chỗ, sai giờ... .Vấn đề của bài tốn là ngồi việc thực hiện đúng, chính xác, cịn phải tốt hơn, nhanh hơn và hiệu quả hơn cơng việc xếp lịch bằng tay mà chúng ta vẫn phải làm. Trường THPT chuyên Lê Quý Đơn là trường cĩ nhiều đặc trưng riêng, nên việc xếp TKB cũng cĩ nhiều điểm khác so với các trường THPT khác. Khi chia TKB cho lớp ghép là một vấn đề cần quan tâm. Lớp ghép chuyên Anh - Pháp, thì tại một thời điểm phải cĩ hai giáo viên cùng dạy cho lớp này tại hai phịng khác nhau nhưng phải đảm bảo các tính chất của một lớp chuyên. Đối với giáo viên là nam cĩ độ tuổi từ 50 trở lên hoặc giáo viên nữ cĩ độ tuổi lớn hơn 40 thì khơng được phép dạy 4 tiết liên tục trên một buổi. Hay đối với giáo viên là nữ cĩ con nhỏ hơn 18 tháng tuổi thì khơng được dạy tiết đầu hay tiết cuối mỗi buổi. Điều đáng nĩi ở đây là phải làm thế nào đĩ mà TKB cho mỗi giáo viên phải được cho là tốt nhất. 1.2.2. Phát biểu bài tốn Ngay khi vấn đề được đặt ra, chúng ta đã thấy bài tốn phải được giải quyết trên hai nền tảng cơ bản: nghiệp vụ và kỹ thuật. Muốn đọc hiểu được một thơng tin của thời khĩa biểu, yêu cầu dữ liệu phải được hiển thị đầy đủ, khơng thiếu sĩt, khơng bị sai lệch, phải phù hợp với nghiệp vụ đề ra. Phần kỹ thuật cũng vậy, phải xử lý tất cả những yêu cầu riêng biệt từ các đối tượng gửi đến, chúng được xem như là thành phần ràng buộc của bài tốn, bắt buộc vấn đề phải thỏa mãn và đáp ứng hồn tồn. Vì vậy, chúng tơi sẽ phân tích bài tốn trên hai thành phần đĩ. 12 1.2.3. Dữ liệu bài tốn Như đã nĩi ở trên, thơng tin sẽ phát sinh từ các đối tượng chính trong bài tốn. Do đĩ, các dữ liệu luơn cĩ mối liên hệ với nhau, phần lớn vì nhu cầu nghiệp vụ mà dữ liệu xuất hiện tương đối nhiều. Trong bài tốn xếp thời khĩa biểu của trường THPT chuyên Lê Quý Đơn, cụ thể sẽ địi hỏi các thơng tin sau: - Danh sách cơ sở o Danh sách giáo viên. o Danh sách khĩa học (Khối 10, Khối 11, Khối 12). o Danh sách lớp học: o Danh sách phịng học (30 phịng, chia làm khu A, khu B và khu C). o Danh sách mơn học và số tiết học do Bộ Giáo dục và Đào tạo quy định. o Danh sách mơn học và số tiết học do trường điều chỉnh (theo từng giai đoạn). o Danh sách 12 mơn học bắt buộc cho các lớp: Tốn, Lý, Hĩa, Sinh, Tin, Văn, Sử, Điạ, Anh, Pháp, Cơng Dân, Nơng Nghiệp/Cơng Nghiệp. o Danh sách mơn chuyên cho từng lớp: Tốn học,Vật Lý, Hĩa học, Sinh học, Tin học, Ngữ Văn, Lịch Sử, Điạ Lí,Tiếng Anh, Tiếng Pháp. - Bảng phân cơng giáo viên giảng dạy tại các lớp. - Bảng yêu cầu ràng buộc của giáo viên với lịch dạy. - Bảng yêu cầu ràng buộc của lớp với lịch học. - Bảng yêu cầu ràng buộc của phịng với lịch sử dụng. 13 1.2.3.1. Các đối tượng sử dụng Các đối tượng chính yếu xung quanh mơ hình xếp thời khĩa biểu, chính là thành phần đầy đủ tính năng của chương trình trong bài tốn. Tất cả được liệt kê như sau: - Giáo viên, - Lớp học, - Mơn học, - Phịng học, - Số tiết. 1.2.3.2. Mối quan hệ giữa các đối tượng Trên lịch lớp học, thể hiện rõ thơng tin các đối tượng liên quan nhau ở tại thời điểm tiết học, tất cả cùng nằm trong một bảng này. Hay nĩi cách khác bảng lịch lớp học là phần thể hiện mối quan hệ của các đối tượng: giáo viên, lớp học và mơn học. Sau này lớp học đặt trong một lịch cơ sở cụ thể, gây phát sinh mới, tạo quan hệ thứ hai, giữa lớp học và phịng học. Đĩ là mối quan hệ lịch cơ sở. 1.2.4. Các ràng buộc bài tốn Trong mơ hình bài tốn, các đối tượng cĩ những yêu cầu, ràng buộc riêng biệt khác nhau với cơng việc của mình, và được nhập vào kèm theo ngay khi đối tượng xuất hiện. Song song đĩ, với nghiệp vụ lịch thực thi, cĩ rất nhiều thơng số, và mối quan hệ các đối tượng tạo ra một ràng buộc chung, như là bộ luật thống nhất trong tồn hệ thống. Phần mềm TKB phải thỏa mãn các ràng buộc dưới đây: - Mỗi giáo viên cĩ ràng buộc riêng. - Mỗi lớp học cĩ ràng buộc riêng. 14 - Mỗi phịng học cĩ ràng buộc riêng. - Mơn học tại một lớp khơng xuất hiện trong bảng lịch lớp nhiều lần. - Giáo viên và mơn học trong cùng một lớp khơng xuất hiện trong bảng lịch lớp nhiều lần. - Tại một thời điểm khơng xuất hiện nhiều lớp học tại một phịng trong bảng lịch cơ sở. - Sức chứa của phịng phải lớn hơn hoặc bằng số học sinh cĩ trong lớp học mà được xếp học ở phịng đĩ. - Tại một thời điểm lớp duy nhất học một mơn. - Mỗi lớp học chỉ học trong một buổi. - Số tiết học của một mơn trong 1 lần, phải theo qui định; tối đa 2 tiết trong một lần học, cịn đối với lớp học các mơn chuyên thì phải học liên tiếp 4 tiết. 1.2.4.1. Ràng buộc dữ liệu nhập vào 1.2.4.2. Ràng buộc nghiệp vụ - thời gian 1.2.4.3. Ràng buộc nghiệp vụ - chuyên mơn 1.2.4.4. Các yêu cầu chức năng 1.2.5. Các yêu cầu phi chức năng 1.3. CÁC CƠNG CỤ HỖ TRỢ HIỆN TẠI 1.3.1. Phần mềm thời khĩa biểu tại Việt Nam 1.3.2. Phần mềm thời khĩa biểu trên thế giới 15 1.4. TỔNG KẾT CHƯƠNG 1 Từ hiện trạng của bài tốn thời khĩa biểu trường THPT nĩi chung, trường chuyên trên tồn quốc nĩi riêng, đã cho chúng ta thấy được: Hiện nay, Cơng nghệ Thơng tin đang trên đà phát triển rất mạnh và đã ứng dụng nhiều vào trong cuộc sống, nhưng vẫn chưa cĩ thuật tốn nào tối ưu để giải quyết bài tốn thời khĩa biểu. Vì vậy, chúng tơi chọn kết hợp thuật tốn cặp ghép và thuật tốn tham lam giải quyết bài tốn TKB trường chuyên. CHƯƠNG 2 – KẾT HỢP THUẬT TỐN CẶP GHÉP VÀ THAM LAM GIẢI QUYẾT BÀI TỐN THỜI KHĨA BIỂU Từ những yêu cầu bức thiết của trường THPT chuyên Lê Quý Đơn nĩi riêng, trường chuyên trên tồn quốc nĩi chung, áp dụng các phần mềm TKB hiện cĩ trên thị trường vào việc sắp xếp TKB cho các trường chưa được tốt, chúng tơi đã chọn kết hợp thuật tốn cặp ghép và thuật tốn tham lam giải quyết bài tốn TKB với hai lý do chính sau: thứ nhất, thuật tốn cặp ghép dùng để thỏa mãn ràng buộc của từng giáo viên; Thứ hai, thuật tốn tham lam dùng để chọn các cặp giáo viên ở bước xếp thơ TKB đầu tiên. Trong chương này chúng ta trình bày cơ sở lý thuyết của thuật tốn cặp ghép và thuật tốn tham lam, giải pháp kết hợp của hai thuật tốn này vào việc giải quyết bài tốn thời khĩa biểu trường chuyên. 2.1. THUẬT TỐN CẶP GHÉP 2.1.1. Bài tốn phân cơng 2.1.2. Phân tích bài tốn 2.1.3. Thuật tốn 16 2.1.3.1. Các khái niệm - Đường pha (Alternating Path) - Một đường mở (Augmenting Path) 2.1.3.2. Thuật tốn Hungari (cặp ghép) Bước 1: Khởi tạo: Một bộ ghép M := Ø Bước 2: Với mọi đỉnh x*∈X, ta tìm cách ghép x* như sau: Bắt đầu từ đỉnh x* chưa ghép, thử tìm đường mở bắt đầu ở x* bằng thuật tốn tìm kiếm trên đồ thị (BFS hoặc DFS - thơng thường nên dùng BFS để tìm đường qua ít cạnh nhất) cĩ hai khả năng xảy ra: - Hoặc tìm được đường mở thì dọc theo đường mở, ta loại bỏ những cạnh đã ghép khỏi M và thêm vào M những cạnh chưa ghép, ta được một bộ ghép mới nhiều hơn bộ ghép cũ 1 cạnh và đỉnh x* trở thành đã ghép. - Hoặc khơng tìm được đường mở thì do ta sử dụng thuật tốn tìm kiếm trên đồ thị nên cĩ thể xác định được hai tập: o VisitedX = {Tập những X_đỉnh cĩ thể đến được từ x* bằng một đường pha} o VisitedY = {Tập những Y_đỉnh cĩ thể đến được từ x* bằng một đường pha} Gọi ∆ là trọng số nhỏ nhất của các cạnh nối giữa một đỉnh thuộc VisitedX với một đỉnh khơng thuộc VisitedY. Dễ thấy ∆ > 0 bởi nếu ∆ = 0 thì tồn tại một 0_cạnh (x, y) với x∈VisitedX và y∉VisitedY. Vì x* đến được x bằng một đường pha và (x, y) là một 0_cạnh nên x* cũng đến được y bằng một đường pha, dẫn tới y ∈ VisitedY, điều này vơ lý. 17 Biến đổi đồ thị G như sau: Với ∀ x ∈ VisitedX, trừ ∆ vào trọng số những cạnh liên thuộc với x, Với ∀ y ∈ VisitedY, cộng ∆ vào trọng số những cạnh liên thuộc với y. Lặp lại thủ tục tìm kiếm trên đồ thị thử tìm đường mở xuất phát ở x* cho tới khi tìm ra đường mở. Bước 3: Sau bước 2 thì mọi X_đỉnh đều được ghép, in kết quả về bộ ghép tìm được. Mơ hình cài đặt của thuật tốn Hungari cĩ thể viết như sau: ; for (x*∈ X) do begin repeat ; if then <Biến đổi đồ thị G: Chọn ∆ := …>; until ; <Dọc theo đường mở, loại bỏ những cạnh đã ghép khỏi M và thêm vào M những cạnh chưa ghép>; end; ;[4] 2.1.3.3. Cài đặt thuật tốn - Phương pháp đối ngẫu Kuhn-Munkres - Sơ đồ cài đặt phương pháp Kuhn-Munkres 2.1.3.4. Biểu diễn bộ ghép 2.1.3.5. Tìm đường mở 2.2. THUẬT TỐN THAM LAM 2.2.1. Khái niệm 18 2.2.2. Thuật tốn 2.2.2.1. Phương pháp 2.2.2.2. Cấu trúc tổng quát của thuật tốn Thamlam(C:tập hợp các ứng cử viên) // hàm trả về giải pháp tối ưu, gồm các ứng cử viên Begin S = Ø //S là giải pháp tối ưu While ( C ≠ Ø và S chưa là giải pháp) do X = chọn( C) // chọn x từ tập c theo tiêu chí của hàm chọn C = C – {x} If (SU {x} cĩ triển vọng là giải pháp) then S:=SU {x} Endif Endwhile if (S là lời giải) then return S else return 0 endif end 4 [1] 2.2.2.3. Ví dụ áp dụng[1] 2.2.2.4. Tính chất của chiến lược tham lam [1] 2.3. GIẢI PHÁP TỔNG THỂ CHO BÀI TỐN TKB Thuật tốn cặp ghép đĩng vai trị quan trọng trong quá trình giải quyết bài tốn TKB trường chuyên. Vì vậy, trước tiên chúng ta cần cải tiến thuật tốn cặp ghép. 2.3.1. Cải tiến thuật tốn cặp ghép 2.3.2. Đánh giá độ phức tạp 19 2.3.3. Giải pháp kết hợp Bài tốn thời khĩa biểu cĩ thể được định nghĩa là một bài tốn tìm kiếm chuỗi tối ưu để thực hiện một tập các hoạt động chịu tác động của một tập các ràng buộc cần phải được thỏa mãn. Người làm nhiệm vụ chia thời khĩa biểu thường cố gắng thử đến mức tối đa sự sử dụng các cá thể, máy mĩc và tối thiểu thời gian địi hỏi để hồn thành tồn bộ quá trình nhằm sắp xếp lịch. Vì thế bài tốn thời thĩa biểu là một vấn đề rất khĩ để giải quyết. Hiện nay cĩ nhiều khả năng để phát triển các kỹ thuật hiện đại để giải quyết bài tốn này. Những kỹ thuật đĩ bao gồm: các tiếp cận Trí tuệ nhân tạo như hệ thống tri thức cơ sở (knowledge-based systems), bài tốn thoả mãn ràng buộc, hệ chuyên gia, mạng Nơron và các tiếp cận của các Nghiên cứu hoạt động: lập trình tính tốn, quy hoạch động, tìm kiếm nhánh và đường biên, kỹ thuật mơ phỏng, tìm kiếm Tabu và phương pháp nút cổ chai. Ở đây chúng tơi chọn kết hợp thuật tốn cặp ghép và thuật tốn tham lam nhằm giải quyết bài tốn thời khĩa biểu trường chuyên với bộ dữ liệu thực của Trường THPT chuyên Lê Quý Đơn làm cơ sở để giải quyết bài tốn thời khĩa biểu. - Trong khi giải quyết bài tốn thời khĩa biểu trường chuyên cần chú ý đến giải pháp kết hợp thuật tốn cặp ghép và tham lam để giải quyết tùy theo từng trường hợp cụ thể mà cĩ thể sử dụng thuật tốn tham lam hay kết hợp tính tham lam trong khi dùng thuật tốn cặp ghép. - Bước đầu ta chọn những cặp ghép gồm các giáo viên cĩ cùng chung số tiết là lớn nhất trong một buổi dạy để ghép lại với nhau trước theo từng cặp cụ thể. Nhằm đưa các cặp ghép này 20 vào cho việc chia thời khĩa biểu trước, nhằm tạo được sự ưu tiên số một cho các cặp ghép này. - Bước tiếp theo ta chọn các giáo viên cĩ số tiết dạy ít dần tạo nên cặp ghép đồng thời ta sử dụng thuật tốn tham lam để quét tất cả các giáo viên cĩ số tiết dạy đơn trên một lớp trong từng buổi cụ thể để tạo nên giải pháp tốt hơn. - Tại bước này ta sử dụng thuật tốn cặp ghép cùng với tham lam để tạo nên việc tinh chỉnh tốt dần, tức làm mịn dần. - Sau cùng ta chọn tất cả số tiết cịn lại của từng giáo viên cụ thể để tạo nên cặp ghép tốt hơn, đồng thời từ đĩ ta đưa ra được kết quả đầu ra tương đối tốt hơn. - Việc giải quyết bài tốn thời khĩa biểu trường chuyên là nhu cầu cần thiết nhất hiện nay, tuy nhiên chúng ta cần vận dụng các thuật tốn đã nêu ở trên một cách thuần thục nhất. Cũng như kết hợp triệt để thuật tốn cặp ghép và tham lam thì mới cĩ thể cho ra kết quả tốt hơn từ các tập ứng viên đã chọn. Đầu vào là danh sách của giáo viên theo tổ bộ mơn, số tiết thực dạy theo từng buổi của giáo viên đĩ. Sau khi đưa vào xử lý bởi sự kết hợp của hai thuật tốn trên thì phải cho ra kết quả đầu ra tốt hơn kết quả hiện nay đang cĩ. Xuất phát từ những ý tưởng trên, chúng tơi đã chọn sự kết hợp thuật tốn cặp ghép và tham lam nhằm tìm ra giải pháp tốt hơn cho việc giải quyết bài tốn thời khĩa biểu trường chuyên. Với bộ dữ liệu của trường THPT chuyên Lê Quý Đơn làm dữ liệu cơ sở. 2.4. TỔNG KẾT CHƯƠNG 2 Trong chương này, chúng tơi đã trình bày được cơ sở lý thuyết cũng như các giải pháp kết hợp của thuật tốn cặp ghép và tham lam 21 với những ứng dụng cụ thể. Với các giải pháp kết hợp chúng tơi đã cải tiến thuật tốn cặp ghép nhằm giải quyết tốt hơn bài tốn thời khĩa biểu trường chuyên. Nội dung chính của chương này thể hiện đầy đủ các yêu cầu, giải pháp, tính đúng đắng khi vận dụng thuật tốn cặp ghép và thuật tốn tham lam. CHƯƠNG 3 – XÂY DỰNG CHƯƠNG TRÌNH VÀ THỬ NGHIỆM Nội dung chính của chương này gồm cĩ ba phần chính: thiết kế chi tiết, thử nghiệm và đánh giá kết quả, các giải pháp và định hướng của phần mềm thời khĩa biểu trường chuyên. 3.1. THIẾT KẾ CHI TIẾT Bài tốn thời khĩa biểu trường chuyên, cần được kết hợp chặt chẽ với khung chương trình đào tạo chi tiết được nhà trường thiết kế dựa trên khung chương trình chuẩn của Bộ giáo dục và Đào tạo, nhằm triển khai vào thực tế cho nhà trường. Vì vậy, tại mục này chúng ta nên biết sơ lược về chương trình quản lý khung đào tạo trường chuyên. 3.1.1. Chương trình quản lý khung đào tạo 3.1.2. Giải pháp chính cho bài tốn thời khĩa biểu trường chuyên Trường THPT chuyên cĩ những đặc thù riêng biệt và rất khác so với các trường THPT trên tồn quốc. Vì vậy, để giải quyết bài tốn thời khĩa biểu cho các nhà trường này cần phải cĩ mơ hình và giải pháp riêng. 22 3.1.3. Giải quyết vấn đề lớp ghép Anh – Pháp 3.1.4. Phân cơng giáo viên giảng dạy cho các lớp 3.1.5. Kết hợp thuật tốn cặp ghép và tham lam trong bài tốn TKB Trong khi giải quyết bài tốn TKB trường chuyên chúng tơi dùng thuật tốn cặp ghép để chọn các giáo viên cĩ tổng số tiết dạy cho các lớp trên buổi và trên tuần là nhiều nhất. Đồng thời dùng thuật tốn tham lam để chọn những giáo viên cịn lại để cuối cùng cho ra được một TKB thơ. 3.1.5.1. Thuật tốn cặp ghép Từ bảng phân cơng giảng dạy ta lọc những giáo viên cĩ tổng số tiết dạy cho các lớp và tổng số tiết dạy trên một buổi là lớn nhất, đồng thời chúng ta kiểm tra các ràng buộc nếu thỏa mãn ta dùng thuật tốn cặp ghép chia TKB cho những giáo viên này. 3.1.5.2. Xây dựng bộ ghép đầy đủ Áp dụng thuật tốn cặp ghép để chọn ra các cặp giáo viên thỏa mãn các yêu cầu ràng buộc của bài tốn TKB nhằm xây dựng được bộ ghép đầy đủ cho những giáo viên này được mơ tả qua hình 3.9. 3.1.5.3. Thuật tốn tham lam 3.1.6.Dữ liệu chính bài tốn thời khĩa biểu trường chuyên Bao gồm các dữ liệu tham chiếu quan trọng dùng làm cơ sở chính trong mơ hình bài tốn Thời khĩa biểu. Nhĩm này bao gồm 4 đối tượng chính là Lớp học, Giáo viên, Phịng học và Mơn học. 3.1.6.1. Lớp học 23 3.1.6.2. Giáo viên 3.1.6.3. Phịng học 3.1.6.4. Mơn học 3.1.6.5. Dữ liệu kế hoạch giảng dạy 3.2. THỬ NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ Phần mềm xếp TKB trường chuyên với nhiều tính năng tính năng đột phá theo hướng tối ưu hĩa thời khĩa biểu, nhằm giải quyết bài tốn thời khĩa biểu trường THPT chuyên cũng như hệ thống trường chuyên trên tồn quốc. Kết hợp chặt chẽ thuật tốn cặp ghép và thuật tốn tham lam đã giúp cho việc giải quyết tốt hơn bài tốn thời khĩa biểu trường chuyên, với những tính năng nổi trội được thử nghiệm qua thực tế và cho ra kết quả khả quan. Sau đây là mơ tả một số tính năng chính quan trọng nhất của phần mềm TKB liên quan đến vấn đề quan trọng nhất của bài tốn xếp thời khĩa biểu là mơ phỏng tư duy xếp, đánh giá và tối ưu hĩa điều chỉnh thời khĩa biểu. 3.2.1. Xếp tự động hồn tồn thời khĩa biểu 3.2.2. Tinh chỉnh dữ liệu của các giáo viên tham gia 3.2.3. Ba chức năng tinh chỉnh xếp thời khĩa biểu trường chuyên 3.3. TỔNG KẾT CHƯƠNG 3 Trong chương này, chúng tơi đã phân tích chi tiết bài tốn TKB trường chuyên; thể hiện được giải pháp chính của bài tốn, giải quyết vấn đề lớp ghép, ứng dụng thuật tốn cặp ghép và thuật tốn tham lam trong khi giải quyết bài tốn. Sử dụng bộ dữ liệu thực của trường 24 THPT chuyên Lê Quý Đơn làm dữ liệu cơ sở để minh họa cho bài tốn, đồng thời đưa ra được một số chức năng tinh chỉnh thủ cơng và đã giải quyết tốt hơn bài tốn TKB trường chuyên. 25 KẾT LUẬN VÀ KIẾN NGHỊ 1. KẾT QUẢ ĐẠT ĐƯỢC Kết hợp thuật tốn cặp ghép và thuật tốn tham lam vào việc giải quyết bài tốn thời khĩa biểu trường chuyên là khâu đột phá ban đầu cho việc Tin học hĩa tồn bộ việc xếp thời khĩa biểu cũng như các cơng việc quản lý khác của Trường THPT Chuyên Lê Quý Đơn, hệ thống trường chuyên trên tồn quốc; cho ra được một sản phẩm xếp thời khĩa biểu tương đối tốt với nhiều tính năng nổi trội: Việc cập nhật, xử lý dữ liệu nhanh với tốc độ gần như tức thời. Thơng tin được thể hiện trên màn hình một cách hợp lý, cho phép người dùng quan sát một khơng gian rộng lớn của thời khĩa biểu, trên màn hình hiện rõ thơng tin trong 1 buổi học của một lớp học cĩ liên kết với thời khĩa biểu của giáo viên và phịng học tương ứng. Chương trình đã xử lý được các kỹ thuật đặc thù của thời khĩa biểu như ghép lớp, tách lớp. Phần mềm xếp tự động hồn tồn, dữ liệu đáp ứng hầu hết các ràng buộc thơng thường của thời khĩa biểu. Phần mềm TKB trường chuyên đưa ra được nhiều cơng cụ tinh chỉnh hợp lý như xếp tay, chuyển tiết, chuyển phịng học, chuyển giáo viên, gợi ý xếp, tìm kiếm thơng tin tối ưu, xĩa, ... Các cơng cụ này hồn tồn được thực hiện bằng các thao tác như chuột, bàn phím rất đơn giản, thuận tiện với người dùng. Phần mềm cĩ thể kết nối với các module khác của hệ thống như các phần mềm Tuyển Sinh, Quản lý Chương trình Đào tạo, Quản lý Giáo viên, Quản lý học tập của học sinh, quản lý thư viện. Tồn bộ các module của chương trình được viết bằng ngơn ngữ C# trên nền hệ điều hành Windows 2003/XP/Windown7 cĩ giao diện 26 thân thiện với người dùng và tồn bộ hệ thống thực đơn, giao diện là Tiếng Việt. 2. HƯỚNG PHÁT TRIỂN CỦA LUẬN VĂN Sau phần nghiên cứu trong luận văn, chúng tơi sẽ đi vào nghiên cứu, tìm hiểu giải pháp tốt hơn, nhằm tối ưu hĩa bài tốn TKB trường chuyên, đồng thời chia sẽ ứng dụng trên mạng LAN; dữ liệu TKB sẽ được tập trung lưu trữ và quản lý thống nhất trên máy chủ trong hệ thống mạng LAN. Các máy trạm được kết nối trực tuyến với dữ liệu và hệ thống cho phép nhiều người dùng cùng một lúc truy nhập và làm việc với dữ liệu thời khĩa biểu sẽ làm tăng chức năng hỗ trợ xếp thời khĩa biểu cho nhiều người dùng. Mơ hình TKB tích hợp hồn tồn trên Web; phần dữ liệu chính của chương trình tích hợp với Chương trình đào tạo được cài đặt trên mạng Intranet/Internet cho phép tồn bộ hệ thống được kết nối với các máy tính trên phạm vi lớn. Dữ liệu xếp thời khĩa biểu được kết nối với Server và cho phép nhiều người dùng cùng thao tác và điều khiển dữ liệu. TKB được tích hợp với Web, phần mềm Server cho phép mở rộng khơng hạn chế các chức năng, dịch vụ quan trọng khác của hệ thống quản lý thời khĩa biểu như dịch vụ truy nhập TKB từ xa, dịch vụ nhắn tin thơng qua email, hệ thống nhắc dạy giáo viên thơng qua điện thoại di động, ... Tĩm lại, phần mềm TKB trường chuyên chỉ là bước khởi đầu của việc triển khai ứng dụng phần mềm trong cơng việc hỗ trợ, xếp và quản lý thời khĩa biểu trong các trường THPT chuyên cũng như hệ thống trường chuyên trong đại học.

Các file đính kèm theo tài liệu này:

  • pdftomtat_56_6221.pdf
Luận văn liên quan