Tải bản đầy đủ (.pdf) (88 trang)

Giải thuật bầy kiến giải bài toán VRP với hạn chế thời gian (VRPMTW)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.21 MB, 88 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
--------------------------------------------

LUẬN VĂN THẠC SĨ KHOA HỌC

GIẢI THUẬT BẦY KIẾN GIẢI BÀI TOÁN VRP VỚI
HẠN CHẾ THỜI GIAN (VRPMTW)
NGÀNH: CÔNG NGHỆ THÔNG TIN
MÃ SỐ: 003757C79

ĐÀM THU LAN

Người hướng dẫn khoa học: PGS. TS. NGUYỄN ĐỨC NGHĨA

HÀ NỘI 2009


1

LỜI CAM ĐOAN
Tôi là Đàm Thu Lan, học viên cao học lớp CNTT khóa 2007 – 2009.
Người hướng dẫn khoa học là PGS.TS. Nguyễn Đức Nghĩa.
Tôi xin cam đoan toàn bộ nội dung được trình bày trong bản luận văn này là
kết quả tìm hiểu và nghiên cứu của riêng tôi, trong quá trình nghiên cứu đề tài
“Giải thuật bầy kiến giải bài toán VRP với hạn chế thời gian (VRPMTW)”.
Các kết quả và dữ liệu được nêu trong luận văn là hoàn toàn trung thực và rõ
ràng. Mọi thông tin trích dẫn đều được tuân theo luật sở hữu trí tuệ, liệt kê rõ
ràng các tài liệu tham khảo. Tôi xin hoàn toàn chịu trách nhiệm với những nội
dung được viết trong luận văn này.
Hà Nội, ngày 27 tháng 11 năm 2009.


Tác giả luận văn

Đàm Thu Lan

Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của luận văn và cho
phép bảo vệ.
Hà Nội, ngày tháng năm 2009.
Giáo viên hướng dẫn

PGS. TS. NGUYỄN ĐỨC NGHĨA


4

LỜI CẢM ƠN
Trước tiên, em xin trân trọng gửi lời cảm ơn và lòng biết ơn sâu sắc đến
Thầy PGS.TS. Nguyễn Đức Nghĩa, người đã tận tình hướng dẫn em từ bước
chọn đề tài đến các bước tìm tài liệu và nghiên cứu. Vì đây là một lĩnh vực
hoàn toàn mới mẻ đối với em, thêm vào đó VRP là lớp bài toán khó nên nếu
như không nhận được sự khích lệ, động viên, chỉ bảo tận tình của PGS.TS.
Nguyễn Đức Nghĩa thì em đã không thể hoàn thành được luận văn này.
Em cũng xin được trân trọng gửi lời cảm ơn đến các thầy giáo, cô giáo
Viện CNTT & TT đã cung cấp cho chúng em rất nhiều kiến thức cần thiết
không chỉ trong khóa học mà còn giúp em rất nhiều trong công tác chuyên
môn hàng ngày.
Cuối cùng, xin được gửi lời cảm ơn đến những người thân, bạn bè và
đồng nghiệp, những người đã dành cho tôi sự quan tâm sâu sắc, động viên để
tôi có thể hoàn thành luận văn này.
Xin trân trọng cảm ơn.
Học viên

Đàm Thu Lan


5

MỤC LỤC
LỜI NÓI ĐẦU ...................................................................................................7
CÁC TỪ VIẾT TẮT ........................................................................................10
DANH SÁCH CÁC HÌNH ..............................................................................11
DANH SÁCH CÁC BẢNG .............................................................................12
Chương 1 – TỔNG QUAN VỀ VRP ...............................................................13
1.1. Giới thiệu.............................................................................................. 13
1.2. Định nghĩa bài toán và Ký hiệu cơ bản................................................ 16
1.2.1. VRP với hạn chế về trọng tải ........................................................ 17
1.2.2. VRP với hạn chế về thời gian ....................................................... 19
1.2.3. VRP nhập xuất hàng kết hợp ........................................................ 20
1.2.4. VRP nhập xuất hàng đồng thời (VRPPD) .................................... 21
1.3. Các mô hình cơ bản cho VRP .............................................................. 22
1.3.1. Mô hình luồng phương tiện........................................................... 23
1.3.2. Mô hình luồng hàng hóa ............................................................... 24
1.3.3. Mô hình phân hoạch tập................................................................ 26
Chương 2 – VRP VỚI HẠN CHẾ THỜI GIAN .............................................28
2.1. Giới thiệu chung................................................................................... 28
2.2. Mô hình toán học ................................................................................. 28
2.3. Các biến thể của VRPTW .................................................................... 30
2.4. Các phương pháp giải VRPTW ........................................................... 32
2.4.1. Thuật toán giải đúng ..................................................................... 32
2.4.2. Thuật toán mẹo cổ điển................................................................. 33
a) Xây dựng lộ trình ............................................................................ 33
b) Cải tiến lộ trình ................................................................................... 33

2.4.3. Thuật toán mẹo kết hợp................................................................. 33
2.4.4. Thuật toán siêu mẹo ...................................................................... 34
a) Lời giải ban đầu .............................................................................. 35
b) Tìm kiếm cục bộ với λ – Interchange ............................................. 37
c) Mô phỏng tôi luyện ......................................................................... 42
d) Tìm kiếm Tabu................................................................................ 45
e) Giải thuật di truyền ......................................................................... 48
f) Giải thuật bầy kiến........................................................................... 52
2.5. Kết luận ................................................................................................ 53
Chương 3 – GIẢI THUẬT BẦY KIẾN...........................................................54
3.1. Giới thiệu chung................................................................................... 54
3.2. Nền tảng sinh học................................................................................. 54
3.3. Kiến nhân tạo ....................................................................................... 56
3.4. Siêu mẹo tối ưu hóa bầy kiến............................................................... 58


6

3.5. Các giải thuật tối ưu hóa bầy kiến chính.............................................. 60
3.5.1. Hệ thống kiến ................................................................................ 60
3.5.2. MAX – MIN Ant System.............................................................. 61
3.5.3. Hệ thống bầy kiến ......................................................................... 62
Chương 4 – ÁP DỤNG ACS VÀO VRPTW ..................................................65
4.1. Giới thiệu chung................................................................................... 65
4.2. Xây dựng lộ trình ................................................................................. 65
4.3. Cập nhật vệt mùi .................................................................................. 66
4.4. Giải thuật MACS – VRPMTW............................................................ 66
4.4.1. Giới thiệu chung............................................................................ 66
4.4.2. Tập các khách hàng chấp nhận được và cửa sổ thời gian............. 71
4.4.3. Luật thay đổi trạng thái ................................................................. 72

4.4.4. Tính η ............................................................................................ 72
4.4.5. Tính ϑ............................................................................................ 73
4.4.6. Luật cập nhật vệt mùi.................................................................... 73
4.4.7. Giải thuật ....................................................................................... 74
4.5. Kết luận ................................................................................................ 77
Chương 5 – KẾT QUẢ THỬ NGHIỆM VÀ KẾT LUẬN ......................... 78
5.1. Kết quả thử nghiệm .............................................................................. 78
5.2. Kết luận ................................................................................................ 82
PHỤ LỤC.........................................................................................................84
TÀI LIỆU THAM KHẢO................................................................................88


7

LỜI NÓI ĐẦU
Trong các thập kỷ gần đây, chúng ta đã thấy rất nhiều ứng dụng tối ưu
hóa dựa trên các kỹ thuật lập trình toán học và các nghiên cứu cho bài toán
quản lý việc phân phối hàng hóa và các dịch vụ trong các hệ thống phân tán.
Một số lượng lớn các ứng dụng trong thực tế trên thế giới đã chỉ ra rằng việc
sử dụng các thủ tục được máy tính hóa cho quá trình phân phối hàng hóa tiết
kiệm được từ 5% tới 20% tổng chi phí vận chuyển. Từ đó, dễ thấy rằng việc
tiết kiệm này trên hệ thống kinh tế toàn cầu là rất ý nghĩa. Thực vậy, quá trình
vận chuyển liên quan tới tất cả các giai đoạn sản xuất và phân phối và chiếm
từ 10% tới 20% chi phí sản xuất hàng hóa.
Sự thành công của việc sử dụng các kỹ thuật nghiên cứu vào hoạt động
thực tiễn là do sự phát triển của các hệ thống máy tính từ cả phần mềm lẫn
phần cứng và cũng do việc tăng cường tích hợp các hệ thống thông tin vào
các quy trình sản xuất và thương mại.
Một yếu tố khác không kém phần quan trọng là sự phát triển của các
công cụ mô hình hóa mang tính giải thuật đã được cài đặt trong các năm gần

đây. Thực vậy, các mô hình đã phản ánh được tất cả các đặc điểm của bài
toán phân tán nảy sinh trong các ứng dụng thực tế và các thuật toán tương ứng
với bài toán đó, cách cài đặt trên máy tính để tìm được một giải pháp tốt với
thời gian tính toán chấp nhận được.
Vì vậy báo cáo này xin trình bày về bài toán liên quan tới việc phân
phối hàng hóa giữa các kho hàng và khách hàng, được gọi là bài toán lộ trình
xe hàng (Vehicle Routing Problems – VRP) hay bài toán lập lịch xe hàng
(Vehicle Scheduling Problems). VRP được Dantzig và Ramser [1] đưa ra vào
năm 1959 với bài toán ban đầu là việc phân phố gas tới các trạm bán lẻ và hai
ông cũng đã đề xuất được mô hình toán học, giải thuật đầu tiên cho bài toán
này. Kể từ đó cho tới nay, VRP đã được rất nhiều nhà nghiên cứu quan tâm,
mở rộng, đưa ra các giải pháp, ứng dụng vào thực tế. VRP có rất nhiều biến
thể như CVRP, VRPTW, VRPB, VRPPD, trong đó VRPTW bài toán quan
trọng, xuất hiện trong rất nhiều hệ thống phân tán. VRPTW có thể được mô tả
như là bài toán tính toán các lộ trình có chi phí nhỏ nhất từ kho hàng tới một
tập các khách hàng, các lộ trình phải thỏa mãn mỗi khách hàng chỉ được thăm
một lần bởi chỉ một xe hàng trong một khoảng thời gian nhất định, tất cả các
lộ trình phải bắt đầu từ kho hàng và kết thúc cũng tại kho hàng, tổng các yêu
cầu của khách hàng không vượt quá dung lượng xe. VRPTW có nhiều mục
tiêu ví dụ như tối thiểu hóa số lượng xe sử dụng, tổng thời gian đi và phục vụ
là ít nhất. Một số ứng dụng của VRPTW trong thực tế như với các bài toán:
cung cấp dịch vụ ngân hàng, phân phát thư, thu thập các sản phẩm do khách
hàng trả lại, các dịch vụ của nhà hàng ăn uống…


8

Các nhà nghiên cứu đã đề xuất rất nhiều cách tiếp cận từ cách tiếp cận
mẹo tới tối ưu hóa cho VRPTW, trong đó các tiếp cận mẹo là thành công hơn
cả ví dụ như mẹo láng giềng gần nhất, mô phỏng tôi luyện (SA), tìm kiếm

Tabu (TS), giải thuật di truyền (GA), giải thuật đa hệ thống kiến dựa trên ý
tưởng tối ưu hóa bầy kiến (ACO).
SA được đưa ra đầu tiên bởi Kirkpatrick [7], tìm kiếm không gian lời
giải bằng cách mô phỏng quá trình tôi luyện kim loại. SA thực hiện nhảy tới
các vùng trong không gian tìm kiếm ban đầu. Bước nhảy được giảm dần theo
thời gian hoặc khi nhiệt độ giảm xuống. Cuối cùng, quá trình sẽ trở thành tìm
kiếm cục bộ. Osman [8] ứng dụng SA để giải VRP bằng cách di chuyển một
khách hàng từ một hành trình tới hành trình khác hoặc hoán chuyển hai khách
hàng từ hai lộ trình với nhau. Nói chung, SA là giải thuật đơn giản, nhanh để
giải VRPTW với kết quả gần tối ưu nhưng trong trường hợp nếu tối ưu tổng
thể là rất xa so với lời giải ban đầu thì có thể SA không đủ năng lượng để đi
xa như vậy.
TS [6] là một chiến lược tìm kiếm dựa trên bộ nhớ, chọn lời giải tốt
nhất mà không vi phạm các giới hạn nào đó để ngăn chặn chu trình. Thông
thường các giới hạn này được lưu trữ trong một cấu trúc hàng đợi gọi là Tabu
list. Các giới hạn này ngăn chặn một di chuyển đã được thực hiện trong t lần
lặp cuối cùng và lời giải đưa ra trong trường hợp này cũng bị loại bỏ. TS dừng
sau một số lần lặp cố định. Gerdreau, Hertz và Laporte đã ứng dụng TS cùng
với mẹo láng giềng gần nhất để di chuyển một khách hàng từ lộ trình này
sang lộ trình khác.
GA được phát triển bởi Holland [9] xây dựng lời giải VRPTW theo
dạng là các bít xâu hoặc nhiễm sắc thể. Phương pháp bắt đầu một dân cư có
nhiễm sắc thể ngẫu nhiên, chọn lựa các nhiễm sắc thể phù hợp hơn để thực
hiện lai tạo và trao đổi chéo, đưa ra các thế hệ con khác thế hệ cha nhưng kế
thừa gen từ cha mẹ. Quá trình này được tiếp tục cho tới khi đạt tới một số
lượng cố định các thế hệ hoặc dân cư đã đủ.
Gambardell đã đưa ra giải thuật MACS – VRPTW vào năm 1999 [5],
giải thuật này được xây dựng dựa trên nền tảng là hệ thống bầy kiến (ACS),
hay tổng quát hơn là ACO, một cách tiếp cận mẹo mới bắt nguồn từ hành vi
của các chú kiến trong thực tế. Ý tưởng của ACO là có một số lượng lớn các

chú kiến nhân tạo hoạt động phối hợp với nhau để xây dựng một lời giải tốt.
Kiến trong thực tế phối hợp với nhau trong quá trình tìm thức ăn bằng cách để
lại một lượng mùi trên đường đi để cho các chú kiến khác theo sau. Để tối
thiểu hóa số xe và thời gian đi cho VRPTW, giải thuật này gán mỗi mục tiêu
cho một bầy kiến và hai bầy kiến này trao đổi thông tin thông qua việc cập
nhật vệt mùi. Cho đến nay, MACS – VRPTW được coi là đủ sức cạnh tranh


9

với các phương pháp tốt nhất để giải VRPTW về cả chất lượng lời giải và thời
gian tính toán.
Từ các ứng dụng thực tế của VRPTW ta thấy có thể một khách hàng sẽ
có nhu cầu được phục vụ nhiều lần với nhiều khoảng thời gian khác nhau, đơn
vị chủ quản có nhiều xe khác nhau… từ đó ta có biến thể của VRPTW là
VRPMTW (VRP with Multiple Time Windows). Thực chất đây cũng chính là
bài toán VRPTW nhưng có thêm một số ràng buộc như thêm nhiều khung
thời gian cho một khách hàng (khách hàng muốn được phục vụ nhiều lần), có
nhiều loại xe phục vụ[11].
Cho tới nay chưa có nhiều nghiên cứu, giải pháp cho VRTMTW mặc
dù ta có thể biến đổi các mẹo cho VRPTW để giải bài toán này. Như đã nói ở
trên, MACS – VRPTW là một mẹo có thể nói là rất tốt để giải VRPTW vì vậy
luận văn này tập trung vào việc nghiên cứu, áp dụng MACS vào VRPMTW.
Luận văn gồm năm chương, với các nội dung sau:
Chương 1: Trình bày một cách tổng quan về VRP trong đó đề cập tới
định nghĩa, các đặc điểm,các dạng và mô hình toán học của VRP.
Chương 2: Tập trung nghiên cứu dạng bài toán VRPTW. Trong chương
này trình bày khái niệm chung, mô hình toán học và một số cách tiếp cận hiện
có để giải VRPTW.
Chương 3: Trình bày về giải thuật bầy kiến, từ nền tảng sinh học tới áp

dụng vào kiến nhân tạo. Chương này cũng trình bày cả giải thuật bầy kiến đầu
tiên cho tới các giải thuật chính, có hiệu quả cao như Hệ thống bầy kiến, Hệ
thống kiến Max – Min, tối ưu hóa bầy kiến.
Chương 4: Từ kiến thức nền tảng ở chương hai và chương ba, chương
này trình bày việc áp dụng giải thuật bầy kiến ACS để giải VRPTW nói
chung và đề xuất giải thuật MACS để giải bài toán VRPMTW. Đây có thể
nói là phần nội dung chính của luận văn.
Chương 5: Trình bày các kết quả thử nghiệm khi cài đặt giải thuật
MACS – VRPMTW và chạy chương trình với các bộ dữ liệu, từ đó đưa ra kết
luận và so sánh kết quả của phương pháp với phương pháp khác.


10

CÁC TỪ VIẾT TẮT
Từ viết tắt Tiếng Anh
VRP
CVRP

Vehicle Routing Problems
Capactitated Constrained VRP

DVRP

Distance Constrained VRP

TSP
VRPTW
VRPB


Traveling Salesman Problem
Vehicle Routing Problems With
Time windows
VRP with Backhauls

VRPPD

VRP with Pickup and Delivery

ACVRP
SCVRP
DCVRP

Asymmetric CVRP
Symmetric CVRP
Distance-Constrained VRP

VRPMTW

VRP with Multi Time Windows

GA
DVRP
PFIH
LSD

Genertic Algorithm
Dynamic
Vehicle
Routing

Problem
Push–Forward Insertion Heuristic
Local Search Descent Method

SA
TS
SI
ACO
AS
MMAS

Simulated Annealing
Tabu search
Swarm intelligence
Ant colony optimization
Ant System
MAX – MIN Ant System

ACS
MACS

VRPTW
ACS-VEI
ACS-TIME

Ant Colony System
Multiple Objective Ant Colony
System – VRPTW
Ant Colony System – Vehicle
Ant Colony System – Time


Tiếng Việt
Bài toán định tuyến xe hàng
Bài toán VRP với hạn chế về
dung lượng
Bài toán VRP với hạn chế về
khoảng cách
Bài toán người du lịch
Bài toán VRP với hạn chế thời
gian
Bài toán VRP nhập xuất hàng kết
hợp
Bài toán VRP nhập xuất hàng
đồng thời
Bài toán VRP không đối xứng
Bài toán VRP đối xứng
Bài toán VRP với hạn chế về
trọng tải và khoảng cách
Bài toán VRP với đa khung thời
gian
Giải thuật di truyền
Bài toán định tuyến xe hàng
động
Mẹo chèn đẩy trước
Phương pháp tìm kiếm cục bộ
thế hệ
Mô phỏng luyện kim
Tìm kiếm Tabu
Trí thông minh bầy đàn
Tối ưu hóa bầy kiến

Hệ thống kiến
Giải thuật hệ thống kiến MAX –
MIN
Hệ thống bầy kiến
Hệ bầy kiến đa mục tiêu cho
VRPTW
Bầy kiến tối thiểu hóa số xe hàng
Bầy kiến tối thiểu hóa thời gian
đi


11

DANH SÁCH CÁC HÌNH
Hình 1.1: Các lớp bài toán VRP.................................................................... 16
Hình 1.2: Ví dụ các luồng đường đi trên một lộ trình (C = 25).................... 25
Hình 2.1: Thao tác (1,0) ................................................................................ 38
Hình 2.2: Thao tác (2,1) ................................................................................ 39
Hình 2.3. Tối ưu cục bộ ................................................................................ 41
Hình 2.4: Một trường hợp mà FB là tốt hơn GB .......................................... 42
Hình 3.1: Thí nghiệm cầu đôi ....................................................................... 56
Hình 3.2: Đồ thị tương ứng với mô hình thí nghiệm ở hình 3.1................... 56
Hình 4.1. Kiến trúc của MACS – VRPTW................................................... 70


12

DANH SÁCH CÁC BẢNG
Bảng 2.1: Giải thuật PFIH............................................................................. 36
Bảng 2.2: Giải thuật Local Search Descent Method..................................... 40

Bảng 2.3: Giải thuật mô phỏng luyện kim .................................................... 44
Bảng 2.4: Giải thuật tìm kiếm Tabu giới hạn ............................................... 48
Bảng 2.5: Giải thuật di truyền ....................................................................... 51
Bảng 3.1: Giải thuật siêu mẹo tối ưu hóa bầy kiến ....................................... 59
Bảng 4.1: Giải thuật MACS – VRPMTW .................................................... 74
Bảng 4.2: Giải thuật ACS – TIME................................................................ 75
Bảng 4.3: Giải thuật ACS – VEI................................................................... 75
Bảng 4.4: Thủ tục xây dựng hành trình ........................................................ 76
Bảng 5.1: Kết quả thực nghiệm..................................................................... 79


13

Chương 1 – TỔNG QUAN VỀ VRP
1.1. Giới thiệu
Bài toán định tuyến xe hàng (VRP) là một lớp các bài toán tối ưu hóa tổ
hợp nhằm xác định một tập các lộ trình tối ưu, mỗi lộ trình được thực hiện bởi
một phương tiện vận tải (xe hàng) bắt đầu và kết thúc tại kho hàng, đáp ứng
tất cả các yêu cầu của khách hàng và thỏa mãn mọi ràng buộc sao cho chi phí
là tối thiểu. Việc phân phối hàng hóa liên quan tới dịch vụ của một tập các
khách hàng bởi một tập các phương tiện giao thông (vehicles) trong một giai
đoạn thời gian, các phương tiện giao thông được định vị trong một hoặc nhiều
kho hàng, được lái bởi một tập các lái xe (drivers) và thực hiện việc di chuyển
bởi một mạng đường bộ thích hợp. Nói riêng, lời giải cho VRP là việc xác
định một tập các lộ trình, mỗi lộ trình được thực hiện bởi một phương tiện
giao thông bắt đầu và kết thúc tại kho hàng của riêng nó, chẳng hạn như tất cả
các yêu cầu của khách hàng được đáp ứng, các ràng buộc vận hành được thỏa
mãn và chi phí giao vận tổng thể là tối thiểu. Phần này xin mô tả các đặc điểm
điển hình của bài toán tìm lộ trình và lập lịch bằng việc xem xét các thành
phần chính của bài toán (mạng đường đi, khách hàng, kho hàng, xe cộ, và lái

xe), các ràng buộc vận hành khác có thể ảnh hưởng tới việc xây dựng lộ trình
và các mục tiêu trong quá trình tối ưu hóa.
Mạng đường đi được sử dụng cho việc giao vận hàng hóa thường được
mô tả thông qua một đồ thị mà cạnh của nó biểu diễn đoạn đường còn các
đỉnh tương ứng với vị trí kho hàng hoặc khách hàng. Các cạnh là có hướng
hoặc vô hướng tùy thuộc vào việc có thể đi theo chỉ một chiều (ví dụ vì đây là
tuyến phố một chiều) hoặc hai chiều. Mỗi cạnh được kết hợp với một chi phí,
thường biểu diễn độ dài và thời gian đi, hai yếu tố này có thể phụ thuộc vào
loại xe hoặc thời gian đi qua cung đó.
Các đặc điểm điển hình của khách hàng:
• Khách hàng được định vị tại đỉnh nào đó của đồ thị đường đi;
• Tổng số hàng hóa mà khách hàng yêu cầu, có thể là nhiều loại hàng khác
nhau phải được giao hoặc nhận tại vị trí mỗi khách hàng;
• Khung thời gian (time windows) mà khách hàng có thể được phục vụ (ví
dụ, các giai đoạn đặc biệt mà khách hàng mở cửa hoặc có thể đến được vị
trí đó do các hạn chế về giao thông);
• Thời gian phục vụ khách hàng, là thời gian cần thiết để giao hoặc nhận
hàng tại vị trí của khách hàng (chính là thời gian dỡ hàng xuống hoặc bốc
hàng lên xe), có thể phụ thuộc vào loại xe; và
• Tập con của các xe sẵn có được sử dụng để phục vụ khách hàng (ví dụ do
các giới hạn truy cập hoặc các yêu cầu về thu và phát hàng).


14

Đôi khi ta không thể đáp ứng hoàn toàn yêu cầu của khách hàng. Trong
các trường hợp đó, ta có thể giảm tổng số hàng giao/nhận, hoặc có thể đặt một
tập con khách hàng là chưa được phục vụ. Để giải quyết các tình huống này,
ta có thể gán cho khách hàng các quyền ưu tiên khác nhau.
Lộ trình thực hiện để phục vụ khách hàng bắt đầu và kết thúc tại một

hoặc nhiều kho hàng định vị tại các đỉnh của đồ thị đường đi. Mỗi kho hàng
đặc trưng bởi số lượng, loại xe và tổng số hàng hóa mà kho có thể chứa.
Trong một số ứng dụng thực tế, khách hàng được phân vùng ưu tiên giữa các
kho hàng và các phương tiện giao thông phải quay trở lại kho hàng của nó tại
điểm kết thúc của mỗi lộ trình. Trong các trường hợp này, VRP có thể tách ra
thành một số bài toán độc lập, mỗi bài toán kết hợp với một kho hàng khác
nhau.
Việc giao vận hàng hóa được thực hiện bằng việc sử dụng một đoàn xe
mà ta có thể đặt cố định kích thước, cấu tạo xe hoặc có thể xác định các đặc
điểm này tùy theo yêu cầu của khách hàng.
Các đặc điểm điển hình của xe hàng:
• Kho hàng chính (home depot) của xe, và có thể kết thúc dịch vụ tại một
kho hàng khác thay vì tại kho hàng chính của xe;
• Dung lượng/trọng tải (capacity) của xe, là trọng lượng/dung lượng lớn
nhất mà xe có thể tải được;
• Có thể phân chia xe thành các toa xe, mỗi toa xe đặc trưng bởi dung lượng
và loại hàng hóa mà nó có thể mang được;
• Các thiết bị cần sử dụng cho quá trình bốc hoặc dỡ hàng;
• Tập con các cung của đồ thị đường đi mà xe có thể đi; và
• Chi phí phụ liên quan đến việc sử dụng xe (trên một đơn vị khoảng cách,
trên một đơn vị thời gian hoặc trên một đơn vị lộ trình…).
Người lái xe phải thỏa mãn một vài ràng buộc đặt ra bởi các hợp đồng và các
quy định của công ty (ví dụ, thời gian làm việc trong ngày, số lần, thời gian
nghỉ trong suốt quá trình phục vụ khách hàng, làm quá giờ…). Trong phần
tiếp theo, các ràng buộc đối với lái xe được nhúng vào ràng buộc với xe tương
ứng.
Tùy theo từng bài toán cụ thể mà lộ trình phải thỏa mãn một số ràng
buộc về mặt vận hành, các ràng buộc này phụ thuộc vào tính chất hàng hóa
vận chuyển, hoặc chất lượng dịch vụ và đặc điểm của khách hàng, phương
tiện giao thông. Một số ràng buộc điển hình có thể như sau: theo mỗi lộ trình,

trọng tải hàng hiện tại không được vượt quá dung lượng xe; các khách hàng
được phục vụ trong một lộ trình có thể chỉ yêu cầu giao hàng hoặc nhận hàng
hoặc cả hai; và các khách hàng có thể được phục vụ chỉ trong khung thời gian


15

của họ và thời gian làm việc của lái xe và xe đáp ứng được trong thời gian đó.
Các ràng buộc trên có thể bị quyết định bởi thứ tự phục vụ khách hàng trong
một lộ trình. Một ràng buộc trong số các ràng buộc trên yêu cầu rằng một
khách hàng được phục vụ trong cùng một tuyến đường phục vụ một tập con
các khách hàng khác và khách hàng đó phải được phục vụ trước (hoặc sau)
khách hàng thuộc vào tập con đó. Trong trường hợp này, người ta gọi là bài
toán nhặt và phân phát, trong đó các lộ trình có thể thực hiện cả hai việc thu
thập và phân phát hàng hóa, và hàng hóa thu thập được từ các khách hàng
phải được mang tới khách hàng nhận tương ứng bởi cùng một phương tiện
giao thông. Một loại ràng buộc khác quy định rằng nếu nhiều loại khách hàng
khác nhau được phục vụ trong cùng một lộ trình, thứ tự thăm khách hàng là
cố định. Trường hợp này, người ta gọi là VRP with Backhauls, trong đó các
lộ trình có thể được thực hiện cả việc nhận hoặc giao hàng hóa nhưng các
ràng buộc được kết hợp với thao tác bốc hàng và dỡ hàng, điểm khó là sắp
xếp lại trọng tải của xe trong lộ trình, điều đó có nghĩa là tất cả các thao tác
phân phối hàng phải được thực hiện trước khi thu nhận hàng.
Việc đánh giá chi phí tổng thể của các lộ trình và kiểm tra các ràng
buộc về mặt vận hành lộ trình yêu cầu các tri thức về chi phí đi và thời gian đi
giữa mỗi cặp khách hàng và giữa kho hàng – khách hàng. Đồ thị đường đi
thường được biến đổi thành một đồ thị đầy đủ (có các đỉnh là đỉnh của đồ thị
đường đi tương ứng với các khách hàng và các kho hàng). Với mỗi cặp đỉnh i,
j của đồ thị đầy đủ, một cạnh (i, j) được định nghĩa sao cho chi phí cij là chi
phí của đường đi ngắn nhất bắt đầu từ đỉnh i và kết thúc ở đỉnh j trong đồ thị

đường đi. Thời gian đi tij tương ứng với mỗi cạnh (i, j) của đồ thị đầy đủ là
tổng của các thời gian đi của các cạnh thuộc về đường đi ngắn nhất từ i tới j.
Ở phần sau, thay cho đồ thị đường đi ban đầu, ta xem xét đồ thị đầy đủ tương
ứng, đồ thị này có thể là có hướng hoặc vô hướng phụ thuộc vào tính chất của
ma trận thời gian hoặc chi phí là đối xứng hoặc không đối xứng.
Một số mục tiêu mà ta xem xét cho bài toán định tuyến xe hàng:
• tối thiểu hóa chi phí giao vận tổng thể phụ thuộc vào khoảng cách đi tổng
thể (hoặc phụ thuộc vào thời gian đi tổng thể) và phụ thuộc vào chi phí cố
định tương ứng với các xe được sử dụng (và với các lái xe tương ứng);
• tối thiểu hóa số lượng xe (hoặc số lượng lái xe) cần thiết để phục vụ tất cả
các khách hàng;
• cân bằng giữa các lộ trình về thời gian đi và trọng tải hàng cho xe;
• tối thiểu hóa các mục tiêu tương ứng với các dịch vụ bán phần của khách
hàng;
hoặc kết hợp của các mục tiêu trên.


16

Trong một số ứng dụng, mỗi xe có thể đi nhiều hơn một chuyến trong một
giai đoạn thời gian, hoặc các chuyến đi có thể kéo dài nhiều ngày…
Kể từ khi Dantzig và Ramser đưa ra VRP[1], trong các bài viết của mình, các
tác giả đã mô tả một ứng dụng thực tế liên quan đến việc phân phối gas tới
các trạm gas và đề xuất công thức lập trình toán học đầu tiên và cách tiếp cận
mang tính thuật toán để giải bài toán. Một vài năm sau, Clarke và Wright đề
xuất một giải thuật mẹo tham lam hiệu quả từ cải tiến cách tiếp cận của
Dantizg – Ramser. Sau đó rất nhiều mô hình đã được phát triển để đưa ra giải
pháp xấp xỉ tối ưu cho các phiên bản của VRP.
1.2. Định nghĩa bài toán và Ký hiệu cơ bản
Lớp bài toán VRP được chú ý nhất trong giới khoa học và có các phiên

bản như VRP với hạn chế về trọng tải xe (CVRP - Capacitated VRP), VRP
với hạn chế thời gian (VRPTW), VRP nhập xuất hàng kết hợp (VRPB), VRP
nhập xuất hàng đồng thời (VRPPD).

Hình 1.1: Các lớp bài toán VRP
Hình 1.1 minh họa các lớp bài toán chính của VRP, mũi tên đi từ bài toán A
sang bài toán B có nghĩa B là một bài toán mở rộng của A. Với mỗi bài toán
này, các nhà nghiên cứu đã đưa ra nhiều biến thể, giải pháp tương ứng, do vậy
với mỗi bài toán ta sẽ mô tả phiên bản cơ bản trước.


17

1.2.1. VRP với hạn chế về trọng tải
Đây là phiên bản cơ bản nhất của VRP – CVRP. Với CVRP tất cả các
khách hàng tương ứng để phân phát hàng và các yêu cầu là cố định, biết trước
và không thể phân tách. Các xe là giống nhau và được bố trí tại một kho hàng
tập trung và chú trọng vào việc giới hạn dung lượng của xe. Mục tiêu của
CVRP là tối thiểu hóa tổng chi phí phục vụ tất cả các khách hàng. CVRP
được mô tả dựa trên bài toán lý thuyết đồ thị như sau:
Gọi G = (V, A) là đồ thị đầy đủ
Trong đó:
- V = {0, … ,n} là tập đỉnh
o Các đỉnh i = 1, …,n tương ứng với các khách hàng
o Đỉnh i = 0 là đỉnh kho hàng
- A là tập cạnh.
- cij : tương ứng với mỗi cạnh (i, j) ∈ A biểu diễn chi phí để đi từ đỉnh
i tới đỉnh j. Thường không cho phép sử dụng các cạnh lặp (i, i) (cii =
+∞ với mọi i ∈ V).
- di: là yêu cầu phân phối hàng không âm của khách hàng i (yêu cầu

của kho hàng là 0, d0 = 0). Cho một tập các đỉnh S ⊆ V , d S = ∑i∈S d i
là tổng yêu cầu của tất cả các khách hàng trên tập S
- K: số xe được sử dụng. Trong đó Kmin là số lượng xe nhỏ nhất cần
thiết để phục vụ tất cả các khách hàng
- C: trọng tải của xe (di ≤ C với i=1,...,n)
Chú ý:
- Nếu G là đồ thị có hướng thì ma trận chi phí c là không đối xứng, bài
toán tương ứng được gọi là CVRP không đối xứng (ACVRP), khi đó A
là tập các cạnh của đồ thị có hướng G được xác định bởi các đỉnh đầu
mút của nó (i, j ) i, j ∈ V .
-

Nếu cij=cji với mọi (i, j ) ∈ A thì bài toán tương ứng được gọi là CVRP
đối xứng (SCVRP) và tập các cung A được thay thế bởi tập các cạnh
không có hướng E.
o Với mỗi e ∈ E , a(e) và β(e) chỉ các đỉnh đầu mút của cạnh e.


18

o Với mỗi tập đỉnh S ⊆ V , δ(S) để chỉ tập cạnh e ∈ E mà chỉ có
một đỉnh đầu mút nằm trong S. E(S) để chỉ tập cạnh e ∈ E có cả
hai đỉnh đầu mút nằm trong S.
- Cho một đỉnh i,
o ∆+(i): tập các đỉnh j có cung (i, j ) ∈ A
o ∆-(i): tập các đỉnh j có cung ( j , i ) ∈ A ,.
Trong một số trường hợp, ma trận chi phí thỏa mãn bất đẳng thức tam giác
sau:
(1.1)
cik + ckj ≥ cij với mọi i, j, k ∈ V.

Nói cách khác, ta thường không đi đường vòng nối giữa hai đỉnh i và j.
Trong một số trường hợp các đỉnh được gán với các điểm của mặt
phẳng có tọa độ cho trước, và chi phí cij cho mỗi cạnh (i, j) ∈ A được định
nghĩa là khoảng cách Euclidean giữa hai điểm tương ứng với đỉnh i và j.
Trong trường hợp này ma trận chi phí là đối xứng và thỏa mãn bất đẳng thức
tam giác và bài toán này gọi là Euclidean SCVRP.
Mỗi khách hàng i (i = 1,…, n) tương ứng với một yêu cầu không âm đã
biết trước, di, để được giao hàng và kho hàng là một khách hàng có yêu cầu
đặc biệt d0 = 0. Cho một tập đỉnh S ⊆ V, gọi d ( S ) = ∑ d i là tổng các yêu cầu
i∈S

của tập này.
Một tập K xe xác định, mỗi xe có dung lượng C là sẵn có tại kho hàng. Để
đảm bảo tính chấp nhận được ta giả sử rằng di <= C với mỗi i = 1,…,n. Mỗi
xe có thể thực hiện nhiều nhất một lộ trình và ta giả sử rằng K không nhỏ hơn
Kmin, với Kmin là số lượng xe tối thiểu cần để phục vụ được tất cả các khách
hàng. Giá trị của Kmin có thể được xác định bởi bài toán đóng gói (Bin
Packing Problem – BPP) kết hợp với CVRP, BPP có nhiệm vụ xác định số
lượng tối thiểu các thùng, mỗi thùng có dung lượng C, được yêu cầu để nạp
tất cả n mặt hàng, mỗi mặt hàng có trọng lượng di không âm, i= 1, …, n.
Cho một tập S ⊆ V \ {0}, ta biểu diễn r(S) là số xe tối thiểu cần thiết để
phục vụ tất cả các khách hàng trong S, ví dụ giá trị tối ưu của BPP tương ứng
với phần tử trong S. Chú ý rằng r(V\{0}) = Kmin. Thông thường, r(S) được
thay thế bởi cận dưới BPP:
(1.2)
⎡d ( S ) / C ⎤
CVRP là bài toán tìm kiếm một tập K lộ trình có chi phí tối thiểu và:
(i) mỗi lộ trình phải thăm đỉnh kho hàng;
(ii) mỗi đỉnh khách hàng được thăm bởi chính xác một lộ trình; và



19

(iii) tổng các yêu cầu của các đỉnh được thăm bởi một lộ trình không
vượt quá trọng tải của xe – C.
Một số biến thể của phiên bản CVRP cơ bản đã được xem xét. Biến thể
thứ nhất là khi số lượng xe sẵn có K lớn hơn Kmin, có thể để một số xe không
được sử dụng và do vậy nhiều nhất K mạch phải được xác định. Trong trường
hợp này, ta thường cố định chi phí với việc sử dụng phương tiện, từ đó yêu
cầu tối thiểu hóa tổng chi phí…
CVRP được biết đến là bài toán NP – khó và tổng quát hóa bài toán
người du lịch (TSP), xác định chi phí tối thiểu cho một mạch đơn giản thăm
tất cả các đỉnh của G và xảy ra khi C >= d(V) và K = 1.
Biến thể đầu tiên của CVRP là VRP với hạn chế về khoảng cách
(DVRP), với mỗi lộ trình ràng buộc về dung lượng được thay thế bởi ràng
buộc chiều dài (hay thời gian) tối đa. Nói riêng, một chiều dài không âm, tij
(hay te) tương ứng với mỗi cạnh (i,j) ∈ A (hoặc cạnh e ∈ E) và tổng chiều dài
của các cạnh của mỗi lộ trình không vượt quá chiều dài lộ trình lớn nhất. Nếu
các xe là khác nhau, thì các chiều dài lộ trình lớn nhất là Tk, k = 1,…,K. Hơn
nữa, khi chiều dài các cạnh biểu diễn thời gian đi, thời gian phục vụ si có thể
được kết hợp với mỗi khách hàng i, điều này biểu diễn giai đoạn thời gian mà
xe phải dừng ở vị trí của khách hàng. Một cách khác, thời gian phục vụ có thể
được cộng vào thời gian đi của các cạnh. Trường hợp mà cả ràng buộc về
dung lượng xe và khoảng cách lớn nhất được thỏa gọi là VRP với hạn chế về
trọng tải và khoảng cách (DCVRP).

1.2.2. VRP với hạn chế về thời gian
VRP với hạn chế về thời gian (VRPTW) là một mở rộng của CVRP mà
chú trọng nhiều tới các ràng buộc về dung lượng và mỗi khách hàng i được
kết hợp với một khoảng thời gian [ai, bi] gọi là khung thời gian (time

window), cung cấp trước thời gian mà các xe dời kho hàng, thời gian đi tij cho
mỗi cung (i, j) ∈ A (hoặc te với mỗi cạnh e ∈ E) và thời gian phục vụ thêm si
cho mỗi khách hàng i cũng được cung cấp. Dịch vụ của mỗi khách hàng phải
bắt đầu trong cửa sổ thời gian tương ứng và xe phải dừng tại vị trí của khách
hàng và khách hàng i sẽ được phục vụ với thời gian si. Trong trường hợp xe
hàng đến vị trí của khách hàng i sớm, xe được phép đợi ai thời gian cho đến
khi dịch vụ bắt đầu. Với mỗi cung (i, j) ∈ A, thời gian đi trên cung (i, j) là
thời gian đi từ i tới j cộng với thời gian phục vụ khách hàng i (si)
Thông thường ma trận chi phí và ma trận thời gian đi là giống nhau, và
thời gian được xác định bởi việc giả sử rằng tất cả các xe dời kho hàng là
không mất thời gian. Hơn nữa, dễ thấy yêu cầu của khung thời gian dẫn đến
một hướng đi ngầm định cho mỗi lộ trình thậm chí nếu các ma trận ban đầu là


20

đối xứng. Do vậy, VRPTW thường được mô hình hóa như một bài toán
không đối xứng.
VRPTW bao gồm việc tìm một tập K lộ trình đơn giản với tổng chi phí tối
thiểu và:
mỗi lộ trình phải thăm đỉnh kho hàng;
(i)
mỗi đỉnh khách hàng được thăm bởi chính xác một lộ trình
(ii)
tổng các yêu cầu của các đỉnh được thăm bởi một lộ trình
(iii)
không vượt quá dung lượng của xe, C và:
với mỗi khách hàng i, dịch vụ bắt đầu trong khung thời
(iv)
gian [ai, bj] và xe dừng trong si thời gian để phục vụ khách

hàng này.
VRPTW là bài toán NP – khó vì nó tổng quát hóa từ CRVP, xảy ra khi ai = 0,
bi = +∞ với mỗi i ∈ V \ {0}. Hơn nữa, bài toán người du lịch với cửa sổ thời
gian là trường hợp đặc biệt của VRPTW trong đó C ≥ d(V) và K = 1.

1.2.3. VRP nhập xuất hàng kết hợp
VRP nhập xuất hàng kết hợp (VRPB) là một mở rộng của CVRP mà
trong đó tập khách hàng V \ {0} được phân hoạch thành hai tập con. Tâp đầu
tiên, L, chứa n khách hàng cần mua hàng hóa chuyên chở theo đường bộ giữa
các thành phố, mỗi khách hàng yêu cầu một số lượng xác định sản phẩm. Tập
thứ hai, B, chứa m khách hàng trả hàng, mà số lượng sản phẩm phải thu thập
là xác định. Các khách hàng được đánh số sao cho L = {1,…,n} và B = {n +
1,…, n + m}.
Trong VRPB, tồn tại một ràng buộc giữa khách hàng mua hàng và
khách trả hàng: bất kỳ khi nào một lộ trình phục vụ cả hai loại khách hàng, ta
phục vụ tất cả các khách mua hàng trước khách trả hàng. Một yêu cầu không
âm di, để được phân phối hay thu thập tùy thuộc vào loại của nó, là được kết
hợp với khách hàng thứ i và kho hàng là đỉnh có yêu cầu d0 = 0. Khi ma trận
chi phí là không đối xứng, bài toán được gọi là VRPB không đối xứng
(AVRPB). VRPB và AVRPB bao gồm việc tìm một tập hợp chính xác K lộ
trình đơn giản với chi phí tối thiểu sao cho:
mỗi lộ trình phải thăm đỉnh kho hàng;
(i)
(ii) mỗi đỉnh khách hàng được thăm bởi chính xác một lộ trình;
(iii) tổng số yêu cầu của khách hàng mua hàng và khách hàng trả
hàng được thăm bởi một lộ trình không vượt quá dung lượng xe
C; và
(iv) trong mỗi lộ trình, tất cả các khách hàng mua hàng được phục
vụ trước khách hàng trả hàng, nếu có.



21

Ta không cho phép các mạch chỉ chứa khách hàng trả hàng. Hơn nữa ta
thấy ràng buộc trước (iv) đưa ra một hướng phục vụ ngầm định của các lộ
trình hỗn hợp cả hai loại khách hàng. Gọi KL và KB lần lượt biểu diễn số lượng
tối thiểu phương tiện cần có để phục vụ tất cả các khách hàng có một loại yêu
cầu hoặc cả hai loại yêu cầu. Các giá trị có thể thu được bằng việc giải BPP
kết hợp với tập con các khách hàng tương ứng. Để đảm bảo tính chấp nhận
được, ta giả sử rằng K không nhỏ hơn số xe tối thiểu cần thiết để phục vụ tất
cả các khách hàng, ví dụ K ≥ max{KL, KB}. VRPB và AVRPB là bài toán NP
– khó vì đây là phiên bản tổng quát hóa của CVRP khi B = Ø.

1.2.4. VRP nhập xuất hàng đồng thời (VRPPD)
Với VRPPPD, mỗi khách hàng i có hai số liệu di và pi lần lượt biểu
diễn yêu cầu về hàng hóa đồng nhất được phân phát hay thu nhận tại khách
hàng thứ i. Đôi khi ta chỉ sử dụng một số lượng di = di – pi cho mỗi khách
hàng i, số lượng này chỉ ra sự khác nhau giữa các yêu cầu phân phát và thu
thập hàng (do vậy có thể là âm). Với mỗi khách hàng i, Oi biểu diễn đỉnh
nguồn của yêu cầu phân phát và Di biểu diễn đỉnh đích của yêu cầu thu thập
hàng.
Ta giả sử rằng tại mỗi vị trí của khách hàng, việc phân phát hàng được
thực hiện trước khi thu thập hàng, do vậy khối lượng hàng hiện tại của một xe
đến một vị trí nào đó được xác định bằng hiệu của khối lượng ban đầu trừ đi
tất cả khối lượng hàng đã phân phát cộng với khối lượng của tất cả các hàng
hóa đã thu thập.
VRPPD bao gồm việc tìm một tập chính xác K lộ trình đơn giản với chi phí
nhỏ nhất và:
mỗi lộ trình phải thăm đỉnh kho hàng;
(i)

(ii) mỗi đỉnh khách hàng được thăm bởi chính xác một lộ trình;
(iii) trọng tải hiện tại của xe dọc theo lộ trình phải là không âm và
không vượt quá dung lượng của xe C;
(iv) với mỗi khách hàng i, khách hàng Oi (khi không phải là đỉnh
kho hàng) phải được phục vụ trong cùng một lộ trình và trước
khách hàng i; và
(v) với mỗi khách hàng i, khách hàng Di (khi không phải là đỉnh
kho hàng) phải được phục vụ trong cùng một lộ trình và sau
khách hàng i.
Thông thường, nguồn hoặc đích của các yêu cầu là chung nhau (ví dụ
chúng kết hợp với kho như trong CVRP và VRPB) và do vậy ta không cần
thiết phải chỉ rõ chúng). Bài toán này được gọi là VRP với thu thập và phân
phát hàng đồng thời (VRPSPD).


22

VRPPD và VRPSPD là các bài toán NP – khó vì chúng là tổng quát
hóa của CVRP khi Oi = Di = 0 và pi = 0 với mỗi i ∈ V. Bài toán người du lịch
với thu thập và phân phát hàng (TSPPD) là trường hợp đặc biệt của VRPSPD
mà K = 1.

1.3. Các mô hình cơ bản cho VRP
Phần này trình bày các công thức lập trình toán học có thể sử dụng để
mô hình hóa VRP cơ bản đã trình bày ở phần trên. Nói chung, ta đưa ra mô
hình cho CVRP và thảo luận cách mở rộng để đáp ứng các ràng buộc hoặc
các hàm mục tiêu khác nhau.
Có ba cách tiếp cận mô hình hóa cơ bản đã được đưa ra. Mô hình đầu
tiên là công thức luồng phương tiện (vehicle flow formulations) sử dụng các
biến nguyên kết hợp với mỗi cạnh (cung) của đồ thị, số nguyên này đếm số

lần cạnh này được duyệt bởi một xe. Mô hình này thường được sử dụng cho
VRP căn bản và cũng khá phù hợp trong các trường hợp chi phí cho giải pháp
có thể được biểu diễn như là tổng của chi phí gắn với mỗi cạnh và khi các
ràng buộc liên quan sự chuyển dịch trực tiếp giữa các khách hàng trong một
lộ trình, nên các ràng buộc này có thể được mô hình hóa một cách hiệu quả
thông qua các định nghĩa tập cạnh và tập chi phí thích hợp. Mặt khác, mô
hình luồng phương tiện không thể sử dụng để xử lý nhiều vấn đề thực tế, ví
dụ khi chi phí của giải pháp phụ thuộc vào tất cả trình tự đỉnh hoặc loại xe
gắn với mỗi lộ trình. Hơn nữa, giảm nhẹ lập trình tuyến tính của mô hình
luồng phương tiện có thể là rất yếu khi các ràng buộc thao tác là chặt.
Mô hình thứ hai dựa trên công thức luồng hàng hóa. Trong mô hình
này, các biến nguyên được kết hợp với các cạnh (cung) và biểu diễn luồng
hàng hóa dọc theo các đường đi bởi các xe. Các mô hình loại này gần đây chỉ
được sử dụng cho phiên bản CVRP cơ bản.
Mô hình cuối cùng có một số mũ các biến nhị phân, mỗi biến kết hợp
với một mạch chấp nhận được khác nhau. Do vậy VRP được lập công thức
như là bài toán phân hoạch tập (Set – Partitioning Problem – SPP): xác định
một tập hợp các mạch với chi phí nhỏ nhất mà phục vụ mỗi khách hàng một
lần và thỏa mãn các ràng buộc phụ trợ. Ưu điểm chính của mô hình này là nó
cho phép chi phí lộ trình vô cùng tổng quát, ví dụ phụ thuộc vào trình tự tổng
thể của các cạnh và loại xe. Hơn nữa, các ràng buộc phụ trợ không nhất thiết
phải chịu trách nhiệm giới hạn liên quan tới tính chấp nhận được của một lộ
trình đơn. Do vậy, ta thường thay bởi một tập bất đẳng thức rút gọn. Việc này
đưa ra một công thức mà việc giảm nhẹ lập trình tuyến tính là chặt chẽ hơn
trong các mô hình trước. Tuy nhiên mô hình này yêu cầu giải quyết với một


23

số lượng lớn các biến. Để ký hiệu đơn giản, trong các phần sau ta giả sử rằng

đồ thị G(V,A) hoặc G(V,E) là đầy đủ.

1.3.1. Mô hình luồng phương tiện
Mô hình này là một công thức luồng phương tiện hai chỉ số sử dụng
O(n2) biến nhị phân để chỉ ra rằng nếu một xe duyệt một cạnh trong lời giải
tối ưu hay không. Hay nói cách khác, biến xij = 1 nếu cạnh (i, j) ∈ A thuộc
vào lời giải tối ưu và lấy giá trị 0 nếu ngược lại.
(1.3)
(VRP1) min ∑∑ cij xij
i∈V j∈V

thỏa mãn

Ràng buộc mức độ trong và mức độ ngoài (1.4 và 1.5) lần lượt chỉ ra
rằng chỉ có chính xác một cạnh đến và một cạnh đi khỏi mỗi đỉnh tương ứng
với một khách hàng. Ràng buộc (1.6) và (1.7) ngầm chỉ các yêu cầu mức độ
cho đỉnh kho hàng. Chú ý rằng một ràng buộc nào đó trong số 2|V| ràng buộc
(1.4) – (1.7) thực sự suy được từ 2|V| - 1 ràng buộc còn lại; do vậy có thể loại
bỏ nó.
Các ràng buộc capacity – cut (1.8) ngầm chỉ sự liên kết của cả lời giải
và các yêu cầu về dung lượng xe. Trong thực tế, chúng đặt ra điều kiện là mỗi
vết cắt (V\S,S) được xác định bởi một tập khách hàng S được giao nhau bởi
một số lượng các cạnh không nhỏ hơn r(S) (số lượng xe tối thiểu cần thiết để
phục vụ tập S).


24

Dễ thấy rằng khi |S| = 1 hoặc S = V \ {0} CCCs là dạng yếu của các
ràng buộc cấp độ tương ứng (1.4) – (1.7). Cũng chú ý rằng, từ (1.4) – (1.7) ta



Nói cách khác, mỗi phép cắt (V \ S, S) được thực hiện trong cả hai
hướng cùng một số lần. Từ (1.10) ta phát biểu lại (1.8) như sau

Một công thức khác thu được bằng cách biến đổi CCCs (1.8), theo ý
nghĩa của các ràng buộc cấp độ (1.4) – (1.7) thành ràng buộc loại trừ hành
trình con tổng quát hóa (GSECs) ngầm chỉ rằng ít nhất r(S) cạnh dời mỗi tập
khách hàng S:

Cả hai họ ràng buộc (1.8) và (1.12) có số các phần tử tăng trưởng theo
hàm mũ với n. Điều này có nghĩa là không thực tiễn để giải bài toán trực tiếp
theo lập trình tuyến tính cho (1.3) – (1.9). Một cách để vượt qua vấn đề này là
ta chỉ xem xét một tập con giới hạn của các ràng buộc này và chỉ thêm vào
ràng buộc còn lại nếu cần thiết. Các ràng buộc xem xét có thể được giảm nhẹ
bằng mô hình Lagrangian hoặc giảm nhẹ lập trình tuyến tính. Mô hình luồng
phương tiện có thể biến đổi phù hợp để mô hình hóa một số biến thể của
phiên bản cơ bản của SCVRP và ACVRP.

1.3.2. Mô hình luồng hàng hóa
Mô hình luồng hàng hóa được đưa giới thiệu đầu tiên bởi Garvin và các
đồng nghiệp cho bài toán phân phồi dầu. Theo ông, bên cạnh các biến được
sử dụng bởi các công thức luồng phương tiện hai chỉ số ở phần 1.3.1 cần có
một tập (liên tục) các biến gắn với các cạnh, các biến này biểu diễn tổng số
yêu cầu khi đi dọc theo cạnh. Tuy nhiên, mô hình này không được sử dụng để
phát triển các tiếp cận cho VRP.
Dựa trên mở rộng đối với SCVRP của mô hình luồng hai – hàng hóa
cho TSP được giới thiệu bởi Finke, Claus và Gunn, vì công thức mô hình
luồng phương tiện yêu cầu có hướng của cạnh nên ta định nghĩa mô hình trên
một đồ thị có hướng tương ứng với đồ thị vô hướng này.



25

Cho đồ thị G = (V, A), thêm cạnh n + 1 là một bản sao của đỉnh kho
hàng như đã trình bày ở phần 1.3.2 ta thu được đồ thị G’ = (V’, A’). Bây giờ
các lộ trình là các đường từ đỉnh 0 tới đỉnh n + 1. Với mỗi cạnh (i, j) ∈ A’, kết
hợp hai biến luồng không âm yij và yji. Nếu một xe đi từ đỉnh i tới đỉnh j thì yij
và yji lần lượt là trọng tải hàng trên xe và dung lượng còn dư của xe, ví dụ yji
= C – yij. Nếu xe đi từ đỉnh j tới đỉnh i thì là ngược lại. Do vậy đẳng thức C =
yij + yji là cho mỗi cạnh (i, j) ∈ A’.
Với bất kỳ lộ trình nào của một lời giải chấp nhận được, các biến luồng
xác định hai đường trực tiếp, một đường từ đỉnh 0 tới đỉnh n + 1, với đường
này các biến biểu diễn trọng tải hàng trên xe, và một đường từ đỉnh n + 1 tới
đỉnh 0, với đường này các biến biểu diễn dung lượng còn dư của xe. Nói cách
khác, một xe đi từ đỉnh 0 tới đỉnh n + 1, dời đỉnh 0 với đủ các hàng hóa, phân
phối hàng hóa cho mọi khách hàng với một lượng bằng với yêu cầu của khách
hàng, và đến đỉnh n + 1 là hết hàng; trường hợp còn lại là một xe dời đỉnh n +
1 và thu nhận hàng tại mỗi khách hàng với một lượng như yêu cầu. Ví dụ, với
bốn khách hàng và C = 25 như ở hình 1.2, yêu cầu được viết cạnh mỗi đỉnh.

Hình 1.2: Ví dụ các luồng đường đi trên một lộ trình (C = 25)
Cũng giống như mô hình luồng phương tiện hai chỉ số, với mỗi cạnh (i, j) ∈
A’, đặt xij = 1 nếu cạnh là thuộc lời giải và bằng 0 nếu ngược lại. Công thức số
nguyên của SCVRP như sau:
(1.13)
(VRP2) min ∑ cij xij
(i, j )∈ A '

thỏa mãn



26

(1.14)

∀i ∈V '\{0, n + 1}

∑ ( y ji − yij ) = 2di

j∈V '

(1.15)
(1.16)
(1.17)
(1.18)
(1.19)

∑ y0 j = d (V \ {0, n + 1}),
j∈V '\{0, n +1}

∑ y j 0 = KC − d (V \ {0, n + 1}) ,

j∈V '\{0, n +1}

∑ yn +1 j = KC

j∈V '\{0, n +1}

yij + y ji = Cxij

∀(i, j ) ∈ A' ,
∑ ( xij + x ji ) = 2 ∀i ∈V '\{0, n + 1},
j∈V '

(1.20)
(1.21)

yij ≥ 0

xij ∈ {0,1}

∀(i, j ) ∈ A' ,
∀(i, j ) ∈ A'.

Ràng buộc (1.14) chỉ ra sự khác nhau giữa tổng của các biến luồng
hàng hóa kết hợp với mỗi cạnh vào và ra khỏi mỗi đỉnh i là bằng với hai lần
yêu cầu của i. Ràng buộc (1.15) – (1.17) chỉ ra các giá trị đúng cho các biến
luồng hàng hóa tới đỉnh kho hàng. Cuối cùng, ràng buộc (1.18) và (1.19) lần
lượt chỉ ra sự liên hệ giữa các biến luồng phương tiện và luồng hàng hóa và
bậc đỉnh.
1.3.3. Mô hình phân hoạch tập
Công thức phân hoạch tập (SP) của VRP ban đầu được đề xuất bởi
Balinski và Quandt, sử dụng một số lượng hàm mũ các biến nhị phân, mỗi
biến kết hợp với một mạch chấp nhận được khác nhau của G. Đặc biệt hơn,
gọi H = {H1,…,Hq} biểu diễn tập hợp tất cả các mạch của G, mỗi mạch

tương ứng với một lộ trình chấp nhận được, với q = |H|. Mỗi mạch Hj có một
chi phí cj. Thêm vào đó, đặt aij là một hệ số nhị phân nhận giá trị 1 nếu đỉnh i
được thăm (hoặc được phủ) bởi lộ trình Hj và nhận giá trị 0 nếu ngược lại.
Biến nhị phân xj, j = 1,…,q bằng 1 nếu và chỉ nếu mạch Hj được chọn vào lời

giải tối ưu. Mô hình là:
q

(1.22)

(VRP3) min

∑c j x j

j =1

thỏa mãn
(1.23)

q

∑ aij x j = 1

j =1

∀i ∈V \ {0},


×