You are on page 1of 9

LAB 3

TRẦN VĂN NHẬT KIN-20IT967

Cài đặt giải thuật di truyền để giải quyết bài toán “Người du
lịch”
Các thuật toán này có thể được thực hiện để tìm giải pháp cho các vấn
đề tối ưu hóa thuộc nhiều loại khác nhau. Một trong những vấn đề như
vậy là vấn đề người bán hàng du lịch . Bài toán nói rằng một người bán
hàng được đưa cho một tập hợp các thành phố, anh ta phải tìm con
đường ngắn nhất để đến mỗi thành phố đúng một lần và quay trở lại
thành phố xuất phát.
Cách tiếp cận: Trong cách triển khai sau đây, các thành phố được coi
là gen, chuỗi được tạo bằng cách sử dụng các ký tự này được gọi là
nhiễm sắc thể, trong khi điểm số phù hợp bằng với độ dài đường dẫn
của tất cả các thành phố được đề cập, được sử dụng để nhắm mục tiêu
dân số.
Điểm số thể lực được định nghĩa là độ dài của con đường được mô tả
bởi gen. Ít hơn bộ điều chỉnh độ dài đường dẫn là gen. Gen khỏe mạnh
nhất trong số các gen trong vốn gen sẽ sống sót qua thử nghiệm quần
thể và chuyển sang lần lặp tiếp theo. Số lần lặp phụ thuộc vào giá trị của
biến làm mát. Giá trị của biến làm mát tiếp tục giảm với mỗi lần lặp và
đạt đến ngưỡng sau một số lần lặp nhất định.
Đột biến hoạt động như thế nào?
Giả sử có 5 thành phố: 0, 1, 2, 3, 4. Người bán hàng ở thành phố 0 và
anh ta phải tìm con đường ngắn nhất để đi qua tất cả các thành phố trở
về thành phố 0. Một nhiễm sắc thể đại diện cho con đường đã chọn có
thể là đại diện bởi:

Nhiễm sắc thể này trải qua đột biến. Trong quá trình đột biến, vị trí của
hai thành phố trong nhiễm sắc thể được hoán đổi để tạo thành một cấu
hình mới, ngoại trừ ô đầu tiên và ô cuối cùng, vì chúng đại diện cho điểm
bắt đầu và điểm kết thúc.

Nhiễm sắc thể ban đầu có độ dài đường dẫn bằng INT_MAX , theo đầu
vào được xác định bên dưới, vì đường dẫn giữa thành phố 1 và thành phố
4 không tồn tại. Sau khi đột biến, đứa trẻ mới được hình thành có độ dài
đường dẫn bằng 21 , đây là một câu trả lời được tối ưu hóa hơn nhiều so
với giả định ban đầu.
CODE:
KẾT QUẢ:

You might also like