Ứng dụng thuật toán ACO trong việc giải quyết bài toán Người chào hàng Sale Man

Một phần của tài liệu Bài toán cấu trúc chuỗi nguồn = b founder sequences reconstruction problem luận văn ths công nghệ thông tin 60 48 01 (Trang 31 - 34)

CHƯƠNG II. GIỚI THIỆU VỀ THUẬT TOÁN ANT COLONY

2.4. Ứng dụng thuật toán ACO trong việc giải quyết bài toán Người chào hàng Sale Man

2.4.1. Bài toán người chào hàng trong thực tế

Bài toán người chào hàng hay còn gọi là bài toán TSP là một bài toán khá nổi tiếng trong lĩnh vực tối ưu tổ hợp. Bài toán có nội dung như sau: “ Một người đi chào hàng tại n thành phố. Người chào hàng muốn tìm một hành trình ngắn nhất, bắt đầu xuất phát từ một thành phố và đi sang các thành phố khác để chào hàng, sau đó lại quay trở lại thành phố xuất phát sao cho mỗi thành phố chỉ đi qua đúng một lần và khoảng cách giữa các thành phố đã được biết trước”.

Input: Tập C gồm n thành phố : và độ dài nối hai thành phố (thành phố nối với thành phố ).

Output: min (với điều kiện mỗi đỉnh đi qua đúng một lần).

2.4.2. Phát biểu bài toán người đưa hàng trên mô hình hóa đồ thị

Hình 2.5 Minh họa hình ảnh bài toán người đưa hàng

Bài toán TSP có thể được mô hình hóa như một đồ thị đầy đủ có trọng số , trong đó là các tập đỉnh của đồ thị, với mỗi đỉnh tương ứng là một thành phố trong . Kí hiệu là các cạnh nối các thành phố tương ứng, khoảng cách giữa hai thành phố là độ dài cạnh . Đây là vấn đề cực tiểu hóa với điểm đầu và điểm cuối là cùng một đỉnh sau khi đi qua hết tất cả các thành phố đúng một lần. Bài toán TSP chính là bài toán tìm chu trình Hamilton có độ dài ngắn nhất trên đồ thị đầy đủ có trọng số.

2.4.3. Áp dụng thuật toán ACO giải quyết bài toán người chào hàng

Bài toán TSP được nêu ra trong thế kỉ thứ XIX bởi nhà toán học Ireland William Roman Hamilton và nhà toán học Anh Thomas Kirkman. Bài toán TSP là một trong

những bài toán nghiên cứu sâu nhất trong tối ưu hóa. Bài toá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 đã được tìm ra để giải quyết cho những trường hợp dữ liệu lớn. Bảng 2.1 đưa ra một vài thuật toán ACO có khả năng trong việc giải quyết bài toán TSP và một số bài toán khác. Các thuật toán được sắp xếp theo thứ tự thời gian phát triển.

Bảng 2.1 Một số thuật toán ACO

Năm Thuật toán ACO Tác giả

1991 Ant System (AS) Dorigo, Maniezzo,&Colorni 1992 Elitist AS Dorigo, Maniezzo,& Colorni

1995 Ant-Q Gambardella&Dorigo

1996 Ant Colony System Dorigo & Gambardella 1996 Max-Min Ant System Stützle & Hoos

1997 Rank-based Ant System Bullnheimer, Hartl & Strauss

1999 ANTS Maniezzo

2000 Best-Worst Ant System Cordon, Viana, Herrera & Moreno 2001 Hyper-cube Ant System Blum, Roli & Dorigo

2010 AntEpiSeeker Wang, Liu, Robbins & Rekaya Đồ thị cấu trúc

Thuật toán ACO có thể áp dụng trực tiếp cho bài toán TSP với đồ thị cấu trúc , trong đó:

 V: Tập các đỉnh tương ứng với tập các thành phố.

 E: Tập các cạnh nối các thành phố tương ứng.

 H: Thông tin heuristic trên cạnh , kí hiệu là và là độ dài của nghịch

đảo cạnh: .

 : Vết mùi được gán trên các cạnh, là vectơ biểu thị các thông tin học tăng cường, dùng để chỉ thông tin học tăng cường phục vụ mở rộng tuần tự lời giải từ đến .

Trong trường hợp này tập là các chu trình Hamilton trên , là độ dài của chu trình, Ω là ràng buộc đòi hỏi chu trình là chu trình Hamilton (qua tất cả các đỉnh, mỗi đỉnh đúng một lần).

Giải quyết bài toán

Thuật toán ACO phân biệt bởi quy tắc cập nhật mùi như đã nêu ở mục 1.2.3 về các quy tắc cập nhật mùi khác nhau sẽ cho ra các phương pháp giải quyết khác nhau.

Ban đầu tiến hành xây dựng lời giải cho mỗi con kiến. Đối với thuật toán AS và MMAS trong giải quyết bài toán TSP xây dựng lời giải cho việc lựa chọn đỉnh đi tiếp theo được xác định theo công thức (1.1) mục 1.2.2. trong công thức (1.1) là các đỉnh lân cận mà kiến có thể đi đến từ đỉnh . Đối với thuật toán ACS, kiến sẽ lựa chọn di chuyển đến đỉnh tiếp theo, theo quy tắc:

(2.12)

Trong đó là một biến ngẫu nhiên, phân bố đều trong [0,1], là một tham số cho trước và J là một biến ngẫu nhiên lựa chọn theo công thức (1.1).

Sau khi xây dựng xong lời giải cho mỗi thuật toán, tiến hành cập nhật mùi được trình bày trong phần mục 2.2.3. Cuối cùng đưa ra lời giải tốt nhất.

Từ thuật toán ACO tổng quát ta có thuật toán ACO cho bài toán TSP được mô tả trong hình 2.5:

Procedure Thuật toán ACOTSP;

Dữ liệu vào:

 Đồ thị

 Ma trận trọng số với

 Số lượng kiến m

Kết quả ra: Là một chu trình với tổng độ dài ngắn nhất.

Begin

Khởi tạo các tham số, ma trận mùi, m con kiến;

Repeat

For to m do

Kiến xây dựng lời giải (lựa chọn đỉnh đi tiếp theo);

Cập nhật mùi (cập nhật mùi trên mỗi cạnh);

Cập nhật lời giải tốt nhất (cập nhật những chu trình với tổng độ dài ngắn nhất và thỏa mãn điều kiện của bài toán);

Until (điều kiện kết thúc);

Đưa ra lời giải tốt nhất (chu trình với tổng độ dài ngắn nhất);

End

Hình 2.6 Đặc tả thuật toán ACO cho bài toán TSP

Một phần của tài liệu Bài toán cấu trúc chuỗi nguồn = b founder sequences reconstruction problem luận văn ths công nghệ thông tin 60 48 01 (Trang 31 - 34)

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

(55 trang)