Nghiên cứu một số biến thể của bài toán hôn nhân ổn định theo tiếp cận heuristic.Nghiên cứu một số biến thể của bài toán hôn nhân ổn định theo tiếp cận heuristic.Nghiên cứu một số biến thể của bài toán hôn nhân ổn định theo tiếp cận heuristic.Nghiên cứu một số biến thể của bài toán hôn nhân ổn định theo tiếp cận heuristic.Nghiên cứu một số biến thể của bài toán hôn nhân ổn định theo tiếp cận heuristic.Nghiên cứu một số biến thể của bài toán hôn nhân ổn định theo tiếp cận heuristic.Nghiên cứu một số biến thể của bài toán hôn nhân ổn định theo tiếp cận heuristic.Nghiên cứu một số biến thể của bài toán hôn nhân ổn định theo tiếp cận heuristic.Nghiên cứu một số biến thể của bài toán hôn nhân ổn định theo tiếp cận heuristic.Nghiên cứu một số biến thể của bài toán hôn nhân ổn định theo tiếp cận heuristic.Nghiên cứu một số biến thể của bài toán hôn nhân ổn định theo tiếp cận heuristic.Nghiên cứu một số biến thể của bài toán hôn nhân ổn định theo tiếp cận heuristic.Nghiên cứu một số biến thể của bài toán hôn nhân ổn định theo tiếp cận heuristic.BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN HÀN LÂM KHOA HỌC VÀ CÔNG NGHỆ VIỆT NAM HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ NGUYỄN THỊ UYÊN NGHIÊN CỨU MỘT SỐ BIẾN THỂ CỦA BÀI TOÁN HÔN NHÂN ỔN ĐỊNH THEO TIẾP CẬN HEURISTIC LUẬN.
BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN HÀN LÂM KHOA HỌC VÀ CÔNG NGHỆ VIỆT NAM HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ NGUYỄN THỊ UYÊN NGHIÊN CỨU MỘT SỐ BIẾN THỂ CỦA BÀI TỐN HƠN NHÂN ỔN ĐỊNH THEO TIẾP CẬN HEURISTIC LUẬN ÁN TIẾN SĨ NGÀNH MÁY TÍNH Hà Nội 2023 BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN HÀN LÂM KHOA HỌC VÀ CÔNG NGHỆ VIỆT NAM HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ NGUYỄN THỊ UYÊN NGHIÊN CỨU MỘT SỐ BIẾN THỂ CỦA BÀI TỐN HƠN NHÂN ỔN ĐỊNH THEO TIẾP CẬN HEURISTIC LUẬN ÁN TIẾN SĨ NGÀNH MÁY TÍNH Mã số: 48 01 01 Xác nhận Học viện Khoa học Công nghệ Người hướng dẫn (Ký, ghi rõ họ tên) Người hướng dẫn (Ký, ghi rõ họ tên) PGS.TS Hoàng Hữu Việt PGS.TS Nguyễn Long Giang LỜI CAM ĐOAN Tôi xin cam đoan kết công bố luận án cơng trình nghiên cứu thân tơi thời gian học tập, nghiên cứu hoàn thành với hướng dẫn hai Thầy giáo gồm PGS.TS Hoàng Hữu Việt PGS.TS Nguyễn Long Giang Các tài liệu tham khảo trích dẫn đầy đủ ghi rõ phần tài liệu tham khảo Các kết nghiên cứu thực nghiệm môi trường thực nghiệm ghi nhận cách khách quan, trung thực công bố tạp chí khoa học chuyên ngành Hà Nội, ngày 31 tháng 03 năm 2023 Nguyễn Thị Uyên i LỜI CẢM ƠN Luận án hoàn thành với nỗ lực không ngừng tác giả giúp đỡ nhiệt tình từ thầy giáo hướng dẫn, bạn bè người thân suốt năm học tập nghiên cứu Viện Công nghệ thông tin - Viện Hàn lâm Khoa học Công nghệ Việt Nam Đầu tiên, tác giả xin bày tỏ lòng biết ơn chân thành sâu sắc tới hai Thầy giáo hướng dẫn PGS.TS Hoàng Hữu Việt PGS.TS Nguyễn Long Giang Sự tận tình bảo, hướng dẫn động viên Thầy dành cho tác giả suốt thời gian thực luận án Tác giả xin gửi lời cảm ơn tới Thầy, Cô giáo Cán bộ phận quản lý nghiên cứu sinh Học viện Khoa học Công nghệ, Viện Hàn lâm Khoa học Công nghệ Việt Nam phận quản lý sau đại học Viện Công nghệ thông tin nhiệt tình giúp đỡ tạo mơi trường nghiên cứu tốt để tác giả hồn thành cơng trình Tác giả xin chân thành cảm ơn tới Ban Giám hiệu Trường Đại học Vinh, đồng nghiệp Viện Kỹ thuật Công nghệ, nơi tác giả công tác động viên, giúp đỡ tác giả cơng tác để tác giả có thời gian tập trung nghiên cứu hoàn thành luận án thời hạn Cuối tác giả muốn bày tỏ lòng biết ơn sâu sắc tới gia đình bạn bè động viên, chia sẻ, ủng hộ giúp đỡ tác giả vượt qua khó khăn để đạt kết nghiên cứu luận án Tác giả xin trân trọng cảm ơn! Hà Nội, ngày 31 tháng 03 năm 2023 Nguyễn Thị Uyên MỤC LỤC CHƯƠNG LỜI CAM ĐOAN i LỜI CẢM ƠN ii Mục lục iii Danh mục ký hiệu, chữ viết tắt vi Danh mục hình vẽ vii Danh mục bảng biểu viii TỔNG QUAN VỀ BÀI TỐN HƠN NHÂN ỔN ĐỊNH 1.1 Bài tốn nhân ổn định 1.1.1 6 Giới thiệu Các nghiên cứu liên quan 1.2 Các biến thể tốn nhân ổn định 1.1.2 1.2.1 1.2.2 1.2.3 Bài tốn nhân ổn định với danh sách xếp hạng ngang Bài tốn nhân ổn định với danh sách không đầy đủ Bài tốn nhân ổn định với danh sách xếp hạng ngang không đầy đủ 10 Các nghiên cứu liên quan 13 1.3 Một số toán mở rộng toán SMTI 16 1.2.4 1.3.1 Bài toán Hospitals/Residents with Ties 16 1.3.2 Bài toán Student-Project Allocation 19 1.3.3 Các nghiên cứu liên quan 22 1.4 Vấn đề tồn 25 1.5 Định hướng nghiên cứu 26 1.6 Phương pháp thực nghiệm đánh giá 26 1.6.1 Bộ liệu 26 Ngơn ngữ cấu hình cài đặt 27 1.7 Kết luận chương 27 1.6.2 CHƯƠNG ĐỀ XUẤT THUẬT TOÁN GIẢI BÀI TOÁN MAX-SMTI 2.1 Giới thiệu 28 28 2.2 2.3 2.4 Đề xuất thuật toán MCS 29 2.2.1 Ý tưởng 29 2.2.2 Hàm heuristic 29 2.2.3 Mô tả thuật toán 31 2.2.4 Ví dụ 34 2.2.5 Các kết thực nghiệm 35 Đề xuất thuật toán HR 42 2.3.1 Ý tưởng 42 2.3.2 Mơ tả thuật tốn 42 2.3.3 Ví dụ 45 2.3.4 Các kết thực nghiệm 46 Kết luận Chương .52 CHƯƠNG ĐỀ XUẤT THUẬT TOÁN GIẢI BÀI TOÁN MAX-HRT 53 3.1 Giới thiệu .53 3.2 Đề xuất thuật toán MCA 53 3.3 3.4 3.2.1 Ý tưởng 53 3.2.2 Mô tả thuật toán 55 3.2.3 Ví dụ 56 3.2.4 Các kết thực nghiệm 57 Đề xuất thuật toán HS 61 3.3.1 Ý tưởng 61 3.3.2 Mơ tả thuật tốn 61 3.3.3 Ví dụ 65 3.3.4 Các kết thực nghiệm 65 Kết luận Chương .73 CHƯƠNG ĐỀ XUẤT THUẬT TOÁN GIẢI BÀI TOÁN MAX-SPA 74 4.1 Giới thiệu .74 4.2 Đề xuất thuật toán SPA-P-heuristic giải toán MAX-SPA-P 74 4.2.1 Ý tưởng 74 4.2.2 Hàm heuristic 75 4.2.3 Mô tả thuật toán 76 4.2.4 Ví dụ 78 4.2.5 Các kết thực nghiệm 78 4.3 Đề xuất thuật toán HAG giải toán MAX-SPA-ST 84 4.3.1 Ý tưởng 84 4.3.2 Hàm heuristic 84 4.3.3 Mơ tả thuật tốn 88 4.3.4 Ví dụ 93 4.3.5 Các kết thực nghiệm 93 4.4 Kết luận Chương KẾT LUẬN 102 104 DANH MỤC CÁC CƠNG TRÌNH ĐÃ CƠNG BỐ CỦA NGHIÊN CỨU SINH VÀ CỘNG SỰ Tài liệu tham khảo 106 108 PHỤ LỤC A P1 A.1 Thuật toán Gale-Shapley P1 A.2 Thuật toán tạo danh sách xếp hạng P2 DANH MỤC CÁC CHỮ VIẾT TẮT STT Từ viết tắt Tiếng Anh Ý nghĩa Adaptive Search Constraint Satisfaction Problem Gale-Shapley Heuristic Repair Hospitals/Residents problem with Ties Heuristic Search Maximum Stable Matching for HRT Tìm kiếm thích nghi Bài tốn thỏa mãn ràng buộc Thuật toán Gale-Shapley Thuật toán sửa đổi heuristic Bài toán phân bổ sinh viên thực tập doanh nghiệp Tìm kiếm Heuristic Phép ghép ổn định với kích thước tối đa cho HRT Phép ghép ổn định với kích thước tối đa cho SMTI Phép ghép ổn định với kích thước tối đa cho SPA Thuật tốn xung đột tối thiểu Thuật tốn tìm kiếm heuristic dựa xung đột tối đa Bài tốn nhân ổn định với danh sách xếp hạng không đầy đủ Bài tốn nhân ổn định Bài tốn nhân ổn định với danh sách xếp hạng ngang hàng Bài tốn nhân ổn định với danh sách xếp hạng ngang hàng khơng đầy đủ Bài tốn phân bổ đề tài cho sinh viên Bài toán phân bổ đề tài cho sinh viên với danh sách xếp hạng giảng viên dựa vào đề tài Bài toán phân bổ đề tài cho sinh viên với danh sách xếp hạng giảng viên dựa vào sinh viên Bài toán phân bổ đề tài cho sinh viên với danh sách xếp hạng giảng viên dựa vào đề tài có chứa quan hệ ngang hàng Cặp chặn trội Tập hợp cặp chặn trội AS CSP GS HR HRT HS MAX-HRT MAX-SMTI MAX-SPA 10 11 MCA MCS 12 SMI 13 14 SMP SMT 15 SMTI Stable Marriage with Ties and Incomplete lists 16 17 SPA SPA-P 18 SPA-S 19 SPA-ST Student-Project Allocation Problem Student-Project Allocation problem with lecturer preferences over Projects Student-Project Allocation problem with lecturer preferences over Students Student-Project Allocation problem with lecturer preferences over Students containing Ties 20 21 UBP UBPS Maximum Stable Matching for SMTI Maximum Stable Matching for SPA Min-Conflicts Algorithm Max-Conflicts based heuristic Search Stable Marriage problem with Incomplete lists Stable Marriage Problem Stable Marriage with Ties Problem Undominated Blocking Pair Undominated Blocking Pairs DANH MỤC CÁC HÌNH VẼ Hình Cấu trúc luận án Hình 2.1 Thời gian thực trung bình MCS LTIU 37 Hình 2.2 Phần trăm phép ghép ổn định MCS LTIU .37 Hình 2.3 Phần trăm phép ghép hoàn chỉnh MCS LTIU .37 Hình 2.4 Thời gian thực trung bình MCS AS 39 Hình 2.5 Trung bình số bước lặp khởi tạo lại MCS AS 39 Hình 2.6 Chất lượng nghiệm MCS AS p2 = 40 Hình 2.7 Trung bình thời gian thực số bước lặp MCS .41 Hình 2.8 Trung bình số lần gọi hàm khởi tạo số cặp chặn vượt trội .41 Hình 2.9 Phần trăm phép ghép hoàn chỉnh HR MCS 47 Hình 2.10 Thời gian thực của HR MCS với n ∈ {100, 200} .47 Hình 2.11 Phần trăm phép ghép hồn chỉnh HR GSA2 49 Hình 2.12 Phần trăm phép ghép hồn chỉnh HR GSA2 49 Hình 2.13 Thời gian thực trung bình HR, GSA2 GS .50 Hình 2.14 Thời gian thực trung bình HR, GSA2 GS .51 Hình 3.1 Thời gian thực nghiệm chất lượng nghiệm MCA LTIU 58 Hình 3.2 MCA với tham số n = {100, 200, · · · , 700} .60 Hình 3.3 Phần trăm phép ghép hồn chỉnh trường hợp cj = n/m .61 Hình 3.4 HS AS với n = 200, m = 20 cj = n/m 68 Hình 3.5 HS AS với n = 200, m = 20 cj = [0.1q , 0.4q ] 69 Hình 3.6 HS AS với n = 300, n = {15, 20, 25} cj = n/m 70 Hình 3.7 HS HP với n = 200, m = 20 71 Hình 3.8 HS HP với n = 1000, m = 25 72 Hình 3.9 HS HP với n = 1000, m = 50, 75 100 72 Hình 3.10 HS HP với n = 5000 .73 Hình 4.1 So sánh chất lượng nghiệm 80 Hình 4.2 Phần trăm phép ghép thời gian thực trung bình .81 Hình 4.3 Phần trăm phép ghép thời gian thực trung bình .82 Hình 4.4 So sánh chất lượng nghiệm 83 Hình 4.5 Phần trăm phép ghép hồn chỉnh thời gian thực trung bình 84 Hình 4.6 Thời gian thực số bước lặp HAG APX 95 Hình 4.7 Phần trăm phép ghép hoàn chỉnh số sinh viên chưa ghép HAG APX 96 Hình 4.8 Thời gian thực trung bình HAG APX 97 Hình 4.9 Trung bình số lần lặp HAG APX với p1 ∈ [0.81, 0.88] 97 Hình 4.10 Phần trăm phép ghép hồn chỉnh trung bình số sinh viên chưa ghép HAG APX 98 Hình 4.11 Trung bình thời gian thực HAG APX với n = 500, m = 25, q = 50 .99 Hình 4.12 Phần trăm phép ghép hồn chỉnh trung bình số sinh viên chưa ghép HAG APX 100 Hình 4.13 Trung bình thời gian thực số bước lặp HAG APX .101 Hình 4.14 Chất lượng nghiệm HAG APX với n = 10000, m = 200, q = 1000102 Hình 4.15 HAG APX với n = 10000, m = 200, q = 1000 102 [11] Mirco Gelain et al., Local Search for Stable Marriage Problems with Ties and Incomplete Lists, in: Proceedings of 11th Pacific Rim International Conference on Artificial Intelligence, Daegu, Korea, 2010, pp 64–75 [12] Adam Kunysz, An Algorithm for the Maximum Weight Strongly Stable Matching Problem, in: 29th International Symposium on Algorithms and Computation (ISAAC 2018), vol 123, Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, 2018, 42:1–42:13 [13] Sofiat Olaosebikan and David Manlove (2020), Super-stability in the studentproject allocation problem with ties, Journal of Combinatorial Optimization, pp 1–37 [14] Danny Munera et al., Solving Hard Stable Matching Problems via Local Search and Cooperative Parallelization, in: Proceedings of the Twenty-Ninth AAAI Con- ference on Artificial Intelligence, Austin, Texas, 2015, pp 1212–1218 [15] Deeksha Adil et al (2018), Parameterized algorithms for stable matching with ties and incomplete lists, Theoretical Computer Science, 723 (1), pp 1–10 [16] David J Abraham, Robert W Irving, and David F Manlove (2007), Two algorithms for the Student-Project Allocation problem, Journal of Discrete Algorithms, (1), pp 73–90 [17] Kazuo Iwama, Shuichi Miyazaki, and Naoya Yamauchi, A 1.875: approximation algorithm for the stable marriage problem, in: Proceedings of the eighteenth annual ACM-SIAM symposium on Discrete algorithms, New Orleans, Louisiana, 2007, pp 288–297 [18] Magnus M Halldórsson, Kazuo Iwama, and Shuichi Miyazaki (2007), Improved Approximation Results for the Stable Marriage Problem, ACM Transactions on Algorithms, (3), pp 1–18 [19] David Manlove, Duncan Milne, and Sofiat Olaosebikan, An integer programming approach to the student-project allocation problem with preferences over projects, in: International Symposium on Combinatorial Optimization, Springer, 2018, pp 313–325 [20] Augustine Kwanashie and David F Manlove, An Integer Programming Approach to the Hospitals/Residents Problem with Ties, in: Proceedings of the International Conference on Operations Research, Erasmus University Rotterdam, 2013, pp 263–269 [21] Hoang Huu Viet et al., A Bidirectional Local Search for the Stable Marriage Prob- lem, in: Proceedings of the 2016 International Conference on Advanced Comput- ing and Applications (ACOMP), Can Tho City, Vietnam, 2016, pp 18– 24 [22] Le Hong Trang, Hoang Huu Viet, and TaeChoong Chung, Finding "optimal" stable marriages with ties via local search, in: Proceedings of the 2016 Eighth International Conference on Knowledge and Systems Engineering (KSE2016), Hanoi, Vietnam, 2016, pp 61–66 [23] Hoang Huu Viet et al., An Empirical Local Search for the Stable Marriage Problem, in: Proceedings of the 14th Pacific Rim International Conference on Artificial Intelligence - PRICAI 2016: Trends in Artificial Intelligence, Phuket, Thailand, 2016, pp 556–564 [24] Ngo Anh Vien et al., Ant Colony based Algorithm for Stable Marriage Problem, in: Advances and Innovations in Systems, Computing Sciences and Software Engineering, Seattle, WA, 2007, pp 457–461 [25] Rakesh V Vohra (2012), Stable matchings and linear programming, Current Science, pp 1051–1055 [26] Maxence Delorme et al., Mathematical models for stable matching problems with ties and incomplete lists, 2019 [27] Kazuo IwamaShuichi MiyazakiYasufumi MoritaDavid Manlove, Stable Marriage with Incomplete Lists and Ties, in: Proceedings of 26th International Colloquium on Automata, Languages, and Programming, Prague, Czech Republic, 1999, pp 443–452 [28] Robert W Irving and David F Manlove (2009), Finding large stable matchings, Journal of Experimental Algorithmics, 14 (2), 1.2–1.2:30 [29] Alvin E.Roth (1984), The Evolution of the Labor Market for Medical Interns and Residents: A Case Study in Game Theory, Journal of Pilitical Economy, 92 (6), pp 991–1016 110 [30] Robert W Irving, Matching Medical Students to Pairs of Hospitals: A New Variation on a Well-known Theme, in: in Proceedings of ESA 1998: the 6th Annual European Symposium, Venice, Italy, 1998, pp 381–392 [31] Canadian Resident Matching Service (CaRMS), http://www.carms.ca/ [32] Bruce M Maggs and Ramesh K Sitaraman (2015), Algorithmic nuggets in content delivery, ACM SIGCOMM Computer Communication Review, 45 (3), pp 52–66 [33] Kazuo Iwama, Shuichi Miyazaki, and Hiroki Yanagisawa (2010), Approximation algorithms for the sex-equal stable marriage problem, ACM Transactions on Algorithms, (1), 2:1–2:17 [34] M Nakamura et al., Genetic algorithm for sex-fair stable marriage problem, in: Circuits and Systems, 1995 ISCAS ’95., 1995 IEEE International Symposium on, Seattle, WA, 1995, pp 509–512 [35] Hoang Huu Viet et al., A Max-Min Conflict Algorithm for the Stable Marriage Problem, in: Pacific Rim Knowledge Acquisition Workshop, Springer, 2019, pp 44–53 [36] Hoang Huu Viet et al (2020), A shortlist-based bidirectional local search for the stable marriage problem, Journal of Experimental & Theoretical Artificial Intelli- gence, 32 (1), pp 147–163 [37] Bertrand Zavidovique, Nikom Suvonvorn, and Guna Seetharaman, A novel representation and algorithms for (quasi) stable marriages, in: 2005 Proceedings of the Second International Conference on Informatics in Control, Automation and Robotics (ICINCO), Barcelona, Spain, 2005, pp 63–70 [38] Kazuo Iwama, Shuichi Miyazaki, and Hiroki Yanagisawa (2010), Approximation algorithms for the sex-equal stable marriage problem, ACM Transactions on Algorithms (TALG), (1), pp 1–17 [39] Patricia Everaere, Maxime Morge, and Gauthier Picard, Minimal Concession Strat- egy for Reaching Fair, Optimal and Stable Marriages, in: Proceedings of the 2013 International Conference on Autonomous Agents and Multi-agent Systems (AA- MAS), St Paul, MN, USA, 2013, pp 1319–1320 111 [40] Ioannis Giannakopoulos et al., An Equitable Solution to the Stable Marriage Prob- lem, in: 2015 IEEE 27th International Conference on Tools with Artificial Intelli- gence (ICTAI), Vietri sul Mare, Italy, 2015, pp 989–996 112 [41] Boming Zhao et al., Preference-aware task assignment in on-demand taxi dispatching: An online stable matching approach, in: Proceedings of the AAAI Con- ference on Artificial Intelligence, vol 33, 01, 2019, pp 2245–2252 [42] Akhmad Alimudin and Yoshiteru Ishida (2022), Matching-updating mechanism: A solution for the stable marriage problem with dynamic preferences, Entropy, 24 (2), p 263 [43] Philippe Codognet and Daniel Diaz, Yet Another Local Search Method for Constraint Solving, in: Proceedings of the International Symposium on Stochastic Al- gorithms, Berlin, Germany, 2001, pp 73–90 [44] Ian Philip Gent and Patrick Prosser, An empirical study of the stable marriage problem with ties and incomplete lists, in: in Proceedings of the 15th European Conference on Artificial Intelligence, Lyon, France, 2002, pp 141–145 [45] Mirco Gelain et al (2013), Local Search Approaches in Stable Matching Problems, Algorithms, (1), pp 591–617 [46] Satoshi Tayu and Shuichi Ueno, Stable Matchings in Trees, in: International Com- puting and Combinatorics Conference, Springer, 2017, pp 492–503 [47] Robert W Irving (1994), Stable marriage and indifference, Discrete Applied Math- ematics, 48 (3), pp 261–272 [48] Kazuo Iwama and Shuichi Miyazaki, A Survey of the Stable Marriage Problem and Its Variants, in: Proceedings of the International Conference on Informatics Edu- cation and Research for Knowledge-Circulating Society, Washington, DC, USA, 2008, pp 131–136 [49] Magnus M Halldórsson et al., Improved Approximation of the Stable Marriage Problem, in: Proceedings of 11th Annual European Symposium on Algorithms, Budapest, Hungary, 2003, pp 266–277 [50] Ildikó Schlotter Dániel Marx (2010), Parameterized Complexity and Local Search Approaches for the Stable Marriage Problem with Ties, Algorithmica, 58 (1), pp 170–187 [51] Keita Nakamura and Naoyuki Kamiyama (2016), Many-to-many stable matchings with ties in trees, Journal of the Operations Research Society of Japan, 59 (3), pp 225–240 [52] Kazuo Iwama, Shuichi Miyazaki, and Kazuya Okamotoe, A (2 − c logN )– N Approximation Algorithm for the Stable Marriage Problem, in: Proceedings of the 9th Scandinavian Workshop on Algorithm Theory, Humlebek, Denmark, 2004, pp 349–361 [53] Kazuo Iwama et al., Stable Marriage with Incomplete Lists and Ties, in: Proceedings of International Colloquium on Automata, Languages, and Programming, Prague, Czech Republic, 1999, pp 443–452 [54] Dan Gusfield and Robert W Irving (1989), The stable marriage problem: structure and algorithms, MIT Press Cambridge, ISBN : 0-262-07118-5 [55] Robert W.Irving and David F.Manlove (2009), Finding Large Stable Matchings, Journal of Experimental Algorithmics, 14 (1), pp 1–2 [56] Ian P Gent et al., A Constraint Programming Approach to the Stable Marriage Problem, in: Proceedings of the 7th International Conference on Principles and Practice of Constraint Programming, vol 1, Berlin, Heidelberg, 2001, pp 225– 239 [57] Kazuo Iwama, Shuichi Miyazaki, and Naoya Yamauchi, A (2 − c √N ) – Approximation Algorithm for the Stable Marriage Problem, in: Proceedings of the 16th international conference on Algorithms and Computation, Sanya, Hainan, China, 2005, pp 902–914 [58] Robert W.Irving, David F.Manlove, and Sandy Scott (2008), The stable marriage problem with master preference lists, Discrete Applied Mathematics, 156 (15), pp 2959–2977 [59] Eric McDermid, A 3/2-Approximation Algorithm for General Stable Marriage, in: Proceedings of the 36th International Colloquium on Automata, Languages, and Programming, Rhodes, Greece, 2009, pp 689–700 [60] David F Manlove and Gregg O’Malley (2008), Student-project allocation with preferences over projects, Journal of Discrete Algorithms, (4), pp 553–560 [61] Katarzyna Paluch, Faster and Simpler Approximation of Stable Matchings, in: Pro- ceedings of the 9th International Workshop on Approximation and Online Algo- rithms, Saarbrucken, Germany, 2011, pp 176–187 [62] Zoltan Király (2013), Linear Time Local Approximation Algorithm for Maximum Stable Marriage, Algorithms, (1), pp 471–484 [63] Katarzyna Paluch (2014), Faster and Simpler Approximation of Stable Matchings, Algorithms, (2), pp 189–202 [64] Koki Hamada, Kazuo Iwama, and Shuichi Miyazaki (2016), The hospitalsresidents problem with lower quotas, Algorithmica, 74 (1), pp 440–465 [65] Chi-Kit Lam and C Gregory Plaxton, Maximum stable matching with one-sided ties of bounded length, in: International Symposium on Algorithmic Game Theory, Springer, 2019, pp 343–356 [66] BS Panda et al., Hardness and Approximation Results for Some Variants of Stable Marriage Problem, in: Conference on Algorithms and Discrete Applied Mathematics, Springer, 2022, pp 252–264 [67] Danny Munera et al., A Local Search Algorithm for SMTI and its extension to HRT Problems, in: Proceedings of the 3rd International Workshop on Matching Under Preferences, University of Glasgow, UK, 2015, pp 66–77 [68] William Pettersson et al (2021), Improving solution times for stable matching problems through preprocessing, Computers & Operations Research, 128, p 105128 [69] Christian Haas (2021), Two-sided matching with indifferences: Using heuristics to improve properties of stable matchings, Computational Economics, 57 (4), pp 1115–1148 [70] Joanna Drummond, Andrew Perrault, and Fahiem Bacchus, SAT is an effective and complete method for solving stable matching problems with couples, in: Twenty- Fourth International Joint Conference on Artificial Intelligence, 2015 [71] Georgios Askalidis et al., Socially Stable Matchings in the Hospitals/Residents Problem, in: Proceedings of the 13th international conference on Algorithms and Data Structures, London, ON, Canada, 2013, pp 85–96 [72] Esra Erdem et al (2020), A general framework for stable roommates problems using answer set programming, Theory and Practice of Logic Programming, 20 (6), pp 911–925 [73] Kitty Meeks and Baharak Rastegari (2020), Solving hard stable matching problems involving groups of similar agents, Theoretical Computer Science, 844, pp 171– 194 [74] Haris Aziz et al (2020), Stable Matching with Uncertain Linear Preferences, Algorithmica, 82 (1), pp 1410–1433 [75] Robert W Irving, David F Manlove, and Sandy Scott, The Hospitals/Residents Problem with Ties, in: in Proceedings of the 7th Scandinavian Workshop on Algo- rithm Theory, Bergen, Norway, 2000, pp 259–271 [76] Kazuo Iwama, Shuichi Miyazaki, and Naoya Yamauchi (2008), A (2 − c √1 )N– Approximation Algorithm for the Stable Marriage Problem, Algorithmica, 51 (1), pp 342–356 [77] Zoltan Király (2011), Better and simpler approximation algorithms for the stable marriage problem, Algorithmica, 60 (1), pp 3–20 [78] David F Manlove and Gregg O’Malley, Modelling and Solving the Stable Marriage Problem Using Constraint Programming, in: Proceedings of the Fifth Work- shop on Modelling and Solving Problems with Constraints, IJCAI’05, 2005, pp 10–17 [79] Danny Munera et al., A Local Search Algorithm for SMTI and its extension to HRT Problems, in: Proceedings of the 3rd International Workshop on Matching Under Preferences, Glasgow, United Kingdom, 2015, pp 66–77 [80] Qi Yue, Wenchang Zou, and Wen Hu (), A new theory of triangular intuitionistic fuzzy sets to solve the two-sided matching problem [81] Zhen Zhang et al (2019), Stable two-sided matching decision making with incom- plete fuzzy preference relations: A disappointment theory based approach, Applied Soft Computing, 84, p 105730 [82] Chi-Kit Lam and C Gregory Plaxton (2022), Maximum stable matching with one- sided ties of bounded length, Theory of Computing Systems, pp 1–34 [83] Mert Kimya (2022), Farsighted objections and maximality in one-to-one matching problems, Journal of Economic Theory, p 105499 [84] Eduard Eiben et al (2023), Preference swaps for the stable matching problem, Theoretical Computer Science, 940, pp 222–230 [85] Vijay Kumar Garg, Keynote Talk: Lattice Linear Predicate Algorithms for the Con- strained Stable Marriage Problem with Ties, in: 24th International Conference on Distributed Computing and Networking, 2023, pp 2–11 [86] Christoph Roch et al., A Quantum Annealing Approach for Solving Hard Variants of the Stable Marriage Problem, in: International Conference on Innovations for Community Services, 2022, pp 294–307 [87] Nitsan Perach and Shoshana Anily (2022), Stable matching of student-groups to dormitories, European Journal of Operational Research, 302 (1), pp 50–61 [88] Rohan Chowdhury (2022), A simple matching domain with indifferences and a master list, Review of Economic Design, pp 1–25 [89] Kitty Meeks and Baharak Rastegari (2020), Solving hard stable matching problems involving groups of similar agents, Theoretical Computer Science, 844, pp 171– 194 [90] Patrick Kenekayoro, Promise Mebine, and Bodouowei Godswill Zipamone (2020), Population based techniques for solving the student project allocation prob- lem, International Journal of Applied Metaheuristic Computing (IJAMC), 11 (2), pp 192–207 [91] Kolos Csaba Ágoston, Péter Biró, and Richárd Szántó (2018), Stable project allocation under distributional constraints, Operations Research Perspectives, 5, pp 59–68 [92] Ahmed H Abu El-Atta and Mahmoud Ibrahim Moussa, Student project allocation with preference lists over (student, project) pairs, in: 2009 Second International Conference on Computer and Electrical Engineering, vol 1, IEEE, 2009, pp 375– 379 [93] Marco Chiarandini, Rolf Fagerberg, and Stefano Gualandi (2019), Handling pref- erences in student-project allocation, Annals of Operations Research, 275 (1), pp 39–78 [94] Frances Cooper and David Manlove, A 3/2-Approximation Algorithm for the Student-Project Allocation Problem, in: 17th International Symposium on Experimental Algorithms (SEA 2018), vol 103, 2018, 8:1–8:13, DOI : 10.4230/ LIPIcs.SEA.2018.8 [95] Marco Chiarandini, Rolf Fagerberg, and Stefano Gualandi (2019), Handling pref- erences in student-project allocation, Annals of Operations Research, 275 (1), pp 39–78 [96] Dimitar Kazakov (2002), Co-ordination of student-project allocation, University of York, Department of Computer Science [97] Telikepalli Kavitha et al., Strongly stable matchings in time O (nm) and extension to the hospitals-residents problem, in: Annual Symposium on Theoretical Aspects of Computer Science, Springer, 2004, pp 222–233 [98] Péter Biró et al (2010), The college admissions problem with lower and common quotas, Theoretical Computer Science, 411 (34-36), pp 3136–3153 [99] Franz Diebold and Martin Bichler (2017), Matching with indifferences: A comparison of algorithms in the context of course allocation, European Journal of Operational Research, 260 (1), pp 268–282 [100] Paul R Harper et al (2005), A genetic algorithm for the project assignment problem, Computers & Operations Research, 32 (5), pp 1255–1265 [101] Li Pan et al., Multi-criteria student project allocation: A case study of goal programming formulation with dss implementation, in: The Eighth International Sym- posium on Operations Research and Its Applications (ISORA’09), Zhangjiajie, China, 2009, pp 75–82 [102] Kazuo Iwama, Shuichi Miyazaki, and Hiroki Yanagisawa (2012), Improved approximation bounds for the student-project allocation problem with preferences over projects, Journal of Discrete Algorithms, 13, pp 59–66 [103] Biniyam Asmare Kassa (2013), A linear programming approach for placement of applicants to academic programs, SpringerPlus, (1), p 682 [104] Abigail H Chown, Christopher J Cook, and Nigel B Wilding (2018), A simulated annealing approach to the student-project allocation problem, American Journal of Physics, 86 (9), pp 701–708 [105] David F Manlove (2015), The hospitals/residents problem, Encyclopedia of algorithms, pp 1–6 [106] Arif A Anwar and AS Bahaj (2003), Student project allocation using integer programming, IEEE Transactions on Education, 46 (3), pp 359–367 [107] Jonathan Dye (2001), A constraint logic programming approach to the stable marriage problem and its application to student-project allocation, BSc Honours project report, University of York, Department of Computer Science [108] M Thorn (2003), A constraint programming approach to the student-project allocation problem, BSc Honours project report, University of York, Department of Computer Science [109] Hussein M Saber and Jay B Ghosh (2001), Assigning students to academic majors, Omega, 29 (6), pp 513–523 [110] Robert W Irving, David F Manlove, and Gregg O’Malley (2009), Stable marriage with ties and bounded length preference lists, Journal of Discrete Algorithms, (1), pp 213–219 [111] Viet Hoang Huu et al (2021), A max-conflicts based heuristic search for the stable marriage problem with ties and incomplete lists, Journal of Heuristics, 27 (3), pp 439–458 [112] Steven Minton et al (1992), Minimizing conflicts: a heuristic repair method for constraint satisfaction and scheduling problems, Artificial intelligence, 58 (1-3), pp 161–205 [113] Juwesh Binong, Solving Student Project Allocation with Preference Through Weights, in: Proceedings of International Conference on Frontiers in Computing and Systems, Springer, 2021, pp 423–430 [114] Fabiyi A Aderanti, RT Amosa, and AA Oluwatobiloba, Development of student project allocation system using matching algorithm, in: Int Conf Sci Eng Environ Technol, vol 1, 2016, pp 153–160 [115] Murtadha A Gani, Rula A Hamid, et al (2021), Optimum Allocation of Graduation Projects: Survey and Proposed Solution, Journal of Al-Qadisiyah for computer science and mathematics, 13 (1), Page–58 [116] A Kwanashie et al., Profile-based optimal matchings in the student/project alloca- tion problem, in: International Workshop on Combinatorial Algorithms, Springer, 2014, pp 213–225 [117] Sofiat Olaosebikan and David Manlove, An Algorithm for Strong Stability in the Student-Project Allocation Problem with Ties, in: Conference on Algorithms and Discrete Applied Mathematics, Springer, 2020, pp 384–399 [118] Hoang Huu Viet, Van Le Tan, and Thanh Cao Son, Finding Maximum Sta- ble Matchings for the Student-Project Allocation Problem with Preferences Over Projects, in: FDSE, Singapore, 2020, pp 411–422 PHỤ LỤC A A.1 Thuật toán Gale-Shapley Thuật toán Gale-Shapley [1], viết tắt GS phép ghép rỗng Tại bước lặp người nam mi độc thân có danh sách xếp hạng chưa rỗng đề xuất tới người nữ wj có xếp hạng ưu tiên cao Nếu wj chưa ghép thích mi M (wj ) wj ghép với mi , ngược lại wj từ chối mi mi xoá wj khỏi danh sách xếp hạng Thuật toán kết thúc tất người nam ghép người nam chưa ghép có danh sách xếp hạng rỗng Algorithm A.1: Thuật toán GS Input: - Thể I, SMTI Output: Phép ghép ổn định, M function Main(I) for ( mi∈ M) M(m i) := ∅; a(mi) := 20 while∃ mi ∈ M a(mi) = mi := | người nam hoạt động, tức a(mi) = 1; if ∄wk ∈ W rank(mi, wk) > then a(m| i) := continue; wj = argmin(rank(mi , wj ) > 0); if M (wj ) = ∅ then M := M ∪ { (mi , wj ) ; a(mi) := 0; else if rank(wj , mi ) < rank(wj , M (wj )) then mk := M (wj ); M := M \ {(mk , wj ) } ∪ (m { i , wj ) ; rank(mk , wj ) := 0; } a(mi) := 0; a(mk) := 1; else rank(mi , wj ) := 0; 21 return M; 22 end function 10 11 12 13 14 15 16 17 18 19 P1 A.2 Thuật toán tạo danh sách xếp hạng Một thể toán SMTI tạo ngẫu nhiên dựa vào ba tham số (n, p1, p2) [44], n số người nam người nữ, p1 xác suất tạo danh sách không đầy đủ p2 xác suất tạo danh sách xếp hạng ưu tiên ngang hàng Thuật toán thực theo bước sau: Bước Tạo danh sách xếp hạng ngẫu nhiên kích thước n cho người nam người nữ Bước Đối với người nam mi tất người nữ wj danh sách xếp hạng, thuật toán tạo số ngẫu nhiên < p < Nếu p < p1 thuật tốn xóa wj khỏi danh sách xếp hạng mi xóa mi khỏi danh sách xếp hạng wj Bước Nếu người nam người nữ có danh sách xếp hạng rỗng, thuật toán loại bỏ thể quay Bước Bước Đối với người nam mi, người nữ có thứ hạng thứ đến người có thứ hạng ưu tiên thấp danh sách xếp hạng, thuật toán tạo số ngẫu nhiên < p < Nếu p < p2 thứ hạng wj thứ hạng người phụ nữ xếp trước nó, khơng thứ hạng wj tăng lên đơn vị Algorithm A.2: Thuật toán tạo danh sách xếp hạng Input: - Số lượng người nam người nữ, n - Xác suất tạo danh sách rỗng, p1 - Xác suất tạo xếp hạng ngang hàng, p2 Output: Danh sách xếp hạng người nam người nữ function Generator(n, p1, p2) f := true; while f = true for ( mi∈ ) Khởi tạo ngẫu M nhiên danh sách xếp hạng mi; for ( wj ∈ ) Khởi tạo ngẫu W nhiên danh sách xếp hạng wj ; 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 for ( mi∈ ) for ( M wj ∈ ) if rand() W ≤ p1 then rank(mi , wj ) := 0; rank(wj , mi ) := 0; f := false; for ( mi∈ ) if ∄wj ∈ M rank(mi , wj ) > then f :=W| true; continue; for ( wj ∈ ) if ∄mi ∈W rank(wj , mi ) > then f :=M| true; continue; rank† (mi , wj ) := rank(mi , wj ), ∀mi ∈ M, wj ∈ wk = argmin(rank(mi, wk) > 0); W rth := 1; while ∄wj ∈ rank† (mi , wj ) > † wj := argmin(rank (mi , wj ) > 0); W| if rand() > p2 wj = ̸̸ wk then rth := rth + 1; ; rank(mi , wj ) := rth ; rank † (mi , wj ) := 0; rank† (wj , mi ) := rank(wj , mi ), ∀wj ∈ W, mi ∈ mk := argmin(rank(wj , mk ) > 0); M rth := 1; while ∄mi ∈ rank† (wj , mi ) > † mi := argmin(rank (wj , mi ) > 0); W| if rand() > p2 m̸̸ i = mk then rth := rth + 1; ; rank(wj , mi ) := rth ; rank † (wj , mi ) := 0; 40 return Danh sách xếp hạng người nam người nữ; 41 end function