Mô hình ta quan tâm đến ởđây được mô tả và có các yêu cầu cụ thể như sau: • Bài toán thiết lập trên một vùng lãnh thổ, khách hàng và nhà cungcấp đều thuộc trong lãnh thổ này.. Trong đó,
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-
HÀ TRỌNG SỸ
BÀI TOÁN ĐỊNH TUYẾN CHO MẠNG PHƯƠNG TIỆN GIAO THÔNG
Chuyên ngành : Cơ sở toán cho tin học
LUẬN VĂN THẠC SĨ KHOA HỌC
TOÁN HỌC
NGƯỜI HƯỚNG DẪN KHOA HỌC:
TS TẠ ANH SƠN
Trang 3Mục lục
1.1 Mô tả bài toán 14
1.2 Mô hình toán học 17
1.3 Phương pháp giải 22
1.3.1 Thuật giải chính xác - Exact algorithm 22
1.3.2 Thuật giải gần đúng - Heuristic algorithm 23
2 Thuật giải cho bài toán MDPDPT 24 2.1 Thuật toán Tabu Search 24
2.1.1 Cấu trúc tổng quát 25
2.1.2 Khởi tạo 27
2.1.3 Phương án lân cận - Neighborhood 29
2.1.4 Tabu list 30
2.2 Thuật toán DCA-CUT 31
2.2.1 Thuật toán DCA 31
2.2.2 Thuật toán DCA-CUT giải bài toán MIP 33
3 Kết quả thử nghiệm 38 3.1 Dữ liệu 38
3.2 Kết quả 40
3.2.1 Thuật toán Tabu Search 40
3.2.2 Thuật toán DCA-CUT 42
Trang 4Kết luận 44
Trang 5Lời cam đoan
Tôi xin cam đoan Luận văn thạc sĩ "Bài toán định tuyến trong mạngphương tiện giao thông" là công trình nghiên cứu của riêng tôi Các sốliệu, kết quả nêu trong Luận văn là trung thực và chưa từng được aicông bố trong bất kỳ công trình nào khác Tôi xin cam đoan rằng mọi sựgiúp đỡ cho việc thực hiện Luận văn này đã được cảm ơn và các thôngtin trích dẫn trong Luận văn đã được chú thích nguồn gốc rõ ràng, minhbạch
Tôi xin hoàn toàn chịu trách nhiệm về lời cam đoan trên
Học viên thực hiện Luận văn
Hà Trọng Sỹ
Trang 6Danh mục các kí hiệu, chữ viết tắt
tuyến xe
with Transfering - bài toán giao vận quanhiều trạm, có trung chuyển
hoạch nguyên hỗn hợp
Trang 7Danh sách bảng
3.1 Dữ liệu thử nghiệm 403.2 Kết quả thử nghiệm Tabu Search 413.3 Kết quả thử nghiệm DCA-CUT 43
Trang 8Danh sách hình vẽ
1.1 Ví dụ bài toán MDPDPT 15
1.2 Luồng hàng trong MDPDPT 16
1.3 Tuyến xe trong MDPDPT 17
2.1 Bài toán MDPDPT với 5 đơn hàng, 2 trạm 28
2.2 Phương án khởi tạo ban đầu 28
2.3 Di chuyển đỉnh sang tuyến khác (move) 29
3.1 Bài toán MDPDPT với c = 20, d = 3 39
3.2 Bài toán MDPDPT với c = 20, d = 3 39
3.3 Nghiệm bài toán MDPDPT với c = 20, d = 3 từ thuật toán TS 42
Trang 9có quy mô khoảng 20 tỷ USD/năm, chiếm khoảng 20% GDP Trong đókhâu quan trọng nhất là vận tải, logistic chiếm khoảng 40% chi phí Từ
đó, việc tiết kiệm chi phí vận tải, thậm chí chỉ một vài phần trăm, cũngtrở nên vô cùng quan trọng Bên cạnh đó, cùng với sự phát triển của giaothông vận tải, lượng khí thải cũng gia tăng nhanh chóng gây ảnh hưởngtiêu cực đến môi trường cũng như khí hậu toàn cầu Bởi vậy, nghiêncứu về bài toán định tuyến (VRP - Vehicle Routing Problem) nói chungkhông chỉ giúp giảm chi phí vận tải, mà còn đóng góp vào việc bảo vệmôi trường
Trong thời đại công nghệ thông tin hiện nay, một trong những nghànhphát triển nhanh nhất đồng thời mang lại lợi nhuận khổng lồ là thươngmại điện tử Người tiêu dùng ngày nay có thể đặt mua hàng ngay từchiếc máy tính, điện thoại của mình, sau đó hàng sẽ được giao tới tậnnơi ở trong một khoảng thời gian hẹn trước Các công ty trong lĩnh vựcthương mại điện tử phần lớn có chiến lược vận chuyển hàng hóa từ nhàcung cấp tới khách hàng thông qua các trạm hay trung tâm giao vận
Họ không lưu trữ một lượng hàng sẵn của các nhà cung cấp trong kho,chỉ khi nào phát sinh đơn hàng từ khách hàng thì họ mới lấy hàng từnhà cung cấp về kho hoặc trạm của họ trước khi giao khách hàng, điều
Trang 10này giúp giảm phần lớn chi phí kho bãi cho công ty Do đó công việcvận chuyển hàng hóa tới tay khách hàng cũng là công việc quan trọngnhất trong ngành thương mại điện tử Việc xây dựng một mô hình vậntải hợp lý và tối ưu hóa chi phí vận chuyển ảnh hưởng rất lớn đến lợinhuận của công ty Một trong những mô hình hiện đang được áp dụngtại nhiều công ty thương mại điện tử ở Việt Nam được mô tả trong luậnvăn này.
Mô hình vận tải được xem xét ở đây là một dạng cụ thể của bàitoán định tuyến, thuộc lớp các bài toán lấy và giao hàng - Pickup andDelivery Problem (PDP) Nhìn chung, yêu cầu cơ bản trong lớp các bàitoán này là: có một tập các đơn hàng cần được xử lý bằng cách vậnchuyển hàng từ nhà cung cấp đến khách hàng Mục tiêu của bài toán
là tìm tuyến đường tối ưu cho từng xe để đi lấy hàng hoặc giao hàngsao cho vừa thỏa mãn các ràng buộc về khoảng cách, thời gian hay tảitrọng, vừa tối ưu được chi phí vận hành Mô hình ta quan tâm đến ởđây được mô tả và có các yêu cầu cụ thể như sau:
• Bài toán thiết lập trên một vùng lãnh thổ, khách hàng và nhà cungcấp đều thuộc trong lãnh thổ này
• Có N đơn hàng cần xử lý, mỗi đơn hàng cần được xử lý vận chuyển
từ nhà cung cấp (nơi bán) đến khách hàng
• Có S trung tâm xử lý đơn hàng được thiết lập sẵn, ta gọi là trạmgiao nhận (depot) Đơn hàng luôn được thông qua trạm giao nhậntrước khi đến tay khách hàng
• Mỗi trạm có một số lượng xe phục vụ công việc lấy hàng và giaohàng
• Mỗi nhà cung cấp hoặc khách hàng sẽ được trạm giao nhận gầnnhất phụ trách, tức là công việc lấy hàng hoặc giao hàng sẽ do xexuất phát từ trạm đó đến xử lý
• Nếu trong một đơn hàng, nhà cung cấp và khách hàng do hai trạmkhác nhau phụ trách, thì đơn hàng sẽ được trung chuyển từ trạmphụ trách lấy hàng sang trạm phụ trách giao hàng
Bài toán tối ưu tuyến xe cho mô hình này được gọi là Bài toán giao
Trang 11vận thông qua nhiều trạm - Multi-depots Pickup and Delivery Problemwith Transferring (MDPDPT) Tổng quát, bài toán MDPDPT mô tảnhư sau:
1 Đầu vào:
• Vị trí tọa độ của N cặp nhà cung cấp - khách hàng, S trạmgiao nhận
• Ma trận chi phí đi lại giữa các điểm ở trên
• Danh sách số lượng hàng hóa mỗi khách hàng yêu cầu
2 Đầu ra: Tập các tuyến xe, lộ trình của từng tuyến xe đi qua lần lượtnhững điểm nào, xử lý những đơn hàng nào
Bài toán này là một bài toán tối ưu tổ hợp thuộc lớp các bài toánNP-khó Một số thuật toán có thể tìm chính xác nghiệm tối ưu của bàitoán này Tuy nhiên chúng chỉ hạn chế cho bài toán kích thước nhỏ vìthời gian chạy thuật toán thường rất lớn Trong thực tế, ta thường phải
xử lý hàng trăm hoặc thậm chí tới hàng nghìn đơn hàng, nên các thuậttoán giải chính xác thường khó thể áp dụng được Trong khi đó, cácthuật toán heuristic có thể cung cấp một lời giải gần với nghiệm tối
ưu với thời gian chạy chấp nhận được Những năm gần đây, các thuậttoán heuristic đã được áp dụng thành công vào rất nhiều bài toán địnhtuyến với quy mô lớn trong thực tế Trong đó, thuật toán Tabu Searchdần được đề cử là thuật toán tốt nhất giải các bài toán VRP nói chung.Trong luận văn này, thuật toán Tabu Search được áp dụng và chỉnh sửacho phù hợp với bài toán MDPDPT và hi vọng có thể áp dụng kết quảvào thực tế
Bên cạnh đó, thuật toán DCA-CUT ([1]) sẽ được áp dụng để cảithiện kết quả thu được từ thuật toán Tabu Search Thuật toán này đãđược thử nghiệm trên bài toán quy hoạch nguyên hỗn hợp 0 - 1 (MIP)
và cho kết quả khả quan Trong luận văn này, bài toán MDPDPT sẽđược mô hình hóa dưới dạng một bài toán MIP, từ đó ta có thể dễ dàng
áp dụng thuật toán DCA-CUT
Trang 12Lịch sử nghiên cứu
Bài toán MDPDPT được giới thiệu trong đề tài này là một biến thểmới trong bài toán định tuyến và thuộc lớp các bài toán lấy và giaohàng (Pickup and Delivery Problem - PDP) Bài toán MDPDPT xemxét việc giao nhận hàng thông qua nhiều trạm (multi-depot), mỗi mónhàng cần đi qua trạm trước khi được giao (cross-docking), có sự trungchuyển hàng giữa các trạm và đồng thời cân nhắc đến khung thời giangiao nhận (time windows)
Đã có rất nhiều những nghiên cứu trên các biến thể khác nhau củabài toán PDP từ khoảng ba thập kỷ trở lại đây Dựa trên phương thứcphục vụ khách hàng, Paragh et al (2008a,b) đã chia các bài toán dạngnày thành hai lớp con: lớp đầu tiên là các bài toán vận chuyển hàng hóa
từ điểm lấy đến trạm và từ trạm đến khách hàng, trong khi đó lớp thứ
2 gồm cái bài toán vận chuyển hàng hóa trực tiếp từ điểm lấy đến điểmgiao Đặc điểm chung của các bài toán dạng này là giai đoạn lấy hàngluôn phải thực hiện trước khi bắt đầu thực hiện giao hàng Bài toánMDPDPT được xét đến trong luận văn này thuộc về lớp con thứ nhất.Bài toán có độ tương quan gần nhất với bài toán MDPDPT được xétđến ở đây là bài toán lấy và giao hàng qua trạm (Pickup and DeliveryProblem with Cross-Docking - PDPCD ) Bài toán PDPCD tổng quátmiêu tả việc vận chuyển hàng hóa từ một tập các nhà cung cấp đến mộttập các khách hàng tương ứng thông qua một trạm (cross-dock) Trongbài toán này, hàng hóa sẽ được lấy về trạm qua một tập các phương tiện,được sắp xếp và phân phối lại tại trạm, tiếp tục đi giao cho khách hàngngay lập tức bằng các phương tiện đó Những năm gần đây cũng đã cónhiều nghiên cứu trên các mô hình cụ thể được đưa ra Thông kê gầnđây có các nghiên cứu: Sung and Song (2003), Gumus and Bookbinder(2004), Lim et al (2005), Chen et al (2006), Lee et al (2006), Wen et al.(2008), Liao et al (2010), Miao et al (2010), Musa et al (2010), Soltaniand Sadjadi (2010), Ma et al (2011) Trong số đó, bài toán được xét đếntrong Lee et al (2006), Wen et al (2008) và Liao et al (2010) có môhình tương quan nhất với bài toán của chúng ta, mỗi phương tiện thựchiện việc lấy hàng và giao hàng theo từng giai đoạn riêng rẽ
Trang 13Trong Lee et al (2006), Lee, Jung and Lee đã giải bài toán với thiếtlập một trạm cross-dock duy nhất, nhiều nhà cung cấp và nhiều kháchhàng, thời gian phục vụ được xét đến ràng buộc cho khách hàng Mỗiphương tiện được sử dụng cho việc lấy hàng và giao hàng một cách riêng
rẽ Các tác giả đã mô hình bài toán dưới dạng một bài toán quy hoạchnguyên hỗn hợp (mixed integer programming - MIP) và đề xuất mộtthuật toán gần đúng dựa trên thuật toán tabu search
Wen et al (2008) cũng đã phát triển một mô hình quy hoạch nguyênhỗn hợp để giải bài toán VRP với cross-docking và thời gian phục vụ tạicác điểm được ràng buộc Mục tiêu bài toán là giảm thiểu tổng thời gian
di chuyển của các phương tiện Các tác giả đã giải bài toán bằng thuậttoán tabu search kết hợp với một thủ tục được gọi là adaptive memoryprocedure (AMP) Trong thủ tục AMP, tập các tuyến xe đã được thựchiện bởi các xe được lưu trữ lại trong bộ nhớ (adaptive memory) và khởitạo một lời giải ban đầu bằng cách kết hợp các tuyến xe Trong thủ tụctìm kiếm lân cận neighborhood search, các tác giả đã đề xuất hai cáchtiếp cận: small neighborhood search và large neighborhood search Thuậttoán tabu search đã được các tác giả cải tiến bằng cách kết hợp hai cáchtìm kiếm lân cận ở trên để đạt được kết quả tốt hơn Luận văn này cũng
sẽ áp dụng thuật toán kết hợp trên cho bài toán MDPDPT
Liao et al (2010) đã mở rộng kết quả của Lee et al (2006) và cũng
đề xuất thuật toán dựa trên tabu search, với mục tiêu giảm thời gianthực thi và giảm số lượng xe được sử dụng Các tác giả đã trình bày kếtquả với hiệu suất được cải tiến hơn so với Lee et al (2006), với cùngtham số đầu vào và so sánh thời gian thực thi
Mục đích nghiên cứu
Mục đích của Luận văn là mô hình hóa cho một bài toán giao vậnthực tế, tìm cách áp dụng giải thuật Tabu Search và thuật toán DCA-CUT để tìm lời giải cho bài toán Đánh giá kết quả đạt được và khả năng
áp dụng vào thực tế để giảm chi phí vận hành cho các công ty đang sửdụng mô hình giao vận này
Trang 14Đối tượng và phạm vi nghiên cứu
• Nghiên cứu mô hình giao vận thông qua nhiều trạm, có sự trungchuyển hàng hóa giữa các trạm
• Tìm hiểu giải thuật Tabu Search, nghiên cứu cách triển khai cho bàitoán MDPDPT
• Ứng dụng thuật toán DCA-CUT vào giải bài toán MDPDPT và cảithiện kết quả thu được từ Tabu Search
• Đánh giá kết quả thuật toán trên các bộ dữ liệu trong khoảng 200điểm, tương ứng 100 cặp nhà cung cấp - khách hàng
Các kết quả chính của luận văn
Luận văn trình bài các kết quả chính sau:
• Đề xuất mô hình toán học cho bài toán MDPDPT dưới dạng mộtbài toán MIP
• Áp dụng thuật toán Tabu Search được đề xuất bởi Min Wen (2009)([9]) cho bài toán MDPDPT Kết quả thử nghiệm thu được trên các
bộ dữ liệu kích thước trong khoảng 200 điểm, tương ứng 100 cặpnhà cung cấp - khách hàng, cho thấy tính khả thi của thuật toánnếu áp dụng vào thực tế
• Thuật toán DCA-CUT cũng được trình bày và áp dụng cho bàitoán MDPDPT Thuật toán DCA-CUT giải bài toán MIP đã đượctrình bày trong báo cáo "Solving Relaxation Orienteering Problemusing DCA-CUT" tại hội nghị MCO 2015 (Conference on Mod-elling, Computation and Optimization in Information Systems andManagement Sciences) [1] Trong báo cáo trên, thuật toán DCA-CUT đã được áp dụng cho bài toán "Orienteering Problem", đâycũng là một dạng của bài toán định tuyến, thuật toán đã cho thấy
sự hiệu quả bước đầu của thuật toán Trong luận văn này, thuậttoán DCA-CUT được áp dụng với điểm xuất phát là lời giải lấy từ
Trang 15kết quả chạy thuật toán Tabu Search Kết quả cho thấy DCA-CUT
đã cải thiện được lời giải, cho ta kết quả tốt hơn
Luận văn được trình bày theo bố cục sau: Chương 1 mô tả bài toánMDPDPT và trình bày mô hình toán học của bài toán này dưới dạngmột bài toán MIP Chương 2 trình bày hai thuật giải được áp dụng chobài toán này: thuật toán Tabu Search và thuật toán DCA-CUT Chương
3 trình bày các kết quả thử nghiệm và đánh giá khả năng áp dụng thực
tế của thuật toán
Phương pháp nghiên cứu
• Nghiên cứu tài liệu khoa học về các bài toán VRP, các mô hình toánhọc
• Nghiên cứu tổng quan về các thuật giải đã được áp dụng cho cácbài toán VRP
• Nghiên cứu lý thuyết và cách áp dụng thuật toán Tabu Search
• Nghiên cứu thuật toán DCA-CUT và áp dụng cho bài toán PDPT
Trang 16từ tài liệu [9], sau đó bổ sung thêm các biến và ràng buộc cho phù hợpvới bài toán.
Bài toán MDPDPT dựa trên mô hình giao vận nhằm vận chuyểnhàng hóa từ một tập các nhà cung cấp đến các khách hàng tương ứngthông qua một tập các trạm giao nhận trên một vùng cụ thể Mỗi mộtđơn hàng được định nghĩa là một yêu cầu mua hàng từ một nhà cungcấp đến một khách hàng, khách hàng có thể mua nhiều đơn hàng khácnhau Vùng được chia thành các khu vực riêng rẽ, mỗi khu vực đượcthiết lập một trạm giao nhận, trạm này sẽ phụ trách tất cả các địa điểmtrong khu vực của nó, bao gồm việc lấy hàng từ nhà cung cấp và giaohàng tới khách hàng trong khu vực Với mỗi một đơn hàng như vậy, góihàng tương ứng sẽ được lấy hàng bởi trạm giao nhận gần nhất và đượcgiao bởi trạm giao nhận trong khu vực mà khách hàng ở Nếu trạm lấy
Trang 17Hình 1.2 minh họa đường đi của 2 luồng hàng cơ bản: cùng trạm vàkhác trạm Trong luồng hàng cùng trạm, ví dụ ở đây là đơn hàng số 1,hàng được xe của trạm H1 lấy về rồi sau đó được giao luôn cho kháchhàng Trong luồng khác trạm, đơn hàng số 2 như trong hình, hàng đượctrạm H1 lấy về, trung chuyển đến trạm H2 và được trạm H2 đi giao.
Mô hình giao vận trên có các điều kiện ràng buộc như sau:
• Mỗi một xe và một tuyến tương ứng chỉ phục vụ 1 trong 3 việc sau:lấy hàng từ các nhà cung cấp, trung chuyển hàng giữa các trạm,
Trang 18Hình 1.2: Luồng hàng trong MDPDPT
hoặc đi giao hàng cho một trạm cụ thể
• Mỗi một xe và một tuyến tương ứng đều xuất phát và kết thúc tạicùng một trạm
• Mỗi đỉnh phải có duy nhất một xe đi đến và phục vụ (lấy hàng hoặcgiao hàng)
• Xe vận chuyển đơn hàng của một trạm sẽ mang hàng từ trạm nóphụ trách đến trạm đích của các đơn hàng, đồng thời tại đó lấy vềcác đơn hàng mà có trạm đích là trạm mà xe xuất phát
• Mỗi xe không được mang lượng hàng quá sức chứa của nó
• Mỗi đơn hàng được lấy hàng về trạm cần có một khoảng thời giantối thiểu cố định trước lưu lại để làm các thủ tục nghiệp vụ trongtrạm
Hình 1.3 mô tả một phương án phân tuyến theo yêu cầu trên phục
vụ cho 3 đơn hàng đầu tiên Tuyến v1 thực hiện việc lấy hàng từ cácnhà cung cấp 1 và 2, tuyến v2 lấy hàng từ nhà cung cấp 3 Tuyến v3thực hiện trung chuyển hàng cho đơn hàng số 3 và đơn hàng số 2 về
Trang 19Gọi E là tập các cạnh khả dụng (có thể đi được từ một đỉnh tới
Trang 20một đỉnh khác) Xét trong bài toán này, chỉ có đường đi từ một trạmđến các điểm lấy hàng và giao hàng mà trạm đó phụ trách và đường đi
từ trạm này sang trạm khác Hai điểm i và j được gọi là "nội vùng"nếu 2 điểm i và j là các điểm lấy giao hàng thuộc cùng một khu vực
do một trạm phụ trách, hoặc một điểm là một trạm và điểm còn lạithuộc vùng do trạm đó phụ trách Ta có thể định nghĩa tập E như sau
E = {(i, j) : i, j ∈ N, i 6= j, i và j là nội vùng} ∪ {(i, j) : i, j ∈ H, i 6= j}.Định nghĩa các tham số như sau:
cij : thời gian di chuyển giữa điểm i và điểm j ((i, j) ∈ E);
mi : số đơn vị hàng hóa mà đơn hàng i yêu cầu;
Q : số đơn vị hàng hóa tối đa mà một phương tiện có thể
mang theo được;
A : thời gian xử lý đơn hàng tối thiểu ở trong mỗi trạm;
sk : trạm xuất phát và kết thúc của phương tiện k ∈ K
Ta định nghĩa các biến như sau:
tki = thời điểm xe k dời điểm i (i ∈ N, k ∈ K),
Lki = số đơn vị hàng hóa trên xe k thời điểm rời khỏi điểm i (i ∈
N, k ∈ K),
ui = thời điểm đơn hàng i nhập trạm lấy (i ∈ P ),
vi = thời điểm đơn hàng i xuất trạm giao (i ∈ P ),
wk = thời điểm xe k về trạm giao nhận (k ∈ K)
Bên cạnh đó, ta định nghĩa M là một hằng số rất lớn
Bài toán ở trên có thể được mô hình hóa như sau:
Trang 23tki, Lki, wk ≥ 0 ∀i ∈ N, k ∈ K (1.23)
Hàm mục tiêu (1.1) là tối thiểu hóa tổng thời gian di chuyển của các
xe Các ràng buộc theo sau gồm ba phần: ràng buộc định tuyến đường
đi ((1.2) đến (1.11)), ràng buộc đảm bảo sức tải của mỗi xe ((1.12) đến(1.13)) và ràng buộc thời gian ((1.14) đến (1.20))
Ràng buộc (1.2) và (1.3) đảm bảo mỗi điểm lấy hàng và giao hàngđược phục vụ một lần bởi một xe nào đó Ràng buộc (1.4) bảo toànđường đi của một xe, nếu xe k đi vào điểm j thì phải đi ra khỏi điểm j.Ràng buộc (1.5) đảm bảo mỗi xe không đi qua một điểm quá một lần.Ràng buộc (1.6) đảm bảo mỗi xe k chỉ có thể xuất phát từ một trạm đi
ra các điểm lấy giao hàng một lần Trong khi đó, ràng buộc (1.7) đảmbảo nếu xe k đi lấy hoặc giao hàng thì nó phải xuất phát từ trạm Ràngbuộc (1.8) đảm bảo mỗi xe k chỉ đi theo một trong hai tuyến đường:lấy/giao hàng (xuất phát tại một trạm và đi qua các điểm lấy hoặc giaohàng rồi trở về trạm ban đầu), hoặc trung chuyển hàng (chỉ đi qua cáctrạm giao nhận) Các ràng buộc (1.9), (1.10) và (1.11) đảm bảo mỗi đơnhàng cần trung chuyển sẽ được duy nhất một xe trung chuyển từ trạmlấy đến trạm giao
Ràng buộc (1.12) mô tả sự thay đổi lượng hàng hóa mỗi xe trênđường đi Ràng buộc (1.13) đảm bảo lượng hàng hóa trên xe tại mọithời điểm không vượt quá sức chứa của nó
Các ràng buộc từ (1.14) đến (1.20) là các ràng buộc về thời gian dichuyển của các xe Ràng buộc (1.14) thể hiện thời gian di chuyển giữahai điểm nếu chúng được cùng một xe đi qua Ràng buộc (1.15) mô tảđiều kiện thời gian một đơn hàng bất kì dời trạm lấy phải lớn hơn thờigian xe lấy hàng về trạm Ràng buộc (1.16) tính toán thời gian về trạmcủa mỗi xe Ràng buộc (1.17) đảm bảo thời gian đơn hàng dời trạm phảilớn hơn thời gian đơn hàng đó được nhập trạm lấy Ràng buộc (1.18)đảm bảo thời gian đi lấy hàng không lớn hơn thời gian đi giao Ràngbuộc (1.19) đảm bảo thời gian dời trạm của đơn hàng i không lớn hơn
Trang 24thời gian xe phụ trách đơn hàng đó dời trạm Ràng buộc (1.20) đảm bảothời gian dời trạm của đơn hàng i để trung chuyển không lớn hơn thờigian xe phụ trách đơn hàng đó dời trạm.
Bài toán định tuyến (VRP) nói chung có thể được giải sử dụng cácthuật giải chính xác hoặc các thuật giải gần đúng cho nghiệm xấp xỉ.Trong phần này ta sẽ xem xét tổng quan một số thuật giải có thể ápdụng để tìm nghiệm tối ưu cho bài toán VRP và bài toán cụ thể ở trên
1.3.1 Thuật giải chính xác - Exact algorithm
Một trong những kĩ thuật quan trọng nhất và cũng nổi tiếng nhất
để giải các bài toán tối ưu tổ hợp là thuật toán nhánh cận (Branch andBound - B&B) Thuật toán này cũng là cơ sở cho phần lớn các thuậttoán giải chính xác cho bài toán VRP, chẳng hạn như thuật toán Branch
& Price (B&P) hay Branch & Cut (B&C) Ý tưởng chính của thuật toánB&B là chia không gian cần tìm kiếm thành các không gian con (nhánh
- branching), sau đó đánh giá cận trên và cận dưới cho những khônggian đó (cận - bounding) Nếu một nhánh được xác định là không chứanghiệm tối ưu thì ta loại bỏ nhánh đó, ngược lại ta tiếp tục chia nóthành các nhánh nhỏ hơn và tiếp tục đánh giá cận
Phương pháp chung để đánh giá cận dưới là đi giải bài toán nới lỏng.Bài toán nới lỏng có thể được tạo ra từ bài toán ban đầu bằng một sốphương pháp, chẳng hạn như nới lỏng tuyến tính, nới lỏng Lagrange Dựa theo phương pháp được sử dụng để đánh giá cận dưới, B&B cóthể được mở rộng thành B&P hay B&C Ví dụ về thuật toán B&P cóthể xem trong Agarwal et al (1989) và Hadjiconstantinou et al (1995).Thuật toán B&C chủ yếu được phát triển bởi Baldacci et al (2004) vàLysgaard et al (2004), và nó cũng được cải tiến nhiều tới ngày nay.Thuật toán chính xác cho một lớp bài toán VRP gần đây nhất được đưa
ra bởi Jonathan Oesterle & Thomas Bauernhansl (2015)