TRƯỜNG ĐẠI HKHOA SINH VIÊN GIẢI THU I HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ N KHOA CÔNG NGHỆ THÔNG TIN SINH VIÊN: HOÀNG THỊ QUỲNH HOA I THUẬT DI TRUYỀN VÀ ỨNG DỤNG Hà Nội - 2015 NG HÀ NỘI.
Trang 1TRƯỜNG ĐẠI H
KHOA
SINH VIÊN
GIẢI THU
I HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ N
KHOA CÔNG NGHỆ THÔNG TIN
SINH VIÊN: HOÀNG THỊ QUỲNH HOA
I THUẬT DI TRUYỀN VÀ ỨNG DỤNG
Hà Nội - 2015
NG HÀ NỘI
Trang 2TRƯỜNG ĐẠI H
KHOA
SINH VIÊN: HOÀNG TH
GIẢI THU
Chuyên ngành: Công ngh
Mã ngành:
I HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ N
KHOA CÔNG NGHỆ THÔNG TIN
SINH VIÊN: HOÀNG THỊ QUỲNH HOA
I THUẬT DI TRUYỀN VÀ ỨNG DỤNG
Chuyên ngành: Công nghệ thông tin
NGƯỜI HƯỚNG DẪN : THS ĐỖ TH
Hà Nội - 2015
NG HÀ NỘI
THỊ THU NGA
Trang 31
LỜI MỞ ĐẦU
Trong ngành khoa học máy tính, tìm kiếm lời giải tối ưu cho các bài toán là vấn đề được các nhà khoa học máy tính đặc biệt rất quan tâm Mục đích chính của các thuật toán tìm kiếm lời giải là tìm ra lời giải tối ưu nhất cho bài toán trong thời gian nhỏ nhất Trước đây để giải những bài toán tối ưu, người ta thường dùng những phương pháp cổ điển như: leo đồi, mô phỏng luyện thép, …Với những bài toán có không gian tìm kiếm nhỏ, thì những phương pháp trên có thể giải quyết tốt Nhưng trong thực tiễn với không gian tìm kiếm lớn thì những phương pháp trên không hiệu quả Vì vậy, việc đòi hỏi thuật giải chất lượng cao và sử dụng kỹ thuật trí tuệ nhân tạo đặc biệt rất cần thiết khi giải quyết các bài toán có không gian tìm kiếm lớn Thuật giải di truyền (genetic algorithm) là một trong những kỹ thuật tìm kiếm lời giải tối ưu đã đáp ứng được yêu cầu của nhiều bài toán và ứng dụng
Thuật giải di truyền đã được phát minh ra để bắt chước quá trình phát triển tự nhiên trong điều kiện quy định sẵn của môi trường Các đặc điểm của quá trình này
đã thu hút sự chú ý của John Holand (ở Đại học Michigan) ngay từ những năm
1970 Holand tin rằng sự gắn kết thích hợp trong thuật giải máy tính có thể tạo ra một kỹ thuật giúp giải quyết các vấn đề khó khăn giống như trong tự nhiên đã diễn
ra thông qua quá trình tiến hóa
Trên thế giới hiện nay, Thuật Giải Di Truyền kết hợp với Công nghệ thông tin được ứng dụng để giải quyết những vấn đề phức tạp trong hệ thống điện một cách rất hiệu quả Nhưng trong đề tài này, chúng ta nghiên cứu ứng dụng Thuật giải
Di truyền xếp lịch thi trong trường Đại học
Trang 4LỜI CẢM ƠN
Để hoàn thành bản đồ án này, trước hết em xin cảm ơn các thầy giáo, cô giáo Khoa Công nghệ thông tin, Trường Đại học Tài Nguyên và Môi trường Hà Nội, những người đã dạy dỗ, trang bị cho em những kiến thức chuyên môn trong bốn năm học, và giúp chúng em hiểu rõ hơn các lĩnh vực đã nghiên cứu để hoàn thành
đề tài
Em xin bày tỏ lòng biết ơn xâu sắc nhất tới cô giáo Thạc sĩ Đỗ Thị Thu Nga, người đã hướng dẫn, cho em những ý tưởng, chỉ bảo những vướng mắc để em hoàn thành bản đồ án này
Em xin chân thành cảm ơn
Hà Nội, tháng 6 năm 2015 Sinh viên
Hoàng Thị Quỳnh Hoa
Trang 53
MỤC LỤC
LỜI MỞ ĐẦU 1
LỜI CẢM ƠN 2
CHƯƠNG 1 - TÌM HIỂU VỀ BÀI TOÁN LẬP LỊCH 7
1.1 Tìm hiểu chung 7
1.2 Các đặc tính của bài toán lập lịch 7
1.3 Bài toán Lập Lịch Thi 8
1.3.1 Giới thiệu bài toán 8
1.3.2 Dữ liệu bài toán 8
1.4 Một số bước cơ bản để giải quyết bài toán lập lịch thi 8
CHƯƠNG 2 - GIẢI THUẬT DI TRUYỀN (GAS) 9
2.1 Tìm hiểu chung về GAS 9
2.1.1 Cấu trúc giải thuật di truyền tổng quát 11
2.1.2 Những nguyên tắc cơ bản thực hiện giải thuật di truyền GAS 12
2.2 Các toán tử của giải thuật di truyền 13
2.3 Các tham số của giải thuật di truyền 13
2.4 Cách biểu diễn bài toán trong giải thuật di truyền 14
2.4.1 Biểu diễn Gen bằng chuỗi nhị phân 14
2.4.2 Biểu diễn số thực bằng chuỗi nhị phân 15
2.4.2 Biểu diễn Gen bằng chuỗi số thực 17
2.4.3 Biểu diễn Gen bằng cấu trúc cây 18
2.5 Nguyên lý về xác định tính thích nghi 18
2.5.1 Độ thích nghi tiêu chuẩn 19
2.5.2 Độ thích nghi xếp hạng (rank method) 20
2.6 Mã hóa (Encoding) 23
2.6.1 Giới thiệu (Introduction) 23
2.6.2 Mã hóa bằng số nhị phân (Binary Encoding) 23
Trang 62.6.3 Mã hóa vị trí (Permutation Encoding) 24
2.6.4 Mã hóa theo giá trị (Value Encoding) 24
2.6.5 Cây mã hóa (Tree Encoding) 25
2.7 Các phương pháp chọn (Selection) 26
2.7.1 Chọn lọc Roulette (Roulette Wheel Selection) 26
2.7.2 Chọn lọc xếp hạng (Rank Selection) 27
2.7.3 Chọn lọc cạnh tranh ( Tournament Selection) 27
2.8 Các phương pháp lai tạo (crossover) và đột biến (mutation) 27
2.8.1 Binary Encoding (mã hóa nhị phân) 27
2.8.2 Permutation Encoding (Mã hóa vị trí) 29
2.8.3 Value Encoding (mã hóa theo giá trị) 29
2.8.4 Tree Encoding (Cây mã hóa) 29
2.9 Các toán tử trong giải thuật di truyền 31
2.9.1 Toán tử Chọn lọc 31
2.9.2 Toán tử lai ghép 32
2.9.3 Toán tử đột biến 33
2.9.4 Toán tử sinh sản 34
2.10 Các tham số cần sử dụng trong giải thuật di truyền 34
2.11 Điều kiện kết thúc thuật giải di truyền 34
2.12 Ứng dụng của thuật giải di truyền 34
CHƯƠNG 3 - ỨNG DỤNG GIẢI THUẬT DI TRUYỀN VÀO BÀI TOÁN SẮP XẾP LỊCH THI 35
3.1 Giai đoạn 1: Xếp lịch thi các lớp 36
3.1.1 Chọn mô hình cá thể 36
3.1.2 Tạo quần thể ban đầu 37
3.1.3 Độ thích nghi – chọn cá thể 37
Trang 75
3.1.4 Thuật toán lai ghép và đột biến 38
3.2 Giai đoạn 2: Xếp lịch thi cho toàn bộ cơ sở 38
3.2.1 Chọn mô hình cá thể 38
3.2.2 Tạo quần thể ban đầu 39
3.2.3 Độ thích nghi - chọn cá thể 39
3.2.4 Thuật toán lai ghép và đột biến 40
3.2.5 Chọn điểm dừng thuật toán 40
CHƯƠNG 4 - THIẾT KẾ HỆ THỐNG BÀI TOÁN LẬP LỊCH THI 41
4.1 Sơ đồ chức năng liên kết 41
4.2 Phân tích thiết kế hệ thống cơ sở dữ liệu 42
4.3 Các đối tượng của lịch thi 42
4.4 Mô tả bảng sơ đồ liên kết trong cơ sở dữ liệu 43
4.5 Chương trình thực nghiệm 47
4.5.1 Form đăng nhập 48
4.5.2 Giao diện chính của chương trình 48
4.5.3 Form đổi mật khẩu 49
4.5.4 Form nhân viên, quản trị 50
4.5.5 Form quản lý lớp học 51
4.5.7 Form quản lý ca thi 51
4.5.9 Form quản lý khóa học 52
4.5.6 Form quản lý môn thi 52
4.5.8 Form quản lý sinh viên 53
4.5.11 Form quản lý phòng học 54
4.5.10 Form sắp xếp lịch thi 54
4.5.12 Form đăng xuất 55
Trang 8KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 56
1 Kết quả đạt được 56
2 Hạn chế - Hướng phát triển trong tương lai 56
2.1 Hạn chế 56
2.2 Hướng phát triển trong tương lai 56
TÀI LIỆU THAM KHẢO 57