SlideShare a Scribd company logo
1 of 84
Download to read offline
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-------- --------
 
Nguyễn Việt Hân
THUẬT TOÁN DI TRUYỀN SONG SONG GIẢI BÀI TOÁN
VRP (VEHICLE ROUTING PROBLEM) VỚI HẠN CHẾ
THỜI GIAN
LUẬN VĂN THẠC SĨ KHOA HỌC
Hà Nội – Năm 2009
NGUY
ỄN
VIỆT
HÂN
B O
Ộ GIÁO DỤC VÀ ĐÀO TẠ
TRƯỜ Ạ Ọ Ộ
NG Đ I H C BÁCH KHOA HÀ N I
---------------------------------------
Nguyễn Việt Hân
THUẬ Ề
T TOÁN DI TRUY N SONG SONG GIẢI BÀI
TOÁN VRP (VEHICLE ROUTING PROBLEM) VỚI
HẠN CHẾ THỜI GIAN
2007
2009
-
LUẬN VĂN TH C SĨ KHOA H
Ạ ỌC
CHUY ÀNH TH
ÊN NG : CÔNG NGHỆ ÔNG TIN
NGƯ I HƯ
Ờ ỚNG DẪN KHOA HỌC:
TS. NGUYỄN ĐỨC NGHĨA
Hà nội
2009
Hà Nội – Năm 2009
2
Lời cảm ơn
Trư m ơn chân thành đ
ớc tiên, em xin gửi lời cả ế ầ ễ ứ
n Th y PGS. TS. Nguy n Đ c
Nghĩa đã đị ớ
nh hư ng nghiên c u và góp
ứ ý cho em đ có đư
ể ợ ậ
c lu n văn hoàn chỉnh.
Em xin cảm ơn Quý Thầy cô trong Khoa i lòng nhi t huy n t
, vớ ệ ế ắ
t, đã vun đ p nề ảng
tri th c v c cho các th
ứ ững chắ ế ệ ọ
h h c viên. Đây sẽ là hành trang vô giá cho chúng
em trên con đường nghiên cứ ọ
u khoa h c.
Nhân đây, con xin gử ờ ế
i l i bi t ơn đế ẹ
n cha m t m
đã vất vả nuôi nấng và ạo ọi điều
ki luôn ng
ệ ể
n đ con có đượ ả ờ ợ
c như ngày hôm nay. Xin c m ơn em, ngư i v lo lắ , chia
sẻ và động viên anh vượt qua những khó khăn, thử thách.
Sau cùng, không thể thiếu lời cảm ơn đế ị đồ ệ ổ
n các anh ch ng nghi p đã trao đ i,
khích lệ ờ
và dành th i gian nhiều hơn cho tôi để hoàn thành tố ậ
t lu n văn.
3
M c
ục lụ
Lời cảm ơn ................................................................................................................. 2
Mục lục....................................................................................................................... 3
Chương 1: Giới thiệu ............................................................................................. 9
1.1 Đặt vấn đề..................................................................................................... 9
1.2 Giới thiệu về VRP ...................................................................................... 10
1.3 Các tiêu chuẩn phân loại bài toán VRP...................................................... 12
1.4 Một số dạng chính của bài toán VRP......................................................... 13
1.4.1 VRP với hạn chế khả năng chở hàng hóa...........................................13
1.4.2 VRP với hạn chế thời gian..................................................................14
1.4.3 VRP với nhiều kho hàng hóa..............................................................15
1.4.4 VRP định kỳ........................................................................................16
1.4.5 VRP mở...............................................................................................17
1.4.6 VRP tách phân phối ............................................................................17
1.4.7 VRP với khả năng chuyên chở về.......................................................17
1.4.8 VRP với khả năng nhặt và phân phối .................................................18
1.5 Tối ưu tổ hợp.............................................................................................. 19
Chương 2: Bài toán VRP với hạn chế thời gian ................................................ 20
2.1 Định nghĩa .................................................................................................. 20
2.2 Mô hình toán học........................................................................................20
2.3 ...........................................................................
Các cấu trúc vùng lân cận 23
2.4 Các phương pháp chính tiếp cận giải bài toán ........................................... 26
2.4.1 Các phương pháp chính xác................................................................26
2.4.1.1 Dựa trên quy hoạ ộ
ch đ ng ................................................................26
2.4.1.2 D t
ựa trên phát sinh cộ .....................................................................26
2.4.1.3 Dựa trên phân rã Lagrange..............................................................26
2.4.1.4 D -
ựa trên K Tree ..............................................................................27
4
2.4.2 Các phương pháp heuristic .
................................................................ 27
2.4.2.1 Nguyên lý ........................................................................................27
2.4.2.2 Heuristic xây dựng lộ trình..............................................................28
2.4.2.3 Heuristic c i thi
ả ện lộ trình...............................................................29
Chương 3: Thuật toán di truyền song song ....................................................... 35
3.1 Giới thiệu về thuật toán di truyền............................................................... 35
3.2 Các phép toán chính của thuật toán di truyền ............................................ 36
3.2.1 Phép chọn............................................................................................36
3.2.2 Phép lai................................................................................................37
3.2.3 Phép đột biến.......................................................................................39
3.3 Các mô hình song song .............................................................................. 40
3.3.2 Song song dạng chủ tớ........................................................................41
3.3.3 Song song dạng đa quần thể con có di trú ..........................................42
3.3.4 Song song dạng quần thể con chồng lấp, không di trú .......................44
3.3.5 Thuật toán di truyền song song khối lớn ............................................45
3.3.6 Song song dạng các nhóm cá thể động...............................................45
3.3.7 Thuật toán song song trạng thái ổn định.............................................46
3.3.8 Thuật toán song song hỗn tạp .............................................................46
3.3.9 Các phương pháp lai ...........................................................................46
Chương 4: Thuật toán di truyền song song giải bài toán VRP với hạn chế thời
gian .............................................................................................................48
4.1 Heuristic xây dựng lộ trình......................................................................... 48
4.2 Thuật toán di truyền giải bài toán VRPTW................................................ 52
4.2.1 Biểu diễn nhiễu sắc thể .......................................................................52
4.2.2 Tạo quần thể ban đầu..........................................................................53
4.2.3 Đánh giá tính thích nghi......................................................................54
4.2.4 Các thao tác di truyền .........................................................................55
4.2.4.1 Chọn lọc ..........................................................................................55
4.2.4.2 Tái tổ ợ
h p ........................................................................................56
5
4.2.5 Tạo thế hệ mới ....................................................................................57
4.3 Thuật toán di truyền song song giải bài toán VRPTW .............................. 59
Chương 5: Hiện thực và đánh giá chương trình ............................................... 63
5.1 Các vấn đề hiện thực ..................................................................................63
5.1.1 Cấu trúc dữ liệu biểu diễn lộ trình và lời giải.....................................63
5.1.2 Hai chiến lược khởi tạo quần thể ban đầu...........................................64
5.1.3 Một số kỹ thuật song song hóa ...........................................................65
5.2 Đánh giá kết quả......................................................................................... 67
5.2.1 Phương pháp đánh giá.........................................................................67
5.2.2 Kết quả thực hiện................................................................................68
5.2.3 Các nhận xét........................................................................................76
Chương 6: Kết luận và hướng phát triển........................................................... 77
6.1 Các kết luận................................................................................................ 77
6.2 Hướng phát triển......................................................................................... 77
Tài liệu tham khảo ..................................................................................................78
Tóm tắt ..................................................................................................................... 82
Abstract....................................................................................................................83
6
Danh sách các từ viết tắt
GA Genetic Algorithm
PGA Parallel Genetic Algorithm
MIMD Multiple Instruction Multiple Data
VRP Vehicle Routing Problem
VRPTW Vehicle Routing Problem with Time Window
PFIH Push-Forward Insertion Heuristic
LSD λ-Interchange Local Search Descent
TSP Travelling Salesman Problem
ACS Ant Colony System
ACO Ant Colony Optimization
MACS-
VRPTW
Multiple Ant Colony System for Vehicle Routing Problems with
Time Windows
PMX Partially Mapped Crossover
7
Danh sách các hình
Hình 1.1 Lời giải với 2 lộ trình của một thể hiện VRP 12 khách hàng.................11
Hình 1.2 Ví dụ VRP với hạn chế khả năng có 3 lộ trình.......................................14
Hình 1.3 Ví dụ VRP với 3 kho hàng hóa...............................................................16
Hình 1.4 Ví dụ VRP với khả năng nhặt và phân phối...........................................18
Hình 2.1 Ví dụ về một trao đổi Or-Opt .................................................................23
Hình 2.2 Ví dụ về một trao đổi 2-Opt*..................................................................24
Hình 2.3 Minh họa thao tác relocate......................................................................24
Hình 2.4 Minh họa thao tác trao đổi (exchange)...................................................25
Hình 2.5 Kiến của MACS
trúc -VRPTW...............................................................33
Hình 3.1 Các khái niệm cơ bản của thuật toán di truyền.......................................35
Hình 3.2 Vòng quay lựa chọn cá thể .....................................................................36
Hình 3.3 Thao tác trao đổi chéo một điểm cắt.......................................................38
Hình 3.4 Thao tác trao đổi chéo nhiều điểm cắt....................................................38
Hình 3.5 Một số loại đột biến thường gặp.............................................................39
Hình 3.6 Phân loại các thuật toán di truyền song song .........................................41
Hình 3.7 Mô hình song song dạng chủ tớ..............................................................42
Hình 3.8 Lược đồ thuật toán di truyền song song kết mịn. Lớp thuật toán này có
một quần thể được phân tán từng phần và được hiện thực rất hiệu quả trên các máy
tính song song lớn.....................................................................................................44
Hình 3.9 Các hình thức kết hợp phân cấp .............................................................46
Hình 4.1 Chọn cá thể theo vòng thi đấu ................................................................56
Hình 4.2 Mô hình giải thuật song song dạng chủ tớ..............................................60
Hình 5.1 Minh họa cấu trúc danh sách liên kết biểu diễn một lộ trình .................63
Hình 5.2 Minh họa cấu trúc dữ liệu lời giải cho VRPTW.....................................64
Hình 5.3 Hệ thống cluster thử nghiệm ..................................................................69
Hình 5.4 Biểu đồ biểu diễn giá trị Speedup theo số tiến trình trong từng phân
nhóm ................................................................................................................75
8
Danh sách các bảng
Bảng 5.1 Bảng so sánh kết quả trung bình từ các kết quả tốt nhất giữa các
phương pháp và kết quả tốt nhất được biết...............................................................70
Bảng 5.2 Bảng chi tiết so sánh thời gian trung bình khi thực thi tuần tự so với
thời gian trung bình khi thực thi song song ứng với số tiến trình khác nhau và theo
từng tập tin mẫu.........................................................................................................71
Bảng 5.3 Bảng tổng hợp so sánh thời gian trung bình thực thi tuần tự và song
song trong mỗi nhóm dữ liệu ....................................................................................74
Bảng 5.4 Bảng Speedup trung bình của chương trình thực thi song song tính
theo từng nhóm mẫu..................................................................................................74
9
Chương 1: Giới thiệu
1.1 Đặt vấn đề
VRP là bài toán các l trình t c v
xác định ộ ố độ
i ưu cho i xe vận chuyển nh ph
ằm ụ ụ
các khách hàng trí khác nhau. ng trong th
ở các vị Đây là bài toán có nhiều ứng dụ ực
t t
ế ừ khâu cung cấp nguyên liệ ế
u thô đ n khâu phân phối thành phẩm trong các nhà
máy m,
s t d v
ản xuấ , các công ty ịch vụ ận chuyể ẩ
n như bưu ph hành khách, … Rõ
ràng, chi phí vận chuy n s
ể ẽ giảm nếu các xe di chuyển theo các lộ trình tố ừ
i ưu, t đó
giúp gi m giá thành hàng hóa i kinh t
ả . Trong thờ ạ
i đ ế ộ
xã h i ngày càng phát triển,
các yêu c a khách hàng
ầu củ ngày càng khắt khe hơn. u như
Tiêu biể yêu cầ ả
u ph i
đượ ứ
c đáp ng trong mộ ả ờ ị ạ ộ ộ
t kho ng th i gian xác đ nh; các công ty ho t đ ng theo m t
th th i
ời gian bi y, v trình VRP v i h
ểu chính xác, … Chính vì vậ ấ ề ậ
n đ l p lộ ớ ạn chế ờ
gian (viết t t là VRPTW)
ắ ngày càng được quan tâm hơn. Luậ ặ
n văn đ t nghiên cứu
trên bài toán VRPTW i xu th phát tri
phù hợp vớ ế ển.
Hơn thế ộ ạ ộ
, VRP là m t d ng bài toán NP-khó, do đó, VRPTW cũng thu c -
NP khó.
Mục tiêu của VRPTW là tối thiểu số xe vận chuyển và tổng khoảng cách di chuyển
khi phục vụ các khách hàng mà không vi phạm các ràng bu c v
ộ ề khả năng chuyên
ch th i thi
ở ủ
c a các xe và các c a s
ử ổ ờ ứ
i gian đáp ng. Để tìm lời giả khả cho bài toán,
nhiề ậ
u thu t toán đã được nghiên c u và
ứ ứng dụ ậ
ng như các thu t toán a trên quy
dự
hoạ ộ
ch đ ng, các thu các thu
ật toán dựa trên s i l ng Lagrange,
ự ớ
n ỏ ật toán a trên
dự
heurictic . thu heuris t.
, .. Trong đó, các ật toán tic được quan tâm nhiều nhấ Luận văn
ti i thu t
ếp c n gi
ậ ả ật di truyền giải quyết bài toán VRPTW. Đây là giải thuậ dựa trên
heuristic được ứng dụ ộ
ng r ng rãi trong nhiều bài toán c t
tối ưu thự ế thuộ ề
c nhi u lĩnh
vực khác nhau.
Các thu t toán d a trên heuristic ng cho các l i gi có tính thi cao, g
ậ ự thườ ờ ải khả ần với
l i l
ời giải tố ủ
i ưu c a bài toán. Tuy nhiên, giải thuật phả ặp qua nhiều vòng lặp với
nhi nhi u
ều tính toán đòi hỏi ề năng lực tính toán a máy tính
củ . Tiêu biểu như thuật
toán i th
di truyền phả lặp qua nhiều ế ệ
h , các thao tác tính toán th c hi n trên t
ự ệ ừng
10
cá th th thu
ể ủ
c a toàn bộ ầ
qu n th . Vì th , th i gian
ể ế ờ ực hiện các ật toán heuristic khá
lâu và tiêu t c tính toán c a máy tính
ốn nhiề ự
u năng l ủ . Do đó, bên cạnh việc nghiên
cứu và áp dụng thuật toán di truyền vào giải bài toán VRP với hạn chế thời gian,
luậ ậ
n văn cũng t p trung phát tri t toán di truy c rút
ển thuậ ền song song nhằm nổ ự
l
ngắ ờ ờ
n th i gian tìm l i giải cho bài toán.
1.2 Giới thiệu về VRP
D v
ịch vụ ận chuyển là một khâu quan tr ng trong ngành công nghi p s n xu
ọ ệ ả ất. Đầu
tiên, các nguyên li u thô
ệ ph uy nhi
ải được vận ch ể ế
n đ n nhà máy từ ều nhà cung cấp
khác nhau các thành ph c v
; kế đến, ẩ ờ ợ
m thư ng đư ận chuyể ế
n đ n các kho ở ị
các v trí
đị ừ ợ ố
a lý khác nhau; Sau đó, t các kho trung tâm này, các hàng hóa đư c phân ph i
đế ậ ể ấ ề ợ ả ề ừ
n các khách hàng và th m chí có th l y v các hàng hóa đư c tr v t các khách
hàng. Cả hai qui trình cung cấp và phân phố ề ỏ
i đ u đòi h i khả năng quản lý các
phương tiện v n m
ận chuyể ột cách hiệu quả nhằm tiết kiệm t M
ối đa chi tiêu. ột trong
các thướ ệ ả ấ
c đo hi u qu nh t cho việ ả
c qu n lý này chính là hiệ ả ủ
u qu c a việc lậ ộ
p l
trình cho các xe v Yêu c trình cho các xe v i các ràng
ận chuyển. ầ ố ộ
u t i ưu các l ớ
buộc khác nhau p l
đã phát sinh bài toán lậ ộ ậ
trình xe v n chuyển - VRP.
Bài toán l i ti t là bài toán
ập lộ ả
trình đơn gi i và nổ ếng nhấ người bán hàng
(Traveling Salesman Problem - TSP). Người bán hàng phải thành
ghé thăm một số
ph và
ố sau đó trở ề ị ấ ầ
v v trí xu t phát ban đ u. Một lộ trình phả ợ
i đư c xây dựng sao
cho t i bán hàng
ố ả
i ưu kho ng cách di chuy n. M bài toán
ể ở ộ
r ng TSP, m ngườ xuất
phát t c cho. M i thành
ại cùng mộ ị ể
t đ a đi m và phả ấ
i ghé thăm t t cả thành phố ợ
đư ỗ
ph ph
ố ả ợ ộ
i đư c thăm chính xác m t lần bởi mộ ờ
t ngư i bán hàng nào đó. Bài toán
cũng tối ưu tổ ả ủ ộ ớ
ng kho ng cách c a các l - v
trình. VRP chính là bài toán m TSP i
mộ ỏ ợ
t đòi h i đư c liên kết với mỗi thành phố và mỗi xe có một khả năng vận chuyển
xác định.
11
Hình 1.1 Lời giải với 2 lộ trình một thể hiện
của VRP 12 khách hàng
(Trong Hình 1.1, ô vuông th n kho hàng trung tâm, các vòng tròn th
ể hiệ ể hiện các
khách hàng đượ ố ứ ự ớ
c đánh s th t , các mũi tên có hư ng thể hiệ ớ ủ
n hư ng đi c a các lộ
trình).
Bài toán VRP là ng bài toán ra quy m tìm các l trình t
dạ ế ị
t đ nh, nhằ ộ ố ộ
i ưu cho đ i xe
v n . M
ận chuyể hàng hóa đến các khách hàng ở các đị ể
a đi m khác nhau ục tiêu của
bài toán thường là tối thiể ổ ả
u t ng kho ng cách hoặc thời gian di chuyể ớ ề
n v i nhi u
ràng bu chuyên ch a xe
ộc cụ thể ả
như kh năng ở ủ
c , khoảng thời gian mong muốn
đượ ứ
c đáp ng của khách hàng, ...
Bài toán VRP thườ ồ ấ
ng bao g m ít nh t hai bài toán con liên quan nhau:
• Bài toán phân hoạ ằ ậ ậ
ch: nh m phân chia t p khách hàng thành các t p con sao
cho m p con
ỗ ậ
i t chỉ đư nào đó
ợ ụ ụ ở ộ
c ph c v b i m t xe .
• Bài toán đị ế ằ ộ ố
nh tuy n: nh m tìm ra l trình t i ưu cho mỗ ậ
i xe v n chuyển.
VRP là m t v i các tình
ộ ấ ề ộ
n đ r ng và có thể bao gồm nhiều vấ ề
n đ con ứng vớ
hu n
ống và các ràng bu khác nhau
ộc . ,
Do đó để đơn giả khi giải quyết bài toán VRP,
tùy theo mụ ờ ờ ụ ể ộ ố ộ ụ ụ ụ
c tiêu mà ngư i ta thư ng c th m
hóa t s ràng bu c ph . Ví d m c
tiêu phục vụ khách hàng cao là phải phân phát chính xác, nghĩa là phân phát đúng
s i
ố lượng, đúng chấ ợ ờ
t lư ng, đúng th gian tại mộ ị ể
t đ a đi m chính xác.
12
1.3 Các tiêu chuẩn phân loại bài toán VRP
Như đã trình bày trên, VRP có nhiề ụ
u m c tiêu và các ràng buộc khác nhau. Vì thế,
trong th có r c tiêu và i l
ực tế ất nhiều lớp bài toán VRP tùy theo mụ s n
ự ớ ỏng hoặc
thêm các ràng bu ác tiêu chu c s t các d
ộc. C ẩn sau đây đượ ử ụ ể ệ
d ng đ phân bi ạng bài
toán VRP khác nhau:
STT Đặc tính Tùy chọn
1 S m
ố ục tiêu
− Đơn mục tiêu
− Đa mục tiêu
2 u
Ràng buộc nhu cầ
− Tất cả các nhu cầu củ ề
a khách hàng đ u
đượ ứ
c đáp ng.
− Xác đị ộ ố ợ
nh m t s khách hàng nên đư c
phụ ụ
c v .
− Cho phép tách các phân phối hay
không.
3 Ràng buộc thời gian
− Không cử ổ ờ
a s th i gian.
− Cửa sổ thời gian một bên hoặc hai bên,
c m.
ửa sổ thời gian cứng hoặc mề
4 d
Đa sử ụng xe
− M m
ột xe phục vụ ột lộ trình.
− Một xe có thể phục vụ nhiều hơn mộ ộ
t l
trình.
5 Thuộc tính của đoàn xe
− Đoàn xe vận chuyể ồ
n đ ng nhất.
− Đoàn xe vận chuyể ồ
n không đ ng nhất.
6 Số kho
− Một kho trung tâm chứa hàng hóa.
− Nhiều kho hàng hóa.
13
STT Đặc tính Tùy chọn
7 Loại lộ trình
− Lộ trình đóng
− Lộ trình mở
8 Thời gian hoạ ị
ch đ nh
− Khoả ờ
ng th i gian phân phối đơn
− Xác định khách hàng nào nên được
phục v i th
ụ ạ
t ờ ể
i đi m nào củ ạ
a ho ch
định.
9 Kiểu phục vụ
− Kiể ụ ụ ặ ố ặ
u ph c v đơn: ho c phân ph i ho c
lấy và mang hàng hóa trở ề
v .
− Kiể ụ ụ ỗ ợ ừ
u ph c v h n h p: v a có phân
phố ừ ề
i, v a có mang v .
1.4 bài toán VRP
Một số dạng chính của
1.4.1 VRP với hạn chế khả năng chở hàng hóa
VRP với hạn chế ả ở ủ
kh năng ch c
hàng hóa a xe (Capaciated vehicle routing
problem là t
– CVRP) mộ dạ ộ
ng bài toán VRP nhưng có thêm ràng bu c m i xe
ỗ đều
có khả ở ố
năng chuyên ch như nhau đ i v i m và t i c
ớ ột hàng hóa đơn nào đó ổng tả ủa
mỗi xe không vượt quá khả năng của nó.
M h n
ục tiêu của bài toán CVRP là tối thiểu số xe và tổng t ời gian di chuyể , đồng
thờ ổ
i t ng số lượ ợ
ng hàng hóa đư c gán cho mỗ ộ ợ ả
i l trình không vư t quá kh năng
c l
ủa xe phục vụ ộ trình đó. Như vậy, lời giải cho bài toán CVRP giố ờ
ng như l i giải
c t c
ủ ạ
a bài toán VRP nhưng có thêm h n chế ổng nhu cầu của tất cả khách hàng ần
đượ ụ ụ ộ
c ph c v trên l R
trình t không vượt quá khả năng xe Q
.
∑
=
≤
m
i
i Q
d
1
Trong đó:
14
m: tổng số khách hàng được gán trên lộ trình Rt.
di: nhu cầu của khách hàng thứ i trên lộ trình.
Q : khả năng của xe.
Hình 1.2 Ví dụ VRP với hạn chế khả năng có 3 lộ trình
1.4.2 VRP với hạn chế thời gian
VRP với hạn ch i gian (vehicle routing problem with time windows
ế ờ
th – VRPTW)
là m a bài toán CVRP b a s i gian. C
ở ộ
r ng củ ằ ộ
ng cách đưa thêm ràng bu c cử ổ thờ ửa
s c
ổ thời gian ủa một khách hàng là khoảng thời gian mong muố ợ ứ
n đư c đáp ng của
khách hàng đó.
C [
ửa sổ thời gian ei, li] của khách hàng thứ ị
i qui đ nh rằng xe vận chuyển:
• Phả ế đị ể ứ ớ ờ ể
i không đ n a đi m khách hàng th i trư c th i đi m e i hoặc phải chờ
nế ế
u nó đ n ở thờ ể
i đi m ti < ei.
• Phả ế đị ể ứ ờ ể
i không đ n a đi m khách hàng th i sau th i đi m l i ≥ ei.
d ,
Bài toán VRPTW là ạng bài toán xác định nhiều mục tiêu bao gồm:
1. Tối thiểu số lộ trình hay số xe.
2. Tối thiểu tổng khoảng cách di chuyển.
3. Tối thiểu tổng thời gian cần cho các xe, kể cả thời gian chờ.
15
Tùy theo giá trị ei, li c
trong ửa sổ thời gian [ei, li] d
, có một số ạng cửa sổ thời gian
sau:
• C a s n u
ử ổ thời gian hai bên ế 0 < ei ≤ li < ∞.
• C th
ửa sổ ời gian một bên nếu e i -
= ∞ hoặc li = ∞.
• C n
ửa sổ thời gian hai bên cứng ếu một lời giả ợ
i đư c xem là không khả thi
trong trư t xe đ n trư i đi
ờng hợ ộ
p m ế ớ ờ
c th ểm ei hoặc sau thờ ể
i đi m li t .
ại nút i
• Cửa sổ thời gian một bên cứng nếu mộ ế
t xe không đ n trễ hơn l i tại nút i hoặc
phả ờ ế ế
i ch n u nó đ n sớm hơn th i đi
ờ ểm ei t .
ại nút i
• C n
ửa sổ thời gian mềm ếu thờ ể ế
i đi m đ n của xe không ả ở ế
nh hư ng đ n tính
khả ủ
thi c a l t b
ời giả ị ạ
i, nhưng b ph ằng cách c ng thêm m
ộ ột giá trị vào hàm
mục tiêu.
}
,
0
max{
}
,
0
max{ i
i
l
i
i
e l
t
t
e −
+
− ρ
ρ
Với 0
≥
e
ρ và 0
≥
l
ρ là các hằng số giá trị phạt cho trước.
1.4.3 VRP với nhiều kho hàng hóa
VRP với nhiều kho hàng hóa (multi- –
depot vehicle routing problem MDVRP)
cũng là mở ộ ủ ằ
r ng c a CVRP b ng cách xem xét nhiều kho hàng hóa chứ không phải
ch t
ỉ ộ
m kho trung tâm như các dạng trên. Ngoài việc gán các khách hàng tới các xe
vận chuyể ị
n và xác đ nh các lộ trình cho các xe, bài toán có thêm một mứ ị
c xác đ nh
nữa là gán các lộ trình (hoặ ế
c các khách hàng) đ n các kho.
16
Hình 1.3 Ví dụ VRP với 3 kho hàng hóa
1.4.4 VRP định kỳ
VRP đị ỳ ở ộ
nh k ( –
periodic vehicle routing problem PVRP) là m r ng bài toán VRP
b m r
ằng cách ở ộng thời gian hoạ ị
ch đ nh thành vài ngày, mộ ầ ỉ
t tu n, ... thay vì ch
một ngày. Trong kho khách hàng ph
ảng thời gian chính xác này, i
mỗ ả ợ
i đư c ghé
thăm ít nhất một lần. Như vậy, bài toán cần phả ị
i xác đ nh thêm những khách hàng
nào nên đư đáp ng ngày nào đ
ợc ứng vào nhữ ể ố
t i ưu tổng chi phí (bao gồm số xe,
tổng thời gian và tổng khoảng cách).
Mỗi khách hàng cho biế ớ
t trư c tần số phục vụ i
f l
(số ần) và nhu cầu 0
>
i
d cho mỗi
l h i V
ần phân p ố hàng hóa. ấ ề
n đ bài toán là tạo ra một nhóm các lộ trình cho mỗi
ngày sao cho các ràng buộ ợ
c liên quan đư c thỏa mãn và t c t
ổ ợ
ng chi phí đư ối ưu.
PVRP được xem như bài toán t i ưu t p đa m
ố ổ ợ
h ức:
• M nh h
ức thứ ất: mục tiêu tạo ra một nhóm các lựa chọn khả thi (các tổ ợp)
cho m nh là t = 3 ngày
ỗi khách hàng. Ví dụ: nếu khoảng thời gian hoạ ị
ch đ
{d1, d2, d3} h 0
thì các tổ ợp có thể là 000; 1001; 2010;
3011;4100; 5101; 6110; 7111. Nếu khách hàng đòi hỏi ghé thăm
hai l n thì khách hàng này có các l a ch
ầ ự ọn lịch ghé thăm sau: {d1, d2}, {d1,
d3}, {d2, d3}.
17
• Mức thứ hai: chọn ra một trong các lựa chọn cho mỗi khách hàng sao cho
các ràng bu Vì v ách hàng
ộc theo ngày được th a mãn.
ỏ ậy, c n ch các kh
ầ ọn ra
phả ợ ỗ
i đư c ghé thăm m i ngày.
• Mức thứ ba: giải bài toán VRP cho mỗi ngày.
1.4.5 VRP mở
VRP mở ả đị
–
(Open vehicle routing problem OVRP) gi nh một l trình k t thúc
ộ ế
ngay khi khách hàng cuối cùng trên l c ph c v Bài toán OVRP d
ộ ợ
trình đó đã đư ụ ụ. ễ
dàng chuyển đổ ằ ả ừ ỗ
i thành bài toán CVRP b ng cách gán các kho ng cách t m i khách
hàng trở ề ằ
v kho b ng 0.
1.4.6 VRP tách phân phối
VRP tách phân phối (Split Delivery vehicle routing problem là s
- )
SDVRP ự ớ
n i
lỏng bài toán VRP bằng cách cho phép t khách hàng có th
mộ ể ợ
đư c phụ ụ ở
c v b i các
xe khác nhau n m chi phí t . S i l
ế ề
u đi u này làm giả ổng thể ự ớ
n ỏng này rất quan
trọng khi nhu c u c
ầ ủa một khách hàng lớn hơn khả ở ủ
năng ch c a xe.
M m
ột lời giải khả thi nếu tất cả các ràng buộc của VRP thỏa mãn ngoại trừ ột khách
hàng có th t xe v Rõ ràng, bài toán c
ể ợ
đư c cung c i nhi
ấp bở ề ộ
u hơn m ận chuyển. ần
phải xác định thêm phần chia sẻ ]
1
,
0
[
∈
ir
y của nhu cầu di của khách hàng i được
phân phối trên lộ trình . i
r Bất l i c
ợ ủ ố
a phương pháp phân ph này là khách hàng
thư c đáp
ờng không thích nhu cầ ủ ọ ợ
u c a h đư ứng nhiề ầ
u l n.
1.4.7 VRP với khả năng chuyên chở về
VRP với khả ở ộ
năng chuyên ch m t s (VRP with backhauling
ố hàng hóa trở ề
v –
VRPB) phân bi t hai nhóm khách hàng N
ệ 1 và N2. M N
ỗi khách hàng i ∈ 1 đòi hỏi
ph ng
ả ợ
i đư c phân phối một số ợ
lư c t
hàng hóa cho trướ ừ kho. Trong khi đó, mỗi
khách hàng i N
∈ 2 yêu cầu mang một số lượng hàng hóa cho trước tại khách hàng
đó trở ề
v kho. Một giả định quan trọ ỗ ộ đầ ả
ng là m i l trình u tiên ph i phụ ụ ữ
c v nh ng
khách hàng thuộc nhóm N1 và sau đó có thể ụ
ph c vụ các khách hàng thuộc nhóm N2
18
trên đườ ở ề ệ
ng tr v kho. Vi c trộ ẫ ộ
n l n các khách hàng thu c hai nhóm với nhau là
không đượ ầ ụ ụ
c phép, nghĩa là đ u tiên ph c v N
khách hàng i ∈ 1, kế đến phục vụ
khách hàng j N
∈ 2, sau đó phục vụ khách hàng t N
∈ 1, ... trên m t l
ộ ộ ở
trình đơn. B i
vì đi d
ều này có thể ẫ ế
n đ n tiêu tốn thời gian và quá tải cho phép của xe, tức là các
ràng buộ ủ ể ị ạ
c c a VRP có th b vi ph m.
1.4.8 VRP với khả năng nhặt và phân phối
VRP v VRPPD) gi
ới khả ặ
năng nh t và phân phối (VRP with pickup and delivery – ả
đị ằ ỗ
nh r ng m i khách hàng cũng là một yêu cầ ậ ể
u v n chuy n. Mỗi yêu cầ ậ
u v n
chuyển i N
∈ đượ ặ ở
c đ c trưng b i:
• Vị trí lấy hàng hóa i+
và vị trí phân phối i-
;
• Số lượng hàng hóa di phả ợ
i đư c lấy tại i+
và được phân phối tại i-
;
• Các cử ổ ờ
a s th i gian ]
,
[ +
+ i
i
l
e và ]
,
[ −
− i
i
l
e tại vị trí nhặt và phân phối hàng hóa.
Hình 1.4 Ví dụ VRP với khả năng nhặt và phân phối
Các ràng bu c c ng là:
ộ ủa VRPPD thườ
• Các ràng buộ ứ ự ớ ở ỏ ậ ể ả ợ
c th t trư c sau b i vì bên đòi h i v n chuy n ph i đư c
viế ớ
ng thăm trư c bên phân phố ộ ộ
i trong cùng m t l trình.
• Vị trí nhặt i+
và vị trí phân phối i-
của mỗ ỏ
i đòi h i phải nằm trên cùng một lộ
trình.
19
• Tải của xe không vượt quá khả năng của nó.
• Thao tác nhặ ố ả ễ ả ờ
t và phân ph i ph i di n ra trong kho ng th i gian cho phép của
cửa sổ thời gian.
Mô hình nh và phân ph n chuy
ặt ố ờ ợ
i này thư ng đư c sử ụ ờ
d ng trong trư ng hợp vậ ển
hành khách. Khi đó, VRPPD có tính động cao và các đòi hỏi vận chuyể ế ộ
n đ n đ ng
theo th i gian.
ờ
1.5 Tối ưu tổ hợp
Bài toán t c l
ối ưu có thể ứ ị ỏ ấ
hình th c hóa như là tìm giá tr nh nh t hoặ ớn nhất c a
ủ
hàm mục tiêu f . Các biến i
x với [ ]
k
i ,
1
∈ , thườ ế
ng vi t )
,...,
,
( 2
1 k
x
x
x
x = gọi là các
biến quy ràng bu p l
ế ị
t đ nh. Một số ộ ị
c xác đ nh tậ ời gi i kh
ả ả thi S. S được g i là
ọ
không gian lờ ả ố ợ
i gi i. Bài toán t i ưu đư c phát biểu như sau:
)
(
min x
f
với giả thuyết S
x∈
Tập lời giải S đượ ả ằ ậ ợ ấ Ứ
c mô t b ng t p h p các phương trình và b t phương trình. ng
với một bài toán tố ớ
i ưu cho trư c, có nhiều cách khác nhau để hình thức hóa tương
ứ ụ ế ế ị ặ ả ờ ả
ng hàm m c tiêu, các bi n quy t đ nh và đ c t không gian l i gi i. Chính điều này
làm thu
nảy sinh các ật toán t v và h kéo theo là
khác nhau để giải quyế ấ ề
n đ ệ ả
qu
hiệu quả ấ ợ
tính toán cũng như ch t lư ng l khác nhau.
ời giải có thể
Các bài toán t p là các bài toán t i t i gi i kh
ối ưu tổ ợ
h ố ớ
i ưu v ập lờ ả ả thi là xác định
n t
hưng thường rất lớn. Các thuật toán hiệu quả chỉ ồn tại cho một số bài toán, trong
khi phần lớn gi ng nh
chỉ ể
có th ải bằ ững phương pháp đòi hỏi thời gian theo hàm số
mũ. Các bài toán thu i đ
ộc ch
dạng ỉ ể ả
có th gi i bằ ữ ỏ
ng nh ng phương pháp đòi h ộ
ph khó.
ứ ạ ờ ố ợ ọ
c t p th i gian theo hàm s mũ đư c g i là bài toán NP-
20
B
Chương 2: ài toán VRP với hạn chế thời gian
2.1 Định nghĩa
Theo Thangiah
định nghĩa của [4], VRP với hạn ch i gian
ế thờ (ký hiệu là VRPTW)
liên quan đ t đ năng và th
ế ộ
n m ộ ậ ể
i xe v n chuy n có các khả ờ ể
i gian di chuy n giới
h m m
ạn, xuất phát từ ột kho trung tâm đến các khách hàng ở các vị trí khác nhau; ỗi
khách hàng có nhu cầu và th th th
cửa sổ ời gian cụ ể, biết trướ ử
c. C a sổ ời gian có thể
là một phía hoặc hai phía. t phía,
Trong trường hợp mộ hạn chót đáp ứng thường
đượ ử ổ ờ ộ ả ợ
c quan tâm. C a s th i gian là hai phía, nghĩa là m t khách hàng ph i đư c
ph ph
ục v i ho c sau th
ụ ạ
t ặ ờ ể
i đi m bắ ầ
t đ u và ải trước thời điểm kết thúc c a c a s
ủ ử ổ
thời gian liên k t v Xe s i ch
ế ới khách hàng đó. ẽ ả
ph ờ ế ế
n u đ n một khách hàng sớm
hơn th u đ
ờ ể ắ ầ
i đi m b t đ u phụ ụ ẽ ị ễ ế
c v và s b tr n ế ờ ể ế ủ ử
n sau th i đi m k t thúc c a c a
sổ.
2.2 Mô hình toán học
Bài toán VRPTW đư t nút đ
ợc biể ễ ở
u di n b i một tậ ợ ố ộ
p h p V các xe gi ng nhau, m ặc
biệt gọi là kho hàng hóa p h p C bao g ng và
, m t t
ộ ậ ợ ồm các khách hàng cầ ứ
n đáp
m s n,
ột mạng có hướng kết nối kho với các khách hàng. Giả ử có K xe vận chuyể ký
hiệu V = -
{0, 1, 2, …, K 1} và N+1 khách hàng, ký hi u C
ệ = {0, 1, 2, …, N}. Để
đơn giả ợ ề ậ ứ
n, kho trung tâm đư c đ c p như là khách hàng th 0.
M b
ột lộ trình ắ ầ
t đ u từ kho, đi qua một số khách hàng và k i kho xu
ết thúc tạ ất phát.
S l s d
ố ộ trình trong mạ ằ
ng giao thông cũng chính b ng ố xe vận chuyể ợ
n đư c sử ụng,
K. Mỗi c giá tr chi phí
ạnh trong mạng có mang ị ij
c và thời gian di chuyển ij
t . Mỗi
khách hàng t nhu c
có mộ ầu i
m khác nhau và phả ợ ấ
i đư c ghé thăm duy nh t một lần
bởi một xe nào đó. Do trọng tải của xe k
q có giới hạn nên k
q phải lớ ặ
n hơn ho c
bằng tổng tất cả các nhu cầu của các khách hàng trong lộ trình di chuyển của nó.
Hơn nữ ỗ
a, m i khách hàng ph t kho ng th
ả ợ
i đư c ph trong m
ục vụ ộ ả ờ ị
i gian đ nh
trư i gian đ i gian đ
ớc, bị ớ
gi i hạ ở
n b i thờ ế ớ ấ
n s m nh t và thờ ến trễ ấ
nh t. Nếu các xe
21
v m s b
ận chuyể ế
n đ n trễ hơn thời điể trễ nhất này thì ẽ ị phạt, trong khi đó các xe đến
s m s t
ớ ờ
m hơn th i điể ớm nhất phải ạm ngừ ể
ng đ chờ đợi. Các xe phải hoàn thành
các l trình c
ộ ủa mình trong tổng th nh c
ời gian lộ trình cho phép (thời gian qui đị ủa
kho).
Mô hình toán họ ủ
c c a bài toán như sau:
Đặt:
• K: tổ ố ậ ể
ng s xe v n chuy n
• N: tổ ố
ng s khách hàng c n ph
ầ ụ ụ
c v
• C i: khách hàng th = 1, 2, …, N.
ứ i, với i
• C 0: kho hàng trung tâm
• c ij: chi phí đi từ đế
nút i n nút .
j
• t ij: thời gian di chuyển giữa nút .
i và nút j
• mi: a
nhu cầu củ nút .
i
• u i: biế ị ấ
n xác đ nh hư c u cho nút i.
• q k: khả ủ
năng c a xe k.
• t i: thời i
điể đế
m n tạ nút i.
• e i: th i t i
ờ điể ớ
m s m nhấ có th c v
ể ụ
ph ụ ạ
t nút .
i
• l i: thờ ể
i đi m trễ ấ
nh t còn được phép phụ ụ ạ
c v t i nút i.
• : th i
ời gian phục vụ ạ
t nút .
i
• i
w : thời gian chờ ạ
t i nút .
i
• k
r : th i gian l trình l
ờ ộ ớn nhấ ợ
t đư c phép cho xe k.
22
Mục tiêu:
∑∑∑
= =
−
=
N
i
N
j
K
k
ijk
ij x
c
Min
0 0
1
0
Trong đó: ijk
x = 1 nếu có cạnh nối giữa nút i và nút j và ijk
x = 0 nếu ngược lại.
Các ràng buộc:
K
x
K
k
N
j
ijk =
∑∑
−
= =
1
0 1
với 0
=
i (2.1)
1
1
0 ,
0
=
∑ ∑
−
= ≠
=
K
k
N
i
j
j
ijk
x với i = 1, 2, …, N (2.2)
0
,
0
,
0
=
− ∑
∑ ≠
=
≠
=
N
h
j
j
hjk
N
h
i
i
ihk x
x với ]
1
,
0
[
;
]
,
1
[ −
∈
∈
∀ K
k
N
h (2.3)
1
−
≤
+
− N
Nx
u
u ij
j
i với i= 1, 2, …, N; j = 1, 2, …, N; j
i ≠ (2.4)
k
N
i
j
j
ijk
N
i
i q
x
m ≤
∑
∑ ≠
=
= ,
0
0
với ]
1
,
0
[ −
∈
∀ K
k (2.5)
k
N
i
N
i
j
j
i
i
ij
ijk r
w
f
t
x ≤
+
+
∑ ∑
= ≠
=
0 ,
0
)
( với ]
1
,
0
[ −
∈
∀ K
k (2.6)
0
0 =
t (2.7)
j
i
i
ij
ijk
i t
w
f
t
x
t ≤
+
+
+ )
( với ]
1
,
0
[
;
;
]
,
1
[
, −
∈
≠
∈ K
k
j
i
N
j
i (2.8)
i
i
i l
t
e ≤
≤ với ]
,
1
[ N
i ∈ (2.9)
Ràng bu ) nh
ộc (2.1 ằ ả
m đ m bảo có chính xác K l i kho. Ràng bu
ộ ỏ
trình đi ra kh ộc
( 2 3 m v n
2. ) và (2. ) đảm bảo chỉ ột xe ận chuyể vào và ra tại một khách hàng. Ràng
bu 2.
ộc ( 4) đảm bảo không có các l trình con trong l
ộ ời giải. Khả năng của xe thể
hi n 2.
ệ ở ộ
ràng bu c ( 5) trong khi đó thời gian di chuyển lớn nhất cho mỗi xe được
đả ả ố ể ệ
m b o trong (2.6). Cu i cùng, các phương trình ( 7 8 9
2. ), (2. ), (2. ) th hi n các
ràng buộ ờ
c th i gian.
23
Mô hình hóa bài toán VRPTW u b
được nghiên cứ ởi nhiều tác giả ợ
và đư c trình bày
khá chi ti t trong các bài báo
ế [4], ,
[13] [16].
2.3 Các cấu trúc vùng lân cận
Phần n n t ng c
ề ả ủ ặ ệ ả ệ ộ
a các heuristic, đ c bi t là các heuristic c i thi n l trình[1][5] là
khái ni m vùng lân c n c
ệ ận. Vùng lân cậ ủa m t l
ộ ời gi i S là m t t
ả ộ ập N(S) các lời giải
đượ ạ ằ ổ ệ ể ộ ố ấ ả ờ ả
c t o ra b ng cách thay đ i S. Vi c ki m tra m t s hay t t c các l i gi i trong
vùng lân cận có th n ra các l i v c tiêu
ể ệ
phát hi ời giải tố ố
t hơn đ ới t
mộ hàm mụ cụ
thể. Ý tưởng này có thể ợ
đư c l i v i l i t
ặp lạ ớ ời giả ố ừ
t hơn v a tìm được. Tạ ộ ể
i m t đi m
nào đó, nếu không có bất k i t c tìm th y thì l i gi i t
ỳ ờ
l i giả ố ợ
t hơn nào đư ấ ờ ả ối ưu đã
đế ể ố ụ ộ ặ ể ố ụ ậ
n. Nhưng đây có th là t i ưu c c b ho c có th là t i ưu toàn c c. Thu t toán
này đượ ọ ế ụ ộ
c g i là tìm ki m c c b . Các meta-heuristic[26][16] đều dự ế
a trên tìm ki m
cục bộ nhưng có các phương thức mớ ợ
i đư c thêm vào nhằ ớ
m hư ng dẫn thoát khỏi
một tố ụ
i ưu c c bộ để kiểm tra các phần khác của không gian lời giải có thể ứ
ch a các
lời giải tốt hơn.
Hình 2.1 Ví dụ về một trao đổi Or-Opt
M d
ột trong các heuristic cải tiế ợ
n đư c sử ụng rộng rãi nhất trong lập lộ trình và lập
l b
ịch là heuristic r- r
Opt. Theo đó, cung đượ ợ
c xóa ra và đư c thay thế ởi r cung
khác. M t l i gi c t c s
ộ ờ ả ợ
i thu đư ừ ệ
vi ử ụ
d ng vùng lân c và không t
ận r-Opt hể được
cải tiế ợ
n thêm đư c gọi là r-tối ưu. Năm 1995, Potvin và Rosseau[27] đã trình bày
hai bi n th i là 2 Opt mà v a l trình. Theo
ế ể ớ
m - -
Opt* và Or ẫ ợ ớ
n duy trì đư c hư ng củ ộ
Or-Opt, mộ ạ
t phân đo n của lộ trình gồm l khách hàng liên tụ ợ
c nhau đư c di chuyển
đế ộ ộ ụ ề ỏ
n nơi khác trên l trình. Hình 2.1 trình bày m t ví d v -
Or Opt, hình vuông nh
24
thể ệ
hi n kho hàng hóa. Hình bên trái thể ệ
hi n lộ trình trước khi áp dụng Or-Opt và
hình bên phải là lộ trình sau khi đã thực hiện trao đ i. Hư
ổ ớng của các khách hàng từ
1
i tới l
i vẫ ổ
n duy trì không đ i.
Hình 2.2 Ví dụ về một trao đổi 2-Opt*
2- v
Opt* là thao tác trao đổi mộ ạ
t phân đo n của một lộ trình này ới mộ ạ
t phân đo n
c -
ủa một lộ trình khác. Hình 2.2 minh họa 2 Opt*, hình vuông nh u di
ỏ biể ễn kho
hàng hóa, hình bên và hình bên ph
trái ải l t th
ầ ợ
n lư ể hiện các l c và sau
ộ ớ
trình trư
khi th c hi
ự ệ ổ
n trao đ i. Phần sau cùng củ ộ ẽ ở ầ
a l trình này s tr thành ph n sau cùng
của lộ trình kia. Chú ý rằng nếu )
,
( s
i
i là cung đầu tiên trên một lộ trình và )
,
( s
j
j là
cung sau cùng của một lộ trình khác thì hai lộ trình này s n thành m
ẽ ợ ộ
đư c tr ột.
Hình 2.3 Minh họa thao tác relocate
Toán t n m
ử relocate di chuyể ột khách hàng t n m
ừ ộ
m t lộ ế
trình này đ ột lộ trình
khác, đư đây, các c
ợ ọ
c minh h a trong Hình 2.3. Ở ạnh )
,
( i
ip , )
,
( s
i
i và )
,
( s
j
j được
thay thế ở
b i )
,
( s
p i
i , )
,
( i
j và )
,
( s
j
i .
25
Toán tử exchange hoán đổi các khách hàng trong các lộ trình khác nhau. Ý tưởng
này có th c m a nh trình gi a hai l
ể ợ
đư ở ộ ể ổ ạ
r ng đ hoán đ i các phân đo n củ ững lộ ữ ộ
trình. Hình 2.4 minh họa thao tác exchange.
Hình 2.4 Minh họa thao tác trao đổi (exchange)
Việ ổ
c đ i ch t b i b
ỗ ợ ề ấ
k-nút đư c đ xu ở ợ ổ
i Christofides và Beasley đã đư c thay đ ởi
một vài tác giả khác để ghi nhận các cửa sổ thời gian. Mỗ ợ
i khách hàng đư c xem
xét m và các t
ột cách tuầ ự
n t ập M1 và M2 đồng nhất. M1 đượ ị
c đ nh nghĩa là khách
hàng thứ i v c
và khách hàng kế ị ủa nó, j . Khi đó, các phầ ử ủ
n t c a M2 được tìm
thấy là hai khách hàng g ùng l
ần nh
i j
và ấ ằ
t nhưng không n m trên c ộ trình như i và
j. Sau đó, mộ ậ ợ ị ằ ầ ử ủ
t vùng lân c n đư c đ nh nghĩa b ng cách xóa các ph n t c a M1 và
M2 và chèn chúng theo t n này khá l
ất c các cách có th
ả ể. Vùng lân cậ ớ ờ
n nên thư ng
chỉ ứ
k ng viên tiề ấ
m năng nh t được ki m tra.
ể
M - -
ột vùng lân cận khác là λ trao đổi (λ interchange) đượ ề
c đ xuất bởi Osman[5][28]
cho bài toán VRP. Theo đó, m p con các khách hàng có kích thư
ộ ậ
t t ớ ỏ
c nh hơn
ho ng trong
ặc bằ λ m t l
ộ ộ trình đượ ổ
c trao đ i với một tập cũng có kích thước nhỏ
hơn hoặ ằ
c b ng λ trong lộ trình khác.
Ngoài ra, Schulze và Fahle[14] cũng đị ậ
nh nghĩa vùng lân c n d n- t
ịch chuyể tuần ự
(shift ch trình
-sequence), m c d
ộ ợ
t khách hàng đư ị m
chuyển từ ột lộ trình đến một lộ
khác b ng các chèn vào. N
ằ h kiểm tra t các v trí có th
ất cả ị ể ế ợ
u thao tác chèn đư c
th lo
ực hi thi b ng cách xóa b t khách hàng khác thì nó s
ện khả ằ ỏ ộ
m j ẽ ị
b ạ ợ
i và đư c
chèn vào lộ ủ ụ ợ
trình khác. Th t c này đư c lặ ặ
p đi l p l n khi tính kh
ạ ế
i cho đ ả ợ
thi đư c
khôi phụ ạ
c l i.
26
2.4 c
Cá phương pháp chính tiếp cận giải bài toán
2.4.1 Các phương pháp chính xác
2.4.1.1 Dựa trên quy hoạch động
Hướ ứ ợ ể
ng nghiên c u này đã đư c Kolen, Rinnooy Kan và Trienekens[29] phát tri n
năm 1987 và đư ng phương pháp n
ợ ự ở ộ
c xem như là s m r ớ ỏ
i l ng không gian trạng
thái (state .
-space relaxation) Các tác giả đã đề ấ
xu t mộ ố ử ụ
t phương pháp t i ưu s d ng
Branch- -
and Bound cho bài toán VRPTW. Phương pháp này tính toán các đường
gi n
ới hạ thấp hơn s d
ử ụng quy hoạ ộ
ch đ ng và s n
ự ới lỏng không gian trạng thái.
Các quy c th c hi a trên vi c c p phát l trình khách
ế ị ợ
t đ nh phân nhánh đư ự ện dự ệ ấ ộ
hàng. Phương pháp đã giả ế ố ớ ố ợ
i quy t t t bài toán v i s lư ng 15 khách hàng.
2.4.1.2 Dựa trên phát sinh cột
Các phương pháp d đư
ự ộ
a trên phát sinh c t (column generation) đã ợc Desrosiers,
Pelletier và Soumis Desrochers, Desrosier và
nghiên cứu từ năm 1982. Năm 1992,
Solomon[3] đã hiện th c phân rã
ự Dantzig Wolfe
- và đã giải quyết m t s
ộ ố ấ
v n đề ớ
v i
benchmark 100-khách hàng của Solomon. Thuật toán được xây dựng dựa trên sự
k p c t
ết hợ ủa quy hoạch tuyến tính được nới lỏng bao phủ ập hợ ế
p và cơ ch phát sinh
c K
ột. Hơn nữa, một số nhà nghiên cứu ở Đại học ỹ thuật củ ạ
a Đan M ch[30] đã đề
nghị ử ụ
s d ng phân tách biế ể
n (variable splitting) đ giả ớ
i bài toán VRPTW v i hiệu
năng tương tự.
2.4.1.3 Dựa trên phân rã Lagrange
Jornsten và các cộng sự[30], Madsen[31] đã áp dụng các lư c đ
ợ ồ phân rã Lagrange
(Lagrangian decomposition) khác nhau cho bài toán VRPTW để ờ
sinh ra các đư ng
giới h n th . Các nghiên c
ạ ấp hơn (lower bound) ứu đã cho thấy khả năng giải quyết
t v v v
ốt ấ ề
n đ ới 100 khách hàng khi kết hợp phương pháp phân rã Lagrange ới
phương pháp - -
Branch and Bound.
27
2.4.1.4 Dựa trên K-Tree
Fisher[19] năm 1994 cũng đã đưa ra một thuật toán tối ưu, là mở ộ
r ng phương pháp
1-T -T
ree thành phương pháp K ree cho bài toán VRP và VRPTW. Theo đó, các giới
h s n r
ạ ớ ợ
n dư i thu đư c từ ự ới lỏng dựa trên việc tạo ra các cây mở ộng (spanning
tree), còn g i là ree. Các ràng bu
ọ cây K-T ộc v c gi t b
ề ả ợ
kh năng xe đư ải quyế ằng
cách đả ả ằ ế ộ
m b o r ng n u m t tậ ộ
p con S nào đó thu c tập khách hàng thì phả ợ
i đư c
phục v i ít nh t k(S) xe v
ụ ở
b ấ ận chuyển. Các ràng bu c v a s
ộ ề ử
c ổ thời gian cũng
đư pháp đã gi
ợ ố ử ộ ự
c đ i x m t cách tương t . Phương ả ế ớ ả
i quy t bài toán v i kho ng 100
khách hàng.
Các phương pháp chính xác thường hiệu quả hơn trong trường hợp không gian lời
giải b i các c a s i gian h
ị ạ
h n chế ở
b ử ổ thờ ẹp, do có ít t p c
ổ ợ
h ủ ể
a các khách hàng đ
đị ộ ả
nh nghĩa các l trình kh thi.
2.4.2 Các phương pháp heuristic
2.4.2.1 Nguyên lý
H g
ầu hế ợ
t các phương pháp heuristic đư c công bố ầ ề
n đây cho bài toán VRPTW đ u
g d
ồ ạ
m hai giai đo n. Giai đoạ ầ
n đ u tiên, một heuristic xây dựng lộ trình được sử ụng
để ạ ộ ờ ả ầ ả ố ấ ể
t o ra m t l i gi i ban đ u có tính kh thi và t t nh t có th . Các heuristic xây
d l
ựng ộ trình có thể chia làm hai phân lớp con là các phương pháp xây dựng lộ trình
tu (ch
ần tự ỉ ộ
m t l t th
ộ ự
trình xây d ng tại mộ ời điể ự
m) và các phương pháp xây d ng
lộ trình song song (nhiề ộ
u hơn m t l c xây d t th
ộ ợ
trình đư ựng tại mộ ờ ể
i đi m). Tiêu
biểu cho các heuristic xây dựng lộ trình như heuristic chèn của Solomon[1],
heuristic chèn song song của Potvin và Rousseau[8]. Trong giai đoạn hai, một
heuristic l i thi c áp d trên l i gi i kh i t
ặp cả ện lộ ợ
trình đư ụng ờ ả ở ạ ầ
o ban đ u. thoát
Để
khỏi các tối ưu cụ ộ ủ ụ ả ệ ợ ậ
c b , các th t c c i thi n đư c nhúng vào các thu t toán. Tiêu
bi u n
ể cho các heuristic c i thi
ả ện lộ ạ
trình trong giai đo n này như thu luy
ật toán ệ
kim[5] thu , thu
[16], ật toán di truyề ế
n[5][16], tìm ki m Tabu[21] ật toán n
đàn kiế [12].
Các thu t
ật toán l
này ần lượ sẽ được giới thiệu ở các phần sau.
28
2.4.2.2 Heuristic xây dựng lộ trình
a. Heuristic tiết kiệm
Bài báo đầu tiên trình bày heuristic xây dự ộ ộ
ng l trình cho bài toán VRPTW thu c
nghiên cứu của [9]
Edward K. Baker và Joanne R. Schaffer năm 1986. Thuật toán
c m r a .
ủa họ ở ộng heuristic tiết kiệm (Savings heuristic) củ Clark and Wright[10]
Thuật toán b i t t c các l
ắ ầ
t đ u vớ ấ ả ộ ể
trình khách hàng đơn có th –
(kho i – kho).
Trong mỗ ớ
i bư c l p, thu tìm ra hai l trình có th p sao cho ti
ặ ậ ể
t toán tính đ ộ ể ế
k t hợ ết
kiệm chi phí nhiều nhất. Theo Baker và cộng sự đị ế
nh nghĩa chi phí ti t kiệm là hàm
t h
ổ ợp của khoảng cách, thời gian và thờ ế ạ
i gian cho đ n khi đ t tính khả thi. Năm
1987, Solomon n m
[1] cũng phát triể ộ ự ự
t heuristic tương t d a trên thu t toán ti
ậ ết
kiệm, nhưng loại bỏ ế
y u tố ờ
th i gian ra kh i hàm tính chi phí ti
ỏ ết kiệm. Năm 1988,
van Landeghem[11] cũng trình bày một heuristic dựa trên heuristic tiết kiệm, sử
d t t
ụng các cửa sổ thờ ợ
i gian đư c sắp theo thứ ự để đo đạt mứ ộ
c đ ốt của các liên kết
giữ ờ
a các khách hàng theo th i gian.
b. Heuristic chèn
Trong bài báo của Solomon ba heuristic chèn
[1], đã được trình bày. Theo đó, vị trí
khả ấ
thi nh t cho mỗi khách chưa được phục vụ ợ
đư c tính toán theo hàm 1
f . Sau đó,
khách hàng tố ấ ợ
t nh t đư c ch i m
ọ ở
n b ột hàm 2
f . Nếu không có một thao tác chèn
nào xả ộ ộ ớ ợ ắ ầ
y ra thì m t l trình m i đư c b t đ u.
Khi m t l c l i m t th m, các l c t o ra càng tr
ộ ộ ợ
trình đư ập tạ ộ ờ ể
i đi ộ ợ
trình đư ạ ễ ờ
thư ng
càng kém chấ ợ ờ
t lư ng trong trư ng hợp các khách hàng còn lạ ợ ậ ộ
i (chưa đư c l p l
trình) p a lý. Potvin và Rousseau c ph c h
hân tán rộ ị
ng trên vùng đ [8] c g
ố ắng khắ ụ ạn
chế ủ
này c a các heuristic chèn bằng cách xây dự ộ ồ
ng vài l trình đ ng thời.
c. Một số heuristic khác
Solomon[1] cũng trình bày một heuristic khác là heuristic láng giềng gần nhất,
hướ ờ ỗ ộ
ng th i gian (Time- -
Oriented Nearest Neighbour heuristic). Theo đó, m i l
trình đư t đ
ợc bắ ầ ằ
u b ng cách tìm ra khách hàng n kho trung tâm nh
gầ ất trong số các
29
khách hàng p l p sau, khách hàng
chưa được sắ ộ ỗ
trình. Trong m i vòng lặ được chọn
ra cũng theo tiêu chí trên nhưng không phải gần kho nhất mà là gần khách hàng sau
cùng trong l n nh
ộ ầ
trình. Khách hàng g ấ ợ
t này đư c chèn vào cu i l trình hi
ố ộ ện tại.
Khi quá trình tìm ki t n
ế ầ
m khách hàng g n nhấ ày không cho kết quả nào thì m t l
ộ ộ
trình m c b
ớ ợ
i đư ắ ầ
t đ u. trình
Ngoài ra, Solomon cũng đưa ra phương pháp lập lộ
GTH (Giant Tour Heuristic) theo nguyên t u tiên l
- ắc đầ ập lộ ậ
trình, sau đó l p lịch.
M - g
ột heuristic khác là heuristic TOSH (Time Oriented Sweep Heuristic) ồm hai
giai đoạn: phân nhóm khách hàng và lập lộ ỗ
trình cho m i phân nhóm. Sau khi gán
các khách hàng vào các phân nhóm khác nhau, giai đoạ ậ ộ ẽ ự
n l p l trình s xây d ng
một lộ trình cho mỗi phân nhóm. p l t phân nhóm tr
Rõ ràng, việc lậ ộ trình trong mộ ở
thành bài toán l n ch i gian.
ập lộ ớ
trình TSP v i hạ ế thờ
2.4.2.3 Heuristic cải thiện lộ trình
a. Thuật toán Tìm kiếm cục bộ với λ
λ
λ
λ
λ-trao đổi
Thangiah cùng các cộng sự[5] đã phát tri trao đ
ển phương pháp λ- ổi gi m tìm
ả kiếm
c ( - -
ục bộ λ Interchange Local Search Descent LSD) bằng cách chèn và chuyể ổ
n đ i
các khách hàng m t cách có h trình. Các tác gi
ộ ệ thống giữa các lộ ả ị
đã đ nh nghĩa
các toán t ng các toán t c s
ử ổ ờ
-
λ trao đ i. Thư ử ổ
1-trao đ i và 2-trao đ i đư
ổ ợ ử ụ
d ng,
tức là cho phép 1 hoặc 2 khách hàng được chèn vào hoặc chuy i t i m t th
ể ổ
n đ ạ ộ ời
đi các phương pháp
ể ộ
m. Năm 1999, Tan và các c ng sự ứ
[16] trong các nghiên c u về
heuristic cho bài toán VRPTW đã hiện thự ạ
c l i thuật toán LSD và làm một số so
sánh vớ ậ
i các thu t toán heuristic khác.
Có hai chi c áp d
ế ợ ợ
n lư c[16] đư ụng nhằm chọn ra các l i gi i ti
ờ ả ề ừ
m năng t các ứng
viên:
• η
Chiế ợ ố ấ ụ
n lư c t t nh t toàn c c (Global Best) sẽ ệ ấ ả ờ ả
duy t qua t t c các l i gi i và
ch t
ọn ra mộ l i
ời giả có chi phí gi n nh
ảm lớ ất theo một hàm chi phí đã cho.
• η
Chiế ợ ố ấ ầ
n lư c t t nh t đ u tiên (First Best) sẽ ọ ờ ả ầ
ch n l i gi i đ u tiên có chi phí
giả ộ ớ
m theo m t hàm chi phí cho trư c.
30
Chiế ợ
n lư c t t nh t toàn c ng cho các k t qu c t t nh
ố ấ ụ ờ
c thư ế ả ố ế ợ
t t hơn chi n lư ố ấ ầ
t đ u
tiên b i vì i t t c các di chuy i ti , tuy nhiên th
ở nó ghi nhận lạ ấ ả ển có cả ến ời gian tính
toán lại lâu hơn.
K c
ết quả ủa LSD phụ thuộc vào lời giải khả thi ban đầ ờ
u. Trong trư ng hợp tệ nhất,
LSD chỉ ể ế
có th tìm ki m qua 2 vùng lân c n c
- ậ ủa l i gi
ờ ả ầ
i ban đ u và n u không có
ế
b k l
ất cứ di chuyển nào tố ợ
t hơn đư c phát hiện, thuật toán sẽ ết thúc sau một số ần
l h t t
ặp. Do đó, LSD bị ạn chế trong mộ ố ụ
i ưu c c bộ và không thể khám phá vùng
rộng hơn. Điểm mạnh chính củ ự
a phương pháp này là th c hiện rấ ấ
t nhanh nhưng b t
l l
ợi ớn nhất là hiệ ạ ợ
u năng đ t đư c nghèo nàn nếu không có sự ế
k t hợp với các
heuristic khác.
b. Thuật toán luyện kim
K b
ỹ thuật mô phỏng luyệ ợ
n kim đư c công bố ởi Metropolis và các cộng sự năm
1953 xuất phát t ng quá trình luy Kim lo
ừ ở
ý tư ng mô phỏ ện kim loại. ạ ượ
i đ c nung
cho đến khi nóng chảy rồ ợ
i sau đó đư c làm ngu i d Quá trình làm ngu
ộ ần. ội này sẽ
ả ở ấ ớ ế ặ ấ ể ủ ạ
nh hư ng r t l n đ n đ c tính c u trúc tinh th c a kim lo i hình thành.
Kirkpatrick[32] năm 1982 đã áp dụng thành công thu luy
ật toán ện kim vào bài toán
tố ằ
i ưu nh m tìm kiếm giải pháp khả thi và các giả ợ ớ
i pháp tìm đư c qua các bư c có
th i
ể ộ
h i tụ ầ
d n tớ giải pháp tối ưu. Giải thuật tránh đư c trư
ợ ờng hợp tối ưu cụ ộ
c b
bằ ớ
ng cách cho phép các bư c chuyển sang trạng thái có chấ ợ
t lư ng thấp hơn trong
một số trường hợp. Nguyên tắc chung là các bước chuyển tố ạ
t hơn tr ng thái hiện tại
luôn đư u hơn s đư
ợ ọ ạ
c ch n, bên c nh đó, các bướ ể
c chuy n xấ ẽ ợ ấ ậ
c ch p nh n khi xem
xét xác su t chuy
ấ ể ổ
n đ i.
Osman[33] gi
năm 1993 đã áp dụng thu luy
ật toán ện kim để ải quyết bài toán VRP
bằng cách di chuyển một khách hàng từ ộ ế ộ ặ ổ
l trình này đ n l trình khác ho c trao đ i
hai khách hàng giữa hai lộ trình. Năm 1996, Chiang và Russell[34] đã áp dụng
thành công thuật toán vào bài toán VRPTW. Vấ ề
n đ này cũng được tìm thấy trong
nghiên cứu v - c .
ề meta heuristic cho VRPTW ủa Tan và các cộng sự[16]
31
c. Thuật toán di truyền
Thu o
ật toán di truy m heuristic có tính thích nghi a the
ề ế
n là phương pháp tìm ki , dự
quá trình ti t thông qua ch c t Các khái ni
ến hóa c a sinh v
ủ ậ ọn lọ ự nhiên. ệm cơ bản
đư năm 1975.
ợ ể
c phát tri n bởi Holland[35] Thuậ ệ ự ự ế ợ
t toán làm vi c d a trên s k t h p
các thao tác ch t bi Thao tác ch n th
ọn l c
ọ , sinh sản và độ ến. ọn phả ớ
i hư ng quầ ể đến
các l i gi i t thao tác tái t ng các gene c a các cha
ờ ả ốt hơn, trong khi đó, ổ ợ
h p sử ụ
d ủ
m s h
ẹ được chọ ể
n đ ản sinh ra các cá thể con cho thế ệ tiếp theo. Toán tử đột biến
đư ng đ
ợ ử ụ
c s d ể ỏ ố ụ ộ
thoát kh i các t i ưu c c b .
Blanton và Wainwright[2] thu
( )
năm 1993 đầu tiên áp dụng ật toán di truyền cho bài
toán VRPTW. Theo đó, họ ế
đã k t h t toán di truy i thu t toán heuristic
ợp thuậ ền vớ ậ
tham lam. toán di truy c s tìm ki t các
Thuật ề ợ
n đư ử ụ ể
d ng đ ếm cách sắp xếp tố
khách hàng, trong khi đó việ ự ờ ả ả ợ ắ ữ ở ậ
c xây d ng l i gi i kh thi đư c n m gi b i thu t toán
tham lam. Thangiah[4] (năm 1995) cũng sử ụ
d ng thuật toán di truyền để ế
tìm ki m
các phân nhóm khách hàng Trong thu
. ậ ợ ề
t toán đư c đ xuất b i Potvin và Be
ở ngio[7],
các cá th c t o ra b t n trình t hai l i gi
ể ợ
con đư ạ ằng cách kế ối hai phân đoạn lộ ừ ờ ải
cha m c b ng cách thay th trình c i gi i cha m trình c
ẹ ặ
ho ằ ế ộ
l ủa lờ ả ẹ ằ
này b ng lộ ủa
cha m t bi c s rút ng
ẹ kia. Sau đó, toán tử độ ế ợ
n đư ử ụ ể
d ng đ ắn số ộ ể ố
l trình và đ t i
ưu lờ ả ộ
i gi i. Berger và các c ng sự ậ ề ự ế
đã đưa ra thu t toán di truy n lai d a trên cơ ch
xóa bỏ ộ
m t số khách hàng p l
ra khỏi lộ trình c a h
ủ ọ ậ
và sau đó l ịch lại v i các
ớ thuật
toán heuristic xây d trình n i ti
ựng lộ ổ ếng. Braysy[23] u
[24] tiếp tục nghiên cứ của
Berger với việc phân tích tính nh y c
ạ ảm (sensitivity) và i các thao tác
đị ớ
nh nghĩa m
trao đ i chéo và đ
ổ ộ ế
t bi n.
Homberger và Gehring heuristic ti
[36] -
năm 1999 đưa ra hai meta ến hóa dựa trên
các thu t toán ti c g i là các chi c ti n hóa và các t c i ti
ậ ế ợ
n hóa đư ọ ế ợ
n lư ế kỹ thuậ ả ến
l - - .
ập lộ trình nổi tiếng như Or opt và 2 opt*[27][33] Năm 1999, Tan và các cộng
sự[16] cũng phát triển thuật toán di truyền cho VRPTW dựa trên heuristic chèn của
Solomon[1] - -
và các thao tác λ trao đổi, PMX trao đổi chéo. Braysy và các cộng
sự[24] năm 2000 đã mô tả thuật toán tiế ạ ậ
n hóa hai giai đo n. Đây là thu t toán lai
32
đượ ế ợ
c k t h p từ ậ ề ậ ế
thu t toán di truy n và thu t toán ti n hóa với các heuristic xây
d t
ựng lộ trình và tìm kiếm cục bộ ừ các nghiên cứu của Solomon và Taillard.
Năm 2004, Beatrice Ombuki và các c
[13] ộ ự ể ậ ề
ng s đã phát tri n thu t toán di truy n
đa mục tiêu rất hiệ ả
u qu . Các tác giả ể ễ
đã bi u di n bài toán VRPTW bài toán
thành
đa mục tiêu: số ổ
xe và t ng chi phí (kho n v
ảng cách) và áp dụng thuật toán i truy
d ề ới
k K
ỹ thuật xếp hạng Pareto. ết quả thuậ ạ ợ
t toán đ t đư c rất khả quan khi so sánh với
các k t qu t nh c công b enchmark 100 a Solomon
ế ả ố
t ất đượ ố ủ
c a t p b
ậ c
khách hàng ủ .
d. Thuật toán tìm kiếm Tabu
Tìm kiếm Tabu đượ ề
c đ xu [21] 1989
ất b i Glover
ở năm . Tìm kiếm Tabu là chiến
lược tìm kiế ự ộ ớ để ớ
m d a trên b nh hư ng dẫ ứ
n phương th c tìm kiế ụ
m c c bộ ợ
vư t qua
các .
tố ụ
i ưu c c bộ Thuậ ữ ộ
t toán gi m t danh sách các di chuy c các l
ển hoặ ời giải đã
th .
ực hiện hoặ ợ
c đư c ghé thăm trong quá khứ Danh sách này được g i là danh sách
ọ
Tabu, chính là một hàng đ i có kích thư c thay đ
ợ ớ ổi hoặc cố định. Danh sách Tabu
đư ng đ
ợ ử ụ
c s d ể ớ ạ ể
ghi nh l i các di chuy n gầ ấ ặ
n nh t và ngăn ch n các di chuyển p
lặ
l k
ại. Thuật toán tìm kiếm Tabu ết thúc c s
sau khi đạ ợ
t đư ố ặ
vòng l p cố định cho
trước.
Nhiều nghiên ng Tìm ki
c u
ứ đã thực hiện nhằm áp dụ ếm Tabu cho bài toán VRP
như [5], [6], ,
[16] [33]. Tiêu biểu như Gerdreau, Hertz và Laporte đã áp dụng Tìm
kiếm Tabu, s d
ử ụng vùng lân cậ ợ
n đư c xây dựng bằng cách di chuyển một khách
hàng t n l
ừ ộ ế
l trình này đ ộ ử ụ
trình khác. Osman[33] và Talliard cũng đã s d ng vùng
lân c các l c t thao tác chèn m
ận bao gồm tất cả ời giả ợ
i thu đư ừ ột khách hàng và
chuy áp
ể ổ
n đ i hai khách hàng. i v i bài toán VRPTW, các nghiên c
Tuy nhiên, đố ớ ứu
dụng Tìm kiếm Tabu rất ít. Năm 1996, Potvin và các cộng sự[37] đã áp dụng thuật
toán Tìm k i m c tiêu chính là t xe v
iế ớ
m Tabu cho VRPTW nhưng v ụ ố ố
i ưu s ận
chuy ng
ển thay vì tố ổ
i ưu t ng chi phí. Năm 1999, Tan và các cộng sự[16] đã áp dụ
Tìm ki m Tabu cho bài toán VRPTW v
ế ới nhiều ng
điểm mới như s d
ử ụ thuật toán
PFIH khở ạ ờ ả ầ ế ợ ớ ự ờ
i t o l i gi i ban đ u, k t h p ghi nh d a trên tính thư ng xuyên
33
(frequency) và tính g và s các chi
ần đây (recency) ử ụ ầ ủ
d ng đ y đ ế ợ ạ
n lư c đa d ng hóa
(diversification) và cườ ộ
ng đ hóa (intensification).
e. Thuật toán đàn kiến
Hệ thố ế
ng đàn ki n (Ant Colony Sy y trong các nghiên c
stem – ACS) được tìm thấ ứu
c t T
ủa Gambardella[38] và Dorigo[39] ừ năm 1996. ố ế
i ưu đàn ki n (Ant Colony
Optimization heuristic
– ACO) là một phương pháp meta- xuất phát từ ệ
vi c khám
phá hành vi c n c
ủ ế
a các đàn ki n gi
trong thế ới th t.
ậ Ý tưở ả
ng cơ b ủa ACO là m t h
ộ ệ
th t
ống rấ nhiều agent nhân tạo có thể ạ
liên l c với nhau xây d
ở ứ
m c thấ ể
p đ ựng các
l t t h
ời giải ố cho các bài toán tố ổ
i ưu t ợp khó.
Trong th p t i nhau
ế giới th t, các con ki
ậ ến hợ ác vớ tìm ki ng cách
ếm thứ ằ
c ăn b để ạ
l i
các d c trên i là
ấu vết hóa họ m .
ặ ờ
t đư ng Hiệ ợ
n tư ng này gọ pheromone. Tương tự
như th đàn ng đ Theo đó,
ế ộ
, m t kiế ạ
n nhân t o được xây dự ể ỏ
mô ph ng hành vi này.
c o h d
ác con kiến nhân tạ ợp tác với nhau bằng cách sử ụng một vùng nhớ chung.
Pheromone nhân tạo đượ ố
c tích lũy trong su t quá trình tính toán. Các con kiến nhân
tạo là các tiến trình song song v d
ới vai trò xây dựng các lời giải bằng cách sử ụng
m t n b m h
ột thủ ục xây dựng. Quá trình xây dựng lời giả ợ ớ
i đư c hư ng dẫ ởi ột tổ ợp
các li
pheromone nhân tạo, dữ ệu bài toán và các hàm heuristic đánh giá các bước
xây dựng thành công.
Hình 2.5 Kiến trúc -
của MACS VRPTW
Nhiều thu t nh
ậ ợ ề ấ
t toán ACO đã đư c đ xu ằm giải quyết các lo i bài toán t
ạ ố ổ
i ưu t
hợp khác nhau như bài toán TSP/ATSP (Symmetric/Asymmetric Traveling
34
Salesman Problem), QAP (Quadratic Assignment Problem), ... t trong các
VRP, Mộ
hi nh
ện th c d a trên ACO hi
ự ự ệu quả ất là hệ thống đàn kiến ACS của hai tác giả
Gambardella và Dorigo . t
[38] [39] Các tác gi i thi t th c c t v
ả ớ
đã gi ệu mộ ủ ụ
t ập nhậ ế
pheromone đặc biệt làm tăng việc tìm kiếm trong vùng lân cận của lời giải tốt nhất
đượ ộ ở ộ
c tính toán. M t m r ng củ ợ ự ệ ở
a ACS cho bài toán VRPTW đư c th c hi n b i
Gambardella, Taillard và Agazzi[12], hệ thống MACS- -
VRPTW. MACS VRPTW
đư o đ
ợ ổ ứ ấ ế
c t ch c theo mô hình phân c p các đàn ki n nhân tạ ể ố ộ
t i ưu m t hàm nhiều
mục tiêu: đàn kiế ầ
n đ u tiên tối tiểu số xe vận chuyể ế
n, trong khi đó đàn ki n thứ hai
t u n S c
ối tiể khoả g cách vận chuyển. ự ộng tác giữ ế ợ
a các đàn ki n đư c thực hiện nhờ
vào t
trao đổi thông tin thông qua thao tác cập nhậ pheromone.
35
Chương 3: Thuật toán di truyền song song
3.1 Giới thiệu về thuật toán di truyền
John Henry Holland[35], với ý tưởng mô phỏng g ng v
ần giố ới quá trình tiến hóa tự
nhiên c theo thuy n hóa c
ủa sinh v t
ậ ết tiế ủ ề
a Darwin, đã đ xuất gi i thu t di truy
ả ậ ền
(GA – Genetic Algorithm) nhằm giải quyết các bài toán tố ố
i ưu. Trong su t quá trình
tiến hóa, các cá th có thích nghi t t v
ể ố ới môi trườ ợ
ng đư c ch i và lai t
ọn giữ ạ
l ạo
tiếp. C , các th
ứ ậ
như v y ế ệ ẽ ả ớ
h sau s có kh năng thích nghi cao hơn v i môi trường
s h
ố ợ
ng do đư c kế thừ ặ
a các đ c tính tốt từ các thế ệ trước.
Hình 3.1 Các khái niệm cơ bản của thuật toán di truyền
Tuy nhiên, thu cho l
ật toán GA sẽ thật sự ời gi i t t n
ả ố ếu như có cách đánh giá đúng
đắ ổ ị ủ ầ ể ự ủ ể ệ
n tính n đ nh c a qu n th d a trên tính thích nghi c a các cá th , cũng như vi c
l t h
ựa chọn các ứng viên. Mặt khác, cách thức biế ổ ể
n đ i đ ạo cá thể con cho thế ệ
sau cũng ả ở đế ế ả ả ậ
nh hư ng n k t qu gi i thu t.
T i
ổng quát, giả thuật di truyề ợ
n đư c mô tả như sau:
• Tạo quần thể ngẫu nhiên ban đầu G 0.
• Đánh giá quầ ể ế ầ ể ở ạ ổ ị ế ợ ạ
n th . N u qu n th tr ng thái n đ nh thì k t thúc. Ngư c l i
36
thì ti c th c hi c ch a các cá th thay th
ếp tụ ự ện việ ọn lự ể ế ế ệ
. Đánh giá th h con
đượ ỳ ọ
c k v ng.
• Chọ ự ể ừ ầ ể
n l a các cá th cha t qu n th G i. Chọn một phép tiế ể
n hóa đ phát sinh
ra các cá thể ở
con thế ệ
h Gi+1. Thực hi n th
ện l p t
ặ ừ ớ ầ
bư c đánh giá qu ể cho
đế ỏ ề ệ ế
n khi th a đi u ki n k t thúc.
3.2 toán
Các phép toán chính của thuật di truyền
3.2.1 Phép chọn
Việc ch n ra các cá th a trên nguyên t c cá th
ọ ể cha mẹ đem lai tạo là ngẫu nhiên dự ắ ế
có m thích nghi cao nh a cao nh t. Quá
ứ ộ
c đ ấ ứ
t cũng tương ng có khả ọ
năng ch n lự ấ
trình ch có th c th c hi
ọn ể ợ
đư ự ện ngẫu nhiên theo vòng quay roulette với từng vùng
chiế ứ
m trên vòng tròn tương ng với xác suất tồn tại của mỗi cá thể.
Hình 3.2 Vòng quay lựa chọn cá thể
Xác su t t i c a cá th
ấ ồn tạ ủ ể i là:
Pi =
∑
=
N
j
j
i
f
f
1
Trong đó:
f là hàm thích nghi của cá thể trong quần thể có N cá thể.
M i d
ột ch ế ợ
n lư c chọn lựa cá thể khác cũng hay được sử ụng là chiế ợ
n lư c lựa chọn
theo vòng thi đ đư
ấ ừ ặ ể
u (Tournament selection). Theo đó, t ng c p cá th ợ ự ọ
c l a ch n
37
ngẫu nhiên và được so sánh với nhau theo m thích nghi
ứ ộ
c đ , cá th nào có tính
ể
thích nghi cao hơn s i cho đ
ẽ ợ
đư c chọ ữ ạ
n gi l i. Quá trình này được lặ ạ
p l ến khi thu
đượ ặ ể ẹ để ự ệ ạ
c n c
/2 p cá th cha m th c hi n phép lai t o (n là số cá thể trong quần thể).
3.2.2 Phép lai
t s t
Các cá thể ố ợ
t sau khi đư c chọn lựa từ quần thể ẽ cho lai để ạo ra các cá thể con
v k b m
ới hi vọng ế thừ ặ
a các đ c tính di truyền từ các cá thể ố ẹ. Tuy nhiên, không
ph p
ải t t c cá th
ấ ả ể đều có th t h
ể ế
k ợp v ng có m
ớ ờ
i nhau mà thư ột xác su t k t h
ấ ế ợ
nhấ ị
t đ nh Pcross.
Quá trình lai th c hi
ự ện như sau:
• Ứ ớ ỗ ể
ng v i m i cá th phát sinh cho nó một xác su t ng
ấ ẫu nhiên, n u xác su
ế ất
này nhỏ hơn Pcross thì cá thể được lấy vào danh sách sử ụ
d ng cho việc lai
ghép.
• Chọ ự ẫ ừ ặ
n l a ng u nhiên t ng c p và vị ể ự
trí lai ghép đ th c hiện lai ghép tạo hai
cá th con thay th
ể ế.
Trong hi gi
ệ ự ổ
n th c, các thao tác trao đ i chéo ữa hai nhiễm sắc thể đư nh nghĩa
ợ ị
c đ
và th các
ời gian ph thu
ụ ộc nhi u vào cách
ề nhiễm sắc th c mã hóa.
ể ợ
đư Thông qua
thao tác trao đổi chéo này, quá trình tái tổ ợ
h p thông tin di truyề ữ
n gi a các nhiễm
s M
ắc thể được thực hiện. ột số thao tác trao đổi chéo phổ biến sau:
• Trao đổ ộ ể ắ ả
i chéo m t đi m c t (One-Point Crossover): đây là thao tác đơn gi n
nhất, mộ ể
t đi m cắt được chọn ngẫu nhiên trên chiề ễ ắ ể
u dài nhi m s c th , sau
đó, các gene n m phía sau đi t đư c hoán đ
ằ ể ắ
m c ợ ổ ữ
i gi a hai nhiễ ắ ể
m s c th cha
mẹ. Tham khảo minh họa Hình 3.3.
• Trao đổ ề ể ắ
i chéo nhi u đi m c t (Multi-Point Crossover): đây là thao tác mở
r a T
ộng củ thao tác trước với nhiề ộ ể
u hơn m t đi m cắt. rong hiện thực, thao
tác trao đ i chéo hai đi thư
ổ ể ắ
m c t ờ ợ
ng hay đư c sử ụ ọ
d ng. Hình 3.4 minh h a
thao tác trao đổ ề ể ắ
i chéo nhi u đi m c t.
38
Hình 3.3 Thao tác trao đổi chéo một điểm cắt
Hình 3.4 Thao tác trao đổi chéo nhiều điểm cắt
• Trao đổ ạ ừ ầ
i chéo ánh x t ng ph n (PMX – Partially Mapped Crossover):
phương th ng đư
ứ ổ ờ
c trao đ i này thư ợ ử ụ
c s d ng trong trường hợp các nhiễm
s d .
ắc thể được mã hóa ạng chuỗi số (số nguyên hoặc số thực) có thể hoán vị
PMX b t
ảo tồn vị trí của nhiều gene nhấ có thể trong cả hai nhiễu sắc thể. Ví
d :
ụ
NST 1: | |
K H E C B D F G I J A L
NST 2: C D B A | G F E | L K I J H
Chọn hai điểm cắt ngẫu nhiên, khi đó, phân đoạn giữa hai điểm cắt cho định
nghĩa một ánh xạ ( . Áp dụng ánh xạ này lên
B  G, D  
F, F E) các gene
của hai nhiễm sắc thể cha mẹ sẽ thu được các nhiễm sắc thể con tương ứng.
NST con 1: K H | G F E | I J A L
D C B
NST con 2: A | B D F | L K I J H
C E G
• Trao đổ ứ ự ứ ả ồ ứ
i chéo có th t (Ordered Crossover): phương th c này b o t n th
tự tương đối của nhi hai nhi
ều gene nhấ ể ả
t có th trong c ễm sắ ể ụ
c th . Ví d :
NST 1: K H E C | B D F | G I J A L
NST 2: D B A | G F E | L K I J H
C
Xác định hai điểm cắt ngẫu nhiên, sau đó, xác định thứ tự các gene trong một
nhiễm sắc thể bắt đầu với gene đầu tiên ngay sau điểm cắt thứ hai. Trong ví
dụ trên, sẽ là Sau đó, từ chuỗi này, xóa đi các
NST1 GIJALKHECBDF.
39
gene đã tồn tại trong phân đoạn đã hoán vị giữa hai điểm cắt. Trong ví dụ
trên những gene cần xóa là nên phần còn lại là Kết quả
GFE IJALKHCBD.
các con là:
NST con 1: H C B D | G F E | I J A L K
NST con 2: C A G E | B D F | L K I J H
3.2.3 Phép đột biến
Sự đột biế ộ
n gene cũng là m t trong những nguyên nhân gây ra tiến hóa n u bi
ế ế ổ
n đ i
này biểu hi ng có l
ện tính trạ ợi. Trong giải thu t bi y ra v i m t xác
ậ ộ
t GA, các đ ến xả ớ ộ
suất Pmut nào đó, với nhữ ờ
ng trư ng hợp xả ộ
y ra đ t biến thì có sự thay đổi trong gene
mà không kế thừa t cá th
ừ ể nào.
Quá trình đột biế ầ
n trong qu n thể ễ ọ ẫ ộ
di n ra như sau: Ch n ng u nhiên m t cá thể và
một vị trí gene với xác suấ ứ
t tương ng nhỏ hơn Pmut, th c hi i ng
ự ện biế ổ
n đ ẫu nhiên
tại vị trí này.
M d (
ột số loạ ộ
i đ t biế ờ
n thư ng sử ụng như chèn gene hoặ ạ
c đo n gene Hình 3.5a),
xóa gene ho n gene di
ặ ạ
c đo n gene (Hình 3.5b), hoán vị ặ ạ
gene ho c đo ễn ra trong
m (
ột nhiễm sắc thể Hình 3.5 h 3.5
c, Hìn d).
Hình 3.5 Một số loại đột biến thường gặp
40
C t
ần lưu ý: việ ộ
c gây đ t biến có thể làm cá thể ố ể
t hơn nhưng cũng có th làm cá thể
xấ ậ ộ
u hơn. Chính vì v y, phép đ t biến ít nhiều sẽ tác độ ế
ng đ n quá trình hình thành
quầ ể ờ
n th sau cùng (l i giải bài toán).
3.3 Các mô hình song song
Thu thu
ật toán di truy n là
ề kỹ ật tìm ki c s t các bài
ếm mạ ợ
nh đư ử ụ ể ả
d ng đ gi i quyế
toán khó có nhiều lu t toán l
ật ràng buộc. Tuy nhiên, thuậ ạ ỏ
i đòi h i nhiề ự
u năng l c
tính toán cũng như bộ nhớ ủ
c a máy tính do phả ặ
i l p qua nhiề ế ệ để ợ ế
u th h có đư c k t
qu vi
ả ố
t t. Ngoài ra, ệc đánh giá tính thích nghi c a các cá th
ủ ể trong quần thể cũng
chi . y, có
ếm thời gian r t l
ấ ớn Chính vì vậ hiện th t toán di truy
ực song song thuậ ền sẽ
l m (
ợi về hiệ ả
u năng và tính kh ở scalability).
Thuật toán di truy là m a thu t toán di
ền song song không ch
[15][20][40] ỉ ở ộ
r ng củ ậ
truy còn là
ền truyền thống mà bi n
ểu hiệ một lớp thuật toán mớ ở
i b i khả năng tìm
kiếm trên các không gian l i gi u cách tìm ki
ờ ải khác nhau bằng nhiề ếm khác nhau
cùng lúc.
Nhiều cách tiếp c n, hi
ậ ệ ự ậ ề ụ ộ ế
n th c thu t toán di truy n song song ph thu c vào các y u
tố sau:
• Cách thứ độ
c đánh giá thích nghi và phương pháp độ ế ợ ụ
t bi n đư c áp d ng.
• Đơn hay đa quầ ể ể
n th con (nhóm cá th ).
• Đa d i
quần thể được sử ụng và cách thức các cá thể đượ ổ
c trao đ giữa các
quầ ể
n th .
• Cách thứ ọ ọ ể ụ ộ ụ
c ch n l c các cá th (c c b hay toàn c c)
Phụ ộ
thu c vào cách m i y
ỗ ếu tố ợ
trên đư c hi n th
ệ ực, nhiều phương pháp song song
thu truy t.
ật toán di ền khác nhau được đề ấ
xu Nhìn chung, các phương pháp này có
th i
ể ạ
phân lo thành 8 lớp[15] sau:
41
Hình 3.6 Phân loại các thuật toán di truyền song song
3.3.2 Song song dạng chủ tớ
D i
ạng song song này còn được biết với tên gọ song song toàn c c, mô hình ch
ụ ủ ớ
-t
hay phân tán đánh giá độ ậ
thích nghi. Thu t toán s n th
ử ụ
d ng m t qu
ộ ầ ể đơn, việc
đánh giá các cá thể và/hoặc áp dụ ề ợ
ng các phép toán di truy n đư c thực hiện song
song. Phép ch lai t
ọn lọc cho ạo được th c hi c, vì v y, m i cá th ó th
ự ện toàn cụ ậ ỗ ể c ể
cạnh tranh với các cá thể khác.
Tiến trình chủ ữ
lưu tr toàn b n th và các ti n trình t thích nghi,
ộ ầ
qu ể ế ớ độ
đánh giá
áp d i chéo m . Truy y ra ch
ụ ộ
ng phép đ t biến và trao đổ ột phần bộ gen ền thông xả ỉ
khi m n m
ỗi ti n trình t
ế ớ ậ
nh ột cá th c m t t p các cá th
ể ặ
ho ộ ậ ể để đánh giá và trả ề
v
các giá trị ể ệ ộ
th hi n đ thích nghi.
42
Hình 3.7 Mô hình song song dạng chủ tớ
T n h
huậ ồ
t toán có tính đ ng bộ ếu tiến trình chủ ngừng và chờ để nhận ết các giá trị
độ ủ ộ ể ầ ể ớ ế ụ ế ớ
thích nghi c a toàn b các cá th trong qu n th trư c khi ti p t c ti n hành v i
th ti ti
ế ệ ế
h k ếp. Tuy nhiên, trong trường hợp thuật toán không ng ng ch
ừ ờ ấ
b t kỳ ến
trình ch c g i là b t toán ph
ậm chạp nào, thuậ ợ
t toán đư ọ ấ ồ
t đ ng bộ. Khi đó, thuậ ải
dùng cơ d r
chế động ẫ ế
n đ n ất khó phân tích.
3.3.3 Song song dạng đa quần thể con có di trú
D c
ạng thuật toán này còn đề ập vớ ề
i các tên khác nhau như di truy n đa quần thể con
tĩnh, đa grained) và đôi khi còn
di truyền nhóm -
cá thể, di truyền kết thô (coarse gọi
đơn giả ậ ề
n là thu t toán di truy n song song.
Phương pháp song song này đòi hỏ ầ ể ầ ể
i chia qu n th thành các qu n th con hay các
nhóm. Các c tách bi t v i nhau i là cô l
quần thể con đượ ệ ớ gọ ập v m
ề ặt địa lý
(geographic isolati t cá c m n th Tác v
on) và mộ th ch
ể ỉ ộ
thu ột quầ ể ấ ị
con nh t đ nh. ụ
di trú đượ ự
c th c hiệ ờ
n theo th i gian, một số ể ợ ể ặ
cá th đư c di chuy n ho c sao chép từ
nhóm này đến nhóm khác. N n b nhóm khác nào
ếu các cá th có th
ể ể ế
di trú đ ất kỳ
thì mô hình này đượ ọ ả ế ể ỉ
c g i là mô hình đ o (island model). N u các cá th ch di trú
đế ậ ủ
n các nhóm lân c n c a chúng, mô hình này g mô hình t
ọi là ừ ớ
ng bư c (stepping
stone mode).
S t
ự di trú của các cá thể ừ nhóm này sang nhóm khác đượ ề
c đi u khiển bởi các tham
số như:
43
• Topo d
đị ế
nh nghĩa các k t nối giữa các quần thể con. Các topo được sử ụng
ph bi kh
ổ ến bao gồm: ố ậ
i l p phương, lướ ề
i hai chi u hoặ ề ạ
c ba chi u, d ng vòng,
...
• T : i
ố ộ
c đ di trú đ ều khiển bao nhiêu cá thể di trú.
• Lượ ồ ề ể
c đ :
di trú đi u khi n các cá th n (t t, x
ể ủ ồ
c
nào a nhóm ngu ốt nhấ ấu
nhất, ngẫu nhiên) di trú tới nhóm khác và các cá th c thay
ể ợ
nào đư thế ấ
(x u
nhấ ẫ
t, ng u nhiên, ...)
• Tần xuất di trú.
Thuật toán kết thô c
(Coarse grained algorithm): đề ậ ế ố
p đ n mô hình có tương đ i ít
số quần thể con nhưng mỗi quần thể có nhiều cá thể. Hai đặ ủ
c trưng c a mô hình này
là thời gian x t th i l n và truy
ử ộ
lý m ế ệ ỗ
h m
trong i qu n th
ầ ể ố
con tương đ ớ ền thông
x ,
ả ổ
y ra khi trao đ i các cá thể giữa các quần thể con. Đôi khi thuật toán di truyền
song song kết thô c g i là di truy c hi n th c trên
còn đượ ọ ền phân tán bở ờ ợ
i thư ng đư ệ ự
các máy tính MIMD bộ ớ
nh phân tán.
Thuật toán kết mịn (fine grained algorithm): i thu t thô, thu
trái lại vớ ật toán kế ật
toán đòi hỏi t
rấ nhiề ộ ử ở
u b x lý b i vì quần thể ợ
đư c chia thành rấ ề ầ
t nhi u qu n thể
con (nhóm). Truy c hi n th c ho c s ng tác v di trú
ền thông giữ ợ
a các nhóm đư ệ ự ặ ử ụ
d ụ
ho n
ặc sử ụ ế
d ng cơ ch chồng lấp các nhóm. Gần đây, thuật ngữ ề
di truy kết mịn
đư nh nghĩa l
ợ ị
c đ ạ ợ ử ụ ể ỉ ề ố ớ ẽ
i và đư c s d ng đ ch di truy n song song kh i l n (s trình
bày ở ầ
ph n sau).
44
Hình 3.8 Lược đồ thuật toán di truyền song song kết mịn. Lớp thuật toán này có
một quần thể được phân tán từng phần và được hiện thực rất hiệu quả
trên các máy tính song song lớn.
Mô hình đa nhóm thể hiện một vấn đề ả ở ờ
là tính kh m (scalability). Trong trư ng
h d
ợp số máy tương đối ít, mô hình kế ợ
t thô đư c sử ụng rất hiệu quả. Tuy nhiên, nếu
s r m r
ố máy mở ộ ế ấ ể
ng đ n hàng trăm máy, r t khó đ ở ộng (scale up) kích thước và số
nhóm qu ng.
để ậ
t n d ng hi
ụ ệu ả ạ ầ
h t ng ph n c
ầ ứ Mặc dù hạn chế trên, mô hình đa
nhóm r n b n c
ất phổ biế ởi từ ể
quan đi m hiện thực, nó là sự ở ộ
m r ng đơn giả ủa thuật
toán di truyền tuần tự.
3.3.4 Song song dạng quần thể con chồng lấp, không di trú
Mô hình này tương t mô hình trên nhưng kh Thay vào đó,
ự ông có tác vụ di trú. sự
thỏa hiệp và trao đ i các đ
ổ ặ ợ
c trưng đư c th c hi i các cá th m trong các
ự ện bở ể ằ
n
vùng ch ng l
ồ ấp (overlapping areas). c trong m t c u trúc
Các nhóm được tổ chứ ộ ấ
không gian nhằm có thể ữ
tương tác gi a chúng. c nhi
M u
ột số cá thể th ộ ều hơn một
nhóm và tham gia nhi n l
ề ụ ổ ọ
u tác v trao đ i chéo và ch ọc.
Mô hình này có th ng t
ể ễ ợ
d dàng đư c áp dụ rên các hệ thống bộ ớ ẻ ằ
nh chia s b ng
cách đặt toàn bộ ầ ể ẻ ằ
qu n th trong vùng chia s và b ng cách chạ ậ
y các thu t toán di
truyền trên mỗi nhóm một cách đồng thời. S n th c hi n trên các vùng
ự đồng bộ ầ
c ự ệ
ch c.
ồng lấp đối v i các tác v
ớ ụ trao đ i chéo, đ
ổ ột biến và chọn lọ
45
3.3.5 Thuật toán di truyền song song khối lớn
Thuật toán di truyền song song khối lớn có được khi tăng số nhóm và giảm số cá
thể có trong m trong mô hình qu con có ch
ỗi nhóm ần thể ồng lấp. Loại thuật toán
này thườ ợ
ng đư c gọi thu
là ậ ề ế ị
t toán di truy n k t m n đơn giản.
Thuậ ử ụ
t toán s d ng chỉ ộ
m t qu . M t cá th
ần thể ộ ể chỉ ạ
c nh tranh và giao phối v i các
ớ
cá th lân c i vì các vù p, các l i gi i t
ể ận củ ở
a nó, nhưng b ng lân cận có sự chồng lấ ờ ả ốt
có th n qua toàn b
ể ổ ế
ph bi ộ ầ
qu n thể.
Mô hình này thích hợp tri th
ển khai trên các hệ ống song song lớ ệ
n cũng như các h
th . i
ống đa bộ ử
x lý Trường hợ ở
p lý tư ng, mỗ nhóm cá thể ợ
đư c gán cho mỗi phần
tử tính toán. Mô hình này không thích hợp triển khai trên các cluster bởi chi phí
truyền thông c l
ực kỳ ớn.
3.3.6 Song song dạng các nhóm cá thể động
Đây là phương pháp song song mớ ế ợ ậ
i cho phép k t h p thu t toán song song toàn cục
(như thuậ ề ủ ớ ả ớ ậ ế
t toán di truy n phân tán ch t đơn gi n) v i thu t toán k t thô (như mô
hình qu ng l
ần thể ồ
con có ch ấp). Mô hình này không có tác vụ ở
b
di trú i vì toàn bộ
quần th i x
ể ợ ố
đư c đ ử như một tập h n hóa và
ợp các cá thể ố
trong su t quá trình tiế
thông tin giữa ch
các cá thể ợ
đư c trao đổi qua việc tái tổ ức động các nhóm trong
su ng
ốt các chu kỳ ử ể
x lý. Trên quan đi m xử ộ
lý song song, phương pháp nhóm đ
phù hợp hoàn toàn t toán nhi
với dạng MIMD với thuậ ều chủ ớ ấ ồ
-t b t đ ng bộ.
Ý tưở ủ ả ờ
ng chính c a phương pháp là làm gi m th i gian chờ các cá thể sau cùng
(ch t)
ậm nhấ trong mô hình chủ ớ ằ ộ
-t b ng cách phân tách đ ng quần th thành các
ể
nhóm x
cá thể để có thể ử lý ngay mà không trì hoãn. Điều này giúp tăng tố ộ ử
c đ x
lý .
đáng kể ữ
. Hơn n a, thuật toán cũng có tính kh y đ
ả ở đầ
m ủ
Thu ng
ật toán có th y trên các h
ể chạ ệ thố song song bộ ớ ẻ ệ
nh chia s cũng như các h
thống song song b n khai
ộ nhớ phân tán. Do có tính khả ở
m cao, thu t toán tri
ậ ể được
trên các th
hệ ống có ít ph n t
ầ ử ệ ố ớ ớ
tính toán và trên các h th ng song song l n v i hàng
trăm, hàng ngàn phầ ử
n t tính toán.
46
3.3.7 Thuật toán song song trạng thái ổn định
Thu n
ật toán sử ụ ợ ồ ậ
d ng các lư c đ c p nhật quần th liên t c. N u các cá th
ể ụ ế ể ầ
con d
d c
ầ ợ
n đư c giới thiệu thành một quần thể đơn, đang liên tục phát triển thì chỉ ần áp
dụ ợ ồ
ng các lư c đ chọn lọc và thay thế trong vùng tranh chấp. Các toán tử di truyền
khác, bao gồ ệ ộ ể ự ệ
m vi c đánh giá đ thích nghi, có th th c hi n song song.
3.3.8 Thuật toán song song hỗn tạp
Thu u
ật toán g , qu
ồ ạ
m ba giai đo n. Trong giai đoạ ạ
n 1 và giai đo n 2 ần thể ầ
ban đ
đượ ạ
c t o sử ụ ộ ả ệ ừ ầ
d ng m t b ng li t kê t ng ph n. Điều này ng phép
d
làm giảm việc sử ụ
ch c i
ọn lọ theo kiể ấ
u vòng thi đ u (tournament selection). Giai đoạn 3, các lời giả
từng phầ ợ
n đư c tìm thấ ạ ợ
y trong giai đo n 2 đư c trộn vớ ạ
i nhau. Giai đo n 1 có thể
được hoàn thành i không n b n thông nào.
đồng thời bở cầ ất kỳ truyề Bở ạ
i vì giai đo n
2 thường chiếm nhi n l
ều thời gian th c thi, các mô hình ch
ự ọ ọ ộ
c và đánh giá đ thích
nghi đồ ờ
ng th i thườ ợ ử
ng đư c s dụ ạ
ng trong giai đo n này.
3.3.9 Các phương pháp lai
Để song song hóa thu n, nhi
ật toán di truyề ều phương pháp lai đượ ạ ằ
c t o ra b ng cách
k k
ết hợ ợ
p các phương pháp đư c mô tả trên. Việc kết hợp các ỹ thuật song song có
thể ậ
t n dụng các điểm lợi trong các thu t toán thành ph và vì v y có th
ậ ần ậ ể ệ
cho hi u
năng t t hơn.
ố
Hình 3.9 Các hình thức kết hợp phân cấp
47
Hình 3.9 , thu
a ật toán lai là thu t toán di truy , m
ậ ề ể
n song song đa nhóm cá th ỗi nút
cũng là thuật toán di truyền song song đa nhóm. Hình 3.9b, ở ứ
m c cao, thuật toán
lai này là thu t toán di truy
ậ ền song song đa nhóm cá thể ỗ
nhưng m i nút là một thuật
toán song song ch p c
ủ ớ
t . Hình 3.9c minh h t h
ọa sự ế
k ợ ủa thuật toán song song đa
nhóm ở ứ
m c cao và thu t m c th
ật toán kế ịn ở ứ
m ấp.
48
Chương 4: Thuật toán di truyền song song giải
bài toán VRP với hạn chế thời gian
4.1 Heuristic xây dựng lộ trình
Như đã trình bày ở ầ ế ợ ế ờ
ph n trên, chi n lư c tìm ki m heuristic thư ng bắ ầ
t đ u bằng
một lời giải khả thi ban đầ ả
u, sau đó c i thiện dần lời giải này s ng các
ử ụ
d kỹ thu t
ậ
tối ưu toàn cụ ặ ụ ộ
c ho c c c b . Solomon[1] năm 1987 đã đề ấ
xu t phương pháp
heuristic chèn chèn các khách hàng vào các l
hiệu quả để ộ trình mới. Sau khi khởi
t d n
ạo một lộ trình, phương pháp sử ụng hai tiêu chuẩ )
,
,
(
1
j
u
i
c và )
,
,
(
2
j
u
i
c (sẽ được
trình bày sau) cho m chèn m a hai khách
ỗi vòng lặ ể
p đ ột khách hàng mới u vào giữ
hàng li trình hi
ền kề i và j trên lộ ện tại.
Nhắc l i bài toán, cho
ạ N khách hàng, mỗi khách hàng có nhu cầu mi và khoả ờ
ng th i
gian cho phép phục vụ ( i
i l
e , ) (gọi là cửa sổ thời gian) với N
i ,...,
1
= . M t
ộ ộ
t đ i xe ại
kho ( 0
=
i ) g l
ồm K xe giống nhau, mỗi xe có khả năng chuyên chở ớn nhất là k
q với
K
k ,...,
1
= . i
Để đơn giản, độ xe được giả đị ồ
nh là đ ng nhất, tức là khả năng chuyên
chở ớ
l n nhấ ủ
t c a các xe là như nhau.
Thờ ụ ụ ứ ờ
i gian ph c v , t c là th i gian lấy hoặc phân phát hàng hóa tại khách hàng thứ i
là fi. Thời gian này chỉ ắ ầ
b t đ u tại thờ ể
i đi m ti trong cửa sổ thời gian liên kết với
khách hàng đó. Vì vậ ế
y, n u một xe đế ớ ờ ể ợ ụ ụ ứ
n trư c th i đi m đư c phép ph c v , t c
trước thời điể ớ ấ
m s m nh t của cửa sổ, thì xe phả ờ ộ ả ờ
i ch m t kho ng th i gian wi với
)
( ji
j
j
i
i t
f
t
e
w +
+
−
= , giả ử đứ ớ
s khách hàng j ng trư c khách hàng thứ ộ
i trên l trình.
Thời gian ji
t là thời gian phải mất khi xe di chuyển từ khách hàng j đến khách hàng
i c s b
và đượ giả ử ằng khoảng cách Euclide ji
d giữa hai khách hàng này. Khoảng
cách này i x
cũng được giả ử ố
s là đ ứng, tức là ji
d = ij
d . Như vậ ờ ể ắ
y, th i đi m xe b t
đầ ụ ụ ạ ứ
u ph c v t i khách hàng th i là { }
ji
j
j
i
i t
f
t
e
t +
+
= ,
max .
49
Giả ử ộ
s m t lộ trình )
,...,
,
,
( 2
1
0 m
p
i
i
i
i
R = với 0
0 =
= m
i
i chỉ kho trung tâm. Ứng với mỗi
khách hàng p l nh, v khách hàng
u chưa lậ ộ trì ị ả ố
trí chèn kh thi t t nhất cho u vào lộ
trình Rp, th th
ỏa các ràng bu c v
ộ ề ời gian và khả ợ
năng xe, đư c tính như sau:
)}
,
,
(
{
min
))
(
,
),
(
( 1
1
1 p
p
p
i
u
i
c
u
j
u
u
i
c −
=
:
Trong đó
m
p ,
,
1 
=
)
,
,
(
)
,
,
(
)
,
,
( 12
2
11
1
1
j
u
i
c
j
u
i
c
j
u
i
c α
α +
=
1
2
1 =
+α
α
0
, 2
1 ≥
α
α
Hai hàm 11
c và 12
c là các hàm dựa trên khoảng cách và thời gian:
0
,
)
,
,
(
11 ≥
−
+
= µ
µ ij
uj
iu d
d
d
j
u
i
c
j
j t
t
j
u
i
c u
−
=
)
,
,
(
12
Trong đó: µ là hằng số và u
j
t là th i b
ờ ể
i đi m mớ ắ ầ
t đ u phục vụ ạ
t i khách hàng j khi
có khách hàng u vào lộ trình. Rõ ràng, việc chèn u vào giữa 1
−
p
i và p
i có th làm thay
ể
đổ ấ ả ờ ắ ầ ụ ụ ở
i t t c th i gian b t đ u ph c v các khách hàng )
,...,
( m
p i
i .
Khi v l
ị trí tốt nhấ ể
t đ chèn mỗi khách hàng chưa có ộ trình đã đượ ị ớ
c xác đ nh, bư c
kế tiế ợ
p đư c thực hiện nhằm chọn ra khách hàng t khách
cho giá trị ố ấ
t i ưu nh t. Mộ
hàng u*
đượ ọ
c ch n khi:
))}
(
,
),
(
(
{
max
))
(
,
),
(
( 2
*
*
*
2
u
j
u
u
i
c
u
j
u
u
i
c
u
=
Trong đó: u là khách hàng chưa có lộ trình và khả thi; )
,
,
(
2 j
u
i
c được tính như sau:
0
),
,
,
(
)
,
,
( 1
0
2 ≥
−
= λ
λ j
u
i
c
d
j
u
i
c u
Với λ .
là hằng số
50
Trong VRPTW, việc chèn m t khách hàng m i vào m t l
ộ ớ ộ ộ trình luôn kéo theo phải
kiểm tra tính kh thi c a ràng bu c c a s i gian a các khách hàng
ả ủ ộ ử ổ thờ củ đứng sau
trong l trình. Vi c ki m tra tính kh thi này
ộ ệ ể ả cho m i khách hàng ph
ỗ ải mất O(N)
thời gian. Điều này làm tiêu tốn nhi i gian tính toán khi
ều thờ N lớn. Chính vì vậy,
Solomon[1] năm 1987 đã đề ị ủ ụ
ngh th t c push forward. Giả định rằng, các xe xuất
phát th i
ở ời điểm sớm nhất có thể ọ
. G new
ip
t b t
là thờ ể
i đi m mớ ể
i đ ắ ầ
t đ u phục vụ ại
khách hàng p
i s b
khi có khách hàng u trong lộ trình. Giả ử ấ ẳ
t đ ng thức tam giác
n c
ắm giữ ả khoảng cách và thời gian n
di chuyể , việc chèn khách hàng u sinh ra một
giá trị push forward tại p
i như sau:
0
≥
−
= p
p
p i
new
i
i t
t
PF
Hơn nữa, 1
+
r
i
PF được tính là:
1
},
,
0
max{ 1
1
−
≤
≤
−
= +
+
m
r
p
w
PF
PF r
r
r i
i
i
Nếu r
i
PF > 0, các khách hàng r
i , với m
r
p ≤
≤ , có thể tr thi.
ở ả
nên không kh Do đó,
thủ ụ
t c ch m tra tu
ỉ ầ
c n kiể ần t ng khách hàng cho tính kh
ự nhữ ả ề ờ
thi v th i gian cho
đế ấ ộ
n khi tìm th y m t khách hàng nào đó, ví dụ như r
i ( )
r < m có giá trị 0
=
r
i
PF
hoặc r
i i .
không khả thi về thờ gian Tuy nhiên, trong trường hợp xấu nhất, tất cả các
khách hàng r
i ( m
r
p ≤
≤ ) đượ ể
c ki m tra.
Solomon[1] đã phát biểu hình thứ ấ ề
c v n đ này như sau:
Các đi n và đ
ề ệ
u ki n cầ ủ ả ề ờ ộ
cho kh thi v th i gian khi chèn m t khách hàng u vào
gi a
ữ 1
−
p
i và p
i , m
p ≤
≤
1 trên một lộ trình khả thi đang xây dựng ( )
m
i
i
i ,...,
, 1
0
,
0
0 =
= m
i
i
là
u
u l
t ≤
Và
m
r
p
l
PF
t r
r
r i
i
i ≤
≤
≤
+ ,
51
Chú ý rằng có thể 0
<
i
PF nếu khoả ề
ng cách không Euclide, đi u này cho kết quả ấ
t t
cả khách hàng đều khả thi về thời gian. Và bởi vì 0
=
m
i , phát biểu c a Solomon
ủ
luôn đả ả ằ ậ
m b o r ng xe v n chuyển sẽ ề đế
v n kho trong khoảng thời gian lậ ị
p l ch.
Khi không có một khách hàng nào với các thao tác chèn khả thi được tìm thấy, thủ
t i
ục chèn bắ ầ
t đ u một lộ trình mớ và tiếp tụ ế
c cho đ n khi tất cả khách hàng đã có lộ
trình.
Trong hầu hế ự
t các phương pháp xây d ng lộ ọ ầ
trình, cách ch n khách hàng đ u tiên
đượ ụ ụ ộ ế
c ph c v là m t y u tố ọ
quan tr ng ả ở ế ấ ợ ờ ả ề
nh hư ng đ n ch t lư ng l i gi i. Nhi u
tiêu chu n ra
ẩ ợ
n đư c xây dựng nhằm chọ ứng viên thích hợp nhấ để ở
t kh i t i l
ạo mỗ ộ
trình , . khác
như [1] [16] Rõ ràng, các tiêu chu khác nhau luôn cho các k t qu
ẩn ế ả
nhau.
G -
ọi phương pháp heuristic chèn của Solomon là phương pháp PFIH (Push Forward
Insertion Heuristic t toán
). Thuậ PFIH được mô tả như sau:
• Bướ ắ ầ ớ ộ ộ ỗ ấ ừ ặ
c 1: B t đ u v i m t l trình r ng xu t phát t kho. Đ t r = 1.
• Bướ ế ấ ả ợ ậ ộ ả ế ớ
c 2: N u {t t c các khách hàng đã đư c l p l trình} thì nh y đ n bư c
8. Ngượ ạ ứ
c l i, ng vớ ỗ ợ ậ
i m i khách hàng j chưa đư c l p lộ trình: tính chi phí
chèn như nút đầu tiên.
• Bướ ọ
c 3: Ch n ra khách hàng t t
ối ưu j* ừ danh sách trên sao cho chi phí ít
nhấ ỏ ộ ề ờ ả
t và th a các ràng bu c v th i gian và kh năng vận chuyển của xe.
• Bướ ố ộ ệ ạ ậ ậ ả ủ ộ
c 4: Thêm j* vào cu i l trình hi n t i và c p nh t t i c a l trình.
• Bướ ớ ọ ợ ậ ộ ứ ớ ỗ ạ
c 5: V i m i khách hàng j chưa đư c l p l trình, ng v i m i c nh {k,
l j k
} trong lộ ệ ạ
trình hi n t i: tính chi phí chèn khách hàng vào giữa và l.
• Bướ ọ
c 6: Ch n ra khách hàng nh { u {vi
j* và cạ k*, l*} có chi phí ít nhất. Nế ệc
chèn khách hàng là kh hi theo các ràng bu c v i gian
j* giữa và
k* l* ả t ộ ề thờ
và tải trọng xe} thì chèn khách hàng p nh
j* vào giữa và
k* l*, cậ ật l i t
ạ ải của
lộ trình r hiện tại và nhả ế ớ ợ
y đ n bư c 5. Ngư c lại, nhả ế ớ
y đ n bư c 7.
Thuật toán di truyền song song giải bài toán VRP (Vehicle routing problem) với hạn chế thời gian.pdf
Thuật toán di truyền song song giải bài toán VRP (Vehicle routing problem) với hạn chế thời gian.pdf
Thuật toán di truyền song song giải bài toán VRP (Vehicle routing problem) với hạn chế thời gian.pdf
Thuật toán di truyền song song giải bài toán VRP (Vehicle routing problem) với hạn chế thời gian.pdf
Thuật toán di truyền song song giải bài toán VRP (Vehicle routing problem) với hạn chế thời gian.pdf
Thuật toán di truyền song song giải bài toán VRP (Vehicle routing problem) với hạn chế thời gian.pdf
Thuật toán di truyền song song giải bài toán VRP (Vehicle routing problem) với hạn chế thời gian.pdf
Thuật toán di truyền song song giải bài toán VRP (Vehicle routing problem) với hạn chế thời gian.pdf
Thuật toán di truyền song song giải bài toán VRP (Vehicle routing problem) với hạn chế thời gian.pdf
Thuật toán di truyền song song giải bài toán VRP (Vehicle routing problem) với hạn chế thời gian.pdf
Thuật toán di truyền song song giải bài toán VRP (Vehicle routing problem) với hạn chế thời gian.pdf
Thuật toán di truyền song song giải bài toán VRP (Vehicle routing problem) với hạn chế thời gian.pdf
Thuật toán di truyền song song giải bài toán VRP (Vehicle routing problem) với hạn chế thời gian.pdf
Thuật toán di truyền song song giải bài toán VRP (Vehicle routing problem) với hạn chế thời gian.pdf
Thuật toán di truyền song song giải bài toán VRP (Vehicle routing problem) với hạn chế thời gian.pdf
Thuật toán di truyền song song giải bài toán VRP (Vehicle routing problem) với hạn chế thời gian.pdf
Thuật toán di truyền song song giải bài toán VRP (Vehicle routing problem) với hạn chế thời gian.pdf
Thuật toán di truyền song song giải bài toán VRP (Vehicle routing problem) với hạn chế thời gian.pdf
Thuật toán di truyền song song giải bài toán VRP (Vehicle routing problem) với hạn chế thời gian.pdf
Thuật toán di truyền song song giải bài toán VRP (Vehicle routing problem) với hạn chế thời gian.pdf
Thuật toán di truyền song song giải bài toán VRP (Vehicle routing problem) với hạn chế thời gian.pdf
Thuật toán di truyền song song giải bài toán VRP (Vehicle routing problem) với hạn chế thời gian.pdf
Thuật toán di truyền song song giải bài toán VRP (Vehicle routing problem) với hạn chế thời gian.pdf
Thuật toán di truyền song song giải bài toán VRP (Vehicle routing problem) với hạn chế thời gian.pdf
Thuật toán di truyền song song giải bài toán VRP (Vehicle routing problem) với hạn chế thời gian.pdf
Thuật toán di truyền song song giải bài toán VRP (Vehicle routing problem) với hạn chế thời gian.pdf
Thuật toán di truyền song song giải bài toán VRP (Vehicle routing problem) với hạn chế thời gian.pdf
Thuật toán di truyền song song giải bài toán VRP (Vehicle routing problem) với hạn chế thời gian.pdf
Thuật toán di truyền song song giải bài toán VRP (Vehicle routing problem) với hạn chế thời gian.pdf
Thuật toán di truyền song song giải bài toán VRP (Vehicle routing problem) với hạn chế thời gian.pdf
Thuật toán di truyền song song giải bài toán VRP (Vehicle routing problem) với hạn chế thời gian.pdf
Thuật toán di truyền song song giải bài toán VRP (Vehicle routing problem) với hạn chế thời gian.pdf

More Related Content

What's hot

What's hot (20)

Bài mẫu TIỂU LUẬN MÔN QUẢN TRỊ CHIẾN LƯỢC hay điểm cao. Liên hệ sdt/ zalo 090...
Bài mẫu TIỂU LUẬN MÔN QUẢN TRỊ CHIẾN LƯỢC hay điểm cao. Liên hệ sdt/ zalo 090...Bài mẫu TIỂU LUẬN MÔN QUẢN TRỊ CHIẾN LƯỢC hay điểm cao. Liên hệ sdt/ zalo 090...
Bài mẫu TIỂU LUẬN MÔN QUẢN TRỊ CHIẾN LƯỢC hay điểm cao. Liên hệ sdt/ zalo 090...
 
Quản trị sản xuất (Full version)
Quản trị sản xuất (Full version)Quản trị sản xuất (Full version)
Quản trị sản xuất (Full version)
 
Bài mẫu Tiểu luận Chiến Lược Của Apple Cho Sản Phẩm, HAY
Bài mẫu Tiểu luận Chiến Lược Của Apple Cho Sản Phẩm, HAYBài mẫu Tiểu luận Chiến Lược Của Apple Cho Sản Phẩm, HAY
Bài mẫu Tiểu luận Chiến Lược Của Apple Cho Sản Phẩm, HAY
 
PHÂN TÍCH CHIẾN LƯỢC KINH DOANH QUỐC TẾ CỦA TẬP ĐOÀN VIETTEL
PHÂN TÍCH CHIẾN LƯỢC KINH DOANH QUỐC TẾ CỦA TẬP ĐOÀN VIETTELPHÂN TÍCH CHIẾN LƯỢC KINH DOANH QUỐC TẾ CỦA TẬP ĐOÀN VIETTEL
PHÂN TÍCH CHIẾN LƯỢC KINH DOANH QUỐC TẾ CỦA TẬP ĐOÀN VIETTEL
 
Bài mẫu Khóa luận: yếu tố ảnh hưởng đến ý định sử dụng dịch vụ 4G, HAY
Bài mẫu Khóa luận: yếu tố ảnh hưởng đến ý định sử dụng dịch vụ 4G, HAYBài mẫu Khóa luận: yếu tố ảnh hưởng đến ý định sử dụng dịch vụ 4G, HAY
Bài mẫu Khóa luận: yếu tố ảnh hưởng đến ý định sử dụng dịch vụ 4G, HAY
 
Luận văn: Thuật toán cho bài toán thu gom chất thải rắn đô thị, 9đ
Luận văn: Thuật toán cho bài toán thu gom chất thải rắn đô thị, 9đLuận văn: Thuật toán cho bài toán thu gom chất thải rắn đô thị, 9đ
Luận văn: Thuật toán cho bài toán thu gom chất thải rắn đô thị, 9đ
 
Khảo sát mức độ hài lòng của người tiêu dùng quận Gò Vấp về sản phẩm mì ăn li...
Khảo sát mức độ hài lòng của người tiêu dùng quận Gò Vấp về sản phẩm mì ăn li...Khảo sát mức độ hài lòng của người tiêu dùng quận Gò Vấp về sản phẩm mì ăn li...
Khảo sát mức độ hài lòng của người tiêu dùng quận Gò Vấp về sản phẩm mì ăn li...
 
Đề tài: Nâng cao chất lượng nguồn nhân lực tại Công ty phân bón
Đề tài: Nâng cao chất lượng nguồn nhân lực tại Công ty phân bónĐề tài: Nâng cao chất lượng nguồn nhân lực tại Công ty phân bón
Đề tài: Nâng cao chất lượng nguồn nhân lực tại Công ty phân bón
 
Các Nhân Tố Ảnh Hưởng Đến Ý Định Sử Dụng Ví Điện Tử.doc
Các Nhân Tố Ảnh Hưởng Đến Ý Định Sử Dụng Ví Điện Tử.docCác Nhân Tố Ảnh Hưởng Đến Ý Định Sử Dụng Ví Điện Tử.doc
Các Nhân Tố Ảnh Hưởng Đến Ý Định Sử Dụng Ví Điện Tử.doc
 
Báo cáo quản lý cửa hàng máy tính
Báo cáo quản lý cửa hàng máy tínhBáo cáo quản lý cửa hàng máy tính
Báo cáo quản lý cửa hàng máy tính
 
Thực trạng chính sách và kế hoạch nhân lực tại công ty Vinamilk
Thực trạng chính sách và kế hoạch nhân lực tại công ty VinamilkThực trạng chính sách và kế hoạch nhân lực tại công ty Vinamilk
Thực trạng chính sách và kế hoạch nhân lực tại công ty Vinamilk
 
Xây dựng hệ thông thông tin kế toán tiền lương tại công ty cổ phần thương mại...
Xây dựng hệ thông thông tin kế toán tiền lương tại công ty cổ phần thương mại...Xây dựng hệ thông thông tin kế toán tiền lương tại công ty cổ phần thương mại...
Xây dựng hệ thông thông tin kế toán tiền lương tại công ty cổ phần thương mại...
 
Luận Văn thạc sĩ GIẢI PHÁP HOÀN THIỆN CHUỖI CUNG ỨNG .doc
Luận Văn thạc sĩ GIẢI PHÁP HOÀN THIỆN CHUỖI CUNG ỨNG .docLuận Văn thạc sĩ GIẢI PHÁP HOÀN THIỆN CHUỖI CUNG ỨNG .doc
Luận Văn thạc sĩ GIẢI PHÁP HOÀN THIỆN CHUỖI CUNG ỨNG .doc
 
Luận văn: Các nhân tố ảnh hưởng đến quyết định chọn trung tâm ngoại ngữ của s...
Luận văn: Các nhân tố ảnh hưởng đến quyết định chọn trung tâm ngoại ngữ của s...Luận văn: Các nhân tố ảnh hưởng đến quyết định chọn trung tâm ngoại ngữ của s...
Luận văn: Các nhân tố ảnh hưởng đến quyết định chọn trung tâm ngoại ngữ của s...
 
Lập kế hoạch marketing cho dịch vụ ATM ngân hàng VietinBank chi nhánh Đồng Nai
Lập kế hoạch marketing cho dịch vụ ATM ngân hàng VietinBank chi nhánh Đồng NaiLập kế hoạch marketing cho dịch vụ ATM ngân hàng VietinBank chi nhánh Đồng Nai
Lập kế hoạch marketing cho dịch vụ ATM ngân hàng VietinBank chi nhánh Đồng Nai
 
Các Yếu Tố Ảnh Hưởng Đến Ý Định Sử Dụng Ứng Dụng Giao Đồ Ăn.doc
Các Yếu Tố Ảnh Hưởng Đến Ý Định Sử Dụng Ứng Dụng Giao Đồ Ăn.docCác Yếu Tố Ảnh Hưởng Đến Ý Định Sử Dụng Ứng Dụng Giao Đồ Ăn.doc
Các Yếu Tố Ảnh Hưởng Đến Ý Định Sử Dụng Ứng Dụng Giao Đồ Ăn.doc
 
Hoạt Động Quản Trị Quan Hệ Khách Hàng Của Công Ty Vinamilk
Hoạt Động Quản Trị Quan Hệ Khách Hàng Của Công Ty VinamilkHoạt Động Quản Trị Quan Hệ Khách Hàng Của Công Ty Vinamilk
Hoạt Động Quản Trị Quan Hệ Khách Hàng Của Công Ty Vinamilk
 
Đề tài: Nghiên cứu hành vi mua sắm trực tuyến của người tiêu dùng, HAY
Đề tài: Nghiên cứu hành vi mua sắm trực tuyến của người tiêu dùng, HAYĐề tài: Nghiên cứu hành vi mua sắm trực tuyến của người tiêu dùng, HAY
Đề tài: Nghiên cứu hành vi mua sắm trực tuyến của người tiêu dùng, HAY
 
Đề tài hoàn thiện hoạt động phân phối xe máy, RẤT HAY
Đề tài hoàn thiện hoạt động phân phối xe máy, RẤT HAYĐề tài hoàn thiện hoạt động phân phối xe máy, RẤT HAY
Đề tài hoàn thiện hoạt động phân phối xe máy, RẤT HAY
 
Luận văn: Hoạch định chiến lược marketing gạo, 9 ĐIỂM!
Luận văn: Hoạch định chiến lược marketing gạo, 9 ĐIỂM!Luận văn: Hoạch định chiến lược marketing gạo, 9 ĐIỂM!
Luận văn: Hoạch định chiến lược marketing gạo, 9 ĐIỂM!
 

Similar to Thuật toán di truyền song song giải bài toán VRP (Vehicle routing problem) với hạn chế thời gian.pdf

[Www.toan capba.net] chuyen-de-luyen-thi-dh-2012-tran-anh-tuan
[Www.toan capba.net] chuyen-de-luyen-thi-dh-2012-tran-anh-tuan[Www.toan capba.net] chuyen-de-luyen-thi-dh-2012-tran-anh-tuan
[Www.toan capba.net] chuyen-de-luyen-thi-dh-2012-tran-anh-tuan
trongphuckhtn
 
Nghiên cứu ảnh hưởng của nguồn phân tán tới hệ thống bảo vệ cho lưới phân phố...
Nghiên cứu ảnh hưởng của nguồn phân tán tới hệ thống bảo vệ cho lưới phân phố...Nghiên cứu ảnh hưởng của nguồn phân tán tới hệ thống bảo vệ cho lưới phân phố...
Nghiên cứu ảnh hưởng của nguồn phân tán tới hệ thống bảo vệ cho lưới phân phố...
Man_Ebook
 
Ứng dụng thuật toán di truyền giải bài toán đóng thùng.pdf
Ứng dụng thuật toán di truyền giải bài toán đóng thùng.pdfỨng dụng thuật toán di truyền giải bài toán đóng thùng.pdf
Ứng dụng thuật toán di truyền giải bài toán đóng thùng.pdf
Man_Ebook
 
Chuyên đề LTĐH
Chuyên đề LTĐH Chuyên đề LTĐH
Chuyên đề LTĐH
Adagio Huynh
 
Chuyen de-luyen-thi-dh-2012
Chuyen de-luyen-thi-dh-2012Chuyen de-luyen-thi-dh-2012
Chuyen de-luyen-thi-dh-2012
Huynh ICT
 

Similar to Thuật toán di truyền song song giải bài toán VRP (Vehicle routing problem) với hạn chế thời gian.pdf (20)

Luận án: Một số phương pháp ngẫu nhiên cho bài toán cực đại hóa xác suất hậu ...
Luận án: Một số phương pháp ngẫu nhiên cho bài toán cực đại hóa xác suất hậu ...Luận án: Một số phương pháp ngẫu nhiên cho bài toán cực đại hóa xác suất hậu ...
Luận án: Một số phương pháp ngẫu nhiên cho bài toán cực đại hóa xác suất hậu ...
 
[Www.toan capba.net] chuyen-de-luyen-thi-dh-2012-tran-anh-tuan
[Www.toan capba.net] chuyen-de-luyen-thi-dh-2012-tran-anh-tuan[Www.toan capba.net] chuyen-de-luyen-thi-dh-2012-tran-anh-tuan
[Www.toan capba.net] chuyen-de-luyen-thi-dh-2012-tran-anh-tuan
 
Nghiên Cứu Chống Sạt Lở Bờ Sông Đồng Tháp, Dùng Phương Pháp Phân Tích Trực Ti...
Nghiên Cứu Chống Sạt Lở Bờ Sông Đồng Tháp, Dùng Phương Pháp Phân Tích Trực Ti...Nghiên Cứu Chống Sạt Lở Bờ Sông Đồng Tháp, Dùng Phương Pháp Phân Tích Trực Ti...
Nghiên Cứu Chống Sạt Lở Bờ Sông Đồng Tháp, Dùng Phương Pháp Phân Tích Trực Ti...
 
Đề tài: Quảng cáo trên truyền hình ở Việt Nam, 9 ĐIỂM!
Đề tài: Quảng cáo trên truyền hình ở Việt Nam, 9 ĐIỂM!Đề tài: Quảng cáo trên truyền hình ở Việt Nam, 9 ĐIỂM!
Đề tài: Quảng cáo trên truyền hình ở Việt Nam, 9 ĐIỂM!
 
Nghiên cứu ảnh hưởng của nguồn phân tán tới hệ thống bảo vệ cho lưới phân phố...
Nghiên cứu ảnh hưởng của nguồn phân tán tới hệ thống bảo vệ cho lưới phân phố...Nghiên cứu ảnh hưởng của nguồn phân tán tới hệ thống bảo vệ cho lưới phân phố...
Nghiên cứu ảnh hưởng của nguồn phân tán tới hệ thống bảo vệ cho lưới phân phố...
 
Ứng dụng thuật toán di truyền giải bài toán đóng thùng.pdf
Ứng dụng thuật toán di truyền giải bài toán đóng thùng.pdfỨng dụng thuật toán di truyền giải bài toán đóng thùng.pdf
Ứng dụng thuật toán di truyền giải bài toán đóng thùng.pdf
 
Luận Văn Các Yếu Tố Ảnh Hưởng Đến Sự Sáng Tạo Của Nhân Viên
Luận Văn Các Yếu Tố Ảnh Hưởng Đến Sự Sáng Tạo Của Nhân ViênLuận Văn Các Yếu Tố Ảnh Hưởng Đến Sự Sáng Tạo Của Nhân Viên
Luận Văn Các Yếu Tố Ảnh Hưởng Đến Sự Sáng Tạo Của Nhân Viên
 
Chuyen de toan on thi vao 10
Chuyen de toan on thi vao 10Chuyen de toan on thi vao 10
Chuyen de toan on thi vao 10
 
Chuyên đề LTĐH
Chuyên đề LTĐH Chuyên đề LTĐH
Chuyên đề LTĐH
 
Chuyen de-luyen-thi-dh-2012
Chuyen de-luyen-thi-dh-2012Chuyen de-luyen-thi-dh-2012
Chuyen de-luyen-thi-dh-2012
 
Luận văn: Phân tích các yếu tố ảnh hưởng đến lòng trung thành của khách hàng
Luận văn: Phân tích các yếu tố ảnh hưởng đến lòng trung thành của khách hàngLuận văn: Phân tích các yếu tố ảnh hưởng đến lòng trung thành của khách hàng
Luận văn: Phân tích các yếu tố ảnh hưởng đến lòng trung thành của khách hàng
 
CHUYÊN ĐỀ BÀI TẬP TOÁN 11 - SÁCH KẾT NỐI TRI THỨC - CẢ NĂM - CHƯƠNG 4 - QUAN ...
CHUYÊN ĐỀ BÀI TẬP TOÁN 11 - SÁCH KẾT NỐI TRI THỨC - CẢ NĂM - CHƯƠNG 4 - QUAN ...CHUYÊN ĐỀ BÀI TẬP TOÁN 11 - SÁCH KẾT NỐI TRI THỨC - CẢ NĂM - CHƯƠNG 4 - QUAN ...
CHUYÊN ĐỀ BÀI TẬP TOÁN 11 - SÁCH KẾT NỐI TRI THỨC - CẢ NĂM - CHƯƠNG 4 - QUAN ...
 
Phân Tích Báo Cáo Tài Chính Của Công Ty Tnhh Mtv Xây Lắp Và Vật Liệu Xây Dựng...
Phân Tích Báo Cáo Tài Chính Của Công Ty Tnhh Mtv Xây Lắp Và Vật Liệu Xây Dựng...Phân Tích Báo Cáo Tài Chính Của Công Ty Tnhh Mtv Xây Lắp Và Vật Liệu Xây Dựng...
Phân Tích Báo Cáo Tài Chính Của Công Ty Tnhh Mtv Xây Lắp Và Vật Liệu Xây Dựng...
 
Đề tài: Mô hình hóa và khảo sát sai số của robot công nghiệp, HOT
Đề tài: Mô hình hóa và khảo sát sai số của robot công nghiệp, HOTĐề tài: Mô hình hóa và khảo sát sai số của robot công nghiệp, HOT
Đề tài: Mô hình hóa và khảo sát sai số của robot công nghiệp, HOT
 
Luận văn: Ứng dụng một số phương pháp tính toán mềm xây dựng phần mềm hỗ trợ ...
Luận văn: Ứng dụng một số phương pháp tính toán mềm xây dựng phần mềm hỗ trợ ...Luận văn: Ứng dụng một số phương pháp tính toán mềm xây dựng phần mềm hỗ trợ ...
Luận văn: Ứng dụng một số phương pháp tính toán mềm xây dựng phần mềm hỗ trợ ...
 
Luận văn: Xây dựng hệ thống câu hỏi nêu vấn đề trong dạy học các đoạn trích T...
Luận văn: Xây dựng hệ thống câu hỏi nêu vấn đề trong dạy học các đoạn trích T...Luận văn: Xây dựng hệ thống câu hỏi nêu vấn đề trong dạy học các đoạn trích T...
Luận văn: Xây dựng hệ thống câu hỏi nêu vấn đề trong dạy học các đoạn trích T...
 
Giao trinh he dieu hanh linux va unix
Giao trinh he dieu hanh linux va unixGiao trinh he dieu hanh linux va unix
Giao trinh he dieu hanh linux va unix
 
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
 
Giao trinh he dieu hanh linux va unix 3
Giao trinh he dieu hanh linux va unix 3Giao trinh he dieu hanh linux va unix 3
Giao trinh he dieu hanh linux va unix 3
 
Tailieu.vncty.com he dieu hanh unix va linux
Tailieu.vncty.com   he dieu hanh unix va linuxTailieu.vncty.com   he dieu hanh unix va linux
Tailieu.vncty.com he dieu hanh unix va linux
 

More from Man_Ebook

More from Man_Ebook (20)

BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdfBÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
 
TL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
TL Báo cáo Thực tập tại Nissan Đà Nẵng.docTL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
TL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
 
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdfGiáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
 
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdf
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdfGiáo trình mô động vật - Trường ĐH Cần Thơ.pdf
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdf
 
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdfGiáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
 
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdfGiáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
 
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdfGiáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
 
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdfGiáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
 
Giáo trình Linux và phần mềm nguồn mở.pdf
Giáo trình Linux và phần mềm nguồn mở.pdfGiáo trình Linux và phần mềm nguồn mở.pdf
Giáo trình Linux và phần mềm nguồn mở.pdf
 
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdfGiáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
 
Giáo trình lý thuyết điều khiển tự động.pdf
Giáo trình lý thuyết điều khiển tự động.pdfGiáo trình lý thuyết điều khiển tự động.pdf
Giáo trình lý thuyết điều khiển tự động.pdf
 
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdfGiáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
 
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdfGiáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
 
Giáo trình lập trình cho thiết bị di động.pdf
Giáo trình lập trình cho thiết bị di động.pdfGiáo trình lập trình cho thiết bị di động.pdf
Giáo trình lập trình cho thiết bị di động.pdf
 
Giáo trình lập trình web - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình web  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình web  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình web - Trường ĐH Cần Thơ.pdf
 
Giáo trình lập trình .Net - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình .Net  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình .Net  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình .Net - Trường ĐH Cần Thơ.pdf
 
Giáo trình lập trình song song - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình song song  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình song song  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình song song - Trường ĐH Cần Thơ.pdf
 
Giáo trình lập trình hướng đối tượng.pdf
Giáo trình lập trình hướng đối tượng.pdfGiáo trình lập trình hướng đối tượng.pdf
Giáo trình lập trình hướng đối tượng.pdf
 
Giáo trình lập trình hướng đối tượng Java.pdf
Giáo trình lập trình hướng đối tượng Java.pdfGiáo trình lập trình hướng đối tượng Java.pdf
Giáo trình lập trình hướng đối tượng Java.pdf
 
Giáo trình kỹ thuật phản ứng - Trường ĐH Cần Thơ.pdf
Giáo trình kỹ thuật phản ứng  - Trường ĐH Cần Thơ.pdfGiáo trình kỹ thuật phản ứng  - Trường ĐH Cần Thơ.pdf
Giáo trình kỹ thuật phản ứng - Trường ĐH Cần Thơ.pdf
 

Recently uploaded

SLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdf
SLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdfSLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdf
SLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdf
hoangtuansinh1
 
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
ChuThNgnFEFPLHN
 

Recently uploaded (20)

GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
 
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdf
 
SLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdf
SLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdfSLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdf
SLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdf
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
 
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfCampbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng ĐồngGiới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
 
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quanGNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
 
Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................
 
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
 
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoáCác điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
 
Bài giảng môn Truyền thông đa phương tiện
Bài giảng môn Truyền thông đa phương tiệnBài giảng môn Truyền thông đa phương tiện
Bài giảng môn Truyền thông đa phương tiện
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
 
TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...
TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...
TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...
 
xemsomenh.com-Vòng Thái Tuế và Ý Nghĩa Các Sao Tại Cung Mệnh.pdf
xemsomenh.com-Vòng Thái Tuế và Ý Nghĩa Các Sao Tại Cung Mệnh.pdfxemsomenh.com-Vòng Thái Tuế và Ý Nghĩa Các Sao Tại Cung Mệnh.pdf
xemsomenh.com-Vòng Thái Tuế và Ý Nghĩa Các Sao Tại Cung Mệnh.pdf
 
Access: Chuong III Thiet ke truy van Query.ppt
Access: Chuong III Thiet ke truy van Query.pptAccess: Chuong III Thiet ke truy van Query.ppt
Access: Chuong III Thiet ke truy van Query.ppt
 

Thuật toán di truyền song song giải bài toán VRP (Vehicle routing problem) với hạn chế thời gian.pdf

  • 1. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI -------- --------   Nguyễn Việt Hân THUẬT TOÁN DI TRUYỀN SONG SONG GIẢI BÀI TOÁN VRP (VEHICLE ROUTING PROBLEM) VỚI HẠN CHẾ THỜI GIAN LUẬN VĂN THẠC SĨ KHOA HỌC Hà Nội – Năm 2009
  • 2. NGUY ỄN VIỆT HÂN B O Ộ GIÁO DỤC VÀ ĐÀO TẠ TRƯỜ Ạ Ọ Ộ NG Đ I H C BÁCH KHOA HÀ N I --------------------------------------- Nguyễn Việt Hân THUẬ Ề T TOÁN DI TRUY N SONG SONG GIẢI BÀI TOÁN VRP (VEHICLE ROUTING PROBLEM) VỚI HẠN CHẾ THỜI GIAN 2007 2009 - LUẬN VĂN TH C SĨ KHOA H Ạ ỌC CHUY ÀNH TH ÊN NG : CÔNG NGHỆ ÔNG TIN NGƯ I HƯ Ờ ỚNG DẪN KHOA HỌC: TS. NGUYỄN ĐỨC NGHĨA Hà nội 2009 Hà Nội – Năm 2009
  • 3. 2 Lời cảm ơn Trư m ơn chân thành đ ớc tiên, em xin gửi lời cả ế ầ ễ ứ n Th y PGS. TS. Nguy n Đ c Nghĩa đã đị ớ nh hư ng nghiên c u và góp ứ ý cho em đ có đư ể ợ ậ c lu n văn hoàn chỉnh. Em xin cảm ơn Quý Thầy cô trong Khoa i lòng nhi t huy n t , vớ ệ ế ắ t, đã vun đ p nề ảng tri th c v c cho các th ứ ững chắ ế ệ ọ h h c viên. Đây sẽ là hành trang vô giá cho chúng em trên con đường nghiên cứ ọ u khoa h c. Nhân đây, con xin gử ờ ế i l i bi t ơn đế ẹ n cha m t m đã vất vả nuôi nấng và ạo ọi điều ki luôn ng ệ ể n đ con có đượ ả ờ ợ c như ngày hôm nay. Xin c m ơn em, ngư i v lo lắ , chia sẻ và động viên anh vượt qua những khó khăn, thử thách. Sau cùng, không thể thiếu lời cảm ơn đế ị đồ ệ ổ n các anh ch ng nghi p đã trao đ i, khích lệ ờ và dành th i gian nhiều hơn cho tôi để hoàn thành tố ậ t lu n văn.
  • 4. 3 M c ục lụ Lời cảm ơn ................................................................................................................. 2 Mục lục....................................................................................................................... 3 Chương 1: Giới thiệu ............................................................................................. 9 1.1 Đặt vấn đề..................................................................................................... 9 1.2 Giới thiệu về VRP ...................................................................................... 10 1.3 Các tiêu chuẩn phân loại bài toán VRP...................................................... 12 1.4 Một số dạng chính của bài toán VRP......................................................... 13 1.4.1 VRP với hạn chế khả năng chở hàng hóa...........................................13 1.4.2 VRP với hạn chế thời gian..................................................................14 1.4.3 VRP với nhiều kho hàng hóa..............................................................15 1.4.4 VRP định kỳ........................................................................................16 1.4.5 VRP mở...............................................................................................17 1.4.6 VRP tách phân phối ............................................................................17 1.4.7 VRP với khả năng chuyên chở về.......................................................17 1.4.8 VRP với khả năng nhặt và phân phối .................................................18 1.5 Tối ưu tổ hợp.............................................................................................. 19 Chương 2: Bài toán VRP với hạn chế thời gian ................................................ 20 2.1 Định nghĩa .................................................................................................. 20 2.2 Mô hình toán học........................................................................................20 2.3 ........................................................................... Các cấu trúc vùng lân cận 23 2.4 Các phương pháp chính tiếp cận giải bài toán ........................................... 26 2.4.1 Các phương pháp chính xác................................................................26 2.4.1.1 Dựa trên quy hoạ ộ ch đ ng ................................................................26 2.4.1.2 D t ựa trên phát sinh cộ .....................................................................26 2.4.1.3 Dựa trên phân rã Lagrange..............................................................26 2.4.1.4 D - ựa trên K Tree ..............................................................................27
  • 5. 4 2.4.2 Các phương pháp heuristic . ................................................................ 27 2.4.2.1 Nguyên lý ........................................................................................27 2.4.2.2 Heuristic xây dựng lộ trình..............................................................28 2.4.2.3 Heuristic c i thi ả ện lộ trình...............................................................29 Chương 3: Thuật toán di truyền song song ....................................................... 35 3.1 Giới thiệu về thuật toán di truyền............................................................... 35 3.2 Các phép toán chính của thuật toán di truyền ............................................ 36 3.2.1 Phép chọn............................................................................................36 3.2.2 Phép lai................................................................................................37 3.2.3 Phép đột biến.......................................................................................39 3.3 Các mô hình song song .............................................................................. 40 3.3.2 Song song dạng chủ tớ........................................................................41 3.3.3 Song song dạng đa quần thể con có di trú ..........................................42 3.3.4 Song song dạng quần thể con chồng lấp, không di trú .......................44 3.3.5 Thuật toán di truyền song song khối lớn ............................................45 3.3.6 Song song dạng các nhóm cá thể động...............................................45 3.3.7 Thuật toán song song trạng thái ổn định.............................................46 3.3.8 Thuật toán song song hỗn tạp .............................................................46 3.3.9 Các phương pháp lai ...........................................................................46 Chương 4: Thuật toán di truyền song song giải bài toán VRP với hạn chế thời gian .............................................................................................................48 4.1 Heuristic xây dựng lộ trình......................................................................... 48 4.2 Thuật toán di truyền giải bài toán VRPTW................................................ 52 4.2.1 Biểu diễn nhiễu sắc thể .......................................................................52 4.2.2 Tạo quần thể ban đầu..........................................................................53 4.2.3 Đánh giá tính thích nghi......................................................................54 4.2.4 Các thao tác di truyền .........................................................................55 4.2.4.1 Chọn lọc ..........................................................................................55 4.2.4.2 Tái tổ ợ h p ........................................................................................56
  • 6. 5 4.2.5 Tạo thế hệ mới ....................................................................................57 4.3 Thuật toán di truyền song song giải bài toán VRPTW .............................. 59 Chương 5: Hiện thực và đánh giá chương trình ............................................... 63 5.1 Các vấn đề hiện thực ..................................................................................63 5.1.1 Cấu trúc dữ liệu biểu diễn lộ trình và lời giải.....................................63 5.1.2 Hai chiến lược khởi tạo quần thể ban đầu...........................................64 5.1.3 Một số kỹ thuật song song hóa ...........................................................65 5.2 Đánh giá kết quả......................................................................................... 67 5.2.1 Phương pháp đánh giá.........................................................................67 5.2.2 Kết quả thực hiện................................................................................68 5.2.3 Các nhận xét........................................................................................76 Chương 6: Kết luận và hướng phát triển........................................................... 77 6.1 Các kết luận................................................................................................ 77 6.2 Hướng phát triển......................................................................................... 77 Tài liệu tham khảo ..................................................................................................78 Tóm tắt ..................................................................................................................... 82 Abstract....................................................................................................................83
  • 7. 6 Danh sách các từ viết tắt GA Genetic Algorithm PGA Parallel Genetic Algorithm MIMD Multiple Instruction Multiple Data VRP Vehicle Routing Problem VRPTW Vehicle Routing Problem with Time Window PFIH Push-Forward Insertion Heuristic LSD λ-Interchange Local Search Descent TSP Travelling Salesman Problem ACS Ant Colony System ACO Ant Colony Optimization MACS- VRPTW Multiple Ant Colony System for Vehicle Routing Problems with Time Windows PMX Partially Mapped Crossover
  • 8. 7 Danh sách các hình Hình 1.1 Lời giải với 2 lộ trình của một thể hiện VRP 12 khách hàng.................11 Hình 1.2 Ví dụ VRP với hạn chế khả năng có 3 lộ trình.......................................14 Hình 1.3 Ví dụ VRP với 3 kho hàng hóa...............................................................16 Hình 1.4 Ví dụ VRP với khả năng nhặt và phân phối...........................................18 Hình 2.1 Ví dụ về một trao đổi Or-Opt .................................................................23 Hình 2.2 Ví dụ về một trao đổi 2-Opt*..................................................................24 Hình 2.3 Minh họa thao tác relocate......................................................................24 Hình 2.4 Minh họa thao tác trao đổi (exchange)...................................................25 Hình 2.5 Kiến của MACS trúc -VRPTW...............................................................33 Hình 3.1 Các khái niệm cơ bản của thuật toán di truyền.......................................35 Hình 3.2 Vòng quay lựa chọn cá thể .....................................................................36 Hình 3.3 Thao tác trao đổi chéo một điểm cắt.......................................................38 Hình 3.4 Thao tác trao đổi chéo nhiều điểm cắt....................................................38 Hình 3.5 Một số loại đột biến thường gặp.............................................................39 Hình 3.6 Phân loại các thuật toán di truyền song song .........................................41 Hình 3.7 Mô hình song song dạng chủ tớ..............................................................42 Hình 3.8 Lược đồ thuật toán di truyền song song kết mịn. Lớp thuật toán này có một quần thể được phân tán từng phần và được hiện thực rất hiệu quả trên các máy tính song song lớn.....................................................................................................44 Hình 3.9 Các hình thức kết hợp phân cấp .............................................................46 Hình 4.1 Chọn cá thể theo vòng thi đấu ................................................................56 Hình 4.2 Mô hình giải thuật song song dạng chủ tớ..............................................60 Hình 5.1 Minh họa cấu trúc danh sách liên kết biểu diễn một lộ trình .................63 Hình 5.2 Minh họa cấu trúc dữ liệu lời giải cho VRPTW.....................................64 Hình 5.3 Hệ thống cluster thử nghiệm ..................................................................69 Hình 5.4 Biểu đồ biểu diễn giá trị Speedup theo số tiến trình trong từng phân nhóm ................................................................................................................75
  • 9. 8 Danh sách các bảng Bảng 5.1 Bảng so sánh kết quả trung bình từ các kết quả tốt nhất giữa các phương pháp và kết quả tốt nhất được biết...............................................................70 Bảng 5.2 Bảng chi tiết so sánh thời gian trung bình khi thực thi tuần tự so với thời gian trung bình khi thực thi song song ứng với số tiến trình khác nhau và theo từng tập tin mẫu.........................................................................................................71 Bảng 5.3 Bảng tổng hợp so sánh thời gian trung bình thực thi tuần tự và song song trong mỗi nhóm dữ liệu ....................................................................................74 Bảng 5.4 Bảng Speedup trung bình của chương trình thực thi song song tính theo từng nhóm mẫu..................................................................................................74
  • 10. 9 Chương 1: Giới thiệu 1.1 Đặt vấn đề VRP là bài toán các l trình t c v xác định ộ ố độ i ưu cho i xe vận chuyển nh ph ằm ụ ụ các khách hàng trí khác nhau. ng trong th ở các vị Đây là bài toán có nhiều ứng dụ ực t t ế ừ khâu cung cấp nguyên liệ ế u thô đ n khâu phân phối thành phẩm trong các nhà máy m, s t d v ản xuấ , các công ty ịch vụ ận chuyể ẩ n như bưu ph hành khách, … Rõ ràng, chi phí vận chuy n s ể ẽ giảm nếu các xe di chuyển theo các lộ trình tố ừ i ưu, t đó giúp gi m giá thành hàng hóa i kinh t ả . Trong thờ ạ i đ ế ộ xã h i ngày càng phát triển, các yêu c a khách hàng ầu củ ngày càng khắt khe hơn. u như Tiêu biể yêu cầ ả u ph i đượ ứ c đáp ng trong mộ ả ờ ị ạ ộ ộ t kho ng th i gian xác đ nh; các công ty ho t đ ng theo m t th th i ời gian bi y, v trình VRP v i h ểu chính xác, … Chính vì vậ ấ ề ậ n đ l p lộ ớ ạn chế ờ gian (viết t t là VRPTW) ắ ngày càng được quan tâm hơn. Luậ ặ n văn đ t nghiên cứu trên bài toán VRPTW i xu th phát tri phù hợp vớ ế ển. Hơn thế ộ ạ ộ , VRP là m t d ng bài toán NP-khó, do đó, VRPTW cũng thu c - NP khó. Mục tiêu của VRPTW là tối thiểu số xe vận chuyển và tổng khoảng cách di chuyển khi phục vụ các khách hàng mà không vi phạm các ràng bu c v ộ ề khả năng chuyên ch th i thi ở ủ c a các xe và các c a s ử ổ ờ ứ i gian đáp ng. Để tìm lời giả khả cho bài toán, nhiề ậ u thu t toán đã được nghiên c u và ứ ứng dụ ậ ng như các thu t toán a trên quy dự hoạ ộ ch đ ng, các thu các thu ật toán dựa trên s i l ng Lagrange, ự ớ n ỏ ật toán a trên dự heurictic . thu heuris t. , .. Trong đó, các ật toán tic được quan tâm nhiều nhấ Luận văn ti i thu t ếp c n gi ậ ả ật di truyền giải quyết bài toán VRPTW. Đây là giải thuậ dựa trên heuristic được ứng dụ ộ ng r ng rãi trong nhiều bài toán c t tối ưu thự ế thuộ ề c nhi u lĩnh vực khác nhau. Các thu t toán d a trên heuristic ng cho các l i gi có tính thi cao, g ậ ự thườ ờ ải khả ần với l i l ời giải tố ủ i ưu c a bài toán. Tuy nhiên, giải thuật phả ặp qua nhiều vòng lặp với nhi nhi u ều tính toán đòi hỏi ề năng lực tính toán a máy tính củ . Tiêu biểu như thuật toán i th di truyền phả lặp qua nhiều ế ệ h , các thao tác tính toán th c hi n trên t ự ệ ừng
  • 11. 10 cá th th thu ể ủ c a toàn bộ ầ qu n th . Vì th , th i gian ể ế ờ ực hiện các ật toán heuristic khá lâu và tiêu t c tính toán c a máy tính ốn nhiề ự u năng l ủ . Do đó, bên cạnh việc nghiên cứu và áp dụng thuật toán di truyền vào giải bài toán VRP với hạn chế thời gian, luậ ậ n văn cũng t p trung phát tri t toán di truy c rút ển thuậ ền song song nhằm nổ ự l ngắ ờ ờ n th i gian tìm l i giải cho bài toán. 1.2 Giới thiệu về VRP D v ịch vụ ận chuyển là một khâu quan tr ng trong ngành công nghi p s n xu ọ ệ ả ất. Đầu tiên, các nguyên li u thô ệ ph uy nhi ải được vận ch ể ế n đ n nhà máy từ ều nhà cung cấp khác nhau các thành ph c v ; kế đến, ẩ ờ ợ m thư ng đư ận chuyể ế n đ n các kho ở ị các v trí đị ừ ợ ố a lý khác nhau; Sau đó, t các kho trung tâm này, các hàng hóa đư c phân ph i đế ậ ể ấ ề ợ ả ề ừ n các khách hàng và th m chí có th l y v các hàng hóa đư c tr v t các khách hàng. Cả hai qui trình cung cấp và phân phố ề ỏ i đ u đòi h i khả năng quản lý các phương tiện v n m ận chuyể ột cách hiệu quả nhằm tiết kiệm t M ối đa chi tiêu. ột trong các thướ ệ ả ấ c đo hi u qu nh t cho việ ả c qu n lý này chính là hiệ ả ủ u qu c a việc lậ ộ p l trình cho các xe v Yêu c trình cho các xe v i các ràng ận chuyển. ầ ố ộ u t i ưu các l ớ buộc khác nhau p l đã phát sinh bài toán lậ ộ ậ trình xe v n chuyển - VRP. Bài toán l i ti t là bài toán ập lộ ả trình đơn gi i và nổ ếng nhấ người bán hàng (Traveling Salesman Problem - TSP). Người bán hàng phải thành ghé thăm một số ph và ố sau đó trở ề ị ấ ầ v v trí xu t phát ban đ u. Một lộ trình phả ợ i đư c xây dựng sao cho t i bán hàng ố ả i ưu kho ng cách di chuy n. M bài toán ể ở ộ r ng TSP, m ngườ xuất phát t c cho. M i thành ại cùng mộ ị ể t đ a đi m và phả ấ i ghé thăm t t cả thành phố ợ đư ỗ ph ph ố ả ợ ộ i đư c thăm chính xác m t lần bởi mộ ờ t ngư i bán hàng nào đó. Bài toán cũng tối ưu tổ ả ủ ộ ớ ng kho ng cách c a các l - v trình. VRP chính là bài toán m TSP i mộ ỏ ợ t đòi h i đư c liên kết với mỗi thành phố và mỗi xe có một khả năng vận chuyển xác định.
  • 12. 11 Hình 1.1 Lời giải với 2 lộ trình một thể hiện của VRP 12 khách hàng (Trong Hình 1.1, ô vuông th n kho hàng trung tâm, các vòng tròn th ể hiệ ể hiện các khách hàng đượ ố ứ ự ớ c đánh s th t , các mũi tên có hư ng thể hiệ ớ ủ n hư ng đi c a các lộ trình). Bài toán VRP là ng bài toán ra quy m tìm các l trình t dạ ế ị t đ nh, nhằ ộ ố ộ i ưu cho đ i xe v n . M ận chuyể hàng hóa đến các khách hàng ở các đị ể a đi m khác nhau ục tiêu của bài toán thường là tối thiể ổ ả u t ng kho ng cách hoặc thời gian di chuyể ớ ề n v i nhi u ràng bu chuyên ch a xe ộc cụ thể ả như kh năng ở ủ c , khoảng thời gian mong muốn đượ ứ c đáp ng của khách hàng, ... Bài toán VRP thườ ồ ấ ng bao g m ít nh t hai bài toán con liên quan nhau: • Bài toán phân hoạ ằ ậ ậ ch: nh m phân chia t p khách hàng thành các t p con sao cho m p con ỗ ậ i t chỉ đư nào đó ợ ụ ụ ở ộ c ph c v b i m t xe . • Bài toán đị ế ằ ộ ố nh tuy n: nh m tìm ra l trình t i ưu cho mỗ ậ i xe v n chuyển. VRP là m t v i các tình ộ ấ ề ộ n đ r ng và có thể bao gồm nhiều vấ ề n đ con ứng vớ hu n ống và các ràng bu khác nhau ộc . , Do đó để đơn giả khi giải quyết bài toán VRP, tùy theo mụ ờ ờ ụ ể ộ ố ộ ụ ụ ụ c tiêu mà ngư i ta thư ng c th m hóa t s ràng bu c ph . Ví d m c tiêu phục vụ khách hàng cao là phải phân phát chính xác, nghĩa là phân phát đúng s i ố lượng, đúng chấ ợ ờ t lư ng, đúng th gian tại mộ ị ể t đ a đi m chính xác.
  • 13. 12 1.3 Các tiêu chuẩn phân loại bài toán VRP Như đã trình bày trên, VRP có nhiề ụ u m c tiêu và các ràng buộc khác nhau. Vì thế, trong th có r c tiêu và i l ực tế ất nhiều lớp bài toán VRP tùy theo mụ s n ự ớ ỏng hoặc thêm các ràng bu ác tiêu chu c s t các d ộc. C ẩn sau đây đượ ử ụ ể ệ d ng đ phân bi ạng bài toán VRP khác nhau: STT Đặc tính Tùy chọn 1 S m ố ục tiêu − Đơn mục tiêu − Đa mục tiêu 2 u Ràng buộc nhu cầ − Tất cả các nhu cầu củ ề a khách hàng đ u đượ ứ c đáp ng. − Xác đị ộ ố ợ nh m t s khách hàng nên đư c phụ ụ c v . − Cho phép tách các phân phối hay không. 3 Ràng buộc thời gian − Không cử ổ ờ a s th i gian. − Cửa sổ thời gian một bên hoặc hai bên, c m. ửa sổ thời gian cứng hoặc mề 4 d Đa sử ụng xe − M m ột xe phục vụ ột lộ trình. − Một xe có thể phục vụ nhiều hơn mộ ộ t l trình. 5 Thuộc tính của đoàn xe − Đoàn xe vận chuyể ồ n đ ng nhất. − Đoàn xe vận chuyể ồ n không đ ng nhất. 6 Số kho − Một kho trung tâm chứa hàng hóa. − Nhiều kho hàng hóa.
  • 14. 13 STT Đặc tính Tùy chọn 7 Loại lộ trình − Lộ trình đóng − Lộ trình mở 8 Thời gian hoạ ị ch đ nh − Khoả ờ ng th i gian phân phối đơn − Xác định khách hàng nào nên được phục v i th ụ ạ t ờ ể i đi m nào củ ạ a ho ch định. 9 Kiểu phục vụ − Kiể ụ ụ ặ ố ặ u ph c v đơn: ho c phân ph i ho c lấy và mang hàng hóa trở ề v . − Kiể ụ ụ ỗ ợ ừ u ph c v h n h p: v a có phân phố ừ ề i, v a có mang v . 1.4 bài toán VRP Một số dạng chính của 1.4.1 VRP với hạn chế khả năng chở hàng hóa VRP với hạn chế ả ở ủ kh năng ch c hàng hóa a xe (Capaciated vehicle routing problem là t – CVRP) mộ dạ ộ ng bài toán VRP nhưng có thêm ràng bu c m i xe ỗ đều có khả ở ố năng chuyên ch như nhau đ i v i m và t i c ớ ột hàng hóa đơn nào đó ổng tả ủa mỗi xe không vượt quá khả năng của nó. M h n ục tiêu của bài toán CVRP là tối thiểu số xe và tổng t ời gian di chuyể , đồng thờ ổ i t ng số lượ ợ ng hàng hóa đư c gán cho mỗ ộ ợ ả i l trình không vư t quá kh năng c l ủa xe phục vụ ộ trình đó. Như vậy, lời giải cho bài toán CVRP giố ờ ng như l i giải c t c ủ ạ a bài toán VRP nhưng có thêm h n chế ổng nhu cầu của tất cả khách hàng ần đượ ụ ụ ộ c ph c v trên l R trình t không vượt quá khả năng xe Q . ∑ = ≤ m i i Q d 1 Trong đó:
  • 15. 14 m: tổng số khách hàng được gán trên lộ trình Rt. di: nhu cầu của khách hàng thứ i trên lộ trình. Q : khả năng của xe. Hình 1.2 Ví dụ VRP với hạn chế khả năng có 3 lộ trình 1.4.2 VRP với hạn chế thời gian VRP với hạn ch i gian (vehicle routing problem with time windows ế ờ th – VRPTW) là m a bài toán CVRP b a s i gian. C ở ộ r ng củ ằ ộ ng cách đưa thêm ràng bu c cử ổ thờ ửa s c ổ thời gian ủa một khách hàng là khoảng thời gian mong muố ợ ứ n đư c đáp ng của khách hàng đó. C [ ửa sổ thời gian ei, li] của khách hàng thứ ị i qui đ nh rằng xe vận chuyển: • Phả ế đị ể ứ ớ ờ ể i không đ n a đi m khách hàng th i trư c th i đi m e i hoặc phải chờ nế ế u nó đ n ở thờ ể i đi m ti < ei. • Phả ế đị ể ứ ờ ể i không đ n a đi m khách hàng th i sau th i đi m l i ≥ ei. d , Bài toán VRPTW là ạng bài toán xác định nhiều mục tiêu bao gồm: 1. Tối thiểu số lộ trình hay số xe. 2. Tối thiểu tổng khoảng cách di chuyển. 3. Tối thiểu tổng thời gian cần cho các xe, kể cả thời gian chờ.
  • 16. 15 Tùy theo giá trị ei, li c trong ửa sổ thời gian [ei, li] d , có một số ạng cửa sổ thời gian sau: • C a s n u ử ổ thời gian hai bên ế 0 < ei ≤ li < ∞. • C th ửa sổ ời gian một bên nếu e i - = ∞ hoặc li = ∞. • C n ửa sổ thời gian hai bên cứng ếu một lời giả ợ i đư c xem là không khả thi trong trư t xe đ n trư i đi ờng hợ ộ p m ế ớ ờ c th ểm ei hoặc sau thờ ể i đi m li t . ại nút i • Cửa sổ thời gian một bên cứng nếu mộ ế t xe không đ n trễ hơn l i tại nút i hoặc phả ờ ế ế i ch n u nó đ n sớm hơn th i đi ờ ểm ei t . ại nút i • C n ửa sổ thời gian mềm ếu thờ ể ế i đi m đ n của xe không ả ở ế nh hư ng đ n tính khả ủ thi c a l t b ời giả ị ạ i, nhưng b ph ằng cách c ng thêm m ộ ột giá trị vào hàm mục tiêu. } , 0 max{ } , 0 max{ i i l i i e l t t e − + − ρ ρ Với 0 ≥ e ρ và 0 ≥ l ρ là các hằng số giá trị phạt cho trước. 1.4.3 VRP với nhiều kho hàng hóa VRP với nhiều kho hàng hóa (multi- – depot vehicle routing problem MDVRP) cũng là mở ộ ủ ằ r ng c a CVRP b ng cách xem xét nhiều kho hàng hóa chứ không phải ch t ỉ ộ m kho trung tâm như các dạng trên. Ngoài việc gán các khách hàng tới các xe vận chuyể ị n và xác đ nh các lộ trình cho các xe, bài toán có thêm một mứ ị c xác đ nh nữa là gán các lộ trình (hoặ ế c các khách hàng) đ n các kho.
  • 17. 16 Hình 1.3 Ví dụ VRP với 3 kho hàng hóa 1.4.4 VRP định kỳ VRP đị ỳ ở ộ nh k ( – periodic vehicle routing problem PVRP) là m r ng bài toán VRP b m r ằng cách ở ộng thời gian hoạ ị ch đ nh thành vài ngày, mộ ầ ỉ t tu n, ... thay vì ch một ngày. Trong kho khách hàng ph ảng thời gian chính xác này, i mỗ ả ợ i đư c ghé thăm ít nhất một lần. Như vậy, bài toán cần phả ị i xác đ nh thêm những khách hàng nào nên đư đáp ng ngày nào đ ợc ứng vào nhữ ể ố t i ưu tổng chi phí (bao gồm số xe, tổng thời gian và tổng khoảng cách). Mỗi khách hàng cho biế ớ t trư c tần số phục vụ i f l (số ần) và nhu cầu 0 > i d cho mỗi l h i V ần phân p ố hàng hóa. ấ ề n đ bài toán là tạo ra một nhóm các lộ trình cho mỗi ngày sao cho các ràng buộ ợ c liên quan đư c thỏa mãn và t c t ổ ợ ng chi phí đư ối ưu. PVRP được xem như bài toán t i ưu t p đa m ố ổ ợ h ức: • M nh h ức thứ ất: mục tiêu tạo ra một nhóm các lựa chọn khả thi (các tổ ợp) cho m nh là t = 3 ngày ỗi khách hàng. Ví dụ: nếu khoảng thời gian hoạ ị ch đ {d1, d2, d3} h 0 thì các tổ ợp có thể là 000; 1001; 2010; 3011;4100; 5101; 6110; 7111. Nếu khách hàng đòi hỏi ghé thăm hai l n thì khách hàng này có các l a ch ầ ự ọn lịch ghé thăm sau: {d1, d2}, {d1, d3}, {d2, d3}.
  • 18. 17 • Mức thứ hai: chọn ra một trong các lựa chọn cho mỗi khách hàng sao cho các ràng bu Vì v ách hàng ộc theo ngày được th a mãn. ỏ ậy, c n ch các kh ầ ọn ra phả ợ ỗ i đư c ghé thăm m i ngày. • Mức thứ ba: giải bài toán VRP cho mỗi ngày. 1.4.5 VRP mở VRP mở ả đị – (Open vehicle routing problem OVRP) gi nh một l trình k t thúc ộ ế ngay khi khách hàng cuối cùng trên l c ph c v Bài toán OVRP d ộ ợ trình đó đã đư ụ ụ. ễ dàng chuyển đổ ằ ả ừ ỗ i thành bài toán CVRP b ng cách gán các kho ng cách t m i khách hàng trở ề ằ v kho b ng 0. 1.4.6 VRP tách phân phối VRP tách phân phối (Split Delivery vehicle routing problem là s - ) SDVRP ự ớ n i lỏng bài toán VRP bằng cách cho phép t khách hàng có th mộ ể ợ đư c phụ ụ ở c v b i các xe khác nhau n m chi phí t . S i l ế ề u đi u này làm giả ổng thể ự ớ n ỏng này rất quan trọng khi nhu c u c ầ ủa một khách hàng lớn hơn khả ở ủ năng ch c a xe. M m ột lời giải khả thi nếu tất cả các ràng buộc của VRP thỏa mãn ngoại trừ ột khách hàng có th t xe v Rõ ràng, bài toán c ể ợ đư c cung c i nhi ấp bở ề ộ u hơn m ận chuyển. ần phải xác định thêm phần chia sẻ ] 1 , 0 [ ∈ ir y của nhu cầu di của khách hàng i được phân phối trên lộ trình . i r Bất l i c ợ ủ ố a phương pháp phân ph này là khách hàng thư c đáp ờng không thích nhu cầ ủ ọ ợ u c a h đư ứng nhiề ầ u l n. 1.4.7 VRP với khả năng chuyên chở về VRP với khả ở ộ năng chuyên ch m t s (VRP with backhauling ố hàng hóa trở ề v – VRPB) phân bi t hai nhóm khách hàng N ệ 1 và N2. M N ỗi khách hàng i ∈ 1 đòi hỏi ph ng ả ợ i đư c phân phối một số ợ lư c t hàng hóa cho trướ ừ kho. Trong khi đó, mỗi khách hàng i N ∈ 2 yêu cầu mang một số lượng hàng hóa cho trước tại khách hàng đó trở ề v kho. Một giả định quan trọ ỗ ộ đầ ả ng là m i l trình u tiên ph i phụ ụ ữ c v nh ng khách hàng thuộc nhóm N1 và sau đó có thể ụ ph c vụ các khách hàng thuộc nhóm N2
  • 19. 18 trên đườ ở ề ệ ng tr v kho. Vi c trộ ẫ ộ n l n các khách hàng thu c hai nhóm với nhau là không đượ ầ ụ ụ c phép, nghĩa là đ u tiên ph c v N khách hàng i ∈ 1, kế đến phục vụ khách hàng j N ∈ 2, sau đó phục vụ khách hàng t N ∈ 1, ... trên m t l ộ ộ ở trình đơn. B i vì đi d ều này có thể ẫ ế n đ n tiêu tốn thời gian và quá tải cho phép của xe, tức là các ràng buộ ủ ể ị ạ c c a VRP có th b vi ph m. 1.4.8 VRP với khả năng nhặt và phân phối VRP v VRPPD) gi ới khả ặ năng nh t và phân phối (VRP with pickup and delivery – ả đị ằ ỗ nh r ng m i khách hàng cũng là một yêu cầ ậ ể u v n chuy n. Mỗi yêu cầ ậ u v n chuyển i N ∈ đượ ặ ở c đ c trưng b i: • Vị trí lấy hàng hóa i+ và vị trí phân phối i- ; • Số lượng hàng hóa di phả ợ i đư c lấy tại i+ và được phân phối tại i- ; • Các cử ổ ờ a s th i gian ] , [ + + i i l e và ] , [ − − i i l e tại vị trí nhặt và phân phối hàng hóa. Hình 1.4 Ví dụ VRP với khả năng nhặt và phân phối Các ràng bu c c ng là: ộ ủa VRPPD thườ • Các ràng buộ ứ ự ớ ở ỏ ậ ể ả ợ c th t trư c sau b i vì bên đòi h i v n chuy n ph i đư c viế ớ ng thăm trư c bên phân phố ộ ộ i trong cùng m t l trình. • Vị trí nhặt i+ và vị trí phân phối i- của mỗ ỏ i đòi h i phải nằm trên cùng một lộ trình.
  • 20. 19 • Tải của xe không vượt quá khả năng của nó. • Thao tác nhặ ố ả ễ ả ờ t và phân ph i ph i di n ra trong kho ng th i gian cho phép của cửa sổ thời gian. Mô hình nh và phân ph n chuy ặt ố ờ ợ i này thư ng đư c sử ụ ờ d ng trong trư ng hợp vậ ển hành khách. Khi đó, VRPPD có tính động cao và các đòi hỏi vận chuyể ế ộ n đ n đ ng theo th i gian. ờ 1.5 Tối ưu tổ hợp Bài toán t c l ối ưu có thể ứ ị ỏ ấ hình th c hóa như là tìm giá tr nh nh t hoặ ớn nhất c a ủ hàm mục tiêu f . Các biến i x với [ ] k i , 1 ∈ , thườ ế ng vi t ) ,..., , ( 2 1 k x x x x = gọi là các biến quy ràng bu p l ế ị t đ nh. Một số ộ ị c xác đ nh tậ ời gi i kh ả ả thi S. S được g i là ọ không gian lờ ả ố ợ i gi i. Bài toán t i ưu đư c phát biểu như sau: ) ( min x f với giả thuyết S x∈ Tập lời giải S đượ ả ằ ậ ợ ấ Ứ c mô t b ng t p h p các phương trình và b t phương trình. ng với một bài toán tố ớ i ưu cho trư c, có nhiều cách khác nhau để hình thức hóa tương ứ ụ ế ế ị ặ ả ờ ả ng hàm m c tiêu, các bi n quy t đ nh và đ c t không gian l i gi i. Chính điều này làm thu nảy sinh các ật toán t v và h kéo theo là khác nhau để giải quyế ấ ề n đ ệ ả qu hiệu quả ấ ợ tính toán cũng như ch t lư ng l khác nhau. ời giải có thể Các bài toán t p là các bài toán t i t i gi i kh ối ưu tổ ợ h ố ớ i ưu v ập lờ ả ả thi là xác định n t hưng thường rất lớn. Các thuật toán hiệu quả chỉ ồn tại cho một số bài toán, trong khi phần lớn gi ng nh chỉ ể có th ải bằ ững phương pháp đòi hỏi thời gian theo hàm số mũ. Các bài toán thu i đ ộc ch dạng ỉ ể ả có th gi i bằ ữ ỏ ng nh ng phương pháp đòi h ộ ph khó. ứ ạ ờ ố ợ ọ c t p th i gian theo hàm s mũ đư c g i là bài toán NP-
  • 21. 20 B Chương 2: ài toán VRP với hạn chế thời gian 2.1 Định nghĩa Theo Thangiah định nghĩa của [4], VRP với hạn ch i gian ế thờ (ký hiệu là VRPTW) liên quan đ t đ năng và th ế ộ n m ộ ậ ể i xe v n chuy n có các khả ờ ể i gian di chuy n giới h m m ạn, xuất phát từ ột kho trung tâm đến các khách hàng ở các vị trí khác nhau; ỗi khách hàng có nhu cầu và th th th cửa sổ ời gian cụ ể, biết trướ ử c. C a sổ ời gian có thể là một phía hoặc hai phía. t phía, Trong trường hợp mộ hạn chót đáp ứng thường đượ ử ổ ờ ộ ả ợ c quan tâm. C a s th i gian là hai phía, nghĩa là m t khách hàng ph i đư c ph ph ục v i ho c sau th ụ ạ t ặ ờ ể i đi m bắ ầ t đ u và ải trước thời điểm kết thúc c a c a s ủ ử ổ thời gian liên k t v Xe s i ch ế ới khách hàng đó. ẽ ả ph ờ ế ế n u đ n một khách hàng sớm hơn th u đ ờ ể ắ ầ i đi m b t đ u phụ ụ ẽ ị ễ ế c v và s b tr n ế ờ ể ế ủ ử n sau th i đi m k t thúc c a c a sổ. 2.2 Mô hình toán học Bài toán VRPTW đư t nút đ ợc biể ễ ở u di n b i một tậ ợ ố ộ p h p V các xe gi ng nhau, m ặc biệt gọi là kho hàng hóa p h p C bao g ng và , m t t ộ ậ ợ ồm các khách hàng cầ ứ n đáp m s n, ột mạng có hướng kết nối kho với các khách hàng. Giả ử có K xe vận chuyể ký hiệu V = - {0, 1, 2, …, K 1} và N+1 khách hàng, ký hi u C ệ = {0, 1, 2, …, N}. Để đơn giả ợ ề ậ ứ n, kho trung tâm đư c đ c p như là khách hàng th 0. M b ột lộ trình ắ ầ t đ u từ kho, đi qua một số khách hàng và k i kho xu ết thúc tạ ất phát. S l s d ố ộ trình trong mạ ằ ng giao thông cũng chính b ng ố xe vận chuyể ợ n đư c sử ụng, K. Mỗi c giá tr chi phí ạnh trong mạng có mang ị ij c và thời gian di chuyển ij t . Mỗi khách hàng t nhu c có mộ ầu i m khác nhau và phả ợ ấ i đư c ghé thăm duy nh t một lần bởi một xe nào đó. Do trọng tải của xe k q có giới hạn nên k q phải lớ ặ n hơn ho c bằng tổng tất cả các nhu cầu của các khách hàng trong lộ trình di chuyển của nó. Hơn nữ ỗ a, m i khách hàng ph t kho ng th ả ợ i đư c ph trong m ục vụ ộ ả ờ ị i gian đ nh trư i gian đ i gian đ ớc, bị ớ gi i hạ ở n b i thờ ế ớ ấ n s m nh t và thờ ến trễ ấ nh t. Nếu các xe
  • 22. 21 v m s b ận chuyể ế n đ n trễ hơn thời điể trễ nhất này thì ẽ ị phạt, trong khi đó các xe đến s m s t ớ ờ m hơn th i điể ớm nhất phải ạm ngừ ể ng đ chờ đợi. Các xe phải hoàn thành các l trình c ộ ủa mình trong tổng th nh c ời gian lộ trình cho phép (thời gian qui đị ủa kho). Mô hình toán họ ủ c c a bài toán như sau: Đặt: • K: tổ ố ậ ể ng s xe v n chuy n • N: tổ ố ng s khách hàng c n ph ầ ụ ụ c v • C i: khách hàng th = 1, 2, …, N. ứ i, với i • C 0: kho hàng trung tâm • c ij: chi phí đi từ đế nút i n nút . j • t ij: thời gian di chuyển giữa nút . i và nút j • mi: a nhu cầu củ nút . i • u i: biế ị ấ n xác đ nh hư c u cho nút i. • q k: khả ủ năng c a xe k. • t i: thời i điể đế m n tạ nút i. • e i: th i t i ờ điể ớ m s m nhấ có th c v ể ụ ph ụ ạ t nút . i • l i: thờ ể i đi m trễ ấ nh t còn được phép phụ ụ ạ c v t i nút i. • : th i ời gian phục vụ ạ t nút . i • i w : thời gian chờ ạ t i nút . i • k r : th i gian l trình l ờ ộ ớn nhấ ợ t đư c phép cho xe k.
  • 23. 22 Mục tiêu: ∑∑∑ = = − = N i N j K k ijk ij x c Min 0 0 1 0 Trong đó: ijk x = 1 nếu có cạnh nối giữa nút i và nút j và ijk x = 0 nếu ngược lại. Các ràng buộc: K x K k N j ijk = ∑∑ − = = 1 0 1 với 0 = i (2.1) 1 1 0 , 0 = ∑ ∑ − = ≠ = K k N i j j ijk x với i = 1, 2, …, N (2.2) 0 , 0 , 0 = − ∑ ∑ ≠ = ≠ = N h j j hjk N h i i ihk x x với ] 1 , 0 [ ; ] , 1 [ − ∈ ∈ ∀ K k N h (2.3) 1 − ≤ + − N Nx u u ij j i với i= 1, 2, …, N; j = 1, 2, …, N; j i ≠ (2.4) k N i j j ijk N i i q x m ≤ ∑ ∑ ≠ = = , 0 0 với ] 1 , 0 [ − ∈ ∀ K k (2.5) k N i N i j j i i ij ijk r w f t x ≤ + + ∑ ∑ = ≠ = 0 , 0 ) ( với ] 1 , 0 [ − ∈ ∀ K k (2.6) 0 0 = t (2.7) j i i ij ijk i t w f t x t ≤ + + + ) ( với ] 1 , 0 [ ; ; ] , 1 [ , − ∈ ≠ ∈ K k j i N j i (2.8) i i i l t e ≤ ≤ với ] , 1 [ N i ∈ (2.9) Ràng bu ) nh ộc (2.1 ằ ả m đ m bảo có chính xác K l i kho. Ràng bu ộ ỏ trình đi ra kh ộc ( 2 3 m v n 2. ) và (2. ) đảm bảo chỉ ột xe ận chuyể vào và ra tại một khách hàng. Ràng bu 2. ộc ( 4) đảm bảo không có các l trình con trong l ộ ời giải. Khả năng của xe thể hi n 2. ệ ở ộ ràng bu c ( 5) trong khi đó thời gian di chuyển lớn nhất cho mỗi xe được đả ả ố ể ệ m b o trong (2.6). Cu i cùng, các phương trình ( 7 8 9 2. ), (2. ), (2. ) th hi n các ràng buộ ờ c th i gian.
  • 24. 23 Mô hình hóa bài toán VRPTW u b được nghiên cứ ởi nhiều tác giả ợ và đư c trình bày khá chi ti t trong các bài báo ế [4], , [13] [16]. 2.3 Các cấu trúc vùng lân cận Phần n n t ng c ề ả ủ ặ ệ ả ệ ộ a các heuristic, đ c bi t là các heuristic c i thi n l trình[1][5] là khái ni m vùng lân c n c ệ ận. Vùng lân cậ ủa m t l ộ ời gi i S là m t t ả ộ ập N(S) các lời giải đượ ạ ằ ổ ệ ể ộ ố ấ ả ờ ả c t o ra b ng cách thay đ i S. Vi c ki m tra m t s hay t t c các l i gi i trong vùng lân cận có th n ra các l i v c tiêu ể ệ phát hi ời giải tố ố t hơn đ ới t mộ hàm mụ cụ thể. Ý tưởng này có thể ợ đư c l i v i l i t ặp lạ ớ ời giả ố ừ t hơn v a tìm được. Tạ ộ ể i m t đi m nào đó, nếu không có bất k i t c tìm th y thì l i gi i t ỳ ờ l i giả ố ợ t hơn nào đư ấ ờ ả ối ưu đã đế ể ố ụ ộ ặ ể ố ụ ậ n. Nhưng đây có th là t i ưu c c b ho c có th là t i ưu toàn c c. Thu t toán này đượ ọ ế ụ ộ c g i là tìm ki m c c b . Các meta-heuristic[26][16] đều dự ế a trên tìm ki m cục bộ nhưng có các phương thức mớ ợ i đư c thêm vào nhằ ớ m hư ng dẫn thoát khỏi một tố ụ i ưu c c bộ để kiểm tra các phần khác của không gian lời giải có thể ứ ch a các lời giải tốt hơn. Hình 2.1 Ví dụ về một trao đổi Or-Opt M d ột trong các heuristic cải tiế ợ n đư c sử ụng rộng rãi nhất trong lập lộ trình và lập l b ịch là heuristic r- r Opt. Theo đó, cung đượ ợ c xóa ra và đư c thay thế ởi r cung khác. M t l i gi c t c s ộ ờ ả ợ i thu đư ừ ệ vi ử ụ d ng vùng lân c và không t ận r-Opt hể được cải tiế ợ n thêm đư c gọi là r-tối ưu. Năm 1995, Potvin và Rosseau[27] đã trình bày hai bi n th i là 2 Opt mà v a l trình. Theo ế ể ớ m - - Opt* và Or ẫ ợ ớ n duy trì đư c hư ng củ ộ Or-Opt, mộ ạ t phân đo n của lộ trình gồm l khách hàng liên tụ ợ c nhau đư c di chuyển đế ộ ộ ụ ề ỏ n nơi khác trên l trình. Hình 2.1 trình bày m t ví d v - Or Opt, hình vuông nh
  • 25. 24 thể ệ hi n kho hàng hóa. Hình bên trái thể ệ hi n lộ trình trước khi áp dụng Or-Opt và hình bên phải là lộ trình sau khi đã thực hiện trao đ i. Hư ổ ớng của các khách hàng từ 1 i tới l i vẫ ổ n duy trì không đ i. Hình 2.2 Ví dụ về một trao đổi 2-Opt* 2- v Opt* là thao tác trao đổi mộ ạ t phân đo n của một lộ trình này ới mộ ạ t phân đo n c - ủa một lộ trình khác. Hình 2.2 minh họa 2 Opt*, hình vuông nh u di ỏ biể ễn kho hàng hóa, hình bên và hình bên ph trái ải l t th ầ ợ n lư ể hiện các l c và sau ộ ớ trình trư khi th c hi ự ệ ổ n trao đ i. Phần sau cùng củ ộ ẽ ở ầ a l trình này s tr thành ph n sau cùng của lộ trình kia. Chú ý rằng nếu ) , ( s i i là cung đầu tiên trên một lộ trình và ) , ( s j j là cung sau cùng của một lộ trình khác thì hai lộ trình này s n thành m ẽ ợ ộ đư c tr ột. Hình 2.3 Minh họa thao tác relocate Toán t n m ử relocate di chuyể ột khách hàng t n m ừ ộ m t lộ ế trình này đ ột lộ trình khác, đư đây, các c ợ ọ c minh h a trong Hình 2.3. Ở ạnh ) , ( i ip , ) , ( s i i và ) , ( s j j được thay thế ở b i ) , ( s p i i , ) , ( i j và ) , ( s j i .
  • 26. 25 Toán tử exchange hoán đổi các khách hàng trong các lộ trình khác nhau. Ý tưởng này có th c m a nh trình gi a hai l ể ợ đư ở ộ ể ổ ạ r ng đ hoán đ i các phân đo n củ ững lộ ữ ộ trình. Hình 2.4 minh họa thao tác exchange. Hình 2.4 Minh họa thao tác trao đổi (exchange) Việ ổ c đ i ch t b i b ỗ ợ ề ấ k-nút đư c đ xu ở ợ ổ i Christofides và Beasley đã đư c thay đ ởi một vài tác giả khác để ghi nhận các cửa sổ thời gian. Mỗ ợ i khách hàng đư c xem xét m và các t ột cách tuầ ự n t ập M1 và M2 đồng nhất. M1 đượ ị c đ nh nghĩa là khách hàng thứ i v c và khách hàng kế ị ủa nó, j . Khi đó, các phầ ử ủ n t c a M2 được tìm thấy là hai khách hàng g ùng l ần nh i j và ấ ằ t nhưng không n m trên c ộ trình như i và j. Sau đó, mộ ậ ợ ị ằ ầ ử ủ t vùng lân c n đư c đ nh nghĩa b ng cách xóa các ph n t c a M1 và M2 và chèn chúng theo t n này khá l ất c các cách có th ả ể. Vùng lân cậ ớ ờ n nên thư ng chỉ ứ k ng viên tiề ấ m năng nh t được ki m tra. ể M - - ột vùng lân cận khác là λ trao đổi (λ interchange) đượ ề c đ xuất bởi Osman[5][28] cho bài toán VRP. Theo đó, m p con các khách hàng có kích thư ộ ậ t t ớ ỏ c nh hơn ho ng trong ặc bằ λ m t l ộ ộ trình đượ ổ c trao đ i với một tập cũng có kích thước nhỏ hơn hoặ ằ c b ng λ trong lộ trình khác. Ngoài ra, Schulze và Fahle[14] cũng đị ậ nh nghĩa vùng lân c n d n- t ịch chuyể tuần ự (shift ch trình -sequence), m c d ộ ợ t khách hàng đư ị m chuyển từ ột lộ trình đến một lộ khác b ng các chèn vào. N ằ h kiểm tra t các v trí có th ất cả ị ể ế ợ u thao tác chèn đư c th lo ực hi thi b ng cách xóa b t khách hàng khác thì nó s ện khả ằ ỏ ộ m j ẽ ị b ạ ợ i và đư c chèn vào lộ ủ ụ ợ trình khác. Th t c này đư c lặ ặ p đi l p l n khi tính kh ạ ế i cho đ ả ợ thi đư c khôi phụ ạ c l i.
  • 27. 26 2.4 c Cá phương pháp chính tiếp cận giải bài toán 2.4.1 Các phương pháp chính xác 2.4.1.1 Dựa trên quy hoạch động Hướ ứ ợ ể ng nghiên c u này đã đư c Kolen, Rinnooy Kan và Trienekens[29] phát tri n năm 1987 và đư ng phương pháp n ợ ự ở ộ c xem như là s m r ớ ỏ i l ng không gian trạng thái (state . -space relaxation) Các tác giả đã đề ấ xu t mộ ố ử ụ t phương pháp t i ưu s d ng Branch- - and Bound cho bài toán VRPTW. Phương pháp này tính toán các đường gi n ới hạ thấp hơn s d ử ụng quy hoạ ộ ch đ ng và s n ự ới lỏng không gian trạng thái. Các quy c th c hi a trên vi c c p phát l trình khách ế ị ợ t đ nh phân nhánh đư ự ện dự ệ ấ ộ hàng. Phương pháp đã giả ế ố ớ ố ợ i quy t t t bài toán v i s lư ng 15 khách hàng. 2.4.1.2 Dựa trên phát sinh cột Các phương pháp d đư ự ộ a trên phát sinh c t (column generation) đã ợc Desrosiers, Pelletier và Soumis Desrochers, Desrosier và nghiên cứu từ năm 1982. Năm 1992, Solomon[3] đã hiện th c phân rã ự Dantzig Wolfe - và đã giải quyết m t s ộ ố ấ v n đề ớ v i benchmark 100-khách hàng của Solomon. Thuật toán được xây dựng dựa trên sự k p c t ết hợ ủa quy hoạch tuyến tính được nới lỏng bao phủ ập hợ ế p và cơ ch phát sinh c K ột. Hơn nữa, một số nhà nghiên cứu ở Đại học ỹ thuật củ ạ a Đan M ch[30] đã đề nghị ử ụ s d ng phân tách biế ể n (variable splitting) đ giả ớ i bài toán VRPTW v i hiệu năng tương tự. 2.4.1.3 Dựa trên phân rã Lagrange Jornsten và các cộng sự[30], Madsen[31] đã áp dụng các lư c đ ợ ồ phân rã Lagrange (Lagrangian decomposition) khác nhau cho bài toán VRPTW để ờ sinh ra các đư ng giới h n th . Các nghiên c ạ ấp hơn (lower bound) ứu đã cho thấy khả năng giải quyết t v v v ốt ấ ề n đ ới 100 khách hàng khi kết hợp phương pháp phân rã Lagrange ới phương pháp - - Branch and Bound.
  • 28. 27 2.4.1.4 Dựa trên K-Tree Fisher[19] năm 1994 cũng đã đưa ra một thuật toán tối ưu, là mở ộ r ng phương pháp 1-T -T ree thành phương pháp K ree cho bài toán VRP và VRPTW. Theo đó, các giới h s n r ạ ớ ợ n dư i thu đư c từ ự ới lỏng dựa trên việc tạo ra các cây mở ộng (spanning tree), còn g i là ree. Các ràng bu ọ cây K-T ộc v c gi t b ề ả ợ kh năng xe đư ải quyế ằng cách đả ả ằ ế ộ m b o r ng n u m t tậ ộ p con S nào đó thu c tập khách hàng thì phả ợ i đư c phục v i ít nh t k(S) xe v ụ ở b ấ ận chuyển. Các ràng bu c v a s ộ ề ử c ổ thời gian cũng đư pháp đã gi ợ ố ử ộ ự c đ i x m t cách tương t . Phương ả ế ớ ả i quy t bài toán v i kho ng 100 khách hàng. Các phương pháp chính xác thường hiệu quả hơn trong trường hợp không gian lời giải b i các c a s i gian h ị ạ h n chế ở b ử ổ thờ ẹp, do có ít t p c ổ ợ h ủ ể a các khách hàng đ đị ộ ả nh nghĩa các l trình kh thi. 2.4.2 Các phương pháp heuristic 2.4.2.1 Nguyên lý H g ầu hế ợ t các phương pháp heuristic đư c công bố ầ ề n đây cho bài toán VRPTW đ u g d ồ ạ m hai giai đo n. Giai đoạ ầ n đ u tiên, một heuristic xây dựng lộ trình được sử ụng để ạ ộ ờ ả ầ ả ố ấ ể t o ra m t l i gi i ban đ u có tính kh thi và t t nh t có th . Các heuristic xây d l ựng ộ trình có thể chia làm hai phân lớp con là các phương pháp xây dựng lộ trình tu (ch ần tự ỉ ộ m t l t th ộ ự trình xây d ng tại mộ ời điể ự m) và các phương pháp xây d ng lộ trình song song (nhiề ộ u hơn m t l c xây d t th ộ ợ trình đư ựng tại mộ ờ ể i đi m). Tiêu biểu cho các heuristic xây dựng lộ trình như heuristic chèn của Solomon[1], heuristic chèn song song của Potvin và Rousseau[8]. Trong giai đoạn hai, một heuristic l i thi c áp d trên l i gi i kh i t ặp cả ện lộ ợ trình đư ụng ờ ả ở ạ ầ o ban đ u. thoát Để khỏi các tối ưu cụ ộ ủ ụ ả ệ ợ ậ c b , các th t c c i thi n đư c nhúng vào các thu t toán. Tiêu bi u n ể cho các heuristic c i thi ả ện lộ ạ trình trong giai đo n này như thu luy ật toán ệ kim[5] thu , thu [16], ật toán di truyề ế n[5][16], tìm ki m Tabu[21] ật toán n đàn kiế [12]. Các thu t ật toán l này ần lượ sẽ được giới thiệu ở các phần sau.
  • 29. 28 2.4.2.2 Heuristic xây dựng lộ trình a. Heuristic tiết kiệm Bài báo đầu tiên trình bày heuristic xây dự ộ ộ ng l trình cho bài toán VRPTW thu c nghiên cứu của [9] Edward K. Baker và Joanne R. Schaffer năm 1986. Thuật toán c m r a . ủa họ ở ộng heuristic tiết kiệm (Savings heuristic) củ Clark and Wright[10] Thuật toán b i t t c các l ắ ầ t đ u vớ ấ ả ộ ể trình khách hàng đơn có th – (kho i – kho). Trong mỗ ớ i bư c l p, thu tìm ra hai l trình có th p sao cho ti ặ ậ ể t toán tính đ ộ ể ế k t hợ ết kiệm chi phí nhiều nhất. Theo Baker và cộng sự đị ế nh nghĩa chi phí ti t kiệm là hàm t h ổ ợp của khoảng cách, thời gian và thờ ế ạ i gian cho đ n khi đ t tính khả thi. Năm 1987, Solomon n m [1] cũng phát triể ộ ự ự t heuristic tương t d a trên thu t toán ti ậ ết kiệm, nhưng loại bỏ ế y u tố ờ th i gian ra kh i hàm tính chi phí ti ỏ ết kiệm. Năm 1988, van Landeghem[11] cũng trình bày một heuristic dựa trên heuristic tiết kiệm, sử d t t ụng các cửa sổ thờ ợ i gian đư c sắp theo thứ ự để đo đạt mứ ộ c đ ốt của các liên kết giữ ờ a các khách hàng theo th i gian. b. Heuristic chèn Trong bài báo của Solomon ba heuristic chèn [1], đã được trình bày. Theo đó, vị trí khả ấ thi nh t cho mỗi khách chưa được phục vụ ợ đư c tính toán theo hàm 1 f . Sau đó, khách hàng tố ấ ợ t nh t đư c ch i m ọ ở n b ột hàm 2 f . Nếu không có một thao tác chèn nào xả ộ ộ ớ ợ ắ ầ y ra thì m t l trình m i đư c b t đ u. Khi m t l c l i m t th m, các l c t o ra càng tr ộ ộ ợ trình đư ập tạ ộ ờ ể i đi ộ ợ trình đư ạ ễ ờ thư ng càng kém chấ ợ ờ t lư ng trong trư ng hợp các khách hàng còn lạ ợ ậ ộ i (chưa đư c l p l trình) p a lý. Potvin và Rousseau c ph c h hân tán rộ ị ng trên vùng đ [8] c g ố ắng khắ ụ ạn chế ủ này c a các heuristic chèn bằng cách xây dự ộ ồ ng vài l trình đ ng thời. c. Một số heuristic khác Solomon[1] cũng trình bày một heuristic khác là heuristic láng giềng gần nhất, hướ ờ ỗ ộ ng th i gian (Time- - Oriented Nearest Neighbour heuristic). Theo đó, m i l trình đư t đ ợc bắ ầ ằ u b ng cách tìm ra khách hàng n kho trung tâm nh gầ ất trong số các
  • 30. 29 khách hàng p l p sau, khách hàng chưa được sắ ộ ỗ trình. Trong m i vòng lặ được chọn ra cũng theo tiêu chí trên nhưng không phải gần kho nhất mà là gần khách hàng sau cùng trong l n nh ộ ầ trình. Khách hàng g ấ ợ t này đư c chèn vào cu i l trình hi ố ộ ện tại. Khi quá trình tìm ki t n ế ầ m khách hàng g n nhấ ày không cho kết quả nào thì m t l ộ ộ trình m c b ớ ợ i đư ắ ầ t đ u. trình Ngoài ra, Solomon cũng đưa ra phương pháp lập lộ GTH (Giant Tour Heuristic) theo nguyên t u tiên l - ắc đầ ập lộ ậ trình, sau đó l p lịch. M - g ột heuristic khác là heuristic TOSH (Time Oriented Sweep Heuristic) ồm hai giai đoạn: phân nhóm khách hàng và lập lộ ỗ trình cho m i phân nhóm. Sau khi gán các khách hàng vào các phân nhóm khác nhau, giai đoạ ậ ộ ẽ ự n l p l trình s xây d ng một lộ trình cho mỗi phân nhóm. p l t phân nhóm tr Rõ ràng, việc lậ ộ trình trong mộ ở thành bài toán l n ch i gian. ập lộ ớ trình TSP v i hạ ế thờ 2.4.2.3 Heuristic cải thiện lộ trình a. Thuật toán Tìm kiếm cục bộ với λ λ λ λ λ-trao đổi Thangiah cùng các cộng sự[5] đã phát tri trao đ ển phương pháp λ- ổi gi m tìm ả kiếm c ( - - ục bộ λ Interchange Local Search Descent LSD) bằng cách chèn và chuyể ổ n đ i các khách hàng m t cách có h trình. Các tác gi ộ ệ thống giữa các lộ ả ị đã đ nh nghĩa các toán t ng các toán t c s ử ổ ờ - λ trao đ i. Thư ử ổ 1-trao đ i và 2-trao đ i đư ổ ợ ử ụ d ng, tức là cho phép 1 hoặc 2 khách hàng được chèn vào hoặc chuy i t i m t th ể ổ n đ ạ ộ ời đi các phương pháp ể ộ m. Năm 1999, Tan và các c ng sự ứ [16] trong các nghiên c u về heuristic cho bài toán VRPTW đã hiện thự ạ c l i thuật toán LSD và làm một số so sánh vớ ậ i các thu t toán heuristic khác. Có hai chi c áp d ế ợ ợ n lư c[16] đư ụng nhằm chọn ra các l i gi i ti ờ ả ề ừ m năng t các ứng viên: • η Chiế ợ ố ấ ụ n lư c t t nh t toàn c c (Global Best) sẽ ệ ấ ả ờ ả duy t qua t t c các l i gi i và ch t ọn ra mộ l i ời giả có chi phí gi n nh ảm lớ ất theo một hàm chi phí đã cho. • η Chiế ợ ố ấ ầ n lư c t t nh t đ u tiên (First Best) sẽ ọ ờ ả ầ ch n l i gi i đ u tiên có chi phí giả ộ ớ m theo m t hàm chi phí cho trư c.
  • 31. 30 Chiế ợ n lư c t t nh t toàn c ng cho các k t qu c t t nh ố ấ ụ ờ c thư ế ả ố ế ợ t t hơn chi n lư ố ấ ầ t đ u tiên b i vì i t t c các di chuy i ti , tuy nhiên th ở nó ghi nhận lạ ấ ả ển có cả ến ời gian tính toán lại lâu hơn. K c ết quả ủa LSD phụ thuộc vào lời giải khả thi ban đầ ờ u. Trong trư ng hợp tệ nhất, LSD chỉ ể ế có th tìm ki m qua 2 vùng lân c n c - ậ ủa l i gi ờ ả ầ i ban đ u và n u không có ế b k l ất cứ di chuyển nào tố ợ t hơn đư c phát hiện, thuật toán sẽ ết thúc sau một số ần l h t t ặp. Do đó, LSD bị ạn chế trong mộ ố ụ i ưu c c bộ và không thể khám phá vùng rộng hơn. Điểm mạnh chính củ ự a phương pháp này là th c hiện rấ ấ t nhanh nhưng b t l l ợi ớn nhất là hiệ ạ ợ u năng đ t đư c nghèo nàn nếu không có sự ế k t hợp với các heuristic khác. b. Thuật toán luyện kim K b ỹ thuật mô phỏng luyệ ợ n kim đư c công bố ởi Metropolis và các cộng sự năm 1953 xuất phát t ng quá trình luy Kim lo ừ ở ý tư ng mô phỏ ện kim loại. ạ ượ i đ c nung cho đến khi nóng chảy rồ ợ i sau đó đư c làm ngu i d Quá trình làm ngu ộ ần. ội này sẽ ả ở ấ ớ ế ặ ấ ể ủ ạ nh hư ng r t l n đ n đ c tính c u trúc tinh th c a kim lo i hình thành. Kirkpatrick[32] năm 1982 đã áp dụng thành công thu luy ật toán ện kim vào bài toán tố ằ i ưu nh m tìm kiếm giải pháp khả thi và các giả ợ ớ i pháp tìm đư c qua các bư c có th i ể ộ h i tụ ầ d n tớ giải pháp tối ưu. Giải thuật tránh đư c trư ợ ờng hợp tối ưu cụ ộ c b bằ ớ ng cách cho phép các bư c chuyển sang trạng thái có chấ ợ t lư ng thấp hơn trong một số trường hợp. Nguyên tắc chung là các bước chuyển tố ạ t hơn tr ng thái hiện tại luôn đư u hơn s đư ợ ọ ạ c ch n, bên c nh đó, các bướ ể c chuy n xấ ẽ ợ ấ ậ c ch p nh n khi xem xét xác su t chuy ấ ể ổ n đ i. Osman[33] gi năm 1993 đã áp dụng thu luy ật toán ện kim để ải quyết bài toán VRP bằng cách di chuyển một khách hàng từ ộ ế ộ ặ ổ l trình này đ n l trình khác ho c trao đ i hai khách hàng giữa hai lộ trình. Năm 1996, Chiang và Russell[34] đã áp dụng thành công thuật toán vào bài toán VRPTW. Vấ ề n đ này cũng được tìm thấy trong nghiên cứu v - c . ề meta heuristic cho VRPTW ủa Tan và các cộng sự[16]
  • 32. 31 c. Thuật toán di truyền Thu o ật toán di truy m heuristic có tính thích nghi a the ề ế n là phương pháp tìm ki , dự quá trình ti t thông qua ch c t Các khái ni ến hóa c a sinh v ủ ậ ọn lọ ự nhiên. ệm cơ bản đư năm 1975. ợ ể c phát tri n bởi Holland[35] Thuậ ệ ự ự ế ợ t toán làm vi c d a trên s k t h p các thao tác ch t bi Thao tác ch n th ọn l c ọ , sinh sản và độ ến. ọn phả ớ i hư ng quầ ể đến các l i gi i t thao tác tái t ng các gene c a các cha ờ ả ốt hơn, trong khi đó, ổ ợ h p sử ụ d ủ m s h ẹ được chọ ể n đ ản sinh ra các cá thể con cho thế ệ tiếp theo. Toán tử đột biến đư ng đ ợ ử ụ c s d ể ỏ ố ụ ộ thoát kh i các t i ưu c c b . Blanton và Wainwright[2] thu ( ) năm 1993 đầu tiên áp dụng ật toán di truyền cho bài toán VRPTW. Theo đó, họ ế đã k t h t toán di truy i thu t toán heuristic ợp thuậ ền vớ ậ tham lam. toán di truy c s tìm ki t các Thuật ề ợ n đư ử ụ ể d ng đ ếm cách sắp xếp tố khách hàng, trong khi đó việ ự ờ ả ả ợ ắ ữ ở ậ c xây d ng l i gi i kh thi đư c n m gi b i thu t toán tham lam. Thangiah[4] (năm 1995) cũng sử ụ d ng thuật toán di truyền để ế tìm ki m các phân nhóm khách hàng Trong thu . ậ ợ ề t toán đư c đ xuất b i Potvin và Be ở ngio[7], các cá th c t o ra b t n trình t hai l i gi ể ợ con đư ạ ằng cách kế ối hai phân đoạn lộ ừ ờ ải cha m c b ng cách thay th trình c i gi i cha m trình c ẹ ặ ho ằ ế ộ l ủa lờ ả ẹ ằ này b ng lộ ủa cha m t bi c s rút ng ẹ kia. Sau đó, toán tử độ ế ợ n đư ử ụ ể d ng đ ắn số ộ ể ố l trình và đ t i ưu lờ ả ộ i gi i. Berger và các c ng sự ậ ề ự ế đã đưa ra thu t toán di truy n lai d a trên cơ ch xóa bỏ ộ m t số khách hàng p l ra khỏi lộ trình c a h ủ ọ ậ và sau đó l ịch lại v i các ớ thuật toán heuristic xây d trình n i ti ựng lộ ổ ếng. Braysy[23] u [24] tiếp tục nghiên cứ của Berger với việc phân tích tính nh y c ạ ảm (sensitivity) và i các thao tác đị ớ nh nghĩa m trao đ i chéo và đ ổ ộ ế t bi n. Homberger và Gehring heuristic ti [36] - năm 1999 đưa ra hai meta ến hóa dựa trên các thu t toán ti c g i là các chi c ti n hóa và các t c i ti ậ ế ợ n hóa đư ọ ế ợ n lư ế kỹ thuậ ả ến l - - . ập lộ trình nổi tiếng như Or opt và 2 opt*[27][33] Năm 1999, Tan và các cộng sự[16] cũng phát triển thuật toán di truyền cho VRPTW dựa trên heuristic chèn của Solomon[1] - - và các thao tác λ trao đổi, PMX trao đổi chéo. Braysy và các cộng sự[24] năm 2000 đã mô tả thuật toán tiế ạ ậ n hóa hai giai đo n. Đây là thu t toán lai
  • 33. 32 đượ ế ợ c k t h p từ ậ ề ậ ế thu t toán di truy n và thu t toán ti n hóa với các heuristic xây d t ựng lộ trình và tìm kiếm cục bộ ừ các nghiên cứu của Solomon và Taillard. Năm 2004, Beatrice Ombuki và các c [13] ộ ự ể ậ ề ng s đã phát tri n thu t toán di truy n đa mục tiêu rất hiệ ả u qu . Các tác giả ể ễ đã bi u di n bài toán VRPTW bài toán thành đa mục tiêu: số ổ xe và t ng chi phí (kho n v ảng cách) và áp dụng thuật toán i truy d ề ới k K ỹ thuật xếp hạng Pareto. ết quả thuậ ạ ợ t toán đ t đư c rất khả quan khi so sánh với các k t qu t nh c công b enchmark 100 a Solomon ế ả ố t ất đượ ố ủ c a t p b ậ c khách hàng ủ . d. Thuật toán tìm kiếm Tabu Tìm kiếm Tabu đượ ề c đ xu [21] 1989 ất b i Glover ở năm . Tìm kiếm Tabu là chiến lược tìm kiế ự ộ ớ để ớ m d a trên b nh hư ng dẫ ứ n phương th c tìm kiế ụ m c c bộ ợ vư t qua các . tố ụ i ưu c c bộ Thuậ ữ ộ t toán gi m t danh sách các di chuy c các l ển hoặ ời giải đã th . ực hiện hoặ ợ c đư c ghé thăm trong quá khứ Danh sách này được g i là danh sách ọ Tabu, chính là một hàng đ i có kích thư c thay đ ợ ớ ổi hoặc cố định. Danh sách Tabu đư ng đ ợ ử ụ c s d ể ớ ạ ể ghi nh l i các di chuy n gầ ấ ặ n nh t và ngăn ch n các di chuyển p lặ l k ại. Thuật toán tìm kiếm Tabu ết thúc c s sau khi đạ ợ t đư ố ặ vòng l p cố định cho trước. Nhiều nghiên ng Tìm ki c u ứ đã thực hiện nhằm áp dụ ếm Tabu cho bài toán VRP như [5], [6], , [16] [33]. Tiêu biểu như Gerdreau, Hertz và Laporte đã áp dụng Tìm kiếm Tabu, s d ử ụng vùng lân cậ ợ n đư c xây dựng bằng cách di chuyển một khách hàng t n l ừ ộ ế l trình này đ ộ ử ụ trình khác. Osman[33] và Talliard cũng đã s d ng vùng lân c các l c t thao tác chèn m ận bao gồm tất cả ời giả ợ i thu đư ừ ột khách hàng và chuy áp ể ổ n đ i hai khách hàng. i v i bài toán VRPTW, các nghiên c Tuy nhiên, đố ớ ứu dụng Tìm kiếm Tabu rất ít. Năm 1996, Potvin và các cộng sự[37] đã áp dụng thuật toán Tìm k i m c tiêu chính là t xe v iế ớ m Tabu cho VRPTW nhưng v ụ ố ố i ưu s ận chuy ng ển thay vì tố ổ i ưu t ng chi phí. Năm 1999, Tan và các cộng sự[16] đã áp dụ Tìm ki m Tabu cho bài toán VRPTW v ế ới nhiều ng điểm mới như s d ử ụ thuật toán PFIH khở ạ ờ ả ầ ế ợ ớ ự ờ i t o l i gi i ban đ u, k t h p ghi nh d a trên tính thư ng xuyên
  • 34. 33 (frequency) và tính g và s các chi ần đây (recency) ử ụ ầ ủ d ng đ y đ ế ợ ạ n lư c đa d ng hóa (diversification) và cườ ộ ng đ hóa (intensification). e. Thuật toán đàn kiến Hệ thố ế ng đàn ki n (Ant Colony Sy y trong các nghiên c stem – ACS) được tìm thấ ứu c t T ủa Gambardella[38] và Dorigo[39] ừ năm 1996. ố ế i ưu đàn ki n (Ant Colony Optimization heuristic – ACO) là một phương pháp meta- xuất phát từ ệ vi c khám phá hành vi c n c ủ ế a các đàn ki n gi trong thế ới th t. ậ Ý tưở ả ng cơ b ủa ACO là m t h ộ ệ th t ống rấ nhiều agent nhân tạo có thể ạ liên l c với nhau xây d ở ứ m c thấ ể p đ ựng các l t t h ời giải ố cho các bài toán tố ổ i ưu t ợp khó. Trong th p t i nhau ế giới th t, các con ki ậ ến hợ ác vớ tìm ki ng cách ếm thứ ằ c ăn b để ạ l i các d c trên i là ấu vết hóa họ m . ặ ờ t đư ng Hiệ ợ n tư ng này gọ pheromone. Tương tự như th đàn ng đ Theo đó, ế ộ , m t kiế ạ n nhân t o được xây dự ể ỏ mô ph ng hành vi này. c o h d ác con kiến nhân tạ ợp tác với nhau bằng cách sử ụng một vùng nhớ chung. Pheromone nhân tạo đượ ố c tích lũy trong su t quá trình tính toán. Các con kiến nhân tạo là các tiến trình song song v d ới vai trò xây dựng các lời giải bằng cách sử ụng m t n b m h ột thủ ục xây dựng. Quá trình xây dựng lời giả ợ ớ i đư c hư ng dẫ ởi ột tổ ợp các li pheromone nhân tạo, dữ ệu bài toán và các hàm heuristic đánh giá các bước xây dựng thành công. Hình 2.5 Kiến trúc - của MACS VRPTW Nhiều thu t nh ậ ợ ề ấ t toán ACO đã đư c đ xu ằm giải quyết các lo i bài toán t ạ ố ổ i ưu t hợp khác nhau như bài toán TSP/ATSP (Symmetric/Asymmetric Traveling
  • 35. 34 Salesman Problem), QAP (Quadratic Assignment Problem), ... t trong các VRP, Mộ hi nh ện th c d a trên ACO hi ự ự ệu quả ất là hệ thống đàn kiến ACS của hai tác giả Gambardella và Dorigo . t [38] [39] Các tác gi i thi t th c c t v ả ớ đã gi ệu mộ ủ ụ t ập nhậ ế pheromone đặc biệt làm tăng việc tìm kiếm trong vùng lân cận của lời giải tốt nhất đượ ộ ở ộ c tính toán. M t m r ng củ ợ ự ệ ở a ACS cho bài toán VRPTW đư c th c hi n b i Gambardella, Taillard và Agazzi[12], hệ thống MACS- - VRPTW. MACS VRPTW đư o đ ợ ổ ứ ấ ế c t ch c theo mô hình phân c p các đàn ki n nhân tạ ể ố ộ t i ưu m t hàm nhiều mục tiêu: đàn kiế ầ n đ u tiên tối tiểu số xe vận chuyể ế n, trong khi đó đàn ki n thứ hai t u n S c ối tiể khoả g cách vận chuyển. ự ộng tác giữ ế ợ a các đàn ki n đư c thực hiện nhờ vào t trao đổi thông tin thông qua thao tác cập nhậ pheromone.
  • 36. 35 Chương 3: Thuật toán di truyền song song 3.1 Giới thiệu về thuật toán di truyền John Henry Holland[35], với ý tưởng mô phỏng g ng v ần giố ới quá trình tiến hóa tự nhiên c theo thuy n hóa c ủa sinh v t ậ ết tiế ủ ề a Darwin, đã đ xuất gi i thu t di truy ả ậ ền (GA – Genetic Algorithm) nhằm giải quyết các bài toán tố ố i ưu. Trong su t quá trình tiến hóa, các cá th có thích nghi t t v ể ố ới môi trườ ợ ng đư c ch i và lai t ọn giữ ạ l ạo tiếp. C , các th ứ ậ như v y ế ệ ẽ ả ớ h sau s có kh năng thích nghi cao hơn v i môi trường s h ố ợ ng do đư c kế thừ ặ a các đ c tính tốt từ các thế ệ trước. Hình 3.1 Các khái niệm cơ bản của thuật toán di truyền Tuy nhiên, thu cho l ật toán GA sẽ thật sự ời gi i t t n ả ố ếu như có cách đánh giá đúng đắ ổ ị ủ ầ ể ự ủ ể ệ n tính n đ nh c a qu n th d a trên tính thích nghi c a các cá th , cũng như vi c l t h ựa chọn các ứng viên. Mặt khác, cách thức biế ổ ể n đ i đ ạo cá thể con cho thế ệ sau cũng ả ở đế ế ả ả ậ nh hư ng n k t qu gi i thu t. T i ổng quát, giả thuật di truyề ợ n đư c mô tả như sau: • Tạo quần thể ngẫu nhiên ban đầu G 0. • Đánh giá quầ ể ế ầ ể ở ạ ổ ị ế ợ ạ n th . N u qu n th tr ng thái n đ nh thì k t thúc. Ngư c l i
  • 37. 36 thì ti c th c hi c ch a các cá th thay th ếp tụ ự ện việ ọn lự ể ế ế ệ . Đánh giá th h con đượ ỳ ọ c k v ng. • Chọ ự ể ừ ầ ể n l a các cá th cha t qu n th G i. Chọn một phép tiế ể n hóa đ phát sinh ra các cá thể ở con thế ệ h Gi+1. Thực hi n th ện l p t ặ ừ ớ ầ bư c đánh giá qu ể cho đế ỏ ề ệ ế n khi th a đi u ki n k t thúc. 3.2 toán Các phép toán chính của thuật di truyền 3.2.1 Phép chọn Việc ch n ra các cá th a trên nguyên t c cá th ọ ể cha mẹ đem lai tạo là ngẫu nhiên dự ắ ế có m thích nghi cao nh a cao nh t. Quá ứ ộ c đ ấ ứ t cũng tương ng có khả ọ năng ch n lự ấ trình ch có th c th c hi ọn ể ợ đư ự ện ngẫu nhiên theo vòng quay roulette với từng vùng chiế ứ m trên vòng tròn tương ng với xác suất tồn tại của mỗi cá thể. Hình 3.2 Vòng quay lựa chọn cá thể Xác su t t i c a cá th ấ ồn tạ ủ ể i là: Pi = ∑ = N j j i f f 1 Trong đó: f là hàm thích nghi của cá thể trong quần thể có N cá thể. M i d ột ch ế ợ n lư c chọn lựa cá thể khác cũng hay được sử ụng là chiế ợ n lư c lựa chọn theo vòng thi đ đư ấ ừ ặ ể u (Tournament selection). Theo đó, t ng c p cá th ợ ự ọ c l a ch n
  • 38. 37 ngẫu nhiên và được so sánh với nhau theo m thích nghi ứ ộ c đ , cá th nào có tính ể thích nghi cao hơn s i cho đ ẽ ợ đư c chọ ữ ạ n gi l i. Quá trình này được lặ ạ p l ến khi thu đượ ặ ể ẹ để ự ệ ạ c n c /2 p cá th cha m th c hi n phép lai t o (n là số cá thể trong quần thể). 3.2.2 Phép lai t s t Các cá thể ố ợ t sau khi đư c chọn lựa từ quần thể ẽ cho lai để ạo ra các cá thể con v k b m ới hi vọng ế thừ ặ a các đ c tính di truyền từ các cá thể ố ẹ. Tuy nhiên, không ph p ải t t c cá th ấ ả ể đều có th t h ể ế k ợp v ng có m ớ ờ i nhau mà thư ột xác su t k t h ấ ế ợ nhấ ị t đ nh Pcross. Quá trình lai th c hi ự ện như sau: • Ứ ớ ỗ ể ng v i m i cá th phát sinh cho nó một xác su t ng ấ ẫu nhiên, n u xác su ế ất này nhỏ hơn Pcross thì cá thể được lấy vào danh sách sử ụ d ng cho việc lai ghép. • Chọ ự ẫ ừ ặ n l a ng u nhiên t ng c p và vị ể ự trí lai ghép đ th c hiện lai ghép tạo hai cá th con thay th ể ế. Trong hi gi ệ ự ổ n th c, các thao tác trao đ i chéo ữa hai nhiễm sắc thể đư nh nghĩa ợ ị c đ và th các ời gian ph thu ụ ộc nhi u vào cách ề nhiễm sắc th c mã hóa. ể ợ đư Thông qua thao tác trao đổi chéo này, quá trình tái tổ ợ h p thông tin di truyề ữ n gi a các nhiễm s M ắc thể được thực hiện. ột số thao tác trao đổi chéo phổ biến sau: • Trao đổ ộ ể ắ ả i chéo m t đi m c t (One-Point Crossover): đây là thao tác đơn gi n nhất, mộ ể t đi m cắt được chọn ngẫu nhiên trên chiề ễ ắ ể u dài nhi m s c th , sau đó, các gene n m phía sau đi t đư c hoán đ ằ ể ắ m c ợ ổ ữ i gi a hai nhiễ ắ ể m s c th cha mẹ. Tham khảo minh họa Hình 3.3. • Trao đổ ề ể ắ i chéo nhi u đi m c t (Multi-Point Crossover): đây là thao tác mở r a T ộng củ thao tác trước với nhiề ộ ể u hơn m t đi m cắt. rong hiện thực, thao tác trao đ i chéo hai đi thư ổ ể ắ m c t ờ ợ ng hay đư c sử ụ ọ d ng. Hình 3.4 minh h a thao tác trao đổ ề ể ắ i chéo nhi u đi m c t.
  • 39. 38 Hình 3.3 Thao tác trao đổi chéo một điểm cắt Hình 3.4 Thao tác trao đổi chéo nhiều điểm cắt • Trao đổ ạ ừ ầ i chéo ánh x t ng ph n (PMX – Partially Mapped Crossover): phương th ng đư ứ ổ ờ c trao đ i này thư ợ ử ụ c s d ng trong trường hợp các nhiễm s d . ắc thể được mã hóa ạng chuỗi số (số nguyên hoặc số thực) có thể hoán vị PMX b t ảo tồn vị trí của nhiều gene nhấ có thể trong cả hai nhiễu sắc thể. Ví d : ụ NST 1: | | K H E C B D F G I J A L NST 2: C D B A | G F E | L K I J H Chọn hai điểm cắt ngẫu nhiên, khi đó, phân đoạn giữa hai điểm cắt cho định nghĩa một ánh xạ ( . Áp dụng ánh xạ này lên B  G, D   F, F E) các gene của hai nhiễm sắc thể cha mẹ sẽ thu được các nhiễm sắc thể con tương ứng. NST con 1: K H | G F E | I J A L D C B NST con 2: A | B D F | L K I J H C E G • Trao đổ ứ ự ứ ả ồ ứ i chéo có th t (Ordered Crossover): phương th c này b o t n th tự tương đối của nhi hai nhi ều gene nhấ ể ả t có th trong c ễm sắ ể ụ c th . Ví d : NST 1: K H E C | B D F | G I J A L NST 2: D B A | G F E | L K I J H C Xác định hai điểm cắt ngẫu nhiên, sau đó, xác định thứ tự các gene trong một nhiễm sắc thể bắt đầu với gene đầu tiên ngay sau điểm cắt thứ hai. Trong ví dụ trên, sẽ là Sau đó, từ chuỗi này, xóa đi các NST1 GIJALKHECBDF.
  • 40. 39 gene đã tồn tại trong phân đoạn đã hoán vị giữa hai điểm cắt. Trong ví dụ trên những gene cần xóa là nên phần còn lại là Kết quả GFE IJALKHCBD. các con là: NST con 1: H C B D | G F E | I J A L K NST con 2: C A G E | B D F | L K I J H 3.2.3 Phép đột biến Sự đột biế ộ n gene cũng là m t trong những nguyên nhân gây ra tiến hóa n u bi ế ế ổ n đ i này biểu hi ng có l ện tính trạ ợi. Trong giải thu t bi y ra v i m t xác ậ ộ t GA, các đ ến xả ớ ộ suất Pmut nào đó, với nhữ ờ ng trư ng hợp xả ộ y ra đ t biến thì có sự thay đổi trong gene mà không kế thừa t cá th ừ ể nào. Quá trình đột biế ầ n trong qu n thể ễ ọ ẫ ộ di n ra như sau: Ch n ng u nhiên m t cá thể và một vị trí gene với xác suấ ứ t tương ng nhỏ hơn Pmut, th c hi i ng ự ện biế ổ n đ ẫu nhiên tại vị trí này. M d ( ột số loạ ộ i đ t biế ờ n thư ng sử ụng như chèn gene hoặ ạ c đo n gene Hình 3.5a), xóa gene ho n gene di ặ ạ c đo n gene (Hình 3.5b), hoán vị ặ ạ gene ho c đo ễn ra trong m ( ột nhiễm sắc thể Hình 3.5 h 3.5 c, Hìn d). Hình 3.5 Một số loại đột biến thường gặp
  • 41. 40 C t ần lưu ý: việ ộ c gây đ t biến có thể làm cá thể ố ể t hơn nhưng cũng có th làm cá thể xấ ậ ộ u hơn. Chính vì v y, phép đ t biến ít nhiều sẽ tác độ ế ng đ n quá trình hình thành quầ ể ờ n th sau cùng (l i giải bài toán). 3.3 Các mô hình song song Thu thu ật toán di truy n là ề kỹ ật tìm ki c s t các bài ếm mạ ợ nh đư ử ụ ể ả d ng đ gi i quyế toán khó có nhiều lu t toán l ật ràng buộc. Tuy nhiên, thuậ ạ ỏ i đòi h i nhiề ự u năng l c tính toán cũng như bộ nhớ ủ c a máy tính do phả ặ i l p qua nhiề ế ệ để ợ ế u th h có đư c k t qu vi ả ố t t. Ngoài ra, ệc đánh giá tính thích nghi c a các cá th ủ ể trong quần thể cũng chi . y, có ếm thời gian r t l ấ ớn Chính vì vậ hiện th t toán di truy ực song song thuậ ền sẽ l m ( ợi về hiệ ả u năng và tính kh ở scalability). Thuật toán di truy là m a thu t toán di ền song song không ch [15][20][40] ỉ ở ộ r ng củ ậ truy còn là ền truyền thống mà bi n ểu hiệ một lớp thuật toán mớ ở i b i khả năng tìm kiếm trên các không gian l i gi u cách tìm ki ờ ải khác nhau bằng nhiề ếm khác nhau cùng lúc. Nhiều cách tiếp c n, hi ậ ệ ự ậ ề ụ ộ ế n th c thu t toán di truy n song song ph thu c vào các y u tố sau: • Cách thứ độ c đánh giá thích nghi và phương pháp độ ế ợ ụ t bi n đư c áp d ng. • Đơn hay đa quầ ể ể n th con (nhóm cá th ). • Đa d i quần thể được sử ụng và cách thức các cá thể đượ ổ c trao đ giữa các quầ ể n th . • Cách thứ ọ ọ ể ụ ộ ụ c ch n l c các cá th (c c b hay toàn c c) Phụ ộ thu c vào cách m i y ỗ ếu tố ợ trên đư c hi n th ệ ực, nhiều phương pháp song song thu truy t. ật toán di ền khác nhau được đề ấ xu Nhìn chung, các phương pháp này có th i ể ạ phân lo thành 8 lớp[15] sau:
  • 42. 41 Hình 3.6 Phân loại các thuật toán di truyền song song 3.3.2 Song song dạng chủ tớ D i ạng song song này còn được biết với tên gọ song song toàn c c, mô hình ch ụ ủ ớ -t hay phân tán đánh giá độ ậ thích nghi. Thu t toán s n th ử ụ d ng m t qu ộ ầ ể đơn, việc đánh giá các cá thể và/hoặc áp dụ ề ợ ng các phép toán di truy n đư c thực hiện song song. Phép ch lai t ọn lọc cho ạo được th c hi c, vì v y, m i cá th ó th ự ện toàn cụ ậ ỗ ể c ể cạnh tranh với các cá thể khác. Tiến trình chủ ữ lưu tr toàn b n th và các ti n trình t thích nghi, ộ ầ qu ể ế ớ độ đánh giá áp d i chéo m . Truy y ra ch ụ ộ ng phép đ t biến và trao đổ ột phần bộ gen ền thông xả ỉ khi m n m ỗi ti n trình t ế ớ ậ nh ột cá th c m t t p các cá th ể ặ ho ộ ậ ể để đánh giá và trả ề v các giá trị ể ệ ộ th hi n đ thích nghi.
  • 43. 42 Hình 3.7 Mô hình song song dạng chủ tớ T n h huậ ồ t toán có tính đ ng bộ ếu tiến trình chủ ngừng và chờ để nhận ết các giá trị độ ủ ộ ể ầ ể ớ ế ụ ế ớ thích nghi c a toàn b các cá th trong qu n th trư c khi ti p t c ti n hành v i th ti ti ế ệ ế h k ếp. Tuy nhiên, trong trường hợp thuật toán không ng ng ch ừ ờ ấ b t kỳ ến trình ch c g i là b t toán ph ậm chạp nào, thuậ ợ t toán đư ọ ấ ồ t đ ng bộ. Khi đó, thuậ ải dùng cơ d r chế động ẫ ế n đ n ất khó phân tích. 3.3.3 Song song dạng đa quần thể con có di trú D c ạng thuật toán này còn đề ập vớ ề i các tên khác nhau như di truy n đa quần thể con tĩnh, đa grained) và đôi khi còn di truyền nhóm - cá thể, di truyền kết thô (coarse gọi đơn giả ậ ề n là thu t toán di truy n song song. Phương pháp song song này đòi hỏ ầ ể ầ ể i chia qu n th thành các qu n th con hay các nhóm. Các c tách bi t v i nhau i là cô l quần thể con đượ ệ ớ gọ ập v m ề ặt địa lý (geographic isolati t cá c m n th Tác v on) và mộ th ch ể ỉ ộ thu ột quầ ể ấ ị con nh t đ nh. ụ di trú đượ ự c th c hiệ ờ n theo th i gian, một số ể ợ ể ặ cá th đư c di chuy n ho c sao chép từ nhóm này đến nhóm khác. N n b nhóm khác nào ếu các cá th có th ể ể ế di trú đ ất kỳ thì mô hình này đượ ọ ả ế ể ỉ c g i là mô hình đ o (island model). N u các cá th ch di trú đế ậ ủ n các nhóm lân c n c a chúng, mô hình này g mô hình t ọi là ừ ớ ng bư c (stepping stone mode). S t ự di trú của các cá thể ừ nhóm này sang nhóm khác đượ ề c đi u khiển bởi các tham số như:
  • 44. 43 • Topo d đị ế nh nghĩa các k t nối giữa các quần thể con. Các topo được sử ụng ph bi kh ổ ến bao gồm: ố ậ i l p phương, lướ ề i hai chi u hoặ ề ạ c ba chi u, d ng vòng, ... • T : i ố ộ c đ di trú đ ều khiển bao nhiêu cá thể di trú. • Lượ ồ ề ể c đ : di trú đi u khi n các cá th n (t t, x ể ủ ồ c nào a nhóm ngu ốt nhấ ấu nhất, ngẫu nhiên) di trú tới nhóm khác và các cá th c thay ể ợ nào đư thế ấ (x u nhấ ẫ t, ng u nhiên, ...) • Tần xuất di trú. Thuật toán kết thô c (Coarse grained algorithm): đề ậ ế ố p đ n mô hình có tương đ i ít số quần thể con nhưng mỗi quần thể có nhiều cá thể. Hai đặ ủ c trưng c a mô hình này là thời gian x t th i l n và truy ử ộ lý m ế ệ ỗ h m trong i qu n th ầ ể ố con tương đ ớ ền thông x , ả ổ y ra khi trao đ i các cá thể giữa các quần thể con. Đôi khi thuật toán di truyền song song kết thô c g i là di truy c hi n th c trên còn đượ ọ ền phân tán bở ờ ợ i thư ng đư ệ ự các máy tính MIMD bộ ớ nh phân tán. Thuật toán kết mịn (fine grained algorithm): i thu t thô, thu trái lại vớ ật toán kế ật toán đòi hỏi t rấ nhiề ộ ử ở u b x lý b i vì quần thể ợ đư c chia thành rấ ề ầ t nhi u qu n thể con (nhóm). Truy c hi n th c ho c s ng tác v di trú ền thông giữ ợ a các nhóm đư ệ ự ặ ử ụ d ụ ho n ặc sử ụ ế d ng cơ ch chồng lấp các nhóm. Gần đây, thuật ngữ ề di truy kết mịn đư nh nghĩa l ợ ị c đ ạ ợ ử ụ ể ỉ ề ố ớ ẽ i và đư c s d ng đ ch di truy n song song kh i l n (s trình bày ở ầ ph n sau).
  • 45. 44 Hình 3.8 Lược đồ thuật toán di truyền song song kết mịn. Lớp thuật toán này có một quần thể được phân tán từng phần và được hiện thực rất hiệu quả trên các máy tính song song lớn. Mô hình đa nhóm thể hiện một vấn đề ả ở ờ là tính kh m (scalability). Trong trư ng h d ợp số máy tương đối ít, mô hình kế ợ t thô đư c sử ụng rất hiệu quả. Tuy nhiên, nếu s r m r ố máy mở ộ ế ấ ể ng đ n hàng trăm máy, r t khó đ ở ộng (scale up) kích thước và số nhóm qu ng. để ậ t n d ng hi ụ ệu ả ạ ầ h t ng ph n c ầ ứ Mặc dù hạn chế trên, mô hình đa nhóm r n b n c ất phổ biế ởi từ ể quan đi m hiện thực, nó là sự ở ộ m r ng đơn giả ủa thuật toán di truyền tuần tự. 3.3.4 Song song dạng quần thể con chồng lấp, không di trú Mô hình này tương t mô hình trên nhưng kh Thay vào đó, ự ông có tác vụ di trú. sự thỏa hiệp và trao đ i các đ ổ ặ ợ c trưng đư c th c hi i các cá th m trong các ự ện bở ể ằ n vùng ch ng l ồ ấp (overlapping areas). c trong m t c u trúc Các nhóm được tổ chứ ộ ấ không gian nhằm có thể ữ tương tác gi a chúng. c nhi M u ột số cá thể th ộ ều hơn một nhóm và tham gia nhi n l ề ụ ổ ọ u tác v trao đ i chéo và ch ọc. Mô hình này có th ng t ể ễ ợ d dàng đư c áp dụ rên các hệ thống bộ ớ ẻ ằ nh chia s b ng cách đặt toàn bộ ầ ể ẻ ằ qu n th trong vùng chia s và b ng cách chạ ậ y các thu t toán di truyền trên mỗi nhóm một cách đồng thời. S n th c hi n trên các vùng ự đồng bộ ầ c ự ệ ch c. ồng lấp đối v i các tác v ớ ụ trao đ i chéo, đ ổ ột biến và chọn lọ
  • 46. 45 3.3.5 Thuật toán di truyền song song khối lớn Thuật toán di truyền song song khối lớn có được khi tăng số nhóm và giảm số cá thể có trong m trong mô hình qu con có ch ỗi nhóm ần thể ồng lấp. Loại thuật toán này thườ ợ ng đư c gọi thu là ậ ề ế ị t toán di truy n k t m n đơn giản. Thuậ ử ụ t toán s d ng chỉ ộ m t qu . M t cá th ần thể ộ ể chỉ ạ c nh tranh và giao phối v i các ớ cá th lân c i vì các vù p, các l i gi i t ể ận củ ở a nó, nhưng b ng lân cận có sự chồng lấ ờ ả ốt có th n qua toàn b ể ổ ế ph bi ộ ầ qu n thể. Mô hình này thích hợp tri th ển khai trên các hệ ống song song lớ ệ n cũng như các h th . i ống đa bộ ử x lý Trường hợ ở p lý tư ng, mỗ nhóm cá thể ợ đư c gán cho mỗi phần tử tính toán. Mô hình này không thích hợp triển khai trên các cluster bởi chi phí truyền thông c l ực kỳ ớn. 3.3.6 Song song dạng các nhóm cá thể động Đây là phương pháp song song mớ ế ợ ậ i cho phép k t h p thu t toán song song toàn cục (như thuậ ề ủ ớ ả ớ ậ ế t toán di truy n phân tán ch t đơn gi n) v i thu t toán k t thô (như mô hình qu ng l ần thể ồ con có ch ấp). Mô hình này không có tác vụ ở b di trú i vì toàn bộ quần th i x ể ợ ố đư c đ ử như một tập h n hóa và ợp các cá thể ố trong su t quá trình tiế thông tin giữa ch các cá thể ợ đư c trao đổi qua việc tái tổ ức động các nhóm trong su ng ốt các chu kỳ ử ể x lý. Trên quan đi m xử ộ lý song song, phương pháp nhóm đ phù hợp hoàn toàn t toán nhi với dạng MIMD với thuậ ều chủ ớ ấ ồ -t b t đ ng bộ. Ý tưở ủ ả ờ ng chính c a phương pháp là làm gi m th i gian chờ các cá thể sau cùng (ch t) ậm nhấ trong mô hình chủ ớ ằ ộ -t b ng cách phân tách đ ng quần th thành các ể nhóm x cá thể để có thể ử lý ngay mà không trì hoãn. Điều này giúp tăng tố ộ ử c đ x lý . đáng kể ữ . Hơn n a, thuật toán cũng có tính kh y đ ả ở đầ m ủ Thu ng ật toán có th y trên các h ể chạ ệ thố song song bộ ớ ẻ ệ nh chia s cũng như các h thống song song b n khai ộ nhớ phân tán. Do có tính khả ở m cao, thu t toán tri ậ ể được trên các th hệ ống có ít ph n t ầ ử ệ ố ớ ớ tính toán và trên các h th ng song song l n v i hàng trăm, hàng ngàn phầ ử n t tính toán.
  • 47. 46 3.3.7 Thuật toán song song trạng thái ổn định Thu n ật toán sử ụ ợ ồ ậ d ng các lư c đ c p nhật quần th liên t c. N u các cá th ể ụ ế ể ầ con d d c ầ ợ n đư c giới thiệu thành một quần thể đơn, đang liên tục phát triển thì chỉ ần áp dụ ợ ồ ng các lư c đ chọn lọc và thay thế trong vùng tranh chấp. Các toán tử di truyền khác, bao gồ ệ ộ ể ự ệ m vi c đánh giá đ thích nghi, có th th c hi n song song. 3.3.8 Thuật toán song song hỗn tạp Thu u ật toán g , qu ồ ạ m ba giai đo n. Trong giai đoạ ạ n 1 và giai đo n 2 ần thể ầ ban đ đượ ạ c t o sử ụ ộ ả ệ ừ ầ d ng m t b ng li t kê t ng ph n. Điều này ng phép d làm giảm việc sử ụ ch c i ọn lọ theo kiể ấ u vòng thi đ u (tournament selection). Giai đoạn 3, các lời giả từng phầ ợ n đư c tìm thấ ạ ợ y trong giai đo n 2 đư c trộn vớ ạ i nhau. Giai đo n 1 có thể được hoàn thành i không n b n thông nào. đồng thời bở cầ ất kỳ truyề Bở ạ i vì giai đo n 2 thường chiếm nhi n l ều thời gian th c thi, các mô hình ch ự ọ ọ ộ c và đánh giá đ thích nghi đồ ờ ng th i thườ ợ ử ng đư c s dụ ạ ng trong giai đo n này. 3.3.9 Các phương pháp lai Để song song hóa thu n, nhi ật toán di truyề ều phương pháp lai đượ ạ ằ c t o ra b ng cách k k ết hợ ợ p các phương pháp đư c mô tả trên. Việc kết hợp các ỹ thuật song song có thể ậ t n dụng các điểm lợi trong các thu t toán thành ph và vì v y có th ậ ần ậ ể ệ cho hi u năng t t hơn. ố Hình 3.9 Các hình thức kết hợp phân cấp
  • 48. 47 Hình 3.9 , thu a ật toán lai là thu t toán di truy , m ậ ề ể n song song đa nhóm cá th ỗi nút cũng là thuật toán di truyền song song đa nhóm. Hình 3.9b, ở ứ m c cao, thuật toán lai này là thu t toán di truy ậ ền song song đa nhóm cá thể ỗ nhưng m i nút là một thuật toán song song ch p c ủ ớ t . Hình 3.9c minh h t h ọa sự ế k ợ ủa thuật toán song song đa nhóm ở ứ m c cao và thu t m c th ật toán kế ịn ở ứ m ấp.
  • 49. 48 Chương 4: Thuật toán di truyền song song giải bài toán VRP với hạn chế thời gian 4.1 Heuristic xây dựng lộ trình Như đã trình bày ở ầ ế ợ ế ờ ph n trên, chi n lư c tìm ki m heuristic thư ng bắ ầ t đ u bằng một lời giải khả thi ban đầ ả u, sau đó c i thiện dần lời giải này s ng các ử ụ d kỹ thu t ậ tối ưu toàn cụ ặ ụ ộ c ho c c c b . Solomon[1] năm 1987 đã đề ấ xu t phương pháp heuristic chèn chèn các khách hàng vào các l hiệu quả để ộ trình mới. Sau khi khởi t d n ạo một lộ trình, phương pháp sử ụng hai tiêu chuẩ ) , , ( 1 j u i c và ) , , ( 2 j u i c (sẽ được trình bày sau) cho m chèn m a hai khách ỗi vòng lặ ể p đ ột khách hàng mới u vào giữ hàng li trình hi ền kề i và j trên lộ ện tại. Nhắc l i bài toán, cho ạ N khách hàng, mỗi khách hàng có nhu cầu mi và khoả ờ ng th i gian cho phép phục vụ ( i i l e , ) (gọi là cửa sổ thời gian) với N i ,..., 1 = . M t ộ ộ t đ i xe ại kho ( 0 = i ) g l ồm K xe giống nhau, mỗi xe có khả năng chuyên chở ớn nhất là k q với K k ,..., 1 = . i Để đơn giản, độ xe được giả đị ồ nh là đ ng nhất, tức là khả năng chuyên chở ớ l n nhấ ủ t c a các xe là như nhau. Thờ ụ ụ ứ ờ i gian ph c v , t c là th i gian lấy hoặc phân phát hàng hóa tại khách hàng thứ i là fi. Thời gian này chỉ ắ ầ b t đ u tại thờ ể i đi m ti trong cửa sổ thời gian liên kết với khách hàng đó. Vì vậ ế y, n u một xe đế ớ ờ ể ợ ụ ụ ứ n trư c th i đi m đư c phép ph c v , t c trước thời điể ớ ấ m s m nh t của cửa sổ, thì xe phả ờ ộ ả ờ i ch m t kho ng th i gian wi với ) ( ji j j i i t f t e w + + − = , giả ử đứ ớ s khách hàng j ng trư c khách hàng thứ ộ i trên l trình. Thời gian ji t là thời gian phải mất khi xe di chuyển từ khách hàng j đến khách hàng i c s b và đượ giả ử ằng khoảng cách Euclide ji d giữa hai khách hàng này. Khoảng cách này i x cũng được giả ử ố s là đ ứng, tức là ji d = ij d . Như vậ ờ ể ắ y, th i đi m xe b t đầ ụ ụ ạ ứ u ph c v t i khách hàng th i là { } ji j j i i t f t e t + + = , max .
  • 50. 49 Giả ử ộ s m t lộ trình ) ,..., , , ( 2 1 0 m p i i i i R = với 0 0 = = m i i chỉ kho trung tâm. Ứng với mỗi khách hàng p l nh, v khách hàng u chưa lậ ộ trì ị ả ố trí chèn kh thi t t nhất cho u vào lộ trình Rp, th th ỏa các ràng bu c v ộ ề ời gian và khả ợ năng xe, đư c tính như sau: )} , , ( { min )) ( , ), ( ( 1 1 1 p p p i u i c u j u u i c − = : Trong đó m p , , 1  = ) , , ( ) , , ( ) , , ( 12 2 11 1 1 j u i c j u i c j u i c α α + = 1 2 1 = +α α 0 , 2 1 ≥ α α Hai hàm 11 c và 12 c là các hàm dựa trên khoảng cách và thời gian: 0 , ) , , ( 11 ≥ − + = µ µ ij uj iu d d d j u i c j j t t j u i c u − = ) , , ( 12 Trong đó: µ là hằng số và u j t là th i b ờ ể i đi m mớ ắ ầ t đ u phục vụ ạ t i khách hàng j khi có khách hàng u vào lộ trình. Rõ ràng, việc chèn u vào giữa 1 − p i và p i có th làm thay ể đổ ấ ả ờ ắ ầ ụ ụ ở i t t c th i gian b t đ u ph c v các khách hàng ) ,..., ( m p i i . Khi v l ị trí tốt nhấ ể t đ chèn mỗi khách hàng chưa có ộ trình đã đượ ị ớ c xác đ nh, bư c kế tiế ợ p đư c thực hiện nhằm chọn ra khách hàng t khách cho giá trị ố ấ t i ưu nh t. Mộ hàng u* đượ ọ c ch n khi: ))} ( , ), ( ( { max )) ( , ), ( ( 2 * * * 2 u j u u i c u j u u i c u = Trong đó: u là khách hàng chưa có lộ trình và khả thi; ) , , ( 2 j u i c được tính như sau: 0 ), , , ( ) , , ( 1 0 2 ≥ − = λ λ j u i c d j u i c u Với λ . là hằng số
  • 51. 50 Trong VRPTW, việc chèn m t khách hàng m i vào m t l ộ ớ ộ ộ trình luôn kéo theo phải kiểm tra tính kh thi c a ràng bu c c a s i gian a các khách hàng ả ủ ộ ử ổ thờ củ đứng sau trong l trình. Vi c ki m tra tính kh thi này ộ ệ ể ả cho m i khách hàng ph ỗ ải mất O(N) thời gian. Điều này làm tiêu tốn nhi i gian tính toán khi ều thờ N lớn. Chính vì vậy, Solomon[1] năm 1987 đã đề ị ủ ụ ngh th t c push forward. Giả định rằng, các xe xuất phát th i ở ời điểm sớm nhất có thể ọ . G new ip t b t là thờ ể i đi m mớ ể i đ ắ ầ t đ u phục vụ ại khách hàng p i s b khi có khách hàng u trong lộ trình. Giả ử ấ ẳ t đ ng thức tam giác n c ắm giữ ả khoảng cách và thời gian n di chuyể , việc chèn khách hàng u sinh ra một giá trị push forward tại p i như sau: 0 ≥ − = p p p i new i i t t PF Hơn nữa, 1 + r i PF được tính là: 1 }, , 0 max{ 1 1 − ≤ ≤ − = + + m r p w PF PF r r r i i i Nếu r i PF > 0, các khách hàng r i , với m r p ≤ ≤ , có thể tr thi. ở ả nên không kh Do đó, thủ ụ t c ch m tra tu ỉ ầ c n kiể ần t ng khách hàng cho tính kh ự nhữ ả ề ờ thi v th i gian cho đế ấ ộ n khi tìm th y m t khách hàng nào đó, ví dụ như r i ( ) r < m có giá trị 0 = r i PF hoặc r i i . không khả thi về thờ gian Tuy nhiên, trong trường hợp xấu nhất, tất cả các khách hàng r i ( m r p ≤ ≤ ) đượ ể c ki m tra. Solomon[1] đã phát biểu hình thứ ấ ề c v n đ này như sau: Các đi n và đ ề ệ u ki n cầ ủ ả ề ờ ộ cho kh thi v th i gian khi chèn m t khách hàng u vào gi a ữ 1 − p i và p i , m p ≤ ≤ 1 trên một lộ trình khả thi đang xây dựng ( ) m i i i ,..., , 1 0 , 0 0 = = m i i là u u l t ≤ Và m r p l PF t r r r i i i ≤ ≤ ≤ + ,
  • 52. 51 Chú ý rằng có thể 0 < i PF nếu khoả ề ng cách không Euclide, đi u này cho kết quả ấ t t cả khách hàng đều khả thi về thời gian. Và bởi vì 0 = m i , phát biểu c a Solomon ủ luôn đả ả ằ ậ m b o r ng xe v n chuyển sẽ ề đế v n kho trong khoảng thời gian lậ ị p l ch. Khi không có một khách hàng nào với các thao tác chèn khả thi được tìm thấy, thủ t i ục chèn bắ ầ t đ u một lộ trình mớ và tiếp tụ ế c cho đ n khi tất cả khách hàng đã có lộ trình. Trong hầu hế ự t các phương pháp xây d ng lộ ọ ầ trình, cách ch n khách hàng đ u tiên đượ ụ ụ ộ ế c ph c v là m t y u tố ọ quan tr ng ả ở ế ấ ợ ờ ả ề nh hư ng đ n ch t lư ng l i gi i. Nhi u tiêu chu n ra ẩ ợ n đư c xây dựng nhằm chọ ứng viên thích hợp nhấ để ở t kh i t i l ạo mỗ ộ trình , . khác như [1] [16] Rõ ràng, các tiêu chu khác nhau luôn cho các k t qu ẩn ế ả nhau. G - ọi phương pháp heuristic chèn của Solomon là phương pháp PFIH (Push Forward Insertion Heuristic t toán ). Thuậ PFIH được mô tả như sau: • Bướ ắ ầ ớ ộ ộ ỗ ấ ừ ặ c 1: B t đ u v i m t l trình r ng xu t phát t kho. Đ t r = 1. • Bướ ế ấ ả ợ ậ ộ ả ế ớ c 2: N u {t t c các khách hàng đã đư c l p l trình} thì nh y đ n bư c 8. Ngượ ạ ứ c l i, ng vớ ỗ ợ ậ i m i khách hàng j chưa đư c l p lộ trình: tính chi phí chèn như nút đầu tiên. • Bướ ọ c 3: Ch n ra khách hàng t t ối ưu j* ừ danh sách trên sao cho chi phí ít nhấ ỏ ộ ề ờ ả t và th a các ràng bu c v th i gian và kh năng vận chuyển của xe. • Bướ ố ộ ệ ạ ậ ậ ả ủ ộ c 4: Thêm j* vào cu i l trình hi n t i và c p nh t t i c a l trình. • Bướ ớ ọ ợ ậ ộ ứ ớ ỗ ạ c 5: V i m i khách hàng j chưa đư c l p l trình, ng v i m i c nh {k, l j k } trong lộ ệ ạ trình hi n t i: tính chi phí chèn khách hàng vào giữa và l. • Bướ ọ c 6: Ch n ra khách hàng nh { u {vi j* và cạ k*, l*} có chi phí ít nhất. Nế ệc chèn khách hàng là kh hi theo các ràng bu c v i gian j* giữa và k* l* ả t ộ ề thờ và tải trọng xe} thì chèn khách hàng p nh j* vào giữa và k* l*, cậ ật l i t ạ ải của lộ trình r hiện tại và nhả ế ớ ợ y đ n bư c 5. Ngư c lại, nhả ế ớ y đ n bư c 7.