4 Kết quả thực nghiệm và kết luận
4.2 Thiết lập tham số
Do thuật toán đề xuất sử dụng nhiều tham số nên để có được kết quả tốt cần phải thử nhiều bộ tham số khác nhau.
Ba tham số quan trọng nhất của thuật toán đề xuất đó là a; b ; r. Qua thực nghiệm trong (Marco Dorigo, Vittorio Maniezzo, Alberto Colorni, et al. 1996), tác giả nhận xét bộ tham số a = 1:0, b = 5:0, r = 0:1 cho kết quả tốt hơn hẳn các bộ tham số khác. Bộ tham số này có b lớn hơn nhiều so với a, tức thông tin heuristic cần phải có ảnh hướng lớn hơn thông tin vết mùi. Đầu tiên luận văn sẽ kiểm tra xem nhận xét này có đúng đối với bài toán CVRP không. Dữ liệu CMT01 sẽ được chọn để thực nghiệm với 3 bộ tham số khác nhau ở mỗi b . b sẽ được chọn tăng dần từ bé hơn a, bằng a rồi lớn hơn a. Cụ thể:
a = 2:0; b = 1:0. a = 2:0; b = 2:0. a = 2:0; b = 3:0.
Kết quả thực nghiệm được cho ở đồ thị trong hình 4.1. Trục x của đồ thị tương ứng với số vòng lặp được thực hiện còn trục y tương ứng với kết quả ở vòng lặp tương ứng.
HÌNH 4.1: Đồ thị so sánh khi tham số thay đổi
Dựa vào hình 4.1 cho thấy bộ tham số a = 2:0; b = 3:0 giúp thuật toán hội tụ nhanh nhất. Khi b tăng dần, thời gian hội tụ của thuật toán giảm dần. Do đó có thể thấy là nên thiết lập tham số b > a để có được kết quả tốt.
Để chạy 7 bài toán CVRP, dựa vào các quan sát trên, tham số sẽ được thiết lập như sau:
Số lượng kiến được dùng cho mỗi vòng lặp là nant = 20.
Vết mùi cực tiểu và cực đại: Tmax = 1; Tmin = 1n trong đó n là số lượng khách hàng. p = K2 : khi kiến tạo lời giải ở bước 2, chỉ có một nửa số xe là được phép “đi tiếp”.
a 2 [1; 3]; b 2 [3; 7] (b > a).
r 2 [0:1; 0; 3] (r chỉ cho nhận giá trị nhỏ xong quanh 0.1). Điều kiện dừng của thuật toán là:
Số lượng vòng lặp tối đa là 100