Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 126 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
126
Dung lượng
1,93 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀNỘI KHOA CƠNG NGHỆ Ngơ Văn Bỡnh Một số ph-ơng pháp khai phá liệu ứng dụng toán lập thời khoá biểu LUN VĂN THẠC SĨ HÀ NỘI – 2004 TIEU LUAN MOI download : skknchat@gmail.com ĐẠI HỌC QUỐC GIA HÀNỘI KHOA CÔNG NGH Ngụ Vn Bỡnh Một số ph-ơng pháp khai phá liệu ứng dụng toán lập thời kho¸ biĨu Chun ngành : Cơng nghệ thơng tin Mã số : 1.01.10 NGƯỜI HƯỚNG DẪN KHOA HỌC PGS.TS VŨ ĐỨC THI Hà Nội - 2004 TIEU LUAN MOI download : skknchat@gmail.com MỤC LỤC MỞ ĐẦU CHƢƠNG TỔNG QUAN 1.1 Tổng quan sở liệu khai phá liệu 1.1.1 Tổ chức khai thác sở liệu truyền thống 1.1.2 Khai phá liệu trình phát tri thức 1.2 Kho liệu 10 1.2.1 Sự cần thiết kho liệu 10 1.2.2 Định nghĩa kho liệu 12 1.2.3 So sánh Kho liệu hệ quản trị sở liệu truyền thống 14 1.2.4 So sánh hệ thống sở liệu tác nghiệp hệ thống kho liệu 15 1.2.5 Dữ liệu Kho liệu 17 1.2.6 Kiến trúc kho liệu 18 1.2.7 Ba mơ hình Kho liệu 22 1.2.8 Hƣớng tiếp cận đề nghị phát triển Kho liệu [9] 23 1.2.9 Từ Kho liệu đến khai phá liệu 23 CHƢƠNG KHAI PHÁ DỮ LIỆU 26 Giới thiệu khai phá liệu 26 2.1.1 Khai phá liệu ? 26 2.1.2 Động thúc đẩy dùng khai phá liệu 26 2.2 Các ứng dụng khai phá liệu: 27 2.2.1 Phân tích sở liệu trợ giúp định: 27 2.2.2 Các ứng dụng khác 28 2.3 Khai phá liệu trình phát tri thức 29 2.4 Khai phá liệu tin tức kinh doanh 31 2.5 Kiến trúc điển hình hệ thống khai phá liệu 31 2.6 Khai phá liệu nơi hội tụ nhiều kiến thức: 32 2.7 Trọng tâm khai phá liệu 32 2.8 Những vấn đề không cần dùng khai phá liệu 33 2.9 trình khai phá liệu 34 2.9.1 Truy cập chuẩn bị liệu 34 2.9.2 Quá trình khái phá liệu 37 2.10 Các nhiệm vụ khai phá liệu 37 2.11 Các thành phần giải thuật khai phá liệu 39 CHƢƠNG CÁC PHƢƠNG PHÁP KHAI PHÁ DỮ LIỆU TRỰC QUAN 40 3.1 Quan sát hoạt động không theo chủ quan 40 3.2 Trực quan đòi hỏi nhận thức 41 3.3 Vẽ sơ đồ liệu lƣợc đồ trực quan 42 3.3.1 Thuật tốn xác định vị trí [6] 42 3.3.2 Điều khiển xuất đối tƣợng thể 45 3.3.3 Làm cho hiển thị hiểu đƣợc 45 3.4 Những cách tiếp cận phân tích 46 3.4.1 Phân tích đặc điểm cấu trúc 46 3.4.2 Phân tích cấu trúc mạng 48 3.4.3 Phân tích mẫu thời gian 52 3.4.4 Thiết lập lớp mẫu thời gian 52 TIEU LUAN MOI download : skknchat@gmail.com CHƢƠNG CÁC PHƢƠNG PHÁP KHAI PHÁ DỮ LIỆU THÔNG DỤNG 54 4.1 Phƣơng pháp thống kê 54 4.1.1 Phƣơng pháp thống kê 54 4.1.2 Khi sử dụng phân tích thống kê: 55 4.2 Phƣơng pháp định luật 56 4.2.1 Phƣơng pháp định luật 56 4.2.2 Khi dùng định 58 4.3 Các luật kết hợp 58 4.3.1 Luật kết hợp 58 4.3.2 Khi dùng luật kết hợp 59 4.4 Mạng Nơ ron 59 4.4.1 Mạng Nơ ron 59 4.4.2 Khi sử dụng phƣơng pháp học khơng có thầy 61 4.5 Giải thuật di truyền 61 4.5.1 Giải thuật di truyền 61 4.5.2 Khi sử dụng giải thuật Di truyền 62 4.6 Các phƣơng pháp khai phá liệu khác 62 4.6.1 Phân nhóm phân đoạn 62 4.6.2 Phƣơng pháp suy diễn quy nạp 63 4.6.3 Các phƣơng pháp dựa mẫu 63 4.6.4 Khai phá liệu văn 63 4.7 lựa chọn phƣơng pháp khai phá liệu 64 4.8 ƣu khó khăn khai phá liệu 64 4.8.1 Ƣu thế: 64 4.8.2 Khó khăn 66 CHƢƠNG GIẢI THUẬT DI TRUYỀN VÀ BÀI TOÁN LẬP THỜI KHOÁ BIỂU 70 5.1 Tổng quan giải thuật di truyền cổ điển 70 5.1.1 Ý tƣởng giải thuật 70 5.1.2 Cấu trúc GA cổ điển 71 5.2 GA toán lập thời khố biểu trƣờng cao đẳng cơng nghiệp hà nội 75 5.2.1 Giới thiệu 75 5.2.2 Các định nghĩa 77 5.2.3 Giải thuật di truyền cho thời khoá biểu 79 5.2.4 Thiết kế sở liệu 90 5.2.5 Chƣơng trình lập thời khố biểu 93 KẾT LUẬN 96 TÀI LIỆU THAM KHẢO 98 PHỤ LỤC 100 TIEU LUAN MOI download : skknchat@gmail.com MỞ ĐẦU Trong suốt 40 năm phát triển, Cơ sở liệu có bƣớc tiến vơ quan trọng lịch sử Cơng nghệ thơng tin Từ mơ hình Cơ sở liệu quan hệ E Codd đề xuất từ năm 60, ứng dụng công nghệ thông tin thực biến việc lƣu trữ liệu trở thành lƣu trữ thông tin Ngày nay, tổ chức nào, với mô hình hay quy mơ có nhu cầu lƣu trữ khai thác thông tin Khái niệm thông tin bao gồm thông tin nội tổ chức thông tin môi trƣờng (environment) tổ chức hoạt động Với tiến vƣợt bậc nghiên cứu lý thuyết nhƣ cài đặt thực tế, hệ quản trị sở liệu trở thành tảng, xƣơng sống hoạt động tổ chức Chúng ta thấy nhà cung cấp hệ quản trị sở liệu hàng đầu giới nhƣ ORACLE, Microsoft, IBM, Informix Hệ quản trị sở liệu ngày khơng cịn đơn cấu cho phép lƣu trữ số liệu (data) mà cịn kèm theo cơng cụ (tools), tiện ích (utilities) hay phƣơng pháp luận (methodologies) để chuyển đổi số liệu thành thông tin Tập tất công cụ ngƣời dùng phát triển nhà cung cấp phần mềm tung để phục vụ cho mục đích hoạt động tổ chức, đƣợc tối ƣu theo yêu cầu nghiệp vụ tổ chức đƣợc gọi ứng dụng hỗ trợ xử lý giao dịch trực tuyến (OLTP - Online Transactional Processing) Cao nữa, với yêu cầu kết xuất thông tin cô đọng hơn, nhằm hỗ trợ yêu cầu phân tích nhà lãnh đạo, nhà lập chiến lƣợc tổ chức, ứng dụng nhƣ tảng phát triển Xử lý phân tích trực tuyến (OLAP - Online Analytical Processing) đời Lúc liệu đƣợc lƣu trữ kết xuất dƣới dạng hƣớng chủ đề, phù hợp với yêu cầu phân tích định cụ thể Trong thời đại ngày nay, ngƣời sống môi trƣờng xã hội phát triển cao với bùng nổ liệu Khi trình độ xã hội phát triển kiến thức ngƣời đƣợc phát triển đồng thời lƣợng liệu gia tăng theo mức dộ Mặc dù môi trƣờng tràn ngập liệu, nhƣng ngƣời dƣờng nhƣ thiếu thông tin Theo thống kê số tổ chức uy tín có 2%-3% lƣợng liệu đƣợc chuyển thành thơng tin có ích Khi xã hội phát triển, lƣợng thơng tin cần nhiều cơng việc tổ chức, khai phá liệu ngày khó khăn Nhƣ vậy, q trình sử dụng khai thác thơng tin, ngƣời ta nhận thấy TIEU LUAN MOI download : skknchat@gmail.com có nhiều tri thức cịn tiềm ẩn liệu Đó khuynh hƣớng kinh doanh, dự báo thị trƣờng, mối quan hệ trƣờng hay nội dung liệu mà ngƣời khơng hình dung đƣợc tiến hành mơ hình hố hệ thống (system modelling) Vấn đề đặt làm để khai thác thơngtin cách có hiệu dùng phƣơng pháp để khai thác thôngtin Để trả lời câu hỏi luận văn nghiên cứu Phát tri thức sở liệu (Knowledge Discovery in Database) cụ thể toán Khai phá liệu (DataMining) làm trung tâm nghiên cứu Nghiên cứu dừng lại việc tìm hiểu phƣơng pháp khai phá liệu thực tế để dựa vào nhƣ tài liệu thám khảo, cuối đƣa giải pháp để giải toán lập thời khoá biểu – toán NP khó Với thời gian nghiên cứu chƣa đủ dài nhƣ trình độ tầm hiểu biết chƣa thực sâu sắc, chắn việc nghiên cứu có nhiều thiếu sót chƣa chặt chẽ Nhƣng qua đây, em xin chân thành cảm ơn PGS.TS Vũ Đức Thi Chủ tịch hội đồng Khoa học, Viện phó Viện Cơng nghệ Thông tin – Viện Khoa học Việt nam ngƣời tận tình hƣớng dẫn giúp đỡ em tồn trình nghiên cứu Em xin đƣợc bày tỏ lịng biết ơn đến Thầy, Cơ khoa Cơng nghệ - Đại học Quốc gia Hà nội tạo điều kiện làm việc, học tập tốt nhƣ ý kiến quý báu thời gian học Cao học giúp em hồn thành nghiên cứu Tơi xin đƣợc cảm ơn bạn bè, gia đình ngƣời giúp đỡ nhiều việc hồn thành luận văn Những đóng góp luận văn: Luận văn trình bày phƣơng pháp khai phá liệu công cụ trực quan phƣơng pháp thông dụng, phƣơng pháp có trình bày rõ nên sử dụng nhƣ sử dụng trƣờng hợp Luận văn trình bày kho liệu cách sử dụng Kho liệu TIEU LUAN MOI download : skknchat@gmail.com Luận văn xây dựng phƣơng pháp giải toán lập thời khoá biểu dựa giải thuật di truyền, phƣơng pháp khai phá liệu Nội dung luận văn: Phần mở đầu luận văn giới thiệu nội dung nghiên cứu, tính cấp thiết đề tài đóng góp luận văn Chƣơng giới thiệu khái niệm khai phá liệu, Kho liệu ứng dụng Chƣơng giới thiệu khai phá liệu nói chung, ứng dụng khai phá liệu Chƣơng giới thiệu phƣơng pháp khai phá liệu trực quan Chƣơng giới thiệu phƣơng pháp khai phá liệu thông dụng, cách sử dụng trƣờng hợp nên dùng chúng Chƣơng nói giải thuật di truyền, ứng dụng giải thuật di truyền vào toán lập thời khoá biểu, xây dựng toán lập thời khoá biểu Phần kết luận nêu đóng góp luận văn hƣớng nghiên cứu Phần phụ đƣa danh sách modul chƣơng trình TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu CHƢƠNG TỔNG QUAN 1.1 TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU VÀ KHAI PHÁ DỮ LIỆU 1.1.1 Tổ chức khai thác sở liệu truyền thống Ngay từ năm 60, việc dùng phƣơng tiện tin học để tổ chức khai thác sở liệu (CSDL) đƣợc phát triển Cho đến nay, nhiều CSDL đƣợc xây dựng, phát triển khai thác khắp lĩnh vực hoạt động ngƣời xã hội Hiện nay, lƣợng thông tin giới sau 24 tháng lại tăng gấp đôi Ngày nay, với phát triển mạnh mẽ công nghệ bán dẫn, tạo hệ thống với dung lƣợng lớn, xử lý tốc độ cao công nghệ truyền đại, ngƣời ta xây dựng hệ thống thông tin đại, trợ giúp hoạt động kinh doanh, điều tạo khối liệu khổng lồ, cần xử lý, bao gồm sở liệu cực lớn cỡ gigabytes chí terabytes lƣu trữ liệu kinh doanh Nhiều hệ quản trị CSDL với công cụ mạnh đời trợ giúp cho ngƣời khai thác có hiệu nguồn tài nguyên liệu Mơ hình CSDL quan hệ ngơn ngữ truy vấn cấu trúc (SQL-Structure Query Language) có vai trị quan trọng việc tổ chức khai thác CSDL Cho đến nay, khơng tổ chức kinh tế không sử dụng hệ quản trị CSDL hệ công cụ báo cáo, ngôn ngữ hỏi đáp nhằm khai thác CSDL , phục vụ cho hoạt động tác nghiệp Theo phát triển lên hệ thống sở liệu, hệ thống thông tin đƣợc chuyên mơn hố, phát triển chun sâu theo lĩnh vực ứng dụng nhƣ sản xuất, kinh doanh, tài chính, thị trƣờng.v.v Nhƣ bên cạnh chức khai thác liệu có tính chất tác nghiệp, ứng dụng kinh doanh khơng cịn liệu đơn hệ thống mà sở liệu cần đem lại "tri thức" liệu Trong xã hội nay, hoạt động kinh doanh cần có định nhanh xác dựa liệu sẵn có, khối lƣợng liệu tăng nhanh làm ảnh hƣởng đến thời gian định nhƣ khả hiểu hết đƣợc nội dung liệu Điều dẫn đến mơ hình CSDL truyền thống ngơn ngữ hỏi khơng có khả đáp ứng đƣợc u cầu Để lấy đƣợc thơng tin có tính "tri thức" khối (LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu liệu khổng lồ này, ngƣời ta tìm kỹ thuật có khả hợp liệu từ hệ thống liệu khác nhau, chuyển đổi thành tập hợp sở liệu ổn định, có chất lƣợng đƣợc sử dụng riêng cho vài mục đích Các kỹ thuật đƣợc gọi chung kỹ thuật tạo kho liệu (Data Warehousing) môi trƣờng liệu có đƣợc gọi kho liệu Tuy nhiên, việc sử dụng cách khai thác liệu theo khai thác truyền thống dừng lại cách khai thác liệu với kỹ thuật cao để đƣa liệu tinh xác chƣa đƣa đƣợc liệu "tri thức" Kho liệu đƣợc sử dụng để hỗ trợ cho phân tích trực tuyến (OLAP) có khả phân tích liệu, xác định xem giả thuyết hay sai nhƣng đƣa giả thuyết Kỹ thuật học máy đƣa giả thuyết, nhƣng tập liệu lớn kho liệu chúng thể khả phƣơng pháp thống kê khơng có cải tiến để phù hợp với phát triển liệu Đây lý khối lƣợng lớn liệu chƣa đƣợc khai thác chí đƣợc lƣu chủ yếu kho liệu không trực tuyến Điều tạo nên lỗ hổng lớn việc hỗ trợ phân tích tìm hiểu liệu, tạo khoảng cách việc tạo liệu việc khai thác liệu Trong đó, ngày ngƣời ta nhận thấy đƣợc phân tích thơng minh liệu nguồn tài nguyên quí giá cạnh tranh thƣơng trƣờng công nghệ đƣợc nghiên cứu, đáp ứng nhu cầu khoa học nhƣ hoạt động thực tiễn Đó cơng nghệ Khai phá liệu 1.1.2 Khai phá liệu trình phát tri thức Việc sử dụng sở liệu vào hoạt động tổ chức đƣợc phát triển vòng 60 năm trở lại Với liệu đƣợc thu thập suốt trình hoạt động tổ chức, nhu cầu đƣợc đặt tìm kiếm khai thác tri thức từ liệu Đó xuất phát điểm toán Phát tri thức từ sở liệu Ngƣời ta nhận thấy có nhiều tri thức mà không lƣờng trƣớc tiềm ẩn liệu, nhiệm vụ phát hiện, khám phá tri thức đó, phục vụ cho nhu cầu sử dụng thông tin cao hơn, ví dụ nhƣ hệ chuyên gia hay hệ hỗ trợ định Khai phá liệu đƣợc định nghĩa nhƣ trình chắt lọc hay khai phá tri thức từ lƣợng lớn liệu Một ví dụ trực quan thƣờng đƣợc dùng việc khai thác vàng từ đá cát, ngƣời khai thác muốn chắt lọc đƣợc vàng từ đá cát (LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu việc tìm phải đá cát Thuật ngữ data mining ám việc tìm kiếm tập hợp nhỏ có giá trị từ lƣợng lớn liệu thơ Có nhiều thuật ngữ đƣợc dùng có nghĩa tƣơng tự với từ data mining nhƣ knowledge mining (khai phá tri thức), knowledge extraction (chắt lọc tri thức), data/ patern analysis (Phân tích liệu/ mẫu), data archaeology (khảo cổ liệu), data dredging (nạo vét liệu) Nhiều ngƣời thƣờng nhầm lẫn khái niệm khai phá liệu với thuật ngữ khác khai phá tri thức – Knowledge Discovery in Databases (KDD) Khai phá liệu bƣớc trình KDD KDD gồm có q trình theo thứ tự nhƣ sau [15]: Làm liệu: Loại bỏ nhiễu liệu khơng cần thiết Tích hợp liệu: Các nguồn liệu khác tích hợp lại Lựa chọn liệu: Các liệu có liên quan tới q trình phân tích đƣợc lựa chọn từ sở liệu Chuyển đổi liệu: Các liệu đƣợc chuyển đổi sang dạng phù hợp cho trình xử lý Khai phá liệu: Là nhƣng bƣớc quan trọng nhất, sử dụng phƣơng pháp thông minh để chắt lọc mẫu liệu Ước lượng mẫu: Quá trình đánh giá kết tìm đƣợc thơng qua độ đo Biểu diễn tri thức: Quá trình sử dụng kĩ thuật biểu diễn thể trực quan tri thức cho ngƣời dùng Khai phá liệu giai đoạn chủ yếu q trình Phát tri thức từ CSDL Cơng đoạn khai phá tri thức đƣợc thực sau q trình thu thập tinh lọc liệu, có nghĩa tìm mẫu hình tri thức (pattern) có ý nghĩa tập liệu có hy vọng khơng phải tồn CSDL nhƣ phƣơng pháp thống kê trƣớc Vì khai phá liệu bao gồm việc thử tìm mơ hình phù hợp với liệu tìm kiếm mẫu hình tri thức từ liệu theo mơ hình Mặc dù mẫu hình (LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu 109 For count1 = To 'Đếm số tiết học môn ngày Set temp1 = TKB(count1, count) Set temp2 = TKB(count1 + 1, count) If temp1.MMH = temp2.MMH Then ' Hai tiết môn Else i = i + ' Hai tiết hai môn khác End If kcd(i) = kcd(i) + Next ' Hết cột For count1 = To i If kcd(count1) = Then gt = gt + End If If kcd(count1) = Then ' Một mơn học q tiết ngày hàm đánh giá giảm gt = gt + End If If kcd(count1) = Then gt = gt + End If Next Next ' Ngày Fitvalue = gt fitness = gt Set temp1 = Nothing Set temp2 = Nothing End Function Public Function getgv(ByVal row As Integer, ByVal col As Integer) As Integer Dim temp As Integer Dim ogen As New GEN Set ogen = TKB(row, col) temp = ogen.MGV getgv = temp Set ogen = Nothing End Function Public Sub ToDB(fit As Integer) Dim i As Integer Dim j As Integer Dim s As String Dim t(1 To 6) As Integer (LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu 110 Dim temp As New GEN Dim cn As ADODB.Connection Set cn = New ADODB.Connection cn.ConnectionString = constr cn.Open For i = To For j = To Set temp = TKB(i, j) t(j) = temp.MMH Next s = "insert into ket_qua(ml,tiet,thu2,thu3,thu4,thu5,thu6,thu7,lc) values('" & malop & "', '" & i & "','" & t(1) & "','" & t(2) & "','" & t(3) & "','" & t(4) & "','" & t(5) & "','" & t(6) & "','" & fit & "')" cn.Execute (s) Next cn.Close Set cn = Nothing End Sub Public Function GetGen(ByVal row As Integer, ByVal col As Integer) As GEN Dim temp As GEN Set temp = New GEN Dim newgen As New GEN Set temp = TKB(row, col) newgen.MGV = temp.MGV newgen.MMH = temp.MMH newgen.cd = temp.cd Set GetGen = New GEN Set GetGen = newgen Set newgen = Nothing Set temp = Nothing End Function Public Function SetGen(ByVal row As Integer, ByVal col As Integer, ByVal newgen As GEN) Dim temp As New GEN temp.MGV = newgen.MGV temp.MMH = newgen.MMH temp.cd = newgen.cd Set TKB(row, col) = temp Set temp = Nothing End Function Public Sub kt() Init Dim i As Integer i = getgv(1, 2) Dim temp1, temp2 As GEN Set temp1 = New GEN Set temp2 = New GEN (LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu 111 Set temp1 = GetGen(1, 4) 'Mutation' SetGen 2, 2, temp1 Set temp1 = Nothing End Sub Lớp thực tương giao chéo, đột biến ' Biểu diễn quần thể Option Explicit Const constr = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=csdltkb" Private size As Integer ' Kích thước quần thể Private sl As Integer ' Số lớp học trường Private maxfitness As New Collection Private maxfitvalue As Integer Private QT As New Collection Private kqtg As New Collection Private fit() As Integer Private Sub Class_Initialize() size = sl = maxfitvalue = End Sub Public Sub Init(solop As Integer, kichco As Integer) sl = solop size = kichco Dim cn As ADODB.Connection Set cn = New ADODB.Connection cn.ConnectionString = constr cn.Open Dim s As String s = "delete from ket_qua" cn.Execute (s) Set cn = Nothing Dim Index As Integer Dim temptkb As TKB Set temptkb = New TKB For Index = To size Set temptkb = New TKB temptkb.Init (sl) QT.Add temptkb, CStr(Index) Next End Sub 'Thủ tục tiến hóa (LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu 112 Public Sub evolutions(slan) Dim count As Integer Dim Index As Integer Dim temptkb As New TKB evolution (slan) count = QT.count For count = To count QT.Remove (1) Next count = maxfitness.count While QT.count < size And count > Set temptkb = New TKB Copy maxfitness.Item(count), temptkb QT.Add temptkb count = count - Wend While maxfitness.count maxfitness.Remove (1) Wend evolution (sl) ' sử dụng thuật tốn tìm kiếm cục Dim tempfitvalue As Integer Dim newtkb As New TKB Set newtkb = New TKB Copy temptkb, newtkb For count = To 400 tempfitvalue = temptkb.Fitvalue newtkb.Hill_clim If tempfitvalue < newtkb.Fitvalue Then Copy newtkb, temptkb Else Copy temptkb, newtkb End If Next temptkb.ToDB End Sub Public Sub evolution(ByVal solan As Integer) Dim hs As Integer Dim count1 As Integer Dim count As Integer Dim Index As Integer (LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu 113 Dim tkb1 As TKB Set tkb1 = New TKB Dim index2 As Integer Dim index3 As Integer Dim index4 As Integer Dim kqt1, kqt2 As Integer Dim index12 As Integer Dim index34 As Integer Dim newtkb As New TKB Dim temptkb As TKB Dim tamtkb As TKB 'Set tamtkb = New TKB Dim tempfitvalue As Integer Set temptkb = New TKB Dim sum As Long Dim tempsum As Long Dim dem As Integer Dim findex As Integer Dim ttkb As New TKB Randomize count1 = For dem = To solan count = Int(Rnd * 12 + 1) Dim i As Integer Dim index1 As Integer For findex = To count i = Int(10 * Rnd + 1) If i > Then CrossOver Else Set temptkb = New TKB Index = Int(Rnd * size + 1) Copy QT.Item(Index), temptkb temptkb.Mutation ' Biến dị index2 = kqtg.count + kqtg.Add temptkb, CStr(index2) End If i = Int(Rnd * + 1) If i > Then Set temptkb = New TKB Index = Int(Rnd * size + 1) Copy QT.Item(Index), temptkb temptkb.ReOrder ' Sắp xếp lại index2 = kqtg.count + (LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu 114 kqtg.Add temptkb, CStr(index2) Else SemiCrossOver End If Next 'Tính giá trị hàm thích nghi cá thể vừa tạo Dim tong As Integer tong = kqtg.count + QT.count count = While count kqtg.Item(index4).Fitvalue Then (LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu 115 index34 = index3 kqt1 = kqtg.Item(index3).Fitvalue End If Index = index34 If kqt2 > kqt1 Then Index = index12 End If Set temptkb = New TKB Copy kqtg.Item(Index), temptkb QT.Add temptkb count = count + Wend ' Xuất vào sở liệu cá thể tốt Index = count1 = count = kqtg.Item(1).Fitvalue 'Tìm cá thể tốt tập hợp kqtg For Index = To kqtg.count If kqtg.Item(Index).Fitvalue > count Then count1 = Index count = kqtg.Item(Index).Fitvalue End If Next 'Lưu cá thể tốt sau hệ vào tập hợp maxfitness Set tamtkb = New TKB 'Copy kqtg.Item(count1), tamtkb Copy kqtg.Item(count1), tamtkb maxfitness.Add tamtkb ' Đưa cá thể tốt vào sở liệu giá trị hàm thích nghi lớn 'giá trị hàm thích nghi cá thể lưu tong sở liệu If count > maxfitvalue Then maxfitvalue = count kqtg.Item(count1).ToDB End If ' Xóa kết trung gian Index = kqtg.count For i = To Index kqtg.Remove (1) Next Next ' Thế hệ (LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu 116 End Sub ' Tốn tử tương giao chéo tồn Public Sub CrossOver() Dim index1 As Integer Dim index2 As Integer Dim temptkb1 As New TKB Dim temptkb2 As New TKB Dim templop1 As lop Dim templop2 As lop Randomize index1 = Int(Rnd * size + 1) index2 = Int(Rnd * size + 1) Dim Index As Integer Index = Int(Rnd * sl + 1) Copy QT.Item(index1), temptkb1 Copy QT.Item(index2), temptkb2 Set templop1 = temptkb1.getlop(Index) Set templop2 = temptkb2.getlop(Index) temptkb1.setlop templop2, Index temptkb2.setlop templop1, Index index2 = kqtg.count kqtg.Add temptkb1 kqtg.Add temptkb2 End Sub ' Toán tử tương giao chéo phần Public Sub SemiCrossOver() Dim index1 As Integer Dim index2 As Integer Dim temptkb1 As TKB Dim temptkb2 As TKB Dim templop1 As lop Dim templop2 As lop Set temptkb1 = New TKB Set temptkb2 = New TKB Set templop1 = New lop Set templop2 = New lop Dim i As Integer Dim Index As Integer Randomize index2 = Int(Rnd * size + 1) index1 = Int(Rnd * size + 1) Index = Int(Rnd * sl + 1) ' Lấy hai cá thể từ quần thể Copy QT.Item(index1), temptkb1 Copy QT.Item(index2), temptkb2 (LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu 117 'Lấy hai lớp từ hai cá thể Set templop2 = temptkb2.getlop(Index) Set templop1 = temptkb1.SemiCross(templop2, Index) temptkb2.setlop templop1, Index index2 = kqtg.count kqtg.Add temptkb1 kqtg.Add temptkb2 End Sub Public Sub kt() Init 4, Dim i As Integer i=2 While i > 'CrossOver SemiCrossOver i=i-1 Wend End Sub Public Sub selection() End Sub Public Sub Copy(ByVal oldtkb As TKB, newtkb As TKB) Dim newlop As lop Dim tempds As New Collection Dim i, j As Integer Dim Index As Integer Dim count As Integer If newtkb.ds.count Then For i = To newtkb.ds.Remove (1) Next End If With newtkb sl = oldtkb.sl sogv = oldtkb.sogv Fitvalue = oldtkb.Fitvalue count = oldtkb.ds.count For Index = To count Set newlop = New lop Set newlop = oldtkb.getlop(Index) ds.Add newlop Next End With End Sub (LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu 118 Lớp kiểm tra xung đột, thực lại tương giao chéo, tính độ thích nghi Option Explicit Public Fitvalue As Integer ' Giá trị thích nghi Public sl As Integer Public sogv As Integer ' giáo viên Public ds As New Collection Private Sub Class_Initialize() sl = End Sub Public Sub Init(solop As Integer) Dim Index As Integer Dim templop As lop Set templop = New lop Dim str As String sl = solop sogv = 14 For Index = To sl Set templop = New lop templop.Init (Index) ds.Add templop Next fitness Set templop = Nothing End Sub ' Toán tử tương giao chéo phần Public Function SemiCross(ByVal lp As lop, Index As Integer) As lop Dim index1 As Integer Dim index2 As Integer Dim lop2 As lop Dim tempgen As GEN Set tempgen = New GEN Dim coll_12 As New Collection Dim coll_21 As New Collection Dim coll_11 As New Collection Dim coll_22 As New Collection Dim mang1(1 To 5, To 6) As Integer Dim mang2(1 To 5, To 6) As Integer Dim fmgv As Integer Dim i, j As Integer Set SemiCross = New lop Set lop2 = New lop For i = To (LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu 119 For j = To mang1(i, j) = mang2(i, j) = Next Next Randomize Index = While lp.malop ds.Item(Index).malop Index = Index + Wend Set SemiCross = ds.Item(Index) Set lop2 = lp ds.Remove (Index) ' Chọn ngẫu nhiên giáo viên có tiết dạy lớp While Not SemiCross.gv(fmgv) fmgv = Int(Rnd * 13 + 1) Wend For i = To For j = To If lop2.getgv(i, j) = fmgv Then Set tempgen = New GEN Set tempgen = SemiCross.GetGen(i, j) coll_12.Add tempgen mang1(i, j) = mang1(i, j) + Set tempgen = New GEN Set tempgen = lop2.GetGen(i, j) coll_22.Add tempgen mang2(i, j) = mang2(i, j) + End If Next Next For i = To For j = To If SemiCross.getgv(i, j) = fmgv Then Set tempgen = New GEN Set tempgen = lop2.GetGen(i, j) coll_21.Add tempgen mang2(i, j) = mang2(i, j) + Set tempgen = New GEN Set tempgen = SemiCross.GetGen(i, j) coll_11.Add tempgen mang1(i, j) = mang1(i, j) + End If Next (LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu 120 Next For i = To For j = To If (mang1(i, j) = And coll_12.count 0) Then While coll_12.Item(1).MGV = fmgv coll_12.Remove (1) Wend SemiCross.SetGen i, j, coll_12.Item(1) coll_12.Remove (1) End If If mang1(i, j) = Then SemiCross.SetGen i, j, coll_22.Item(1) coll_22.Remove (1) End If If (mang2(i, j) = And coll_21.count 0) Then While coll_21.Item(1).MGV = fmgv coll_21.Remove (1) Wend lop2.SetGen i, j, coll_21.Item(1) coll_21.Remove (1) End If If mang2(i, j) = Then lop2.SetGen i, j, coll_11.Item(1) coll_11.Remove (1) End If Next Next ds.Add lop2 Set coll_12 = Nothing Set coll_21 = Nothing Set coll_22 = Nothing Set coll_11 = Nothing End Function Public Function fitness() As Integer Dim kq As Integer (LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu 121 Dim count1, count2 As Integer Dim temp As New Collection Dim i, j As Integer ' Tính độ thích nghi mặt xếp học For count1 = To ds.count '(1) kq = kq + ds.Item(count1).fitness Next '(1) ' Tính độ thích nghi mặt trùng giáo viên 'Lặp cho giáo viên For count2 = To sogv '(2) Dim dsgv As New Collection For count1 = To ds.count '(3) Set temp = ds.Item(count1).THGD(count2) If temp.count Then dsgv.Add temp End If Next '(3)' Lấy xong lớp mà giá viên dạy For i = To 30 '(4) count1 = For j = To dsgv.count '(5) If dsgv.Item(j).Item(i) Then ' Đếm số tiêt dạy giáo viên count1 = count1 + End If Next '(5) If count1 > Then kq = kq + * (count1 - 1) End If Next '(4) Thực xong cho giáo viên Set dsgv = Nothing Next ' Thực cho giáo viên Fitvalue = 1000 - kq fitness = 1000 - kq Set temp = Nothing Set dsgv = Nothing End Function ' Lấy lớp từ danh sách có số i Public Function getlop(i As Integer) As lop Dim k, j As Integer Dim oldlop As New lop Set oldlop = ds.Item(i) (LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu 122 Set getlop = New lop With getlop Set BAN = oldlop.BAN Set dsgv = oldlop.dsgv malop = oldlop.malop Fitvalue = oldlop.Fitvalue For k = To For j = To SetGen k, j, oldlop.GetGen(k, j) Next Next End With Set oldlop = Nothing End Function ' Đặt lớp vào danh sách có số i Public Sub setlop(ByVal oldlop As lop, i As Integer) Dim k, j As Integer Dim newlop As lop Set newlop = New lop Dim Index As Integer Index = Dim str As String While ds.Item(Index).malop oldlop.malop Index = Index + Wend ds.Remove (Index) With newlop Set BAN = oldlop.BAN Set dsgv = oldlop.dsgv malop = oldlop.malop Fitvalue = oldlop.Fitvalue For k = To For j = To SetGen k, j, oldlop.GetGen(k, j) Next Next End With ds.Add newlop End Sub Public Sub ReOrder() ' Sắp xếp lại tiết học tuần Dim Index As Integer Randomize Index = Int(Rnd * sl + 1) ds.Item(Index).ReOrder End Sub Public Sub ToDB() (LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu TIEU LUAN MOI download : skknchat@gmail.com (LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu (LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu(LUAN.VAN.THAC.SI).Mot.so.phuong.phap.khai.pha.du.lieu.va.ung.dung.trong.bai.toan.lap.thoi.khoa.bieu