簡體   English   中英

最小化圖中的最大距離

[英]Minimizing the maximum distance in a graph

假設我們有一個加權無向圖。 假設圖中有 N 個節點(城市),我們要在該城市建 M(M<=N)家醫院。 現在我們需要選擇最優解,使得從城市到有醫院的城市的最大距離最小化。

假設我們有 3 個城市,我們需要建 1 個醫院。 設邊 1-3 和 2-3,權重分別為 83 和 71。 顯然最優解是在城市 3 建醫院,那么最大距離就是 83。

我的想法是使用 Floyd-Warshall 算法,然后在距離數組中具有最小最大值的城市中建造一家醫院。 然后更新另一個數組 b 使得 b1 顯示從城市 1 到有醫院的城市的最小距離,並類似地定義 bi。 之后我想像這樣更新距離值:

dist_i_j = min (dist_i_j, b_j)

並重復此操作,直到我們建造了所有 M 家醫院。

但是在某些情況下,該算法會遇到問題。 假設我們得到了這張圖,我們需要建造 3 家醫院:

edge 1-2 with distance 1
edge 1-3 with distance 2
edge 2-4 with distance 7
edge 2-6 with distance 3
edge 3-4 with distance 5
edge 4-5 with distance 2
edge 5-6 with distance 4

在 Floyd-Warshall 算法之后,距離表將如下所示:

0 1 2 7 8 4
1 0 3 7 7 3
2 3 0 5 7 6
7 7 5 0 2 6
8 7 7 2 0 4
4 3 6 6 4 0

顯然現在最好在城市 6 建造醫院,因為最大值是 6。現在更新值:

0 1 2 6 4 0
1 0 3 6 4 0
2 3 0 5 4 0
4 3 5 0 2 0
4 3 6 2 0 0
4 3 6 6 4 0

但是知道我們不知道是在城市 3 還是在城市 4。如果我們在城市 4 建立醫院,那么更新表格我們會得到我們需要在城市 1 建立醫院,最大距離將是 2。

但是如果我們在城市 3 建造醫院並更新值,我們會得到最好在城市 4 或城市 5 建造醫院。但在這兩種情況下,最大值都是 3。那么我如何克服這個問題?

這是 k 中心問題,已知為 NP 難問題。 如果圖滿足三角不等式,則存在 2-近似算法。 http://algo2.iti.kit.edu/vanstee/courses/kcenter.pdf

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM