Thuật toán MMAS

Một phần của tài liệu Thuật toán Aco và ứng dụng (Trang 31 - 34)

MMAS (Max-Min Ant System) và một số thuật toán khác nhƣ Elitist AS, Rank-Based AS là các thuật toán có đƣợc hiệu suất cao hơn nhiều so với thuật toán AS nhờ vào những thay đổi nhỏ trong thuật toán AS, đây đƣợc coi là các thuật toán kế thừa trực tiếp từ thuật toán AS vì chúng về cơ bản là không khác gì nhiều so với thuật toán AS.

MMAS đƣa ra bốn thay đổi chính đối với AS.

1. Trƣớc tiên, nó chú trọng nhiều vào những tuyến đƣờng tốt nhất đƣợc tìm thấy: MMAS, chỉ cho phép con kiến tốt nhất hoặc là tại vòng lặp hiện tại

iteration-best , hoặc tính từ thời điểm bắt đầu best-so-far đƣợc phép cập nhật mùi. Tuy nhiên việc này sẽ dẫn đến hiện tƣợng ứ đọng, tập trung (stagnation)

quá nhiều khi mà tất cả các con kiến đều cùng chọn một tuyến đƣờng đi, do sự tăng lên quá thừa của cƣờng độ các vết mùi trên các cạnh tốt.

2. Để tránh hiện tƣợng trên một cải tiến thứ hai là MMAS giới hạn cƣờng độ mùi trong một khoảng cố định [τmax , τmin]. Tất cả vết mùi trên các cạnh đều nằm trong khoảng này.

3. Các vết mùi đƣợc khởi tạo là cận trên của vết mùi τmax , cùng với việc một tỉ lệ bay hơi mùi nhỏ sẽ làm tăng khả năng khám phá cho các con kiến ngay từ khi bắt đầu.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Cuối cùng, trong thuật toán MMAS các vết mùi sẽ đƣợc khởi tạo lại nếu nhƣ hệ thống rơi vào trạng thái stagnation, hoặc không thể cải thiện đƣợc tuyến đƣờng đã tạo ra sau một số vòng lặp liên tiếp.

Cập nhật mùi

Cũng nhƣ thuật toán AS, sau khi tất cả các con kiến xây dựng xong lời giải của chúng tất cả các vết mùi đều bay hơi một lƣợng phụ thuộc vào tham số bay hơi mùi (xem công thức 2.2).

Sau đó cƣờng độ mùi trên mỗi cạnh có con kiến tốt nhất đi qua đƣợc cập nhật một lƣợng theo công thức :

best

ij ij ij (2.5)

Với est est

ijb 1/Cb , với Cbest hoặc là độ dài của tuyến đƣờng tốt nhất tại vòng lặp hiện tại, hoặc là độ dài của tuyến đƣờng tốt nhất từ khi bắt đầu thuật toán.

Khi ta sử dụng luật update best-so-far thì quá trình tìm kiếm sẽ tập trung nhanh chóng vào tuyến đƣờng tốt nhất từ đầu đến hiện tại. Còn khi sử dụng update iteration-best thì số lƣợng các cạnh đƣợc tăng cƣờng mùi là nhiều hơn và sự tìm kiếm cũng phân tán hơn.

Giới hạn vết mùi

MMAS sử dụng hai cận trên (τmax) và cận dƣới (τmin) để khống chế nồng độ pheromone trên mỗi cạnh với mục đích tránh cho thuật toán khỏi hiện tƣợng tắc nghẽn tìm kiếm. Cụ thể hơn, giới hạn của vết mùi sẽ làm cho xác suất pij của việc chọn thành phố j khi kiến ở thành phố i bị giới hạn trong đoạn

[pmin, pmax].

Nhƣợc điểm của thuật toán này là sẽ tập trung tìm kiếm vào các cạnh thuộc lời giải tốt nhất tìm đƣợc, vì vậy hạn chế khả năng khám phá nếu τmin

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

dụng triệt để, còn các cƣờng độ mùi sẽ bị giảm nhanh và không có tác dụng nhiều. Còn nếu chọn τmin lớn thì thuật toán sẽ gần với tìm kiếm ngẫu nhiên và ít phụ thuộc vào các thông tin heuristic đồng thời khả năng học tăng cƣờng cũng giảm theo.

* Thuật toán MMAS:

Input: Đồ thị G = <C, L>

Output: Giải pháp tối ƣu S*

Procedure MMASMetaheuristic()

// Khởi tạo

Các tham số: số vòng lặp, α, β, , số lƣợng kiến m, số đỉnh n; τij = τ0; //Nồng độ vết mùi trên cạnh (i,j), τ0 [τmax , τmin]

S* = ; //Lời giải tối ưu, ban đầu rỗng

While (!Điều kiện dừng) do

//Giải pháp xây dựng đàn kiến

For (Duyệt qua toàn bộ đàn kiến) do

Đặt mỗi con kiến ngẫu nhiên vào một đỉnh;

// Xây dựng lời giải cho kiến thứ i

While (Duyệt danh sách đỉnh láng giềng) do

Chọn đỉnh kế tiếp theo công thức (2.1);

Bổ sung đỉnh đƣợc chọn vào tập đƣờng đi của kiến;

End;//While

Tính chiều dài đƣờng đi của kiến;

End;//For

// Cập nhật mùi gồm: Quá trình bay hơi và Tăng cường mùi

τij = (1 - ) * τij; //Bay hơi

So sánh phƣơng án để cập nhật lời giải tối ƣu: S*;

Tăng cƣờng mùi trên các cạnh kiến đi qua theo công thức (2.5);

End; //While End;

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Một phần của tài liệu Thuật toán Aco và ứng dụng (Trang 31 - 34)

Tải bản đầy đủ (PDF)

(63 trang)