开发者

Weighted Bipartite Matching covering one partition

I have a proble开发者_运维问答m here, that I managed to reduce to a weighted bipartite match problem. Basically, I have a bipartite graph with partitions A and B, and a set of edges with weights. In my case, |A|~=20 and |B| =300.

I want to find a set of edges which minimizes the weigths AND COVERS 'A' (each edge on A has an associated solution edge)

Questions:

-Is there a special name for this kind a problem, so I can look for algorithms and solutions?

-I know I can reduce it to a weighted bipartite perfect match, by adding dummy vertices on A, with infinite weigth. But I'm worried about practical performance since |B|>>|A|.

-Any suggestions on Java libraries? I found this: http://algs4.cs.princeton.edu/code/. I think the 'AssignmentProblem.java' is almost what I need - (but I guess it doesn't ensure a perfect matching?)

Thanks in advance and sorry about the bad english.


a) maximum weighted perfect matching b) ??? c) floyd or floyd-warshall alogorithm is your friend

I've found a c-implemenation in the web and also you can use edmond's blossom algorithm, too.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜