Tải bản đầy đủ (.doc) (77 trang)

Giải thuật gen di truyền giải bài toán lập kế hoạch học tập

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.91 MB, 77 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
---------------------------------------

GIẢI THUẬT DI TRUYỀN GIẢI BÀI TOÁN LẬP KẾ HOẠCH HỌC TẬP

Chuyên ngành : Công Nghệ Thông Tin

LUẬN VĂN THẠC SĨ KỸ THUẬT
Công nghệ thông tin


Giải thuật di truyền giải bài toán lập kế hoạch học tập

Hà Nội – Năm 2014

2


Giải thuật di truyền giải bài toán lập kế hoạch học tập

MỤC LỤC
MỤC LỤC....................................................................................................................3
......................................................................................................................................6
DANH MỤC THUẬT NGỮ - VIẾT TẮT..................................................................6
DANH MỤC HÌNH VẼ, ĐỒ THỊ...............................................................................7
DANH MỤC BẢNG....................................................................................................9
MỞ ĐẦU....................................................................................................................11
CHƯƠNG 1. GIỚI THIỆU........................................................................................15
1.1.ĐẶT VẤN ĐỀ..................................................................................................15
1.2.CÁC NGHIÊN CỨU LIÊN QUAN.................................................................15


1.3.PHÁT BIỂU BÀI TOÁN.................................................................................16
1.3.1. Mô tả quy trình lập kế hoạch học tập của Trường Sĩ quan Tăng thiết
giáp.....................................................................................................................16
1.3.2.Đầu vào.....................................................................................................17
1.3.3.Các ràng buộc...........................................................................................17
1.3.4.Mục tiêu....................................................................................................18
1.3.5.Đầu ra........................................................................................................18
1.4.MÔ HÌNH BÀI TOÁN....................................................................................19
1.4.1.Các chỉ số..................................................................................................19
1.4.2.Các biến.....................................................................................................19
1.4.3.Công thức cho các hàm ràng buộc...........................................................20
1.4.4.Công thức cho các hàm mục tiêu.............................................................21
1.4.5.Phương pháp giải quyết............................................................................21
CHƯƠNG 2. GIẢI THUẬT DI TRUYỀN................................................................22
2.1.KHÁI NIỆM CƠ BẢN....................................................................................22
2.1.1. Lịch sử giải thuật di truyền......................................................................22
2.1.2. Khái niệm.................................................................................................23

3


Giải thuật di truyền giải bài toán lập kế hoạch học tập

2.2.CÁC THAM SỐ CỦA GIẢI THUẬT DI TRUYỀN......................................35
2.3.ỨNG DỤNG GIẢI THUẬT DI TRUYỀN.....................................................35
2.4.BÀI TOÁN TỐI ƯU........................................................................................36
2.4.1.Một số khái niệm......................................................................................36
2.4.2.Các bài toán tối ưu....................................................................................37
CHƯƠNG 3. ÁP DỤNG GIẢI THUẬT DI TRUYỀN GIẢI BÀI TOÁN LẬP KẾ
HOẠCH HỌC TẬP TẠI TRƯỜNG SĨ QUAN TĂNG THIẾT GIÁP.....................42

3.1.CÁC ĐỐI TƯỢNG..........................................................................................42
3.2.BIỂU DIỄN MÔ HÌNH CÁ THỂ....................................................................43
3.3.KHỞI TẠO QUẦN THỂ.................................................................................45
3.4.BIỂU DIỄN CÁC RÀNG BUỘC....................................................................46
3.5.CÁC TOÁN TỬ DI TRUYỀN........................................................................49
3.5.1.Đột biến.....................................................................................................49
3.5.2.Lai ghép.....................................................................................................50
3.6.TÍNH ĐỘ THÍCH NGHI CỦA CÁ THỂ........................................................52
3.7.THAM SỐ CỦA GIẢI THUẬT .....................................................................53
CHƯƠNG 4. KẾT QUẢ ĐẠT ĐƯỢC......................................................................54
4.1.GIẢI PHÁP CÔNG NGHỆ.............................................................................54
4.1.1.Hệ điều hành.............................................................................................54
4.1.2.Nền tảng, ngôn ngữ lập trình....................................................................54
4.1.3.Hệ quản trị CSDL.....................................................................................54
4.1.4.Công cụ phát triển ứng dụng quản lý.......................................................55
4.1.5.Giải pháp phân quyền sử dụng và dữ liệu................................................55
4.1.6.Giải pháp sao lưu phục hồi.......................................................................56
4.2.MÔ HÌNH HỆ THỐNG...................................................................................57
4.2.1.Mô hình triển khai....................................................................................57
4.2.2.Mô hình xây dựng ứng dụng....................................................................58
4.3.THỰC NGHIỆM..............................................................................................60

4


Giải thuật di truyền giải bài toán lập kế hoạch học tập

4.3.1.Cơ sở dữ liệu.............................................................................................60
4.3.2.Dữ liệu mẫu...............................................................................................69
4.3.3.Tham số thử nghiệm.................................................................................70

4.3.4.Kết quả thử nghiệm...................................................................................70
4.3.5.Giao diện phần mềm.................................................................................71
4.4.NHẬN XÉT......................................................................................................75
CHƯƠNG 5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN..........................................77
5.1.CÁC KẾT QUẢ ĐẠT ĐƯỢC.........................................................................77
5.2.HẠN CHẾ........................................................................................................77
5.3.HƯỚNG PHÁT TRIỂN...................................................................................77
TÀI LIỆU THAM KHẢO..........................................................................................79

5


Giải thuật di truyền giải bài toán lập kế hoạch học tập

DANH MỤC THUẬT NGỮ - VIẾT TẮT
STT

Viết tắt

1.

TTG

2.

SQ

3.
4.


Nguyên gốc

Chú thích

Tăng thiết giáp
Sĩ quan

TSQTTG Trường sĩ quan Tăng
thiết giáp
GA
Genetic Algorithm
Giải thuật di truyền

5.

NST

Nhiễm sắc thể

6.

P

Population

Quần thể

7.

G


Generation

Thế hệ

8.

Thêm

9.

Sửa

Sửa bản ghi

10.

Xoá

Xoá bản ghi

11.

Tải lại

12.

In

13.


Xuất

Thêm mới bản ghi

Tải lại danh sách dữ liệu
In danh sách bản ghi
Xuất danh sách bản ghi ra
excel

6


Giải thuật di truyền giải bài toán lập kế hoạch học tập

DANH MỤC HÌNH VẼ, ĐỒ THỊ

Hình 1. Xác xuất của mỗi NST theo kiểu lựa chọn Roulet.......................................26
Hình 2: Lựa chọn xếp hạng........................................................................................28
Hình 3: Lai ghép một điểm cắt mã hóa nhị phân.......................................................29
Hình 4: Lai ghép một điểm cắt mã hóa nhị phân.......................................................29
Hình 5: Lai ghép đồng nhất mã hóa nhị phân............................................................30
Hình 6. Mặt nạ lai ghép đồng nhất.............................................................................30
Hình 7: Lai ghép số học mã hóa nhị phân..................................................................30
Hình 8. Lai ghép một điểm cắt mã hóa hoán vị.........................................................31
Hình 9. Phép đảo bit mã hóa nhị phân.......................................................................31
Hình 10. Hoán vị thứ tự mã hóa hoán vị....................................................................32
Hình 11. Thay đổi giá trị trong mã hóa giá trị...........................................................32
Hình 12. Sơ đồ chiến lược nạp lại hoàn toàn.............................................................33
Hình 13. Sơ đồ chiến lược nạp lại ngẫu nhiên...........................................................33

Hình 14. Sơ đồ chiến lược nạp lại theo mô hình cá thể tối ưu..................................34
Hình 15. Mô hình giải thuật.......................................................................................35
Hình 16. Mạch logic, đầu vào được nhập từ bên trái và đầu ra ở bên phải...............38
Hình 17: Các lớp bài toán P, NP và co-NP................................................................39
Hình 18: Phân lớp tạm thời các bài toán....................................................................40
Hình 19 Biểu diễn mô hình cá thể..............................................................................43
Hình 20. Mô hình triển khai.......................................................................................58
Hình 21. Mô hình ứng dụng client/server..................................................................59
Hình 22. Kiến trúc ứng dụng 3 lớp............................................................................60
Hình 23. Giao diện đăng nhập....................................................................................71
Hình 24. Giao diện quản lý danh mục........................................................................71
Hình 25. Giao diện phân công giáo viên dạy môn và lớp học...................................72

7


Giải thuật di truyền giải bài toán lập kế hoạch học tập

Hình 26. Giao diện dữ liệu chuẩn bị trước khi giải thuật thực hiện..........................72
Hình 27. Giao diện kết quả của phần mềm................................................................73
Hình 28. Giao diện cập nhật chương trình đào tạo....................................................73
Hình 29. Thiết lập lớp thuộc chương trình đào tạo....................................................74
Hình 30. Giao diện thiết lập tham số hệ thống .........................................................75
Hình 31. Giao diện thiết lập tham số giải thuật.........................................................75

8


Giải thuật di truyền giải bài toán lập kế hoạch học tập


DANH MỤC BẢNG
Bảng 1. Bảng chỉ số....................................................................................................19
Bảng 2: Mã hóa nhị phân độ dài 20 bit......................................................................23
Bảng 3: Mã hóa hoán vị 2 NST A&B........................................................................24
Bảng 4: Mã hóa giá trị các NST A, B, C....................................................................25
Bảng 5. Khởi tạo cá thể..............................................................................................44
Bảng 6. Sao chép cá thể..............................................................................................44
Bảng 7. Khởi tạo dữ liệu vector của cá thể................................................................45
Bảng 8. Khởi tạo quần thể..........................................................................................46
Bảng 9. Biểu diễn ràng buộc giảng viên không dạy 2 lớp cùng thời điểm...............46
Bảng 10. Biểu diễn ràng buộc phòng không tồn tại 2 lớp cùng thời điểm................47
Bảng 11. Biểu diễn ràng buộc số học viên không quá số ghế ngồi của phòng.........47
Bảng 12. Biểu diễn ràng buộc lớp không học 2 môn cùng thời điểm.......................48
Bảng 13. Biểu diễn ràng buộc môn thể dục không học tiết 5, 6................................48
Bảng 14. Biểu diễn ràng buộc bài học bắt buộc sử dụng phòng thực hành, bãi tập. 49
Bảng 15. Đột biến.......................................................................................................50
Bảng 16. Chọn điểm lai ghép.....................................................................................50
Bảng 17. Lai ghép.......................................................................................................51
Bảng 18. Tính độ thích nghi của cá thể......................................................................53
Bảng 19. Danh mục đơn vị.........................................................................................61
Bảng 20. Danh mục hình thức bài học.......................................................................61
Bảng 21. Danh mục loại phòng học...........................................................................62
Bảng 22. Danh mục môn học.....................................................................................62
Bảng 23. Danh mục phòng học..................................................................................63
Bảng 24. Bảng dữ liệu người dùng............................................................................63
Bảng 25. Bảng phân quyền người dùng.....................................................................64
Bảng 26. Bảng nhật ký sử dụng.................................................................................65

9



Giải thuật di truyền giải bài toán lập kế hoạch học tập

Bảng 27. Bảng dữ liệu chương trình đào tạo.............................................................65
Bảng 28. Bảng dữ liệu chương trình đào tạo chi tiết.................................................66
Bảng 29. Bảng dữ liệu chi tiết bài học của môn học trong chương trình đào tạo.....67
Bảng 30. Bảng dữ liệu phân công Giảng viên – Lớp học..........................................67
Bảng 31. Bảng dữ liệu phân công Giảng viên – Môn học.........................................68
Bảng 32. Bảng dữ liệu kết quả xếp lịch.....................................................................69
Bảng 33. Bảng dữ liệu thử nghiệm đơn giản.............................................................69
Bảng 34. Bảng dữ liệu thử nghiệm thực tế................................................................70
Bảng 35: Bảng tham số thử nghiệm...........................................................................70
Bảng 36. Bảng kết quả thử nghiệm đơn giản.............................................................70
Bảng 37. Bảng kết quả thử nghiệm thực tế................................................................70

10


Giải thuật di truyền giải bài toán lập kế hoạch học tập

MỞ ĐẦU
1. Lý do chọn đề tài
Trong cuộc sống ta thường gặp các bài toán liên quan đến xếp lịch như lịch
vận hành cho máy móc, lịch thực hiện dự án, lịch làm việc, lịch thi đấu trong thể
thao, lịch sửa dụng tài nguyên,… Đối với mỗi loại bài toán này cần tìm ra phương
án xếp lịch thoả mãn tất cả các ràng buộc cũng như khai thác hiệu quả các nguồn tài
nguyên hiện có, giảm thời gian và chi phí thực hiện.
Bài toán lập kế hoạch học tập trong trường học nói chung và trong trường Đại
học nói riêng là một trong những bài toán như vậy. Có rất nhiều ràng buộc được đặt
ra trong bài toán này như ràng buộc về đối tượng tham gia (giảng viên, học viện,

lớp học), ràng buộc về tài nguyên phục vụ giảng dạy (phòng học lý thuyết, phòng
học thực hành, máy chiếu, đồ dùng hỗ trợ giảng dạy…), ràng buộc về thời gian (số
tiết học, số lần học, số tiết mỗi lần học), ràng buộc về chuyên mồn và nhiều ràng
buộc khác phụ thuộc vào từng trường. Vấn đề đặt ra là xây dựng một thời khoá biểu
thoả mãn tất cả các ràng buộc trên đồng thời khai thác hiệu quả các nguồn tài
nguyên phục vụ giảng dạy.
Bài toán lập kế hoạch học tập thuộc lớp các bài toán NP-đầy đủ vì vậy có thể
không tìm ra lời giải tối ưu. Đây là một bài toán không mới và đã có nhiều giải
thuật được đưa ra để giải quyết như giải thuật nhánh cận, giải thuật leo đồi, giải
thuật luyện thép, giải thuật tô màu đồ thị, giải thuật xấp xỉ,… Tuy nhiên các giải
thuật này thường không có tính tổng quát và chỉ áp dụng hiệu quả đối với các bài
toán quy mô nhỏ, ràng buộc ít về mặt dữ liệu.
Ở Việt Nam hiện nay, các trường Đại học đang có nhiều hình thức đào tạo
khác nhau như đào tạo tín chỉ, đạo tạo niên chế và có cả trường áp dụng cả 2 hình
thức. Do vậy việc xếp kế hoạch học tập vẫn là một gánh nặng cho các trường, đặc
biệt với những trường có quy mô đào tạo lớn. Mặt khác trên thị trường hiện tại cũng
chưa có sản phẩm nào giải quyết hiệu quả bài toán.
Trong những năm gần đây, phương pháp tiếp cận di truyền đã thu hút rất
nhiều sự chú ý trong các lĩnh vực nghiên cứu khác nhau trong đó có khoa học máy
tính. Phương pháp này có nhiều đặc điểm nổi trội như không đòi hỏi tri thức, tránh
tối ưu cục bộ, thực hiện tốt các bài toán có không gian lời giải lớn và có thể áp dụng
cho nhiều loại bài toán tối ưu khác nhau. Trên thế giới hiện nay giải thuật di truyền
kết hợp với tin học được ứng dụng để giải quyết những bài toán tối ưu một cách rất
hiệu quả. Vì vậy việc nghiên cứu và ứng dụng giải thuật di truyền (Genetic

11


Giải thuật di truyền giải bài toán lập kế hoạch học tập


Algorithm - GA) để giải quyết hiệu quả bài toán lập kế hoạch học tập là việc làm
cần thiết.
2. Mục tiêu của đề tài
Đề tài tập trung nghiên cứu và ứng dụng giải thuật di truyền vào bài toán lập
kế hoạch học tập cho Trường Sĩ quan Tăng Thiết Giáp (TSQTTG). Đây là trường
trong ngành quân đội có một số đặc thù riêng trong quá trình lập kế hoạch học tập
với nhiều ràng buộc đặt ra.
Để đạt được các mục tiêu trên, đề tài tập trung vào các nhiệm vụ cụ thể sau:
- Phân tích đặc điểm của bài toán lập kế hoạch học tập tại trường để từ đó đề
ra các giải pháp hợp lý trong việc xây dựng và triển khai hệ thống.
- Tìm hiểu giải thuật di truyền và ứng dụng của nó trong việc giải quyết các
bài toán tối ưu.
- Ứng dụng giải thuật di truyền vào bài toán lập kế hoạch học tập cho trường.
- Thiết kế hệ thống và xây dựng ứng dụng.
- Phân tích, đánh giá kết quả đạt được khi thực hiện hệ thống với các bộ dữ
liệu thử đơn giản.
- Triển khai thực nghiệm với bộ dữ liệu của Trường SQTTG.
3. Đối tượng và phạm vi nghiên cứu
Nghiên cứu các đặc điểm, đặc trưng của giải thuật di truyền, các thành phần
cơ bản như khởi tạo quần thể ban đầu, đánh giá độ thích nghi của các cá thể, các
toán tử di truyền (chọn lọc, lai ghép, đột biến), điều kiện dừng.
Ứng dụng giải thuật di truyền vào bài toán lập kế hoạch học tập tại một
trường cấp Đại học trong ngành Quân đội theo học niên chế với những ràng buộc và
những yêu cầu cơ bản.
4. Phương pháp nghiên cứu
a. Phương pháp nghiên cứu lý thuyết
- Nghiên cứu tài liệu, ngôn ngữ và công nghệ liên quan.
- Tổng hợp các tài liệu lý thuyết về giải thuật di truyền.
- Biểu diễn bài toán lập kế hoạch học tập trong trường bằng mô hình giải thuật
di truyền.


12


Giải thuật di truyền giải bài toán lập kế hoạch học tập

b. Phương pháp nghiên cứu thực nghiệm
- Phân tích, thiết kế hệ thống theo quy trình xây dựng phần mềm.
- Xây dựng hệ thống lập kế hoạch học tập sử dụng giải thuật di truyền.
- Thử nghiệm hệ thống và đánh giá kết quả dựa trên bộ dữ liệu thử và dữ liệu
thực tế của trường.
5. Kết quả dự kiến
- Nhận thức đầy đủ về thế mạnh của giải thuật di truyền trong việc giải các bài
toán tối ưu.
- Đề ra được giải pháp và ứng dụng các vấn đề của giải thuật di truyền vào
việc giải quyết bài toán lập kế hoạch học tập cho trường SQTTG.
6. Ý nghĩa khoa học và thực tiễn
- Áp dụng giải thuật di truyền vào máy tính là phương pháp áp dụng các quy
luật của quá trình tiến hoá tự nhiên vào việc giải quyết các bài toán phức tạp
mà các thuật giải trước đó không đáp ứng được.
- Việc lập kế hoạch học tập sử dụng giải thuật di truyền là vấn đề không mới
nhưng chưa được áp dụng hiệu quả trong thực tế.
- Giải thuật di truyền không những áp dụng trong lĩnh vực lập lịch mà còn có
thể được ứng dụng trong nhiều bài toán tối ưu khác. Vì vậy kết quả nghiên
cứu của đề tài sẽ là nền tảng và cơ sở để tiếp tục nghiên cứu về sau.
- Kết quả của đề tài là hệ thống phần mềm TTGScheGA dùng để lập kế hoạch
học tập có tính dễ sử dụng, tính tuỳ biến cao, đáp ứng tốt nhu cầu người sử
dụng.
- Hệ thống có thể chạy tốt với bộ dữ liệu thực tế tại các trường đại học giúp
giảm đáng kể thời gian và công sức trong việc lập kế hoạch học tập.

7. Bố cục của luận văn
Bố cục của luận văn được chia thành 5 chương như sau:
Chương 1. Giới thiệu
Chương 1 nêu rõ tình hình lập kế hoạch học tập của trường Sĩ quan Tăng
thiết giáp và yêu cầu bài toán đặt ra, quy trình cần tin học hoá, các ràng buộc, dữ
liệu đầu vào, dữ liệu đầu ra, các yêu cầu chức năng.
Chương 2: Giải thuật di truyền

13


Giải thuật di truyền giải bài toán lập kế hoạch học tập

Chương 2 tập trung vào giới thiệu giải thuật di truyền, lịch sử phát triển,
hướng tiếp cận giải các bài toán tối ưu, quy trình thực hiện giải thuật và các ứng
dụng của giải thuật trong thực tế.
Chương 3: Giải thuật di truyền giải bài toán lập kế hoạch học tập tại trường Sĩ
quan Tăng Thiết giáp
Chương 3 nêu cách giải quyết bài toán lập kế hoạch học tập tại trường Sĩ
quan Tăng thiết giáp bằng Giải thuật di truyền, từ biểu diễn các thành phần của
giải thuật, dữ liệu đầu vào, dữ liệu đầu ra và cài đặt giải thuật để giải quyết bài
toán.
Chương 4: Kết quả đạt được
Chương 4 trình bày kết quả đạt được của phần mềm được cài đặt với các bộ
dữ liệu thử nghiệm và dữ liệu thực tế với những thay đổi các tham số của giải thuật
để có sự so sánh bộ tham số phù hợp.
Chương 5: Kết luận và hướng phát triển.
Chương 5 bàn về những vấn đề đã giải quyết được và những vấn đề còn chưa
giải quyết được trong phạm vi của đề tài và đề xuất hướng phát triển tiếp theo cho
đề tài.


14


Giải thuật di truyền giải bài toán lập kế hoạch học tập

CHƯƠNG 1. GIỚI THIỆU
Chương này sẽ trình bày các vấn đề sau:
• Phát biểu bài toán.
• Các nghiên cứu liên quan.
• Ứng dụng của bài toán.

1.1.

ĐẶT VẤN ĐỀ
Trong lĩnh vực lập lịch, giải thuật di truyền đã thu hút được rất nhiều các

nghiên cứu và đề xuất. Bài toán lập lịch thuộc lớp các bài toán NP-khó và vì vậy, rất
cần các giải thuật xấp xỉ. Tính đến nay có rất nhiều các đề xuất sử dụng giải thuật di
truyền cho bài toán lập lịch. Tuy nhiên, bài toán lập lịch là một trong những bài toán
mà có nhiều thể loại đa dạng, mỗi một thể loại cần có thiết kế giải thuật di truyền
đặc biệt. Về cơ bản, bài toán lập lịch được coi như là việc gán các mốc thời gian
(time slots) thực hiện cho các cặp tiết học, phòng học sao cho phù hợp với khả năng
về tài nguyên (giảng viên, phòng học và trang thiết bị hỗ trợ). Tuy nhiên, sự đa dạng
thể hiện ở các thể loại ràng buộc khác nhau và mỗi một bài toán thực tế sẽ có những
ràng buộc đặc trưng riêng. Chính vì vậy, mà các nghiên cứu đề xuất giải thuật di
truyền cho bài toán lập lịch luôn luôn là một chủ đề nóng.
Trường Sĩ quan Tăng thiết giáp là trường trong quân đội nên lập kế hoạch học
tập (kế hoạch huấn luyện) có nhiều đặc thù riêng không giống các trường học dân
sự. Mục tiêu chính là xếp kế hoạch huấn luyện cho học viên của trường theo từng

tháng để trường có kế hoạch huấn luyện cho toàn bộ học viên về kế hoạch giảng
dạy của giảng viên.
1.2.

CÁC NGHIÊN CỨU LIÊN QUAN
Công việc lập kế hoạch học tập (lập lịch) trong trường đại học đã được công

nhận là khó cả về phương diện lý thuyết cũng như thực tế. Một vài mô hình lập lịch
đã được mô tả trong thực tế, bao gồm từ lập lịch học của một trường đại học, lập

15


Giải thuật di truyền giải bài toán lập kế hoạch học tập

lịch thi, hoặc một vài sự kiện trong trường đại học. Các bài toán này được xem là
bài toán lập lịch mà được định nghĩa như là các bài toán gán một số sự kiện như kì
thi, khóa học với các khoảng thời gian và phòng thỏa mãn các ràng buộc.
Trong 20 năm trở lại đây, các cách tiếp cận heuristic đã được áp dụng thành
công cho các bài toán lập lịch. Ví dụ, heuristics dựa trên đồ thị, tabu search, large
neighborhood search, giải thuật great deluge algorithms, hybrid algorithms, và
population

based

algorithms

including

memetic


algorithms,

ant

colony

optimization, genetic algorithms, honeybee mating optimization (HBMO)
algorithms đã được ứng dụng. Tuy nhiên, các giải thuật này đặc trưng cho dạng bài
toán lập lịch tổng quát, nhưng khó khăn trong việc cài đặt giải quyết các bài toán cụ
thể.
Các giải thuật trên có thể được cải tiến phù hợp với những bài toán thực tế
hơn, nhưng quá trình này thường khó và không hiệu quả. Dựa trên một mô hình bài
toán cụ thể, ta sẽ xây dựng các ràng buộc đặc trưng cho bài toán đó. Từ đó, luận văn
đề xuất một giải thuật GA giải bài toán lập kế hoạch học tập.
1.3.

PHÁT BIỂU BÀI TOÁN

1.3.1. Mô tả quy trình lập kế hoạch học tập của Trường Sĩ quan Tăng thiết
giáp.
- Tại trường Sĩ quan Tăng thiết hàng năm trước khi vào năm học mới, bộ phận
làm kế hoạch (Ban kế hoạch của Phòng Đào tạo) sẽ phải chuẩn bị chương
trình học chi tiết cho khoá học mới vào cho cả quá trình học tuỳ theo từng
đối tượng học (đối tượng 3 năm, 4 năm, ngắn hạn…).
- Mỗi chương trình học chỉ rõ từng môn học với số lượng tổng số tiết học (lý
thuyết, thực hành, bãi tập), danh sách các bài học cụ thể đến từng bài học và
số tiết. Tiết nào học thực hành hoặc ngoài bãi tập có thông tin trang bị hỗ trợ
phục vụ đi kèm của bài đó (tài nguyên sử dụng trong buổi học). Một số bài
học chỉ định phòng học bắt buộc.

- Dựa theo chương trình học, Ban Kế hoạch sẽ phân bổ kế hoạch học cho từng
đối tượng ứng với chương trình học cụ thể và lập lịch theo từng tháng. Tháng
trước lập lịch cho tháng tiếp theo. Do đặc thù của trường quân đội, giảng

16


Giải thuật di truyền giải bài toán lập kế hoạch học tập

viên thường xuyên có lịch công tác đột xuất do nhiệm vụ nên trong tháng lập
lịch cho tháng tiếp giảng viên phải đăng ký thời gian bận trong tháng tiếp.
Ban Kế hoạch dựa vào thông tin giảng viên bận hay rảnh để phân bổ bài học
của môn học cho phù hợp trong tháng để kịp theo chương trình học trong
năm.
- Sau khi đã có lịch của tháng tiếp theo, Ban Kế hoạch in ra trên giấy A0 và
xin xác nhận của Trưởng phòng Đào tạo, ký đóng dấu của nhà trường và gửi
công khai đến các khoa giảng viên, các đơn vị quản lý học viên.
Một số lưu ý trong lịch của trường:
- Cùng môn học nhưng với mỗi bài học có độ dài khác nhau thì xếp ở các tuần
cũng có độ dài số tiết học khác nhau. Ví dụ môn Vũ khí trong tuần hiện tại
học bài số 1 là 2 tiết nhưng ở tuần sau có thể học 4 tiết lý thuyết liên tục hoặc
6 tiết thực hành liên tục. Do vậy số tiết học phụ thuộc vào bài học của môn
học.
- Số tiết lý thuyết được xếp theo cặp (2, 4 tiết, 6 tiết).
- Thời gian học tập lý thuyết vào buổi sáng, buổi chiều ôn.
- Số lượng lớp học viên không lớn và mỗi lớp học một chuyên ngành riêng
nên không áp dụng ghép lớp.
1.3.2. Đầu vào
- Danh sách các chương trình học
- Bài học đến lượt được đưa vào xếp lịch tháng tiếp.

- Danh sách phòng học.
- Danh sách lớp học.
- Danh sách giảng viên.
- Các yêu cầu bắt buộc đối với bài học cụ thể (phòng học bắt buộc, trang bị hỗ
trợ bắt buộc)
- Bảng phân công giảng viên giảng dạy môn học, lớp học.
1.3.3. Các ràng buộc
Ràng buộc của bài toán được chia thành 2 loại là ràng buộc cứng và ràng buộc
mềm. Ràng buộc cứng là những ràng buộc bắt buộc kết quả phải thoả mã các ràng

17


Giải thuật di truyền giải bài toán lập kế hoạch học tập

buộc đó. Ràng buộc mềm là ràng buộc tuỳ chọn và thường là mục tiêu tối ưu của
bài toán.
1.3.3.1.

Ràng buộc cứng

- Một giảng viên không thể dạy 2 lớp học cùng một thời điểm.
- Một phòng tại một thời điểm không thể có 2 lớp học (trừ phòng học chung).
- Số lượng sinh viên không thể vượt quá số ghế ngồi của phòng.
- Một lớp không thể học 2 môn cùng một thời điểm.
- Môn thể dục sẽ không vào tiết 5-6 của buổi sáng.
- Bài học bắt buộc sử dụng phòng thực hành, bãi tập.
1.3.3.2.

Ràng buộc mềm


- Khoảng trống giữa 2 lần dạy của giảng viên trong một buổi càng gần nhau
càng tốt.
- Thời gian trống của các lớp học viên càng ít càng tốt.
- Số tiết giảng viên dạy chênh lệch không quá lớn.
- Số phòng sử dụng càng ít càng tốt.
1.3.4. Mục tiêu
- Tìm một kế hoạch học tập thoả mã các ràng buộc cứng.
- Tối thiểu thời gian trống của các lớp học viên.
- Tối thiểu thời gian trống của các giảng viên.
- Tối thiểu số phòng sử dụng.
- Tối thiểu thời gian chênh lệch giữa các giảng viên.
1.3.5. Đầu ra
- Bản in Kế hoạch học tập của trường, xuất lịch theo các tiêu chí khác nhau:
lịch của khoa, lịch của giảng viên, lịch của phòng học trong tháng.
- Các biểu thống kê độ căng của giảng viên, của phòng trong từng ngày.
- Tổng thời gian dạy của từng giảng viên trong tháng.

18


Giải thuật di truyền giải bài toán lập kế hoạch học tập

1.4.

MÔ HÌNH BÀI TOÁN

1.4.1. Các chỉ số

Chỉ số

G
N
T
M
L
P

Ý nghĩa
Chỉ số giảng viên
Chỉ số ngày
Chỉ số tiết trong ngày
Chỉ số môn học
Chỉ số lớp học
Chỉ số phòng học
Bảng 1. Bảng chỉ số

Trong đó: G là tổng số giảng viên
M là tổng số môn học
L là tổng số lớp học
P là tổng số phòng học
1.4.2. Các biến

C(n,t,g,l) =

D(n,t,l,p) =

E(n,t,l,m) =

F(n,t,g) =


19

Miền giá trị
1≤g≤G
2≤n≤6
1≤t≤6
1≤m≤M
1≤l≤L
1≤p≤P


Giải thuật di truyền giải bài toán lập kế hoạch học tập

G(n,t,l) =

H(n,g) =

K(n,g) =

X(n,l) =

Y(n,l) =

Z(n,p) =

1.4.3. Công thức cho các hàm ràng buộc
• Một giảng viên không dạy hai lớp cùng một thời điểm:
-

F1 =


với mọi n,t,g

• Một phòng tại một thời điểm không thể có 2 lớp học:
-

F2 =

với mọi n,t,p

• Một lớp không thể học 2 môn cùng một thời điểm:
-

F3 =

với mọi n,t,l

• Một giảng viên không dạy liền 12 tiết một ngày:

20


Giải thuật di truyền giải bài toán lập kế hoạch học tập

-

F4 =

với mọi n,g


• Một lớp học tiết 6 buổi sang không học tiết 1 buổi chiều:
- F5 = Nếu G(n,6,l) = 1 thì G(n,7,l) = 0 với mọi n,l
• Môn thể dục không học vào tiết 5-6 buổi sáng:
- Gọi m0 là chỉ số của môn thể dục.
- F6 = Khi đó: E(n,t,l,m0) =0 nếu t = 5,6 với mọi n,l
1.4.4. Công thức cho các hàm mục tiêu
• Tối thiểu thời gian trống của lớp sinh viên:
-

Fit1 = Min (

) với mọi l

• Tối thiểu thời gian trống của giảng viên:
-

Fit2 = Min (

với mọi g

• Tối thiểu số phòng sử dụng
-

Fit3 = Min (

với mọi n

1.4.5. Phương pháp giải quyết
Việc lập kế hoạch trong tháng có thể chia thành các tuần rời rạc trong tháng để
thực hiện, mỗi tuần lập kế hoạch từ thứ 2 đến thứ 6. Mỗi tháng có thể lập kế hoạch

cho 5 tuần. Mỗi tuần sau đi được xếp lịch, môn học sẽ được đánh dấu đã xếp lịch
đến bài học nào của môn, tuần tiếp theo sẽ thực hiện xếp cho bài học tiếp theo.

21


Giải thuật di truyền giải bài toán lập kế hoạch học tập

CHƯƠNG 2. GIẢI THUẬT DI TRUYỀN
Chương này sẽ trình bày các vấn đề sau:
• Khái niệm cơ bản.
• Tham số của giải thuật di truyền.
• Ứng dụng của giải thuật di truyền.

2.1.

KHÁI NIỆM CƠ BẢN
2.1.1. Lịch sử giải thuật di truyền
Ý niệm về giải thuật di truyền đã được một số nhà sinh vật học đưa ra từ

những năm 50-60, thế kỉ XX. A.S. Fraser là người tiên phong nêu lên sự tương
đồng giữa sự tiến hóa của sinh vật và chương trình tin học giả tưởng về Genetic
Algorithms (GA).
Tuy nhiên, chính John Henry Holland mới là người triển khai ý tưởng và
phương pháp giải quyết vấn đề dựa theo sự tiến hóa. Từ những bài giảng, bài báo
của mình, ông đã đúc kết các ý tưởng vào trong cuốn sách đầu tay Adaptation in
Natural and Artificial Systems, xuất bản năm 1975. Dựa trên lý thuyết cơ bản về
GA của Holand, Keneth De Jong đã triển khai và chứng minh những thành quả do
ông thực hiện đã góp phần quan trọng trong việc tạo ra nền tảng toán học cho lý
thuyết GA.

Giải thuật di truyền hình thành trên quan niệm cho rằng quá trình tiến hoá tự
nhiên là quá trình hoàn hảo nhất, hợp lý nhất, và tự nó đã mang tính tối ưu. Quan
niệm này có thể được xem như một tiên đề đúng không chứng minh được nhưng
phù hợp với thực tế khách quan. Quá trình tiến hoá thể hiện tính tối ưu ở chỗ thế hệ
sau bao giờ cũng tốt hơn (phát triển hơn, hoàn thiện hơn) thế hệ trước. Tiến hoá tự
nhiên được duy trì nhờ hai quá trình cơ bản : sinh sản và chọn lọc tự nhiên. Xuyên
suốt quá trình tiến hoá tự nhiên, thế hệ mới luôn được sinh ra và bổ sung thay thế
thế hệ cũ. Cá thể nào phát triển hơn, thích ứng hơn với môi trường sẽ tồn tại, ngược

22


Giải thuật di truyền giải bài toán lập kế hoạch học tập

lại sẽ bị đào thải. Sự thay đổi môi trường là động lực thúc đẩy quá trình tiến hoá và
ngược lại tiến hoá góp phần thay đổi môi trường.
2.1.2. Khái niệm
2.1.2.1. Nhiễm sắc thể
Các sinh vật sống đều cấu tạo từ các tế bào, và tất cả các tế bào này đều bao
gồm một tập hợp các nhiếm sắc thể giống nhau. Các NST này là một chuỗi các
AND, quy định đặc tính của cả cá thể. Mỗi NST bao gồm rất nhiều GEN, mỗi gen
quy định một trạng thái nào đó.
Trong bài toán tối ưu, mỗi cá thể tương ứng với một lời giải chấp nhận được.
Việc mã hóa và giải mã gen, biến đổi giữa kiểu gen và kiểu hình được quyết định
bởi tính chất của bài toán.
Trong giải thuật di truyền, nhiễm sắc thể được biểu diễn trên máy tính bằng
cách mã hoá nhiễm sắc thể và với từng bài toán khác nhau mà có cách mã hoá NST
cho phù hợp. Có các cách mã hoá NST sau :
2.1.2.1.1. Mã hóa nhị phân
Đây là cách mã hóa nhị phân phổ biến nhất.Mỗi một nhiễm sắc thể là một

chuỗi bit nhị phân 0 & 1. Mỗi một bit có thể biểu diến một đặc tính nào đó của lời
giải, và số bit cần để mã hóa được tính toán hợp lý để chuỗi nhị phân không quá
dài, mà chỉ vừa đủ cho biểu diễn thông tin cần thiết cho lời giải.
Chromosome A

00110101000010111010

Chromosome B

10111100110010001011

Bảng 2: Mã hóa nhị phân độ dài 20 bit
Mã hoá nhị phân thường hay dùng trong các bài toán tối ưu các hàm một biến
hay nhiều biến. Khi đó, mỗi chuỗi nhị phân sẽ biểu diễn hàm tại một (tập) giá trị
của (các) biến hoặc mỗi bộ chuỗi nhị phân sẽ biểu diễn một bộ nghiệm của hàm.

23


Giải thuật di truyền giải bài toán lập kế hoạch học tập

Ví dụ: Trong bài toán cái túi, dùng một chuỗi nhị phân để biểu diễn một cách
xếp đồ vào túi có kích thước bằng số đồ vật, mỗi bit tương ứng với các đồ vật sẽ có
hai giá trị : giá trị 0 nếu đồ vật đó không được cho vào túi và giá trị 1 nếu đồ vật
được cho vào túi.
Mã hoá nhị phân tuy là phổ biến nhưng nó có một nhược điểm là có thể tạo ra
không gian mã hoá lớn hơn so với không gian giá trị của NST. Do đó, với nhiều bài
toán thì biểu diễn nhị phân là không hữu hiệu.
2.1.2.1.2. Mã hóa hoán vị
Mỗi NST là một chuỗi hoán vị của các số (thường là số tự nhiên) để biểu diễn

một trình tự nào đó.
Chromosome A

479321865

Chromosome B

965143278

Bảng 3: Mã hóa hoán vị 2 NST A&B
Mã hoá hoán vị phù hợp cho các bài toán liên quan đến thứ tự. Đối với các bài
toán này, việc thao tác trên các nhiễm sắc thể chính là hoán vị các số trong chuỗi đó
làm thay đổi trình tự của nó. Mã hóa hoán vị rất hữu ích với các bài toán sắp xếp.
Ví dụ: Bài toán người du lịch. Cho trước một số thành phố và khoảng cách
giữa chúng. Tìm đường đi cho người du lịch để anh ta có thể đi thăm tất cả các
thành phố, mỗi thành phố chỉ đi qua một lần đồng thời tổng đường đi là ngắn nhất.
Cách mã hóa: Mỗi một lời giải hay một cách đi của người du lịch được biểu
diến bằng một dãy các số chỉ trình tự người đó sẽ đi.
2.1.2.1.3. Mã hóa giá trị
Mã hóa giá trị trực tiếp có thể được sử dụng trong các bài toán mà giá trị của
nó là các giả trị phức tạp như là số thực. Sử dụng mã hóa nhị phân sẽ trở nên khó
khăn. Trong đó, mỗi NST là một chuỗi các giá trị. Các giá trị có thể là các thông tin

24


Giải thuật di truyền giải bài toán lập kế hoạch học tập

liên quan đến bài toán, từ số nguyên, số thực, kí tự cho đến các đối tượng phức tạp
hơn.

Chromosome A

1.4765 6.2324 3.8653 9.2134

Chromosome B

ABDJEIFJDHDIERJFDLDFLFEGT

Chromosome C

(black) (black) (blue) (red) (white)
Bảng 4: Mã hóa giá trị các NST A, B, C

Mã hoá theo giá trị thường dùng cho các bài toán đặc biệt. Trong cách mã hoá
này ta thường phải phát triển các toán tử đột biến và lai ghép cho phù hợp với từng
bài toán.
Ví dụ: Tìm trọng số cho mạng Nơron.
2.1.2.2. Quần thể, thế hệ, toán tử di truyền, tiến hóa
Quần thể (Population): là một tập hợp các cá thể có cùng một số đặc điểm nào
đấy. Trong giải thuật di truyền ta quan niệm quần thể là một tập các lời giải của một
bài toán.
Thế hệ (Generation): được xác định bởi một quần thể chưa tham gia vào quá
trình tiến hóa tiếp theo.
Toán tử di truyền (GA operator) là các toán tử thao tác đối với các cá thể
nhằm tạo ra các cá thể mới.
Quá trình tiến hóa (Evolution) là việc áp dụng các toán tử di truyền đối với các
cá thể, chuyển quần thể từ thế hệ này sang thế hệ tiếp theo, với một bộ phận cá thể
hoặc toàn bộ quần thể đã được biến đổi.
2.1.2.3. Hàm thích nghi
Trong tự nhiên, chỉ có những cá thể nào thích nghi được với môi trường thì

mới tồn tại, ngược lại sẽ bị đào thải. GA đưa ra khái niệm hàm thích nghi, hay hàm
sức khỏe để đánh giá một cá thể so với quần thể. Dựa vào giá trị hàm thích nghi của

25


×