2016-05-30 74 views
0

我正在尋找一種算法,以考慮連接圖來確定優先圖的最短路徑。我看了一下Dijkstra和Bellman Ford,但我認爲他們對於優先圖並不可行,因爲他們只在每個頂點的一個邊上向外。 但是在優先圖中,還有一些情況需要通過兩條或更多條邊到達下一個頂點。例如,要拆卸,必須首先刪除零件A和B,然後才能到達零件C.優先圖中的最短路徑

我試圖解決的問題: 我有一個簡單的優先圖表示如何拆卸產品。每個頂點都有一個成本(時間單位)。在這張圖中,我有一個開始和目的地。結果應該是拆卸所需的最短時間。

另外需要考慮的是,您可以根據連接圖將整個反模塊拆卸到一個特定的部分。該圖顯示了各部分是如何實際相互連接的。像A一樣,B和C必須被移除以達到D.A必須首先被移除。然後,您可以將B和C作爲一個整體刪除(刪除C,而B仍然附着在它上面)。

+0

不幸的是,問題是NP完全[參考](http://www.tandfonline.com/doi/abs/10.1080/00207540701476281)。有近似解的貪婪方法和啓發式,但主要不是圖遍歷,而是組合問題。 – BeyelerStudios

+0

正如我擔心的那樣。感謝您的回覆。你有一個解決方案的簡單方法來源? – kinglite

+0

您是否嘗試聯繫上述論文的[作者](http://www1.coe.neu.edu/~smgupta/)(s)? – BeyelerStudios

回答

0

我現在使用Deep-first搜索算法進行了一些修改,以適合我的第一部分的目的。第二部分,模塊應該被認爲是拆卸而不是每一個單一的和平,但仍然缺失。也許對算法進行一些更改也是可能的。