Sơ đồ chung thuật toán ACO

Một phần của tài liệu Ứng dụng thuật toán đàn kiến trong tìm kiếm đường đi tối ưu (Trang 35 - 37)

1. u← đối tượng ban đầu;

2.4.2.3.Sơ đồ chung thuật toán ACO

Cần xây dựng khung thuật toán ACO vì một số lý do sau:

Hỗ trợ thiết kế tối đa và khả năng tái sử dụng code: Khung phải cung cấp cho người dùng toàn bộ kiến trúc của phương pháp giải quyết bài toán của họ. Hơn nữa các lập trình viên có thể tái sự dụng các đoạn code đã có sẵn (kế thừa). Do đó người dùng chỉ cần phát triển một đoạn code nhất định cho vấn đề đó.

Tiện ích và khả năng mở rộng: Khung phải cho phép người dùng đi qua một số lượng lớn các giải thuật đã được giả quyết, các vấn đề, các mô hình song song đã được đưa ra. Nó có khả năng cho phép người dùng dễ dàng thêm hoặc thay đổi các đặc tính/ giải thuật mà ko cần liên quan đến các thành phần khác. Giúp cho người sau thử nghiệm bai toán trên môi trường song song.

Tính linh động: Khung hỗ trợ nhiều kiến trúc phần cứng và phần mềm khác nhau nên đáp ứng được một số lượng lớn người dùng.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ Khi cài đặt sơ đồ ACO theo hướng đối tượng thường yêu cầu gồm ba lớp chính sau: Problem, Solution, Heuristic.

o Lớp Problem tương ứng với định nghĩa một bài toán.

o Lớp Solution tương ứng với lời giải (tốt hoặc không tốt) một bài toán. o Lớp Heuristic tương ứng các thông tin yêu cầu của bài toán. Thông tin

này được lấy từ việc giải quyết các bước tiếp theo của thuật toán từ những hoạt động của con kiến.

Bắt đầu Kết thúc Kết thúc vòng lặp Yes No Xây dựng phương án

Khởi tạo các điều kiện ban đầu cho đàn kiến

Cập nhật mùi

Phương án tốt nhất Các hoạt động khác

(Tùy chọn)

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

Một phần của tài liệu Ứng dụng thuật toán đàn kiến trong tìm kiếm đường đi tối ưu (Trang 35 - 37)