1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bài toán định tuyến

68 104 0

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 68
Dung lượng 629,46 KB

Nội dung

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN LUẬN VĂN THẠC SỸ BÀI TOÁN ĐỊNH TUYẾN Chuyên ngành: Toán ứng dụng Người hướng dẫn khoa học: TS Hoàng Nam Dũng Học viên: Hoàng Thị Thảo HÀ NỘI, 6/2020 Mục lục Danh mục viết tắt iii Danh mục kí hiệu iv Danh sách hình vẽ iv Danh sách bảng v Danh sách thuật toán vi Lời nói đầu viii Lời cảm ơn 1 Giới thiệu toán định tuyến 1.1 Bài toán định tuyến 1.2 Lịch sử ứng dụng 1.3 1.4 Các biến thể toán VRP Mơ hình tốn học cho toán 1.4.1 Bài toán CVRP 1.4.2 Bài toán VRPTW Các thuật toán giải toán định tuyến 2.1 2.2 11 Các thuật tốn xác Các thuật toán heuristics 11 12 2.2.1 Heuristics xây dựng 12 2.2.2 Heuristics cải tiến 14 2.2.3 Đánh giá phương pháp heuristics 18 Xây dựng lời giải cho VRPTW 3.1 Lời giải khởi tạo 20 20 3.2 Giảm số phương tiện sử dụng i 21 MỤC LỤC Bài toán định tuyến 3.2.1 Thuật toán giảm số phương tiện 21 3.2.2 3.2.3 Hàm SQUEEZE Tìm vị trí tốt để chèn xóa khách hàng 23 24 Heuristics cải tiến với kiểm tra ràng buộc nhanh 26 4.1 2-opt 27 4.2 Or-opt lùi 37 Kết tính tốn 5.1 5.2 47 Bộ liệu sử dụng Kết thực nghiệm 47 48 5.2.1 Thuật toán tiết kiệm 48 5.2.2 So sánh tốc độ kiểm tra nhanh 50 5.2.3 Giảm số xe 52 Kết luận 55 Tài liệu tham khảo 55 Hồng Thị Thảo ii Tốn ứng dụng Danh mục viết tắt VRP Vehicle Routing Problem CVRP Capacitated Vehicle Routing Problem VRPTW Vehicle Routing Problem with Time Window BPP Bin Packing Problem LS Local Search PFS Possible Forward Shift TWT Total Waiting Time TTT Total Travel Time LIFO Last In First Out iii Danh mục kí hiệu V tập gồm kho khách hàng, V = {0} ∪ N N tập khách hàng, N = {1, 2, , n} K tập xe, K = {1, 2, , |K|} |K| tổng số xe Q dung lượng xe qi nhu cầu khách hàng i ∈ N [ei , li ] khung thời gian khách hàng i ∈ N , ei thời gian sớm xe bắt đầu dịch vụ i, li thời gian muộn để bắt đầu dịch vụ i tij thời gian lại từ khách hàng i đến khách hàng j cij chi phí lại từ khách hàng i đến khách hàng j thời điểm xe đến khách hàng i si thời điểm xe bắt đầu dịch vụ khách hàng i hi thời gian xử lí dịch vụ khách hàng i ∈ N wi thời gian xe chờ khách hàng i ∈ N iv Danh sách hình vẽ 1.1 Minh họa toán định tuyến 2.1 Thuật toán tiết kiệm 13 2.2 Thuật toán quét 14 2.3 Minh họa lân cận 2-opt 16 2.4 2.5 Minh họa lân cận Or-opt tiến Minh họa lân cận Or-opt lùi 17 17 2.6 Minh họa lân cận 2-opt* 17 2.7 Minh họa lân cận tráo đổi chéo 18 2.8 Minh họa lân cận di dời 18 4.1 Cơ chế duyệt theo thứ tự từ điển 2-opt 27 4.2 Minh họa 2-opt với đoạn đường đảo ngược (j, j − 1, , i + 1) mở rộng cạnh (j − 1, j) 31 Or-opt lùi với đỉnh khách hàng di chuyển 38 4.3 v Danh sách bảng 5.1 Kết thực nghiệm Thuật toán tiết kiệm mẫu liệu R1 R2 5.2 5.3 Kết thực nghiệm Thuật toán tiết kiệm mẫu liệu C1 C2 49 Kết thực nghiệm Thuật toán tiết kiệm mẫu liệu RC1 RC2 49 5.4 Tỉ lệ tăng độ dài quãng đường 0.3% 50 5.5 Tỉ lệ tăng độ dài quãng đường từ 0.3-1% 51 5.6 5.7 Tỉ lệ tăng độ dài quãng đường 1% Kết thực nghiệm mẫu R1 R2 51 52 5.8 Kết thực nghiệm mẫu C1 C2 53 5.9 Kết thực nghiệm mẫu RC1 RC2 53 vi 48 Danh sách thuật tốn Tìm kiếm địa phương 15 DeleteRoute(σ) 22 SQUEEZE(vin , σ) 2-opt với kiểm tra ràng buộc thời gian theo cách thông thường 23 28 2-opt với kiểm tra nhanh ràng buộc thời gian 37 Or-opt lùi với kiểm tra nhanh ràng buộc thời gian 46 vii Lời nói đầu Tối ưu chi phí vấn đề ln quan tâm hoạt động người Làm tốt việc giảm thiểu chi phí mà đảm bảo chất lượng sản phẩm, dịch vụ giúp tiết kiệm tiền bạc mà cịn góp phần khơng nhỏ việc khắc phục khó khăn, hạn chế cho cá nhân, doanh nghiệp Tối ưu chi phí vận chuyển cơng đoạn hoạt động tối ưu nói chung Đi lại, vận chuyển, thu gom hay phân phối hàng hóa hoạt động diễn hàng ngày người, điển hoạt động sử dụng dịch vụ giao thông công cộng cá nhân để tới trường học, công sở, hay xe tải vận chuyển hàng hóa từ nhà phân phối tới cửa hàng người tiêu dùng, dịch vụ xe thư báo, xe thu gom chất thải, xe rửa đường, dịch vụ giao đồ ăn nhanh, Các hoạt động tốn phần chi phí khơng nhỏ Do đó, nhu cầu tất yếu tiết kiệm tối đa chi phí vận chuyển thơng qua việc xác định lịch trình di chuyển tối ưu cho phương tiện vận tải sử dụng, giúp làm giảm chi phí nhiên liệu, thiết bị sử dụng, giảm phí bảo trì phương tiện chi phí nhân cơng Khơng vậy, người cịn tiết kiệm thời gian, cơng sức, giảm thiểu tác động xấu từ hoạt động giao thông tới xã hội môi trường sống, giảm tắc nghẽn giao thông, giảm ô nhiễm môi trường, ô nhiễm tiếng ồn Bởi lợi ích kể trên, việc lập lịch hoạch định tuyến đường cụ thể cho phương tiện trở nên cần thiết, lí chúng tơi chọn Bài tốn định tuyến làm chủ đề nghiên cứu luận văn Các mục tiêu yêu cầu vận chuyển thực tế đa dạng Do đó, tốn định tuyến có nhiều biến thể, nảy sinh từ nhu cầu thực tế Một biến thể có kết hợp khơng gian thời gian Bài tốn định tuyến với khung thời gian, mơ tả tốn tìm đường với chi phí thấp cho phương tiện xuất phát từ kho đến tập hợp khách hàng nằm rải rác mặt địa lý sau trở kho, khách hàng có khung thời gian nhận dịch vụ định Các tuyến đường phải thỏa mãn tổng lượng hàng hóa tuyến không vượt sức chứa phương tiện, khách hàng phục vụ lần, khách hàng có khung thời gian dịch vụ bắt đầu khung thời gian cho phép Trong luận văn, ta tập trung nghiên cứu biến thể Nội dung nghiên cứu luận văn gồm giới thiệu toán định tuyến viii DANH SÁCH THUẬT TỐN Bài tốn định tuyến biến thể, thuật toán giải toán định tuyến, giảm số phương tiện sử dụng, phép kiểm tra nhanh ràng buộc khung thời gian cho lời giải cuối kết thực nghiệm ứng dụng thuật tốn Để rõ ràng, ngồi Lời mở đầu, Kết luận Tài liệu tham khảo, luận văn chia gồm năm chương Chương giới thiệu toán định tuyến Trong chương này, trước hết ta giới thiệu toán định tuyến tổng quát, sau lịch sử ứng dụng tốn Tiếp theo, biến thể phổ biến toán sống nêu Phần cuối chương trình bày mơ hình tốn học hai biến thể phổ biến toán định tuyến với ràng buộc sức chứa toán định tuyến với ràng buộc khung thời gian Chương tìm hiểu thuật tốn giải tốn định tuyến Ta tìm hiểu hai nhánh phương pháp giải toán định tuyến, phương pháp giải xác phương pháp heuristic Cụ thể, ta tóm tắt lớp thuật tốn giải xác, sau tập trung vào trình bày phương pháp heuristic Chương trình bày cụ thể nhiệm vụ việc xây dựng lời giải phương pháp heuristic cho toán định tuyến với ràng buộc khung thời gian Với lời giải khởi tạo tìm heuristic xây dựng, ta trình bày số kĩ thuật nhằm giảm số xe sử dụng, đồng thời cố gắng làm giảm tổng quãng đường Chương tập trung nghiên cứu heuristics cải tiến với kiểm tra ràng buộc nhanh Chương bổ trợ cho Chương Khi cải tiến lời giải, ta thực phép tráo đổi cạnh Hệ thường làm xáo trộn tổng nhu cầu thời điểm đến khách hàng tuyến Do đó, cần kiểm tra lại ràng buộc toán Kiểm tra ràng buộc sức chứa xe tuyến đơn giản, việc thực thời gian O(1), kiểm tra ràng buộc thời gian khơng Một cách đơn giản, ta cần kiểm tra ràng buộc thời gian khách hàng tuyến Với toán gồm n khách hàng, thời gian O(n) để kiểm tra cho lần thực phép tráo đổi Để kiểm tra tất trường hợp phép tráo đổi thời gian O(n3 ), thực tế thường sử dụng phối hợp nhiều tráo đổi Điều không khả thi số khách hàng n lớn Do Chương trình bày chứng minh kết vận dụng vào kiểm tra nhanh ràng buộc thời gian cho toán VRPTW, dựa ý tưởng trình bày cho tốn TSPTW Savelsbergh 1985, 1990 [21, 22] Chương phần kết tính toán Trong chương này, ta giới thiệu liệu thử nghiệm sử dụng luận văn, cụ thể liệu Solomon với 100 khách hàng kho, đồng thời cung cấp kết tính tốn liệu Các kết tính tốn bao gồm thử nghiệm với thuật tốn tiết kiệm (heuristic xây dựng), thuật tốn tìm kiếm địa phương với kiểm tra ràng buộc theo cách thông thường kiểm tra nhanh (heuristic cải tiến), cuối việc kết hợp thuật tốn Hồng Thị Thảo ix Toán ứng dụng 4.2 OR-OPT LÙI Bài toán định tuyến Theo giả thiết, tráo đổi cạnh có lợi, ari+1 < ari+1 , ta suy P ROF IT (i) > Kết hợp với (4.2.4) ta suy P ROF IT (i) > LOSS (j,j+1) − T W T (j,j+1) Xét trường hợp lại, sau chèn i vào vị trí j j + 1, đỉnh d i−1 j+1 đoạn (j + 1, j + 2, , i − 1) r1 thỏa mãn srd1 > srd0 Khi i−2 sri−1 = i−1 j+1 Từ (4.2.2) kết hợp với sri−1 arj+1 = arj+1 + TWT (j,j+1) + wpr1 = Ta có i−1 tk,k+1 + k=j+1 k=j+1 i−2 i−1 hk (4.2.5) hk (4.2.6) wpr1 = 0, ta có + LOSS (j,j+1) + tk,k+1 + k=j+1 k=j+1 Trừ vế với vế hai đẳng thức (4.2.5) (4.2.6), ta sri−1 = sri−1 + LOSS (j,j+1) − T W T (j,j+1) Trên r1 , ta có 1 ari+1 = sri−1 + hi−1 + ti−1,i+1 = sri−1 + LOSS (j,j+1) − T W T (j,j+1) + hi−1 + ti−1,i+1 , hay ari+1 = ari+1 − P ROF IT (i) + LOSS (j,j+1) − T W T (j,j+1) (4.2.7) Theo giả thiết, tráo đổi cạnh có lợi, ari+1 < ari+1 , kết hợp với (4.2.7) ta suy P ROF IT (i) > LOSS (j,j+1) − T W T (j,j+1) Điều kiện đủ Trước tiên ta xét trường hợp sau chèn i vào r0 , đoạn (j + 1, j + 2, , i − 1) r1 có srk1 > ek , với j + ≤ k ≤ i − Khi khơng có thời gian i−1 p=j+1 chờ đoạn (j + 1, j + 2, , i − 1), suy r wpr1 = Hiển nhiên, ai+1 < ari+1 , từ r 0 ari+1 − ai+1 > ari+1 − ari+1 r 0 Từ định nghĩa P ROF IT (i) LOSS (j,j+1) , kết hợp với arj+1 = aj+1 srj = srj , ta có 0 P ROF IT (i) = ari+1 − (sri−1 + hi−1 + ti−1,i+1 ) r 0 = ari+1 − ai+1 , (4.2.8) LOSS (j,j+1) = max{srj + hj + tj,i , ei } + hi + ti,j+1 − arj+1 = max{srj + hj + tj,i , ei } + hi + ti,j+1 − arj+1 r 1 = arj+1 − arj+1 = arj+1 − aj+1 Hồng Thị Thảo 43 (4.2.9) Tốn ứng dụng 4.2 OR-OPT LÙI Bài toán định tuyến i−1 p=j+1 Từ giả thiết điều kiện đủ T W T (j,j+1) = wpr0 = i−1 p=j+1 r wp0 , kết hợp (4.2.8) (4.2.9) ta i−1 ari+1 − r0 ai+1 > arj+1 − r0 aj+1 wpr0 − p=j+1 Trừ hai vế bất đẳng thức cho ari+1 , ta i−1 ari+1 − ari+1 > (arj+1 − r0 aj+1 ) − (ari+1 − r0 ai+1 ) wpr0 − (4.2.10) p=j+1 r r i−1 p=j+1 1 Lại có arj+1 − aj+1 = ari+1 − ai+1 + i−1 r0 ai+1 ari+1 = = r0 aj+1 arj+1 i−2 wpr0 + r wp0 Thật vậy, ta có + i−1 tp,p+1 + ti−1,i+1 + p=j+1 j+1 j+1 i−1 i−2 i−1 wpr1 + p=j+1 + tp,p+1 + ti−1,i+1 + j+1 Trừ vế với vế hai đẳng thức trên, kết hợp với r ari+1 − ai+1 + i−1 p=j+1 hp , hp j+1 i−1 p=j+1 r wpr1 = 0, ta arj+1 −aj+1 = r wp0 Do đó, từ bất đẳng thức (4.2.10) ta suy ari+1 − ari+1 > 0, hay ari+1 < ari+1 , tráo đổi cạnh có lợi Xét trường hợp cịn lại, giả sử r1 , tồn đỉnh d đoạn (j + 1, j + r 2, , i − 1) cho srd1 = ed Khi đó, sd0 ≤ srd1 nên ta suy thời gian bắt đầu r dịch vụ d trước sau chèn i không thay đổi, sd0 = srd1 = ed Do đó, đoạn r r (d, d + 1, , i − 1) ta có sk0 = srk1 , với d ≤ k ≤ i − 1, nói riêng si−1 = sri−1 Từ suy r r 0 ari+1 = ai+1 Do ai+1 < ari+1 , ta suy ari+1 < ari+1 Vậy tráo đổi cạnh có lợi Định lí 4.2.1 cho thấy việc kiểm tra tính khả thi tráo đổi cạnh Or-opt thời gian O(1) Bây giờ, ta sau cố định i, với giá trị j vịng lặp trong, biến tồn cục nêu cập nhật thời gian O(1) Thật vậy, sau cố định i, giá trị T W T (j,j+1) , P F S (j,j+1) cập nhật dễ dàng cách lùi dọc theo tuyến i − Mệnh đề 4.2.2 cho thấy cụ thể việc cập nhật biến toàn cục Mệnh đề 4.2.2 Sau cố định i vịng lặp ngồi, với giá trị j vòng lặp trong, biến T W T (j,j+1) , P F S (j,j+1) tráo đổi Or-opt lùi cho toán VRPTW cập nhật thời gian sau r0 T W T (j,j+1) = T W T (j+1,j+2) + wj+1 , r0 P F S (j,j+1) = min{lj+1 − srj+1 , P F S (j+1,j+2) + wj+2 } Hồng Thị Thảo 44 Tốn ứng dụng 4.2 OR-OPT LÙI Bài toán định tuyến Chứng minh Với T W T (j,j+1) , công thức hiển nhiên Tiếp theo ta chứng minh công thức cập nhật cho P F S (j,j+1) Thật vậy, theo định nghĩa P F S (j,j+i) , ta có k−1 P F S (j,j+1) = j+1≤k≤i−1 k−1 {lk − (srj+1 + hp + p=j+1 tp,p+1 )} p=j+1 k−1 = min{lj+1 − srj+1 , j+2≤k≤i−1 {lk − (srj+1 + hp + p=j+1 k−1 = min{lj+1 − srj+1 , {lk − j+2≤k≤i−1 (srj+2 + k−1 + tp,p+1 )}} p=j+1 k−1 hp + p=j+2 r0 (sj+2 − srj+1 tp,p+1 ) p=j+2 − hj+1 − tj+1,j+2 )}} r0 = min{lj+1 − srj+1 , P F S (j+1,j+2) + wj+2 } Luận văn trình bày tập biến toàn cục để kiểm tra nhanh tính khả thi ràng buộc thời gian cho phép tráo đổi cạnh Or-opt lùi cho toán VRPTW, đồng thời trình bày chế duyệt theo thứ tự từ điển giúp cho việc cập nhật biến toàn cục thời gian O(1) Thuật toán cho thấy kết hợp cụ thể chế duyệt theo thứ tự từ điển kết hợp với việc kiểm tra nhanh, ta kí hiệu ari , sri thời điểm xe đến bắt đầu phục vụ khách hàng thứ i tuyến r Trong Thuật toán 6, với lời giải khởi tạo r0 (dòng 1), chế duyệt theo thứ tự từ điển kết hợp tráo đổi cạnh Or-opt lùi thể thơng qua hai vịng lặp Ở vịng lặp ngồi, dịng 2, với khách hàng i cố định chọn, ta khởi tạo tập biến toàn cục liên quan bao gồm P ROF IT (i) , T W T (j,j+1) , P F S (j,j+1) Ở vòng lặp trong, dịng 4, ta chọn vị trí j (tương ứng cạnh (j, j +1)) để tái chèn i vào tuyến, j chọn giật lùi dọc theo tuyến tại, vị trí i − đến Dòng cho thấy tuyến newRoute lân cận tráo đổi Or-opt lùi tuyến r0 Với vị trí chọn, tương ứng với giá trị j, ta tính giá trị biến cục LOSS (j,j+1) , dòng Dòng 7, vị trí j, ta kiểm tra đồng thời tính khả thi có lợi tráo đổi Or-opt, cụ thể kiểm tra ràng buộc thời gian đoạn (j + 1, j + 2, , i − 1) r0 thông qua điều kiện LOSS (j,j+1) − wj+1 ≤ P F S (j,j+1) , kiểm tra tính có lợi tráo đổi điều kiện thời điểm đến đỉnh thứ i + newRoute sớm điều kiện tổng độ dài quãng đường tuyến newRoute nhỏ r0 Nếu thỏa mãn điều kiện dòng 7, tuyến r0 cập nhật, r0 = newRoute, đồng thời thuật toán khỏi vịng lặp với khách hàng i tuyến Ngược lại, không thỏa mãn, tập biến toàn cục cập nhật theo Mệnh đề 4.2.2 Với chế duyệt j giật lùi Hoàng Thị Thảo 45 Toán ứng dụng 4.2 OR-OPT LÙI Bài toán định tuyến Thuật toán Or-opt lùi với kiểm tra nhanh ràng buộc thời gian Đầu vào: tuyến ban đầu kí hiệu chuỗi (0, 1, , n, n + 1) Đầu ra: tuyến tốt sau thực tráo đổi cạnh Or-opt lùi 1: Tuyến ban đầu r0 2: for i = đến n 3: Khởi tạo biến: P ROF IT (i) , T W T (j,j+1) , P F S (j,j+1) 4: for j = i − đến 5: newRoute = Or-opt lùi(r0 ,i, j) 6: LOSS (j,j+1) = max{srj + hj + tj,i , ei } + hi + ti,j+1 − arj+1 r0 7: if LOSS (j,j+1) −wj+1 ≤ P F S (j,j+1) P ROF IT (i) > LOSS (j,j+1) −T W T (j,j+1) ti−1,i+1 + tj,i + ti,j+1 < ti−1,i + ti,i+1 + tj,j+1 then 8: r0 = newRoute 9: break 10: else 11: Cập nhật biến: T W T (j,j+1) , P F S (j,j+1) 12: end if 13: end for 14: end for 15: return r0 dọc theo tuyến kết hợp với Mệnh đề 4.2.2, biến toàn cục cập nhật thời gian O(1), dịng 11 Thuật tốn dừng sau xét hết giá trị i vị trí chèn cho i, đồng thời trả lời giải khả thi tốt tìm thấy được, dịng 15 Nhận xét 4.2.3 Trong trường hợp tráo đổi Or-opt lùi với nhiều đỉnh di chuyển, Định lí 4.2.1 Mệnh đề 4.2.2 Các biến tồn cục tính tốn tương tự, ngoại trừ với LOSS (j,j+1) cần thêm vài phép tính Cụ thể, xét tuyến đường cho chuỗi (0, 1, 2, , j, j +1, , i, i+1, , i+k, , n, 0), ta cần di chuyển đoạn (i, i + 1, , i + k) đặt vào hai đỉnh thứ j j + Khi LOSS (j,j+1) tính tốn sau k LOSS (j,j+1) = max{srj + hj + tj,i , ei } + 46 tp,p+1 + tk,j+1 − arj+1 hp + p=i Hồng Thị Thảo k−1 p=i Tốn ứng dụng Chương Kết tính tốn Chương cung cấp kết tính tốn Thuật tốn tiết kiệm, so sánh tốc độ chạy việc kiểm tra thường kiểm tra nhanh sử dụng tráo đổi cạnh 2-opt Cuối cùng, cung cấp kết tính tốn sử dụng kết hợp Thuật toán tiết kiệm (heurustics xây dựng), Thuật tốn tìm kiếm địa phương (heuristics cải tiến) thơng qua phép tráo đổi cạnh Thuật toán giảm số xe Các thuật toán chạy viết ngôn ngữ Python chạy Intel(R) Core(TM) i5-2450M CPU2.50GHz Ram 4GB, sử dụng hệ điều hành Ubuntu 5.1 Bộ liệu sử dụng Các kết luận văn tính tốn liệu Solomon tạo từ năm 1987 [1] với tốn có kích thước 100 khách hàng Các mẫu liệu chia làm sáu dạng, bao gồm R1, C1, RC1, R2, C2, RC2, thiết kế nhằm nêu bật số yếu tố ảnh hưởng đến hiệu suất thuật tốn Mỗi tốn bao gồm thơng tin số lượng đỉnh khách hàng kho, vị trí địa lí đỉnh, nhu cầu, khung thời gian thời gian xử lí dịch vụ đỉnh, số lượng xe tối đa cho phép sức chứa xe Dữ liệu địa lí giống hệt cho tất toán loại (tức là, R, C RC), tạo ngẫu nhiên nhóm tốn R1 R2, phân thành cụm nhóm C1 C2, kết hợp ngẫu nhiên phân cụm nhóm RC1 RC2 Về thời gian, toán R1, C1 RC1 có khung thời gian ngắn cho phép vài khách hàng tuyến (khoảng đến 10) Ngược lại, toán R2, C2 RC2 có khung thời gian dài cho phép nhiều khách hàng (hơn 30) phục vụ phương tiện Thời gian di chuyển hai khách hàng tính khoảng cách Euclid hai khách hàng 47 5.2 KẾT QUẢ THỰC NGHIỆM 5.2 5.2.1 Bài toán định tuyến Kết thực nghiệm Thuật toán tiết kiệm Bảng kết thống kê tiến hành chạy thực nghiệm lần Thuật toán tiết kiệm 56 mẫu liệu Solomon Mỗi mẫu gồm 100 khách hàng, kho, thời gian xử lí dịch vụ khách hàng Mỗi khách hàng kho có tọa độ khung thời gian nhận dịch vụ, đội xe đồng nhất, xe có sức chứa 200 đơn vị, chi tiết liệu sử dụng xem [1] Từ bảng, ta nhận thấy số xe sử dụng mẫu C1, R1, RC1 nhìn chung lớn mẫu C2, R2, RC2, tương ứng với tổng quãng đường nhìn chung lớn Thời gian tính tốn đo đơn vị ms Từ bảng ta nhận thấy thời gian tính tốn mẫu liệu khơng chênh lệch nhiều Điều có với toán, Thuật toán tiết kiệm duyệt qua giá trị tiết kiệm bảng Bài toán R101.txt R102.txt R103.txt R104.txt R105.txt R106.txt R107.txt R108.txt R109.txt R110.txt R111.txt R112.txt R201.txt R202.txt R203.txt R204.txt R205.txt R206.txt R207.txt R208.txt R209.txt R210.txt R211.txt Số xe (chiếc) 31 25 21 15 23 20 18 14 18 15 17 12 18 18 13 13 12 10 13 11 Quãng đường (đơn vị độ dài) 2003.25 1759.53 1505.35 1192.30 1671.10 1506.82 1382.11 1141.18 1387.57 1244.60 1300.32 1111.39 1476.80 1402.95 1174.13 898.52 1193.65 1129.19 1038.76 862.86 1138.05 1103.26 928.48 Thời gian chạy (ms) 356.03 317.01 300.29 259.13 311.51 290.52 277.35 249.68 281.13 262.26 267.68 247.88 286.90 282.33 251.37 213.59 259.87 246.61 237.97 203.81 251.43 241.30 225.60 Bảng 5.1 Kết thực nghiệm Thuật toán tiết kiệm mẫu liệu R1 R2 Hồng Thị Thảo 48 Tốn ứng dụng 5.2 KẾT QUẢ THỰC NGHIỆM Bài toán C101.txt C102.txt C103.txt C104.txt C105.txt C106.txt C107.txt C108.txt C109.txt C201.txt C202.txt C203.txt C204.txt C205.txt C206.txt C207.txt C208.txt Số xe (chiếc) 16 17 18 14 18 17 17 16 15 10 8 7 Bài toán định tuyến Quãng đường (đơn vị độ dài) 1338.63 1388.10 1423.60 1190.01 1360.02 1304.28 1359.26 1270.37 1208.04 1111.65 1039.51 988.29 885.13 1114.67 996.40 1008.04 947.56 Thời gian chạy (ms) 260.46 266.81 269.63 252.03 272.92 263.25 268.34 259.22 251.13 230.94 220.28 209.29 202.18 222.58 207.99 208.21 208.59 Bảng 5.2 Kết thực nghiệm Thuật toán tiết kiệm mẫu liệu C1 C2 Bài toán RC101.txt RC102.txt RC103.txt RC104.txt RC105.txt RC106.txt RC107.txt RC108.txt RC201.txt RC202.txt RC203.txt RC204.txt RC205.txt RC206.txt RC207.txt RC208.txt Số xe (chiếc) 25 22 17 13 22 18 15 13 18 15 10 15 13 11 Quãng đường (đơn vị độ dài) 2105.31 1910.99 1608.30 1343.59 1936.81 1670.18 1438.06 1320.26 1756.50 1536.30 1186.16 961.59 1550.24 1459.60 1264.73 978.76 Thời gian chạy (ms) 333.53 314.73 282.19 268.22 306.24 284.38 269.04 257.88 287.97 274.78 244.36 218.61 267.64 267.12 245.05 216.34 Bảng 5.3 Kết thực nghiệm Thuật toán tiết kiệm mẫu liệu RC1 RC2 Hoàng Thị Thảo 49 Toán ứng dụng 5.2 KẾT QUẢ THỰC NGHIỆM 5.2.2 Bài toán định tuyến So sánh tốc độ kiểm tra nhanh Với lời giải ban đầu tạo Thuật toán tiết kiệm, mục cho thấy hiệu việc kiểm tra nhanh ràng buộc thời gian so với kiểm tra thường phép tráo đổi 2-opt trình bày Chương Bài tốn C101.txt C103.txt C105.txt C106.txt C107.txt C108.txt C109.txt C201.txt C202.txt C205.txt R101.txt R102.txt R103.txt R104.txt R105.txt R106.txt R108.txt R109.txt R201.txt R205.txt R206.txt R207.txt R209.txt R211.txt RC101.txt RC102.txt RC106.txt RC202.txt RC206.txt Số xe (chiếc) N F 16 16 18 18 18 18 17 17 17 17 16 16 15 15 10 10 8 9 31 31 25 25 21 21 15 15 23 23 20 20 14 14 18 18 18 18 13 13 12 12 10 10 13 13 9 25 25 22 22 18 18 15 15 13 13 Quãng đường (đơn vị độ dài) F−N N F · 100 (%) N 1338.63 1338.63 1421.48 1421.51 1360.02 1360.02 1291.66 1291.66 1359.26 1359.26 1247.31 1247.31 1167.1 1169.71 0.22 1111.65 1111.65 1013.95 1015.06 0.11 1090.28 1090.81 0.05 2003.25 2003.25 1754.87 1759.15 0.24 1501.07 1505.35 0.29 1188.37 1188.69 0.03 1665.84 1665.84 1501.54 1501.54 1136.71 1138.59 0.17 1376.7 1376.7 1465.58 1469.79 0.29 1177.65 1177.79 0.01 1107.65 1110.29 0.24 1035.37 1035.16 -0.02 1104.45 1104.45 914.14 915.33 0.13 2100.77 2103.16 0.11 1906.46 1908.67 0.12 1663.5 1666.17 0.16 1525.53 1527.74 0.14 1443.63 1446.07 0.17 Thời gian (ms) N F 4.59 0.52 6.92 0.87 4.49 0.54 6.6 0.87 4.8 0.58 9.88 1.33 17.21 1.55 12.95 0.51 68.17 1.4 45.88 1.56 1.42 0.54 2.82 0.77 4.54 0.79 8.74 0.92 2.92 0.77 4.18 0.88 9.49 0.94 6.63 1.05 6.83 1.07 14.66 1.66 22.2 1.81 25.64 1.58 33.64 3.33 33.69 1.49 2.67 0.71 4.27 0.83 6.24 0.94 14.19 1.5 12.88 1.4 chạy N F (lần) 8.83 7.95 8.31 7.59 8.28 7.43 11.1 25.39 48.69 29.41 2.63 3.66 5.75 9.5 3.79 4.75 10.1 6.31 6.38 8.83 12.27 16.23 10.1 22.61 3.76 5.14 6.64 9.46 9.2 Bảng 5.4 Tỉ lệ tăng độ dài quãng đường 0.3% Kết thống kê tiến hành chạy thực nghiệm lần, kí hiệu N (normal) F (fast) tương ứng cho thuật toán kiểm tra thường kiểm tra nhanh, thời gian chạy đo mili giây, ms Tỉ lệ tăng độ dài quãng đường tính theo cơng thức F−N N Hồng Thị Thảo · 100, đơn vị % Tỉ lệ tăng tốc tính theo 50 N , F đơn vị lần Toán ứng dụng 5.2 KẾT QUẢ THỰC NGHIỆM Bài toán C203.txt C206.txt R107.txt R110.txt R111.txt R202.txt R203.txt R208.txt R210.txt RC105.txt RC108.txt RC201.txt RC205.txt Số xe (chiếc) N F 8 7 18 18 15 15 17 17 18 18 13 13 6 11 11 22 22 13 13 18 18 15 15 Bài toán định tuyến Quãng đường (đơn vị độ dài) F−N N F · 100 (%) N 930.65 939.1 0.91 939.89 944.71 0.51 1360.97 1370.55 0.7 1217.87 1224.2 0.52 1283.27 1291.14 0.61 1391.18 1395.77 0.33 1166.82 1172.03 0.45 842.01 848.61 0.78 1076.69 1080.9 0.39 1926.91 1934.77 0.41 1295.4 1306.24 0.84 1737.33 1753.78 0.95 1536.71 1544.89 0.53 Thời gian chạy (ms) N N F (lần) F 115.18 2.96 38.91 126.05 2.56 49.24 10.97 1.07 10.25 9.66 1.09 8.86 9.05 1.06 8.54 8.75 1.14 7.68 12.44 1.19 10.45 82.94 1.76 47.13 31.44 1.92 16.38 4.49 0.88 5.1 14.61 1.18 12.38 6.75 1.18 5.72 15.76 1.31 12.03 Bảng 5.5 Tỉ lệ tăng độ dài quãng đường từ 0.3-1% Bài toán C102.txt C104.txt C204.txt C207.txt C208.txt R112.txt R204.txt RC103.txt RC104.txt RC107.txt RC203.txt RC204.txt RC207.txt RC208.txt Số xe (chiếc) N F 17 17 14 14 6 7 7 12 12 8 17 17 13 13 15 15 10 10 6 11 11 7 Quãng đường (đơn vị độ dài) F−N N F · 100 (%) N 1342.91 1385.29 3.16 1156.87 1182.17 2.19 814.46 856.84 5.2 887.47 939.59 5.87 858.92 873.87 1.74 1086.17 1098.13 1.1 871.69 891.98 2.33 1583 1606.69 1.5 1289.3 1335.06 3.55 1414.98 1430.32 1.08 1147.92 1165.72 1.55 904.13 942.29 4.22 1231.61 1255.69 1.96 898.55 958.96 6.72 Thời gian chạy (ms) N N F (lần) F 6.49 0.75 8.65 25.9 1.21 21.4 287.48 2.37 121.3 417.76 3.19 130.96 120.69 3.08 39.19 14.91 1.24 12.02 57.58 1.43 40.27 8.46 0.9 9.4 21.89 1.22 17.94 10.9 10.9 41.82 2.08 20.11 174.14 2.15 81 45.33 1.76 25.76 107.59 3.19 33.73 Bảng 5.6 Tỉ lệ tăng độ dài quãng đường 1% Với toán, số xe sử dụng hai thuật toán quãng đường có chênh lệch, thời gian tính tốn kiểm tra nhanh giảm rõ rệt so với kiểm tra thường Trong Bảng 5.4, tốn có độ chênh lệch quãng đường kiểm tra nhanh với kiểm tra thường 0.3%, tỉ lệ tăng quãng đường trung bình mẫu 0.08% tỉ lệ tăng tốc trung bình 12.2 lần Bảng 5.5 trình bày tốn có tỉ lệ tăng nằm khoảng 0.3-1%, tỉ lệ tăng quãng đường trung Hoàng Thị Thảo 51 Toán ứng dụng 5.2 KẾT QUẢ THỰC NGHIỆM Bài tốn định tuyến bình 0.6% tỉ lệ tăng tốc 23.2 lần Cuối Bảng 5.6 trình bày tốn có tỉ lệ tăng tăng quãng đường 1% Tỉ lệ tăng quãng đường trung bình mẫu 2.8% tỉ lệ tăng tốc trung bình 52.4 lần Trung bình tổng quãng đường 56 mẫu liệu thuật toán kiểm tra nhanh tăng 0.8% so với kiểm tra thường, tỉ lệ tăng tốc đạt 28.2 lần so với kiểm tra thường 5.2.3 Giảm số xe Mục trình bày kết Thuật tốn giảm số xe sử dụng lặp lại nhiều lần kết hợp heuristics cải tiến, đồng thời so sánh nghiệm ban đầu tạo Thuật toán tiết kiệm với nghiệm sau thực giảm số xe, bao gồm so sánh số lượng xe sử dụng tổng quãng đường Bảng trình bày kết cụ thể lần chạy thực nghiệm, kí hiệu S (saving) D (delete) tương ứng với Thuật toán tiết kiệm Thuật toán giảm số xe, kí hiệu S−D S cho thấy tỉ lệ giảm số xe quãng đường so với nghiệm ban đầu Sau kết thống kê chi tiết cho mẫu, phân loại theo lớp C1 C2, R1 R2, RC1 RC2 Bài toán R101.txt R102.txt R103.txt R105.txt R104.txt R106.txt R107.txt R108.txt R109.txt R110.txt R111.txt R112.txt R201.txt R202.txt R203.txt R204.txt R205.txt R206.txt R207.txt R208.txt R209.txt R210.txt R211.txt S 31 25 21 23 15 20 18 14 18 15 17 12 18 18 13 13 12 10 13 11 Số xe D S−D (%) S 25 19.35 22 12 17 19.05 16 30.43 13 13.33 15 25 14 22.22 11 21.43 16 11.11 14 6.67 15 11.76 12 66.67 72.22 69.23 50 69.23 75 60 33.33 69.23 63.64 55.56 Quãng đường S−D S D (%) S 2003.25 1786.35 10.83 1759.53 1631.09 7.3 1505.35 1335.3 11.3 1671.1 1491.23 10.76 1192.3 1110.44 6.87 1506.82 1338.2 11.19 1382.11 1221.68 11.61 1141.18 1080.5 5.32 1387.57 1324.24 4.56 1244.6 1175.94 5.52 1300.32 1223.1 5.94 1111.39 1081.37 2.7 1476.8 1279.54 13.36 1402.95 1234.32 12.02 1174.13 1157.19 1.44 898.52 910.32 -1.31 1193.65 1187.91 0.48 1129.19 1156.69 -2.44 1038.76 940.81 9.43 862.86 861.62 0.14 1138.05 1191.72 -4.72 1103.26 1108.18 -0.45 928.48 913.56 1.61 Bảng 5.7 Kết thực nghiệm mẫu R1 R2 Hoàng Thị Thảo 52 Toán ứng dụng 5.2 KẾT QUẢ THỰC NGHIỆM Bài toán C101.txt C102.txt C103.txt C104.txt C105.txt C106.txt C107.txt C108.txt C109.txt C201.txt C202.txt C203.txt C204.txt C205.txt C206.txt C207.txt C208.txt S 16 17 18 14 18 17 17 16 15 10 8 7 Bài toán định tuyến Số xe (chiếc) (%) D S−D S 11 31.25 11 35.29 11 38.89 11 21.43 10 44.44 12 29.41 11 35.29 11 31.25 11 26.67 60 50 50 33.33 66.67 42.86 42.86 42.86 Quãng đường (đơn vị độ dài) S−D (%) S D S 1338.63 923.84 30.99 1388.1 964.61 30.51 1423.6 965.61 32.17 1190.01 1023 14.03 1360.02 869.26 36.08 1304.28 964.2 26.07 1359.26 892.75 34.32 1270.37 891.33 29.84 1208.04 893.21 26.06 1111.65 618.58 44.35 1039.51 633.75 39.03 988.29 695.74 29.6 885.13 740.85 16.3 1114.67 596.09 46.52 996.4 622.69 37.51 1008.04 667.27 33.81 947.56 701.28 25.99 Bảng 5.8 Kết thực nghiệm mẫu C1 C2 Bài toán RC101.txt RC102.txt RC103.txt RC104.txt RC105.txt RC106.txt RC107.txt RC108.txt RC201.txt RC202.txt RC203.txt RC204.txt RC205.txt RC206.txt RC207.txt RC208.txt S 25 22 17 13 22 18 15 13 18 15 10 15 13 11 Số xe D S−D (%) S 23 18 18.18 14 17.65 13 18 18.18 15 16.67 15 13 72.22 66.67 50 33.33 66.67 61.54 63.64 42.86 Quãng đường S−D S D (%) S 2105.31 1983.29 5.8 1910.99 1698.92 11.1 1608.3 1447.14 10.02 1343.59 1315.96 2.06 1936.81 1744.38 9.94 1670.18 1541.67 7.69 1438.06 1417.35 1.44 1320.26 1293.17 2.05 1756.5 1523.93 13.24 1536.3 1294.2 15.76 1186.16 1043.73 12.01 961.59 952.45 0.95 1550.24 1464.02 5.56 1459.6 1287.79 11.77 1264.73 1240.75 1.9 978.76 972.82 0.61 Bảng 5.9 Kết thực nghiệm mẫu RC1 RC2 Hồng Thị Thảo 53 Tốn ứng dụng 5.2 KẾT QUẢ THỰC NGHIỆM Bài toán định tuyến Bảng 5.7, 5.8, 5.9 cho thấy kết chạy thực nghiệm lần Thuật toán tiết kiệm Thuật toán giảm số xe kết hợp heuristics cải tiến qua phép tráo đổi cạnh mẫu liệu Solomon, dấu “-” biểu thị độ dài quãng đường tăng sau giảm số xe Với toán, số xe giảm đáng kể so với số xe ban đầu Trong Bảng 5.7, toán thuộc mẫu C1 C2 có tỉ lệ giảm số xe trung bình 38.1% Tỉ lệ giảm quãng đường đạt 31.45% Bảng 5.7 trình bày tốn thuộc mẫu R1 R2, tỉ lệ giảm số xe trung bình 34.44% tỉ lệ giảm quãng đường đạt 6.13% Cuối cùng, Bảng 5.9 cho thấy toán thuộc mẫu RC1 RC2 có tỉ lệ giảm số xe trung bình 30.8% tỉ lệ giảm quãng đường đạt 7.5% Trên 56 toán, tổng số xe sử dụng giảm trung bình 34.32%, tổng quãng đường giảm 13.45% Hồng Thị Thảo 54 Tốn ứng dụng Kết luận Trong luận văn này, toán định tuyến VRP giới thiệu với biến thể sống, đặc biệt biến thể định tuyến với khung thời gian VRPTW đối tượng tập trung nghiên cứu luận văn Với VRPTW, việc định nghĩa tốn đồ thị hồn chỉnh mơ hình cho tốn trình bày Hai lớp thuật tốn giải tốn VRPTW tìm hiểu, ta trình bày tóm tắt lớp thuật tốn xác, sau tập trung tìm hiểu lớp phương pháp heuristics, bao gồm heuristics xây dựng heuristics cải tiến Phép tráo đổi cạnh 2-opt Or-opt lùi sử dụng heuristics cải tiến tập trung tìm hiểu Ý tưởng kiểm tra nhanh ràng buộc cho phép tráo đổi toán TSPTW tác giả áp dụng toán VRPTW, đồng thời chứng minh cụ thể kết tương ứng cho toán VRPTW Thuật toán giảm số xe Nagata Braysy [20] trình bày Kết thực thi thuật toán 56 mẫu liệu Solmon thống kê chi tiết phần cuối luận văn Việc định tuyến cho phương tiện có vai trị quan trọng sống, đặc biệt nay, ngày có nhiều phương tiện tham gia giao thông, nhiều nhu cầu sử dụng dịch vụ giao thông đời, tạo biến thể cho toán định tuyến Chúng tin tưởng tương lai, việc kết hợp thuật tốn có cách linh hoạt việc thực ý tưởng đẩy nhanh tốc độ giải toán cho lời giải chất lượng tốt, đáp ứng nhu cầu thực tế 55 Tài liệu tham khảo [1] http://web.cba.neu.edu/ msolomon/problems.htm [2] Olli Braysy and Michel Gendreau Vehicle routing problem with time windows, part i: Route construction and local search algorithms Transportation Science, 39(1):104–118, Feb 2005 [3] G Clarke and J W Wright Scheduling of vehicles from a central depot to a number of delivery points Operations Research, 12(4):568–581, Aug 1964 [4] David Connolly Knapsack problems: Algorithms and computer implementations Journal of the Operational Research Society, 42(6):513–513, Jun 1991 [5] Jean-Fran¸cois Cordeau, Gilbert Laporte, Martin W.P Savelsbergh, and Daniele Vigo Chapter Vehicle Routing, page 367–428 Elsevier, 2007 [6] G B Dantzig and J H Ramser The truck dispatching problem Management Science, 6(1):80–91, Oct 1959 [7] Marshall L Fisher and Ramchandran Jaikumar A generalized assignment heuristic for vehicle routing Networks, 11(2):109–124, 1981 [8] Billy E Gillett and Leland R Miller A heuristic algorithm for the vehicle-dispatch problem Operations Research, 22(2):340–349, Apr 1974 [9] B L Golden, T L Magnanti, and H Q Nguyen Implementing vehicle routing algorithms Networks, 7(2):113–148, 1977 [10] Gregory Gutin and Abraham P Punnen The Traveling Salesman Problem and Its Variations Springer US, 2007 [11] R Johnson and M G Pilcher The traveling salesman problem, edited by e l lawler, j k lenstra, a.h.g rinnooy kan, and d.b shmoys, john wiley & sons, chichester, 1985, 463 pp Networks, 19(5):615–616, Aug 1989 56 TÀI LIỆU THAM KHẢO Bài toán định tuyến [12] Brian Kallehauge, Jesper Larsen, Oli B.G Madsen, and Marius M Solomon Vehicle Routing Problem with Time Windows, page 67–98 Springer-Verlag [13] Suresh Nanda Kumar and Ramasamy Panneerselvam A survey on the vehicle routing problem and its variants Intelligent Information Management, 4(3):66–74, 2012 [14] Gilbert Laporte Fifty years of vehicle routing Transportation Science, 43(4):408–416, Nov 2009 [15] Gilbert Laporte, Hélène Mercure, and Yves Nobert An exact algorithm for the asymmetrical capacitated vehicle routing problem Networks, 16(1):33–46, 1986 [16] Gilbert Laporte and Yves Nobert Exact Algorithms for the Vehicle Routing Problem, page 147–184 Elsevier, 1987 [17] Gilbert Laporte, Yves Nobert, and Martin Desrochers Optimal routing under capacity and distance restrictions Operations Research, 33(5):1050–1073, Oct 1985 [18] Andrew Lim and Xingwen Zhang A two-stage heuristic with ejection pools and generalized ejection chains for the vehicle routing problem with time windows INFORMS Journal on Computing, 19(3):443–457, Aug 2007 [19] Yuichi Nagata Efficient evolutionary algorithm for the vehicle routing problem with time windows: edge assembly crossover for the vrptw In 2007 IEEE Congress on Evolutionary Computation IEEE, Sep 2007 [20] Yuichi Nagata and Olli Braysy A powerful route minimization heuristic for the vehicle routing problem with time windows Operations Research Letters, 37(5):333–338, Sep 2009 [21] M W P Savelsbergh Local search in routing problems with time windows Annals of Operations Research, 4(1):285–305, Dec 1985 [22] M.W.P Savelsbergh An efficient implementation of local search algorithms for constrained routing problems European Journal of Operational Research, 47(1):75–85, Jul 1990 [23] P Toth and D Vigo, editors Vehicle Routing: Problems, Methods, and Applications, Second Edition Number 18 in MOS-SIAM Series on Optimization SIAM, 2014 Hồng Thị Thảo 57 Tốn ứng dụng ... hình tốn học cho toán CVRP VRPTW 1.1 Bài toán định tuyến Bài toán định tuyến (viết tắt VRP) toán cho sẵn tập phương tiện, sau gọi xe tập khách hàng, khách hàng có số nhu cầu định Yêu cầu đặt... thể Nội dung nghiên cứu luận văn gồm giới thiệu toán định tuyến viii DANH SÁCH THUẬT TỐN Bài tốn định tuyến biến thể, thuật toán giải toán định tuyến, giảm số phương tiện sử dụng, phép kiểm tra... lịch sử ứng dụng toán Tiếp theo, biến thể phổ biến toán sống nêu Phần cuối chương trình bày mơ hình toán học hai biến thể phổ biến toán định tuyến với ràng buộc sức chứa toán định tuyến với ràng

Ngày đăng: 21/10/2020, 14:26

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w