Phương pháp ACO và bài toán thời khóa biểu cho trường đại học

62 17 0
Phương pháp ACO và bài toán thời khóa biểu cho trường đại học

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠ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 ĐẠ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 KHỐ 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 LỜI CẢM ƠN Tôi xin gửi lời cảm ơn chân thành tới PGS.TS Hoàng Xuân Huấn, người thầy đáng kính tận tình bảo, hướng dẫn tơi suốt q trình tìm hiểu, nghiên cứu 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 lĩnh vực tối ưu hóa phương pháp tối ưu hệ kiến thầy giúp tơi hiểu rõ, sâu sắc nhiều tốn khó khăn gặp phải q trình nghiên cứu Thầy đưa góp ý chi tiết, tỉ mỉ q báu giúp cho tơi hồn thành luận văn Tôi xin gửi lời cảm ơn sâu sắc tới Tiến Sĩ Đỗ Đức Đông Thạc sĩ Trần Ngọc Hà, người giúp đỡ giải khúc mắc trình viết chương trình để chạy thực nghiệm Do thời gian kiến thức có hạn nên luận văn khơng tránh khỏi thiếu sót định Tơi mong nhận góp ý quý báu thầy cô bạn Hà Nội, tháng 01 năm 2015 Nguyễn Văn Tn TĨM TẮT ài tốn lập thời khóa biểu lĩnh vực nhiều người uan tâm tính ứng ng cao t chức giáo c, trường học giới, vấn đề đau đầu mà hàng năm bất k hệ thống trường học giới phải đối mặt ác tốn lập thời khóa biểu phong phú đa ạng b i ràng buộc yêu cầu t ng t chức Bài tốn thời khóa biểu thuộc lớp NP khó [12] nên khó giải thuật tốn truyền thống Đến thuật tốn mơ tự nhiên tỏ phương pháp hữu hiệu để giải toán Thuật toán i truyền thuật tốn mơ tự nhiên dựa vào tiến hóa phát triển ngành di truyền học Gần phương pháp tối ưu hóa đàn kiến o Dorigo đề xuất số cách tiếp cận Đây hai thuật toán tiêu biểu cho lớp thuật tốn mơ tự nhiên để giải uyết tốn tối ưu khó nói chung tốn thời khóa biểu nói riêng M c tiêu luận văn “Phương pháp ACO toán thời khoá biểu cho trường Đại học” nghiên cứu áp d ng phương pháp A O vào 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) áp d ng cho toán thời khoá biểu có kết tốt so với phương pháp khác Luận văn xem xét áp d ng thuật toán cập nhật mùi Smooth-Max Min Ant System(SMMAS) cho toán thời khoá biểu Smooth-Max Min Ant System quy tắc cập nhật mùi PGS.TS Hoàng Xuân Huấn đồng nghiệp đề xuất năm 2011 Hệ kiến SMMAS áp d ng vào toán TSP chứng tỏ hiệu hẳn hệ kiến MMAS (một hệ kiến áp dùng nhiều nay) Trong luận văn chúng tối tiến hành cài đặt thuật toán ACO theo quy tắc cập nhật mùi SMMAS chạy thực nghiệm so sánh với hai quy tắc cập nhật mùi MMAS, kết cho thấy hai thuật tốn SMMAS có kết tốt hẳn so với MMAS i LỜI CAM ĐOAN Tôi xin cam đoan cơng trình nghiên cứu cá nhân ưới hướng dẫn giúp đỡ PGS.TS Hoàng Xuân Huấn Các kết viết chung với tác giả khác đồng ý tác giả trước đưa vào luận văn Trong toàn nội dung nghiên cứu luận văn, vấn đề trình bày tìm hiểu nghiên cứu cá nhân tơi trích dẫn t nguồn tài liệu có ghi tham khảo rõ ràng, hợp pháp Trong luận văn, có tham khảo đến số tài liệu số tác giả liệt kê m c tài liệu tham khảo Hà nội, tháng 01 năm 2016 Nguyễn Văn Tuân ii MỤ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 hương GIỚI THIỆ I TO N P T ỜI A IỂ 1.1 ác tốn lập thời khóa biểu 1.1.1 ài tốn lập thời khóa biểu cho trường ph thơng (School timetabling) 1.1.2 Bài tốn xếp lịch thi (Examination timetabling) 1.1.3 ài tốn lập thời khóa biểu cho trường đại học ( niversity timetabling) 1.2 Các cách tiếp cận hương P ƯƠNG P P TỐI Ư Đ N IẾN 2.1 T kiến tự nhiên đến kiến nhân tạo 2.1.1 Kiến tự nhiên 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 2.6.3 Thông tin heuristic 25 2.6.4 Số lượng kiến 26 iii 2.6.5 Tham số bay hương P ƯƠN 3.1 Áp d 3.1.1 ng thuậ ây ựng 3.1.2 Ma trận m i 3.1.3 Thông tin heuristic 3.1.4 Tìm kiếm c 3.1.5 Thuật tốn ghép cặp cực tìm lời giải hồn chỉnh 3.1.6 Mơ tả thuật toán 3.2 Các thuật toán ACO áp d ng cho toán UCT 3.2.1 Thuật toán hệ kiến MMAS 3.2.2 Thuật toán hệ kiến Smooth-Max Min Ant System hương T ỰC NGHIỆM 4.1 Dữ liệu thực nghiệm 4.2 Thực nghiệm 4.3 Kết ẾT N TÀI LIỆU THAM KHẢO iv DANH SÁCH CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT STT 10 11 12 v DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ Hình 2.1 Thể hành vi kiến tự nhiên Hình 2.2: Thực nghiệm cầu đôi Hình 2.3 Thí nghiệm b xung 10 ình 2.4 Đồ thị cấu trúc t ng quát cho toán cực trị hàm 14 Hình 2.5 Lựa chọn đỉnh 15 ình 2.6 Đặc tả thuật tốn ACO 15 ình 3.1 Đồ thị cấu trúc cho toán UCTP 27 DANH SÁCH BẢNG BIỂU ảng 4.1 Giá trị tham số đầu vào cho ba loại liệu 39 ảng 4.2 ác tham số tĩnh sử d ng cho toán UCTP 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 hệ kiến Max-Min với liệu điển hình 41 vi end for  C lời giải hoàn chỉnh sau áp ng thuật toán gh p cặp cho An  Citeration-best best(C, Citeration-best) end for p ng thủ t c tìm kiếm địa phương cho iteration-best (có khơng)  Cglobal-best best(C, Citeration-best) p ng thủ t c cập nhật m i offline end while Output: Một lời giải chấp nhận global-best cho ữ liệu I iải th ch chi tiết - t th ng tin thu t tốn: Tiền xử lý thơng tin mơn học (3.3) c(e,e') = (5) (e) - e Định nghĩa thứ tự tồn phầncho mơn học sau: e e'⇔ d (e) > d (e') ∨ d (e) = d (e') ∨ l(e) < l(e') l : E → N hàm ánh xạ Trong thuật toán đàn kiến áp ng cho toán, lời giải hay thời khóa biểu vi phạm ràng buộc ngặt lựa chọn để cải tiến tìm kiếm địa phương 3.2 Các thu n ACO ược áp dụng cho toán UCTP Các quy tắc cập nhật m i áp d ng cho toán UCTP bao gồm quy tắc cập nhật mùi sau:  Quy tắc Max Min Ant System (hệ kiến MMAS)  Quy tắc Smooth-Max Min Ant System (hệ kiến MMAS trơn) 3.2.1 Thu t toán hệ kiến MMAS cho tốn UCTP Trong hệ kiến MMAS khơng sử d ng cập nhật mùi online mà cập nhật mùi global best offline cho cạnh thuộc Theo uy tắc vết m i bay lượng theo hệ số bay ρ thành phần (e,t) thuộc lời giải hay thời khóa biểu tốt cộng thêm lượng m i mà thuật toán MMAS chọn số sau: 32 (e,t ) Theo uy tắc cập nhật m i MMAS, vết m i bị khống chế thuộc khoảng [ , max ] sau:  = (e,t )     max (e,t ) Thu n ệ kiến MMAS cho toán lập thời khóa biểu Input: ộ ữ liệu I max ← 1/ρ (e,t) ← max (e,t) Tính c(e, e ) với ExT (e,e') E Tính (e) Sắp xếp E theo thứ tự while (điều kiện kết thúc chưa xảy ra) for a = to m uá trình xây ựng lời giải kiến a A0 ←φ for i = to |E| ựa chọn tiết học t cách ngẫu nhiên theo công thức xác suất pei ,t cho môn học ei Ai ← Ai −1 ∪ { (ei ,t) } end for  C lời giải hoàn chỉnh sau áp ng thuật toán gh p cặp cho An  Citeration-best best(C, Citeration-best) end for p ng thủ t c tìm kiếm địa phương cho  iteration-best (có Cglobal-best best(C, Citeration-best) p ng thủ t c cập nhật m i offline end while Output: Một lời giải chấp nhận global-best cho ữ liệu I 33 không) 3.2.2 Thu t toán Smooth-Max Min Ant System(2011) Thuật toán Smooth-Max Min Ant System Hoàng Xuân huấn cộng [1] đề xuất d ng giải tốn TSP, thuật toán SMMAS (Smooth-Max Min Ant System) Thuật toán SMMAS đánh giá tốt r rệt so với thuật toán MMAS, áp d ng cho toán TSP Theo quy tắc MMAS việc tìm kiếm tập trung quanh lời giải tốt tìm được, cịn cạnh khơng thuộc lời giải có cường độ vết mùi nhanh chóng t t Để tăng hiệu thuật toán cách sử d ng quy tắc Max-Min trơn (SMMAS) sau (3.6) Trong (3.7) Thu Input: max ← (e,t) ← max (e,t) Tính c(e, e ) với ExT (e,e') E Tính (e) Sắp xếp E theo thứ tự while (điều kiện kết thúc chưa xảy ra) for a = to m uá trình xây ựng lời giải kiến a A0 ←φ for i = to |E| ựa chọn tiết học t cách ngẫu nhiên theo công thức xác suất pei ,t cho môn học ei Ai ← Ai −1 ∪ { (ei ,t) } end for  C lời giải hoàn chỉnh sau áp  Citeration-best best(C, Citeration-best) end for 34 ng thuật toán gh p cặp cho An p ng thủ t c tìm kiếm địa phương cho  iteration-best(có Cglobal-best best(C, Citeration-best) p ng thủ t c cập nhật m i offline end while Output: Một lời giải chấp nhận global-best cho ữ liệu I 35 không) Chương THỰC NGHIỆM 4.1 Dữ liệu thực nghiệm Thực nghiệm cho thuật toán hệ kiến MAX-MIN, hệ kiến SMMAS cho liệu chu n lấy internet(http://iridia.ulb.ac.be/~msampels/tt.data) Định d ng liệu input u: Một tập tin chứa liệu input có dạng sau (tất số số nguyên, ng ngăn cách b i khoảng trống)  Dòng thứ nhất: Số kiện, số phòng, số chức năng, số sinh viên  Các dịng ghi kích thước(số lượng học viên chứa) phịng  Các dòng ghi giá trị cho biết sinh viên có tham gia kiện thứ i hay không nghĩa sinh viên không tham gia kiên, nghĩa sinh viên tham gia kiện Ví d , có sinh viên kiện bên ưới: 0 1 0 0 Sẽ có ma trận tham dự sau 36 Sự kiện 0 0 Sinh viên Nghĩa - Sinh viên thứ tham gia kiện thứ - Sinh viên thứ tham gia kiện thứ kiện thứ - Sinh viên thứ tham gia kiện thứ  Các dòng nhận gái trị cho biết số phịng thứ i có đáp ứng chức k hay không Nhận giá trị phịng khơng thỏa mãn chức năng, ph ng đáp ứng chức Ví d , có phịng chức sau 0 1 0 0 Sẽ có ma trận phịng chức sau: 37 Chức phòng 0 1 0 0 Nghĩa - Phòng thứ thỏa mãn chức thứ - Phòng thứ hai thỏa mãn chức thứ chức thứ hai - Phòng thứ ba thỏa mãn chức thứ ba  Các dòng cho t ng kiện cho biết kiện j có cần yêu cầu ph ng đáp ứng chức k hay không Nhận giá trị kiện không đ i hỏi chức năng, đ i hỏi Ví d , có kiện chức ưới 0 1 0 0 Sẽ có ma trận chức kiện: 38 Sự kiện Nghĩa - Sự kiện thứ cần chức thứ hai - Sự kiện thứ hai cần chức thứ chức thứ hai - Sự kiện thứ ba cần chức thứ ba Các liệu chia làm loại kích cỡ nhỏ, v tham số đầu vào cho bảng ưới ảng 4.1 Giá trị tham số đầu vào cho ba loại b Số môn học Số tiết học/tuần ** Số phòng học Số đặc trưng/phòng học Số đặc trưng đáp ứng/phòng học Tỷ lệ số đặc trưng sử dụng (%) Số sinh viên Số môn học tối đa/sinh viên Số sinh viên tối đa/môn học Số tiết học = tiết/ngày * ngày/tuần = 45tiết/tuần Định d ng liệu output u: Giải pháp tốt (số vi phạm ràng buộc nhất) tìm thấy b i thuật tốn phải viết tập tin đầu với phần đuôi m rộng sln 39 D ng đầu ghi số vi phạm ràng buộc tìm Đối với kiện, theo thứ tự tập tin đầu vào dòng ghi: Số lượng khe thời gian, số lượng phòng - Số lượng khe thời gian số nguyên 44 đại diện khe thời gian phân b cho kiện - Các phòng phòng số gán cho kiện Ph ng đánh số theo thứ tự tập tin dữu liệu đầu vào, bắt đầu t số khơng 4.2 Thực nghiệm hương trình thực nghiệm viết ngơn ngữ lập trình C++, máy tính cấu hình: Intel(R) Pentium(R) CPU B940 @ 2.2 GHz 2.00GHZ, RAM 4GB, Windows Kết đưa số ràng buộc mềm bị vi phạm, trung bình số ràng buộc vi phạm mềm sau 10 lần chạy cho test Nếu lời giải vi phạm ràng buộc ngặt coi khơng tìm lời giải Khi thiết lập tham cho cho chạy thực nghiệm hai chương trình MMAS SMMAS sử d ng tham số chu n Socha [12] sử d ng kết chạy thực nghiệm demo MMAS để so sánh Điểm khác biệt sử d ng số vòng lặp cho lần chạy làm điều kiện d ng thay giới hạn thời gian chạy báo tác giả Với SMMAS việc chọn tham số max , cần chọn tỉ lệ cho hai tham số cho phù hợp cho kết tốt Trong demo thực nghiệm thấy chọn Các tham số khác thiết lập MMAS ảng 4.2 Các tham số tĩnh sử d ng cho toán UCTP thuật toán đàn kiến 40 4.3 Kết ảng 4.4 So sánh hai thuật toán hệ kiến SMMAS hệ kiến MMAS với liệu điển hình, liệu nhỏ chạy 500 bước lặp (500 bước tìm kiếm địa phương), liệu cỡ v a chạy 1000 bước lặp (1000 bước tìm kiếm địa phương) cỡ lớn 10.000 bước lặp (2000 bước tìm kiếm địa phương) Bộ liệu Small1 Small2 Small3 Small4 Small5 Medium1 Medium2 Large Với kết chạy thử nghiệm cho thấy thuật toán sử d ng quy tắc cập nhật mùi SMMAS tốt so với thuật toán sử d ng quy tắc cập nhật mùi MMAS Về thời gian thực chạy thuật tốn sét với số vịng lặp SMMAS nhanh so với MMAS ĩ có kết uả thơng tin heuristic đặc biệt khó sử uan trọng toán S o đặc trưng tốn thời khóa biểu ng việc điều chỉnh vết m i 41 ẾT UẬN Bài tốn lập thời khóa biểu tốn nhiều người quan tâm tính ứng d ng cao t chức giáo d c Bài tốn thuộc lớp NP khó nên khó giải thuật tốn truyền thống Các thuật tốn mơ tự nhiên tỏ phương pháp hữu hiệu để giải tốn tối ưu t hợp nói chung tốn lập thời khóa biểu nói riêng Luận văn trình bày phương pháp ACO để giải tốn thời khóa biểu cho trường học Với thuật tốn tối ưu hóa đàn kiến, luận văn cài đặt áp d ng quy tắc cập nhật mùi SMMAS Thực nghiệm cho thấy thuật toán SMMAS tốt thuật toán đa mức MMAS áp d ng cho tốn UCTP Đây thành cơng bước đầu hướng phát triển lĩnh vực tối ưu hóa đàn kiến ứng d ng, luận văn hi vọng kết động lực để phát triển tiếp chương trình ứng d ng khác t tối ưu hóa đàn kiến Với thời gian thực luận văn ngắn, chưa đưa chương trình ứng ng hồn thiện Một hướng phát triển đề tài xây ựng thời khóa biểu cho trường đại học hệ tín Việt Nam với tình hình khảo sát c thể 42 TÀI LIỆU THAM KHẢO Tiếng Việt Đỗ Đức Đông (2012), Phương pháp tối ưu đàn kiến ứng dụng, Luận án tiến sĩ công nghệ thông tin Đ N-Đ G N Tiếng Anh Dong Do Duc, uan oang uan, an uy Dinh (2012), “M TA-REG: A computational meteheuristic method to improve the regulatory activity prediction”, th Proc of the International Conference on the Development of Biomedical Engineering, pp 450-453 M Dorigo, and T.Stützle (2004), Ant Colony Optimization, The MIT Press, Cambridge, Masachusetts M Dorigo, V Maniezzo and A Colorni (1991), The Ant System: An autocatalytic optimizing process, Technical Report 91-016 Revised, Dipartimento di Elettronica, Politecnico di Milano, Milano, Italy M Dorigo (1992), Optimization, learning and natural algorithms, PhD dissertation, Milan Polytechnique, Italy M Dorigo and L.M Gambardella (1997), “Ant colony system: A cooperative learning approach to the traveling salesman problem”, IEEE Trans on evolutionary computation, Vol (1), pp 53-66 [GPS03] J Gottlieb, M Puchta, and C Solnon A study of greedy, local searchand ant colony optimization approaches for car sequencing problems.In Applications of evolutionary computing, volume 2611 of LNCS, pages246–257 Springer, 2003 [SH00] T Stăutzle and H.H Hoos MAX-MIN Ant System Journal of FutureGeneration Computer Systems, special issue on Ant Algorithms, 16:889–914, 2000 Solnon, C.: Ants can solve constraint satisfaction problems IEEE Transactionson Evolutionary Computation 6(4) (2002) 347–357 10 I OG Ilog solver user s manual Technical report, I OG (1998) 11 [LLW98] J.H.M Lee, H.F Leung, and H.W Won Performance of a comprehensive and efficient constraint library using local search In 11th Australian JCAI, LNAI Springer-Verlag, 1998 12 Krzysztof Socha Ant Algorithms for the University Course Timetabling Problem with Regard to the State-of-the-Art 2003 43 13 M.Dorigo and Thomas Stutzle A short Convergence Proof for a class of Ant Colony Optimization Algorithms, IEEE, 2002 14 W.J Gutjahr ACO Algorithms with guaranteed convergence to the optimal solution problem, Info.Processing Lett., vol.83, no.3, 2002, pp 145-153 15 M Dorigo, V Maniezzo and A Colorni (1991), The Ant System: An autocatalytic optimizing process, Technical Report 91 -016 Revised, Dipartimento di Elettronica, Politecnico di Milano, Milano, Italy 44 ...ĐẠ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 KHỐ BIỂU CHO TRƯỜNG ĐẠI HỌC Ngành: Cơng nghệ Thông tin Chuyên... thuật toán tiêu biểu cho lớp thuật tốn mơ tự nhiên để giải uyết tốn tối ưu khó nói chung tốn thời khóa biểu nói riêng M c tiêu luận văn ? ?Phương pháp ACO toán thời khoá biểu cho trường Đại học? ??... diễn phòng thời điểm 1.1.3 B n h h u h ng h Un ng) ài tốn lập thời khóa biểu cho trường đại học toán lập lịch cho giảng (lectures) vào t ng khóa học với số lượng ph ng học tiết học cho trước Điểm

Ngày đăng: 11/11/2020, 22:07

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan