Thuật toán bầy kiến giải bài toán VRP Cehicle routing problem với hạn chế thời gian Thuật toán bầy kiến giải bài toán VRP Cehicle routing problem với hạn chế thời gian Thuật toán bầy kiến giải bài toán VRP Cehicle routing problem với hạn chế thời gian luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp
bộ giáo dục v đo tạo trờng đại học bách khoa hμ néi NGUYN TH H NGUYN TH H CÔNG NGHệ THÔNG TIN THUT TON BY KIN GII BI TON VRP (VEHICLE ROUTING PROBLEM) VI HN CH THI GIAN luận văn th¹c Sü khoa häc 2007-2009 Hμ néi 2009 Hμ Néi Năm 2009 giáo dục v đo tạo trờng đại học bách khoa h nội NGUYỄN THỊ HÀ THUẬT TOÁN BẦY KIẾN GIẢI BÀI TOÁN VRP (VEHICLE ROUTING PROBLEM) VỚI HN CH THI GIAN Chuyên ngnh : công nghệ thông tin luận văn thạc sĩ KHOA HọC ngời hớng dẫn khoa học: PGS.TS NGUYN C NGHA H Nội - Năm 2009 Trang Lời cam đoan Tôi xin cam đoan cơng trình nghiên cứu riêng tơi Các số liệu, kết qủa nêu luận văn trung thực chưa công bố cơng trình khác Nguyễn Thị Hà Trang Mục lục Lời cam đoan .1 Mục lục Danh mục thuật ngữ từ viết tắt .5 Danh mục hình ảnh .7 Danh mục bảng Mở đầu Chương - BÀI TỐN LỘ TRÌNH VẬN TẢI (VRP) 11 1.1 Những đặc trưng toán VRP 11 1.1.1 Mạng lưới đường 12 1.1.2 Các xe vận tải 13 1.1.3 Các khách hàng 13 1.1.4 Những yếu tố khơng xác định tốn VRP 14 1.2 Các dạng toán VRP 15 1.2.1 Bài toán VRP với hạn chế trọng tải xe (CVRP) 16 1.2.2 VRP với hạn chế thời điểm phục vụ (VRPTW) 16 1.2.3 VRP với nhận chuyển hàng kết hợp (VRPPD) 17 1.2.4 VRP với chi phí phụ thuộc thời gian (TDVRP) 18 1.2.5 VRP với yêu cầu đặt hàng chưa biết (DVRP) 19 1.3 Mơ hình tốn học cho toán VRP 19 1.3.1 Mơ hình lưu lượng xe vận tải 20 1.3.2 Cải tiến mơ hình lưu lượng xe vận tải 26 1.4 Các phương pháp heuristic metaheuristic giải toán VRP 29 Trang 1.4.1 Các thuật toán heuristic cho toán VRP 29 1.4.2 Một số thuật toán metaheuristic cho toán VRP 34 1.5 Bài toán VRPTW thuật toán Đa bầy kiến 37 Chương - THUẬT TOÁN BẦY KIẾN 38 2.1 Giới thiệu thuật toán bầy kiến 38 2.1.1 Dạng toán cho thuật toán Bầy kiến 39 2.1.2 Đặc điểm chung kiến 41 2.1.3 Cấu trúc chung họ thuật toán Bầy kiến 43 2.2 Bầy kiến sở 45 2.3 Thuật toán Đa bầy kiến cho toán VRPTW 50 2.3.1 Bầy kiến ACS-VEI ACS-TIME 53 2.3.2 Lộ trình đường cho tốn VRP 57 2.3.3 Chương trình sinh phương án 58 Chương - THỰC NGHIỆM TÍNH TỐN 61 3.1 Phân tích thiết kế chương trình 61 3.1.1 Xác định yêu cầu 61 3.1.2 Thiết kế chức chương trình 63 3.1.3 Các chức chương trình 63 3.1.4 Thiết kế file kết 65 3.2 Cài đặt chương trình 70 3.2.1 Lớp Vertex: lưu liệu khách hàng 71 3.2.2 Lớp Ant: lớp trừu tượng biểu diễn kiến nói chung 72 3.2.3 Lớp AntColony: lớp trừu tượng biểu diễn bầy kiến 74 3.2.4 Lớp AntGraph 77 Trang 3.2.5 Lớp Ant4VRPTW 78 3.2.6 Lớp ACS-TIME ACS-VEI 80 3.2.7 Lớp MACS-VRPTW 82 3.3 Kết thực nghiệm đánh giá 83 3.3.1 Lựa chọn liệu kiểm thử 83 3.3.2 Lựa chọn tham số kiểm thử 85 3.3.3 Lựa chọn điều kiện dừng 87 3.3.4 Kết thực nghiệm 88 Chương - KẾT LUẬN 93 Tài liệu tham khảo .94 Phụ lục: Kết thực nghiệm chi tiết .96 Trang Danh mục thuật ngữ từ viết tắt Thuật ngữ tiếng anh Thuật ngữ Tiếng việt ý nghĩa Exploitation Khai phá đường Exploration Thăm dị đường global updating Cập nhật tồn cục local updating Cập nhật cục pheromone traits Dấu vết đặc trưng local search Tìm kiếm cục Deposit Lưu vết construction graph Đồ thị xây dựng phương án heuristic* Thuật toán cho phép xây dựng phương án tốt toán khoảng thời gian ngắn Phương pháp heuristic thiết kế để áp dụng metaheuristic* cho nhiều toán khác Genetic Algorithms – GA Thuật toán di truyền Tabu Search – TS Thuật tốn tìm kiếm Tabu Ant Colony Optimization – ACO Thuật toán Bầy kiến Simulated Annealing - SA Thuật tốn mơ luyện thép Traveling Salesman Problem – TSP Bài toán Người du lịch Vehicle Routing Problem – VRP Bài tốn lộ trình giao nhận hàng hóa Capacitated VRP – CVRP Bài tốn VRP với ràng buộc trọng tải xe VRP with Pick-up and Delivery – Bài toán VRP với giao nhận hàng kết hợp VRPPD Windows – Bài toán VRP với hạn chế thời điểm phục vụ Time Dependent VRP –TDVRP Bài tốn VRP với chi phí phụ thuộc thời gian Dynamic VRP -DVRP Bài toán VRP với yêu cầu đặt hàng chưa biết VRP with Time VRPTW Trang Stochastic VRP Bài toán VRP với thành phần chưa xác đinh Ant Colony System -ACS Thuật toán bầy kiến cho toán TSP MACS-VRPTW Thuật toán Đa bầy kiến cho toán VRPTW Ghi chú: Những từ đánh dấu * giữ nguyên tiếng Anh ý nghĩa dài khơng thể tìm thấy từ Tiếng việt tương ứng Trang Danh mục hình ảnh Hình 1-1: Minh họa thuật toán trao đổi chéo 32 Hình 1-2: Trường hợp riêng trao đổi chéo 33 Hình 2-1: Cấu trúc chung thuật tốn bầy kiến 45 Hình 2-2: Lựa chọn đường dựa hai tham số ηij τij 47 Hình 2-3: Mơ hình thuật tốn Đa bầy kiến giải tốn VRPTW 51 Hình 2-4: Thuật tốn MACS-VRPTW .52 Hình 2-5: Thuật toán cho ACS-TIME 54 Hình 2-6: Thuật tốn cho ACS-TIME 56 Hình 2-7: Phương án cho tốn VRPTW .57 Hình 2-8: Phương thức xây dựng phương án kiến 59 Hình 3-1: Cấu trúc file đầu vào 61 Hình 3-2: Mơ hình chương trình mơ .62 Hình 3-3: Thiết kế chức chương trình 63 Hình 3-4: Cấu trúc file kết 66 Hình 3-5: Ví dụ file đầu cho kiến 68 Hình 3-6: Cấu trúc file lưu kết cho Bầy kiến .70 Hình 3-7: Cấu trúc lớp Ant .72 Hình 3-8: Lớp AntColony 75 Hình 3-9: Cấu trúc lớp AntGraph .77 Hình 3-10: Cấu trúc lớp Ant4VRPTW .79 Hình 3-11: Cài đặt hai lớp ACS-TIME ACS-VEI .81 Hình 3-12: Cấu trúc lớp MACS-VRPTW 82 Hình 3-13: Đồ thị so sánh kết thực nghiệm với kết tốt biết 89 Hình 3-14: Đồ thị so sánh kết thực nghiệm với tác giả 90 Hình 3-15: Đồ thị so sánh kết với hai thuật toán CR PB 92 Trang Danh mục bảng Bảng 3-1: Các thuộc tính lớp Vertex 71 Bảng 3-2: Các biến tĩnh lớp Ant để lưu phương án tốt 72 Bảng 3-3: Kết thực nghiệm tìm tham số 86 Bảng 3-4: Kết chạy so với phương án tốt biết .88 Bảng 3-5: So sánh kết thực nghiệm tốt với kết tác giả 90 Bảng 3-6: So sánh kết thực nghiệm với hai thuật toán CR PB .91 Bảng 3-7: Kết thực nghiệm chi tiết 96 Trang 92 PB 10 832 3.0 589.9 12.5 1296 8 3.0 1117 12.1 1446 3,3 1360.5 Hình 3-15: Đồ thị so sánh kết với hai thuật tốn CR PB Có thể thấy kết thực nghiệm tương đương với kết hai thuật toán Hai thuật toán xem thuật toán tốt cho tốn VRPTW Từ khẳng định việc cài đặt chương trình đạt kết định Trang 93 Chương - KẾT LUẬN Trong đề tài này, em trình bày thuật toán Đa bầy kiến, thuật toán bầy kiến xây dựng cho toán VRPTW Thuật toán thiết kế để giải đồng thời hai mục tiêu tốn: Tối thiểu hóa số tuyến (số xe vận tải sử dung) tối thiểu hóa chi phí vận chuyển Thuật tốn giới thiệu mơ hình cho tốn tối ưu hóa có nhiều hàm mục tiêu Đó kết hợp nhiều bầy kiến khác nhau, bầy kiến giải hàm mục tiêu riêng Những bầy kiến hoạt động với dấu vết đặc trưng riêng chúng cộng tác với nhờ trao đổi thông tin Đây thuật toán sử dụng nhiều bầy kiến vào việc giải qut tốn tối ưu hóa tổ hợp đa hàm mục tiêu Thuật toán chứng minh thuật toán hiệu việc xây dưng phương án tốt thời gian tính tốn Việc cài đặt thực nghiệm thuật tốn có cho kết khơng trùng khớp với kết công bố tác giả Tuy nhiên, chứng tỏ tính hiệu qua việc so sánh với số thuật toán tốt áp dụng cho tốn VRPTW Và phần chứng minh khả thuật toán Đa bầy kiến Trong thời gian tới em nghiên cứu hoàn thiện thêm thuật toán Đa bầy kiến để khắc phục khơng thống với kết tác giả Ngồi em nghiên cứu xây dựng framework sử dụng thuật toán bầy kiến để giải toán tối ưu hóa khác nhau, toán kinh điển TSP Trang 94 Tài liệu tham khảo [1] P Toth D Vigo The Vehicle Routing Problem, chapter An Overview of Vehicle Routing Problems SIAM, Society for Industrial and Applied Mathematics, Philadelphia, USA, 2000 [2] A.E Rizzoli, F Oliverio, R Montemanni L.M Gambardella Ant Colony Optimisation for vehicle routing problems: from theory to applications, IDSIA Galleria 2, CH-6928 Manno, Switzerland [3] Luca Maria Gambardella, Éric Taillard Giovanni Agazzi Macs-Vrptw: A Multiple Ant Colony System for Vehicle Routing Problems With Time Windows Technical Report IDSIA, Lugano, Switzerland, 1999 [4] Ugo Chirico A Java Framework for Ant Colony Systems, Siemens Informatica S.p.A Via del Maggiolino, 151/163 00155 Rome, Italy http://www.ugochirico.com [5] M Dorigo L M Gambardella Ant Colony System: A cooperative learning approach to the travelling salesman problem IEEE Transactions on Evolutionary Computation, 1(1):53-66, 1997 [6] É D Taillard, P Badeau, M Gendreau, F Guertin, J.-Y Potvin, A Tabu Search Heuristic for the Vehicle Routing Problem with Soft Time Windows, Transportation Science 31, 1997, 170-186 [7] N Kohl, J Desrosiers, O B G Madsen, M M Solomon F Soumis, K- Path Cuts for the Vehicle Routing Problem with Time Windows, Technical Report IMM-REP-1997-12, Technical University of Denmark, 1997 [8] Cay S Horstmann, Gary Cornell, Core Java™ Volume I - Fundamentals, Seventh Edition, Prentice Hall PTR, 2004 Trang 95 [9] Cay S Horstmann, Gary Cornell, Core Java™ 2Volume II - Advanced Features, Seventh Edition, Prentice Hall PTR, 2004 Trang 96 Phụ lục: Kết thực nghiệm chi tiết Kết thực nghiệm với liệu Solomon 100 khách hàng Trong với file thực theo thời gian 300 giây 1000 giây, với thời gian 300 giây, toán chạy lần kết lấy kết tốt Tương ứng với lần chạy hai hàng ghi số xe vận tải tổng khoảng cách tìm Những số in đậm kết đạt trùng với kết tốt biết Bảng 4-1: Kết thực nghiệm chi tiết Kiểu liệu File liệu R101 R102 R103 R104 R1 R105 R106 R107 R108 R109 Số xe Khoảng cách 19 1790.09 19 1677.78 18 1627.56 18 1520.75 14 1365.5 13 1426.89 10 1134.86 10 1097.61 15 1557.54 15 1469.87 13 1452.96 13 1362.99 11 1263.93 11 1255.49 10 1116.84 10 1125.69 12 1321.08 12 1337.21 Trang 97 R110 R111 R112 C101 C102 C103 C104 C1 C105 C106 C107 C108 C109 RC101 RC1 RC102 11 1302.14 11 1217.75 11 1309.14 11 1196.78 10 1135.84 10 1127.19 10 828.94 10 828.94 10 874.93 10 840.34 10 1061.61 10 1185.35 10 987.15 10 998.83 10 828.94 10 828.94 10 828.94 10 828.94 10 828.94 10 828.94 10 836.67 10 833.24 10 835.79 10 990.627 15 1811.18 15 1829.71 13 1603.1 13 1544.44 Trang 98 RC103 RC104 RC105 RC106 RC107 RC108 R201 R202 R203 R204 R2 R205 R206 R207 R208 12 1547.92 12 1461 12 1436.97 11 1199.57 16 1998.29 14 1675.78 13 1620.48 12 1435.83 12 1449.44 12 1386.71 12 1292.7 11 1239.1 1501.79 1551.74 1433.49 1350.9 1266.48 1215.6 1007.71 910.15 1393.06 1255.13 1216.13 1148.97 1009.33 954.88 900.98 816.94 Trang 99 R209 R210 R211 C201 C202 C203 C204 C2 C205 C206 C207 C208 RC201 RC2 RC202 RC203 1309.12 1319.4 1461.32 1378.14 927.58 951.85 591.56 591.56 641.2 796.1 778.07 632.1 709.86 647.87 588.88 588.88 588.49 588.49 588.49 588.49 588.49 588.88 1984.42 1984.42 1602.16 1575.07 1370.49 1474 Trang 100 RC204 RC205 RC206 RC207 RC208 954.42 1042.24 1734.67 1792.31 1384.26 1298.27 1485.41 1277.65 1171.35 1100.41 TÓM TẮT NỘI DUNG LUẬN VĂN TỐT NGHIỆP THẠC SĨ CƠNG NGHỆ THƠNG TIN Tên đề tài: ”THUẬT TỐN BẦY KIẾN GIẢI BÀI TOÁN VRP (VEHICLE ROUTING PROBLEM) VỚI HẠN CHẾ THỜI GIAN” Học viên: Nguyễn Thị Hà Mã số: 003495C79 Thầy hướng dẫn khoa học: PGS.TS.Nguyễn Đức Nghĩa Mục Tiêu Đề tài tập trung nghiên cứu tốn lộ trình vận tải VRP với hạn chế thời gian, thuật toán bầy kiến, cách tiếp cận để giải tốn Từ đó, phát triển thuật tốn đa bầy kiến để giải tốn VRPTW thực nghiệm tính toán đánh giá kết đạt Các vấn đề cần giải Tìm hiểu tốn VRP với hạn chế thời gian Tìm hiểu cách tiếp cận có để giải tốn VRP Tìm hiểu thuật tốn bầy kiến Phát triển thuật toán dựa sơ đồ thuật toán bầy kiến để giải tốn Thực nghiệm tính tốn với thuật toán đề xuất để đánh giá kết đạt Kết Cơ sở lý thuyết về: dạng toán VRP, thuật toán bày kiến, thuật toán đa bầy kiến, cách tiếp cận để giải toán đề xuất Xây dựng phân mềm ứng dụng thuật toán đa bầy kiến cho toán VRP với hạn chế thời gian thực nghiệm liệu đề xuất (Solomon) Cấu trúc luận văn Luận văn gồm chương, 102 trang, 15 hình, bảng Chương 1: Bài tốn lộ trình vận tải Chương 2: Thuật tốn bầy kiến Chương 3: Thực nghiệm tính tốn đánh giá Chương 4: Kết luận Tài liệu tham khảo [1] P Toth D Vigo The Vehicle Routing Problem, chapter An Overview of Vehicle Routing Problems SIAM, Society for Industrial and Applied Mathematics, Philadelphia, USA, 2000 [2] A.E Rizzoli, F Oliverio, R Montemanni L.M Gambardella Ant Colony Optimisation for vehicle routing problems: from theory to applications, IDSIA Galleria 2, CH-6928 Manno, Switzerland [3] Luca Maria Gambardella, Éric Taillard Giovanni Agazzi Macs-Vrptw: A Multiple Ant Colony System for Vehicle Routing Problems With Time Windows Technical Report IDSIA, Lugano, Switzerland, 1999 [4] Ugo Chirico A Java Framework for Ant Colony Systems, Siemens Informatica S.p.A Via del Maggiolino, 151/163 00155 Rome, Italy http://www.ugochirico.com [5] M Dorigo L M Gambardella Ant Colony System: A cooperative learning approach to the travelling salesman problem IEEE Transactions on Evolutionary Computation, 1(1):53-66, 1997 [6] É D Taillard, P Badeau, M Gendreau, F Guertin, J.-Y Potvin, A Tabu Search Heuristic for the Vehicle Routing Problem with Soft Time Windows, Transportation Science 31, 1997, 170-186 [7] N Kohl, J Desrosiers, O B G Madsen, M M Solomon F Soumis, K-Path Cuts for the Vehicle Routing Problem with Time Windows, Technical Report IMM-REP-1997-12, Technical University of Denmark, 1997 [8] Cay S Horstmann, Gary Cornell, Core Java™ Volume I - Fundamentals, Seventh Edition, Prentice Hall PTR, 2004 [9] Cay S Horstmann, Gary Cornell, Core Java™ 2Volume II - Advanced Features, Seventh Edition, Prentice Hall PTR, 2004 SUMMARIZE THE CONTENTS OF MASTER THESIS Thesis: “SOVLING VEHICLE ROUTING PROBLEM WITH TIME WINDOWS (VRPTW) WITH ANT COLONY ALGORITHMS” STUDENT: Nguyễn Thị Hà Code: 003495C79 Professor of science instruction: Assistant Professor D.r Nguyễn Đức Nghĩa PURPOSE: This Thesis reseach Vehicle Routing Problem With Time Windows, Ant Colony Algorithms and approaches to solve problems Then, develop Multible Ant Colony Algorithms to solove VRPTW, Experimental calculations and assessment the result SOLUTION AND IMPLEMENTATION Reseach Vehicle Routing Problem Width Time Windows Reseach approaches to solve VRP Reseach Ant Colony Algorithms Develope the algorithms Developed algorithms based on detailed map algorithm to solve the problem Empirical calculations with the algorithm proposed to evaluate the results achieved Testing RESULT Basis theory: the types of VRP, Ant Colony algorithms, approaches to solve the problems was proposed Success building applications using Ant colony algorithms for VRPTW and experimental data on the proposed (Solomon) STRUCTURE Thesis includes four chapters, 102 pages, 15 pictures, tables Chapter 1: The Vehicle Routing Problem (VRP) Chapter 2: The Ant Colony Algorithms Chap ter 3: Experimental calculations and Testing Chapter 4: Conclusion REFERENCES: [1] P Toth D Vigo The Vehicle Routing Problem, chapter An Overview of Vehicle Routing Problems SIAM, Society for Industrial and Applied Mathematics, Philadelphia, USA, 2000 [2] A.E Rizzoli, F Oliverio, R Montemanni L.M Gambardella Ant Colony Optimisation for vehicle routing problems: from theory to applications, IDSIA Galleria 2, CH-6928 Manno, Switzerland [3] Luca Maria Gambardella, Éric Taillard Giovanni Agazzi MacsVrptw: A Multiple Ant Colony System for Vehicle Routing Problems With Time Windows Technical Report IDSIA, Lugano, Switzerland, 1999 [4] Ugo Chirico A Java Framework for Ant Colony Systems, Siemens Informatica S.p.A Via del Maggiolino, 151/163 00155 Rome, Italy http://www.ugochirico.com [5] M Dorigo L M Gambardella Ant Colony System: A cooperative learning approach to the travelling salesman problem IEEE Transactions on Evolutionary Computation, 1(1):53-66, 1997 [6] É D Taillard, P Badeau, M Gendreau, F Guertin, J.-Y Potvin, A Tabu Search Heuristic for the Vehicle Routing Problem with Soft Time Windows, Transportation Science 31, 1997, 170-186 [7] N Kohl, J Desrosiers, O B G Madsen, M M Solomon F Soumis, K-Path Cuts for the Vehicle Routing Problem with Time Windows, Technical Report IMM-REP-1997-12, Technical University of Denmark, 1997 [8] Cay S Horstmann, Gary Cornell, Core Java™ Volume I - Fundamentals, Seventh Edition, Prentice Hall PTR, 2004 [9] Cay S Horstmann, Gary Cornell, Core Java™ 2Volume II - Advanced Features, Seventh Edition, Prentice Hall PTR, 2004 ... Bài toán VRP với hạn chế thời điểm phục vụ Time Dependent VRP –TDVRP Bài toán VRP với chi phí phụ thuộc thời gian Dynamic VRP -DVRP Bài toán VRP với yêu cầu đặt hàng chưa biết VRP with Time VRPTW... về: dạng toán VRP, thuật toán bày kiến, thuật toán đa bầy kiến, cách tiếp cận để giải toán đề xuất Xây dựng phân mềm ứng dụng thuật toán đa bầy kiến cho toán VRP với hạn chế thời gian thực... thời gian ngắn, với thực nghiệm chứng minh trường hợp cho toán TSP, VRP Mục đích ( kết cần đạt được) Hiểu toán VRP với hạn chế thời gian, thuật toán bầy kiến cách tiếp cận có để giải toán VRP