Thử nghiệm chương trình

Một phần của tài liệu Tiểu luận môn LẬP TRÌNH SYMBOLIC VÀ ỨNG DỤNG Tìm hiểu Ant Colony Optimization (Trang 36)

Cấu hình máy thử nghiệm chương trình: Core Dual 2.8 Ghz, 4GB RAM, WIN 7 Pro 64bit, thiết lập chương trình ở mức chiếm tối đa 50% CPU. Chương trình được cài đặt trên phiên bản Maple 16.02 32 bit.

Tập tin chứa mã nguồn của chương trình là ‘TSP-ACO.mv’.

Bố trí của mã nguồn được chia thành ba nhóm thực thi, mỗi nhóm bắt đầu bằng dấu > của Maple.

Nhóm thứ nhất khởi tạo một đồ thị được sử dụng để kiểm thử thuật toán.

Sau khi thực thi nhóm thứ nhất

Nhóm thứ ba chứa từng group nhỏ, dùng để kiểm tra các thủ tục được viết ở trên: gồm có thủ tục thuật toán Ant System, Max-Min Ant System, tìm một đường đi, tìm tất cả đường đi, tìm đường đi ngắn nhất và thủ tục

TravelingSalesman của Maple.

Kết quả thử nghiệm với một đồ thị đầy đủ nhỏ có 10 cạnh, với trọng số các cạnh từ 1 tới 1000. Với độ dài đường đi ngắn nhất là 1783. Ta thử nghiệm với hai thuật toán

Ant System với các tham số numOfAnts:=10;

numOfTurns:=10; pheromoneInit:=0.5; evaporationRate:=0.8;

Max-Min Ant System với các tham số numOfAnts:=10; numOfTurns:=10; pheromoneInit:=1; evaporationRate:=0.9; minPheromonesIntensity:=0.4; maxPheromonesIntensity:=1;

Ant System Max-Min Ant System

2001 1851

1851 1805

1805 1851

1783 1783

Kết quả sau 5 lần chạy với hai thuật toán

Tốn khoảng 1giây cho mỗi lần chạy ở trên. Cũng với các tham số trên kết quả thử nghiệm với đồ thị đầy đủ 100 cạnh.

Ant System Max-Min Ant System

9225 16505

9961 17316

9358 16179

9824 15097

9618 16462

Tốn khoảng 6-8 giây cho mỗi lần chạy ở trên. Ta có thể thấy ở kết quả trên thuật toán Max-Min Ant System có kết quả quá tồi so với thuật toán Ant System. Tuy nhiên, sau khi điều chỉnh một vài tham số, cụ thể là

pheromoneInit:=0.5, evaporationRate:=0.8 thì lại có được kết quả quan hơn, như hình dưới

Max-Min Ant System

853910825 10825

98718564 8564 8462

Điều này một lần nữa lại cho thấy rằng, các tham số vệt mùi, đường đi

III. TỔNG KẾT

Bài thu hoạch này đã tìm hiểu một vài thuật toán của phương pháp Ant Colony Optimization cụ thể là Ant System và Max-Min Ant System cho bài toán Traveling Salesman Problem. Cũng như cho thấy việc hữu dụng của công cụ Maple trong việc tính toán symbolic để giải quyết, cài đặt những thuật toán như thế này. Kết quả thực nghiệm đã thể hiện tính khả quan của phương pháp Ant Colony Optimization. Tuy nhiên, trong bài thu hoạch đã chưa tận dụng hết sức mạnh của Maple, đó là về mặt kỹ thuật như là chưa thấy hết được các tiện ích mà Maple đã hỗ trợ sẵn và các kỹ thuật tham chiếu trong Maple ảnh hưởng rất lớn đến bộ nhớ cũng như hiệu suất của thuật toán. Về mặt thuật toán, khi tập thành phố (đỉnh) lớn thì hiệu suất thuật toán sẽ giảm đi, do đó cần phải xây dựng một danh sách giới hạn láng giềng để tăng hiệu năng của thuật toán. Hiện nay việc sử dụng các danh sách các láng giềng gần nhất đã được nhiều thực nghiệm chứng minh là có kết quả tốt hơn nhiều so với việc không sử dụng danh sách này.

Trong tương lai, cần phải cài đặt thử nghiệm với các thuật toán khác của Ant Colony Optimization như là Ant Colony System, Hyper-cube AS. Các thuật toán này yêu cầu cần phải xây dựng lời giải cho các con kiến theo phương pháp song song đối lập với phương pháp cài đặt trong bài thu hoạch này là tuần tự. Từ cơ sở này, cần nghiên cứu phát triển thêm để giải quyết các bài toán thực trong cuộc sống, đó là các bài toán Dynamic Traveling Salesman Problem. Tức là số lượng thành phố, con đường, thời gian di chuyển trên các con đường sẽ thay đổi theo thời gian. Một ứng dụng thiết thực dễ thấy là bài toán định tuyến các gói tin trên mạng.

Một phần của tài liệu Tiểu luận môn LẬP TRÌNH SYMBOLIC VÀ ỨNG DỤNG Tìm hiểu Ant Colony Optimization (Trang 36)

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

(40 trang)
w