Phát triển thuật toán giải bài toán tối ưu hóa trong điều hành vận tải chở hành khách và hàng hóa chia sẻ lộ trình Phát triển thuật toán giải bài toán tối ưu hóa trong điều hành vận tải chở hành khách và hàng hóa chia sẻ lộ trình luận văn tốt nghiệp thạc sĩ
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Thân Thị Lệ Quyên PHÁT TRIỂN THUẬT TOÁN GIẢI BÀI TOÁN TỐI ƯU HOÁ TRONG ĐIỀU HÀNH VẬN TẢI CHỞ HÀNH KHÁCH VÀ HÀNG HOÁ CHIA SẺ LỘ TRÌNH Chun ngành: Cơng nghệ thơng tin LUẬN VĂN THẠC SĨ KHOA HỌC CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC TS Phạm Quang Dũng Hà Nội – Năm 2017 CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc BẢN XÁC NHẬN CHỈNH SỬA LUẬN VĂN THẠC SĨ Họ tên tác giả luận văn: Thân Thị Lệ Quyên Đề tài luận văn: Phát triển thuật toán giải toán tối ưu hoá điều hành vận tải chở hành khách hàng hố chia sẻ lộ trình Chun ngành: Cơng nghệ thông tin Mã số SV: CB150297 Tác giả, Người hướng dẫn khoa học Hội đồng chấm luận văn xác nhận tác giả sửa chữa, bổ sung luận văn theo biên họp Hội đồng ngày 28/10/2017 với nội dung sau: A Về trình bày Phần Hàm mục tiêu f1 f2 bổ sung " > max" " > min" Hình 1.18 sửa E2 thành E1 B Về nội dung Bổ sung thêm tính tốn độ phức tạp thuật tốn Bổ sung thêm ưu điểm, nhược điểm thuật toán Giáo viên hướng dẫn Hà Nội, ngày 10 tháng 11 năm 2017 Tác giả luận văn CHỦ TỊCH HỘI ĐỒNG LỜI MỞ ĐẦU Trong thực tế có nhiều loại mơ hình vận tải Việc vận chuyển hàng hóa từ kho đến cửa hàng Hệ thống chuyển hàng hóa theo yêu cầu Hệ thống chở người vận chuyển hàng hóa theo tuyến cố định, hệ thống taxi, hệ thống xe bt mơ hình phục vụ phần lớn nhu cầu lại vận chuyển hàng hóa Tuy nhiên mơ hình vận tải truyền thống đặc biệt khu vực thành thị, hoạt động chở người hoạt động vận chuyển hàng hóa xử lý riêng biệt Việc thiếu thơng tin thời gian thực phức tạp lập kế hoạch tăng kết hợp lý Có nghiên cứu lợi ích có cách kết hợp việc vận chuyển hàng hóa chở người Việc kết hợp phù hợp với xu hướng phát triển kinh tế chia sẻ Kết hợp chở người vận chuyển hàng hóa tạo hội kinh doanh hấp dẫn nhu cầu vận chuyển tương tự đáp ứng với xe chi phí thấp Với chi phí thấp kéo theo giá thành việc chở người vận chuyển hàng hóa chi phí giảm theo, ngồi cịn giảm nguy tắc nghẽn giao thông, gây nhiều hệ lụy ô nhiễm môi trường… Trong luận văn này, chúng tơi khảo sát tốn lập lộ trình vận tải kết hợp chở người hàng hóa Trong cần tính tốn lộ trình cho đội xe Taxi phục vụ yêu cầu vận chuyển, yêu cầu bao gồm thông tin điểm đón, điểm trả, khung thời gian Sau đề xuất cài đặt thử nghiệm thuật toán tham lam xây dựng lời giải Các thuật toán cài đặt, thử nghiệm đánh giá liệu trích xuất từ liệu vận hành Taxi San Francisco Luận văn chia thành chương không kể phần mở đầu kết luận: Chương trình bày sở lý thuyết toán tối ưu tổ hợp, toán tối ưu lộ trình vận tải, hướng tiếp cận thư viện Chương trình bày thuật tốn tham lam chiến lược thuật toán Chương trình bày kết thử nghiệm đánh giá liệu tốc độ khác Trang MỤC LỤC Trang LỜI MỞ ĐẦU LỜI CẢM ƠN DANH MỤC CÁC CHỮ VIẾT TẮT DANH MỤC CÁC BẢNG DANH MỤC CÁC HÌNH VẼ DANH MỤC CÁC GIẢ MÃ CHƯƠNG CƠ SỞ LÝ THUYẾT 1.1 Bài toán tối ưu tổ hợp 1.2 Các hướng tiếp cận giải toán tối ưu tổ hợp .10 1.3 Các toán tối ưu điều hành vận tải 11 1.4 Thư viện CBLSVR 13 1.5 Bài toán điều hành vận tải chở người hàng hoá chia sẻ tuyến đường 24 CHƯƠNG CÀI ĐẶT THUẬT TOÁN GIẢI BÀI TOÁN ĐIỀU HÀNH VẬN TẢI CHỞ NGƯỜI VÀ HÀNG HOÁ .32 2.1 Chiến lược tham lam (Greedy1) 32 2.2 Chiến lược tham lam (Greedy2) 33 2.3 Chiến lược tham lam (Greedy3) 35 2.4 Chiến lược tham lam (Greedy4) 36 2.5 Chiến lược tham lam (Greedy5) 37 2.6 Chiến lược tham lam (Greedy6) 38 2.7 Chiến lược tham lam (Greedy7) 39 CHƯƠNG THỬ NGHIỆM VÀ ĐÁNH GIÁ 41 3.1 Dữ liệu .41 3.2 Kết thử nghiệm đánh giá .41 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .50 TÀI LIỆU THAM KHẢO 51 Trang LỜI CAM ĐOAN Tôi xin cam đoan số liệu kết nghiên cứu luận văn trung thực không chép từ đồ án, luận văn khác Mọi thơng tin trích dẫn luận văn rõ nguồn gốc rõ ràng phép công bố Nếu không nêu xin hoàn toàn chịu trách nhiệm đề tài Hà Nội, Ngày Tháng Năm 2017 Học viên thực Thân Thị Lệ Quyên Trang LỜI CẢM ƠN Em xin gửi lời cảm ơn chân thành tri ân sâu sắc thầy cô trường Đại học Bách Khoa Hà Nội, đặc biệt thầy cô viện Công Nghệ Thông Tin truyền thông trường tạo điều kiện cho em học tập nghiên cứu chuyên ngành công nghệ thông tin Và em xin chân thành cảm ơn thầy TS Phạm Quang Dũng thành viên nhóm nghiên cứu nhiệt tình hướng dẫn, giúp đỡ em hồn thành khóa luận tốt nghiệp Với điều kiện thời gian kinh nghiệm hạn chế học viên, luận văn tránh thiếu sót Em mong nhận bảo, đóng góp ý kiến thầy để em có điều kiện bổ sung, nâng cao ý thức mình, phục vụ tốt cơng việc thực tế Em xin chân thành cảm ơn! Trang DANH MỤC CÁC CHỮ VIẾT TẮT Tên đầy đủ Chữ viết tắt VRP CVRP VRPTW CBLS CBLSVR Ý nghĩa Vehicle Routing Problem Bài toán vận tải Capacitated Vehicle Routing Bài toán vận tải có ràng buộc Problem sức chứa Vehicle Routing Problem with Bài tốn vận tải có ràng buộc Time Window khung thời gian Constraint Based Local Search Tìm kiếm cục dựa ràng buộc Constraint Based Local Search Tìm kiếm cục dựa Vehicle Routing ràng buộc tốn vận tải Tìm kiếm tập láng VNS Variable Neighborhood Search ILP Integer Linear Program Quy hoạch nguyên tuyến tính VRPPD VRP Pickup and Delivery Bài toán vận chuyển hàng Trang giềng khác DANH MỤC CÁC BẢNG Bảng 1.1: Nhóm hàm khởi tạo lời giải 21 Bảng 1.2: Nhóm hàm truy vấn trạng thái lời giải 21 Bảng 1.3: Một số hàm ràng buộc thiết kế thư viện CBLSVR23 Bảng 1.4: Các ký hiệu hình vẽ 26 Bảng 3.1: Mô tả liệu 41 Bảng 3.2: Kết thử nghiệm với liệu n1000r100_1 43 Bảng 3.3: Kết thử nghiệm với liệu n1000r200_1 44 Bảng 3.4: Kết thử nghiệm với liệu n2000r100_1 45 Bảng 3.5: Kết thử nghiệm với liệu n2000r200_1 47 Bảng 3.6: Kết thuật toán tham lam thứ với trường hợp ngẫu nhiên 48 Bảng 3.7: So sánh thuật toán greedy2 với liệu n2000r100_1 48 Trang DANH MỤC CÁC HÌNH VẼ Hình 1.1: Ví dụ tuyến đường khác 14 Hình 1.2: Minh họa thuật tốn performTwoOptMove1(2,6) 14 Hình 1.3: Minh họa thuật tốn performTwoOptMove1(2,6) 14 Hình 1.4: Minh họa thuật toán performTwoOptMove3(2,6) 15 Hình 1.5: Minh họa thuật tốn performTwoOptMove4(2,6) 15 Hình 1.6: Ví dụ tuyến đường khác router[1], router[2] .16 Hình 1.7: Minh họa thuật toán performTwoOptMove5(2,6) 16 Hình 1.8: Minh họa thuật tốn performTwoOptMove6(2,6) 16 Hình 1.9: Minh họa thuật tốn performTwoOptMove7(2,6) 17 Hình 1.10: Minh họa thuật tốn performTwoOptMove8(2,6) 17 Hình 1.11: Ví dụ tuyến đường với điểm .18 Hình 1.12: Minh họa thuật tốn performOrOptMove1(2,4,6) 18 Hình 1.13: Minh họa thuật tốn performOrOptMove2(2,4,6) 18 Hình 1.14: Ví dụ tuyến đường với điểm 19 Hình 1.15: Minh họa thuật tốn performThreeOptMove1(2,4,6) .19 Hình 1.16: Ví dụ tuyến đường router[1] router [2] với điểm khác 20 Hình 1.17: Minh họa giải thuật performCrossExchangeMove(2,4,7,9) 20 Hình 1.18: Minh họa lộ trình vận tải cho xe 27 DANH MỤC CÁC GIẢ MÃ Giả mã 2.1: Thuật toán tham lam thứ 33 Giả mã 2.2: Thuật toán tham lam thứ 34 Giả mã 2.3: Thuật toán tham lam thứ 35 Giả mã 2.4: Thuật toán tham lam thứ 36 Giả mã 2.5: Thuật toán tham lam thứ 37 Giả mã 2.6: Thuật toán tham lam thứ 38 Giả mã 2.7: Thuật toán tham lam thứ 40 Trang CHƯƠNG CƠ SỞ LÝ THUYẾT 1.1 Bài toán tối ưu tổ hợp Bài tốn tối ưu tổ hợp tốn khơng quan tâm đến việc xây dựng tất cấu toán liệt kê mà nhằm xây dựng cấu hình “tốt” theo mục tiêu Bài tốn thường xuất nhiều lĩnh vực đời sống xã hội đặc biệt hoạt động quản lý, lập kế hoạch, điều hành tổ chức, doanh nghiệp Như toán lập tuyến tối ưu lĩnh vực giao thông vận tải [18] [16], tốn đóng gói hàng hóa [26], toán xếp hàng dây chuyền sản xuất [8], tốn xếp thời khóa biểu quản lý đào tạo [25]… Mục tiêu toán cần tìm lời giải thỏa mãn tập ràng buộc đặt ra, đồng thời tối ưu nhiều hàm mục tiêu Một tốn tối ưu tổ hợp [31] (X,D,C,f) đó: X ={X1,…,Xn} tập biến, D ={D1,…,Dn} Di tập rời rạc thể miền giá trị Xi C ={C1,…,Ck} tập ràng buộc định nghĩa biến, f hàm mục tiêu cần tối ưu Trong nhiều toán, yêu cầu đặt tìm lời giải thỏa mãn ràng buộc, hàm mục tiêu f khơng quan tâm Bài tốn tối ưu tổ hợp có nhiều ứng dụng thực tế, thu hút đầu tư nghiên cứu nhằm giải vấn đề điều hành, sản xuất để tăng sản lượng lao động, tiết kiệm chi phí nguyên liệu thời gian Ví dụ tốn N-Queen u cầu xếp n hậu lên bàn cờ vua kích thước nxn cho khơng có hai hậu khống chế Khả khống chế hậu bao gồm: Khống chế ô hàng cột Khống chế ô thuộc đường chéo Bài toán N-Queen thuộc vào lớp toán tối ưu tổ hợp, mơ tả mơ hình toán học: Tập n biến định X = {X1,X2,…,Xn}: Biến Xi biểu thị hàng cho hậu đứng cột i Miền giá trị D = {D1,D2,…,Dn} Di= {1…n} Mỗi biến Xi có miền từ đến n Trang 2.7 Chiến lược tham lam (Greedy7) Ý tưởng thuật toán tham lam thứ sau: với yêu cầu vận chuyển người hàng hóa, trước hết tìm điểm tuyến đường xe phân công để chèn yêu cầu cho tất ràng buộc thỏa mãn tổng qng đường di chuyển ngắn Nếu khơng tìm điểm điều xe Thuật tốn mơ tả Giả mã 2.7 Ký kiệu L tập xe phân công phục vụ vận chuyển Ký hiệu L’ tập xe chưa phân công For i = to n Tìm điểm x tuyến đường xe L cho chèn pi vào sau x di vào sau pi tất ràng buộc thoả mãn tổng quãng đường taxi nhỏ If(x== null) Chọn xe k L’ để phục vụ yêu cầu (pi, di) thoả mãn ràng buộc tốn If(tìm thấy k) Chèn pi vào sau sk di vào sau pi L = L{k} L’ = L’\{k} Else Từ chối phục vụ yêu cầu i EndIf Else Chèn pi vào sau x di vào sau pi EndIf EndFor For i = n+1 to n+m Tìm cặp điểm y1 y2 tuyến đường xe L cho chèn pi vào sau y1và di vào sau y2 tất ràng buộc toán thoả mãn tổng khoảng quãng đường taxi nhỏ Trang 39 If(y1== null) Chọn xe k L’ để phục vụ yêu cầu (pi, di) thoả mãn ràng buộc tốn If(tìm thấy k) Chèn pi vào sau sk divào sau pi L = L{k} L’ = L’ \{k} Else Từ chối phục vụ yêu cầu i EndIf Else Chèn pi vào sau y1 di vào sau y2 EndIf EndFor Giả mã 2.7: Thuật toán tham lam thứ Độ phức tạp thuật toán Thuật toán Greedy 1, 2, 3, 4, 5, cần duyệt qua tất n+m request, với request hàng, cần vịng lặp lồng để tìm điểm y1, y2 để chèn request hàng, tình tồi nhất, độ phức tạp O(N3) N = n+m tổng số request Trong thuật toán Greedy 6, request bổ sung vào cuối tuyến đường ngắn nhất, tình tồi nhất, độ phức tạp O(NxK) N = n+m tổng số request K số xe Các thuật toán cài đặt dựa thư viện phần mềm nguồn mở CBLSVR [2] Trang 40 CHƯƠNG THỬ NGHIỆM VÀ ĐÁNH GIÁ 3.1 Dữ liệu Chúng tơi tiến hành thử nghiệm thuật tốn đề xuất liệu trích xuất từ liệu Taxi San Francisco Dữ liệu sinh sau: Mạng lưới đường San Francisco sử dụng với 131245 điểm Khoảng cách điểm xấp xỉ theo khoảng cách Manhattan - Điểm đón điểm trả trích xuất từ liệu lịch sử xe taxis - Một nửa số yêu cầu chở khách chọn ngẫu nhiên chuyển đổi thành yêu cầu chở hàng với khung thời gian rộng - Từ liệu thời gian đến điểm đón taxis, thời gian trung tâm nhận gọi coi trước 10 phút, thời gian muộn để taxi đến điểm đón sau 15 phút Thời gian muộn taxi phải đến điểm trả tính từ thời điểm nhận gọi cộng với thời gian cung đường ngắn từ điểm đón đến điểm trả thêm 30 phút Ví dụ: timeCall = t_pick - 10 phút late_pick = t_pick + 15 phút late_delivery = t_pick + t(pick, delivery) + 30 phút liệu sinh mô tả bảng 3.1: Bộ liệu Số yêu cầu Số yêu cầu chở Số yêu cầu người chở hàng Số xe n1000r100_1 1000 500 500 100 n1000r200_1 1000 500 500 200 n2000r100_1 2000 1000 1000 100 n2000r200_1 2000 1000 1000 200 Bảng 3.1: Mô tả liệu 3.2 Kết thử nghiệm đánh giá Môi trường thử nghiệm chúng tơi sử dụng máy tính Intel Core i5, 1.7 Ghz có nhớ 4GB, chạy hệ điều hành Window 32 bit.Theo mơ hình tốn trình bày phần 1.5 (Bài tốn điều hành vận tải chở người hàng hoá chia sẻ tuyến đường) chúng tơi thử nghiệm với thuật tốn từ greedy1 đến Trang 41 greedy7 với liệu tốc độ khác Kết thử nghiệm trình bày bảng 3.2, 3.3, 3.4, 3.5 Tốc độ 30km/h 40km/h 50km/h 60km/h Quãng Số req người Số req hàng Thời gian đường bị từ chối bị từ chối 508792.32 14/500 0/500 789502 69 greedy1 808330.20 14/500 0/500 11107 68 greedy2 799757.76 190/500 0/500 257 100 greedy3 799223.76 210/500 0/500 145 100 greedy4 794896.32 151/500 0/500 383 100 greedy5 996861.84 173/500 0/500 31 100 greedy6 519746.64 15/500 0/500 606744 70 greedy7 415775.97 0/500 0/500 770481 61 greedy1 644283.45 0/500 0/500 11135 63 greedy2 675831.33 110/500 0/500 381 100 greedy3 658078.02 163/500 0/500 158 100 greedy4 641390.67 119/500 0/500 363 100 greedy5 824389.02 110/500 0/500 47 100 greedy6 414690.75 4/500 0/500 760092 61 greedy7 328222.8 0/500 0/500 1037027 56 greedy1 507955.18 0/500 0/500 11084 56 greedy2 579056.26 66/500 0/500 363 100 greedy3 567363.67 98/500 0/500 236 100 greedy4 548629.13 84/500 0/500 457 100 greedy5 671184.65 89/500 0/500 48 100 greedy6 334979.86 1/500 0/500 995897 55 greedy7 271402.8 0/500 0/500 853866 52 greedy1 427010.58 0/500 0/500 11024 53 greedy2 489573.42 39/500 0/500 374 100 greedy3 488744.76 63/500 0/500 218 100 greedy4 461867.22 81/500 0/500 530 100 greedy5 Trang 42 thực hiện(ms) số xe sử Thuật dụng toán 60km/h 70km/h 588779.04 39/500 0/500 47 100 greedy6 278738.28 1/500 0/500 972382 52 greedy7 232598.57 0/500 0/500 1058796 50 greedy1 365485.17 0/500 0/500 11134 50 greedy2 434777.3 22/500 0/500 358 100 greedy3 440430.02 12/500 0/500 250 100 greedy4 414602.23 55/500 0/500 421 100 greedy5 518358.44 29/500 0/500 47 100 greedy6 241856.49 0/500 0/500 933508 50 greedy7 Bảng 3.2: Kết thử nghiệm với liệu n1000r100_1 Tốc độ 30km/h 40km/h 50km/h Số req Số req Thời gian người bị từ hàng bị từ thực chối chối hiện(ms) 456252.24 13/500 0/500 534154 69 greedy1 801390 13/500 0/500 15765 67 greedy2 1226840.04 91/500 0/500 188 200 greedy3 1270673.04 60/500 0/500 94 200 greedy4 1179381.84 102/500 0/500 187 196 greedy5 1364378.64 91/500 0/500 47 200 greedy6 519746.64 15/500 0/500 614503 70 greedy7 379186.38 0/500 0/500 712450 63 greedy1 644283.45 0/500 0/500 16450 63 greedy2 943917.3 48/500 0/500 158 200 greedy3 990557.64 10/500 0/500 94 200 greedy4 930062.52 87/500 0/500 156 196 greedy5 1060808.76 48/500 0/500 47 200 greedy6 414690.75 4/500 0/500 759364 61 greedy7 300175.99 0/500 0/500 372941 61 greedy1 507955.18 0/500 0/500 16381 56 greedy2 Quãng đường Trang 43 số xe sử Thuật dụng toán 50km/h 60km/h 70km/h 776011.25 35/500 0/500 203 200 greedy3 807556.46 1/500 0/500 78 200 greedy4 739865.95 66/500 0/500 140 198 greedy5 875391.7 35/500 0/500 46 200 greedy6 334979.86 1/500 0/500 1015182 55 greedy7 257259.84 0/500 0/500 460845 57 greedy1 427010.58 0/500 0/500 16427 53 greedy2 645930.18 35/500 0/500 234 200 greedy3 672465.72 1/500 0/500 125 200 greedy4 639174.9 37/500 0/500 156 196 greedy5 726187.44 38/500 0/500 31 200 greedy6 278738.28 1/500 0/500 1008484 52 greedy7 222530.4 0/500 0/500 881356 55 greedy1 365485.17 0/500 0/500 15182 50 greedy2 552226.37 41/500 0/500 156 200 greedy3 578482.767 1/500 0/500 93 200 greedy4 545256.31 35/500 0/500 156 198 greedy5 627281.85 41/500 0/500 31 200 greedy6 241856.49 1/500 0/500 958060 50 greedy7 Bảng 3.3: Kết thử nghiệm với liệu n1000r200_1 Tốc độ 30km/h Số req Số req Thời gian người bị từ hàng bị từ thực chối chối hiện(ms) 957915.84 15/1000 0/1000 6846748 47 greedy1 1787070.72 15/1000 0/1000 185464 57 greedy2 1630410.24 141/1000 0/1000 7335 100 greedy3 1643960.88 131/1000 0/1000 3620 100 greedy4 1521994.44 167/1000 0/1000 7480 100 greedy5 2126198.04 141/1000 3/1000 329 100 greedy6 Quãng đường Trang 44 số xe sử Thuật dụng toán 30km/h 40km/h 50km/h 60km/h 70km/h 959032.68 18/1000 0/1000 6757849 47 greedy7 769687.11 1/1000 0/1000 7356830 45 greedy1 1382070.87 1/1000 0/1000 102806 49 greedy2 1287326.43 73/1000 0/1000 11791 100 greedy3 1328711.31 36/1000 0/1000 4497 100 greedy4 1245996.9 120/1000 0/1000 10856 100 greedy5 1698982.92 77/1000 0/1000 321 100 greedy6 765386.55 3/1000 0/1000 7779016 42 greedy7 624938.69 0/1000 0/1000 9890938 38 greedy1 1107607.54 0/1000 0/1000 85767 44 greedy2 1049185.37 26/1000 0/1000 9406 100 greedy3 1071183.24 3/1000 0/1000 4786 100 greedy4 999165.67 86/1000 0/1000 15334 100 greedy5 1410870.82 26/1000 0/1000 367 100 greedy6 618634.08 1/1000 0/1000 8136691 37 greedy7 537166.14 0/1000 0/1000 9815488 38 greedy1 931488.06 0/1000 0/1000 109531 41 greedy2 885527.28 36/1000 0/1000 7847 100 greedy3 892078.08 1/1000 0/1000 4010 100 greedy4 862324.74 67/1000 0/1000 7582 100 greedy5 1151672.28 36/1000 0/1000 250 100 greedy6 528618.3 1/1000 0/1000 1.02E+07 35 greedy7 457712.07 0/1000 0/1000 1.15E+07 35 greedy1 798215.55 0/1000 0/1000 78285 40 greedy2 768684.75 5/1000 0/1000 7750 100 greedy3 763759.13 0/1000 0/1000 4187 100 greedy4 749026.69 45/1000 0/1000 8885 100 greedy5 1026996.99 9/1000 0/1000 345 100 greedy6 468154.75 0/1000 0/1000 6669559 33 greedy7 Bảng 3.4: Kết thử nghiệm với liệu n2000r100_1 Trang 45 Tốc độ 30km/h 40km/h 50km/h 60km/h Số req Số req Thời gian người bị từ hàng bị từ thực chối chối hiện(ms) 1343.88 0/1000 0/1000 9304277 37 greedy1 2742.60 0/1000 0/1000 87267 24 greedy2 3099.24 10/1000 0/1000 2341 200 greedy3 3076.08 0/1000 0/1000 593 200 greedy4 3142.56 0/1000 0/1000 1202 200 greedy5 4003.80 0/1000 0/1000 126 200 greedy6 1536.60 0/1000 0/1000 1.50E+07 20 greedy7 998.37 9/1000 0/1000 7921842 39 greedy1 2071.26 0/1000 0/1000 84567 24 greedy2 2374.11 9/1000 0/1000 1889 200 greedy3 2306.61 0/1000 0/1000 593 200 greedy4 2351.07 2/1000 0/1000 1218 200 greedy5 2969.64 0/1000 0/1000 126 200 greedy6 1164.60 0/1000 0/1000 1.52E+07 20 greedy7 794.09 0/1000 0/1000 1.50E+07 37 greedy1 1645.20 0/1000 0/1000 83645 24 greedy2 1876.18 11/1000 0/1000 1826 200 greedy3 1845.00 0/1000 0/1000 563 200 greedy4 1854.79 1/1000 0/1000 1249 200 greedy5 2386.01 0/1000 0/1000 126 200 greedy6 920.88 0/1000 0/1000 1.73E+07 20 greedy7 662.28 0/1000 0/1000 7952957 43 greedy1 1382.52 0/1000 0/1000 83307 24 greedy2 1549.62 10/1000 0/1000 2247 200 greedy3 1537.50 0/1000 0/1000 1483 200 greedy4 1556.46 2/1000 0/1000 1312 200 greedy5 2001.90 0/1000 0/1000 110 200 greedy6 Quãng đường Trang 46 số xe sử Thuật dụng toán 60km/h 70km/h 781.86 0/1000 0/1000 1.59E+07 20 greedy7 565.05 0/1000 0/1000 8.22E+06 39 greedy1 1189.44 0/1000 0/1000 84591 24 greedy2 1334.06 13/1000 0/1000 2064 200 greedy3 1317.70 0/1000 0/1000 580 200 greedy4 1350.77 1/1000 0/1000 1251 200 greedy5 1692.51 2/1000 0/1000 110 20 greedy6 675.72 0/1000 0/1000 1.52E+07 20 greedy7 Bảng 3.5: Kết thử nghiệm với liệu n2000r200_1 Riêng thuật toán tham lam thứ thuật tốn lựa chọn có tính ngẫu nhiên nên chúng tơi chạy chương trình thêm với thời điểm khác kết thu bảng 3.6 Tốc độ 30km/h 40km/h 50km/h 60km/h Lượt Quãng Số req người Số req hàng Thời gian số xe sử chạy đường bị từ chối bị từ chối thực hiện(ms) dụng 821646.36 150/500 0/500 430 100 830138.04 139/500 0/500 480 100 820006.08 142/500 0/500 470 100 825612.60 142/500 0/500 440 100 671369.76 115/500 0/500 451 100 644020.47 118/500 0/500 470 99 643353.92 121/500 0/500 440 100 671653.35 97/500 0/500 491 100 550898.35 94/500 0/500 400 100 548713.94 101/500 0/500 460 100 542309.97 89/500 0/500 411 100 546742.15 99/500 0/500 421 100 463725.35 79/500 0/500 401 100 465296.52 78/500 0/500 461 100 463505.81 71/500 0/500 430 100 465891.47 81/500 0/500 431 100 Trang 47 70km/h 403503.94 76/500 0/500 471 100 403086.49 65/500 0/500 451 100 403134.37 73/500 0/500 440 100 410039.58 84/500 0/500 490 100 Bảng 3.6: Kết thuật toán tham lam thứ với trường hợp ngẫu nhiên Kết thử nghiệm cho thấy hầu hết trường hợp thuật toán tham lam thứ mang lại lời giải tốt quãng đường, số xe, số yêu cầu thực Tuy nhiên thời gian để chạy thuật toán tham lam lâu Vì thuật tốn tham lam thuật toán mà với yêu cầu điều so sánh với tất điểm xe So sánh kết bảng 3.2, 3.3, 3.4, 3.5 với loại tốc độ khác (từ 30km/h đến 70km/h) thấy tốc độ xe tăng dần số yêu cầu bị từ chối, số xe sử dụng giảm ví dụ trường hợp xét với liệu n2000r100_1, thuật toán tham lam số (greedy2) bảng 3.7 Số req Tốc độ người bị từ Số req hàng bị từ thời gian thực chối hiện(ms) chối Số xe 30km/h 15/1000 0/1000 185464 57 70km/h 0/1000 0/1000 78285 40 Giảm 15/1000 107179 17 Bảng 3.7: So sánh thuật toán greedy2 với liệu n2000r100_1 Khi tốc độ xe tăng lên số yêu cầu bị từ chối giảm giảm số trường hợp vi phạm ràng buộc thời gian Thuật toán tham lam số 3, 4, thuật tốn tham lam có số lượng từ chối lớn hầu hết trường hợp có quãng đường lớn so với thuật toán tham lam 1,2,7 nhiều, ngồi thuật tốn tham lam 3, 4, sử dụng tối đa xe hầu hết trường hợp Thuật toán tham lam số thuật tốn có tính lựa chọn ngẫu nhiên, nhiên với trường hợp khác kết không chênh lệch nhiều kết bảng 3.7 Trang 48 Thuật toán tham lam số thuật toán có kết gần tốt thuật tốn số nhiên thời gian chạy nhanh so với thuật tốn tham lam số khơng phải so sánh tất điểm với yêu cầu Về số lượng xe u cầu thuật tốn số 1, 2, có số xe sử dụng tốn gần tương đương với lệch vài đơn vị Trong tất thuật toán hầu hết số u cầu hàng hóa thực khung thời gian việc vận chuyển hàng hóa lớn nhiều so với khung thời gian đón người Trong thuật toán tham lam với liệu kết đưa thuật tốn tham lam số làm thuật toán đưa kết tốt hầu hết trường hợp Với liệu nhỏ thuật tốn tham lam số thuật tốn có kết tốt Tuy nhiên với liệu lớn thuật toán số đưa kết gần tốt với thời gian nhiều Trang 49 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Trong luận văn này, chúng tơi khảo sát tốn lập lộ trình vận tải kết hợp chở người hàng hóa, cài đặt, thử nghiệm đánh giá thuật toán tham lam khác giải toán đặt Các kết đạt bao gồm: Tìm hiểu tốn tối ưu hóa tổ hợp hướng tiếp cận giải tốn tối ưu tổ hợp Tìm hiểu tốn lập lộ trình vận tải nói chung, tốn lập lộ trình vận tải kết hợp vận chuyển người hàng hóa nói riêng nghiên cứu liên quan Tìm hiểu thư viện CBLSVR dùng để mơ hình hóa giải tốn điều hành vận tải phương pháp tìm kiếm cục dựa ràng buộc Đề xuất thuật toán tham lam xây dựng lời giải cho toán đặt Cài đặt thuật toán đề xuất thử nghiệm liệu trích xuất từ liệu taxi thành phố SanFrancisco Kết thử nghiệm cho thấy thuật toán cho kết tốt khơng gian tìm duyệt lớn Tuy nhiên thời gian chạy chương trình lại lâu Trong thuật tốn số có kết tìm kiếm gần tương đương so với thuật toán thời gian lớn so với thuật toán tham lam Đối với liệu kích thước lớn thuật tốn tỏ hiệu xây dựng lời giải chất lượng tốt thời gian ngắn Về ưu điểm, thuật toán sử dụng để giải toán trường hợp số yêu cầu vận chuyển lớn Về nhược điểm, thuật toán đề xuất luận văn thuật tốn giải xấp xỉ, khơng đảm bảo cho lời giải tối ưu tốn NP-khó Hướng phát triển thực chiến lược tìm kiếm cục để cải thiện lời giải xây dựng từ thuật toán tham lam nêu toán tử láng giềng đề xuất nghiên cứu trước Trang 50 TÀI LIỆU THAM KHẢO [1] D Applegate, W Cook, S Dash, and A Rohe, “Solution of a min-max vehicle routing problem,” INFORMS J on Computing, vol 14, no 2, pp 132–143, Apr 2002 [Online] Available: http://dx.doi.org/10.1287/ijoc.14.2.132.118 [2] D Applegate, W Cook, S Dash, and A Rohe, “Solution of a min-max vehicle routing problem,” INFORMS J on Computing, vol 14, no 2, pp 132–143, Apr 2002 [Online] Available: http://dx.doi.org/10.1287/ijoc.14.2.132.118 [3] R Baldacci, E Hadjiconstantinou, and A Mingozzi, “An exact algorithm for the capacitated vehicle routing problem based on a two-commodity network flow formulation,” Operations Research, vol 52, no 5, pp 723–738, 2004 [Online] Available: http://dx.doi.org/10.1287/opre.1040.0111 [4] M Barkaoui J Berger and O Br_aysy A route-directed hybrid genetic approach for the vehicle routing problem with time windows INFOR, 41:179_194, 2003 [5] A Le Bouthillier and T G Crainic A cooperative parallel meta-heuristic for the vehicle routing problem with time windows Computers Operations Research, 32(7):1685_1798, 2005 [6] George Bernard Dantzig and John Hubert Ramser The Truck Dispatching Problem Management Science 6(1), pp 80-91, 1959 [7] M Desrochers, J Desrosiers, and M Solomon, “A new optimization algorithm for the vehicle routing problem with time windows,” Operations Research, vol 40, no 2, pp 342–354, 1992 [Online] Available: http://dx.doi.org/10.1287/opre.40.2.342 [8] M Dincbas, H Simonis, and P Van Hentenryck Solving the Car Sequencing Problem in Constraint Logic Programming In European Conference on Artificial Intelligence (ECAI-88, 1988) [9] Pham Quang Dung, Le Kim Thu, Nguyen Thanh Hoang, Pham Van Dinh, Bui Quoc Trung A Constraint-Based Local Search for offine and online general vehiclerouting International Journal on Artificial Intelligence Tools, Volume 26, Issue 02, pages 1-32, April 2017 Trang 51 [10] R Fukasawa, H Longo, J Lysgaard, M P d Arag˜ao, M Reis, E Uchoa, and R F Werneck, “Robust branch-and-cut-and-price for the capacitated vehicle routing problem,” Mathematical Programming, vol 106, no 3, pp 491–511, 2006 [Online] Available: http://dx.doi.org/10.1007/s10107-005-0644-x [11] L G P J.-Y Gendreau, M., “Metaheuristics for the capacitated vrp,” in The Vehicle RoutingProblem, V D Toth, P., Ed SIAM Monographs on Discrete Mathematics and Applications, 2002, vol [12] M Gendreau, F Guertin, J.-Y Potvin, and R Sguin, “Neighborhood search heuristics for adynamic vehicle dispatching problem with pick-ups and deliveries,” Transportation ResearchPart C: Emerging Technologies, vol 14, no 3, pp 157 – 174, 2006 [Online] Available: http://www.sciencedirect.com/science/article/pii/S0968090X06000349 [13] F Glover Tabu search, part I ORSA Journal on Computing, 1(3):190_206, 1989 [14] F Glover Tabu search, part II ORSA Journal on Computing, 2(1):4_32, 1990 [15] D E Goldberg Genetic algorithms in search, optimization and machine learning Addison Wesley, Reading, 1989 [16] Bruce Golden, S Raghavan, Edward Wasil The vehicle routing problem: latest advances new challenges Springer, 2008 [17] R S W.-E A Golden, Bruce L., The Vehicle Routing Problem: Latest Advances and NewChallenges, ser 43 The address: Springer, 2008 [18] Chris Groer, Bruce Golden, and Edward Wasil A library of local search heuristics for the vehicle routing problem Math Prog Comp vol 2, pages 79-101, 2010 [19] P Hansen and N Mladenovic Variable neighborhood search: Principles and applications European Journal of Operational Research, 130(3):449_467, 2001 [20] J Homberger and H Gehring A two-phase hybrid metaheuristic for the vehicle routing problem with time windows European Journal of Operational Research, 162(1):220_238, 2005 [21] S Kumar and R Panneerselvam, “A survey on the vehicle routing problem and its variants,”Intelligent Information Management, vol 4, no 3, pp 66–74, 2012 Trang 52 [22] G Laporte, “The vehicle routing problem: An overview of exact and approximate algorithms,” European Journal of Operational Research, vol 59, no 3,pp 345 – 358, 1992 [Online] Available: [23] B Li, D Krushinsky, H A Reijers, T.V Woensel The Share-a-Ride Problem: People and parcels sharing taxis European Journal of Operation Research, Vol 328(1), 31-40 (2014) [24] Y Marinakis, “Multiple phase neighborhood search-grasp for the capacitated vehicle routing problem,” Expert Systems with Applications, vol 39, no 8, pp 6807 – 6815, 2012 [Online] Available: http://www.sciencedirect.com/science/article/pii/S0957417412000176 [25] Michael Marte Models and Algorithms for School Timetabling – A Constraint-Programming Approach PhD thesis, 2002 [26] M D Moffitt and M E Pollack Optimal rectangle packing: A meta-CSP approach In Proceedings of the 16th International Conference on Automated Planning and Scheduling, 2006 [27] Murray, C.C., Chu, A.G.: The flying sidekick traveling salesman problem: Optimization of drone-assisted parcel delivery Transportation Research Part C: Emerging Technologies 54, pp 86–109 (2015) [28] Pascal Van Hentenryck and Laurent Michel Constraint-based Local Search The MIT Press, 2005 [29] Ralphs, T., Guzelsoy, M., Mahajan, A.: The SYMPHONY source code https://projects.coin-or.org/SYMPHONY (2010) [30] T Ralphs, L Kopman, W Pulleyblank, and L Trotter, “On the capacitated vehicle routing problem,” Mathematical Programming, vol 94, no 2, pp 343–359, 2003 [Online] Available: http://dx.doi.org/10.1007/s10107-002-0323-0 [31] F Rossi, P.VanBeek and T.Walsh “Handbook of Constraint Programming”, Elsevier, 2006 Trang 53 ... chúng để giải nhiều toán cổ điển [19] 1.3 Các toán tối ưu điều hành vận tải Bài toán tối ưu điều hành vận tải tốn cần xây dựng lộ trình cho đội xe phục vụ yêu cầu vận chuyển người hàng hóa Có nhiều... giả luận văn: Thân Thị Lệ Quyên Đề tài luận văn: Phát triển thuật toán giải toán tối ưu hoá điều hành vận tải chở hành khách hàng hố chia sẻ lộ trình Chun ngành: Cơng nghệ thơng tin Mã số SV:... Bài toán tối ưu tổ hợp 1.2 Các hướng tiếp cận giải toán tối ưu tổ hợp .10 1.3 Các toán tối ưu điều hành vận tải 11 1.4 Thư viện CBLSVR 13 1.5 Bài toán điều hành