Các thuật toán trong ACOmin

Một phần của tài liệu Thuật toán hệ kiến Max - Min và ứng dụng (Trang 32)

Ở mục trước đã trình bày lớp ACOgb,min, ký hiệu ACOmin là lớp các thuật toán ACO dùng cập nhật mùi theo tư tưởng Max-Min. ACOmin khác ACOgb,min ở chỗ không dùng quy tắc cập nhật mùi toàn cục. Trong mục này chúng tôi phân tích 2 thuật toán MMAS và ACS thuộc lớp ACOmin .

i) MMAS là thuật toán có hiệu suất tốt và được ưa dùng nhất trong các thuật toán ACO, nó đã giải quyết tốt các bài toán nổi tiếng như bài toán người chào hàng, phân công bậc hai, thời khóa biểu. Dễ nhận thấy MMAS thuộc lớp ACOmin do quy tắc cập nhật mùi toàn cục, nó chỉ có hai điểm khác nhỏ so với ACOmin. Thứ nhất nó gán giá trị tường minh cho max, thứ hai

- 29 -

nó cho phép lựa chọn cách cập nhật mùi tại bước lặp tốt nhất hoặc toàn cục (được trình bày ở chương 3).

ii) ACS là một thuật toán tốt nữa trong các thuật toán ACO, nó cũng thuộc lớp ACOmin nhưng không dễ nhận thấy như MMAS. Chúng tôi trình bày một số điểm của ACS để định lý 1 có thể áp dụng cho thuật toán này.

ACS có 3 điểm khác ACOmin là:

- Thứ nhất: ACS chọn đỉnh mới theo qui tắc tỉ lệ giả ngẫu nhiên. Tại mỗi bước lặp, con kiến có hai lựa chọn: Cung có lượng mùi cao hoặc theo công thức (2.1), lựa chọn đầu tiên theo xác suất q0, còn lựa chọn thứ hai với xác suất (1-q0), trong đó 0q01 là một tham số.

- Thứ hai: ACS không cho bay hơi mùi trên tất cả các cung mà sử dụng quy tắc cập nhật mùi sau:

Cập nhật mùi ngoại tuyến: Nếu f(st)<f(s*), s*st *) ( . ). 1 ( : * ) , (i jsij   ij  g s

 là hệ số bay hơi mùi, s* là lời giải tối ưu, st là lời giải ở bước lặp thứ t.

- Thứ ba: Mỗi con kiến sử dụng quy tắc cập nhật mùi địa phương (rải mùi ngay trên hành trình của nó)

Cập nhật mùi trực tuyến: 0 1: ( , ) (1 ). ( , ) . ) , (uk yxk  uk y    uk y 

Trong đó  và 0 hai tham số, 0<<1.

Kết quả của việc cập nhật mùi địa phương là tạo sự hấp dẫn cho các con kiến khác. Quy tắc cập nhật mùi của ACS được viết lại như sau:

b a

ak1  (1). k .

với k>=1, ak+1 và ak là ij(t+1) và ij , b=g(w(t)), 0 và =, . Ta có:

] ) 1 ( 1 .[ . ) 1 ( k 0 k k a b a     

ta thấy khi k thì giới hạn trên bằng b. Chuỗi trên giảm khi a0>b (a0 là giá trị lớn nhất) và chuỗi tăng khi a0<b (b là giá trị nhỏ nhất).

Trong ACS, lượng mùi lớn nhất là max = maxACS

=g(w(t)). Tham số 0 trong ACS chỉ giá trị min trong ACOgb, min . Định lý 1 áp dụng được cho ACS vì theo quy tắc chuyển trạng thái của ACS, giả sử tại cung (i, j) không có lượng mùi cao, khi đó việc chọn đỉnh tiếp theo ngẫu nhiên với xác suất (1-q0). Theo công thức (2.3) ước lượng p’min , xác suất chọn đỉnh tiếp theo trong mỗi bước là (1-q0).p’min.

Một phần của tài liệu Thuật toán hệ kiến Max - Min và ứng dụng (Trang 32)