Hướng dẫn bài TSP - Bài toán người du lịch

Trùm CUỐI 2020-10-19 8:41:49 2021-11-25 13:53:31

Link đến bài TSP - Bài toán người du lịch

Cách 1: Duyệt quay lui, nhánh cận (Cách này thường không giải được với n >= 18)
Cách 2: Quy hoạch động trạng thái:
  • Gọi f[mask][i] là chi phí nhỏ nhất để xuất phát từ thành phố 1 , đi thăm các thành phố có chỉ số là bit 1 trong dãy bit biểu diễn mask (ta đánh số bit phải cùng có chỉ số là 1 ) và thành phố thăm cuối cùng trong hành trình là i (tất nhiên bit i trong biểu diễn của mask phải bằng 1 )
  • Ta QHĐ (có thể dùng đệ quy có nhớ hay dạng BFS để tính toán mảng f). Chú ý: Từ trạng thái f[m][i] có thể đến được trạng thái f[m'][j] nếu có đường đi từ i tới j m' chỉ nhiều hơn m một bit 1 là bit thứ j .
  • Kết quả của bài toán: min_{i=2\dots n} (f[2^n - 1][i] + c(i,1))

Tham khảo thêm bài LEM3