1. Trang chủ
  2. » Công Nghệ Thông Tin

Phương pháp mới giải bài toán người bán hàng sử dụng thuật toán Runner – Root

5 20 0

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

THÔNG TIN TÀI LIỆU

Bài viết trình bày một phương pháp mới dựa trên thuật toán Runner - Root (RRA) để tìm đường đi ngắn nhất cho TSP. Trong đó, RRA là thuật toán được phát triển dựa trên ý tưởng về sự nhân giống của các loại thực vật bò lan.

TẠP CHÍ KHOA HỌC ĐẠI HỌC VĂN LANG Nguyễn Thị Quyên PHƯƠNG PHÁP MỚI GIẢI BÀI TOÁN NGƯỜI BÁN HÀNG SỬ DỤNG THUẬT TOÁN RUNNER – ROOT A NEW METHOD FOR SOLVING TRAVELING SALESMAN PROBLEM USING RUNNER-ROOT ALGORITHM NGUYỄN THỊ QUN TĨM TẮT: Bài tốn người bán hàng (Travelling Salesman Problem - TSP) tốn tìm đường ngắn nhiều thành phố cho người bán hàng nhằm tiết kiệm thời gian chi phí Đây tốn tối ưu rời rạc phức tạp, địi hỏi phải có phương pháp giải hiệu Bài viết trình bày phương pháp dựa thuật toán Runner - Root (RRA) để tìm đường ngắn cho TSP Trong đó, RRA thuật tốn phát triển dựa ý tưởng nhân giống loại thực vật bò lan Hiệu RRA cho toán TSP kiểm chứng TSP 14 thành phố Dựa kết tính tốn cho thấy, phương pháp đề xuất RRA công cụ đáng xem xét cho tốn TSP Từ khóa: thuật toán runner (RRA) – root; toán người bán hàng (TSP); đường ngắn ABSTRACT: The traveling salesman problem (TSP) is the problem of finding the shortest route between many cities for sellers to save time and costs This is a complex discrete optimization problem that requires effective solutions The article presents a new method based on the runnerroot algorithm (RRA) to find the shortest route to the TSP In which, RRA is an algorithm developed based on the idea of propagation of creeping plants The effectiveness of RRA for the TSP is verified on the TSP of 14 cities The calculation results show that the proposed RRA method is one of the tools worth considering for the TSP Key words: runner-root algorithm; traveling salesman problem; shortest route biên [14], phương pháp Lagrangian [7] phương pháp dựa thuật toán tối ưu giải thuật di truyền [3], tối ưu bầy đàn (Particle Swarm Optimization - PSO) [16], tối ưu đàn kiến [4], thuật toán tìm kiếm cuckoo [11], thuật tốn tìm kiếm hài hịa [1] thuật tốn đàn ong nhân tạo [12] Nhìn chung, sử dụng phương pháp cổ điển thu giải pháp tối ưu q trình tính tốn thường thời gian, Vì vậy, địi hỏi phải có phương pháp giải hiệu rút ngắn thời gian Các thuật tốn tối ưu thu lời giải toán với thời gian tương đối ngắn Do đó, sử dụng phương ĐẶT VẤN ĐỀ Bài toán TSP toán tối ưu tiếng nhằm tìm đường ngắn thành phố cho người bán hàng, bao gồm thành phố bắt đầu thành phố kết thúc thành phố qua tất chúng xuất lần đường Bài toán TSP ứng dụng cắt giấy, dây máy tính, định tuyến, lập lịch, mạng xã hội [2], [6] Kể từ đề xuất lần đầu vào năm 1970 [10], toán TSP giải nhiều phương pháp khác bao gồm phương pháp cổ điển phương pháp nhánh cắt [15], nhánh  ThS Trường Đại học Văn Lang, quyen.nt@vlu.edu.vn, Mã số: TCKH25-04-2021 85 TẠP CHÍ KHOA HỌC ĐẠI HỌC VĂN LANG Số 25, Tháng 01 - 2021 pháp cho tốn TSP ln vấn đề cần thiết Thuật toán runner – root (RRA) phát triển dựa ý tưởng nhân giống qua thân số loài cỏ nhện, dâu tây hay mẫu tử [8] Để giải toán tối ưu, giải pháp xem mẹ Cây mẹ sinh qua thân để khai thác nguồn tài nguyên Các sinh nơi có nguồn tài nguyên phong phú phát triển mạnh tiếp tục sinh khác ngược lại chúng chết Thuật toán RRA thể nhiều ưu điểm việc tìm giải pháp tối ưu cho hàm tốn chuẩn [8] Ngồi ra, thuật tốn RRA áp dụng thành công số lĩnh vực kỹ thuật điện [9], dự báo sản xuất [5] Tính cấp thiết viết trình bày chi tiết bước áp dụng thuật tốn RRA để tìm đường ngắn cho toán TSP hiệu với thời gian ngắn NỘI DUNG 2.1 Mơ hình tốn TSP Cho 𝑁𝑐𝑖𝑡𝑦 thành phố tọa độ thành phố, chiều dài đường thành phố 𝑝𝑎𝑡ℎ = [𝑐1 , 𝑐2 , … , 𝑐𝑁𝑐𝑖𝑡𝑦 ] xác định 𝑁 𝑐𝑖𝑡𝑦 sau: 𝐿(𝑝𝑎𝑡ℎ) = ∑𝑖=1 −1 mẹ đại diện cho thành phố biểu thức: 𝑝𝑎𝑡ℎ𝑚𝑜𝑡ℎ𝑒𝑟,𝑖 = [𝑐1 , 𝑐2 , … , 𝑐j , … 𝑐𝑁𝑐 ] (3) Trong đó, 𝑝𝑎𝑡ℎ𝑚𝑜𝑡ℎ𝑒𝑟,𝑖 đường thư i quần thể N đường 𝑐j thành phố thứ j đường 𝑁𝑐 số thành phố Để bắt đầu trình tìm kiếm, đường khởi tạo sau: 𝑝𝑎𝑡ℎ𝑚𝑜𝑡ℎ𝑒𝑟,𝑖 = 𝑝𝑎𝑡ℎ𝑙𝑜𝑤 + 𝑟𝑎𝑛𝑑 (𝑝𝑎𝑡ℎℎ𝑖𝑔ℎ − 𝑝𝑎𝑡ℎ𝑙𝑜𝑤 ) (4) Trong đó, 𝑝𝑎𝑡ℎ𝑙𝑜𝑤 𝑝𝑎𝑡ℎℎ𝑖𝑔ℎ véc tơ giới hạn biến đường Do thành phố biểu diễn dạng số nguyên dương, nên phần tử đường 𝑝𝑎𝑡ℎ𝑚𝑜𝑡ℎ𝑒𝑟,𝑖 xếp theo thứ tự tăng dần Khi đó, vị trí biến mảng xếp quy ước thành phố tương ứng với biến Chẳng hạn tốn tìm đường ngắn qua thành phố, giá trị 𝑝𝑎𝑡ℎ𝑚𝑜𝑡ℎ𝑒𝑟,𝑖 = [2.3, 5.6, 4.3, 1.8] đường tương ứng [2, 4, 3, 1] Sau khởi tạo, đường đánh giá hàm mục tiêu mô tả biểu thức (1) để xác định chiều dài đường Khi đó, đường có chiều dài ngắn (𝐿𝑏𝑒𝑠𝑡 ) xem đường tốt 𝑝𝑎𝑡ℎ𝑏𝑒𝑠𝑡 Bước 2: Tạo quần thể đường Ý tưởng mẹ sinh qua thân thể thuật tốn RRA trình tạo giải pháp sau: 𝑝𝑎𝑡ℎ𝑑𝑎𝑢𝑔ℎ𝑡𝑒𝑟,𝑘 = 𝑝𝑎𝑡ℎ𝑏𝑒𝑠𝑡 ,𝑘 = (5) { 𝑝𝑎𝑡ℎ𝑚𝑜𝑡ℎ𝑒𝑟,𝑘 + 𝑟𝑢𝑛𝑛𝑒𝑟 𝑟𝑎𝑛𝑑, 𝑘 = 2, … , 𝑁 Trong đó, 𝑝𝑎𝑡ℎ𝑑𝑎𝑢𝑔ℎ𝑡𝑒𝑟,𝑘 đường 𝑑(𝑐𝑖 , 𝑐𝑖+1 ) + 𝑑(𝑐𝑛 , 𝑐1 ) (1) Trong đó, 𝑑(𝑐𝑖 , 𝑐𝑖+1 ) khoảng cách Euler hai thành phố xác định sau: 𝑑(𝑐𝑖 , 𝑐𝑖+1 ) = √(𝑥𝑖 − 𝑥𝑖+1 )2 + (𝑦𝑖 − 𝑦𝑖+1 )2 (2) Trong đó, (𝑥𝑖 , 𝑦𝑖 ) (𝑥𝑖+1 , 𝑦𝑖+1 ) tọa độ hai thành phố i j 2.2 Thuật toán RRA cho toán TSP Thuật toán RRA áp dụng cho hàm tốn chuẩn Tuy nhiên, để áp dụng thành cơng RRA cho toán TSP, bước thực thuật tốn cần điều chỉnh [8] Vì vậy, mục chi tiết áp dụng thuật toán RRA cho tốn TSP mơ tả sau: Bước - Khởi tạo: Để tìm đường ngắn cho toán TSP, đường khả thi xem mẹ Trong đó, biến thứ k tạo từ đường 𝑝𝑎𝑡ℎ𝑚𝑜𝑡ℎ𝑒𝑟,𝑘 𝑟𝑢𝑛𝑛𝑒𝑟 khoảng cách lớn từ biến đến biến đặt 200 Các đường đánh giá hàm mục tiêu mô tả biểu thức (1) để xác định chiều dài đường 𝐿𝑑𝑎𝑢𝑔ℎ𝑡𝑒𝑟,𝑘 Dựa chiều dài đường mới, giá trị 𝑝𝑎𝑡ℎ𝑏𝑒𝑠𝑡 cập nhật lại 86 TẠP CHÍ KHOA HỌC ĐẠI HỌC VĂN LANG Nguyễn Thị Quyên Bước 3: Cập nhật đường tốt Sau hai vòng lặp liên tiếp mà đường tốt thu khơng có cải thiện chiều dài đường đi, thủ tục cập nhật đường tốt thực Trong đó, có 𝑁𝑐 đường tạo cách điều chỉnh biến 𝑝𝑎𝑡ℎ𝑏𝑒𝑠𝑡 sau: 𝑝𝑎𝑡ℎ1,𝑑 = 𝑀𝑢,𝑑 𝑟𝑢𝑛𝑛𝑒𝑟 𝑝𝑎𝑡ℎ𝑏𝑒𝑠𝑡 + 𝑝𝑎𝑡ℎ𝑏𝑒𝑠𝑡 (6) 𝑝𝑎𝑡ℎ2,𝑑 = 𝑀𝑢,𝑑 𝑟𝑜𝑜𝑡 𝑝𝑎𝑡ℎ𝑏𝑒𝑠𝑡 + 𝑝𝑎𝑡ℎ𝑏𝑒𝑠𝑡 (7) Trong đó, 𝑝𝑎𝑡ℎ1,𝑑 𝑝𝑎𝑡ℎ2,𝑑 đường thứ d tạo với d = 1, 2,…, 𝑁𝑐 𝑀𝑢,𝑑 dịng thứ d ma trân đơn vị có kích thước (𝑁𝑐 × 𝑁𝑐) 𝑟𝑜𝑜𝑡 số có giá trị nhỏ so với 𝑟𝑢𝑛𝑛𝑒𝑟, thường chọn ½ giá trị 𝑟𝑢𝑛𝑛𝑒𝑟 Các đường tính tốn hàm mục tiêu Nếu tồn đường có chiều dài ngắn 𝑝𝑎𝑡ℎ𝑏𝑒𝑠𝑡 chọn để thay cho 𝑝𝑎𝑡ℎ𝑏𝑒𝑠𝑡 Bước 4: Lựa chọn đường cho hệ Quần thể mẹ cho vòng lặp sau chọn từ quần thể Khi đó, xác suất để 𝑝𝑎𝑡ℎ𝑑𝑎𝑢𝑔ℎ𝑡𝑒𝑟,𝑘 chọn để trở thành mẹ vòng lặp xác định sau: 𝑓(𝑝𝑎𝑡ℎ𝑑𝑎𝑢𝑔ℎ𝑡𝑒𝑟,𝑘 ) 𝑝𝑘 = ∑N 𝑗=1 𝑓(𝑝𝑎𝑡ℎ𝑑𝑎𝑢𝑔ℎ𝑡𝑒𝑟,j ) chưa đạt tới giá trị lớn đặt trước (𝑖𝑡𝑒𝑟𝑚𝑎𝑥 ), thuật toán quay trở lại bước để tiếp tục q trình tìm kiếm Ngược lại, thuật tốn dừng lại đường tốt 𝑝𝑎𝑡ℎ𝑏𝑒𝑠𝑡 xem lời giải cho tốn Tồn bước thực thuật toán RRA cho toán TSP trình bày lưu đồ Hình Bắt đầu - Khởi tạo ngẫu nhiên quần thể đường ban đầu sử dụng (4) - Tính hàm mục tiêu cho đường sử dụng (1) - Xác định đường tốt pathbest với chiều dài Lbest - Đặt vòng lặp i = Lbest_old = Lbest Tạo quần thể đường sử dụng (5) Tính hàm mục tiêu cho đường sử dụng (1) Cập nhật đường tốt path best với chiều dài Lbest Lbest = Lbest_old Tạo 2.NC đường sử dụng (6) (7) Tính hàm mục tiêu cho đường sử dụng (1) Cập nhật đường tốt path best với chiều dài Lbest Lựa chọn quần thể mẹ từ sử dụng (8) (9) Sai (8) Lbest = Lbest_old Đúng ct = ct + Trong đó, 𝑓(𝑝𝑎𝑡ℎ𝑑𝑎𝑢𝑔ℎ𝑡𝑒𝑟,𝑘 ) giá trị thích nghi 𝑝𝑎𝑡ℎ𝑑𝑎𝑢𝑔ℎ𝑡𝑒𝑟,𝑘 tính sau: 𝑓(𝑝𝑎𝑡ℎ𝑑𝑎𝑢𝑔ℎ𝑡𝑒𝑟,𝑘 ) = Sai Đúng ct = Sai ct = iterrestart (9) 𝜎+𝐿𝑑𝑎𝑢𝑔ℎ𝑡𝑒𝑟,𝑘 −𝐿𝑏𝑒𝑠𝑡 Đúng Khởi tạo ngẫu nhiên quần thể đường ban đầu sử dụng (4) Trong đó, 𝜎 số nhỏ nhằm loại trừ phép chia cho trường hợp giá trị 𝐿𝑑𝑎𝑢𝑔ℎ𝑡𝑒𝑟,𝑘 𝐿𝑏𝑒𝑠𝑡 Bước 5: Khởi động lại quần thể mẹ Trong trường hợp sau số vòng lặp định trước (𝑖𝑡𝑒𝑟𝑟𝑒𝑠𝑡𝑎𝑟𝑡 ) mà đường tốt không cải thiện, thuật tốn RRA khởi tạo ngẫu nhiên lại quần thể mẹ cách sử dụng biểu thức (4) nhằm gia tăng hội khai phá không gian tìm kiếm Bước 6: Kiểm tra điều kiện dừng Thuật toán RRA cho toán TSP hoạt động dựa số lượng vòng lặp tối đa Nếu số vòng lặp i=i+1 Sai i itermax Đúng Xuất kết quả: pathbest Lbest Kết thúc Hình Lưu đồ thuật tốn RRA cho tốn TSP 2.3 Kết tính tốn Trong phần này, phương pháp RRA đề xuất sử dụng để tìm đường ngắn cho tốn TSP có 14 thành phố gọi Burma14 [13] Trong đó, tọa độ thành phố cho Bảng Phương pháp đề xuất RRA lập trình từ phần mềm Matlab 2016a chạy máy tính cá nhân CPU core i5 2x2.4GH, 8GB RAM Thơng số RRA 87 TẠP CHÍ KHOA HỌC ĐẠI HỌC VĂN LANG Số 25, Tháng 01 - 2021 bao gồm kích thước quần thể N số vòng lặp lớn 𝑖𝑡𝑒𝑟𝑚𝑎𝑥 chọn 20 50 Trong đó, giá trị 𝑖𝑡𝑒𝑟𝑟𝑒𝑠𝑡𝑎𝑟𝑡 chọn ½ giá trị 𝑖𝑡𝑒𝑟𝑚𝑎𝑥 Phương pháp đề nghị chạy 100 lần độc lập để đánh giá hiệu phương pháp Kết tính tốn cho tốn trình bày Bảng Trong đó, chiều dài đường ngắn thu từ RRA cho Burma14 30.8785 tương ứng với đường ngắn {13, 7, 5, 12, 6, 4, 3, 14, 2, 1, 10, 9, 11, 8} mơ tả Hình Kết hoàn toàn tương tự với kết thu từ phương pháp PSO [16] Tuy nhiên, giá trị trung bình hàm mục tiêu thu RRA 100 lần chạy bé so với phương pháp PSO [16] Đặc tuyến hội tụ lớn nhất, nhỏ trung bình 100 lần chạy độc lập Hình 3a cho thấy đường đặc tuyến hội tụ trung bình gần với đường hội tụ nhỏ Giá trị hàm mục tiêu thu 100 lần chạy Hình 3b cho thấy RRA tìm đường tốt hầu hết lần chạy Điều cho thấy, ổn định độ tin cậy cao thuật toán RRA cho toán TSP Bảng Tọa độ thành phố toán Burma14 x 16.47 16.47 20.09 22.39 25.23 22.00 20.47 y 96.10 94.44 92.54 93.37 97.24 96.05 97.02 x 17.20 16.30 14.05 16.53 21.52 19.41 20.09 y 96.29 97.38 98.12 97.38 95.59 97.13 94.55 Hình Đường tốt thu từ RRA Bảng Kết tính tốn cho toán TSP Burma14 Phương pháp RRA PSO [16] Đường tốt 13, 7, 5, 12, 6, 4, 3, 14, 2, 1, 10, 9, 11, 13, 7, 5, 12, 6, 4, 3, 14, 2, 1, 10, 9, 11, 𝑳𝒎𝒂𝒙 𝑳𝒎𝒊𝒏 𝑳𝒎𝒆𝒂𝒏 STD Thời gian tính tốn (s) 31.8283 30.8785 30.9012 0.1140 0.2098 31.022 30.8785 30.9245 - - Hình Đặc tuyến hộ tụ trung bình giá trị hàm mục tiêu 100 lần chạy thực RRA phương pháp hiệu tin cậy việc tìm lời giải cho tốn TSP Trong tương lai, chúng tơi sử dụng thuật tốn RRA cho tốn TSP có nhiều thành phố áp dụng phương pháp đề xuất vào số ứng dụng thực tế KẾT LUẬN Bài viết trình bày ứng dụng thuật tốn RRA cho toán TSP Hiệu RRA kiểm chứng tốn TSP có 14 thành phố Kết thu RRA 100 lần chạy độc lập so sánh với phương pháp PSO 88 TẠP CHÍ KHOA HỌC ĐẠI HỌC VĂN LANG Nguyễn Thị Quyên TÀI LIỆU THAM KHẢO [1] Boryczka U and Szwarc K (2019), The Harmony Search algorithm with additional improvement of harmony memory for Asymmetric Traveling Salesman Problem, 122, Elsevier, Expert Systems with Applications [2] Campuzano G., Obreque C., and Aguayo M M (2020), Accelerating the Miller–Tucker–Zemlin model for the asymmetric traveling salesman problem, 148, Elsevier, Expert Systems with Applications [3] Dong X and Cai Y (2018), A novel genetic algorithm for large scale colored balanced traveling salesman problem, 95, Elsevier, Future Generation Computer Systems [4] Ebadinezhad S (2020), DEACO: Adopting dynamic evaporation strategy to enhance ACO algorithm for the traveling salesman problem, 92, Elsevier, Engineering Applications of Artificial Intelligence [5] Goli A., Moeini E., Shafiee A M., Zamani M., and Touti E (2020), Application of Improved Artificial Intelligence with Runner-Root Meta-Heuristic Algorithm for Dairy Products Industry: A Case Study, 29(5), World Scientific Publishing, International Journal on Artificial Intelligence Tools [6] Hu Y., Yao Y., and Lee W S (2020), A reinforcement learning approach for optimizing multiple traveling salesman problems over graphs, 204, Elsevier, Knowledge-Based Systems [7] Laporte G (1992), The traveling salesman problem: An overview of exact and approximate algorithms, 59 (2), Elsevier, European Journal of Operational Research [8] Merrikh-Bayat F (2015), The runner-root algorithm: A metaheuristic for solving unimodal and multimodal optimization problems inspired by runners and roots of plants in nature, 33, Elsevier, Applied Soft Computing [9] Nguyen T T., Nguyen T T., Truong A V., Nguyen Q T., and Phung T A (2017), Multiobjective electric distribution network reconfiguration solution using runner-root algorithm, 52, Elsevier, Applied Soft Computing [10] Oliver I M., Smith Dj And Holland J R (1987), Study of permutation crossover operators on the traveling salesman problem, The Massachusetts Institute of Technology, Genetic algorithms and their applications: proceedings of the second International Conference on Genetic Algorithms [11] Ouaarab A., Ahiod B., and Yang X S (2014), Discrete cuckoo search algorithm for the travelling salesman problem, 24, Springer, Neural Computing and Applications [12] Pandiri V and Singh A (2019), An artificial bee colony algorithm with variable degree of perturbation for the generalized covering traveling salesman problem, 78, Elsevier, Applied Soft Computing [13] Reinelt G (1991), TSPLIB A traveling salesman problem library, 3(4), The Institute for Operations Research and the Management Sciences, ORSA journal on computing [14] Salman R., Ekstedt F., and Damaschke P (2020), Branch-and-bound for the Precedence Constrained Generalized Traveling Salesman Problem, 48(2), Elsevier, Operations Research Letters [15] Yuan Y., Cattaruzza D Ogier M and Semet F (2020), A branch-and-cut algorithm for the generalized traveling salesman problem with time windows, 286, Elsevier, European Journal of Operational Research [16] Yuan Z., Yang L., Wu Y., Liao L., and Li G (2007), Chaotic particle swarm optimization algorithm for traveling salesman problem, IEEE, Proceedings of the IEEE International Conference on Automation and Logistics Ngày nhận bài: 26-8-2020 Ngày biên tập xong: 11-01-2021 Duyệt đăng: 22-01-2021 89 ... 2.2 Thuật toán RRA cho toán TSP Thuật toán RRA áp dụng cho hàm toán chuẩn Tuy nhiên, để áp dụng thành cơng RRA cho tốn TSP, bước thực thuật toán cần điều chỉnh [8] Vì vậy, mục chi tiết áp dụng thuật. .. - 2021 pháp cho toán TSP ln vấn đề cần thiết Thuật tốn runner – root (RRA) phát triển dựa ý tưởng nhân giống qua thân số loài cỏ nhện, dâu tây hay mẫu tử [8] Để giải toán tối ưu, giải pháp xem... thực RRA phương pháp hiệu tin cậy việc tìm lời giải cho tốn TSP Trong tương lai, chúng tơi sử dụng thuật tốn RRA cho tốn TSP có nhiều thành phố áp dụng phương pháp đề xuất vào số ứng dụng thực

Ngày đăng: 11/08/2021, 16:20

Xem thêm:

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w