Chương 2 : Bài toán VRP với hạn chế thời gian
2.4 Các phương pháp chính tiếp cận giải bài toán
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ạ ấp hơn (lower bound). Các nghiên cứu đã cho thấy khả năng giải quyết t vốt ấn đề với 100 khách hàng khi kết hợp phương pháp phân rã Lagrange với
2.4.1.4 Dựa trên K-T ree
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-Tree thành phương pháp K-Tree cho bài toán VRP và VRPTW. Theo đó, các giới hạn dư i thu đướ ợc từ ự ớ s n i lỏng dựa trên việc tạo ra các cây mở ộ r ng (spanning tree), còn g i là ọ cây K-Tree. Các ràng buộc về kh ả năng xe được giải quyết bằ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ụ ở b i ít nh t k(S) xe vấ ận chuyển. Các ràng bu c vộ ề ử c a sổ thời gian cũng được đố ử ội x m t cách tương t . Phươngự pháp đã giả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ị ạ h n chế ở b i các c a sử ổ thời gian hẹp, do có ít tổ ợ h p củ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ầu hết các phương pháp heuristic được công bố ầ g n đây cho bài toán VRPTW đều gồm hai giai đoạn.Giai đoạn đầu tiên, một heuristic xây dựng lộ trình được sử ụ d 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ựng l ộ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ần tự(chỉ ộ m t lộ trình xây d ng tự ại một thờ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ộ trình được xây dựng tại một thờ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ặp cải thiện lộtrình được áp dụng trên l i gi i kh i tờ ả ở ạ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 ể cho các heuristic c i thiả ện lộ trình trong giai đo n này như ạ thuật toán luyện kim[5][16], thuật toán di truyền[5][16], tìm ki m Tabu[21]ế , thuật toán đàn kiến[12]. Các thuật toán này lần lượt s ẽ được giới thiệu ởcác phần sau.
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 Edward K. Baker và Joanne R. Schaffer [9] năm 1986. Thuật toán của họ m rở ộng heuristic tiết kiệm (Savings heuristic) của Clark and Wright[10]. Thuật toán bắt đầu vớ ấ ải t t c các lộ trình khách hàng đơn có thể (kho i – kho). – Trong mỗi bước l p, thuặ ật toán tính đểtìm ra hai l trình có thộ ể ế k t hợp sao cho tiế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[1] cũng phát triển mộ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ụng các cửa sổthời gian được sắp theo thứ ự để đo đạ t t mức đ ốộ t 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[1], ba heuristic chèn đã đượ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 f1 . Sau đó,
khách hàng tốt nhất được chọn bởi một hàm f2. 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ộ ộtrình được lập tại m t thộ ời điểm, các lộtrình được t o ra càng trạ ễ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) phân tán rộng trên vùng địa lý. Potvin và Rousseau[8] c gố ắng khắc ph c hụ ạ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
khách hàng chưa được sắ ộp l trình. Trong m i vòng lỗ ặp sau, khách hàng đượ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ộ trình. Khách hàng gần nhất này được chèn vào cu i l trình hiố ộ ện tại. Khi quá trình tìm kiếm khách hàng g n nhầ ất này không cho kết quả nào thì m t lộ ộ
trình mới được bắ ầt đ u. Ngoài ra, Solomon cũng đưa ra phương pháp lập lộ trình GTH (Giant Tour Heuristic) theo nguyên t- ắc đầu tiên lập lộtrình, sau đó lập lịch. Một heuristic khác là heuristic TOSH (Time Oriented Sweep Heuristic) - gồ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. Rõ ràng, việc lậ ộp l trình trong một phân nhóm trở
thành bài toán lập lộ trình TSP v i hớ ạn chế thời gian.
2.4.2.3 Heuristic cải thiện lộ trình
a. Thuật toánTìm kiếm cục bộ với λλλλλ-trao đổi
Thangiah cùng các cộng sự[5] đã phát triển phương pháp λ-trao đổ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ộ ệ thống giữa các lộ trình. Các tác giả đã đ nh nghĩa ị
các toán tử -λ trao đ i. Thưổ ờng các toán tử 1-trao đổi và 2-trao đ i đưổ ợc sử ụ d ng, tức là cho phép 1 hoặc 2 khách hàng được chèn vào hoặc chuyển đổi t i m t thạ ộ ời
điểm. Năm 1999, Tan và các cộng sự[16] trong các nghiên c u vứ ềcác phương pháp 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ến lược[16]được áp dụ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ọn ra một lời giải có chi phí giảm lớn nhất theo một hàm chi phí đã cho.
Chiến lược t t nh t toàn cố ấ ục thường cho các k t quế ả ố t t hơn chi n lưế ợc t t nhố ấ ầt đ u tiên b i vì ở nó ghi nhận lạ ấ ải t t c các di chuyển có cải ti , tuy nhiên thến ời gian tính toán lại lâu hơn.
Kết quả ủ c 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ất cứ di chuyển nào tốt hơn được phát hiện, thuật toán sẽ ế k t thúc sau một số ầ l n lặp. Do đó, LSD bị ạ h n chế trong mộ ốt t 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ánluyện kim
K ỹ thuật mô phỏng luyện kim được công bố ở b i Metropolis và các cộng sự năm
1953 xuất phát từý tưởng mô phỏng quá trình luyện kim loại. Kim loạ ượi đ c nung
cho đến khi nóng chảy rồi sau đó được làm ngu i dộ ần. Quá trình làm nguộ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ật toán luyệ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ể ộ h i tụ ầ d n tới 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 được ch n, bên c nh ọ ạ đó, các bước chuy n xể ấu hơn s đưẽ ợc ch p nh n khi xem ấ ậ
xét xác su t chuyấ ển đổi.
Osman[33] năm 1993 đã áp dụng thuật toán luyện kim để giả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 ềmeta heuristic cho VRPTW - của Tan và các cộng sự[16].
c. Thuật toándi truyền
Thuật toán di truyền là phương pháp tìm kiếm heuristic có tính thích nghi, dựa theo quá trình tiến hóa c a sinh vủ ật thông qua chọn lọ ực t nhiên. Các khái niệm cơ bản
được phát tri n bể ởi Holland[35] năm 1975. Thuật toán làm vi c d a trên s k t h p ệ ự ự ế ợ
các thao tác chọn l cọ , sinh sản và đột biến. Thao tác chọn phải hướng quần thể đế n các l i gi i tờ ả ốt hơn, trong khi đó, thao tác tái tổ ợ h p sử ụ d ng các gene c a các cha ủ
m ẹ được chọn để sản sinh ra các cá thểcon cho thế ệ h tiếp theo. Toán tử đột biến
đượ ử ục s d ng để thoát kh i các tỏ ối ưu cục b . ộ
Blanton và Wainwright[2] (năm 1993 đầ) u tiên áp dụng thuật toán di truyền cho bài toán VRPTW. Theo đó, họđã kết hợp thuật toán di truyền với thu t toán heuristic ậ
tham lam. Thuật toán di truyền được sử ụ d ng để tìm kiếm cách sắp xếp tốt các 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ể con được t o ra bạ ằng cách kế ốt n i hai phân đoạn lộ trình t hai l i giừ ờ ải cha mẹ hoặc b ng cách thay thằ ế ộ l trình của lời gi i cha mả ẹ này b ng lằ ộ trình của cha mẹ kia. Sau đó, toán tử đột biến được sử ụ d ng đểrút 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 ra khỏi lộ trình c a hủ ọvà sau đó lập lịch lại v i các ớ thuật toán heuristic xây dựng lộ trình n i tiổ ếng. Braysy[23][24] tiếp tục nghiên cứu của Berger với việc phân tích tính nh y cạ ảm (sensitivity) và định nghĩa mới các thao tác
trao đ i chéo và đổ ột bi n. ế
Homberger và Gehring[36] năm 1999 đưa ra hai meta-heuristic tiến hóa dựa trên các thu t toán tiậ ến hóa được g i là các chiọ ến lược ti n hóa và các ế k ỹ thuậ ảt c i tiế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
đượ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ựng lộtrình và tìm kiếm cục bộ ừ t các nghiên cứu của Solomon và Taillard.
Năm 2004, Beatrice Ombuki[13] và các cộ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 ể ễ thành bài toán
đa mục tiêu: số xe và t ng chi phí (khoổ ảng cách) và áp dụng thuật toán i truy d ền với k ỹ thuật xếp hạng Pareto. Kết quảthuật toán đ t đưạ ợc rất khảquan khi so sánh với các k t quế ả ố t t nhất được công bố ủ c a t p bậ enchmark 100khách hàng của Solomon.
d. Thuật toántìm kiếm Tabu
Tìm kiếm Tabu được đề xuất b i Gloverở [21] năm 1989. 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ữ ộ ển hoặc các lờ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
đượ ử ục s d ng để 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 ại. Thuật toán tìm kiếm Tabu kết thúc sau khi đạt được số vòng l p cặ ố đị nh cho
trước.
Nhiều nghiên c u ứ đã thực hiện nhằm áp dụng Tìm kiế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ừ ộ l trình này đến lộtrình khác. Osman[33] và Talliard cũng đã sử ụ d ng vùng lân cận bao gồm tất cả các lời giải thu được t thao tác chèn mừ ột khách hàng và chuyển đổi hai khách hàng.Tuy nhiên, đố ới v i bài toán VRPTW, các nghiên cứu áp 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 kiếm Tabu cho VRPTW nhưng với m c tiêu chính là tụ ối ưu số xe vận chuyển thay vì tối ưu tổng chi phí. Năm 1999, Tan và các cộng sự[16] đã áp dụng Tìm ki m Tabu cho bài toán VRPTW vế ới nhiều điểm mới như s dử ụng 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
(frequency) và tính gần đây (recency)và sử ụ d ng đ y đầ ủcác chiế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 System – ACS) được tìm thấy trong các nghiên cứu của Gambardella[38] và Dorigo[39] t ừ năm 1996. ốT i ưu đàn kiến (Ant Colony Optimization – ACO) là một phương pháp meta-heuristic xuất phát từ vi c khám ệ
phá hành vi của các đàn kiến trong thếgiới th t.ậ Ý tưởng cơ bản của ACO là m t hộ ệ
thống rất nhiều agent nhân tạo có thể liên l c vạ ới nhau ở ứ m c thấp đểxây dựng các lời giải t t ố cho các bài toán tối ưu tổ hợp khó.
Trong thế giới th t, các con kiậ ến hợp tác với nhau tìm kiếm thức ăn bằng cách để ạ l i các dấu vết hóa học trên mặt đường Hi. ện tượng này gọi là pheromone. Tương tự như thế, m t ộ đàn kiến nhân t o ạ được xây dựng để mô ph ng hành vi này. ỏ Theo đó,
các con kiến nhân tạo hợp tác với nhau bằng cách sử ụ d 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ới vai trò xây dựng các lời giải bằng cách sử ụ d ng