簡體   English   中英

使用maxflow算法在有向加權圖中計算最小割

[英]calculating minimum - cut in a directed weighted graph using maxflow algorithm

我已經使用福特富爾克森算法計算了最大流量,現在我想實現我需要計算最大值的項目選擇問題。 沒有。 我需要找到一個不包含任何項目的最小切割 具有最大利潤的可行項目。 查找最小值的算法應該是什么。 *知道圖中的最大流量后*我如何使用最大流量來確定包含編號的切割。 我需要選擇最佳的節點集,以使收益最大化。 在我的應用程序中,每個節點都與收入相關聯,它也可以是正數和負數。 並且也有優先級約束,例如,如果選擇a而不是b&c,那么有人可以告訴我如何實現嗎?


我已經在最大流程圖中對其進行了如下轉換:如果Revenue(node)> 0從source-> node添加一條邊,否則從node-> sink添加一條邊,並且我為優先約束創建了無限容量的egde

Ford Fulkerson有點像元算法,因為它可以通過幾種不同的方式實現(Edmonds-Karp是FF算法的實例化)。 如果不知道您實施該問題的方式或擁有的信息,就很難回答您的問題。

理想情況下,您使用某種殘差圖在算法中進行某種類型的廣度優先搜索。 在執行此操作時,當您的BFS找不到接收器時,算法應停止。 一旦發生這種情況,剪切的第一個集合是您可以在BFS中找到的所有節點,而另一個集合是您找不到的所有節點。

如果使用算法的標注版本,則構成剪切的標注集為標注標注集和未標注標注集。

我希望這有幫助。 您的問題對我來說很難解析。 如果您在這里找不到足夠的幫助,我將與Matcheek提出相同的建議(如果有此書,請查閱Wikipedia或CLRS)。

我們可以通過從源頂點運行dfs / bfs來計算最小割(A,B),然后在最終殘差圖中找到飽和邊,即在沒有增量路徑之后

暫無
暫無

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

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