Tải bản đầy đủ - 0 (trang)
PHẦN I: ĐẶT VẤN ĐỀ

PHẦN I: ĐẶT VẤN ĐỀ

Tải bản đầy đủ - 0trang

GVHD: TS. Hồ Quốc Dũng



Khóa luận tốt nghiệp



trong thực tế. Nhằm giúp người giao hàng sẽ tìm được một chu trình tối thiểu các

chi phí giúp tăng lợi nhuận. Từ những lý do trên tôi đã chọn đề tài: “ỨNG DỤNG

GIẢI THUẬT DI TRUYỀN CHO BÀI TOÁN NGƯỜI ĐI DU LỊCH BẰNG

WINFORM C#” để có thể hồn thành hồn chỉnh chương trình để đưa ra một lộ

trình đi tối ưu nhất.

2. Mục tiêu nghiên cứu

2.1 Mục tiêu tổng quát

+ Xây dựng chương trình Winform tìm chu trình có đường đi ngắn nhất cho

bài toán người du lịch bằng giải thuật di truyền.



H



U







+ Ứng dụng giải thuật di truyền cho bài toán người du lịch



TẾ



2.2 Mục tiêu cụ thể



+ Nghiên cứu lịch sử, tư tưởng, lý thuyết và cơ sở lý luận của bài toán



N

H



người du lịch và thuật toán di truyền.



KI



+ Nghiên cứu cách cài đặt thuật tốn bằng ngơn ngữ C# Winform và thực





C



hiện cài đặt thật toán.



H



+ Áp dụng Bài toán người du lịch và thuật toán di truyền vào đề tài.



Đ



ẠI



+ Tiến hành kiểm thử thuật toán, đánh giá tính hiệu quả.



G



3. Đối tượng và phạm vi nghiên cứu







N



3.1 Đối tượng nghiên cứu



Ư



+ Bài toán người du lịch.



TR



+ Thuật toán di truyền.

3.2 Phạm vi nghiên cứu

Bao gồm:

+ Thuật toán di truyền.

+ Bài toán người du lịch.

+ Cách áp dụng thuật toán để giải bài toán và các vấn đề liên quan, ứng dụng.

4. Phương pháp nghiên cứu

- Phương pháp nghiên cứu tài liệu lý thuyết:

+ Nghiên cứu tìm hiểu các phương pháp giải bài tốn người du lịch.

+ Nghiên cứu Thuật toán di truyền áp dụng cho bài tốn người du lịch.



SVTH: Hồ Minh Tồn - K48A Tin Học Kinh Tế



Trang 2



GVHD: TS. Hồ Quốc Dũng



Khóa luận tốt nghiệp



+ Cơ sở lý thuyết bài toán người du lịch, thuật toán di truyền và các vấn đề

liên quan.

- Phương pháp hỏi ý kiến chuyên gia:

+ Tham khảo, hỏi ý kiến của giáo viên hướng dẫn

+ Các anh chị khóa trước cũng như các anh chị trong nhóm hỏi đáp tư vấn

về C# để củng cố và hiểu rõ vấn đề liên quan đến đề tài.

- Phương pháp phân tích thiết kế:

+ Phân tích, xây dựng chương trình theo tư tưởng của thuật toán và yêu cầu

của bài toán cũng như đề tài đưa ra.







- Phương pháp thực nghiệm:

+ Thử nghiệm bài toán trên dữ liệu.





C



5.1. Ý nghĩa khoa học



KI



5. Ý nghĩa khoa học và thực tiễn



N

H



+ Đánh giá, kiểm tra và đưa ra kết quả.



TẾ



H



U



+ Lựa chọn ngôn ngữ lập trình cài đặt thuật tốn: C# Winform.



H



+ Áp dụng lý thuyết thuật toán di truyền để áp dụng trong các bài toán tối



ẠI



ưu tổ hợp.



Đ



+ Đánh giá hiệu quả thuật toán di truyền.



N



G



5.2. Ý nghĩa thực tiễn



Ư







+ Thuật tốn di truyền có thể áp dụng trong các bài tốn thực tế: lập lịch đi



TR



hành trình với chi phí tối thiểu.

+ Đề tài khóa luận đóng góp như là một cơng cụ hỗ trợ để người bán hàng

có một chu trình đường đi ngắn nhất nhằm giúp giao hàng tiết kiệm được chi phí đi

lại cũng như thời gian của người bán hàng. Kết quả, kinh nghiệm thu được khi thực

hiện đề tài khóa luận này sẽ giúp người bán hàng nắm bắt được đường đi của mình

đưa ra với chu trình ngắn nhất tránh lãng phi thời gian cũng như các chi phí khác.

6. Nội dung khóa luận

Bố cục của Khóa luận gồm có 3 chương với nội dung như sau:

- Chương 1: Cơ sở lý thuyết.



SVTH: Hồ Minh Toàn - K48A Tin Học Kinh Tế



Trang 3



GVHD: TS. Hồ Quốc Dũng



Khóa luận tốt nghiệp



Nội dung này trình bày lịch sử, nội dung, độ phức tạp của bài toán người du

lịch. Lịch sử, tư tưởng, các bước thực hiện của thuật toán di truyền.

- Chương 2: Thiết kế form và áp dụng thuật toán di truyền, bài toán

người du lịch để tìm chu trình ngắn nhất.

Nội dung này trình bày các bước tạo Form, cài đặt thuật toán di truyền để

giải quyết bài tốn người du lịch. Trình bày các lớp cụ thể được cài đặt trong chương

trình và mối quan hệ giữa các lớp để thực hiện thuật tốn. Chương trình chi tiết cài

đặt thuật tốn di truyền để giải bài tốn người du lịch viết bằng ngơn ngữ C#.

- Chương 3: Thí nghiệm và đánh giá.







Nội dung này trình bày kết quả thí nghiệm khi chạy thuật toán di truyền với



H



U



số lượng địa điểm tăng dần, theo dõi thời gian chạy chương trình và đưa ra biểu đồ



TR



Ư







N



G



Đ



ẠI



H





C



KI



N

H



TẾ



kết quả đồng thời kết luận về thời gian chạy thuật tốn.



SVTH: Hồ Minh Tồn - K48A Tin Học Kinh Tế



Trang 4



GVHD: TS. Hồ Quốc Dũng



Khóa luận tốt nghiệp



PHẦN II: NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

1.1 Bài toán người du lịch

1.1.1 Lịch sử bài toán

Bài toán người du lịch (Travelling Salesman Problem - TSP) [1], [2] là một

bài tốn NP-Khó ( NP-hard - là bài tốn chưa tìm ra lời giải tối ưu cho dạng tổng

quát), thuộc thể loại tối ưu rời rạc hay tổ hợp được nghiên cứu trong vận trù học

hoặc lý thuyết khoa học máy tính.

Bài tốn được phát biểu như sau: Cho một danh sách các thành phố và



U







khoảng cách giữa chúng, tìm chu trình ngắn nhất đi qua mỗi địa điểm đúng một lần.



TẾ



H



Bài toán người du lịch thường được dùng làm thước đo cho nhiều phương



N

H



pháp tối ưu hóa. Đã được các nhà tốn học và khoa học máy tính chú ý bởi nó rất

dễ mơ tả và rất khó giải quyết.



KI



Mặc dù bài tốn rất khó giải trong trường hợp tổng qt, có nhiều phương





C



pháp giải chính xác và gần đúng đã được biết đến, do đó đã tìm ra để giải quyết



H



một số vấn trường hợp có tới hành chục nghìn thành phố.



Đ



ẠI



Trong lý thuyết của độ phức tạp tính tốn [3], phiên bản quyết định của bài



G



toán TSP thuộc lớp NP-đầy đủ (- lớp NP-đầy đủ là một lớp các bài tốn quyết định).







N



Vì vậy khơng có giải thuật hiệu quả nào cho việc giải bài tốn TSP. Hay nói cách



Ư



khác, giống như thời gian chạy xấu nhất cho bất kỳ giải thuật nào cho bài toán TSP



TR



tăng theo hàm mũ và số lượng thành phố , vì vậy thậm chí nhiều trường hợp vài trăm

thành phố cũng đã mất vài trăm CPU để giải một cách chính xác (bài tốn chỉ tương

đối đúng).

Một cuốn sổ tay dành cho người du lịch xuất bản 1832 có đề cập đến bài

tốn này và có ví dụ cho chu trình trong nước Đức và Thụy Sĩ, nhưng khơng chứa

bất kỳ nội dung tốn học nào.

Bài tốn người du lịch được định nghĩa trong thế kỷ 19 bởi nhà toán học

Ireland William Rowan Hamilton và nhà toán học Anh Thomas Kirkman. Trò chơi

Icosa [4] của Hamilton là một trò chơi giải trí dựa trên việc tìm kiếm chu trình

Hamilton. Trường hợp tổng qt của TSP có thể được nghiên cứu lần đầu tiên bởi



SVTH: Hồ Minh Toàn - K48A Tin Học Kinh Tế



Trang 5



GVHD: TS. Hồ Quốc Dũng



Khóa luận tốt nghiệp



các nhà toán học ở Vienna và Harvard trong nhũng năm 1930, đặc biệt Karl

Menger, người đã định nghĩa bài toán, xem xét thuật toán hiển nhiên nhất cho bài

toán và phát hiện ra thuật toán láng giềng gần nhất là không tối ưu.

Hassler Whitney ở đại học Princeton đưa ra tên bài toán người du lịch ngay

sau đó.

Trong những năm 1950 và 1960, bài tốn trở nên phổ biến trong giới nghiên

cứu khoa học ở Châu Âu và Mỹ. George Dantzig, Delbert Ray Fulkerson và Selmer

M.Johnson ở cơng ty RAND tại Santa Moncia [5] đã có đóng góp quan trọng cho bài

tốn này, biểu diễn bài tốn này dưới dạng quy hoạch nguyên và đưa ra phương pháp







mặt phẳng cắt để tìm ra lời giải. Bằng phương pháp này họ đã giải được tối ưu một



H



U



trường hợp 49 thành phố bằng cách xây dựng một chu trình và chứng minh khơng có



TẾ



chu trình nào ngắn hơn.



N

H



Trong những thập niên tiếp theo, bài toán được nghiên cứu bởi nhiều nhà



KI



nghiên cứu trong các lĩnh vực toán học, khoa học máy tính, hóa học, vật lý và các





C



ngành khác.



[6] chứng minh rằng bài tốn chu trình



H



Năm 1972, Richard M.Karp



ẠI



Hamilton là NP-đầy đủ, kéo theo bài toán TSP cũng là NP-đầy đủ. Đây cũng là một



Đ



lý giải toán học cho sự khó khăn trong việc tìm kiếm chu trình ngắn nhất.



N



G



Cuối thập niên 1970 và 1980 khi Grotschel [7], Padberg, Rinaldi và cộng



Ư







sự [8] đã giải được những trường hợp lên đến 2393 thành phố, sử dụng phương



TR



pháp mặt phẳng cắt và nhánh cận.

Trong thập niên 1990 Applegate, Bixby, Chavátal và Cook [9] phát triển một

chương trình mang tên Concorde giải được nhiều trường hợp có độ kỷ lục lớn hiện nay.

Năm 1991 Gerhard Reinnelt xuất bản một bộ dữ liệu các trường hợp có độ khó

khác nhau mang tên TSPLIB [10] và nó đã được sử dụng bởi nhiều nhóm nghiên cứu

để so sánh kết quả

Năm 2005 Cook và cộng sự đã giải được một trường hợp có 33810 thành

phố, xuất phát từ một bài toán thiết kế vi mạch.



SVTH: Hồ Minh Toàn - K48A Tin Học Kinh Tế



Trang 6



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

PHẦN I: ĐẶT VẤN ĐỀ

Tải bản đầy đủ ngay(0 tr)

×