我想解決TSP (Travelling Salesman Problem)
,但不是以傳統的方式。我正在執行這些步驟。解決旅行推銷員一旦你知道最短路線的距離
1)首先,我改變TSP到真/假問題。
現在這個問題的定義是:「所有城市的總路程是否小於或等於k
?假設我有一個算法TSP_tf(k)
來解決它。
2)然後我查詢的最小ķ。
這是,我搜索「哪個是最短路線的距離」。
一個有效的算法來解決它將與二分搜索。我從k=1
開始,我打電話TSP_tf(k)
。如果它返回false,我將k
乘以2,並且一直呼叫TSP_tf
,直到返回true。發生這種情況時,搜索最小k
,在區間(k/2 - k]
中返回true,並使用二分搜索進行搜索。
我會得到那麼最小距離min_k
。
3)返回TSP的最短路線知道其距離爲min_k。
這裏是我的問題來了。如何解決這個問題是一個有效的算法?通過高效率我的意思是一個好方法:)很明顯,TSP
將仍然是NP。
我認爲這對我們來說有點過於寬泛。也許[cs.se]會願意接受這一點,但即使他們可能想要一些更具體的開始。我不確定你的目標實際上是什麼,因爲所有三個步驟都是(我認爲)NP。 – Teepeemm
將'min_k'提供給ILP模型將允許您修剪很多,但詳細解釋該方法需要整本書。 – harold
我投票結束這個問題作爲題外話,因爲它是關於計算機科學,不適用於編程。 [已轉載到計算機科學](http://cs.stackexchange.com/q/64037)。 (將來,[請不要這樣做](http://meta.stackexchange.com/q/64068),[flag](http://stackoverflow.com/help/privileges/flag-posts)您的問題請求遷移。) – Gilles