Nghiên cứu bài toán định tuyến xe, ứng dụng trong tối ưu hóa thu gom rác thải đô thị (LV thạc sĩ)Nghiên cứu bài toán định tuyến xe, ứng dụng trong tối ưu hóa thu gom rác thải đô thị (LV thạc sĩ)Nghiên cứu bài toán định tuyến xe, ứng dụng trong tối ưu hóa thu gom rác thải đô thị (LV thạc sĩ)Nghiên cứu bài toán định tuyến xe, ứng dụng trong tối ưu hóa thu gom rác thải đô thị (LV thạc sĩ)Nghiên cứu bài toán định tuyến xe, ứng dụng trong tối ưu hóa thu gom rác thải đô thị (LV thạc sĩ)Nghiên cứu bài toán định tuyến xe, ứng dụng trong tối ưu hóa thu gom rác thải đô thị (LV thạc sĩ)Nghiên cứu bài toán định tuyến xe, ứng dụng trong tối ưu hóa thu gom rác thải đô thị (LV thạc sĩ)Nghiên cứu bài toán định tuyến xe, ứng dụng trong tối ưu hóa thu gom rác thải đô thị (LV thạc sĩ)Nghiên cứu bài toán định tuyến xe, ứng dụng trong tối ưu hóa thu gom rác thải đô thị (LV thạc sĩ)Nghiên cứu bài toán định tuyến xe, ứng dụng trong tối ưu hóa thu gom rác thải đô thị (LV thạc sĩ)Nghiên cứu bài toán định tuyến xe, ứng dụng trong tối ưu hóa thu gom rác thải đô thị (LV thạc sĩ)
Trang 3ứng dụng trong tối ưu hóa thu gom rác thải đô thị” lời đầu tiên tôi xin gửi cám ơn sâu sắc nhất tới TS Nguyễn Trọng Khánh đã hướng dẫn và chỉ bảo tôi tận tình trong suốt thời gian làm khóa luận
Tôi xin chân thành cảm ơn Ban giám hiệu nhà trường, các thầy cô giáo Trường Học viện Công nghệ Bưu chính Viễn thông, các giảng viên đã truyền đạt cho tôi những kiến thức, kỹ năng, tạo mọi điều kiện giúp đỡ, động viên, chia sẻ để tôi hoàn thành bản luận văn này Ngoài ra tôi cũng xin cảm ơn chương trình hỗ trợ
đề tài nghiên cứu khoa học của Dự án hợp tác Đại học thể chế giữa Học viện Nông nghiệp Việt Nam và Hội đồng liên đại học Pháp ngữ vương quốc Bỉ đã hỗ trợ tôi thực hiện luận văn này
Bản luận văn chắc chắn còn nhiều thiết sót, rất mong được các thầy cô giáo trong hội đồng chấm luận văn xem xét, góp ý kiến để luận văn được hoàn thiện hơn
Tôi xin chân thành cảm ơn!
Hà nội, tháng năm 2016
HỌC VIÊN
Hứa Mạnh Tuyển
Trang 4đã làm luận văn này một cách nghiêm túc và hoàn toàn trung thực Trong luận văn, tôi có sử dụng tài liệu tham khảo của một số tác giả, tôi đã nêu trong phần tài liệu tham khảo ở cuối luận văn Tôi xin cam đoan và chịu trách nhiệm về nội dung, sự
trung thực trong luận văn tốt nghiệp Thạc sĩ của mình
Hà nội, tháng năm 2016
HỌC VIÊN
Hứa Mạnh Tuyển
Trang 5MỤC LỤC
LỜI CẢM ƠN 1
LỜI CAM ĐOAN 2
MỤC LỤC 1
DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT 3
DANH MỤC CÁC BẢNG 4
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ 5
MỞ ĐẦU 6
CHƯƠNG 1 GIỚI THIỆU VỀ BÀI TOÁN ĐỊNH TUYẾN XE 7
1.1 Tổng quan về lĩnh vực tối ưu hóa tổng hợp 7
1.2 Bài toán định tuyến xe và một số biến thể 7
1.3 Một số giải thuật áp dụng cho bài toán VRP 12
1.3.1 Giải thuật láng giềng gần nhất 13
1.3.2 Giải thuật tìm kiếm cục bộ 16
1.3.3 Giải thuật tối ưu hóa đàn kiến ACO 18
1.4 Kết luận 29
CHƯƠNG 2 ĐỊNH TUYẾN XE TRONG TỐI ƯU HÓA THU GOM RÁC THẢI ĐÔ THỊ 30
2.1 Phát biểu bài toán 30
2.2 Hàm mục tiêu 33
2.3 Đề xuất giải pháp 34
2.3.1 Giải thuật 35
2.3.2 Thực nghiệm bằng mô hình đa tác tử 42
2.4 Kết luận 44
CHƯƠNG 3 TỐI ƯU HÓA THU GOM RÁC THẢI THÀNH PHỐ HÀ GIANG 45
3.1 Hệ thống thu gom rác thải Thành phố Hà Giang 46
3.2 Tối ưu hóa thu gom rác thải tại thành phố Hà Giang 50
3.2.1 Lộ trình tối ưu 52
Trang 63.2.2 Thí nghiệm với mô hình đa tác tử 52
3.2.3 Kết quả và đánh giá 53
3.3 Mô hình hệ thống tối ưu thu gom rác thải mở rộng 57
3.4 Kết luận 61
CHƯƠNG 4 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 62
TÀI LIỆU THAM KHẢO 63
PHỤ LỤC LUẬN VĂN 68
Trang 7DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT
CSP Covering Salesman Problem Bài toán người bán hàng bao trùm
CVRP Capacity-constrained VRPs Bài toán định tuyến phương tiện với
ràng buộc về năng lực chuyên chở
DVRP Time- or distance-constrained
VRPs
Bài toán định tuyến phương tiện với ràng buộc về thời gian hoặc khoảng cách
Salesman Problem
Bài toán người bán hàng bao trùm tổng quát
OVRP Open Vehicle Routing Problem Bài toán định tuyến phương tiện mở
S-ACO Simple Ant Colony Optimize Giải thuật tối ưu hóa đàn kiến đơn
giản
SVRP Split Vehicle Routing Problem Bài toán định tuyến phương tiện chia
tách TSP Traveling Salesman Problem Bài toán người bán hàng
VRP Vehicle Routing Problem Bài toán định tuyến phương tiện
Trang 8DANH MỤC CÁC BẢNG
Bảng 2.5 Giải thuật tính toán tỉ lệ phụ thuộc mùi và khoảng cách 42 Bảng 2.6 Giải thuật cập nhật lại mùi kiến trên các cung đường 42
Trang 9DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 1.2 Ví dụ thực thi giải thuật láng giềng gần nhất cho bài toán
Hình 1.3 (a) Ví dụ một trạng thái của bài toán người bán hàng (b) Một
Hình 1.4 Thí nghiệm chiếc cầu đôi (a) Hai nhánh có kích thước bằng
Hình 1.6 Đồ thị tương ứng với mô hình trong thí nghiệm chiếc cầu đôi 24 Hình 1.7 Các con kiến xây dựng các giải pháp để tìm đường đi từ tổ
Hình 3.2 Bản đồ số các điểm tập kết rác và bãi rác của thành phố Hà
Hình 3.6 Mô phỏng hệ thống hỗ trợ quản lý thu gom vận chuyển rác
Trang 10MỞ ĐẦU
Bài toán định tuyến phương tiện (Vehicle Routing Problem – VRP) đã xuất hiện trên thế giới từ khá lâu trong hàng thập niên và có nhiều biến thể khác nhau tùy thuộc vào từng kịch bản nội dung cụ thể Vận chuyển rác thải có thể coi như một bài toán định tuyến tìm đường đi có chi phí thấp nhất đi qua các điểm tập kết rác, nhằm giảm tổng chi phí quản lý thu gom, vận chuyển rác thải So với bài toán VRP
cổ điển, bài toán vận chuyển rác thải có thêm hai ràng buộc mới: (i) ràng buộc về trọng tải của các xe cuốn ép rác; và (ii) ràng buộc về thứ tự các điểm phải viếng thăm, cụ thể tất cả xe cuốn ép rác cần phải quay về điểm xử lý rác (bãi rác), trước khi quay về điểm xuất phát
Xe cuốn ép rác có sức chứa giới hạn, kết hợp với thể tích rác tại các điểm thu gom có thể thay đổi, do đó xảy ra trường hợp khi chỉ mới hoàn thành gom rác được một phần trên tuyến đường định sẵn thì xe cuốn ép rác đã đầy và phải thực hiện di chuyển tới điểm xử lý rác, sau đó xe cuốn ép rác tiếp tục di chuyển lại đến điểm thu gom tiếp theo trên lộ trình đã định sẵn Vấn đề này làm tăng quãng đường di chuyển của xe cuốn ép rác Nên có thể đường đi ngắn nhất, nhưng chưa hẳn là đường đi có chi phí tối ưu nhất
Do đó, dưới sự hướng dẫn của TS Nguyễn Trọng Khánh tôi tìm hiểu đề tài
“Nghiên cứu bài toán định tuyến xe, ứng dụng trong tối ưu hóa thu gom rác thải đô thị” Luận văn sẽ tập trung nghiên cứu các bài toán định tuyến xe, và biến thể của chúng Để từ đó áp dụng cho bài toán thu gom rác thải rắn đô thị, với 2 ràng buộc
cụ thể về giới hạn thể tích xe cuốn ép rác, và điểm kết thúc bắt buộc (điểm xử lý rác) trước khi quay lại điểm xuất phát Giải pháp đưa ra sẽ được áp dụng thử nghiệm cho việc thu gom rác thải tại thành phố Hà Giang
Trang 11CHƯƠNG 1 GIỚI THIỆU VỀ BÀI TOÁN ĐỊNH TUYẾN
XE 1.1 Tổng quan về lĩnh vực tối ưu hóa tổng hợp
Tối ưu hóa bản chất là một ngành Toán học và được ứng dụng hiệu quả trong nhiều ngành khác nhau Từ các lĩnh vực gần gũi với Toán học như Công nghệ thông tin, thiết kế chế tạo máy đến các lĩnh vực ít gần gũi hơn như quy hoạch tài nguyên, điều khiển tự động, quản trị kinh doanh, kiến trúc đô thị, … đều có rất nhiều ứng dụng, đặc biệt trong việc xây dựng hệ hỗ trợ ra quyết định và phát triển các hệ thống lớn Do đó, các lĩnh vực của tối ưu hóa ngày càng trở nên đa dạng Một cách tổng quát, bài toán được phát biểu như sau:
Cho trước một hàm 𝑓: 𝐴 → 𝑅 (từ tập A tới tập số thực R), tìm một phần tử x0thuộc A sao cho 𝑓(𝑥0) ≤ 𝑓(𝑥) với mọi x thuộc A (tìm cực tiểu hóa) hoặc sao cho 𝑓(𝑥0) ≥ 𝑓(𝑥) với mọi x thuộc A (tìm cự đại hóa)
Tối ưu hóa tổng hợp (Combinatorial optimization) quan tâm tới các bài toán
mà trong đó tập các lời giải khả thi là rời rạc hoặc có thể rút gọn về một tập rời rạc Trong toán học ứng dụng và lý thuyết khoa học máy tính, tối ưu hóa tổng hợp là một chủ đề về việc tìm kiếm một đối tượng tối ưu từ một tập hợp hữu hạn của các đối tượng Trong các bài toán tối ưu hóa tổng hợp, tìm kiếm tập lời giải đầy đủ nhiều khi không khả thi trong thời gian thực của cuộc sống, bằng cách khác, lĩnh vực tối ưu hóa tổng hợp quan tâm tới các bài toán mà phạm vi mà các lời giải khả thi là rời rạc hoặc có thể rút gọn về một tập rời rạc với mục tiêu là tìm ra lời giải tốt nhất Một số bài toán nổi tiếng trong lĩnh vực tối ưu hóa tổng hợp là bài toán người bán hàng (traveling salesman problem – TSP) và bài toán cây khung nhỏ nhất (minimum spanning tree problem - MST)
1.2 Bài toán định tuyến xe và một số biến thể
Để xem xét bài toán định tuyến xe (Vehicle Routing Problem – VRP) đầu tiên ta xem xét một trường hợp đặc biệt của nó, đó là bài toán người bán hàng (Traveling Salesman Problem –TSP) Bài toán người bán hàng (TSP) và một số
Trang 12biến thể của nó, như bài toán người bán hàng tổng quát GTSP (Generalized Traveling Salesman Problem), bài toán người bán hàng bao trùm CSP (Covering Salesman Problem), bài toán người bán hàng bao trùm tổng quát GCSP (Generalized Covering Salesman Problem) [8] là những bài toán thuộc lớp các bài toán NP-khó, thuộc thể loại tối ưu rời rạc hay tổng hợp được nghiên cứu trong lý thuyết tối ưu hoặc lý thuyết khoa học máy tính Bài toán được phát biểu như sau Có một người giao hàng cần đi giao hàng tại n thành phố Anh ta xuất phát từ một thành phố nào đó, đi qua các thành phố khác để giao hàng và trở về thành phố ban đầu Mỗi thành phố chỉ đến một lần, khoảng cách từ một thành phố đến các thành phố khác đã được biết trước Hãy tìm một chu trình (một đường đi khép kín thỏa mãn điều kiện trên) sao cho tổng độ dài các cạnh của chu trình là nhỏ nhất Bài toán được nêu ra lần đầu tiên năm 1930 và là một trong những bài toán được nghiên cứu sau nhất trong tối ưu hóa Nó thường được dùng làm thước đo cho nhiều phương pháp tối ưu hóa Mặc dù bài toán rất khó giải trong trường hợp tổng quát, có nhiều phương pháp giải chính xác cũng như các phương pháp heuristic đã được tìm ra để giải quyết một số trường hợp có rất nhiều thành phố, lên tới hàng chục ngàn Ngay trong hình thái đơn giản nhất của bài toán, bài toán người bán hàng đã có nhiều ứng dụng trong công tác lập kế hoạch, thiết kế vi mạch, … Theo các lý thuyết về độ phức tạp tính toán, bài toán người bán hàng với phiên bản cơ bản nhất là tìm chu trình đi qua tất cả các đỉnh đúng một lần và có độ dài nhỏ hơn L cho trước thuộc lớp NP-đầy đủ Bởi vậy, có rất nhiều khả năng thời gian tính toán xấu nhất của bất kỳ biến thể thuật toán người bán hàng nào đều tăng theo sấp số nhân cùng chiều với số lượng thành phố Bài toán người bán hàng có rất nhiều ứng dụng thực tế, thậm chí trong dạng thức nguyên thủy của nó cũng có rất nhiều ứng dụng như lập kế hoạch, lĩnh vực vận tải hàng hóa (logistic), sản xuất các bộ vi xử lý, bảng mạch, … Thay đổi một chút, bài toán người bán hàng hay xuất hiện dưới dạng thức như là một bài toán con trong rất nhiều lĩnh vực như việc phân tích gen trong sinh học Trong những ứng dụng này, khái niệm thành phố có thể thay đổi thành các đối tượng khác, như các điểm hàn trên bảng mạch, các mảng DNA trong GEN, và khái niệm khoảng
Trang 13cách có thể biểu diễn bởi thời gian du lịch hay giá thành, hay giống như sự so sánh giữa các mảng DNA với nhau Trong nhiều ứng dụng, các hạn chế truyền thống như giới hạn tài nguyên hay giới hạn thời gian còn làm cho bài toán trở nên khó hơn
Bài toán người bán hàng tổng quát (Generalized Traveling Salesman Problem - GTSP) được biết đến như một biến thể của bài toán người bán hàng TSP Cũng như trong TSP, ta xem xét n thành phố và khoảng cách giữa n thành phố biết trước Biến thể GTSP có đôi chút khác biệt là tập hợp n thành phố được phân chia thành m cụm các thành phố Một giải pháp tối ưu GTSP là tìm chu trình có khoảng cách nhỏ nhất mà người bán hàng chỉ thăm đúng một nút của mỗi cụm Bài toán GTSP có nhiều ứng dụng thực tế như định tuyến máy bay, giao thư, định tuyến phương tiện, tổ chức tập tin trong máy tính, … Tìm kiếm các giải pháp hiệu quả đối với các bài toán GTSP tổng hợp được coi là rất quan trọng trong nhiều ngành, đặc biệt là các tổ chức luôn phải cân nhắc tới vấn đề về chi phí vận chuyển do giá nhiên liệu tăng cao
Bài toán người bán hàng bao trùm (Covering Salesman Problem - CSP) là một biến thể của bài toán TSP Trong bài toán CSP mục tiêu là tìm kiếm chu trình
có chiều dài nhỏ nhất của một tập con của n thành phố, mà sao cho mỗi nút không nằm trong chu trình thì nằm trong một khoảng cách giới hạn đã được định nghĩa trước d từ một thành phố bất kỳ thuộc chu trình Ví dụ trong hình sau đây mô tả rõ hơn bài toán CSP, ô vuông viền màu đen đậm là kho hàng, các ô vuông màu trắng
là các cơ sở bán hàng, các hình tròn nhỏ là khách hàng Đối với bài toán TSP, ta phải tìm chu trình có chiều dài nhỏ nhất đi qua tất cả các khách hàng, đối với bài toán CSP, ta tìm chu trình nhỏ nhất đi qua tất cả các cơ sở bán hàng, các khách hàng
mà nằm trong phạm vi bán kính di của cơ sở bán hàng i thì ta không quan tâm nữa,
do đó độ khó của bài toán CSP được giảm xuống so với bài toán TSP
Trang 14Hình 1.1 Ví dụ bài toán người bán hàng bao trùm CSP
Bài toán người bán hàng bao trùm tổng quát (Generalized Covering Salesman Problem – GCSP) Tương tự bài toán CSP, tuy nhiên mỗi thành phố i cần phải viếng thăm ít nhất ki lần, và đó là một chi phí tương ứng với mỗi thành phố được viếng thăm Ta cần tìm kiếm một lộ trình có chi phí nhỏ nhất mà mỗi thành phố i được viếng thăm ít nhất ki lần Bài toán GCSP cũng có một số thể thức phổ biến được đề cập, thể thức đầu tiên, mỗi thành phố chỉ được viếng thăm một lần, thể thức thứ hai, mỗi thành phố được viếng thăm hơn một lần nhưng không được phép ở lại
“qua đêm” (có nghĩa là để viếng thăm lại một thành phố thì phải đến một thành phố khác trước khi trở về thành phố này), thể thức thứ 3 có thể viếng thăm mỗi thành phố nhiều hơn một lần một cách dồn dập (không cần tới thành phố khác trước khi quay trở lại thành phố này)
Trang 15Theo lý thuyết toán học của độ phức tạp tính toán, phiên bản chính của bài toán người bán hàng (ràng buộc độ dài chu trình nhỏ hơn số L cho trước) thuộc lớp NP-đầy đủ Vì vậy, không có lời giải hiệu quả nào cho việc giải bài toán người bán hàng Hay nói cách khác, giống như thời gian thực thi thuật toán xấu nhất cho bất
kỳ bài toán người bán hàng nào cũng tăng theo hàm mũ cùng mới số lượng thành phố, vì vậy trong nhiều trường hợp chỉ với vài trăm thành phố cũng đã mất tới vài trăm năm CPU để tìm lời giải một cách chính xác
Bài toán định tuyến phương tiện (The Vehicle Routing Problem - VRP) là bài toán tối ưu hóa tuyến đường đi giao hàng hoặc tối ưu hóa tuyến đường đi thu thập từ một hoặc nhiều vị trí xuất phát (kho) đến một số thành phố hoặc khách hàng nằm rải rác trên bản đồ địa lý với một số ràng buộc kèm theo Bài toán VRP đóng vai trò quan trọng trong lĩnh vực phân phối hoặc vận chuyển hàng hóa (logistics) Tồn tại một loạt các bài toán VRP và những nghiên cứu lớn trong phân lớp của bài toán
Ta gọi đồ thị G=(V,A) là một đồ thị với V={1,…,n} là tập hợp các đỉnh biểu diễn các thành phố với các kho đặt ở đỉnh số 1, và A là tập hợp các cạnh, là các cung đường kết nối các thành phố Các cạnh (𝑖, 𝑗) ∀𝑖 ≠ 𝑗 được liên kết với một ma trận C = (cij) Trong một số hoàn cảnh, cij có thể được coi như là chi phí viếng thăm (travel cost) hoặc thời gian viếng thăm (travel time) Khi ma trận C đối xứng, ta có thể thay thế tập cạnh A bởi một tập các cạnh vô hướng E Thêm vào đó, giả sử có m
xe có sẵn ở kho, trong đó mL<=m<=mU Khi mL= mU, m được gọi là cố định, khi
mL=1 và mU=n-1 thì m được gọi là tự do Khi m không cố định, bài toán thường liên quan tới chi phí cố định f để sử dụng một chiếc xe Để cho đơn giản, giả định tất cả các phương tiện là giống hệt nhau và có cùng thể tích (tải trọng) chuyên chở D
Bài toán VRP sẽ thực hiện tìm kiếm các tuyến đường để các phương tiện di chuyển với chi phí thấp nhất mà:
i) Mỗi thành phố trong V\{1} được đi qua đúng một lần bởi đúng một phương tiện
Trang 16ii) Tất cả các tuyến đường xuất phát từ kho (tại thành khố 1) và kết thúc cũng
ở kho Có một số biến thể, ví dụ OVRP (Open Vehicle Routing Problem) phương tiện không nhất thiết phải quay về kho (điểm xuất phát)
iii) Một số ràng buộc khác được thỏa mãn
Thông thường có một số các ràng buộc phổ biến khác như sau:
i) Ràng buộc về trọng lượng, thể tích: một trọng lượng, thể tích không âm diđược đính kèm vào mỗi thành phố i>1 và tổng trọng lượng, thể tích của bất kỳ tuyến đường nào cũng không vượt quá khả năng chuyên chở của xe Ràng buộc về trọng lượng, thể tích tạo nên biến thể của VRP là CVRP (Capacity-constrained VRPs)
ii) Số lượng của các thành phố trên bất kỳ tuyến đường nào đều được chặn trên bởi q (đó là trường hợp cụ thể của mục (i) với di =1 cho tất cả i>1 và D=q)
iii) Ràng buộc về tổng thời gian: độ dài của bất kỳ quãng đường nào cũng không vượt quá một số L; điều này đồng nghĩa với việc tổng thời gian di chuyển cij
và thời gian dừng lại δi tại mỗi thành phố i trên đường đi không vượt quá một ngưỡng thời gian cho trước Bài toán VRP với ràng buộc về thời gian hoặc khoảng cách tạo nên biến thể DVRP (Time- or distance-constrained VRPs)
iv) Cửa sổ thời gian: mỗi thành phố i phải được viếng thăm trong vòng một khoảng thời gian [ai,bi] và tại thành phố i được phép chờ đợi
v) Mối quan hệ ưu tiên giữa các cặp của thành phố: thành phố i phải được viếng thăm trước thành phố j
Lưu ý, danh sách các ràng buộc bên trên không có tính chất đầy đủ
1.3 Một số giải thuật áp dụng cho bài toán VRP
Các giải thuật được sử dụng để giải quyết bài toán VRP thông thường được phân chia thành hai nhóm chính, nhóm các giải thuật chính xác (exact algorithms)
và nhóm các giải thuật heuristic (heuristic algorithms)
Đối với phân nhóm các giải thuật chính xác được sử dụng để giải quyết các bài toán VRP thông thường được phân chia thành ba loại chính: (i) các phương pháp tìm kiếm trực tiếp trên cây (direct tree search methods); (ii) lập trình động
Trang 17(dynamic programming) và (iii) lập trình tuyến tính số nguyên (integer linear programming) Số lượng các thuật toán thực tế được giới thiệu rất nhiều, trong phạm vi của luận văn chủ yếu thực hiện tập trung vào các giải thuật heuristic
Các giải thuật heuristic được sử dụng để giải quyết bài toán VRP thường được bắt nguồn từ các giải thuật heuristic được sử dụng để giải quyết các bài toán TSP Thuật toán tìm kiếm láng giềng gần nhất, thuật toán “chèn thêm” có thể sử dụng để giải quyết CVRP và DVRP mà không cần phải sửa đổi nhiều Tuy nhiên, khi áp dụng những phương pháp này cho VRP phải đảm bảo các tuyến đường cho
xe phải khả thi
1.3.1 Giải thuật láng giềng gần nhất
Thuật toán Láng giềng gần nhất là một trong những thuật toán đầu tiên được dùng để tìm lời giải cho bài toán người bán hàng, và thường cho kết quả chênh lệch trong phạm vi 20% so với đường đi tối ưu Nó chạy nhanh hơn rất nhiều so với việc kiểm tra mọi tuyến đường và một số thuật toán khác
Thuật toán được mô tả như sau:
Thứ tự mà các nút được đi qua chính là kết quả của thuật toán.
Thuật toán láng giềng gần nhất dễ cài đặt và chạy nhanh, nhưng đôi khi nó
có thể bỏ qua các tuyến đường ngắn hơn mà mắt thường dễ nhận ra Kết quả của thuật toán này cần được kiểm tra trước khi sử dụng để phòng trường hợp một tuyến đường ngắn hơn bị bỏ qua
Trang 18Trong trường hợp xấu nhất, thuật toán này có thể tính toán ra các tuyến đường dài gấp r lần tuyến đường tối ưu Trong đó, r là một tỷ lệ tùy ý, nghĩa là, với mỗi hằng số r, tồn tại một bài toán người bán hàng sao cho độ dài của tuyến đường
là kết quả của thuật toán láng giềng gần nhất lớn hơn hoặc bằng r lần độ dài tuyến đường tối ưu
Hình ảnh sau thể hiện việc thực thi giải thuật láng giềng gần nhất cho bài toán người bán hàng
Xuất phát từ nút A, tìm đường đi ngắn nhất tới nút G
Láng giềng gần nhất B được chọn
Trang 201.3.2 Giải thuật tìm kiếm cục bộ
Trong khoa học máy tính, giải thuật leo đồi (Hill Climbing) là một kỹ thuật tối ưu toán học thuộc họ tìm kiếm cục bộ (Local Search) Nó thực hiện tìm một trạng thái tốt hơn trạng thái hiện tại để mở rộng Để biết trạng thái tiếp theo nào là tốt hơn (lớn hơn hoặc nhỏ hơn), nó dùng một hàm H để xác định trạng thái nào là tốt nhất
Thuật toán leo đồi dễ dàng tìm thấy một giải pháp tốt cục bộ (local optimum) nhưng khó tìm thấy giải pháp tốt nhất (global optinum) trong tất cả các giải pháp được đưa ra (search space) Thuật toán leo đồi phù hợp để giải các bài toán có biểu
đồ lồi (convex) như là tìm kiếm đơn giản (simplex programming) trong lập trình tuyến tính, tìm kiếm nhị phân
Tính đơn dơn giản của giải thuật khiến nó trở thành lựa chọn đầu tiên trong
số các giải thuật tối ưu Nó được sử dụng rất nhiều trong trí tuệ nhân tạo, dùng cho mục đích đi đến trạng thái đích từ một node bắt đầu Việc chọn node tiếp theo và node bắt đầu có thể thay đổi nhiều giải thuật khác nhau
Trong khoa học máy tính, tìm kiếm cục bộ là một phương pháp heuristic để giải quyết các bài toán tối ưu khó Tìm kiếm cục bộ có thể sử dụng trong các bài toán mà có thể được tính bằng cách tìm một giải pháp tối đa hóa một tiêu chí nào đó trong số các giải pháp được đưa ra Giải thuật tìm kiếm cục bộ chuyển từ giải pháp này đến giải pháp khác trong không gian các giải pháp được đưa ra (không gian tìm kiếm) bằng cách áp dụng những thay đổi cục bộ cho đến khi một giải pháp được coi
là tối ưu được tìm thấy hoặc thời gian giới hạn trôi qua
Tìm kiếm cụ bộ được áp dụng trong rất nhiều bài toán khác nhau, bao gồm các bài toán trong khoa học máy tính, toán học, tìm kiếm tối ưu, kỹ thuật xây dựng, sinh học Ví dụ bài toán người du lịch (Traveling Salesman Problem - TSP), bài toán định tuyến phương tiện (Vehicle Routing Problem - VRP)
Giải thuật leo đồi được thể hiện như sau:
Input: bài toán tối ưu tổng hợp
Output: Trạng thái với hàm mục tiêu lớn nhất (hoặc cực đại địa phương)
Trang 21Giải thuật:
1 𝑥 = trạng thái ngẫu nhiên được lựa chọn
2 𝑌 = tập trạng thái hàng xóm của 𝑥
3 If ∀yi 𝜖𝑌: 𝐻𝑎𝑚𝑀𝑢𝑐𝑇𝑖𝑒𝑢(y i) < 𝐻𝑎𝑚𝑀𝑢𝑐𝑇𝑖𝑒𝑢(𝑥) then
Exit and return 𝑥
4 x ← y i , trong đó 𝑖 = 𝐴𝑟𝑔𝑀𝑎𝑥 𝑖 (𝐻𝑎𝑚𝑀𝑢𝑐𝑇𝑖𝑒𝑢(𝑦 𝑖 ))
5 Trở lại bước 2
Trong đó 𝐻𝑎𝑚𝑀𝑢𝑐𝑇𝑖𝑒𝑢(𝑥) là hàm mục tiêu.
Một số đặc điểm của thuật toán leo đồi:
- Đơn giản, dễ lập trình Khi lập trình không cần sử dụng các cấu trúc dữ liệu
để biểu diễn các nút, nhớ tập biên
- Như các giải thuật tìm kiếm cục bộ khác, leo đồi sử dụng ít bộ nhớ do không phải lưu lại các trạng thái Tại mỗi thời điểm, thuật toán chỉ cần lưu lại trạng thái hiện thời và một tráng thái láng giềng
- Dễ gặp lời giải tối ưu cục bộ
Khi thiết kế thuật toán leo đồi với cách chuyển động sang trạng thái láng giềng tốt nhất, việc lựa chọn chuyển động rất quan trọng Nếu nhiều chuyển động,
từ trạng thái hiện thời có thể sinh ra nhiều láng giềng Do thuật toán cần so sánh tất các láng giềng để tìm ra trạng thái tốt nhất, mỗi bước của vòng lặp sẽ đòi hỏi nhiều thời gian do phải tính hàm mục tiêu cho tất cả láng giềng Ngược lại, nếu sinh ra tập láng giềng nhỏ sẽ dễ dẫn tới cực trị địa phương
Ví dụ minh họa áp dụng giải thuật leo đồi cho bài toán người bán hàng Cho một đồ thị n nút, trong đó hai nút bất kỳ được kết nối với nhau bằng một cung Cần tìm đường đi xuất phát từ một nút, qua tất cả các nút khác đúng một lần và quay về nút xuất phát sao cho độ dài đường đi là nhỏ nhất Bài toán này mô phỏng trường hợp một người bán hàng cần đi qua tất cả các thành phố đúng một lần và quay về nơi xuất phát với chi phí nhỏ nhất
Trạng thái: Mỗi trạng thái là một chu trình Hamilton, tức là chu trình qua các đỉnh đúng một lần
Hàm mục tiêu: Là độ dài của chu trình Hamilton Cần tìm trạng thái có hàm mục tiêu nhỏ nhất
Trang 22Chuyển động: Chuyển động theo quy luật thay đổi k cung, k=2,3,4, … Ví dụ với k bằng 2, từ trạng thái hiện thời lấy ra 2 cung không liền nhau, bỏ hai cung đó
và nối nút đầu cung này với nút cuối cung kia để tạo ra 2 cung mới Với mỗi cặp cung như vậy ta được một láng giềng mới của trạng thái hiện thời Trong ví dụ dưới đây, bằng cách thay đổi 2 cung, ta có thể tạo ra 5 láng giềng cho mỗi trạng thái
Hình 1.3 (a) Ví dụ một trạng thái của bài toán người bán hàng (b) Một
số láng giềng sinh ra sau khi thay đổi 2 cung
1.3.3 Giải thuật tối ưu hóa đàn kiến ACO
Tối ưu hóa đàn kiến ACO (Ant Colony Optimization) lần đầu tiên được Marco Dorigo giới thiệu vào năm 1992, tối ưu hóa đàn kiến ACO còn được gọi dưới một tên khác là Hệ thống đàn kiến (Ant System - AS) Tối ưu hóa đàn kiến ban đầu được áp dụng cho bài toán người bán hàng (TSP) [16]
Trang 23Trong tự nhiên, từ sự cảm nhận một cách trực quan thì loài kiến được xem như là mù hoàn toàn và hành động của chúng mang tính chất mò mẫm Một kết quả nghiên cứu hết sức quan trọng sớm được công nhận là mọi hành vi của đàn kiến như: quá trình trao đổi thông tin giữa các con kiến với nhau hoặc giữa các con kiến với môi trường bên ngoài đều dựa trên việc sử dụng một chất dịch được chính mỗi con kiến tạo ra Hóa chất có mùi này được gọi là Pheromones [16], [18]
Theo phản xạ tự nhiên, trong quá trình di chuyển các con kiến đi đến đâu sẽ
tự động tiết một chất dịch có mùi được gọi là pheromones ra đến đó Tại mỗi vị trí
di chuyển, một con kiến sẽ quyết định lựa chọn hướng đi dựa trên nồng độ chất pheromones của hướng đó, ưu tiên lựa chọn hướng có nồng độ chất pheromones cao hơn Trong trường hợp tại vị trí mà nồng độ chất pheromones bằng nhau hoặc nồng
độ chất pheromones là không có thì con kiến sẽ quyết định lựa chọn hướng đi một cách ngẫu nhiên Cứ như thế, các con kiến sẽ đi theo dấu chân của nhau và tạo nên
một con đường đi của cả đàn kiến mà ta thường quan sát thấy trong tự nhiên
a) Thí nghiệm chiếc cầu đôi
Hành vi đi kiếm ăn của đàn kiến được quan sát cụ thể trong thực tế; các loài kiến giao tiếp, trao đổi thông tin của kiến đều dựa trên một yếu tố trung gian đó là nồng độ pheromones [16], [18]
Trong quá trình di chuyển từ tổ đến nguồn thức ăn và ngước lại, chúng đã lưu lại dấu tích của nồng độ pheromones trên đường đi, từ đó hình thành nên một
“vết mùi pheromones” Các con kiến có thể ngửi mùi pheromones, chúng có xu hướng sẽ lựa chọn đường đi theo xác suất, đường đi này sẽ được đánh dấu dựa trên hướng đi nơi có nồng độ chất pheromones cao
Tác động của chất dịch pheromone tới hành vi của một số loài kiến đã được kiểm tra trong các thử nghiệm của một số nhà nghiên cứu Một trong những thí nghiệm nổi bật nhất là thí nghiệm chiếc cầu đôi được thiết kế bởi Deneubourg và các đồng nghiệp [16] Các tác giả đã tiến hành xây dựng một cây cầu kết nối tổ của đàn kiến với nguồn thức ăn của chúng Các nhà khoa học đã thử nghiệm với các tỉ
Trang 24lệ r = ll / ls giữa độ dài hai nhánh của cây cầu (trong đó ll là độ dài của nhánh dài và
ls là độ dài của nhánh ngắn hơn)
Trong lần thử nghiệm thứ nhất, tỉ lệ độ dài hai nhánh của cây cầu là r = 1 (ll
= ls) (Hình 1.4a) Ban đầu, thì các con kiến được lựa chọn được đi từ tổ đến nguồn
thức ăn và ngược lại một cách ngẫu nhiên và với cùng một xác suất Việc lựa chọn
một trong hai nhánh của cây cầu được quan sát cẩn thận theo thời gian Kết quả là:
mặc dù khi khởi hành các con kiến lựa chọn đường đi một cách ngẫu nhiên Sau đó
theo thời gian, tất cả các con kiến đều sử dụng chung một nhánh của cây cầu
Hình 1.4 Thí nghiệm chiếc cầu đôi (a) Hai nhánh có kích thước bằng
nhau, (b) Một nhánh có kích thước gấp đôi nhánh kia
Kết quả này được giải thích như sau:
Khi khởi hành, trên 2 nhánh của cây cầu đều chưa có pheromones Do đó,
các con kiến có thể chọn một trong các nhánh với cùng một xác suất Tuy nhiên, do
sự lựa chọn là ngẫu nhiên lên sau một thời gian số lượng kiến đi trên những các
nhánh sẽ khác nhau Bởi vì loài kiến sẽ ngửi chất pheromones trong khi di chuyển,
dần dần số lượng pheromones trên những nhánh cũng sẽ khác nhau theo thời gian,
điều này càng kích thích thêm đàn kiến sẽ lựa chọn nhánh có nồng độ chất
pheromones cao hơn, và như vậy đến một thời gian nào đó tất cả các con kiến sẽ hội
tụ về cùng một nhánh
Trong thí nghiệm thứ hai, tỷ lệ về độ dài giữa hai nhánh của cây cầu được
thiết lập là r = 2, do đó chiều đường đi của nhánh dài sẽ gấp 2 lần so với nhánh ngắn
Trang 25(Hình 1.bb) Trong trường hợp này, ở hầu hết các thử nghiệm thì sau một khoảng thời gian thì tất cả các con kiến chỉ lựa chọn đường đi ở nhánh ngắn hơn Trong thí nghiệm thứ hai, các con kiến rời khỏi tổ để khám phá môi trường xung quanh và đến một điểm quyết định, tại đó chúng phải lựa chọn một trong hai nhánh Vì lý do ban đầu hai nhánh của cây cầu đều xuất hiện như nhau trước lũ kiến nên chúng sẽ lựa chọn một cách ngẫu nhiên Vì thế, có thế dự kiến rằng, trung bình thì một nửa
số kiến sẽ chọn nhánh ngắn và nửa còn lại sẽ chọn nhánh dài, mặc dù các dao động ngẫu nhiên đôi khi có thể ưu tiên chọn một nhánh này hoặc nhánh khác
Khi đàn kiến hội tụ về một nhánh và xây dựng được một kết nối giữa tổ kiến
và nguồn thức ăn Ta quan sát hiện tượng trong một thí nghiệm mở rộng: khi khởi đầu chỉ có nhánh dài được đưa vào phạm vi đàn kiến di chuyển qua; sau 30 phút thì một nhánh ngắn hơn được thêm vào (Hình 1.5) Trong trường hợp này thì nhánh ngắn không được lựa chọn thường xuyên và đàn kiến hiện đang mắc trên nhánh dài Điều này có thể được giải thích bởi nồng độ chất pheromones ở nhánh dài cao và làm chậm tốc độ bay hơi của chất pheromones Thực tế, đa số các con kiến đều chọn nhánh dài vì tại nhánh này nồng độ pheromones cao, ngay cả khi có sự xuất hiện của nhánh ngắn
Quá trình bốc hơi của pheromones rất có lợi cho quá trình thăm dò, khám phá ra những con đường mới, tuy nhiên quá trình bốc hơi này diễn ra khá chậm: thời gian tồn tại của pheromones được so sánh với thời gian tiến hành cuộc thử nghiệm, có nghĩa là chất pheromones bốc hơi quá chậm để cho các con kiến có thể
“quên” đi con đường không tối ưu mà chúng đã hội tụ để có thể khám phá ra con đường mới ngắn hơn và có thể “học được”
Trang 26Khi khởi tạo thí nghiệm, chiếc cầu chỉ có một nhánh dài (a)
Sau 30 phút, một tình huống mới xuất hiện, một nhánh gắn được nối vào trên
chiếc cầu (b)
Hình 1.5 Thí nghiệm chiếc cầu đôi mở rộng
b) Mô hình ngẫu nhiên:
Thông qua kết quả quan sát trong thí nghiệm chiếc cầu đôi, tác giả Deneubourg đã đề xuất một mô hình ngẫu nhiên [16], [18] trong đó cần xác định:
+ ψ là số lượng kiến bò qua chiếc cầu tại mỗi hướng với một tốc độ không đổi là v (cm/s), và chúng để lại một lượng chất pheromones trên nhánh đó
+ Chiều dài của nhánh ngắn là ls (cm)
+ Chiều dài nhánh dài là ll (cm)
Khi đó, nếu một con kiến chọn nhánh ngắn hơn để đi qua thì sẽ tốn thời gian
ts = ls/v (giây - s); trong khi nếu chọn nhánh dài sẽ tốn thời gian r*ts (giây), với r =
ll/ls
pia(t) là xác suất một con kiến đến tại điểm quyết định i ϵ {1,2} lựa chọn nhánh a ϵ {s, l}, với s và l là biểu thị tương ứng cho nhánh ngắn và nhánh dài, tại thời điểm t ta xây dựng một hàm biểu diễn tổng số nồng độ pheromone là φia(t) trên một nhánh, hàm này tỷ lệ thuận với tổng số lượng kiến sử dụng các nhánh cho đến thời điểm t
Trang 27Xác suất pis(t) của việc lựa chọn nhánh ngắn như sau:
𝑝𝑖𝑠 = (𝑡𝑠+ 𝜑𝑖𝑠(𝑡))𝛼
Hàm xác định xác suất tại công thức (1.1) cũng như giá trị = 2 đều bắt nguồn
từ thí nghiệm vết mùi pheromones [16], [18] Trong đó, pil(t) cũng được tính tương
tự, với pis(t) + pil(t) = 1
Mô hình này giả định rằng, nồng độ pheromones trên một nhánh tỷ lệ thuận với số kiến đã sử dụng nhánh đó Hay nói cách khác, mô hình này được xem như là không có sự bốc hơi của pheromones
Trong mô hình này đàn kiến gửi lại vết mùi pheromones của chúng trên cả hai đường đi: từ tổ đến nguồn thức ăn và quay trở lại tổ Sự di chuyển này là một hành vi ứng xử cần thiết để có được sự hội tụ của đàn kiến hướng về nhánh ngắn Trong thực tế, nếu ta xem mô hình mà trong đó các con kiến chỉ gửi nồng độ pheromones trong suốt quá trình tiến tới nguồn thức ăn hoặc chỉ riêng suốt quá trình quay trở về tổ, sau đó kết quả là đàn kiến không thể lựa chọn nhánh ngắn Quá trình quan sát đàn kiến thực tế đã xác nhận rằng đàn kiến đã gửi nồng độ pheromones chỉ khi chúng quay trở về tổ và không thể tìm thấy đường đi ngắn nhất giữa tổ của chúng và nguồn thức ăn
c) Phương pháp tìm đường đi theo mô phỏng hành vi đàn kiến
Qua thí nghiệm chiếc cầu đôi cho thấy rõ ràng có khả năng xây dựng được quá trình tối ưu hóa hành vi đàn kiến: Thông tin để tìm ra con đường ngắn nhất giữa
2 điểm trong môi trường có thể dựa vào quy tắc xác suất
Dựa trên ý tưởng từ thí nghiệm chiếc cầu đôi, có thể thiết kế đàn kiến nhân tạo bằng cách cho chúng di chuyển trên đồ thị chiếc cầu đôi, để tìm ra đường đi ngắn nhất giữa hai nút tương ứng biểu diễn tổ và nguồn thức ăn
Bước đầu tiên để hướng đến việc định nghĩa đàn kiến nhân tạo, ta xem xét đồ thị trong Hình 1.6, nó là mô hình của thí nghiệm được thể hiện trong Hình 1.5 Đồ thị này bao gồm 2 nút (1 tương ứng là Tổ và 2 tương ứng là Nguồn thức ăn của kiến), chúng được kết nối bởi một cung ngắn và một cung dài (độ dài của cung dài
Trang 28gấp r lần độ dài cung ngắn – với r là một số nguyên) Giả sử thời gian xét là không liên tục (t = 1, 2,…); tại mỗi thời điểm, mỗi bước di chuyển của mỗi con kiến đến nút lân cận của nó với một tốc độ không đổi (có thể hiểu như là vận tốc di chuyển là một hằng số) Bằng cách đó, các con kiến sẽ để lại trên đường di chuyển của chúng một lượng mùi pheromone
Các con kiến di chuyển trên đồ thị bằng cách lựa chọn đường đi theo quy tắc xác suất:
+ pis(t) là xác suất mà một con kiến xác định vị trí tại nút i ở thời điểm t lựa chọn con đường ngắn
+ pil(t) là xác suất mà một con kiến xác định vị trí tại nút i ở thời điểm t lựa chọn con đường dài
Các giá trị xác suất này là một hàm của vết mùi pheromone φia của các con kiến tại nút i (i ϵ {1, 2}) gặp phải nhánh a (a ϵ {s, l})
Hình 1.6 Đồ thị tương ứng với mô hình trong thí nghiệm chiếc cầu đôi
Trong cả hai trường hợp các con kiến di chuyển từ tổ đến nguồn thức ăn và quay trở lại thông qua nhánh ngắn hoặc nhánh dài
Trong mô hình này thì nhánh dài gấp r lần chiều dài nhành ngắn Một con kiến sẽ cập nhật pheromone trên nhánh đó r đơn vị mùi
Trong mô hình này, mỗi cung của đồ thị có chiều dài tương tự, và một nhánh dài hơn đại diện bằng một chuỗi các vòng cung Ở đây, ví dụ, nhánh dài hơn gấp hai
Trang 29lần nhánh ngắn, thì việc cập nhật pheromone được thực hiện trễ hơn một đơn vị thời gian trên mỗi cung
Có hai khía cạnh bất đồng cần lưu ý:
+ Phạm vi xem xét các hành vi của hệ thống là trung bình, và không phải những hành vi ứng xử tuân theo biến thiên ngẫu nhiên của đàn kiến là duy nhất
+ Đây là thí nghiệm trên những thời gian không liên tục, trong khi trước đó
mô hình xét trong một thời gian liên tục
d) Đàn kiến nhân tạo và chi phí tối thiểu trên đường đi:
Trong phần b và c đã thể hiện hành vi của đàn kiến bằng tập hợp các công thức khác nhau Tuy nhiên, mục tiêu là xác định một thuật toán có thể giải quyết vấn đề chi phí tối thiểu trên các đồ thị phức tạp hơn so với những vấn đề liên quan trong thí nghiệm chiếc cầu đôi
Với mục tiêu chủ yếu, ta xem xét trong một trạng thái tĩnh, đồ thì kết nối G = (N, A), với N là tập hợp các nút n = |N| và A là tập hợp các cung vô hướng kết nối chúng Hai điểm được kết nối nhau, mà giữa hai điểm đó ta muốn hình thành một con đường với chi phí tối thiểu được gọi là nút nguồn và nút đích
Trang 30Vấn đề ở đây là, nếu ta cố gắng giải quyết vấn đề tìm đường đi với chi phí tối thiểu trên đồ thị G bằng cách sử dụng đàn kiến nhân tạo Nếu hành vi của chúng được mở rộng một cách đơn giản hơn hành vi của kiến được mô tả trong phần trước
sẽ phát sinh một số vấn đề sau đây: Những con kiến, trong khi xây dựng giải pháp,
có thể sẽ tạo ra các vòng lặp Hệ quả của việc chuyển tiếp đến cơ chế cập nhật vết mùi pheromone, các vòng lặp có xu hướng trở nên thu hút và các con kiến có thể bị mắc kẹt trong các vòng lặp đó Ngay cả khi một con kiến nào đó có thể thoát ra khỏi vòng lặp như vậy, vết mùi pheromone phân phối tổng thể cũng sẽ trở thành con đường ngắn và được ưa chuộng hơn Cơ chế này nó đơn giản hơn trong thí nghiệm chiếc cầu đôi; trong thí nghiệm chiếc cầu đôi các con kiến sẽ lựa chọn đường đi ngắn nhất với xác suất cao hơn Vì thế vấn đề này chính là nguyên nhân chuyển tiếp quá trình cập nhật vết mùi pheromone; có thể giải pháp đơn giản nhất cho vấn đề này là loại bỏ cơ chế cập nhật chuyển tiếp: bằng cách này thì các con kiến chỉ để lại vết mùi pheromone trong quá trình cập nhật quay lui
Vì vậy, ta cần phải mở rộng những khả năng của đàn kiến nhân tạo theo cách trên trong khi đó vẫn giữ lại các đặc điểm quan trọng của con kiến trong thực tế, cho phép chúng giải quyết bài toán tìm đường đi với chi phí tối thiểu trên đồ thị thông thường Đặc biệt, kiến nhân tạo có thể bị giới hạn bộ nhớ, trong đó cho phép lưu trữ một phần đường đi, và chi phí kết nối trên những nơi mà chúng đã đi qua
Thông qua việc sử dụng bộ nhớ, những con kiến có thể thực hiện một số hành vi hữu ích cho phép chúng xây dựng một giải pháp để giải quyết vấn đề tìm đường đi với chi phí tối thiểu Những hành vi này được xây dựng dựa trên quy tắc xác suất thông qua vết mùi pheromone mà không cần đến cơ chế cập nhật chuyển tiếp; xác định được con đường quay trở lại bằng cách loại bỏ vòng lặp và cập nhật pheromone; đánh giá chất lượng của giải pháp được tạo ra và sử dụng một giải pháp
có chất lượng trong việc xác định số lượng (nồng độ) pheromone được để lại
Trang 31Hình 1.7 Các con kiến xây dựng các giải pháp để tìm đường đi từ tổ (nút nguồn) đến nguồn thức ăn (nút đích) trên một đồ thị
Có thể giải thích hành vi nêu trên của kiến và sự bay hơi của pheromone trong một thuật toán được gọi là Simple-ACO (gọi tắt là S-ACO) S-ACO đại diện cho một bước tiến bộ hết sức quan trọng trong việc tìm ra một giải pháp hiệu quả tìm đường đi với chi phí tối thiểu trên đồ thị S-ACO là một công cụ để giải thích các cơ chế cơ bản trong thuật toán ACO
1 Giải pháp xây dựng theo hướng xác suất bởi vết mùi pheromones, với sự cập nhật pheromones nhanh
2 Mô tả con đường quay trở lại tổ với việc loại bỏ vòng lặp và sự cập nhật pheromones chuyển tiếp
3 Đánh giá về chất lượng của các giải pháp tạo ra và sử dụng các giải pháp chất lượng trong việc xác định số lượng pheromones đã gửi lại
S-ACO có hai phương thức hoạt động: tiến về phía trước và quay lui
1 Phương thức tiến về phía trước được sử dụng khi chúng di chuyển từ tổ đến nguồn thức ăn
2 Phương thức quay lui được sử dụng khi chúng di chuyển từ nguồn thức ăn quay trở về tổ
Trang 32Việc sử dụng một bộ nhớ rõ ràng cho phép một con kiến có thể trở lại con đường mà nó đã đi trong khi tìm kiếm đến đỉnh đích
Trong S-ACO đàn kiến nhớ các đỉnh mà nó đi qua trong quá trình tìm nguồn
thức ăn, cũng như các chi phí trên các cạnh đã qua nếu biểu đồ có trọng số
e) Sự bay hơi của chất dịch phenomones:
Trong S-ACO thì sự bay hơi được mô phỏng bằng cách áp dụng một quy tắc bay hơi pheromone thích hợp Ví dụ, nồng độ của pheromone nhân tạo có thể được thiết lập bởi một hằng số tốc độ Quá trình bay hơi pheromone làm giảm dần mức
độ ảnh hưởng của nồng độ chất pheromone đã tích lũy trước đó (trong giai đoạn đầu của quá trình tìm kiếm), lúc đó các con kiến nhân tạo có thể xây dựng một giải pháp
kém chất lượng hơn
f) Thuật toán ACO giải bài toán VRP:
Tính linh hoạt và thực tế ứng dụng của các siêu tri thức trong thuật toán ACO trong việc tìm kiếm lời giải cho các bài toán tối ưu tổ hợp được mô tả thông qua một vài ứng dụng trong một số bài toán khác nhau [17]
Ở đây, ta xem xét một ứng dụng của thuật toán ACO là áp dụng giải bài toán tối ưu tổ hợp dạng NP-khó: Bài toán định tuyến phương tiện (Vehicle Routing Problem – VRP)
Bài toán VRP là một bài toán tối ưu tổ hợp thuộc dạng NP-khó Đây là một bài toán điển hình cho việc áp dụng thuật toán ACO để giải
Trong hệ thống AS, mỗi con kiến sẽ được khởi động từ một thành phố được chọn ngẫu nhiên và có một ký ức nhớ để lưu các thành phần lời giải mà nó sẽ cấu trúc sau này Từ thành phố đầu tiên, mỗi con kiến sẽ di chuyển qua các thành phố khác Khi đang ở một thành phố i, con kiến k sẽ lựa chọn thành phố tiếp theo j để đến thăm theo xác suất được đưa ra như sau:
Trang 33 ηij = 1/dij là thông tin về tri thức ưu tiên;
α,β là hai tham số do người dùng định nghĩa, xác định mức độ ảnh hưởng của nồng độ vết mùi pheromone và thông tin về tri thức;
𝑁𝑖𝑘 là láng giềng khả thi của con kiến thứ k, có nghĩa là tập các thành phố
mà con kiến thứ k có thể đến thăm
Lời giải cuối cùng sau khi mỗi con kiến hoàn thành hành trình của mình kết thúc sau khi mỗi con kiến được cấu trúc có độ dài n Tiếp theo các nồng độ vết mùi pheromone sẽ được cập nhật theo công thức:
𝜏𝑖𝑗(𝑡 + 1) = (1 − 𝜌)𝜏𝑖𝑗(𝑡) + ∑ Δ𝜏𝑖𝑗𝑘(𝑡)
𝑚
𝑘=1
với mọi (i,j) (1.7)
Δ𝜏𝑖𝑗𝑘(𝑡) xác định số lượng các mật độ pheromone của con kiến k trên cung, được định nghĩa như sau:
Trang 34CHƯƠNG 2 ĐỊNH TUYẾN XE TRONG TỐI ƯU HÓA
THU GOM RÁC THẢI ĐÔ THỊ
Bài toán thu gom rác thải, có thêm 2 ràng buộc so với bài toán VRP cổ điển: (i) giới hạn về năng lực xe; (ii) khi kết thúc một phiên làm việc, phải quay về trung tâm xử lý rác trước khi quay về điểm xuất phát Có một số biến thể bài toán VRP, ví
dụ như OVRP (Open vehicle routing problem), SVRP (Split vehicle routing problem) có xét đến năng lực xe, tuy nhiên điểm kết thúc không ràng buộc quay về điểm cố định
2.1 Phát biểu bài toán
Bài toán tối ưu thu gom và vận chuyển rác thải trong đô thị có nhiều điểm tương đồng với bài toán VRP cổ điển Trong đó, các phương tiện đều phải xuất phát
ở bãi xe và trọng tải các phương tiện không nhất thiết phải giống nhau Tuy nhiên bài toán tối ưu thu gom, vận chuyển rác thải đô thị có một số điểm khác biệt:
(i) Ràng buộc về năng lực xe:
- Tổng thể tích rác của tất cả các điểm tập kết rác phải đi thu gom lớn hơn thể tích chuyên chở (thể tích thùng) của xe cuốn ép rác
- Các điểm tập kết rác có thể đi qua nhiều lần do trong một lần có thể chưa thu gom hết rác thải
(ii) Ràng buộc về thứ tự ưu tiên giữa các điểm phải đi qua:
Khi kết thúc một phiên làm việc, phải quay về trung tâm xử lý rác trước khi quay về điểm xuất phát Lộ trình phải đi bắt đầu từ bãi xe lần lượt tới các điểm tập kết rác theo kế hoạch cho trước, thực hiện thu gom cho đến khi đầy xe và quay về trung tâm xử lý (bãi rác), sau đó nếu vẫn còn các điểm tập kết rác thì tiếp tục thực hiện thu gom và vận chuyển, ngược lại quay về bãi rác để trút bỏ rác lần cuối trước khi quay về điểm xuất phát (bãi xe)
Trang 35Nhìn chung, quá trình thu gom và vận chuyển rác thải đô thị thường được thực hiện thông qua hai bước chính thể hiện trong hình ảnh như sau
Hình 2.1 Quá trình thu gom và vận chuyển rác thải đô thị
Đầu tiên, rác thải đô thị được tạo ra từ các nguồn rác thải S khác nhau (ví dụ
các hộ gia đình, chợ, văn phòng, siêu thị,…) được tập hợp và chuyển đến tập trung
ở các điểm tập kết rác C i gần nhất Mỗi điểm tập kết rác được trang bị một số lượng thùng rác mà có cùng thể tích chứa (m3) Tiếp theo, tại bước thứ hai các xe cuốn ép
rác từ một bãi xe D di chuyển đến các điểm tập kết rác theo một lộ trình định trước, thu thập rác thải đô thị và tập kết rác tại bãi rác hoặc điểm tái chế, xử lý L Sau đó
xe cuốn ép rác sẽ quay về D
Trọng tâm mà đồ án qua tâm tới là quá trình thu thập và vận chuyển chất thải tại bước thứ hai này Tối ưu hóa lộ trình của các xe cuốn ép rác từ bãi xe D tới bãi rác L thông qua các điểm thu gom C khác nhau:
D -> C1 -> C2 -> … -> L -> D
Với mỗi chuyến đi, một xe cuốn ép rác sẽ tới bãi rác khi xảy ra một trong hai trường hợp sau:
Trang 36(i) Xe vừa thu gom tại điểm thu gom cuối cùng trong lịch trình
(ii) Xe đã thu gom đầy chất thải, bởi vậy mà nó cần đi tới bãi rác để đổ và
trở lại điểm thu gom tiếp theo như kế hoạch đã đề ra
Đây là một bài toán định tuyến phương tiện VRP [24] Nhưng, khác với bài
toán VRP cổ điển, với bài toán này xe cuốn ép rác cần phải đi qua bãi rác L trước
khi quay lại điểm xuất phát
Tuy nhiên, với hầu hết các nước đang phát triển, như Việt Nam, bãi xe và bãi rác thường là một Do đó, để đơn giản hóa, trong phạm vi luận văn, bài toán có một
số giả định như sau:
* Điểm xuất phát của xe và bãi rác được coi là một
* Vị trí và số lượng của mỗi điểm tập kết rác thải được biết trước
* Khoảng cách giữa các điểm tập kết rác thải là biết trước
* Lượng rác thải phát sinh định kỳ hằng ngày là biết trước Có thể xác định bằng cách căn cứ vào tỷ lệ lượng rác thu thập được trong các thùng rác Bởi vậy, thể tích rác tại các điểm tập kết rác phụ thuộc vào số lượng thùng rác và tỷ lệ chứa rác của chúng Để đơn giản hóa, tất cả các điểm tập kết rác được giả định có cùng một
tỷ lệ chứa rác
Gọi G=(V,A) là đồ thị biểu diễn tuyến đường của xe cuốn ép rác Trong đó , vector V={v0,v1,…,vn} biểu diễn:
* v0 là điểm xuất phát của xe cuốn ép rác
* V’=V\{v0}là tập n vị trí các điểm tập kết rác thải, vn là bãi rác
* A={(vi,vj) | vi,,vj ϵ V; i ≠ j} là tập các cạnh của đồ thị
* C là ma trận nguyên dương chi phí (khoảng cách) cij giữa các điểm tập kết
Trang 37j = 1,…,n (2.2)
∑ 𝑥𝑖𝑗 = 1𝑛
𝑗=1,𝑖≠𝑗
i = 1,…,n (2.3)
∑ 𝑥𝑖0 = 𝑚𝑛
𝑖=0
(2.4)
∑ 𝑥0𝑗 = 𝑚𝑛
𝑗=0
(2.5)
∑ ∑ 𝑥𝑖𝑗 > 𝑟(𝑆)𝑗∈𝑆
𝑖∉𝑆
∀(𝑆) ∈𝑉\{0}, 𝑆 ≠ ∅ (2.6)
Trang 38𝑥𝑖𝑗 ∈ {0,1} ∀(𝑖, 𝑗) ∈ 𝐴 (2.7) Ràng buộc (2.2) và (2.3) dùng để kiểm soát mỗi điểm trong tập v1, v2, …, vnchỉ được đi qua bởi một xe cuốn ép rác Ràng buộc (2.4) và (2.5) kiểm soát số lượng
xe cuốn ép rác rời đi khỏi bãi xe tương đương với số lượng xe cuốn ép rác trở về bãi
xe Ràng buộc (2.6) kiểm soát các cung đường phải được kết nối với nhau Ràng buộc (2.7) biểu diễn ý nghĩa của việc kết nối các cung đường giữa hai điểm như đã nêu
2.3 Đề xuất giải pháp
Các thông tin về hình ảnh bản đồ, vị trí các điểm tập kết rác, vị trí bãi xe, bãi rác, các tuyến đường, ma trận khoảng cách giữa các điểm tập kết rác được chuyển đổi từ các tập tinh dữ liệu bản đồ số GIS Dữ liệu về thể tích rác tại các điểm thu gom được căn cứ trên tập dữ liệu lịch sử Trong trường hợp tốt hơn, có thể thu thập
dữ liệu bằng thiết bị thông minh
Các điểm tập kết rác, vị trí bãi xe, bãi rác được biểu diễn bởi tập các véc tơ hai chiều bao gồm kinh độ và vĩ độ Các điểm tập kết rác được chia thành các cụm bởi thuật toán phân cụm K-Mean với số cụm bằng số lượng xe cuốn ép rác Tổng thể tích rác tại các cụm được tính toán Cụm có tổng thể tích rác cao nhất được gán cho xe cuốn ép rác có thể tích cao nhất, cụm có tổng thể tích rác cao thứ nhì được gán cho xe cuốn ép rác có thể tích cao thứ nhì, thực hiện tương tự lần lượt cho đến khi đã giao hết các cụm cho các xe cuốn ép rác
Bước tiếp theo thực hiện lần lượt cho mỗi cụm Với mỗi cụm, khởi chạy thuật toán ACO với các ràng buộc đã nêu Từ đó ta có được lộ trình tối ưu cho từng
xe cuốn ép rác Trong phạm vi chương trình thử nghiệm còn thực hiện tính toán lộ trình theo giải thuật láng giềng gần nhất từ đó so sánh với lộ trình tính toán được bởi ACO và lựa chọn lộ trình tốt hơn
Trong thực tế, sau khi áp dụng thuật toán nêu trên, tổng quãng đường phải đi của mỗi xe cuốn ép rác đều giảm xuống Nhưng, những giá trị này được tính toán trong một ngữ cảnh tĩnh Bởi vậy, trong phạm vi luận văn cũng phát triển một mô hình dựa trên tác tử (Agent Based Model - ABM) để mô phỏng lộ trình tối ưu trong
Trang 39ngữ cảnh động Từ đó đối chiếu và so sánh hai kết quả với nhau Sau đây là mô hình tính toán đề xuất:
Hình 2.2 Mô hình tính toán đề xuất
2.3.1 Giải thuật
Sau đây là mô tả mã giả của giải thuật
Giải thuật định tuyến:
Input:
- locations: vị trí các điểm tập kết rác trong thành phố
- locationsVolume: thể tích rác tải các điểm tập kết rác thải
- numberOfVehicle: số lượng phương tiện tham gia thu gom rác thải
1 clusters = K-MEAN(locations, locationsVolume, numberOfVehicle);
2 for each cluster c in clusters do
3 optimizeRoute = ACO(D(c),M(c));
4 end for
Trong đó:
D(c) = ma trận khoảng các của các điểm trong cụm c
Thời gian di chuyển
Thời gian thu thập
K-& ACO
Lộ trình tối ưu Khoảng cách di chuyển