Với đề tài “Phương pháp ACO và bài toán thời khoá biểu cho trường Đại Học”, luận văn mạnh ạn nghiên cứu phương pháp giải cho bài toán lập thời khóa biểu trường đại học hệ tín chỉ theo
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN VĂN TUÂN
PHƯƠNG PHÁP ACO VÀ BÀI TOÁN THỜI KHOÁ BIỂU CHO TRƯỜNG ĐẠI HỌC
LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN
Hà Nội - 2015
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN VĂN TUÂN
PHƯƠNG PHÁP ACO VÀ BÀI TOÁN THỜI KHOÁ BIỂU CHO TRƯỜNG ĐẠI HỌC
Ngành: Công nghệ Thông tin Chuyên ngành: Hệ thống Thông tin
Mã số: 60.48.01.04
LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS HOÀNG XUÂN HUẤN
Hà Nội - 2015
Trang 3LỜI CẢM ƠN
Tôi xin gửi lời cảm ơn chân thành nhất tới PGS.TS Hoàng Xuân Huấn, người thầy đáng kính đã tận tình chỉ bảo, hướng dẫn tôi trong suốt quá trình tìm hiểu, nghiên cứu và hoàn thiện luận văn Với kiến thức sâu rộng, nhiều năm nghiên cứu trong lĩnh vực tối ưu hóa cũng như phương pháp tối ưu hệ kiến của thầy đã giúp tôi hiểu rõ, sâu sắc nhiều bài toán khó khăn gặp phải trong quá trình nghiên cứu Thầy cũng đưa ra những góp ý chi tiết, tỉ mỉ hết sức quý báu giúp cho tôi có thể hoàn thành quyển luận văn này
Tôi cũng xin được gửi lời cảm ơn sâu sắc tới Tiến Sĩ Đỗ Đức Đông và Thạc sĩ Trần Ngọc Hà, những người đã giúp đỡ tôi giải quyết những khúc mắc trong quá trình viết chương trình để chạy thực nghiệm
Do thời gian và kiến thức có hạn nên luận văn chắc không tránh khỏi những thiếu sót nhất định Tôi rất mong nhận được những sự góp ý quý báu của thầy cô và các bạn
Hà Nội, tháng 01 năm 2015
Nguyễn Văn Tuân
Trang 4và yêu cầu của t ng t chức
Bài toán thời khóa biểu thuộc lớp NP khó [12] nên khó giải bằng các thuật toán truyền thống Đến nay các thuật toán mô phỏng tự nhiên tỏ ra là phương pháp hữu hiệu nhất để giải các bài toán này Thuật toán i truyền là một trong những thuật toán mô phỏng tự nhiên đầu tiên dựa vào sự tiến hóa và phát triển của ngành di truyền học Gần đây phương pháp tối ưu hóa đàn kiến o Dorigo đề xuất là một trong số các cách tiếp cận mới nhất Đây là hai thuật toán tiêu biểu cho lớp thuật toán mô phỏng tự nhiên để giải uyết các bài toán tối ưu khó nói chung và bài toán thời khóa biểu nói riêng M c
tiêu luận văn “Phương pháp ACO và bài toán thời khoá biểu cho trường Đại học” là
nghiên cứu và áp d ng phương pháp A O vào bài toán thời khoá biểu Phương pháp ACO sử d ng quy tắc cập nhật mùi Max-Min Ant System (MMAS) đã được áp d ng cho bài toán thời khoá biểu và đã có kết quả khá tốt so với các phương pháp khác Luận văn sẽ xem xét áp d ng thuật toán cập nhật mùi Smooth-Max Min Ant System(SMMAS) cho bài toán thời khoá biểu Smooth-Max Min Ant System là quy tắc cập nhật mùi mới được PGS.TS Hoàng Xuân Huấn và đồng nghiệp đề xuất năm
2011 Hệ kiến SMMAS đã được áp d ng vào bài toán TSP và chứng tỏ được hiệu quả của nó hơn hẳn hệ kiến MMAS (một hệ kiến được áp dùng nhiều nhất hiện nay) Trong luận văn này chúng tối tiến hành cài đặt mới thuật toán ACO theo quy tắc cập nhật mùi SMMAS và chạy thực nghiệm so sánh với hai quy tắc cập nhật mùi MMAS, kết quả cho thấy hai thuật toán SMMAS có kết quả tốt hơn hẳn so với MMAS
Trang 5LỜI CAM ĐOAN
Tôi xin cam đoan rằng đây là công trình nghiên cứu của cá nhân tôi ưới sự hướng dẫn giúp đỡ của PGS.TS Hoàng Xuân Huấn Các kết quả được viết chung với các tác giả khác đều được sự đồng ý của tác giả trước khi đưa vào luận văn Trong toàn bộ nội dung nghiên cứu của luận văn, các vấn đề được trình bày đều là những tìm hiểu và nghiên cứu của chính cá nhân tôi hoặc là được trích dẫn t các nguồn tài liệu
có ghi tham khảo rõ ràng, hợp pháp
Trong luận văn, tôi có tham khảo đến một số tài liệu của một số tác giả được liệt kê tại m c tài liệu tham khảo
Hà nội, tháng 01 năm 2016
Nguyễn Văn Tuân
Trang 6MỤC LỤC
TÓM TẮT i
LỜI AM ĐOAN ii
MỤC LỤC iii
DANH SÁCH CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT v
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ vi
DANH SÁCH BẢNG BIỂU vi
MỞ ĐẦU 1
hương 1 GIỚI THIỆ I TO N P T ỜI A IỂ 3
1.1 ác bài toán lập thời khóa biểu 3
1.1.1 ài toán lập thời khóa biểu cho trường ph thông (School timetabling) 3
1.1.2 Bài toán xếp lịch thi (Examination timetabling) 4
1.1.3 ài toán lập thời khóa biểu cho trường đại học ( niversity timetabling) 4
1.2 Các cách tiếp cận hiện nay 4
hương 2 P ƯƠNG P P TỐI Ư Đ N IẾN 8
2.1 T kiến tự nhiên đến kiến nhân tạo 8
2.1.1 Kiến tự nhiên 8
2.1.2 Kiến nhân tạo (Artificial Ant) 11
2.2 Phương pháp tối ưu đàn kiến 11
2.3 Đồ thị cấu trúc 12
2.4 Mô tả thuật toán ACO t ng quát 14
2.5 Các hệ kiến 16
2.5.1 Hệ kiến AS 16
2.5.2 Hệ kiến ACS 18
2.5.3 Hệ kiến MAX-MIN 20
2.5.4 Hệ kiến ba mức 22
2.5.5 Hệ kiến đa mức 23
2.5.6 Hệ kiến Smooth-Max Min 23
2.6 Một số vấn đề liên quan 24
2.6.1 Đặc tính hội t 24
2.6.2 ACO kết hợp với tìm kiếm địa phương 25
Trang 72.6.5 Tham số bay hơi 26
hương 3 P ƯƠNG P P A O CHO BÀI TOÁN UTCP 27
3.1 Áp d ng thuật toán ACO cho bài toán UCTP 27
3.1.1 ây ựng đồ thị cấu trúc cho bài toán TP 27
3.1.2 Ma trận m i 28
3.1.3 Thông tin heuristic 28
3.1.4 Tìm kiếm c c bộ 28
3.1.5 Thuật toán ghép cặp cực đại để tìm lời giải hoàn chỉnh 30
3.1.6 Mô tả thuật toán 29
3.2 Các thuật toán ACO được áp d ng cho bài toán UCTP 32
3.2.1 Thuật toán hệ kiến MMAS 32
3.2.2 Thuật toán hệ kiến Smooth-Max Min Ant System 34
hương 4 T ỰC NGHIỆM 36
4.1 Dữ liệu thực nghiệm 36
4.2 Thực nghiệm 39
4.3 Kết quả 39
ẾT N 42
TÀI LIỆU THAM KHẢO 43
Trang 8DANH SÁCH CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
1 ACO Ant Colony Optimization
(Tối ưu hóa đàn kiến)
(Hệ kiến MMAS trơn)
(Hệ kiến đa mức MLAS)
9 TSP Travelling Salesman Problem
( ài toán người chào hàng)
(bài toán xếp thời khoá biểu)
Trang 9DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 2.1 Thể hiện hành vi của mỗi con kiến trong tự nhiên 8
Hình 2.2: Thực nghiệm cây cầu đôi 9
Hình 2.3 Thí nghiệm b xung 10
ình 2.4 Đồ thị cấu trúc t ng quát cho bài toán cực trị hàm 14
Hình 2.5 Lựa chọn đỉnh đi tiếp theo 15
ình 2.6 Đặc tả thuật toán ACO 15
ình 3.1 Đồ thị cấu trúc cho bài toán UCTP 27
DANH SÁCH BẢNG BIỂU ảng 4.1 Giá trị các tham số đầu vào cho ba loại bộ dữ liệu 39
ảng 4.2 ác tham số tĩnh sử d ng cho bài toán UCTP các thuật toán đàn kiến 40
ảng 4.4 So sánh thuật toán hệ kiến SMMAS, đa mức và hệ kiến Max-Min với các bộ dữ liệu điển hình 41
Trang 10và yêu cầu của t ng t chức
Bài toán thời khóa biểu thuộc lớp NP khó[12] nên khó giải bằng các thuật toán truyền thống Đến nay các thuật toán mô phỏng tự nhiên tỏ ra là phương pháp hữu hiệu nhất để giải các bài toán này Thuật toán i truyền là một trong những thuật toán mô phỏng tự nhiên đầu tiên dựa vào sự tiến hóa và phát triển của ngành di truyền học Gần đây phương pháp tối ưu hóa đàn kiến o Dorigo đề xuất là một trong số các cách tiếp cận mới nhất Đây là hai thuật toán tiêu biểu cho lớp thuật toán mô phỏng tự nhiên để giải uyết các bài toán tối ưu khó nói chung và bài toán thời khóa biểu nói riêng
Trong nước ta, mô hình đào tạo đại học theo niên chỉ đang chuyển sang đào tạo
hệ tín chỉ nhưng bài toán này chưa được nghiên cứu nhiều và trong thực tế chưa có
phần mềm nào sử d ng được Với đề tài “Phương pháp ACO và bài toán thời khoá
biểu cho trường Đại Học”, luận văn mạnh ạn nghiên cứu phương pháp giải cho bài
toán lập thời khóa biểu trường đại học hệ tín chỉ theo mẫu của một bài toán chu n trên internet (www.metaheuristics.org) và thực hiện thực nghiệm trên thuật toán tối ưu đàn kiến Đối với thuật toán tối ưu đàn kiến chúng tôi tìm hiểm các hệ kiến đã áp ng cho bài toán thời khoá biểu hiện nay bao gồm hệ kiến ACS, hệ kiến Max-Min Ant System(MMAS) đồng thời sử d ng qui tắc cập nhật mùi Smooth-Max Min Ant System(SMMAS) mới áp d ng cho bào toán này iệu uả của thuật toán áp d ng quy tắc cập nhật mùi Smooth-Max Min Ant System so với MMAS được so sánh bằng thực nghiệm dựa trên các test chu n trên mạng (http://iridia.ulb.ac.be/~msampels/tt.data) Kết quả thực nghiệm cho thấy hiệu quả của thuật toán Smooth-Max Min tốt hơn Max-Min Vì thời gian làm luận văn ngắn, nên chúng tôi chưa đưa ra được phần mềm sử
ng được của bài toán này, hi vọng trong thời gian tới có thể phát triển mô hình này
áp ng cho các bài toán lập thời khóa biểu cho một số trường đại học thực tế Việt Nam
Phần còn lại của luận văn được t chức như sau:
Chương 1: Trong chương này luận văn giới thiệu về các mô hình thời khóa biểu
cho các trường học bao gồm cả trường ph thông và đại học trên thế giới và bài toán chu n TP ( niversity ourse TimeTabling Problem), đồng thời giới thiệu ua về
Trang 11Chương 2: Giới thiệu phương pháp tối ưu hóa đàn kiến lịch sử phát triển, các
thuật toán A O, và một số nguyên tắc ứng ng A O
Chương 3: Trình bày về cách thức chung để áp ng tối ưu đàn kiến giải bài
toán UCTP (Đồng thời trong chương này chúng tôi trình bày các cải tiến c thể trong
áp d ng tối ưu hóa đàn kiến với bài toán UCTP)
Chương 4: Chương này giới thiệu về bộ ữ liệu chu n cho bài toán TP, các
kết uả thực nghiệm và đánh giá trên thuật toán tối ưu đàn kiến sử d ng các quy tắc cập nhật mùi SMMAS và MMAS
Trang 12Chương 1 GIỚI THIỆU BÀI TOÁN ẬP THỜI H A BIỂU
1.1 C n h h u
ác t chức giáo c trên thế giới hàng k phải đối mặt với một công việc khó khăn là đưa ra lịch học của các học viên đáp ứng được nhiều ràng buộc khó và phức tạp ài toán lập thời khóa biểu là một bài toán tối ưu t hợp NP-khó[12] một trường hợp riêng của bài toán lập lịch trong đó đưa ra một chuỗi các sự kiện (thông thường là các môn học, bài giảng hoặc các môn thi) và bao gồm các giáo viên và học viên trong một khoảng thời gian định trước và thỏa mãn một tập hợp các ràng buộc của t ng loại thời khóa biểu khác nhau ác ràng buộc bao gồm khả năng học tập của sinh viên và khả năng làm việc của giáo viên, sức chứa của ph ng học và yêu cầu đáp ứng của các
sự kiện
ài toán thời khóa biểu bao gồm rất nhiều loại khác nhau đã được đưa ra xuất phát t các loại sự kiện, mỗi loại t chức (trường học, viện nghiên cứu hoặc trường đại học ) và các loại ảnh hư ng khác đến các ràng buộc của bài toán t y thuộc vào t ng điều kiện khác nhau Nói chung bài toán lập thời khóa biểu được chia làm 3 ạng chung được mô tả khác nhau ài toán lập thời khóa biểu cho trường ph thông, bài toán lập thời khóa biểu cho trường đại học, bài toán xếp lịch thi
c ng một bài giảng trong c ng một thời gian và mỗi giáo viên đều có một số lượng nhất định các bài giảng với mỗi lớp học
ác ràng buộc thêm vào bao gồm chế độ nghỉ của giáo viên, các bài giảng liên tiếp nhau cho hai hay nhiều lớp học, các giáo viên tr ng giờ ạy, và tính phức tạp của một thời khóa biểu cho một lớp Đặc biệt là ràng buộc chặt các lớp học phải có giờ trong bất k tiết học nào tr tiết đầu hoặc tiết cuối của ngày Độ chặt này là yếu tố uyết định sự khác nhau giữa thời khóa biểu cho trường ph thông và thời khóa biểu cho trường đại học Thực tế, những ràng buộc như vậy làm cho bài toán lập thời khóa biểu cho trường ph thông phải lấp đầy các tiết học chính nhưng có thể tồn tại một
ràng buộc khó có thể thỏa mãn được
Trang 131.1.2 Bài toán xếp lịch thi (Examination timetabling)
ài toán lập lịch thi yêu cầu đưa ra bộ lịch của một số các k thi cho trước với một lượng thời gian cho trước và tập hợp các ph ng thi
ài toán lập lịch thi tương tự như bài toán lập thời khóa biểu cho trường đại học nhưng ta cần phân biệt sự khác nhau giữa hai bài toán này ài toán lập lịch thi có những đặc điểm khác sau đây:
hỉ có một k thi cho mỗi một môn thi
ác điều kiện xung đột nói chung là hạn chế Thực tế, chúng ta có thể chấp nhận một sinh viên có thể bỏ ua một bài giảng o sự chồng ch o các môn học nhưng không có sinh viên nào được ph p bỏ ua một k thi
Và một số ràng buộc khác nhau ví hầu hết một sinh viên sẽ chỉ có một k thi trong một ngày và không có nhiều uá các k thi liên tiếp nhau với một sinh viên
Số tiết của k thi có thể khác nhau, ngược lại với bài toán lập thời khóa biểu
cho trường đại học cái đó là cố định
ó thể có nhiều hơn một k thi trong một ph ng nhưng lại không thể có nhiều
bài giảng được diễn ra trong một phòng tại một thời điểm
1.1.3 B n h h u h ư ng h Un ng)
ài toán lập thời khóa biểu cho trường đại học là bài toán lập lịch cho các bài giảng (lectures) vào t ng khóa học với một số lượng ph ng học và tiết học cho trước Điểm khác biệt chính với bài toán lập thời khóa biểu trường ph thông là đặc trưng của các khóa học trường đại học, các sinh viên tham ự khóa học, trong khi các lớp học trường ph thông được tạo b i tập hợp các học sinh và có thể coi như là một thực thể đơn Ở các trường đại học, hai khóa học khác nhau có thể có tr ng sinh viên tham ự và điều đó có thể tạo ra xung đột và sẽ không thể lập lịch được trong c ng một tiết học
Thêm vào đó, các giáo viên trường ph thông luôn ạy nhiều hơn một lớp trong khi trường đại học một giáo sư thường chỉ ạy một khóa học hay một môn học trong một k
uối c ng, với bài toán trường đại học kích cỡ các ph ng học chiếm một vai tr uan trọng trong khi với bài toán trường ph thông vấn đề này là không uan trọng b i
vì trong hầu hết các trường ph thông mỗi lớp có một ph ng học riêng
Trang 14Trong luận văn này chỉ xét bài toán lập thời khóa biểu cho trường đại học theo hệ tín chỉ ( niversity ourse Timetabling Problem - UCTP) Để tiện cho việc so sánh giữa các thuật toán, bài toán lập thời khóa biểu cho trường đại học được thu gọn về thành bài toán mẫu chu n (được phát biểu tại: www.metaheuristics.org) để thực nghiệm với các thuật toán mô phỏng tự nhiên
ài toán được phát biểu như sau
Có N môn học được các sinh viên đăng ký tham gia cần được xếp lịch vào một tuần gồm K tiết học tương ứng ác môn học được t chức tại các ph ng học đáp ứng
đủ các điều kiện học tập của môn học đó (mỗi ph ng học chỉ chứa được một lượng người nhất định và đáp ứng được một số các điều kiện học tập cho trước, trong khi mỗi một môn học lại yêu cầu phải có một số điều kiện học tập cho riêng nó)
Một lời giải hay một thời khóa biểu chấp nhận được là tất cả các môn học đều được chia vào các tiết học và các ph ng tương ứng và thỏa mãn các điều kiện ngặt sau:
- hông sinh viên nào tham ự hơn một môn học trong c ng một thời gian
- Ph ng học đủ lớn cho các sinh viên đăng ký môn học và đáp ứng đủ các điều kiện của môn học đó
- hỉ có một môn học được t chức tại một ph ng trong bất k một khoảng thời gian cho trước nào
Thêm vào đó, một thời khóa biểu chấp nhận được sẽ được đánh giá bằng số vi phạm các ràng buộc mềm được cho như sau:
- Hạn chế số sinh viên phải tham ự một môn học vào tiết cuối c ng trong ngày (tồn tại mỗi một sinh viên như vậy thì tính là một vi phạm)
- Hạn chế các sinh viên phải tham ự uá nhiều môn học liên tiếp nhau trong cùng một ngày (trong thực nghiệm, nếu có ba môn học t chức liên tiếp với một sinh viên trong một ngày sẽ được tính là một vi phạm)
- Hạn chế các sinh viên chỉ học đúng có một môn học trong ngày (một sinh
viên như vậy tương ứng với một vi phạm)
1.2 Các cách tiếp c n hiện nay
Bài toán thời khóa biểu nói riêng và các bài toán tối ưu t hợp nói chung là rất khó giải Sự khó khăn của chúng được thể hiện độ phức tạp tính toán và với những bài toán thuộc lớp NP-khó như vậy thời gian để giải thường tăng theo hàm mũ của kích thước bài toán
Trang 15Như chúng ta đã biết, trong thuật toán “v t cạn” (tìm kiếm theo bề rộng hoặc theo độ sâu), về mặt nguyên tắc các phương pháp tìm được nghiệm của bài toán nếu bài toán có nghiệm, song trên thực tế, những bài toán NP-khó không thể áp d ng được phương pháp này, vì ta phải phát triển một không gian trạng thái rất lớn, trước khi đi tới trạng thái đích, mà o những hạn chế về thời gian tính toán và ung lượng bộ nhớ, không cho ph p chúng ta làm được điều đó
Chẳng hạn, với bài toán thời khóa biểu cho 40 lớp học, mỗi lóp có 8 môn học, mỗi lớp có 25 tiết mỗi tuần thì không gian tìm kiếm rất lớn là 825*40 trường hợp Rõ ràng, nếu ng phương pháp v t cạn thì thời gian chạy rất lâu, khó chấp nhận được
Vì vậy đã có rất nhiều thuật toán được đề xuất để giải gần đúng các bài toán NP khó ác thuật toán này tìm được lời giải gần tối ưu và là một trong những xu thế phát triển hiện nay đối với các bài toán chưa thể tìm được lời giải tối ưu thực sự trong đó các thuật toán mô phỏng theo tự nhiên như thuật toán luyện kim, thuật toán di truyền, thuật toán hệ kiến Trong đó thuật toán i truyền và thuật toán hệ kiến tỏ ra là phương pháp hữu hiệu nhất
Thuật toán i truyền[12] kết hợp ý tư ng leo đồi và thuật toán luyện kim Trong thuật toán “leo đồi” sử d ng kỹ thuật “nâng cấp lặp”, kỹ thuật này áp d ng cho một điểm đơn (điểm hiện tại) trong không gian tìm kiếm Trong một lần nâng cấp, một điểm mới được chọn trong số các điểm lân cận của điểm hiện hành nếu điểm đó cho kết quả tốt hơn của hàm m c tiêu Việc tìm kiếm sẽ kết thúc khi không thể nâng cấp thêm được nữa Rõ ràng thuật toán leo đồi chỉ cho ta kết quả tối ưu c c bộ, kết quả này
ph thuộc vào sự lựa chọn của điểm xuất phát, mặt khác ta không có được thông tín sai
số về kết quả tìm được so với kết quả tối ưu toàn c c
Để khắc ph c nhược điểm trên, thuật toán leo đồi đã được cải tiến bằng cách tăng
số lượng các điểm xuất phát (điểm xuất phát cho mỗi lần chạy có thể được lựa chọn ngẫu nhiên hoặc được chọn tùy theo kết quả của các lần chạy trước) Sự thành công hay thất bại của mỗi lần chạy (cho ta kết quả tối ưu toàn c c hay c c bộ), ph thuộc vào sự lựa chọn điểm xuất phát và hình dáng của “mặt cong” của hàm giá Nếu mặt cong chỉ có một số ít cực trị địa phương thì tối ưu toàn c c được tìm ra rất nhanh Nhưng ngược lại, nếu số cực đại địa phương nhiều thì khả năng tìm tối ưu toàn c c là rất nhỏ Chính vì vậy mà kể cả sau khi đã được cải tiến thì thuật toán vẫn chưa tốt Trong thuật toán luyện kim[12], người ta dùng kỹ thuật thay đ i entropy của hệ
Ở phương pháp này người ta đã điều khiển tốc độ hội t của quần thể bằng cách biến
đ i nhiệt động học với một tham số nhiệt độ T toàn c c Để hạn chế việc tối ưu c c bộ
và tăng khả năng khám phá không gian tìm kiếm, người ta đã ng thủ thuật giảm
Trang 16nhiệt độ T t ng bước (đến một mức nào đó) Tuy nhiên vì T chỉ giảm đến một mức nhất định, vì vậy phương pháp này cũng không tránh khỏi hạn chế trong việc khám phá không gian tìm kiếm mới và s hội t địa phương
Bằng cách duy trì một quần thể (tập hợp các lời giải có thể) thuật toán i truyền khuyến khích sự hình thành và trao đ i thông tin giữa các cá thể (thể hiện qua phép tráo
đ i chéo) Một quá trình tiến hóa được thực hiện trên một quần thể tương đương với sự tìm kiếm trong một không gian các lời giải có thể Sự tìm kiếm này đ i hỏi sự cân bằng giữa hai m c đích tìm lời giải tốt nhất và khám phá không gian tìm kiếm mới
Gần đây, phương pháp tối ưu đàn kiến [15](A O - Ant olony Optimi ation) o Dorigo đề xuất là một trong số các cách tiếp cận mới nhất Một thành phần ngẫu nhiên trong ACO cho phép các con kiến xây dựng được một lượng lớn các lời giải khác nhau
và t đó tìm kiếm được một lượng lời giải lớn hơn hẳn so với phương pháp khác Và tại cùng một thời gian, việc sử d ng các thông tin kinh nghiệm sẽ hướng dẫn các con kiến tìm kiếm được các lời giải hứa hẹn Quan trọng hơn, kinh nghiệm tìm kiếm của con kiến được sử d ng để học tăng cường trong quá trình lặp xây dựng thuật toán Thêm vào đó, việc sử d ng đàn kiến sẽ làm cho các thuật toán ứng d ng ACO phức tạp có thêm một tập hợp các tác nhân lặp hiệu quả để giải quyết bài toán Hiệu quả của
nó đã được chứng minh bằng thực nghiệm và cho thấy n i trội hơn so với các thuật toán mô phỏng tự nhiên khác như luyện kim, di truyền, tính toán tiến hóa Miền ứng
d ng của các bài toán ACO rất rộng Về nguyên lý, ACO có thể được áp d ng cho bất
k bài toán tối ưu rời rạc nào Trong chương 3 chúng ta sẽ tìm hiểu chi tiết thuật toán tối ưu hóa đàn kiến cho bài toán UCTP
Trang 17Chương 2 PHƯƠNG PHÁP TỐI ƯU ĐÀN KIẾN
Ở chương 1 luận văn đã được tìm hiểu về bài toán UCTP và một số cách tiếp cận
để giải bài toán, chương này luận văn sẽ tìm hiểu phương pháp tối ưu đàn kiến để giải bài toán trên
2.1 Từ kiến tự nh ên ến kiến nhân t o
Những hình ảnh nhận thức đặc biệt của đàn kiến chỉ đơn giản là sự phát triển và hoàn toàn mò mẫm Trong thực tế, một điều quan trọng trong nghiên cứu về loài kiến
là hành vi liên lạc giữa các con kiến hoặc giữa các cá nhân với môi trường, được dựa trên việc sử d ng các sản ph m hóa chất của các loài kiến Các hóa chất đó được gọi là mùi (vết mùi)
2.1.1 Kiến tự nhiên
hi tìm đường đi, đàn kiến trao đ i thông tin gián tiếp và hoạt động theo phương thức tự t chức Phương thức này tuy đơn giản nhưng đã giúp cho đàn kiến có thể thực hiện được những công việc phức tạp vượt xa khả năng của t ng con kiến, đặc biệt là khả năng tìm đường đi ngắn nhất t t đến nguồn thức ăn (xem hình 2.1) (mặc dù, kiến không có khả năng đo độ ài đường đi) iến chịu ảnh hư ng của các vết mùi của các con kiến khác chính là ý tư ng thiết kế thuật toán ACO
Hình 2.1 Thể hiện hành vi của mỗi con kiến trong tự nhiên
Để làm được điều đó, trên đường đi, mỗi con kiến để lại vết m i ng để đánh dấu đường đi ằng cách cảm nhận vết mùi, con kiến có thể lần theo đường đi đến
Trang 18nguồn thức ăn được các con kiến khác khám phá theo phương thức chọn ngẫu nhiên,
có định hướng theo nồng độ vết mùi
Con kiến chịu ảnh hư ng của các vết mùi của các con kiến khác, đây là ý tư ng chính để thiết kế thuật toán ACO
Thí nghiệm trên cây cầu :
Có nhiều thực nghiệm nghiên cứu về hành vi để lại vết m i và đi theo vết mùi của loài kiến Thực nghiệm, được thiết kế b i Deneubourg và các đồng nghiệp [15] dùng một chiếc cầu đôi nối t t kiến tới nguồn thức ăn, như minh họa trong hình 2.2
Họ đã thực nghiệm với tỉ lệ độ ài đường giữa hai nhánh khác nhau của chiếc cầu đôi, trong đó là độ dài của nhánh dài còn là độ dài của nhánh ngắn
Trong thực nghiệm thứ nhất, chiếc cầu đôi có hai nhánh bằng nhau ( hình 2.2.a) an đầu, kiến lựa chọn đường đi một cách tự o đi t t đến nguồn thức ăn, cả hai nhánh đều có kiến đi, nhưng sau một thời gian các con kiến này tập trung đi theo cùng một nhánh Kết quả có thể được giải thích như sau an đầu không có vết mùi nào trên cả hai nhánh, o đó kiến lựa chọn nhánh bất k với xác suất như nhau Một cách ngẫu nhiên, sẽ có một nhánh có số lượng kiến lựa chọn nhiều hơn nhánh kia Do kiến để lại vết mùi trong quá trình di chuyển, nhánh có nhiều kiến lựa chọn sẽ có nồng
độ mùi lớn hơn nồng độ mùi của nhánhcòn lại Nồng độ mùi trên cạnh lớn hơn sẽ ngày càng lớn hơn vì ngày càng có nhiều kiến lựa chọn Cuối cùng, hầu như tất cả các kiến
sẽ tập trung trên cùng một nhánh.Thực nghiệm này cho thấylà sự tương tác c c bộ giữa các con kiến với thông tin gián tiếp là vết m i để lại cho ph p điều chỉnh hoạt động vĩ mô của đàn kiến
Hình 2.2: Thực nghiệm cây cầu đôi
Trang 19Trong thực nghiệm thứ hai (xem hình 2.2 b), độ dài của nhánh dài gấp đôi độ dài
nhánh ngắn (tỉ lệ ) Trong trường hợp này, sau một thời gian tất cả các con kiến đều chọn đoạn đường ngắn hơn ũng như trong thực nghiệm thứ nhất, ban đầu đàn kiến lựa chọn hai nhánh đi như nhau, một nửa số kiến đi theo nhánh ngắn và một nửa
đi theo nhánh ài (mặc dù trên thực tế, do tính ngẫu nhiên có thể một nhánh nào đó được nhiều kiến lựa chọn hơn nhánh kia) Nhưng thực nghiệm này có điểm khác biệt quan trọng với thực nghiệm thứ nhất: Những kiến lựa chọn đi theo nhánh ngắn sẽ nhanh chóng quay tr lại t và khi phải lựa chọn giữa nhánh ngắn và nhánh dài, kiến
sẽ thấy nồng độ mùi trên nhánh ngắn cao hơn nồng độ m i trên nhánh ài, o đó sẽ ưu tiên lựa chọn đi theo nhánh ngắn hơn Tuy nhiên, trong thời gian đầu không phải tất cả các kiến đều đi theo nhánh ngắn hơn.Phải mất một khoảng thời gian tiếp theo nữa bầy kiến mới lựa chọn đi theo nhánh ngắn Điều này minh chứng bầy kiến đã sử d ng phương thức thăm , tìm đường mới
Một điểm thú vị nữa là quan sát xem sẽ xảy ra điều gì khi quá trình tìm kiếm đang hội t , lại xuất hiện một đường mới t t đến nguồn thức ăn Việc này được thực nghiệm như sau an đầu t t đến nguồn thức ăn chỉ có một nhánh dài và sau 30 phút, thêm một nhánh ngắn (xem hình 2.3) Trong trường hợp này, nhánh ngắn thường không được kiến chọn mà chúng tập trung đi trên nhánh ài Điều này có thể giải thích như sau nồng độ vết mùi trên cạnh dài cao và sự bay hơi của vết mùi diễn ra chậm nên đại đa số các con kiến vẫn lựa chọn nhánh dài (có nồng độ vết mùi cao).Hành vi này tiếp t c được củng cố kiến chọn đi theo nhánh ài, ngay cả khi có một nhánh ngắn xuất hiện Việc bay hơi vết m i là cơ chế tiện lợi cho việc tìm đường mới, nghĩa là việc bay hơi có thể giúp kiến uên đi đường đi tối ưu địa phương đã được tìm thấy trước đây để tìm khám phá đường đi mới, tốt hơn
Hình 2.3 Thí nghiệm b xung ( an đầu chỉ có một nhánh và sau 30 phút thêm nhánh ngắn hơn)
Trang 202.1.2 Kiến nhân t o (Artificial Ant)
Thực nghiệm cây cầu đôi cho thấy đàn kiến tự nhiên có thể sử d ng luật di chuyển theo xác suất, dựa trên thông tin địa phương để tìm được đường đi ngắn nhất giữa hai địa điểm Vết mùi của đàn kiến cho ph p liên tư ng tới cách học tăng cường (reinforcement learning) trong bài toán chọn tác động tối ưu[2], gợi m mô hình mô phỏng cho bài toán tìm đường đi ngắn nhất giữa hai nút (tương ứng là t và nguồn thức ăn) trên đồ thị, trong đó các tác tử (agent) là đàn kiến nhân tạo
Tuy nhiên, trong các bài toán ứng d ng các đồ thị thường phức tạp hơn.T mỗi đỉnh có thể có nhiều cạnh, nên nếu mô phỏng thực sự hành vi của đàn kiến tự nhiên nhiều con kiến sẽ đi lu n qu n và o đó hiệu quả thuật toán sẽ rất kém Vì vậy, người
ta dùng kỹ thuật đa tác tử (multiagent) mô phỏng đàn kiến nhân tạo, trong đó mỗi con kiến nhân tạo có khả năng nhiều hơn so với kiến tự nhiên Kiến nhân tạo (về sau trong luận án ta sẽ gọi đơn giản là kiến) có bộ nhớ riêng, có khả năng ghi nhớ các đỉnh đã thăm trong hành trình và tính được độ ài đường đi nó chọn Ngoài ra, kiến có thể trao
đ i thông tin với nhau, thực hiện tính toán cần thiết, cập nhật m i…
Sử d ng mô hình kiến nhân tạo này, Dorigo (1991) [15] đã xây ựng thuật toán
Hệ kiến (AS) giải bài toán người chào hàng Hiệu quả của thuật toán so với các phương pháp mô phỏng tự nhiên khác như SA và GA đã được kiểm chứng bằng thực nghiệm Thuật toán này về sau được phát triển và có nhiều ứng d ng phong phú, được gọi chung làphương pháp A O
2.2 Phương h ố ưu n ến
Tối ưu đàn kiến (Ant Colony Optimization - ACO) là một phương pháp
metaheuristic được đề xuất b i Dorigo vào năm 1991[14] dựa trên ý tư ng mô phỏng cách tìm đường đi t t tới nguồn thức ăn và ngược lại của các con kiến tự nhiên để giải gần đúng bài toán TƯT NP-khó
Trên đường đi của mình các con kiến thực để lại một vết hóa chất được gọi là vết
mùi (pheromone trail), đặc điểm sinh hóa học của vết mùi này là có khả năng ứ đọng,
bay hơi và là phương tiện giao tiếp báo cho các con kiến khác thông tin về đường đi đó một cách gián tiếp Các con kiến sẽ lựa chọn đường đi nào tồn đọng lượng m i hay có cường độ vết m i lớn nhất tại thời điểm lựa chọn để đi, nhờ cách giao tiếp mang tính gián tiếp và cộng đồng này mà đàn kiến trong tự nhiên tìm được đường đi ngắn nhất trong uá trình tìm thức ăn mang về t và ngược lại Sử d ng mô hình kiến nhân tạo
này Dorigo (1991) [4] đã xây ựng thuật toán hệ kiến (AS) giải bài toán người chào
Trang 21các mô phỏng tự nhiên khác như SA (mô phỏng luyện kim) và GA (giải thuật di truyền) Thuật toán này về sau được phát triển và có nhiều áp d ng phong phú trong thực tế, được gọi chung là phương pháp A O
Theo ý tư ng này, các thuật toán ACO sử d ng thông tin heuristic kết hợp thông
tin học tăng cường qua các vết mùi của các con kiến nhân tạo (artificial ant) để giải
các bài toán tối ưu t hợp khó bằng cách đưa về bài toán tìm đường đi tối ưu trên đồ thị cấu trúc tương ứng được xây dựng t đặc điểm của t ng bài toán c thể Thuật toán
A O đầu tiên là hệ kiến (Ant System - AS) giải bài toán Người chào hàng TSP, đến
nay các thuật toán A O đã áp ng một cách phong phú để giải nhiều bài toán tối ưu
t hợp khác nhau và hiệu uả n i trội của nó đã được chứng tỏ bằng thực nghiệm Nhờ những thành uả to lớn trong việc ứng ng phương pháp tối ưu đàn kiến vào giải các bài toán tối ưu t hợp khó m ra một lĩnh vực nghiên cứu và ứng ng mới thu hút được sự uan tâm của đông đảo các nhà khoa học trên thế giới, Dorigo đã
được ội đồng châu u trao giải thư ng đặc biệt Marie urie (Marie Curie
Excellence Award) trao hai năm một lần giành cho năm nhà khoa học có nhiều đóng
góp cho nền khoa học và công nghệ châu u vào ngày 05 11 2003 ho đến nay, các hội nghị về đàn kiến đã t chức 6 lần (ANT 98, ANT 2000, ANTS 2002, ANTS
2004, ANTS 2006, ANTS 2008) và mỗi hội nghị có khoảng 30-40 báo cáo về các công trình nghiên cứu lý thuyết và thực nghiệm có ý nghĩa khoa học và ứng ng uan trọng góp phần chứng tỏ A O là phương pháp tối ưu mới m và hiệu uả (xem http://iridia.ulb.ac.be/~ants/)
2.3 Đồ thị cấu trúc
t bài toán TƯT t ng uát ưới dạng bài toán cực tiểu hóa (S,f,Ω), trong đó
S là tập hữu hạn trạng thái, f là hàm m c tiêu xác định trên S, c n Ω là các ràng buộc
để xác định tập S có các thành phần được lấy t tập hữu hạn C Các tập S, và Ω có các đặc tính sau:
1) Ký hiệu là tập các dãy trong độ dài không quá { } hi đó, mỗi phương án trong được xác địnhb i ít nhất một vectơ trong
2) Tồn tại tập con của và ánh xạ t lên sao cho không rỗng với mọi , trong đó tập có thể xây dựng được t tập con của nhờ m rộng tuần tự ưới đây
3) T ta m rộng tuần tự thành như sau
i) Ta xem là m rộng được với mọi
Trang 22ii) Giả sử là m rộng được và chưa thuộc T tập ràng buộc , xác định tập con của , sao cho với mọi thì
Thông thường, đối với các bài toán thuộc loại NP-khó, người ta đưa ra các phương pháp heuristic tìm lời giải đủ tốt cho bài toán Các thuật toán ACO kết hợp thông tin heuristic này với phương pháp học tăng cường, mô phỏng hành vi của đàn kiến, để tìm lời giải tốt hơn
Mỗi cạnh nối đỉnh có trọng số heuristic để định hướng chọn thành phần m rộng là khi thành phần cuối của trạng thái hiện tại là (theo thủ t c m rộng tuần tự đã nêu trên) Ký hiệu là vectơ các trọng số heuristic của cạnh (trong bài toán TSP đó là vectơ có các thành phần là nghịch đảo của độ dài cạnh tương ứng), còn là vectơ biểu thị các thông tin học tăng cường (gọi là vết m i, ban đầu được
kh i tạo giá trị >0) Trường hợp đặc biệt và chỉ ph thuộc vào , các thông tin này sẽ gắn với các đỉnh Không làm mất tính t ng uát, ta x t trường hợp các thông tin này gắn vào các cạnh
Ta gọi đồ thị là đồ thị cấu trúc của bài toán tối ưu t hợp, trong
đó là tập đỉnh, là tập cạnh, và là các thông tin gắn với cạnh T các cạnh, xây dựng tập nhờ m rộng tập theo thủ t c tuần tự Nếu không có thông tin heuristic thì ta xem có các thành phần như nhau và bằng 1
Trường hợp t ng quát, là đồ thị đầy đủ.Tuy nhiên, tùy theo ràng buộc của bài toán, các cạnh có thể lược bớt để giảm miền tìm kiếm lời giải theo thủ t c m rộng tuần tự Chẳng hạn, với bài toán tìm cực trị của hàm giải tích ,với thuộc tập giá trị hữu hạn , đồ thị cấu trúc có tầng, tầng chứa các đỉnh thuộc tập , còn tập cạnh chỉ gồm các cạnh nối các đỉnh thuộc tầng với các đỉnh thuộc tầng như trong hình 2.1 hi đó tập là tập , mỗi m rộng tuần
tự của lời giải sẽ được xây dựng t một đỉnh thuộc tập này
Trang 23Hình 2.4 Đồ thị cấu trúc t ng quát cho bài toán cực trị hàm
2.4 Mô tả thu t toán ACO t ng quát
Sử d ng điều kiện kết thúc (có thể theo số bước lặp hoặc/và giới hạn thời gian chạy), ta ng đàn kiến có con, tiến hành lặp quá trình xây dựng lời giải trên đồ thị cấu trúc như sau Tại mỗi lần lặp, kiến chọn ngẫu nhiên một đỉnh làm thành phần kh i tạo { } và thực hiện xây dựng lời giải theo thủ t c bước ngẫu nhiên Dựa trên lời giải tìm được, đàn kiến sẽ thực hiện cập nhật mùi theo cách học tăng cường
Thủ tục bước ngẫu nhiên:
Giả sử là m rộng được và chưa thuộc T tập ràng buộc , xác định tập con của , sao cho với mọi thì
là m rộng được Đỉnh để m rộng, được chọn với xác suất như sau
Trang 24Hình 2.5 Lựa chọn đỉnh đi tiếp theo
Để tiện trình bày, về sau ta sẽ xem và như nhau và không phân biệt với
Cập nhật mùi:
Tùy theo chất lượng của lời giải tìm được, vết mùi trên mỗi cạnh sẽ được điều chỉnh tăng hoặc giảm t y theo đánh giá mức độ ưu tiên tìm kiếm về sau ượng mùi cập nhật theo các quy tắc cập nhật mùi khác nhau sẽ cho các thuật toán khác nhau Vì vậy,quy tắc cập nhật m i thường dùng làm tên gọi thuật toán, và chúng có dạng t ng quát là:
trong đó là hằng số thuộc khoảng (0,1) là tỷ lệ lượng mùi bị bay hơi
Procedure Thuật toán ACO;
Until (Điều kiện kết thúc);
Đưa ra lời giải tốt nhất;
End;
Hình 2.6 Đặc tả thuật toán ACO
Nhận xét chung về các thuật toán ACO:
Nhờ kết hợp thông tin heuristic, thông tin học tăng cường và mô phỏng hoạt
Trang 251) Việc tìm kiếm ngẫu nhiên dựa trên các thông tin heuristic tr nên linh hoạt
và mềm d o trên miền rộng hơn so với các phương pháp heuristic đã có Do đó, cho ta lời giải tốt hơn và có thể tìm được lời giải tối ưu
2) Học tăng cường thông qua thông tin về cường độ vết mùi cho phép t ng bước thu hẹp không gian tìm kiếm, mà vẫn không loại bỏ các lời giải tốt, o đó nâng cao chất lượng thuật toán
Chú ý Khi áp d ng phương pháp A O cho các bài toán c thể, ba yếu tố sau có ảnh
hư ng quyết định đến hiệu quả thuật toán:
1) Xây dựng đồ thị cấu trúc thích hợp Trong m c 2.2.1 đã chỉ ra rằng việc xây
dựng đồ thị cấu trúc để tìm được lời giải cho bài toán theo thủ t c tuần tự không khó hó khăn chính là với các bài toán cỡ lớn, không gian tìm kiếm quá rộng, đ i hỏi
ta sử d ng các ràng buộc một cách hợp lý để giảm miền tìm kiếm của kiến
2) Chọn thông tin heuristic Thông tin heuristic tốt sẽ tăng hiệu quả thuật toán
Tuy nhiên, trong nhiều bài toán không có thông tin này thì có thể đánh giá chúng như nhau hi đó, ban đầu thuật toán chỉ đơn thuần chạy theo phương thức tìm kiếm ngẫu nhiên, vết mùi thể hiện định hướng của học tăng cường và thuật toán vẫn thực hiện được
3) Chọn quy tắc cập nhật mùi Quy tắc cập nhật mùi thể hiện chiến lược học
của thuật toán Trong khi đồ thị cấu trúc và thông tin heuristic ph thuộc vào bài toán
c thể, quy tắc cập nhật mùi lại là yếu tố ph d ng và thường ng để đặt tên cho thuật toán Có nhiều quy tắc cập nhật m i đã được đề xuất, luận văn này sẽ tìm quy tắc thích hợp cho hai loại bài toán, tùy theo thông tin heuristic ảnh hư ng nhiều hay ít tới thủ
t c tìm kiếm lời giải
2.5 Các hệ kiến
2.5.1 Hệ kiến AS
an đầu có ba phiên bản của AS được Dorigo đề xuất (xem [3-6]) là ant-density, ant-quantity và ant-cycle Ở phiên bản ant-density và ant-quantity, kiến cập nhật vết mùi trực tiếp lên cạnh v a đi, c n trong phiên bản ant-cycle vết m i được cập nhật khi tất cả kiến đã xây ựng xong hành trình và lượng m i được cập nhật ph thuộc vào độ dài hành trình mà kiến tìm được Hai thuật toán ant-density và ant-quantity không hiệu quả so với thuật toán ant-cycle, nên khi nói tới thuật toán AS ta chỉ uan tâm đến phiên bản ant-cycle
Trang 26Hai bước chính trong thuật toán AS là xây dựng lời giải của kiến và cập nhật mùi Trong AS, lời giải tìm được dựa trên phương pháp heuristic (chẳng hạn phương pháp tham ăn) khi xác định vết mùi kh i tạo Giá trị vết mùi kh i tạo cho tất cả các cạnh là: trong đó là số kiến, là độ dài lời giải tìm được của thuật toán heuristic Lý do lựa chọn này là nếu kh i tạo vết mùi quá thấp,quá trình tìm kiếm có khuynh hướng hội t về hành trình đầu tiên tìm được, dẫn đến việc tìm kiếm
sa lầy vào vùng này,làm cho chất lượng lời giải không tốt Nếu kh i tạo vết mùi quá cao, có thể phải mất nhiều vòng lặp bay hơi m i trên các cạnh không tốt và cập nhật
b sung thêm mùi cho các cạnh tốt mới để thể hướng việc tìm kiếm đến vào vùng không gian có chất lượng tốt
Xây dựng lời giải
Trong thuật toán AS, kiến đồng thời xây dựng lời giải an đầu, các con kiến được đặt ngẫu nhiên tại các thành phố Ở mỗi bước, kiến sử d ng xác suất theo phương thức tỉ lệ ngẫu nhiên (ran om proportional) để chọn đỉnh tiếp theo C thể, khi kiến đang đỉnh sẽ lựa chọn đỉnh với xác suất:
trong đó
là giá trị heuristic, là hai tham số quyết định đến sự ảnh hư ng tương uan giữa thông tin mùi và thông tin heuristic, là các đỉnh lân cận của đỉnh kiến có thể đi đến (là tập các đỉnh kiến chưa đến, xác suất các đỉnh không thuộc bằng 0) Theo quy tắc ngẫu nhiên này, xác suất lựa chọn cạnh tăng theo giá trị thông tin mùi và thông tin heuristic Vai trò của hai tham số như sau nếu , thành phố gần nhất sẽ được lựa chọn, khi đó thuật toán tương đương với thuật toán chọn ngẫu nhiên theo nghịch đảo độ dài cạnh, không có học tăng cường Nếu , chỉ có thông tin học tăng cường biểu thị qua vết m i được sử d ng,không
có thông tin heuristic Nếu lớn, thuật toán nhanh chóng bị tắc nghẽn (tất cả kiến sẽ lựa chọn cùng một hành trình) và lời giải tìm được hội t về lời giải tối ưu địa phương
Để cài đặt, kiến sẽ duy trì một bộ nhớ chứa thông tin lần lượt các thành phố
đã đi ua Thông tin trong bộ nhớ ng để xác định các thành phố lân cận phù hợp trong (2.3) ơn nữa, thông tin trong bộ nhớ giúp kiến tính được độ dài hành trình
và ng để xác định các cạnh được cập nhật mùi